diff --git a/.gitignore b/.gitignore index d7feb64..a854b7d 100644 --- a/.gitignore +++ b/.gitignore @@ -14,10 +14,12 @@ node_modules/ api/vendor/ # --- build output (regenerable) --- +# NOTE: anchored to the repo root — app/public/ (theme static assets) and +# api/public/ (framework front controller) are source, not build output. app/dist/ app/.astro/ -public/ -public-preview/ +/public/ +/public-preview/ # --- logs --- *.log diff --git a/api/db/migrations/002_create_sp_plugins.sql b/api/db/migrations/002_create_sp_plugins.sql new file mode 100644 index 0000000..77dfc60 --- /dev/null +++ b/api/db/migrations/002_create_sp_plugins.sql @@ -0,0 +1,14 @@ +-- PluginManager::boot() runs on every request and requires this table. +CREATE TABLE IF NOT EXISTS `sp_plugins` ( + `plugin_id` INT UNSIGNED NOT NULL AUTO_INCREMENT, + `slug` VARCHAR(191) NOT NULL, + `name` VARCHAR(255) NOT NULL DEFAULT '', + `version` VARCHAR(32) NOT NULL DEFAULT '1.0.0', + `description` TEXT NULL, + `author` VARCHAR(255) NOT NULL DEFAULT '', + `enabled` TINYINT(1) NOT NULL DEFAULT 0, + `installed_at` DATETIME NULL, + `updated_at` DATETIME NULL, + PRIMARY KEY (`plugin_id`), + UNIQUE KEY `uq_sp_plugins_slug` (`slug`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; diff --git a/api/install/dump.sql b/api/install/dump.sql index c04c958..08dbb74 100644 --- a/api/install/dump.sql +++ b/api/install/dump.sql @@ -2,7 +2,7 @@ SQLyog Ultimate v12.09 (64 bit) MySQL - 10.3.35-MariaDB : Database - ochenta80_db123 ********************************************************************* -*/ +*/ /*!40101 SET NAMES utf8 */; @@ -12,7 +12,6 @@ MySQL - 10.3.35-MariaDB : Database - ochenta80_db123 /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; -CREATE DATABASE /*!32312 IF NOT EXISTS*/`ochenta80_db123` /*!40100 DEFAULT CHARACTER SET latin1 */; /*Table structure for table `api_auth` */ diff --git a/api/public/assets/css/bootstrap.css b/api/public/assets/css/bootstrap.css new file mode 100644 index 0000000..04405c7 --- /dev/null +++ b/api/public/assets/css/bootstrap.css @@ -0,0 +1,10775 @@ +@charset "UTF-8"; +/* +Template Name: SeedProject Starter Framework +Author: Carlos Arias +Version: 1.0.0 +Website: https://www.carlosarias.com/ +Contact: hi@carlosarias.com +File: Custom Bootstrap Css File +*/ + +/*! + * Bootstrap v5.1.3 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ + +:root { + --bs-blue: #2e86de; + --bs-indigo: #564ab1; + --bs-purple: #564ab1; + --bs-pink: #e83e8c; + --bs-red: #f34e4e; + --bs-orange: #f1734f; + --bs-yellow: #f7cc53; + --bs-green: #51d28c; + --bs-teal: #050505; + --bs-cyan: #5fd0f3; + --bs-white: #fff; + --bs-gray: #74788d; + --bs-gray-dark: #343a40; + --bs-gray-100: #f8f9fa; + --bs-gray-200: #f5f6f8; + --bs-gray-300: #eff0f2; + --bs-gray-400: #e2e5e8; + --bs-gray-500: #adb5bd; + --bs-gray-600: #74788d; + --bs-gray-700: #495057; + --bs-gray-800: #343a40; + --bs-gray-900: #212529; + --bs-primary: #2e86de; + --bs-secondary: #74788d; + --bs-success: #51d28c; + --bs-info: #5fd0f3; + --bs-warning: #f7cc53; + --bs-danger: #f34e4e; + --bs-pink: #e83e8c; + --bs-light: #f5f6f8; + --bs-dark: #343a40; + --bs-purple: #564ab1; + --bs-primary-rgb: 3, 142, 220; + --bs-secondary-rgb: 116, 120, 141; + --bs-success-rgb: 81, 210, 140; + --bs-info-rgb: 95, 208, 243; + --bs-warning-rgb: 247, 204, 83; + --bs-danger-rgb: 243, 78, 78; + --bs-pink-rgb: 232, 62, 140; + --bs-light-rgb: 245, 246, 248; + --bs-dark-rgb: 52, 58, 64; + --bs-purple-rgb: 86, 74, 177; + --bs-white-rgb: 255, 255, 255; + --bs-black-rgb: 0, 0, 0; + --bs-body-color-rgb: 73, 80, 87; + --bs-body-bg-rgb: 247, 248, 250; + --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", 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: system-ui, -apple-system, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, Liberation Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji; + --bs-body-font-size: 0.9rem; + --bs-body-font-weight: 400; + --bs-body-line-height: 1.5; + --bs-body-color: #495057; + --bs-body-bg: #f7f8fa; } + +*, +*::before, +*::after { + -webkit-box-sizing: border-box; + box-sizing: border-box; } + +@media (prefers-reduced-motion: no-preference) { + :root { + scroll-behavior: smooth; } } + +body { + margin: 0; + font-family: var(--bs-body-font-family); + font-size: var(--bs-body-font-size); + font-weight: var(--bs-body-font-weight); + line-height: var(--bs-body-line-height); + color: var(--bs-body-color); + text-align: var(--bs-body-text-align); + background-color: var(--bs-body-bg); + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } + +hr { + margin: 1rem 0; + color: #adb5bd; + background-color: currentColor; + border: 0; + opacity: 0.25; } + +hr:not([size]) { + height: 1px; } + +h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 { + margin-top: 0; + margin-bottom: 0.5rem; + font-weight: 500; + line-height: 1.2; } + +h1, .h1 { + font-size: calc(1.35rem + 1.2vw); } + @media (min-width: 1200px) { + h1, .h1 { + font-size: 2.25rem; } } + +h2, .h2 { + font-size: calc(1.305rem + 0.66vw); } + @media (min-width: 1200px) { + h2, .h2 { + font-size: 1.8rem; } } + +h3, .h3 { + font-size: calc(1.2825rem + 0.39vw); } + @media (min-width: 1200px) { + h3, .h3 { + font-size: 1.575rem; } } + +h4, .h4 { + font-size: calc(1.26rem + 0.12vw); } + @media (min-width: 1200px) { + h4, .h4 { + font-size: 1.35rem; } } + +h5, .h5 { + font-size: 1.125rem; } + +h6, .h6 { + font-size: 0.9rem; } + +p { + margin-top: 0; + margin-bottom: 1rem; } + +abbr[title], +abbr[data-bs-original-title] { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; } + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; } + +ol, +ul { + padding-left: 2rem; } + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; } + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; } + +dt { + font-weight: 700; } + +dd { + margin-bottom: .5rem; + margin-left: 0; } + +blockquote { + margin: 0 0 1rem; } + +b, +strong { + font-weight: bolder; } + +small, .small { + font-size: 87.5%; } + +mark, .mark { + padding: 0.2em; + background-color: #fcf8e3; } + +sub, +sup { + position: relative; + font-size: 0.75em; + line-height: 0; + vertical-align: baseline; } + +sub { + bottom: -.25em; } + +sup { + top: -.5em; } + +a { + color: #2e86de; + text-decoration: none; } + a:hover { + color: #025d91; } + +a:not([href]):not([class]), a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none; } + +pre, +code, +kbd, +samp { + font-family: var(--bs-font-monospace); + font-size: 1em; + direction: ltr /* rtl:ignore */; + unicode-bidi: bidi-override; } + +pre { + display: block; + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + font-size: 87.5%; } + pre code { + font-size: inherit; + color: inherit; + word-break: normal; } + +code { + font-size: 87.5%; + color: #f34e4e; + word-wrap: break-word; } + a > code { + color: inherit; } + +kbd { + padding: 0.2rem 0.4rem; + font-size: 87.5%; + color: #fff; + background-color: #212529; + border-radius: 0.2rem; } + kbd kbd { + padding: 0; + font-size: 1em; + font-weight: 700; } + +figure { + margin: 0 0 1rem; } + +img, +svg { + vertical-align: middle; } + +table { + caption-side: bottom; + border-collapse: collapse; } + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #74788d; + text-align: left; } + +th { + font-weight: 500; + text-align: inherit; + text-align: -webkit-match-parent; } + +thead, +tbody, +tfoot, +tr, +td, +th { + border-color: inherit; + border-style: solid; + border-width: 0; } + +label { + display: inline-block; } + +button { + border-radius: 0; } + +button:focus:not(:focus-visible) { + outline: 0; } + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; } + +button, +select { + text-transform: none; } + +[role="button"] { + cursor: pointer; } + +select { + word-wrap: normal; } + select:disabled { + opacity: 1; } + +[list]::-webkit-calendar-picker-indicator { + display: none; } + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; } + button:not(:disabled), + [type="button"]:not(:disabled), + [type="reset"]:not(:disabled), + [type="submit"]:not(:disabled) { + cursor: pointer; } + +::-moz-focus-inner { + padding: 0; + border-style: none; } + +textarea { + resize: vertical; } + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; } + +legend { + float: left; + width: 100%; + padding: 0; + margin-bottom: 0.5rem; + font-size: calc(1.275rem + 0.3vw); + line-height: inherit; } + @media (min-width: 1200px) { + legend { + font-size: 1.5rem; } } + legend + * { + clear: left; } + +::-webkit-datetime-edit-fields-wrapper, +::-webkit-datetime-edit-text, +::-webkit-datetime-edit-minute, +::-webkit-datetime-edit-hour-field, +::-webkit-datetime-edit-day-field, +::-webkit-datetime-edit-month-field, +::-webkit-datetime-edit-year-field { + padding: 0; } + +::-webkit-inner-spin-button { + height: auto; } + +[type="search"] { + outline-offset: -2px; + -webkit-appearance: textfield; } + +/* rtl:raw: +[type="tel"], +[type="url"], +[type="email"], +[type="number"] { + direction: ltr; +} +*/ +::-webkit-search-decoration { + -webkit-appearance: none; } + +::-webkit-color-swatch-wrapper { + padding: 0; } + +::file-selector-button { + font: inherit; } + +::-webkit-file-upload-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.125rem; + font-weight: 300; } + +.display-1 { + font-size: calc(1.725rem + 5.7vw); + font-weight: 300; + line-height: 1.2; } + @media (min-width: 1200px) { + .display-1 { + font-size: 6rem; } } + +.display-2 { + font-size: calc(1.675rem + 5.1vw); + font-weight: 300; + line-height: 1.2; } + @media (min-width: 1200px) { + .display-2 { + font-size: 5.5rem; } } + +.display-3 { + font-size: calc(1.575rem + 3.9vw); + font-weight: 300; + line-height: 1.2; } + @media (min-width: 1200px) { + .display-3 { + font-size: 4.5rem; } } + +.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: 87.5%; + text-transform: uppercase; } + +.blockquote { + margin-bottom: 1rem; + font-size: 1.125rem; } + .blockquote > :last-child { + margin-bottom: 0; } + +.blockquote-footer { + margin-top: -1rem; + margin-bottom: 1rem; + font-size: 87.5%; + color: #74788d; } + .blockquote-footer::before { + content: "\2014\00A0"; } + +.img-fluid { + max-width: 100%; + height: auto; } + +.img-thumbnail { + padding: 0.25rem; + background-color: #f7f8fa; + border: 1px solid #eff0f2; + border-radius: 0.25rem; + max-width: 100%; + height: auto; } + +.figure { + display: inline-block; } + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; } + +.figure-caption { + font-size: 87.5%; + color: #74788d; } + +.container, +.container-fluid, +.container-sm, +.container-md, +.container-lg, +.container-xl, +.container-xxl { + width: 100%; + padding-right: var(--bs-gutter-x, 10px); + padding-left: var(--bs-gutter-x, 10px); + margin-right: auto; + margin-left: auto; } + +@media (min-width: 576px) { + .container, .container-sm { + max-width: 540px; } } + +@media (min-width: 768px) { + .container, .container-sm, .container-md { + max-width: 720px; } } + +@media (min-width: 992px) { + .container, .container-sm, .container-md, .container-lg { + max-width: 960px; } } + +@media (min-width: 1200px) { + .container, .container-sm, .container-md, .container-lg, .container-xl { + max-width: 1140px; } } + +@media (min-width: 1400px) { + .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl { + max-width: 1320px; } } + +.row { + --bs-gutter-x: 20px; + --bs-gutter-y: 0; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-top: calc(-1 * var(--bs-gutter-y)); + margin-right: calc(-.5 * var(--bs-gutter-x)); + margin-left: calc(-.5 * var(--bs-gutter-x)); } + .row > * { + -ms-flex-negative: 0; + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-right: calc(var(--bs-gutter-x) * .5); + padding-left: calc(var(--bs-gutter-x) * .5); + margin-top: var(--bs-gutter-y); } + +.col { + -webkit-box-flex: 1; + -ms-flex: 1 0 0%; + flex: 1 0 0%; } + +.row-cols-auto > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; } + +.row-cols-1 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 100%; } + +.row-cols-2 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 50%; } + +.row-cols-3 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 33.33333%; } + +.row-cols-4 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 25%; } + +.row-cols-5 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 20%; } + +.row-cols-6 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 16.66667%; } + +.col-auto { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; } + +.col-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 8.33333%; } + +.col-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 16.66667%; } + +.col-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 25%; } + +.col-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 33.33333%; } + +.col-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 41.66667%; } + +.col-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 50%; } + +.col-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 58.33333%; } + +.col-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 66.66667%; } + +.col-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 75%; } + +.col-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 83.33333%; } + +.col-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 91.66667%; } + +.col-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 100%; } + +.offset-1 { + margin-left: 8.33333%; } + +.offset-2 { + margin-left: 16.66667%; } + +.offset-3 { + margin-left: 25%; } + +.offset-4 { + margin-left: 33.33333%; } + +.offset-5 { + margin-left: 41.66667%; } + +.offset-6 { + margin-left: 50%; } + +.offset-7 { + margin-left: 58.33333%; } + +.offset-8 { + margin-left: 66.66667%; } + +.offset-9 { + margin-left: 75%; } + +.offset-10 { + margin-left: 83.33333%; } + +.offset-11 { + margin-left: 91.66667%; } + +.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 { + -webkit-box-flex: 1; + -ms-flex: 1 0 0%; + flex: 1 0 0%; } + .row-cols-sm-auto > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; } + .row-cols-sm-1 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 100%; } + .row-cols-sm-2 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 50%; } + .row-cols-sm-3 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 33.33333%; } + .row-cols-sm-4 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 25%; } + .row-cols-sm-5 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 20%; } + .row-cols-sm-6 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 16.66667%; } + .col-sm-auto { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; } + .col-sm-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 8.33333%; } + .col-sm-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 16.66667%; } + .col-sm-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 25%; } + .col-sm-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 33.33333%; } + .col-sm-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 41.66667%; } + .col-sm-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 50%; } + .col-sm-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 58.33333%; } + .col-sm-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 66.66667%; } + .col-sm-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 75%; } + .col-sm-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 83.33333%; } + .col-sm-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 91.66667%; } + .col-sm-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 100%; } + .offset-sm-0 { + margin-left: 0; } + .offset-sm-1 { + margin-left: 8.33333%; } + .offset-sm-2 { + margin-left: 16.66667%; } + .offset-sm-3 { + margin-left: 25%; } + .offset-sm-4 { + margin-left: 33.33333%; } + .offset-sm-5 { + margin-left: 41.66667%; } + .offset-sm-6 { + margin-left: 50%; } + .offset-sm-7 { + margin-left: 58.33333%; } + .offset-sm-8 { + margin-left: 66.66667%; } + .offset-sm-9 { + margin-left: 75%; } + .offset-sm-10 { + margin-left: 83.33333%; } + .offset-sm-11 { + margin-left: 91.66667%; } + .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 { + -webkit-box-flex: 1; + -ms-flex: 1 0 0%; + flex: 1 0 0%; } + .row-cols-md-auto > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; } + .row-cols-md-1 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 100%; } + .row-cols-md-2 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 50%; } + .row-cols-md-3 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 33.33333%; } + .row-cols-md-4 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 25%; } + .row-cols-md-5 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 20%; } + .row-cols-md-6 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 16.66667%; } + .col-md-auto { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; } + .col-md-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 8.33333%; } + .col-md-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 16.66667%; } + .col-md-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 25%; } + .col-md-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 33.33333%; } + .col-md-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 41.66667%; } + .col-md-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 50%; } + .col-md-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 58.33333%; } + .col-md-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 66.66667%; } + .col-md-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 75%; } + .col-md-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 83.33333%; } + .col-md-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 91.66667%; } + .col-md-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 100%; } + .offset-md-0 { + margin-left: 0; } + .offset-md-1 { + margin-left: 8.33333%; } + .offset-md-2 { + margin-left: 16.66667%; } + .offset-md-3 { + margin-left: 25%; } + .offset-md-4 { + margin-left: 33.33333%; } + .offset-md-5 { + margin-left: 41.66667%; } + .offset-md-6 { + margin-left: 50%; } + .offset-md-7 { + margin-left: 58.33333%; } + .offset-md-8 { + margin-left: 66.66667%; } + .offset-md-9 { + margin-left: 75%; } + .offset-md-10 { + margin-left: 83.33333%; } + .offset-md-11 { + margin-left: 91.66667%; } + .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 { + -webkit-box-flex: 1; + -ms-flex: 1 0 0%; + flex: 1 0 0%; } + .row-cols-lg-auto > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; } + .row-cols-lg-1 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 100%; } + .row-cols-lg-2 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 50%; } + .row-cols-lg-3 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 33.33333%; } + .row-cols-lg-4 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 25%; } + .row-cols-lg-5 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 20%; } + .row-cols-lg-6 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 16.66667%; } + .col-lg-auto { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; } + .col-lg-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 8.33333%; } + .col-lg-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 16.66667%; } + .col-lg-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 25%; } + .col-lg-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 33.33333%; } + .col-lg-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 41.66667%; } + .col-lg-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 50%; } + .col-lg-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 58.33333%; } + .col-lg-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 66.66667%; } + .col-lg-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 75%; } + .col-lg-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 83.33333%; } + .col-lg-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 91.66667%; } + .col-lg-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 100%; } + .offset-lg-0 { + margin-left: 0; } + .offset-lg-1 { + margin-left: 8.33333%; } + .offset-lg-2 { + margin-left: 16.66667%; } + .offset-lg-3 { + margin-left: 25%; } + .offset-lg-4 { + margin-left: 33.33333%; } + .offset-lg-5 { + margin-left: 41.66667%; } + .offset-lg-6 { + margin-left: 50%; } + .offset-lg-7 { + margin-left: 58.33333%; } + .offset-lg-8 { + margin-left: 66.66667%; } + .offset-lg-9 { + margin-left: 75%; } + .offset-lg-10 { + margin-left: 83.33333%; } + .offset-lg-11 { + margin-left: 91.66667%; } + .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 { + -webkit-box-flex: 1; + -ms-flex: 1 0 0%; + flex: 1 0 0%; } + .row-cols-xl-auto > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; } + .row-cols-xl-1 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 100%; } + .row-cols-xl-2 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 50%; } + .row-cols-xl-3 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 33.33333%; } + .row-cols-xl-4 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 25%; } + .row-cols-xl-5 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 20%; } + .row-cols-xl-6 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 16.66667%; } + .col-xl-auto { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; } + .col-xl-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 8.33333%; } + .col-xl-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 16.66667%; } + .col-xl-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 25%; } + .col-xl-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 33.33333%; } + .col-xl-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 41.66667%; } + .col-xl-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 50%; } + .col-xl-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 58.33333%; } + .col-xl-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 66.66667%; } + .col-xl-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 75%; } + .col-xl-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 83.33333%; } + .col-xl-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 91.66667%; } + .col-xl-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 100%; } + .offset-xl-0 { + margin-left: 0; } + .offset-xl-1 { + margin-left: 8.33333%; } + .offset-xl-2 { + margin-left: 16.66667%; } + .offset-xl-3 { + margin-left: 25%; } + .offset-xl-4 { + margin-left: 33.33333%; } + .offset-xl-5 { + margin-left: 41.66667%; } + .offset-xl-6 { + margin-left: 50%; } + .offset-xl-7 { + margin-left: 58.33333%; } + .offset-xl-8 { + margin-left: 66.66667%; } + .offset-xl-9 { + margin-left: 75%; } + .offset-xl-10 { + margin-left: 83.33333%; } + .offset-xl-11 { + margin-left: 91.66667%; } + .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 { + -webkit-box-flex: 1; + -ms-flex: 1 0 0%; + flex: 1 0 0%; } + .row-cols-xxl-auto > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; } + .row-cols-xxl-1 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 100%; } + .row-cols-xxl-2 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 50%; } + .row-cols-xxl-3 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 33.33333%; } + .row-cols-xxl-4 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 25%; } + .row-cols-xxl-5 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 20%; } + .row-cols-xxl-6 > * { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 16.66667%; } + .col-xxl-auto { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: auto; } + .col-xxl-1 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 8.33333%; } + .col-xxl-2 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 16.66667%; } + .col-xxl-3 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 25%; } + .col-xxl-4 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 33.33333%; } + .col-xxl-5 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 41.66667%; } + .col-xxl-6 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 50%; } + .col-xxl-7 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 58.33333%; } + .col-xxl-8 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 66.66667%; } + .col-xxl-9 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 75%; } + .col-xxl-10 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 83.33333%; } + .col-xxl-11 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 91.66667%; } + .col-xxl-12 { + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + width: 100%; } + .offset-xxl-0 { + margin-left: 0; } + .offset-xxl-1 { + margin-left: 8.33333%; } + .offset-xxl-2 { + margin-left: 16.66667%; } + .offset-xxl-3 { + margin-left: 25%; } + .offset-xxl-4 { + margin-left: 33.33333%; } + .offset-xxl-5 { + margin-left: 41.66667%; } + .offset-xxl-6 { + margin-left: 50%; } + .offset-xxl-7 { + margin-left: 58.33333%; } + .offset-xxl-8 { + margin-left: 66.66667%; } + .offset-xxl-9 { + margin-left: 75%; } + .offset-xxl-10 { + margin-left: 83.33333%; } + .offset-xxl-11 { + margin-left: 91.66667%; } + .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-bg: transparent; + --bs-table-accent-bg: transparent; + --bs-table-striped-color: #495057; + --bs-table-striped-bg: #f8f9fa; + --bs-table-active-color: #495057; + --bs-table-active-bg: rgba(0, 0, 0, 0.1); + --bs-table-hover-color: #495057; + --bs-table-hover-bg: #f8f9fa; + width: 100%; + margin-bottom: 1rem; + color: #495057; + vertical-align: top; + border-color: #eff0f2; } + .table > :not(caption) > * > * { + padding: 0.75rem 0.75rem; + background-color: var(--bs-table-bg); + border-bottom-width: 1px; + -webkit-box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg); + box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg); } + .table > tbody { + vertical-align: inherit; } + .table > thead { + vertical-align: bottom; } + .table > :not(:first-child) { + border-top: 2px solid #eff0f2; } + +.caption-top { + caption-side: top; } + +.table-sm > :not(caption) > * > * { + padding: 0.25rem 0.25rem; } + +.table-bordered > :not(caption) > * { + border-width: 1px 0; } + .table-bordered > :not(caption) > * > * { + border-width: 0 1px; } + +.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-accent-bg: var(--bs-table-striped-bg); + color: var(--bs-table-striped-color); } + +.table-active { + --bs-table-accent-bg: var(--bs-table-active-bg); + color: var(--bs-table-active-color); } + +.table-hover > tbody > tr:hover > * { + --bs-table-accent-bg: var(--bs-table-hover-bg); + color: var(--bs-table-hover-color); } + +.table-primary { + --bs-table-bg: #cde8f8; + --bs-table-striped-bg: #c3dcec; + --bs-table-striped-color: #000; + --bs-table-active-bg: #b9d1df; + --bs-table-active-color: #000; + --bs-table-hover-bg: #bed7e5; + --bs-table-hover-color: #000; + color: #000; + border-color: #b9d1df; } + +.table-secondary { + --bs-table-bg: #e3e4e8; + --bs-table-striped-bg: #d8d9dc; + --bs-table-striped-color: #000; + --bs-table-active-bg: #cccdd1; + --bs-table-active-color: #000; + --bs-table-hover-bg: #d2d3d7; + --bs-table-hover-color: #000; + color: #000; + border-color: #cccdd1; } + +.table-success { + --bs-table-bg: #dcf6e8; + --bs-table-striped-bg: #d1eadc; + --bs-table-striped-color: #000; + --bs-table-active-bg: #c6ddd1; + --bs-table-active-color: #000; + --bs-table-hover-bg: #cce4d7; + --bs-table-hover-color: #000; + color: #000; + border-color: #c6ddd1; } + +.table-info { + --bs-table-bg: #dff6fd; + --bs-table-striped-bg: #d4eaf0; + --bs-table-striped-color: #000; + --bs-table-active-bg: #c9dde4; + --bs-table-active-color: #000; + --bs-table-hover-bg: #cee4ea; + --bs-table-hover-color: #000; + color: #000; + border-color: #c9dde4; } + +.table-warning { + --bs-table-bg: #fdf5dd; + --bs-table-striped-bg: #f0e9d2; + --bs-table-striped-color: #000; + --bs-table-active-bg: #e4ddc7; + --bs-table-active-color: #000; + --bs-table-hover-bg: #eae3cc; + --bs-table-hover-color: #000; + color: #000; + border-color: #e4ddc7; } + +.table-danger { + --bs-table-bg: #fddcdc; + --bs-table-striped-bg: #f0d1d1; + --bs-table-striped-color: #000; + --bs-table-active-bg: #e4c6c6; + --bs-table-active-color: #000; + --bs-table-hover-bg: #eacccc; + --bs-table-hover-color: #000; + color: #000; + border-color: #e4c6c6; } + +.table-light { + --bs-table-bg: #f5f6f8; + --bs-table-striped-bg: #e9eaec; + --bs-table-striped-color: #000; + --bs-table-active-bg: #dddddf; + --bs-table-active-color: #000; + --bs-table-hover-bg: #e3e4e5; + --bs-table-hover-color: #000; + color: #000; + border-color: #dddddf; } + +.table-dark { + --bs-table-bg: #343a40; + --bs-table-striped-bg: #3e444a; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #484e53; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #43494e; + --bs-table-hover-color: #fff; + color: #fff; + border-color: #484e53; } + +.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.47rem + 1px); + padding-bottom: calc(0.47rem + 1px); + margin-bottom: 0; + font-size: inherit; + line-height: 1.5; } + +.col-form-label-lg { + padding-top: calc(0.5rem + 1px); + padding-bottom: calc(0.5rem + 1px); + font-size: 1.125rem; } + +.col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.7875rem; } + +.form-text { + margin-top: 0.25rem; + font-size: 87.5%; + color: #74788d; } + +.form-control { + display: block; + width: 100%; + padding: 0.47rem 0.75rem; + font-size: 0.9rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #e2e5e8; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border-radius: 0.25rem; + -webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + .form-control { + -webkit-transition: none; + transition: none; } } + .form-control[type="file"] { + overflow: hidden; } + .form-control[type="file"]:not(:disabled):not([readonly]) { + cursor: pointer; } + .form-control:focus { + color: #495057; + background-color: #fff; + border-color: #cbced1; + outline: 0; + -webkit-box-shadow: none; + box-shadow: none; } + .form-control::-webkit-date-and-time-value { + height: 1.5em; } + .form-control::-webkit-input-placeholder { + color: #74788d; + opacity: 1; } + .form-control::-moz-placeholder { + color: #74788d; + opacity: 1; } + .form-control:-ms-input-placeholder { + color: #74788d; + opacity: 1; } + .form-control::-ms-input-placeholder { + color: #74788d; + opacity: 1; } + .form-control::placeholder { + color: #74788d; + opacity: 1; } + .form-control:disabled, .form-control[readonly] { + background-color: #f5f6f8; + opacity: 1; } + .form-control::file-selector-button { + padding: 0.47rem 0.75rem; + margin: -0.47rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; + color: #495057; + background-color: #f5f6f8; + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: 1px; + 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, -webkit-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, -webkit-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; + 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, -webkit-box-shadow 0.15s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + .form-control::file-selector-button { + -webkit-transition: none; + transition: none; } } + .form-control:hover:not(:disabled):not([readonly])::file-selector-button { + background-color: #e9eaec; } + .form-control::-webkit-file-upload-button { + padding: 0.47rem 0.75rem; + margin: -0.47rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; + color: #495057; + background-color: #f5f6f8; + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: 1px; + 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, -webkit-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, -webkit-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; + 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, -webkit-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:hover:not(:disabled):not([readonly])::-webkit-file-upload-button { + background-color: #e9eaec; } + +.form-control-plaintext { + display: block; + width: 100%; + padding: 0.47rem 0; + margin-bottom: 0; + line-height: 1.5; + color: #495057; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; } + .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; } + +.form-control-sm { + min-height: calc(1.5em + 0.5rem + 2px); + padding: 0.25rem 0.5rem; + font-size: 0.7875rem; + border-radius: 0.2rem; } + .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-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-lg { + min-height: calc(1.5em + 1rem + 2px); + padding: 0.5rem 1rem; + font-size: 1.125rem; + border-radius: 0.4rem; } + .form-control-lg::file-selector-button { + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; } + .form-control-lg::-webkit-file-upload-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.94rem + 2px); } + +textarea.form-control-sm { + min-height: calc(1.5em + 0.5rem + 2px); } + +textarea.form-control-lg { + min-height: calc(1.5em + 1rem + 2px); } + +.form-control-color { + width: 3rem; + height: auto; + padding: 0.47rem; } + .form-control-color:not(:disabled):not([readonly]) { + cursor: pointer; } + .form-control-color::-moz-color-swatch { + height: 1.5em; + border-radius: 0.25rem; } + .form-control-color::-webkit-color-swatch { + height: 1.5em; + border-radius: 0.25rem; } + +.form-select { + display: block; + width: 100%; + padding: 0.47rem 1.75rem 0.47rem 0.75rem; + -moz-padding-start: calc(0.75rem - 3px); + font-size: 0.9rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + background-color: #fff; + background-image: 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 5l6 6 6-6'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right 0.75rem center; + background-size: 16px 12px; + border: 1px solid #e2e5e8; + border-radius: 0.25rem; + -webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; } + @media (prefers-reduced-motion: reduce) { + .form-select { + -webkit-transition: none; + transition: none; } } + .form-select:focus { + border-color: #cbced1; + outline: 0; + -webkit-box-shadow: 0 0 0 0.15rem rgba(3, 142, 220, 0.25); + box-shadow: 0 0 0 0.15rem rgba(3, 142, 220, 0.25); } + .form-select[multiple], .form-select[size]:not([size="1"]) { + padding-right: 0.75rem; + background-image: none; } + .form-select:disabled { + color: #74788d; + background-color: #f5f6f8; } + .form-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #495057; } + +.form-select-sm { + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.7875rem; + border-radius: 0.2rem; } + +.form-select-lg { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.125rem; + border-radius: 0.3rem; } + +.form-check { + display: block; + min-height: 1.35rem; + padding-left: 1.5em; + margin-bottom: 0rem; } + .form-check .form-check-input { + float: left; + margin-left: -1.5em; } + +.form-check-input { + width: 1em; + height: 1em; + margin-top: 0.25em; + vertical-align: top; + background-color: #fff; + background-repeat: no-repeat; + background-position: center; + background-size: contain; + border: 1px solid #adb5bd; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + -webkit-print-color-adjust: exact; + color-adjust: exact; + -webkit-transition: background-color 0.15s ease-in-out, background-position 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, background-position 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, background-position 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, background-position 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + .form-check-input { + -webkit-transition: none; + transition: none; } } + .form-check-input[type="checkbox"] { + border-radius: 0.25em; } + .form-check-input[type="radio"] { + border-radius: 50%; } + .form-check-input:active { + -webkit-filter: brightness(90%); + filter: brightness(90%); } + .form-check-input:focus { + border-color: #cbced1; + outline: 0; + -webkit-box-shadow: none; + box-shadow: none; } + .form-check-input:checked { + background-color: #2e86de; + border-color: #2e86de; } + .form-check-input:checked[type="checkbox"] { + background-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 10l3 3l6-6'/%3e%3c/svg%3e"); } + .form-check-input:checked[type="radio"] { + background-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: #2e86de; + border-color: #2e86de; + background-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; + -webkit-filter: none; + filter: none; + opacity: 0.5; } + .form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label { + opacity: 0.5; } + +.form-switch { + padding-left: 2.5em; } + .form-switch .form-check-input { + width: 2em; + margin-left: -2.5em; + background-image: 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"); + background-position: left center; + border-radius: 2em; + -webkit-transition: background-position 0.15s ease-in-out; + transition: background-position 0.15s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + .form-switch .form-check-input { + -webkit-transition: none; + transition: none; } } + .form-switch .form-check-input:focus { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23cbced1'/%3e%3c/svg%3e"); } + .form-switch .form-check-input:checked { + background-position: right center; + background-image: 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-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; + -webkit-filter: none; + filter: none; + opacity: 0.65; } + +.form-range { + width: 100%; + height: 1.3rem; + padding: 0; + background-color: transparent; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; } + .form-range:focus { + outline: 0; } + .form-range:focus::-webkit-slider-thumb { + -webkit-box-shadow: 0 0 0 1px #f7f8fa, none; + box-shadow: 0 0 0 1px #f7f8fa, none; } + .form-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #f7f8fa, none; } + .form-range::-moz-focus-outer { + border: 0; } + .form-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #2e86de; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-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; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + appearance: none; } + @media (prefers-reduced-motion: reduce) { + .form-range::-webkit-slider-thumb { + -webkit-transition: none; + transition: none; } } + .form-range::-webkit-slider-thumb:active { + background-color: #b3ddf5; } + .form-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #eff0f2; + border-color: transparent; + border-radius: 1rem; } + .form-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: #2e86de; + 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; + -moz-appearance: none; + appearance: none; } + @media (prefers-reduced-motion: reduce) { + .form-range::-moz-range-thumb { + -moz-transition: none; + transition: none; } } + .form-range::-moz-range-thumb:active { + background-color: #b3ddf5; } + .form-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #eff0f2; + border-color: transparent; + border-radius: 1rem; } + .form-range:disabled { + pointer-events: none; } + .form-range:disabled::-webkit-slider-thumb { + background-color: #adb5bd; } + .form-range:disabled::-moz-range-thumb { + background-color: #adb5bd; } + +.form-floating { + position: relative; } + .form-floating > .form-control, + .form-floating > .form-select { + height: calc(3.5rem + 2px); + line-height: 1.25; } + .form-floating > label { + position: absolute; + top: 0; + left: 0; + height: 100%; + padding: 1rem 0.75rem; + pointer-events: none; + border: 1px solid transparent; + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + -webkit-transition: opacity 0.1s ease-in-out, -webkit-transform 0.1s ease-in-out; + transition: opacity 0.1s ease-in-out, -webkit-transform 0.1s ease-in-out; + transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out; + transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out, -webkit-transform 0.1s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + .form-floating > label { + -webkit-transition: none; + transition: none; } } + .form-floating > .form-control { + padding: 1rem 0.75rem; } + .form-floating > .form-control::-webkit-input-placeholder { + color: transparent; } + .form-floating > .form-control::-moz-placeholder { + color: transparent; } + .form-floating > .form-control:-ms-input-placeholder { + color: transparent; } + .form-floating > .form-control::-ms-input-placeholder { + color: transparent; } + .form-floating > .form-control::placeholder { + color: transparent; } + .form-floating > .form-control:not(:-moz-placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; } + .form-floating > .form-control:not(:-ms-input-placeholder) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; } + .form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; } + .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 { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); } + .form-floating > .form-control:not(:-ms-input-placeholder) ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); } + .form-floating > .form-control:focus ~ label, + .form-floating > .form-control:not(:placeholder-shown) ~ label, + .form-floating > .form-select ~ label { + opacity: 0.65; + -webkit-transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); } + .form-floating > .form-control:-webkit-autofill ~ label { + opacity: 0.65; + -webkit-transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); } + +.input-group { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-align: stretch; + -ms-flex-align: stretch; + align-items: stretch; + width: 100%; } + .input-group > .form-control, + .input-group > .form-select { + position: relative; + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + width: 1%; + min-width: 0; } + .input-group > .form-control:focus, + .input-group > .form-select:focus { + z-index: 3; } + .input-group .btn { + position: relative; + z-index: 2; } + .input-group .btn:focus { + z-index: 3; } + +.input-group-text { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + padding: 0.47rem 0.75rem; + font-size: 0.9rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + text-align: center; + white-space: nowrap; + background-color: #f5f6f8; + border: 1px solid #e2e5e8; + border-radius: 0.25rem; } + +.input-group-lg > .form-control, +.input-group-lg > .form-select, +.input-group-lg > .input-group-text, +.input-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.125rem; + border-radius: 0.4rem; } + +.input-group-sm > .form-control, +.input-group-sm > .form-select, +.input-group-sm > .input-group-text, +.input-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.7875rem; + border-radius: 0.2rem; } + +.input-group-lg > .form-select, +.input-group-sm > .form-select { + padding-right: 2.5rem; } + +.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu), +.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n + 3) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; } + +.input-group.has-validation > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu), +.input-group.has-validation > .dropdown-toggle:nth-last-child(n + 4) { + 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: -1px; + border-top-left-radius: 0; + border-bottom-left-radius: 0; } + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 87.5%; + color: #51d28c; } + +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.4rem 0.7rem; + margin-top: .1rem; + font-size: 0.7875rem; + color: #fff; + background-color: rgba(81, 210, 140, 0.9); + border-radius: 0.25rem; } + +.was-validated :valid ~ .valid-feedback, +.was-validated :valid ~ .valid-tooltip, +.is-valid ~ .valid-feedback, +.is-valid ~ .valid-tooltip { + display: block; } + +.was-validated .form-control:valid, .form-control.is-valid { + border-color: #51d28c; + padding-right: calc(1.5em + 0.94rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2351d28c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.235rem) center; + background-size: calc(0.75em + 0.47rem) calc(0.75em + 0.47rem); } + .was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: #51d28c; + -webkit-box-shadow: 0 0 0 0.15rem rgba(81, 210, 140, 0.25); + box-shadow: 0 0 0 0.15rem rgba(81, 210, 140, 0.25); } + +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.94rem); + background-position: top calc(0.375em + 0.235rem) right calc(0.375em + 0.235rem); } + +.was-validated .form-select:valid, .form-select.is-valid { + border-color: #51d28c; } + .was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] { + padding-right: calc(0.75em + 3.205rem); + background-image: 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 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2351d28c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-position: right 0.75rem center, center right 2.5rem; + background-size: 16px 12px, calc(0.75em + 0.47rem) calc(0.75em + 0.47rem); } + .was-validated .form-select:valid:focus, .form-select.is-valid:focus { + border-color: #51d28c; + -webkit-box-shadow: 0 0 0 0.15rem rgba(81, 210, 140, 0.25); + box-shadow: 0 0 0 0.15rem rgba(81, 210, 140, 0.25); } + +.was-validated .form-check-input:valid, .form-check-input.is-valid { + border-color: #51d28c; } + .was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked { + background-color: #51d28c; } + .was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(81, 210, 140, 0.25); + box-shadow: 0 0 0 0.15rem rgba(81, 210, 140, 0.25); } + .was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: #51d28c; } + +.form-check-inline .form-check-input ~ .valid-feedback { + margin-left: .5em; } + +.was-validated .input-group .form-control:valid, .input-group .form-control.is-valid, .was-validated +.input-group .form-select:valid, +.input-group .form-select.is-valid { + z-index: 1; } + .was-validated .input-group .form-control:valid:focus, .input-group .form-control.is-valid:focus, .was-validated + .input-group .form-select:valid:focus, + .input-group .form-select.is-valid:focus { + z-index: 3; } + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: 87.5%; + color: #f34e4e; } + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.4rem 0.7rem; + margin-top: .1rem; + font-size: 0.7875rem; + color: #fff; + background-color: rgba(243, 78, 78, 0.9); + border-radius: 0.25rem; } + +.was-validated :invalid ~ .invalid-feedback, +.was-validated :invalid ~ .invalid-tooltip, +.is-invalid ~ .invalid-feedback, +.is-invalid ~ .invalid-tooltip { + display: block; } + +.was-validated .form-control:invalid, .form-control.is-invalid { + border-color: #f34e4e; + padding-right: calc(1.5em + 0.94rem); + 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='%23f34e4e'%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='%23f34e4e' stroke='none'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.235rem) center; + background-size: calc(0.75em + 0.47rem) calc(0.75em + 0.47rem); } + .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: #f34e4e; + -webkit-box-shadow: 0 0 0 0.15rem rgba(243, 78, 78, 0.25); + box-shadow: 0 0 0 0.15rem rgba(243, 78, 78, 0.25); } + +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.94rem); + background-position: top calc(0.375em + 0.235rem) right calc(0.375em + 0.235rem); } + +.was-validated .form-select:invalid, .form-select.is-invalid { + border-color: #f34e4e; } + .was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] { + padding-right: calc(0.75em + 3.205rem); + background-image: 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 5l6 6 6-6'/%3e%3c/svg%3e"), 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='%23f34e4e'%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='%23f34e4e' stroke='none'/%3e%3c/svg%3e"); + background-position: right 0.75rem center, center right 2.5rem; + background-size: 16px 12px, calc(0.75em + 0.47rem) calc(0.75em + 0.47rem); } + .was-validated .form-select:invalid:focus, .form-select.is-invalid:focus { + border-color: #f34e4e; + -webkit-box-shadow: 0 0 0 0.15rem rgba(243, 78, 78, 0.25); + box-shadow: 0 0 0 0.15rem rgba(243, 78, 78, 0.25); } + +.was-validated .form-check-input:invalid, .form-check-input.is-invalid { + border-color: #f34e4e; } + .was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked { + background-color: #f34e4e; } + .was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(243, 78, 78, 0.25); + box-shadow: 0 0 0 0.15rem rgba(243, 78, 78, 0.25); } + .was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: #f34e4e; } + +.form-check-inline .form-check-input ~ .invalid-feedback { + margin-left: .5em; } + +.was-validated .input-group .form-control:invalid, .input-group .form-control.is-invalid, .was-validated +.input-group .form-select:invalid, +.input-group .form-select.is-invalid { + z-index: 2; } + .was-validated .input-group .form-control:invalid:focus, .input-group .form-control.is-invalid:focus, .was-validated + .input-group .form-select:invalid:focus, + .input-group .form-select.is-invalid:focus { + z-index: 3; } + +.btn { + display: inline-block; + font-weight: 400; + line-height: 1.5; + color: #495057; + text-align: center; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: transparent; + border: 1px solid transparent; + padding: 0.47rem 0.75rem; + font-size: 0.9rem; + border-radius: 0.25rem; + -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-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, -webkit-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; + 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, -webkit-box-shadow 0.15s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + .btn { + -webkit-transition: none; + transition: none; } } + .btn:hover { + color: #495057; } + .btn-check:focus + .btn, .btn:focus { + outline: 0; + -webkit-box-shadow: 0 0 0 0.15rem rgba(3, 142, 220, 0.25); + box-shadow: 0 0 0 0.15rem rgba(3, 142, 220, 0.25); } + .btn:disabled, .btn.disabled, + fieldset:disabled .btn { + pointer-events: none; + opacity: 0.65; } + +.btn-primary { + color: #fff; + background-color: #2e86de; + border-color: #2e86de; } + .btn-primary:hover { + color: #fff; + background-color: #0379bb; + border-color: #0272b0; } + .btn-check:focus + .btn-primary, .btn-primary:focus { + color: #fff; + background-color: #0379bb; + border-color: #0272b0; + -webkit-box-shadow: 0 0 0 0.15rem rgba(41, 159, 225, 0.5); + box-shadow: 0 0 0 0.15rem rgba(41, 159, 225, 0.5); } + .btn-check:checked + .btn-primary, + .btn-check:active + .btn-primary, .btn-primary:active, .btn-primary.active, + .show > .btn-primary.dropdown-toggle { + color: #fff; + background-color: #0272b0; + border-color: #026ba5; } + .btn-check:checked + .btn-primary:focus, + .btn-check:active + .btn-primary:focus, .btn-primary:active:focus, .btn-primary.active:focus, + .show > .btn-primary.dropdown-toggle:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(41, 159, 225, 0.5); + box-shadow: 0 0 0 0.15rem rgba(41, 159, 225, 0.5); } + .btn-primary:disabled, .btn-primary.disabled { + color: #fff; + background-color: #2e86de; + border-color: #2e86de; } + +.btn-secondary { + color: #fff; + background-color: #74788d; + border-color: #74788d; } + .btn-secondary:hover { + color: #fff; + background-color: #636678; + border-color: #5d6071; } + .btn-check:focus + .btn-secondary, .btn-secondary:focus { + color: #fff; + background-color: #636678; + border-color: #5d6071; + -webkit-box-shadow: 0 0 0 0.15rem rgba(137, 140, 158, 0.5); + box-shadow: 0 0 0 0.15rem rgba(137, 140, 158, 0.5); } + .btn-check:checked + .btn-secondary, + .btn-check:active + .btn-secondary, .btn-secondary:active, .btn-secondary.active, + .show > .btn-secondary.dropdown-toggle { + color: #fff; + background-color: #5d6071; + border-color: #575a6a; } + .btn-check:checked + .btn-secondary:focus, + .btn-check:active + .btn-secondary:focus, .btn-secondary:active:focus, .btn-secondary.active:focus, + .show > .btn-secondary.dropdown-toggle:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(137, 140, 158, 0.5); + box-shadow: 0 0 0 0.15rem rgba(137, 140, 158, 0.5); } + .btn-secondary:disabled, .btn-secondary.disabled { + color: #fff; + background-color: #74788d; + border-color: #74788d; } + +.btn-success { + color: #fff; + background-color: #51d28c; + border-color: #51d28c; } + .btn-success:hover { + color: #fff; + background-color: #45b377; + border-color: #41a870; } + .btn-check:focus + .btn-success, .btn-success:focus { + color: #fff; + background-color: #45b377; + border-color: #41a870; + -webkit-box-shadow: 0 0 0 0.15rem rgba(107, 217, 157, 0.5); + box-shadow: 0 0 0 0.15rem rgba(107, 217, 157, 0.5); } + .btn-check:checked + .btn-success, + .btn-check:active + .btn-success, .btn-success:active, .btn-success.active, + .show > .btn-success.dropdown-toggle { + color: #fff; + background-color: #41a870; + border-color: #3d9e69; } + .btn-check:checked + .btn-success:focus, + .btn-check:active + .btn-success:focus, .btn-success:active:focus, .btn-success.active:focus, + .show > .btn-success.dropdown-toggle:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(107, 217, 157, 0.5); + box-shadow: 0 0 0 0.15rem rgba(107, 217, 157, 0.5); } + .btn-success:disabled, .btn-success.disabled { + color: #fff; + background-color: #51d28c; + border-color: #51d28c; } + +.btn-info { + color: #fff; + background-color: #5fd0f3; + border-color: #5fd0f3; } + .btn-info:hover { + color: #fff; + background-color: #51b1cf; + border-color: #4ca6c2; } + .btn-check:focus + .btn-info, .btn-info:focus { + color: #fff; + background-color: #51b1cf; + border-color: #4ca6c2; + -webkit-box-shadow: 0 0 0 0.15rem rgba(119, 215, 245, 0.5); + box-shadow: 0 0 0 0.15rem rgba(119, 215, 245, 0.5); } + .btn-check:checked + .btn-info, + .btn-check:active + .btn-info, .btn-info:active, .btn-info.active, + .show > .btn-info.dropdown-toggle { + color: #fff; + background-color: #4ca6c2; + border-color: #479cb6; } + .btn-check:checked + .btn-info:focus, + .btn-check:active + .btn-info:focus, .btn-info:active:focus, .btn-info.active:focus, + .show > .btn-info.dropdown-toggle:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(119, 215, 245, 0.5); + box-shadow: 0 0 0 0.15rem rgba(119, 215, 245, 0.5); } + .btn-info:disabled, .btn-info.disabled { + color: #fff; + background-color: #5fd0f3; + border-color: #5fd0f3; } + +.btn-warning { + color: #000; + background-color: #f7cc53; + border-color: #f7cc53; } + .btn-warning:hover { + color: #000; + background-color: #f8d46d; + border-color: #f8d164; } + .btn-check:focus + .btn-warning, .btn-warning:focus { + color: #000; + background-color: #f8d46d; + border-color: #f8d164; + -webkit-box-shadow: 0 0 0 0.15rem rgba(210, 173, 71, 0.5); + box-shadow: 0 0 0 0.15rem rgba(210, 173, 71, 0.5); } + .btn-check:checked + .btn-warning, + .btn-check:active + .btn-warning, .btn-warning:active, .btn-warning.active, + .show > .btn-warning.dropdown-toggle { + color: #000; + background-color: #f9d675; + border-color: #f8d164; } + .btn-check:checked + .btn-warning:focus, + .btn-check:active + .btn-warning:focus, .btn-warning:active:focus, .btn-warning.active:focus, + .show > .btn-warning.dropdown-toggle:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(210, 173, 71, 0.5); + box-shadow: 0 0 0 0.15rem rgba(210, 173, 71, 0.5); } + .btn-warning:disabled, .btn-warning.disabled { + color: #000; + background-color: #f7cc53; + border-color: #f7cc53; } + +.btn-danger { + color: #fff; + background-color: #f34e4e; + border-color: #f34e4e; } + .btn-danger:hover { + color: #fff; + background-color: #cf4242; + border-color: #c23e3e; } + .btn-check:focus + .btn-danger, .btn-danger:focus { + color: #fff; + background-color: #cf4242; + border-color: #c23e3e; + -webkit-box-shadow: 0 0 0 0.15rem rgba(245, 105, 105, 0.5); + box-shadow: 0 0 0 0.15rem rgba(245, 105, 105, 0.5); } + .btn-check:checked + .btn-danger, + .btn-check:active + .btn-danger, .btn-danger:active, .btn-danger.active, + .show > .btn-danger.dropdown-toggle { + color: #fff; + background-color: #c23e3e; + border-color: #b63b3b; } + .btn-check:checked + .btn-danger:focus, + .btn-check:active + .btn-danger:focus, .btn-danger:active:focus, .btn-danger.active:focus, + .show > .btn-danger.dropdown-toggle:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(245, 105, 105, 0.5); + box-shadow: 0 0 0 0.15rem rgba(245, 105, 105, 0.5); } + .btn-danger:disabled, .btn-danger.disabled { + color: #fff; + background-color: #f34e4e; + border-color: #f34e4e; } + +.btn-pink { + color: #fff; + background-color: #e83e8c; + border-color: #e83e8c; } + .btn-pink:hover { + color: #fff; + background-color: #c53577; + border-color: #ba3270; } + .btn-check:focus + .btn-pink, .btn-pink:focus { + color: #fff; + background-color: #c53577; + border-color: #ba3270; + -webkit-box-shadow: 0 0 0 0.15rem rgba(235, 91, 157, 0.5); + box-shadow: 0 0 0 0.15rem rgba(235, 91, 157, 0.5); } + .btn-check:checked + .btn-pink, + .btn-check:active + .btn-pink, .btn-pink:active, .btn-pink.active, + .show > .btn-pink.dropdown-toggle { + color: #fff; + background-color: #ba3270; + border-color: #ae2f69; } + .btn-check:checked + .btn-pink:focus, + .btn-check:active + .btn-pink:focus, .btn-pink:active:focus, .btn-pink.active:focus, + .show > .btn-pink.dropdown-toggle:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(235, 91, 157, 0.5); + box-shadow: 0 0 0 0.15rem rgba(235, 91, 157, 0.5); } + .btn-pink:disabled, .btn-pink.disabled { + color: #fff; + background-color: #e83e8c; + border-color: #e83e8c; } + +.btn-light { + color: #000; + background-color: #f5f6f8; + border-color: #f5f6f8; } + .btn-light:hover { + color: #000; + background-color: #f7f7f9; + border-color: #f6f7f9; } + .btn-check:focus + .btn-light, .btn-light:focus { + color: #000; + background-color: #f7f7f9; + border-color: #f6f7f9; + -webkit-box-shadow: 0 0 0 0.15rem rgba(208, 209, 211, 0.5); + box-shadow: 0 0 0 0.15rem rgba(208, 209, 211, 0.5); } + .btn-check:checked + .btn-light, + .btn-check:active + .btn-light, .btn-light:active, .btn-light.active, + .show > .btn-light.dropdown-toggle { + color: #000; + background-color: #f7f8f9; + border-color: #f6f7f9; } + .btn-check:checked + .btn-light:focus, + .btn-check:active + .btn-light:focus, .btn-light:active:focus, .btn-light.active:focus, + .show > .btn-light.dropdown-toggle:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(208, 209, 211, 0.5); + box-shadow: 0 0 0 0.15rem rgba(208, 209, 211, 0.5); } + .btn-light:disabled, .btn-light.disabled { + color: #000; + background-color: #f5f6f8; + border-color: #f5f6f8; } + +.btn-dark { + color: #fff; + background-color: #343a40; + border-color: #343a40; } + .btn-dark:hover { + color: #fff; + background-color: #2c3136; + border-color: #2a2e33; } + .btn-check:focus + .btn-dark, .btn-dark:focus { + color: #fff; + background-color: #2c3136; + border-color: #2a2e33; + -webkit-box-shadow: 0 0 0 0.15rem rgba(82, 88, 93, 0.5); + box-shadow: 0 0 0 0.15rem rgba(82, 88, 93, 0.5); } + .btn-check:checked + .btn-dark, + .btn-check:active + .btn-dark, .btn-dark:active, .btn-dark.active, + .show > .btn-dark.dropdown-toggle { + color: #fff; + background-color: #2a2e33; + border-color: #272c30; } + .btn-check:checked + .btn-dark:focus, + .btn-check:active + .btn-dark:focus, .btn-dark:active:focus, .btn-dark.active:focus, + .show > .btn-dark.dropdown-toggle:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(82, 88, 93, 0.5); + box-shadow: 0 0 0 0.15rem rgba(82, 88, 93, 0.5); } + .btn-dark:disabled, .btn-dark.disabled { + color: #fff; + background-color: #343a40; + border-color: #343a40; } + +.btn-purple { + color: #fff; + background-color: #564ab1; + border-color: #564ab1; } + .btn-purple:hover { + color: #fff; + background-color: #493f96; + border-color: #453b8e; } + .btn-check:focus + .btn-purple, .btn-purple:focus { + color: #fff; + background-color: #493f96; + border-color: #453b8e; + -webkit-box-shadow: 0 0 0 0.15rem rgba(111, 101, 189, 0.5); + box-shadow: 0 0 0 0.15rem rgba(111, 101, 189, 0.5); } + .btn-check:checked + .btn-purple, + .btn-check:active + .btn-purple, .btn-purple:active, .btn-purple.active, + .show > .btn-purple.dropdown-toggle { + color: #fff; + background-color: #453b8e; + border-color: #413885; } + .btn-check:checked + .btn-purple:focus, + .btn-check:active + .btn-purple:focus, .btn-purple:active:focus, .btn-purple.active:focus, + .show > .btn-purple.dropdown-toggle:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(111, 101, 189, 0.5); + box-shadow: 0 0 0 0.15rem rgba(111, 101, 189, 0.5); } + .btn-purple:disabled, .btn-purple.disabled { + color: #fff; + background-color: #564ab1; + border-color: #564ab1; } + +.btn-outline-primary { + color: #2e86de; + border-color: #2e86de; } + .btn-outline-primary:hover { + color: #fff; + background-color: #2e86de; + border-color: #2e86de; } + .btn-check:focus + .btn-outline-primary, .btn-outline-primary:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(3, 142, 220, 0.5); + box-shadow: 0 0 0 0.15rem rgba(3, 142, 220, 0.5); } + .btn-check:checked + .btn-outline-primary, + .btn-check:active + .btn-outline-primary, .btn-outline-primary:active, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show { + color: #fff; + background-color: #2e86de; + border-color: #2e86de; } + .btn-check:checked + .btn-outline-primary:focus, + .btn-check:active + .btn-outline-primary:focus, .btn-outline-primary:active:focus, .btn-outline-primary.active:focus, .btn-outline-primary.dropdown-toggle.show:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(3, 142, 220, 0.5); + box-shadow: 0 0 0 0.15rem rgba(3, 142, 220, 0.5); } + .btn-outline-primary:disabled, .btn-outline-primary.disabled { + color: #2e86de; + background-color: transparent; } + +.btn-outline-secondary { + color: #74788d; + border-color: #74788d; } + .btn-outline-secondary:hover { + color: #fff; + background-color: #74788d; + border-color: #74788d; } + .btn-check:focus + .btn-outline-secondary, .btn-outline-secondary:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(116, 120, 141, 0.5); + box-shadow: 0 0 0 0.15rem rgba(116, 120, 141, 0.5); } + .btn-check:checked + .btn-outline-secondary, + .btn-check:active + .btn-outline-secondary, .btn-outline-secondary:active, .btn-outline-secondary.active, .btn-outline-secondary.dropdown-toggle.show { + color: #fff; + background-color: #74788d; + border-color: #74788d; } + .btn-check:checked + .btn-outline-secondary:focus, + .btn-check:active + .btn-outline-secondary:focus, .btn-outline-secondary:active:focus, .btn-outline-secondary.active:focus, .btn-outline-secondary.dropdown-toggle.show:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(116, 120, 141, 0.5); + box-shadow: 0 0 0 0.15rem rgba(116, 120, 141, 0.5); } + .btn-outline-secondary:disabled, .btn-outline-secondary.disabled { + color: #74788d; + background-color: transparent; } + +.btn-outline-success { + color: #51d28c; + border-color: #51d28c; } + .btn-outline-success:hover { + color: #fff; + background-color: #51d28c; + border-color: #51d28c; } + .btn-check:focus + .btn-outline-success, .btn-outline-success:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(81, 210, 140, 0.5); + box-shadow: 0 0 0 0.15rem rgba(81, 210, 140, 0.5); } + .btn-check:checked + .btn-outline-success, + .btn-check:active + .btn-outline-success, .btn-outline-success:active, .btn-outline-success.active, .btn-outline-success.dropdown-toggle.show { + color: #fff; + background-color: #51d28c; + border-color: #51d28c; } + .btn-check:checked + .btn-outline-success:focus, + .btn-check:active + .btn-outline-success:focus, .btn-outline-success:active:focus, .btn-outline-success.active:focus, .btn-outline-success.dropdown-toggle.show:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(81, 210, 140, 0.5); + box-shadow: 0 0 0 0.15rem rgba(81, 210, 140, 0.5); } + .btn-outline-success:disabled, .btn-outline-success.disabled { + color: #51d28c; + background-color: transparent; } + +.btn-outline-info { + color: #5fd0f3; + border-color: #5fd0f3; } + .btn-outline-info:hover { + color: #fff; + background-color: #5fd0f3; + border-color: #5fd0f3; } + .btn-check:focus + .btn-outline-info, .btn-outline-info:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(95, 208, 243, 0.5); + box-shadow: 0 0 0 0.15rem rgba(95, 208, 243, 0.5); } + .btn-check:checked + .btn-outline-info, + .btn-check:active + .btn-outline-info, .btn-outline-info:active, .btn-outline-info.active, .btn-outline-info.dropdown-toggle.show { + color: #fff; + background-color: #5fd0f3; + border-color: #5fd0f3; } + .btn-check:checked + .btn-outline-info:focus, + .btn-check:active + .btn-outline-info:focus, .btn-outline-info:active:focus, .btn-outline-info.active:focus, .btn-outline-info.dropdown-toggle.show:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(95, 208, 243, 0.5); + box-shadow: 0 0 0 0.15rem rgba(95, 208, 243, 0.5); } + .btn-outline-info:disabled, .btn-outline-info.disabled { + color: #5fd0f3; + background-color: transparent; } + +.btn-outline-warning { + color: #f7cc53; + border-color: #f7cc53; } + .btn-outline-warning:hover { + color: #000; + background-color: #f7cc53; + border-color: #f7cc53; } + .btn-check:focus + .btn-outline-warning, .btn-outline-warning:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(247, 204, 83, 0.5); + box-shadow: 0 0 0 0.15rem rgba(247, 204, 83, 0.5); } + .btn-check:checked + .btn-outline-warning, + .btn-check:active + .btn-outline-warning, .btn-outline-warning:active, .btn-outline-warning.active, .btn-outline-warning.dropdown-toggle.show { + color: #000; + background-color: #f7cc53; + border-color: #f7cc53; } + .btn-check:checked + .btn-outline-warning:focus, + .btn-check:active + .btn-outline-warning:focus, .btn-outline-warning:active:focus, .btn-outline-warning.active:focus, .btn-outline-warning.dropdown-toggle.show:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(247, 204, 83, 0.5); + box-shadow: 0 0 0 0.15rem rgba(247, 204, 83, 0.5); } + .btn-outline-warning:disabled, .btn-outline-warning.disabled { + color: #f7cc53; + background-color: transparent; } + +.btn-outline-danger { + color: #f34e4e; + border-color: #f34e4e; } + .btn-outline-danger:hover { + color: #fff; + background-color: #f34e4e; + border-color: #f34e4e; } + .btn-check:focus + .btn-outline-danger, .btn-outline-danger:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(243, 78, 78, 0.5); + box-shadow: 0 0 0 0.15rem rgba(243, 78, 78, 0.5); } + .btn-check:checked + .btn-outline-danger, + .btn-check:active + .btn-outline-danger, .btn-outline-danger:active, .btn-outline-danger.active, .btn-outline-danger.dropdown-toggle.show { + color: #fff; + background-color: #f34e4e; + border-color: #f34e4e; } + .btn-check:checked + .btn-outline-danger:focus, + .btn-check:active + .btn-outline-danger:focus, .btn-outline-danger:active:focus, .btn-outline-danger.active:focus, .btn-outline-danger.dropdown-toggle.show:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(243, 78, 78, 0.5); + box-shadow: 0 0 0 0.15rem rgba(243, 78, 78, 0.5); } + .btn-outline-danger:disabled, .btn-outline-danger.disabled { + color: #f34e4e; + background-color: transparent; } + +.btn-outline-pink { + color: #e83e8c; + border-color: #e83e8c; } + .btn-outline-pink:hover { + color: #fff; + background-color: #e83e8c; + border-color: #e83e8c; } + .btn-check:focus + .btn-outline-pink, .btn-outline-pink:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(232, 62, 140, 0.5); + box-shadow: 0 0 0 0.15rem rgba(232, 62, 140, 0.5); } + .btn-check:checked + .btn-outline-pink, + .btn-check:active + .btn-outline-pink, .btn-outline-pink:active, .btn-outline-pink.active, .btn-outline-pink.dropdown-toggle.show { + color: #fff; + background-color: #e83e8c; + border-color: #e83e8c; } + .btn-check:checked + .btn-outline-pink:focus, + .btn-check:active + .btn-outline-pink:focus, .btn-outline-pink:active:focus, .btn-outline-pink.active:focus, .btn-outline-pink.dropdown-toggle.show:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(232, 62, 140, 0.5); + box-shadow: 0 0 0 0.15rem rgba(232, 62, 140, 0.5); } + .btn-outline-pink:disabled, .btn-outline-pink.disabled { + color: #e83e8c; + background-color: transparent; } + +.btn-outline-light { + color: #f5f6f8; + border-color: #f5f6f8; } + .btn-outline-light:hover { + color: #000; + background-color: #f5f6f8; + border-color: #f5f6f8; } + .btn-check:focus + .btn-outline-light, .btn-outline-light:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(245, 246, 248, 0.5); + box-shadow: 0 0 0 0.15rem rgba(245, 246, 248, 0.5); } + .btn-check:checked + .btn-outline-light, + .btn-check:active + .btn-outline-light, .btn-outline-light:active, .btn-outline-light.active, .btn-outline-light.dropdown-toggle.show { + color: #000; + background-color: #f5f6f8; + border-color: #f5f6f8; } + .btn-check:checked + .btn-outline-light:focus, + .btn-check:active + .btn-outline-light:focus, .btn-outline-light:active:focus, .btn-outline-light.active:focus, .btn-outline-light.dropdown-toggle.show:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(245, 246, 248, 0.5); + box-shadow: 0 0 0 0.15rem rgba(245, 246, 248, 0.5); } + .btn-outline-light:disabled, .btn-outline-light.disabled { + color: #f5f6f8; + background-color: transparent; } + +.btn-outline-dark { + color: #343a40; + border-color: #343a40; } + .btn-outline-dark:hover { + color: #fff; + background-color: #343a40; + border-color: #343a40; } + .btn-check:focus + .btn-outline-dark, .btn-outline-dark:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(52, 58, 64, 0.5); + box-shadow: 0 0 0 0.15rem rgba(52, 58, 64, 0.5); } + .btn-check:checked + .btn-outline-dark, + .btn-check:active + .btn-outline-dark, .btn-outline-dark:active, .btn-outline-dark.active, .btn-outline-dark.dropdown-toggle.show { + color: #fff; + background-color: #343a40; + border-color: #343a40; } + .btn-check:checked + .btn-outline-dark:focus, + .btn-check:active + .btn-outline-dark:focus, .btn-outline-dark:active:focus, .btn-outline-dark.active:focus, .btn-outline-dark.dropdown-toggle.show:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(52, 58, 64, 0.5); + box-shadow: 0 0 0 0.15rem rgba(52, 58, 64, 0.5); } + .btn-outline-dark:disabled, .btn-outline-dark.disabled { + color: #343a40; + background-color: transparent; } + +.btn-outline-purple { + color: #564ab1; + border-color: #564ab1; } + .btn-outline-purple:hover { + color: #fff; + background-color: #564ab1; + border-color: #564ab1; } + .btn-check:focus + .btn-outline-purple, .btn-outline-purple:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(86, 74, 177, 0.5); + box-shadow: 0 0 0 0.15rem rgba(86, 74, 177, 0.5); } + .btn-check:checked + .btn-outline-purple, + .btn-check:active + .btn-outline-purple, .btn-outline-purple:active, .btn-outline-purple.active, .btn-outline-purple.dropdown-toggle.show { + color: #fff; + background-color: #564ab1; + border-color: #564ab1; } + .btn-check:checked + .btn-outline-purple:focus, + .btn-check:active + .btn-outline-purple:focus, .btn-outline-purple:active:focus, .btn-outline-purple.active:focus, .btn-outline-purple.dropdown-toggle.show:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(86, 74, 177, 0.5); + box-shadow: 0 0 0 0.15rem rgba(86, 74, 177, 0.5); } + .btn-outline-purple:disabled, .btn-outline-purple.disabled { + color: #564ab1; + background-color: transparent; } + +.btn-link { + font-weight: 400; + color: #2e86de; + text-decoration: none; } + .btn-link:hover { + color: #025d91; } + .btn-link:disabled, .btn-link.disabled { + color: #74788d; } + +.btn-lg, .btn-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.125rem; + border-radius: 0.4rem; } + +.btn-sm, .btn-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.7875rem; + border-radius: 0.2rem; } + +.fade { + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; } + @media (prefers-reduced-motion: reduce) { + .fade { + -webkit-transition: none; + transition: none; } } + .fade:not(.show) { + opacity: 0; } + +.collapse:not(.show) { + display: none; } + +.collapsing { + height: 0; + overflow: hidden; + -webkit-transition: height 0.35s ease; + transition: height 0.35s ease; } + @media (prefers-reduced-motion: reduce) { + .collapsing { + -webkit-transition: none; + transition: none; } } + .collapsing.collapse-horizontal { + width: 0; + height: auto; + -webkit-transition: width 0.35s ease; + transition: width 0.35s ease; } + @media (prefers-reduced-motion: reduce) { + .collapsing.collapse-horizontal { + -webkit-transition: none; + transition: none; } } + +.dropup, +.dropend, +.dropdown, +.dropstart { + position: relative; } + +.dropdown-toggle { + white-space: nowrap; } + +.dropdown-menu { + position: absolute; + z-index: 1000; + display: none; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0; + font-size: 0.9rem; + color: #495057; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #e2e5e8; + border-radius: 0.25rem; } + .dropdown-menu[data-bs-popper] { + top: 100%; + left: 0; + margin-top: 0.125rem; } + +.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: 0.125rem; } + +.dropend .dropdown-menu[data-bs-popper] { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: 0.125rem; } + +.dropend .dropdown-toggle::after { + vertical-align: 0; } + +.dropstart .dropdown-menu[data-bs-popper] { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: 0.125rem; } + +.dropstart .dropdown-toggle::before { + vertical-align: 0; } + +.dropdown-divider { + height: 0; + margin: 0.5rem 0; + overflow: hidden; + border-top: 1px solid #e2e5e8; } + +.dropdown-item { + display: block; + width: 100%; + padding: 0.35rem 1.5rem; + clear: both; + font-weight: 400; + color: #495057; + text-align: inherit; + white-space: nowrap; + background-color: transparent; + border: 0; } + .dropdown-item:hover, .dropdown-item:focus { + color: #2c3034; + background-color: #f8f9fa; } + .dropdown-item.active, .dropdown-item:active { + color: #2c3034; + text-decoration: none; + background-color: #f8f9fa; } + .dropdown-item.disabled, .dropdown-item:disabled { + color: #74788d; + pointer-events: none; + background-color: transparent; } + +.dropdown-menu.show { + display: block; } + +.dropdown-header { + display: block; + padding: 0.5rem 1.5rem; + margin-bottom: 0; + font-size: 0.7875rem; + color: #74788d; + white-space: nowrap; } + +.dropdown-item-text { + display: block; + padding: 0.35rem 1.5rem; + color: #495057; } + +.dropdown-menu-dark { + color: #eff0f2; + background-color: #495057; + border-color: #e2e5e8; } + .dropdown-menu-dark .dropdown-item { + color: #eff0f2; } + .dropdown-menu-dark .dropdown-item:hover, .dropdown-menu-dark .dropdown-item:focus { + color: #fff; + background-color: #555d65; } + .dropdown-menu-dark .dropdown-item.active, .dropdown-menu-dark .dropdown-item:active { + color: #e2e5e8; + background-color: #555d65; } + .dropdown-menu-dark .dropdown-item.disabled, .dropdown-menu-dark .dropdown-item:disabled { + color: #eff0f2; } + .dropdown-menu-dark .dropdown-divider { + border-color: #e2e5e8; } + .dropdown-menu-dark .dropdown-item-text { + color: #eff0f2; } + .dropdown-menu-dark .dropdown-header { + color: #adb5bd; } + +.btn-group, +.btn-group-vertical { + position: relative; + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + vertical-align: middle; } + .btn-group > .btn, + .btn-group-vertical > .btn { + position: relative; + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; } + .btn-group > .btn-check:checked + .btn, + .btn-group > .btn-check:focus + .btn, + .btn-group > .btn:hover, + .btn-group > .btn:focus, + .btn-group > .btn:active, + .btn-group > .btn.active, + .btn-group-vertical > .btn-check:checked + .btn, + .btn-group-vertical > .btn-check:focus + .btn, + .btn-group-vertical > .btn:hover, + .btn-group-vertical > .btn:focus, + .btn-group-vertical > .btn:active, + .btn-group-vertical > .btn.active { + z-index: 1; } + +.btn-toolbar { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; } + .btn-toolbar .input-group { + width: auto; } + +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) { + margin-left: -1px; } + +.btn-group > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; } + +.btn-group > .btn:nth-child(n + 3), +.btn-group > :not(.btn-check) + .btn, +.btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; } + +.dropdown-toggle-split { + padding-right: 0.5625rem; + padding-left: 0.5625rem; } + .dropdown-toggle-split::after, + .dropup .dropdown-toggle-split::after, + .dropend .dropdown-toggle-split::after { + margin-left: 0; } + .dropstart .dropdown-toggle-split::before { + margin-right: 0; } + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; } + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.75rem; + padding-left: 0.75rem; } + +.btn-group-vertical { + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; } + .btn-group-vertical > .btn, + .btn-group-vertical > .btn-group { + width: 100%; } + .btn-group-vertical > .btn:not(:first-child), + .btn-group-vertical > .btn-group:not(:first-child) { + margin-top: -1px; } + .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), + .btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; } + .btn-group-vertical > .btn ~ .btn, + .btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.nav { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; } + +.nav-link { + display: block; + padding: 0.5rem 1rem; + color: #2e86de; + -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 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; } + @media (prefers-reduced-motion: reduce) { + .nav-link { + -webkit-transition: none; + transition: none; } } + .nav-link:hover, .nav-link:focus { + color: #025d91; } + .nav-link.disabled { + color: #74788d; + pointer-events: none; + cursor: default; } + +.nav-tabs { + border-bottom: 1px solid #e2e5e8; } + .nav-tabs .nav-link { + margin-bottom: -1px; + background: none; + border: 1px solid transparent; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; } + .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + border-color: #f5f6f8 #f5f6f8 #e2e5e8; + isolation: isolate; } + .nav-tabs .nav-link.disabled { + color: #74788d; + background-color: transparent; + border-color: transparent; } + .nav-tabs .nav-link.active, + .nav-tabs .nav-item.show .nav-link { + color: #495057; + background-color: #fff; + border-color: #e2e5e8 #e2e5e8 #fff; } + .nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; } + +.nav-pills .nav-link { + background: none; + border: 0; + border-radius: 0.25rem; } + +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: #fff; + background-color: #2e86de; } + +.nav-fill > .nav-link, +.nav-fill .nav-item { + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + text-align: center; } + +.nav-justified > .nav-link, +.nav-justified .nav-item { + -ms-flex-preferred-size: 0; + flex-basis: 0; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + 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 { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + padding-top: 0.5rem; + padding-bottom: 0.5rem; } + .navbar > .container, + .navbar > .container-fluid, .navbar > .container-sm, .navbar > .container-md, .navbar > .container-lg, .navbar > .container-xl, .navbar > .container-xxl { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: inherit; + flex-wrap: inherit; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; } + +.navbar-brand { + padding-top: 0.33125rem; + padding-bottom: 0.33125rem; + margin-right: 1rem; + font-size: 1.125rem; + white-space: nowrap; } + +.navbar-nav { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; } + .navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; } + .navbar-nav .dropdown-menu { + position: static; } + +.navbar-text { + padding-top: 0.5rem; + padding-bottom: 0.5rem; } + +.navbar-collapse { + -ms-flex-preferred-size: 100%; + flex-basis: 100%; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; } + +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.125rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.25rem; + -webkit-transition: -webkit-box-shadow 0.15s ease-in-out; + transition: -webkit-box-shadow 0.15s ease-in-out; + transition: box-shadow 0.15s ease-in-out; + transition: box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + .navbar-toggler { + -webkit-transition: none; + transition: none; } } + .navbar-toggler:hover { + text-decoration: none; } + .navbar-toggler:focus { + text-decoration: none; + outline: 0; + -webkit-box-shadow: 0 0 0 0.15rem; + box-shadow: 0 0 0 0.15rem; } + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + 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 { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; } + .navbar-expand-sm .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; } + .navbar-expand-sm .navbar-nav-scroll { + overflow: visible; } + .navbar-expand-sm .navbar-collapse { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; } + .navbar-expand-sm .navbar-toggler { + display: none; } + .navbar-expand-sm .offcanvas-header { + display: none; } + .navbar-expand-sm .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + -webkit-transition: none; + transition: none; + -webkit-transform: none; + transform: none; } + .navbar-expand-sm .offcanvas-top, + .navbar-expand-sm .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; } + .navbar-expand-sm .offcanvas-body { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 0; + -ms-flex-positive: 0; + flex-grow: 0; + padding: 0; + overflow-y: visible; } } + +@media (min-width: 768px) { + .navbar-expand-md { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; } + .navbar-expand-md .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; } + .navbar-expand-md .navbar-nav-scroll { + overflow: visible; } + .navbar-expand-md .navbar-collapse { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; } + .navbar-expand-md .navbar-toggler { + display: none; } + .navbar-expand-md .offcanvas-header { + display: none; } + .navbar-expand-md .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + -webkit-transition: none; + transition: none; + -webkit-transform: none; + transform: none; } + .navbar-expand-md .offcanvas-top, + .navbar-expand-md .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; } + .navbar-expand-md .offcanvas-body { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 0; + -ms-flex-positive: 0; + flex-grow: 0; + padding: 0; + overflow-y: visible; } } + +@media (min-width: 992px) { + .navbar-expand-lg { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; } + .navbar-expand-lg .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; } + .navbar-expand-lg .navbar-nav-scroll { + overflow: visible; } + .navbar-expand-lg .navbar-collapse { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; } + .navbar-expand-lg .navbar-toggler { + display: none; } + .navbar-expand-lg .offcanvas-header { + display: none; } + .navbar-expand-lg .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + -webkit-transition: none; + transition: none; + -webkit-transform: none; + transform: none; } + .navbar-expand-lg .offcanvas-top, + .navbar-expand-lg .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; } + .navbar-expand-lg .offcanvas-body { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 0; + -ms-flex-positive: 0; + flex-grow: 0; + padding: 0; + overflow-y: visible; } } + +@media (min-width: 1200px) { + .navbar-expand-xl { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; } + .navbar-expand-xl .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; } + .navbar-expand-xl .navbar-nav-scroll { + overflow: visible; } + .navbar-expand-xl .navbar-collapse { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; } + .navbar-expand-xl .navbar-toggler { + display: none; } + .navbar-expand-xl .offcanvas-header { + display: none; } + .navbar-expand-xl .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + -webkit-transition: none; + transition: none; + -webkit-transform: none; + transform: none; } + .navbar-expand-xl .offcanvas-top, + .navbar-expand-xl .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; } + .navbar-expand-xl .offcanvas-body { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 0; + -ms-flex-positive: 0; + flex-grow: 0; + padding: 0; + overflow-y: visible; } } + +@media (min-width: 1400px) { + .navbar-expand-xxl { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; } + .navbar-expand-xxl .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; } + .navbar-expand-xxl .navbar-nav .dropdown-menu { + position: absolute; } + .navbar-expand-xxl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; } + .navbar-expand-xxl .navbar-nav-scroll { + overflow: visible; } + .navbar-expand-xxl .navbar-collapse { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; } + .navbar-expand-xxl .navbar-toggler { + display: none; } + .navbar-expand-xxl .offcanvas-header { + display: none; } + .navbar-expand-xxl .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + -webkit-transition: none; + transition: none; + -webkit-transform: none; + transform: none; } + .navbar-expand-xxl .offcanvas-top, + .navbar-expand-xxl .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; } + .navbar-expand-xxl .offcanvas-body { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 0; + -ms-flex-positive: 0; + flex-grow: 0; + padding: 0; + overflow-y: visible; } } + +.navbar-expand { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; } + .navbar-expand .navbar-nav { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; } + .navbar-expand .navbar-nav .dropdown-menu { + position: absolute; } + .navbar-expand .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; } + .navbar-expand .navbar-nav-scroll { + overflow: visible; } + .navbar-expand .navbar-collapse { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; } + .navbar-expand .navbar-toggler { + display: none; } + .navbar-expand .offcanvas-header { + display: none; } + .navbar-expand .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + -webkit-transition: none; + transition: none; + -webkit-transform: none; + transform: none; } + .navbar-expand .offcanvas-top, + .navbar-expand .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; } + .navbar-expand .offcanvas-body { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 0; + -ms-flex-positive: 0; + flex-grow: 0; + padding: 0; + overflow-y: visible; } + +.navbar-light .navbar-brand { + color: rgba(0, 0, 0, 0.9); } + .navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { + color: rgba(0, 0, 0, 0.9); } + +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.55); } + .navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { + color: rgba(0, 0, 0, 0.7); } + .navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); } + +.navbar-light .navbar-nav .show > .nav-link, +.navbar-light .navbar-nav .nav-link.active { + color: rgba(0, 0, 0, 0.9); } + +.navbar-light .navbar-toggler { + color: rgba(0, 0, 0, 0.55); + border-color: rgba(0, 0, 0, 0.1); } + +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); } + +.navbar-light .navbar-text { + color: rgba(0, 0, 0, 0.55); } + .navbar-light .navbar-text a, + .navbar-light .navbar-text a:hover, + .navbar-light .navbar-text a:focus { + color: rgba(0, 0, 0, 0.9); } + +.navbar-dark .navbar-brand { + color: #fff; } + .navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { + color: #fff; } + +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.55); } + .navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { + color: rgba(255, 255, 255, 0.75); } + .navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); } + +.navbar-dark .navbar-nav .show > .nav-link, +.navbar-dark .navbar-nav .nav-link.active { + color: #fff; } + +.navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.55); + border-color: rgba(255, 255, 255, 0.1); } + +.navbar-dark .navbar-toggler-icon { + background-image: 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"); } + +.navbar-dark .navbar-text { + color: rgba(255, 255, 255, 0.55); } + .navbar-dark .navbar-text a, + .navbar-dark .navbar-text a:hover, + .navbar-dark .navbar-text a:focus { + color: #fff; } + +.card { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid #eff0f2; + border-radius: 0.25rem; } + .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: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); } + .card > .list-group:last-child { + border-bottom-width: 0; + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); } + .card > .card-header + .list-group, + .card > .list-group + .card-footer { + border-top: 0; } + +.card-body { + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + padding: 1.25rem 1.25rem; } + +.card-title { + margin-bottom: 0.5rem; } + +.card-subtitle { + margin-top: -0.25rem; + margin-bottom: 0; } + +.card-text:last-child { + margin-bottom: 0; } + +.card-link + .card-link { + margin-left: 1.25rem; } + +.card-header { + padding: 1rem 1.25rem; + margin-bottom: 0; + background-color: #fff; + border-bottom: 1px solid #eff0f2; } + .card-header:first-child { + border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; } + +.card-footer { + padding: 1rem 1.25rem; + background-color: #fff; + border-top: 1px solid #eff0f2; } + .card-footer:last-child { + border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); } + +.card-header-tabs { + margin-right: -0.625rem; + margin-bottom: -1rem; + margin-left: -0.625rem; + border-bottom: 0; } + +.card-header-pills { + margin-right: -0.625rem; + margin-left: -0.625rem; } + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1rem; + border-radius: calc(0.25rem - 1px); } + +.card-img, +.card-img-top, +.card-img-bottom { + width: 100%; } + +.card-img, +.card-img-top { + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); } + +.card-img, +.card-img-bottom { + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); } + +.card-group > .card { + margin-bottom: 10px; } + +@media (min-width: 576px) { + .card-group { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-flow: row wrap; + flex-flow: row wrap; } + .card-group > .card { + -webkit-box-flex: 1; + -ms-flex: 1 0 0%; + flex: 1 0 0%; + margin-bottom: 0; } + .card-group > .card + .card { + margin-left: 0; + border-left: 0; } + .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; } + .card-group > .card:not(:last-child) .card-img-top, + .card-group > .card:not(:last-child) .card-header { + border-top-right-radius: 0; } + .card-group > .card:not(:last-child) .card-img-bottom, + .card-group > .card:not(:last-child) .card-footer { + border-bottom-right-radius: 0; } + .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; } + .card-group > .card:not(:first-child) .card-img-top, + .card-group > .card:not(:first-child) .card-header { + border-top-left-radius: 0; } + .card-group > .card:not(:first-child) .card-img-bottom, + .card-group > .card:not(:first-child) .card-footer { + border-bottom-left-radius: 0; } } + +.accordion-button { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + width: 100%; + padding: 1rem 1.25rem; + font-size: 0.9rem; + color: #495057; + text-align: left; + background-color: transparent; + border: 0; + border-radius: 0; + overflow-anchor: none; + -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, border-radius 0.15s ease, -webkit-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, border-radius 0.15s ease, -webkit-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, border-radius 0.15s ease; + 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, -webkit-box-shadow 0.15s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + .accordion-button { + -webkit-transition: none; + transition: none; } } + .accordion-button:not(.collapsed) { + color: #0380c6; + background-color: #e6f4fc; + -webkit-box-shadow: inset 0 -1px 0 #eff0f2; + box-shadow: inset 0 -1px 0 #eff0f2; } + .accordion-button:not(.collapsed)::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230380c6'%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"); + -webkit-transform: rotate(180deg); + transform: rotate(180deg); } + .accordion-button::after { + -ms-flex-negative: 0; + flex-shrink: 0; + width: 14px; + height: 14px; + margin-left: auto; + content: ""; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23495057'%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"); + background-repeat: no-repeat; + background-size: 14px; + -webkit-transition: -webkit-transform 0.2s ease-in-out; + transition: -webkit-transform 0.2s ease-in-out; + transition: transform 0.2s ease-in-out; + transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + .accordion-button::after { + -webkit-transition: none; + transition: none; } } + .accordion-button:hover { + z-index: 2; } + .accordion-button:focus { + z-index: 3; + border-color: #cbced1; + outline: 0; + -webkit-box-shadow: none; + box-shadow: none; } + +.accordion-header { + margin-bottom: 0; } + +.accordion-item { + background-color: transparent; + border: 1px solid #eff0f2; } + .accordion-item:first-of-type { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; } + .accordion-item:first-of-type .accordion-button { + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); } + .accordion-item:not(:first-of-type) { + border-top: 0; } + .accordion-item:last-of-type { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; } + .accordion-item:last-of-type .accordion-button.collapsed { + border-bottom-right-radius: calc(0.25rem - 1px); + border-bottom-left-radius: calc(0.25rem - 1px); } + .accordion-item:last-of-type .accordion-collapse { + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; } + +.accordion-body { + padding: 1rem 1.25rem; } + +.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 { + border-radius: 0; } + +.breadcrumb { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding: 0 0; + margin-bottom: 1rem; + list-style: none; } + +.breadcrumb-item + .breadcrumb-item { + padding-left: 0.5rem; } + .breadcrumb-item + .breadcrumb-item::before { + float: left; + padding-right: 0.5rem; + color: #74788d; + content: var(--bs-breadcrumb-divider, "󰅂") /* rtl: var(--bs-breadcrumb-divider, "󰅂") */; } + +.breadcrumb-item.active { + color: #74788d; } + +.pagination { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + padding-left: 0; + list-style: none; } + +.page-link { + position: relative; + display: block; + color: #74788d; + background-color: #fff; + border: 1px solid #e2e5e8; + -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-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, -webkit-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; + 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, -webkit-box-shadow 0.15s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + .page-link { + -webkit-transition: none; + transition: none; } } + .page-link:hover { + z-index: 2; + color: #025d91; + background-color: #f5f6f8; + border-color: #e2e5e8; } + .page-link:focus { + z-index: 3; + color: #025d91; + background-color: #f5f6f8; + outline: 0; + -webkit-box-shadow: none; + box-shadow: none; } + +.page-item:not(:first-child) .page-link { + margin-left: -1px; } + +.page-item.active .page-link { + z-index: 3; + color: #fff; + background-color: #2e86de; + border-color: #2e86de; } + +.page-item.disabled .page-link { + color: #adb5bd; + pointer-events: none; + background-color: #f8f9fa; + border-color: #e2e5e8; } + +.page-link { + padding: 0.375rem 0.75rem; } + +.page-item:first-child .page-link { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; } + +.page-item:last-child .page-link { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; } + +.pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 1.125rem; } + +.pagination-lg .page-item:first-child .page-link { + border-top-left-radius: 0.4rem; + border-bottom-left-radius: 0.4rem; } + +.pagination-lg .page-item:last-child .page-link { + border-top-right-radius: 0.4rem; + border-bottom-right-radius: 0.4rem; } + +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.7875rem; } + +.pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 0.2rem; + border-bottom-left-radius: 0.2rem; } + +.pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; } + +.badge { + display: inline-block; + padding: 0.25em 0.6em; + font-size: 75%; + font-weight: 500; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.25rem; } + .badge:empty { + display: none; } + +.btn .badge { + position: relative; + top: -1px; } + +.alert { + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; } + +.alert-heading { + color: inherit; } + +.alert-link { + font-weight: 700; } + +.alert-dismissible { + padding-right: 3.75rem; } + .alert-dismissible .btn-close { + position: absolute; + top: 0; + right: 0; + z-index: 2; + padding: 0.9375rem 1.25rem; } + +.alert-primary { + color: #025584; + background-color: #cde8f8; + border-color: #b3ddf5; } + .alert-primary .alert-link { + color: #02446a; } + +.alert-secondary { + color: #464855; + background-color: #e3e4e8; + border-color: #d5d7dd; } + .alert-secondary .alert-link { + color: #383a44; } + +.alert-success { + color: #317e54; + background-color: #dcf6e8; + border-color: #cbf2dd; } + .alert-success .alert-link { + color: #276543; } + +.alert-info { + color: #397d92; + background-color: #dff6fd; + border-color: #cff1fb; } + .alert-info .alert-link { + color: #2e6475; } + +.alert-warning { + color: #947a32; + background-color: #fdf5dd; + border-color: #fdf0cb; } + .alert-warning .alert-link { + color: #766228; } + +.alert-danger { + color: #922f2f; + background-color: #fddcdc; + border-color: #fbcaca; } + .alert-danger .alert-link { + color: #752626; } + +.alert-pink { + color: #8b2554; + background-color: #fad8e8; + border-color: #f8c5dd; } + .alert-pink .alert-link { + color: #6f1e43; } + +.alert-light { + color: #939495; + background-color: #fdfdfe; + border-color: #fcfcfd; } + .alert-light .alert-link { + color: #767677; } + +.alert-dark { + color: #1f2326; + background-color: #d6d8d9; + border-color: #c2c4c6; } + .alert-dark .alert-link { + color: #191c1e; } + +.alert-purple { + color: #342c6a; + background-color: #dddbef; + border-color: #ccc9e8; } + .alert-purple .alert-link { + color: #2a2355; } + +@-webkit-keyframes progress-bar-stripes { + 0% { + background-position-x: 0.625rem; } } + +@keyframes progress-bar-stripes { + 0% { + background-position-x: 0.625rem; } } + +.progress { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + height: 0.625rem; + overflow: hidden; + font-size: 0.675rem; + background-color: #f5f6f8; + border-radius: 0.25rem; } + +.progress-bar { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + overflow: hidden; + color: #fff; + text-align: center; + white-space: nowrap; + background-color: #2e86de; + -webkit-transition: width 0.6s ease; + transition: width 0.6s ease; } + @media (prefers-reduced-motion: reduce) { + .progress-bar { + -webkit-transition: none; + 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: 0.625rem 0.625rem; } + +.progress-bar-animated { + -webkit-animation: 1s linear infinite progress-bar-stripes; + animation: 1s linear infinite progress-bar-stripes; } + @media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + -webkit-animation: none; + animation: none; } } + +.list-group { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + border-radius: 0.25rem; } + +.list-group-numbered { + list-style-type: none; + counter-reset: section; } + .list-group-numbered > li::before { + content: counters(section, ".") ". "; + counter-increment: section; } + +.list-group-item-action { + width: 100%; + color: #495057; + text-align: inherit; } + .list-group-item-action:hover, .list-group-item-action:focus { + z-index: 1; + color: #495057; + text-decoration: none; + background-color: #f8f9fa; } + .list-group-item-action:active { + color: #495057; + background-color: #f5f6f8; } + +.list-group-item { + position: relative; + display: block; + padding: 0.75rem 1.25rem; + color: #212529; + background-color: #fff; + border: 1px solid #eff0f2; } + .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: #74788d; + pointer-events: none; + background-color: #fff; } + .list-group-item.active { + z-index: 2; + color: #fff; + background-color: #2e86de; + border-color: #2e86de; } + .list-group-item + .list-group-item { + border-top-width: 0; } + .list-group-item + .list-group-item.active { + margin-top: -1px; + border-top-width: 1px; } + +.list-group-horizontal { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; } + .list-group-horizontal > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; } + .list-group-horizontal > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + 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: 1px; + border-left-width: 0; } + .list-group-horizontal > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; } + +@media (min-width: 576px) { + .list-group-horizontal-sm { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; } + .list-group-horizontal-sm > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; } + .list-group-horizontal-sm > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + 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: 1px; + border-left-width: 0; } + .list-group-horizontal-sm > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; } } + +@media (min-width: 768px) { + .list-group-horizontal-md { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; } + .list-group-horizontal-md > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; } + .list-group-horizontal-md > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + 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: 1px; + border-left-width: 0; } + .list-group-horizontal-md > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; } } + +@media (min-width: 992px) { + .list-group-horizontal-lg { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; } + .list-group-horizontal-lg > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; } + .list-group-horizontal-lg > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + 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: 1px; + border-left-width: 0; } + .list-group-horizontal-lg > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; } } + +@media (min-width: 1200px) { + .list-group-horizontal-xl { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; } + .list-group-horizontal-xl > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; } + .list-group-horizontal-xl > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + 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: 1px; + border-left-width: 0; } + .list-group-horizontal-xl > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; } } + +@media (min-width: 1400px) { + .list-group-horizontal-xxl { + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; } + .list-group-horizontal-xxl > .list-group-item:first-child { + border-bottom-left-radius: 0.25rem; + border-top-right-radius: 0; } + .list-group-horizontal-xxl > .list-group-item:last-child { + border-top-right-radius: 0.25rem; + 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: 1px; + border-left-width: 0; } + .list-group-horizontal-xxl > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; } } + +.list-group-flush { + border-radius: 0; } + .list-group-flush > .list-group-item { + border-width: 0 0 1px; } + .list-group-flush > .list-group-item:last-child { + border-bottom-width: 0; } + +.list-group-item-primary { + color: #025584; + background-color: #cde8f8; } + .list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { + color: #025584; + background-color: #b9d1df; } + .list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #025584; + border-color: #025584; } + +.list-group-item-secondary { + color: #464855; + background-color: #e3e4e8; } + .list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { + color: #464855; + background-color: #cccdd1; } + .list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #464855; + border-color: #464855; } + +.list-group-item-success { + color: #317e54; + background-color: #dcf6e8; } + .list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { + color: #317e54; + background-color: #c6ddd1; } + .list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #317e54; + border-color: #317e54; } + +.list-group-item-info { + color: #397d92; + background-color: #dff6fd; } + .list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { + color: #397d92; + background-color: #c9dde4; } + .list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #397d92; + border-color: #397d92; } + +.list-group-item-warning { + color: #947a32; + background-color: #fdf5dd; } + .list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { + color: #947a32; + background-color: #e4ddc7; } + .list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #947a32; + border-color: #947a32; } + +.list-group-item-danger { + color: #922f2f; + background-color: #fddcdc; } + .list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { + color: #922f2f; + background-color: #e4c6c6; } + .list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #922f2f; + border-color: #922f2f; } + +.list-group-item-pink { + color: #8b2554; + background-color: #fad8e8; } + .list-group-item-pink.list-group-item-action:hover, .list-group-item-pink.list-group-item-action:focus { + color: #8b2554; + background-color: #e1c2d1; } + .list-group-item-pink.list-group-item-action.active { + color: #fff; + background-color: #8b2554; + border-color: #8b2554; } + +.list-group-item-light { + color: #939495; + background-color: #fdfdfe; } + .list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { + color: #939495; + background-color: #e4e4e5; } + .list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #939495; + border-color: #939495; } + +.list-group-item-dark { + color: #1f2326; + background-color: #d6d8d9; } + .list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { + color: #1f2326; + background-color: #c1c2c3; } + .list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #1f2326; + border-color: #1f2326; } + +.list-group-item-purple { + color: #342c6a; + background-color: #dddbef; } + .list-group-item-purple.list-group-item-action:hover, .list-group-item-purple.list-group-item-action:focus { + color: #342c6a; + background-color: #c7c5d7; } + .list-group-item-purple.list-group-item-action.active { + color: #fff; + background-color: #342c6a; + border-color: #342c6a; } + +.btn-close { + -webkit-box-sizing: content-box; + box-sizing: content-box; + width: 1em; + height: 1em; + padding: 0.25em 0.25em; + color: #000; + background: transparent 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 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat; + border: 0; + border-radius: 0.25rem; + opacity: 0.5; } + .btn-close:hover { + color: #000; + text-decoration: none; + opacity: 0.75; } + .btn-close:focus { + outline: 0; + -webkit-box-shadow: none; + box-shadow: none; + opacity: 1; } + .btn-close:disabled, .btn-close.disabled { + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + opacity: 0.25; } + +.btn-close-white { + -webkit-filter: invert(1) grayscale(100%) brightness(200%); + filter: invert(1) grayscale(100%) brightness(200%); } + +.toast { + width: 350px; + max-width: 100%; + font-size: 0.875rem; + pointer-events: auto; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 2px 3px rgba(52, 58, 64, 0.06); + box-shadow: 0 2px 3px rgba(52, 58, 64, 0.06); + border-radius: 0.25rem; } + .toast.showing { + opacity: 0; } + .toast:not(.show) { + display: none; } + +.toast-container { + width: -webkit-max-content; + width: -moz-max-content; + width: max-content; + max-width: 100%; + pointer-events: none; } + .toast-container > :not(:last-child) { + margin-bottom: 10px; } + +.toast-header { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + padding: 0.5rem 0.75rem; + color: #74788d; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border-bottom: 1px solid rgba(0, 0, 0, 0.05); + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); } + .toast-header .btn-close { + margin-right: -0.375rem; + margin-left: 0.75rem; } + +.toast-body { + padding: 0.75rem; + word-wrap: break-word; } + +.modal { + position: fixed; + top: 0; + left: 0; + z-index: 1055; + display: none; + width: 100%; + height: 100%; + overflow-x: hidden; + overflow-y: auto; + outline: 0; } + +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; } + .modal.fade .modal-dialog { + -webkit-transition: -webkit-transform 0.3s ease-out; + transition: -webkit-transform 0.3s ease-out; + transition: transform 0.3s ease-out; + transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out; + -webkit-transform: translate(0, -50px); + transform: translate(0, -50px); } + @media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + -webkit-transition: none; + transition: none; } } + .modal.show .modal-dialog { + -webkit-transform: none; + transform: none; } + .modal.modal-static .modal-dialog { + -webkit-transform: scale(1.02); + transform: scale(1.02); } + +.modal-dialog-scrollable { + height: calc(100% - 1rem); } + .modal-dialog-scrollable .modal-content { + max-height: 100%; + overflow: hidden; } + .modal-dialog-scrollable .modal-body { + overflow-y: auto; } + +.modal-dialog-centered { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + min-height: calc(100% - 1rem); } + +.modal-content { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #eff0f2; + border-radius: 0.4rem; + outline: 0; } + +.modal-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1050; + width: 100vw; + height: 100vh; + background-color: #000; } + .modal-backdrop.fade { + opacity: 0; } + .modal-backdrop.show { + opacity: 0.5; } + +.modal-header { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-negative: 0; + flex-shrink: 0; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 1rem 1rem; + border-bottom: 1px solid #eff0f2; + border-top-left-radius: calc(0.4rem - 1px); + border-top-right-radius: calc(0.4rem - 1px); } + .modal-header .btn-close { + padding: 0.5rem 0.5rem; + margin: -0.5rem -0.5rem -0.5rem auto; } + +.modal-title { + margin-bottom: 0; + line-height: 1.5; } + +.modal-body { + position: relative; + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + padding: 1rem; } + +.modal-footer { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-negative: 0; + flex-shrink: 0; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: end; + -ms-flex-pack: end; + justify-content: flex-end; + padding: 0.75rem; + border-top: 1px solid #eff0f2; + border-bottom-right-radius: calc(0.4rem - 1px); + border-bottom-left-radius: calc(0.4rem - 1px); } + .modal-footer > * { + margin: 0.25rem; } + +@media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; } + .modal-dialog-scrollable { + height: calc(100% - 3.5rem); } + .modal-dialog-centered { + min-height: calc(100% - 3.5rem); } + .modal-sm { + max-width: 300px; } } + +@media (min-width: 992px) { + .modal-lg, + .modal-xl { + max-width: 800px; } } + +@media (min-width: 1200px) { + .modal-xl { + max-width: 1140px; } } + +.modal-fullscreen { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; } + .modal-fullscreen .modal-content { + height: 100%; + border: 0; + border-radius: 0; } + .modal-fullscreen .modal-header { + border-radius: 0; } + .modal-fullscreen .modal-body { + overflow-y: auto; } + .modal-fullscreen .modal-footer { + border-radius: 0; } + +@media (max-width: 575.98px) { + .modal-fullscreen-sm-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; } + .modal-fullscreen-sm-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; } + .modal-fullscreen-sm-down .modal-header { + border-radius: 0; } + .modal-fullscreen-sm-down .modal-body { + overflow-y: auto; } + .modal-fullscreen-sm-down .modal-footer { + border-radius: 0; } } + +@media (max-width: 767.98px) { + .modal-fullscreen-md-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; } + .modal-fullscreen-md-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; } + .modal-fullscreen-md-down .modal-header { + border-radius: 0; } + .modal-fullscreen-md-down .modal-body { + overflow-y: auto; } + .modal-fullscreen-md-down .modal-footer { + border-radius: 0; } } + +@media (max-width: 991.98px) { + .modal-fullscreen-lg-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; } + .modal-fullscreen-lg-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; } + .modal-fullscreen-lg-down .modal-header { + border-radius: 0; } + .modal-fullscreen-lg-down .modal-body { + overflow-y: auto; } + .modal-fullscreen-lg-down .modal-footer { + border-radius: 0; } } + +@media (max-width: 1199.98px) { + .modal-fullscreen-xl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; } + .modal-fullscreen-xl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; } + .modal-fullscreen-xl-down .modal-header { + border-radius: 0; } + .modal-fullscreen-xl-down .modal-body { + overflow-y: auto; } + .modal-fullscreen-xl-down .modal-footer { + border-radius: 0; } } + +@media (max-width: 1399.98px) { + .modal-fullscreen-xxl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; } + .modal-fullscreen-xxl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; } + .modal-fullscreen-xxl-down .modal-header { + border-radius: 0; } + .modal-fullscreen-xxl-down .modal-body { + overflow-y: auto; } + .modal-fullscreen-xxl-down .modal-footer { + border-radius: 0; } } + +.tooltip { + position: absolute; + z-index: 999; + display: block; + margin: 0; + font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + 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; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.7875rem; + word-wrap: break-word; + opacity: 0; } + .tooltip.show { + opacity: 0.9; } + .tooltip .tooltip-arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; } + .tooltip .tooltip-arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; } + +.bs-tooltip-top, .bs-tooltip-auto[data-popper-placement^="top"] { + padding: 0.4rem 0; } + .bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow { + bottom: 0; } + .bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before { + top: -1px; + border-width: 0.4rem 0.4rem 0; + border-top-color: #000; } + +.bs-tooltip-end, .bs-tooltip-auto[data-popper-placement^="right"] { + padding: 0 0.4rem; } + .bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow { + left: 0; + width: 0.4rem; + height: 0.8rem; } + .bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before { + right: -1px; + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: #000; } + +.bs-tooltip-bottom, .bs-tooltip-auto[data-popper-placement^="bottom"] { + padding: 0.4rem 0; } + .bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow { + top: 0; } + .bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before { + bottom: -1px; + border-width: 0 0.4rem 0.4rem; + border-bottom-color: #000; } + +.bs-tooltip-start, .bs-tooltip-auto[data-popper-placement^="left"] { + padding: 0 0.4rem; } + .bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow { + right: 0; + width: 0.4rem; + height: 0.8rem; } + .bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before { + left: -1px; + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: #000; } + +.tooltip-inner { + max-width: 200px; + padding: 0.4rem 0.7rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.25rem; } + +.popover { + position: absolute; + top: 0; + left: 0 /* rtl:ignore */; + z-index: 999; + display: block; + max-width: 276px; + font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + 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; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.7875rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #e2e5e8; + border-radius: 0.4rem; } + .popover .popover-arrow { + position: absolute; + display: block; + width: 1rem; + height: 0.5rem; } + .popover .popover-arrow::before, .popover .popover-arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; } + +.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow { + bottom: calc(-0.5rem - 1px); } + .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::before { + bottom: 0; + border-width: 0.5rem 0.5rem 0; + border-top-color: #e2e5e8; } + .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::after { + bottom: 1px; + border-width: 0.5rem 0.5rem 0; + border-top-color: #fff; } + +.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow { + left: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; } + .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::before { + left: 0; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: #e2e5e8; } + .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::after { + left: 1px; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: #fff; } + +.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow { + top: calc(-0.5rem - 1px); } + .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::before { + top: 0; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: #e2e5e8; } + .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::after { + top: 1px; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: #fff; } + +.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^="bottom"] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 1rem; + margin-left: -0.5rem; + content: ""; + border-bottom: 1px solid #f0f0f0; } + +.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow { + right: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; } + .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::before { + right: 0; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: #e2e5e8; } + .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::after { + right: 1px; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: #fff; } + +.popover-header { + padding: 0.5rem 0.75rem; + margin-bottom: 0; + font-size: 0.9rem; + background-color: #f0f0f0; + border-bottom: 1px solid #e2e5e8; + border-top-left-radius: calc(0.4rem - 1px); + border-top-right-radius: calc(0.4rem - 1px); } + .popover-header:empty { + display: none; } + +.popover-body { + padding: 0.5rem 0.75rem; + color: #495057; } + +.carousel { + position: relative; } + +.carousel.pointer-event { + -ms-touch-action: pan-y; + 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; + -webkit-transition: -webkit-transform 0.6s ease-in-out; + transition: -webkit-transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + .carousel-item { + -webkit-transition: none; + transition: none; } } + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; } + +/* rtl:begin:ignore */ +.carousel-item-next:not(.carousel-item-start), +.active.carousel-item-end { + -webkit-transform: translateX(100%); + transform: translateX(100%); } + +.carousel-item-prev:not(.carousel-item-end), +.active.carousel-item-start { + -webkit-transform: translateX(-100%); + transform: translateX(-100%); } + +/* rtl:end:ignore */ +.carousel-fade .carousel-item { + opacity: 0; + -webkit-transition-property: opacity; + transition-property: opacity; + -webkit-transform: none; + transform: none; } + +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-start, +.carousel-fade .carousel-item-prev.carousel-item-end { + z-index: 1; + opacity: 1; } + +.carousel-fade .active.carousel-item-start, +.carousel-fade .active.carousel-item-end { + z-index: 0; + opacity: 0; + -webkit-transition: opacity 0s 0.6s; + transition: opacity 0s 0.6s; } + @media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-start, + .carousel-fade .active.carousel-item-end { + -webkit-transition: none; + transition: none; } } + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + width: 15%; + padding: 0; + color: #fff; + text-align: center; + background: none; + border: 0; + opacity: 0.5; + -webkit-transition: opacity 0.15s ease; + transition: opacity 0.15s ease; } + @media (prefers-reduced-motion: reduce) { + .carousel-control-prev, + .carousel-control-next { + -webkit-transition: none; + transition: none; } } + .carousel-control-prev:hover, .carousel-control-prev:focus, + .carousel-control-next:hover, + .carousel-control-next:focus { + color: #fff; + text-decoration: none; + outline: 0; + opacity: 0.9; } + +.carousel-control-prev { + left: 0; } + +.carousel-control-next { + right: 0; } + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 1rem; + height: 1rem; + background-repeat: no-repeat; + background-position: 50%; + background-size: 100% 100%; } + +/* rtl:options: { + "autoRename": true, + "stringMap":[ { + "name" : "prev-next", + "search" : "prev", + "replace" : "next" + } ] +} */ +.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: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + padding: 0; + margin-right: 15%; + margin-bottom: 1rem; + margin-left: 15%; + list-style: none; } + .carousel-indicators [data-bs-target] { + -webkit-box-sizing: content-box; + box-sizing: content-box; + -webkit-box-flex: 0; + -ms-flex: 0 1 auto; + 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; + -webkit-transition: opacity 0.6s ease; + transition: opacity 0.6s ease; } + @media (prefers-reduced-motion: reduce) { + .carousel-indicators [data-bs-target] { + -webkit-transition: none; + transition: none; } } + .carousel-indicators .active { + opacity: 1; } + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 1.25rem; + left: 15%; + padding-top: 1.25rem; + padding-bottom: 1.25rem; + color: #fff; + text-align: center; } + +.carousel-dark .carousel-control-prev-icon, +.carousel-dark .carousel-control-next-icon { + -webkit-filter: invert(1) grayscale(100); + filter: invert(1) grayscale(100); } + +.carousel-dark .carousel-indicators [data-bs-target] { + background-color: #000; } + +.carousel-dark .carousel-caption { + color: #000; } + +@-webkit-keyframes spinner-border { + to { + -webkit-transform: rotate(360deg) /* rtl:ignore */; + transform: rotate(360deg) /* rtl:ignore */; } } + +@keyframes spinner-border { + to { + -webkit-transform: rotate(360deg) /* rtl:ignore */; + transform: rotate(360deg) /* rtl:ignore */; } } + +.spinner-border { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: -0.125em; + border: 0.25em solid currentColor; + border-right-color: transparent; + border-radius: 50%; + -webkit-animation: 0.75s linear infinite spinner-border; + animation: 0.75s linear infinite spinner-border; } + +.spinner-border-sm { + width: 1rem; + height: 1rem; + border-width: 0.2em; } + +@-webkit-keyframes spinner-grow { + 0% { + -webkit-transform: scale(0); + transform: scale(0); } + 50% { + opacity: 1; + -webkit-transform: none; + transform: none; } } + +@keyframes spinner-grow { + 0% { + -webkit-transform: scale(0); + transform: scale(0); } + 50% { + opacity: 1; + -webkit-transform: none; + transform: none; } } + +.spinner-grow { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: -0.125em; + background-color: currentColor; + border-radius: 50%; + opacity: 0; + -webkit-animation: 0.75s linear infinite spinner-grow; + animation: 0.75s linear infinite spinner-grow; } + +.spinner-grow-sm { + width: 1rem; + height: 1rem; } + +@media (prefers-reduced-motion: reduce) { + .spinner-border, + .spinner-grow { + -webkit-animation-duration: 1.5s; + animation-duration: 1.5s; } } + +.offcanvas { + position: fixed; + bottom: 0; + z-index: 1045; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + max-width: 100%; + visibility: hidden; + background-color: #fff; + background-clip: padding-box; + outline: 0; + -webkit-transition: -webkit-transform 0.3s ease-in-out; + transition: -webkit-transform 0.3s ease-in-out; + transition: transform 0.3s ease-in-out; + transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out; } + @media (prefers-reduced-motion: reduce) { + .offcanvas { + -webkit-transition: none; + transition: none; } } + +.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: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 1rem 1rem; } + .offcanvas-header .btn-close { + padding: 0.5rem 0.5rem; + margin-top: -0.5rem; + margin-right: -0.5rem; + margin-bottom: -0.5rem; } + +.offcanvas-title { + margin-bottom: 0; + line-height: 1.5; } + +.offcanvas-body { + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + padding: 1rem 1rem; + overflow-y: auto; } + +.offcanvas-start { + top: 0; + left: 0; + width: 400px; + border-right: 1px solid #eff0f2; + -webkit-transform: translateX(-100%); + transform: translateX(-100%); } + +.offcanvas-end { + top: 0; + right: 0; + width: 400px; + border-left: 1px solid #eff0f2; + -webkit-transform: translateX(100%); + transform: translateX(100%); } + +.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: 30vh; + max-height: 100%; + border-bottom: 1px solid #eff0f2; + -webkit-transform: translateY(-100%); + transform: translateY(-100%); } + +.offcanvas-bottom { + right: 0; + left: 0; + height: 30vh; + max-height: 100%; + border-top: 1px solid #eff0f2; + -webkit-transform: translateY(100%); + transform: translateY(100%); +} + +.fullPageH { + height: 100% !important; +} + +.fullPageW { + width: 100% !important; +} +.offcanvas.show { + -webkit-transform: none; + transform: none; } + +.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: .6em; } + +.placeholder-sm { + min-height: .8em; } + +.placeholder-lg { + min-height: 1.2em; } + +.placeholder-glow .placeholder { + -webkit-animation: placeholder-glow 2s ease-in-out infinite; + animation: placeholder-glow 2s ease-in-out infinite; } + +@-webkit-keyframes placeholder-glow { + 50% { + opacity: 0.2; } } + +@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%; + -webkit-animation: placeholder-wave 2s linear infinite; + animation: placeholder-wave 2s linear infinite; } + +@-webkit-keyframes placeholder-wave { + 100% { + -webkit-mask-position: -200% 0%; + mask-position: -200% 0%; } } + +@keyframes placeholder-wave { + 100% { + -webkit-mask-position: -200% 0%; + mask-position: -200% 0%; } } + +.clearfix::after { + display: block; + clear: both; + content: ""; } + +.link-primary { + color: #2e86de; } + .link-primary:hover, .link-primary:focus { + color: #0272b0; } + +.link-secondary { + color: #74788d; } + .link-secondary:hover, .link-secondary:focus { + color: #5d6071; } + +.link-success { + color: #51d28c; } + .link-success:hover, .link-success:focus { + color: #41a870; } + +.link-info { + color: #5fd0f3; } + .link-info:hover, .link-info:focus { + color: #4ca6c2; } + +.link-warning { + color: #f7cc53; } + .link-warning:hover, .link-warning:focus { + color: #f9d675; } + +.link-danger { + color: #f34e4e; } + .link-danger:hover, .link-danger:focus { + color: #c23e3e; } + +.link-pink { + color: #e83e8c; } + .link-pink:hover, .link-pink:focus { + color: #ba3270; } + +.link-light { + color: #f5f6f8; } + .link-light:hover, .link-light:focus { + color: #f7f8f9; } + +.link-dark { + color: #343a40; } + .link-dark:hover, .link-dark:focus { + color: #2a2e33; } + +.link-purple { + color: #564ab1; } + .link-purple:hover, .link-purple:focus { + color: #453b8e; } + +.ratio { + position: relative; + width: 100%; } + .ratio::before { + display: block; + padding-top: var(--bs-aspect-ratio); + content: ""; } + .ratio > * { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; } + +.ratio-1x1 { + --bs-aspect-ratio: 100%; } + +.ratio-4x3 { + --bs-aspect-ratio: calc(3 / 4 * 100%); } + +.ratio-16x9 { + --bs-aspect-ratio: calc(9 / 16 * 100%); } + +.ratio-21x9 { + --bs-aspect-ratio: calc(9 / 21 * 100%); } + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; } + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; } + +.sticky-top { + position: sticky; + top: 0; + z-index: 1020; } + +@media (min-width: 576px) { + .sticky-sm-top { + position: sticky; + top: 0; + z-index: 1020; } } + +@media (min-width: 768px) { + .sticky-md-top { + position: sticky; + top: 0; + z-index: 1020; } } + +@media (min-width: 992px) { + .sticky-lg-top { + position: sticky; + top: 0; + z-index: 1020; } } + +@media (min-width: 1200px) { + .sticky-xl-top { + position: sticky; + top: 0; + z-index: 1020; } } + +@media (min-width: 1400px) { + .sticky-xxl-top { + position: sticky; + top: 0; + z-index: 1020; } } + +.hstack { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -ms-flex-item-align: stretch; + align-self: stretch; } + +.vstack { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + -ms-flex-item-align: stretch; + align-self: stretch; } + +.visually-hidden, +.visually-hidden-focusable:not(:focus):not(:focus-within) { + position: absolute !important; + width: 1px !important; + height: 1px !important; + padding: 0 !important; + margin: -1px !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; } + +.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; + -ms-flex-item-align: stretch; + align-self: stretch; + width: 1px; + 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; } + +.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; } + +.d-inline { + display: inline !important; } + +.d-inline-block { + display: inline-block !important; } + +.d-block { + display: block !important; } + +.d-grid { + display: grid !important; } + +.d-table { + display: table !important; } + +.d-table-row { + display: table-row !important; } + +.d-table-cell { + display: table-cell !important; } + +.d-flex { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; } + +.d-inline-flex { + display: -webkit-inline-box !important; + display: -ms-inline-flexbox !important; + display: inline-flex !important; } + +.d-none { + display: none !important; } + +.shadow { + -webkit-box-shadow: 0 2px 3px rgba(52, 58, 64, 0.06) !important; + box-shadow: 0 2px 3px rgba(52, 58, 64, 0.06) !important; } + +.shadow-sm { + -webkit-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; } + +.shadow-lg { + -webkit-box-shadow: 0 5px 6px rgba(52, 58, 64, 0.1) !important; + box-shadow: 0 5px 6px rgba(52, 58, 64, 0.1) !important; } + +.shadow-none { + -webkit-box-shadow: none !important; + box-shadow: none !important; } + +.position-static { + position: static !important; } + +.position-relative { + position: relative !important; } + +.position-absolute { + position: absolute !important; } + +.position-fixed { + position: fixed !important; } + +.position-sticky { + position: sticky !important; } + +.top-0 { + top: 0 !important; } + +.top-50 { + top: 50% !important; } + +.top-100 { + top: 100% !important; } + +.bottom-0 { + bottom: 0 !important; } + +.bottom-50 { + bottom: 50% !important; } + +.bottom-100 { + bottom: 100% !important; } + +.start-0 { + left: 0 !important; } + +.start-50 { + left: 50% !important; } + +.start-100 { + left: 100% !important; } + +.end-0 { + right: 0 !important; } + +.end-50 { + right: 50% !important; } + +.end-100 { + right: 100% !important; } + +.translate-middle { + -webkit-transform: translate(-50%, -50%) !important; + transform: translate(-50%, -50%) !important; } + +.translate-middle-x { + -webkit-transform: translateX(-50%) !important; + transform: translateX(-50%) !important; } + +.translate-middle-y { + -webkit-transform: translateY(-50%) !important; + transform: translateY(-50%) !important; } + +.border { + border: 1px solid #eff0f2 !important; } + +.border-0 { + border: 0 !important; } + +.border-top { + border-top: 1px solid #eff0f2 !important; } + +.border-top-0 { + border-top: 0 !important; } + +.border-end { + border-right: 1px solid #eff0f2 !important; } + +.border-end-0 { + border-right: 0 !important; } + +.border-bottom { + border-bottom: 1px solid #eff0f2 !important; } + +.border-bottom-0 { + border-bottom: 0 !important; } + +.border-start { + border-left: 1px solid #eff0f2 !important; } + +.border-start-0 { + border-left: 0 !important; } + +.border-primary { + border-color: #2e86de !important; } + +.border-secondary { + border-color: #74788d !important; } + +.border-success { + border-color: #51d28c !important; } + +.border-info { + border-color: #5fd0f3 !important; } + +.border-warning { + border-color: #f7cc53 !important; } + +.border-danger { + border-color: #f34e4e !important; } + +.border-pink { + border-color: #e83e8c !important; } + +.border-light { + border-color: #f5f6f8 !important; } + +.border-dark { + border-color: #343a40 !important; } + +.border-purple { + border-color: #564ab1 !important; } + +.border-white { + border-color: #fff !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; } + +.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 { + -webkit-box-flex: 1 !important; + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; } + +.flex-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; } + +.flex-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; } + +.flex-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; } + +.flex-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; } + +.flex-grow-0 { + -webkit-box-flex: 0 !important; + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; } + +.flex-grow-1 { + -webkit-box-flex: 1 !important; + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; } + +.flex-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; } + +.flex-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; } + +.flex-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; } + +.flex-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; } + +.flex-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !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; } + +.justify-content-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; } + +.justify-content-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; } + +.justify-content-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; } + +.justify-content-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; } + +.justify-content-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; } + +.justify-content-evenly { + -webkit-box-pack: space-evenly !important; + -ms-flex-pack: space-evenly !important; + justify-content: space-evenly !important; } + +.align-items-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; } + +.align-items-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; } + +.align-items-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; } + +.align-items-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; } + +.align-items-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; } + +.align-content-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; } + +.align-content-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; } + +.align-content-center { + -ms-flex-line-pack: center !important; + align-content: center !important; } + +.align-content-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; } + +.align-content-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; } + +.align-content-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; } + +.align-self-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; } + +.align-self-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; } + +.align-self-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; } + +.align-self-center { + -ms-flex-item-align: center !important; + align-self: center !important; } + +.align-self-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; } + +.align-self-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; } + +.order-first { + -webkit-box-ordinal-group: 0 !important; + -ms-flex-order: -1 !important; + order: -1 !important; } + +.order-0 { + -webkit-box-ordinal-group: 1 !important; + -ms-flex-order: 0 !important; + order: 0 !important; } + +.order-1 { + -webkit-box-ordinal-group: 2 !important; + -ms-flex-order: 1 !important; + order: 1 !important; } + +.order-2 { + -webkit-box-ordinal-group: 3 !important; + -ms-flex-order: 2 !important; + order: 2 !important; } + +.order-3 { + -webkit-box-ordinal-group: 4 !important; + -ms-flex-order: 3 !important; + order: 3 !important; } + +.order-4 { + -webkit-box-ordinal-group: 5 !important; + -ms-flex-order: 4 !important; + order: 4 !important; } + +.order-5 { + -webkit-box-ordinal-group: 6 !important; + -ms-flex-order: 5 !important; + order: 5 !important; } + +.order-last { + -webkit-box-ordinal-group: 7 !important; + -ms-flex-order: 6 !important; + order: 6 !important; } + +.m-0 { + margin: 0 !important; } + +.m-1 { + margin: 0.25rem !important; } + +.m-2 { + margin: 0.5rem !important; } + +.m-3 { + margin: 1rem !important; } + +.m-4 { + margin: 1.5rem !important; } + +.m-5 { + margin: 3rem !important; } + +.m-auto { + margin: auto !important; } + +.mx-0 { + margin-right: 0 !important; + margin-left: 0 !important; } + +.mx-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; } + +.mx-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; } + +.mx-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; } + +.mx-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; } + +.mx-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; } + +.mx-auto { + margin-right: auto !important; + margin-left: auto !important; } + +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; } + +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; } + +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; } + +.my-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; } + +.my-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; } + +.my-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; } + +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; } + +.mt-0 { + margin-top: 0 !important; } + +.mt-1 { + margin-top: 0.25rem !important; } + +.mt-2 { + margin-top: 0.5rem !important; } + +.mt-3 { + margin-top: 1rem !important; } + +.mt-4 { + margin-top: 1.5rem !important; } + +.mt-5 { + margin-top: 3rem !important; } + +.mt-auto { + margin-top: auto !important; } + +.me-0 { + margin-right: 0 !important; } + +.me-1 { + margin-right: 0.25rem !important; } + +.me-2 { + margin-right: 0.5rem !important; } + +.me-3 { + margin-right: 1rem !important; } + +.me-4 { + margin-right: 1.5rem !important; } + +.me-5 { + margin-right: 3rem !important; } + +.me-auto { + margin-right: auto !important; } + +.mb-0 { + margin-bottom: 0 !important; } + +.mb-1 { + margin-bottom: 0.25rem !important; } + +.mb-2 { + margin-bottom: 0.5rem !important; } + +.mb-3 { + margin-bottom: 1rem !important; } + +.mb-4 { + margin-bottom: 1.5rem !important; } + +.mb-5 { + margin-bottom: 3rem !important; } + +.mb-auto { + margin-bottom: auto !important; } + +.ms-0 { + margin-left: 0 !important; } + +.ms-1 { + margin-left: 0.25rem !important; } + +.ms-2 { + margin-left: 0.5rem !important; } + +.ms-3 { + margin-left: 1rem !important; } + +.ms-4 { + margin-left: 1.5rem !important; } + +.ms-5 { + margin-left: 3rem !important; } + +.ms-auto { + margin-left: auto !important; } + +.m-n1 { + margin: -0.25rem !important; } + +.m-n2 { + margin: -0.5rem !important; } + +.m-n3 { + margin: -1rem !important; } + +.m-n4 { + margin: -1.5rem !important; } + +.m-n5 { + margin: -3rem !important; } + +.mx-n1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; } + +.mx-n2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; } + +.mx-n3 { + margin-right: -1rem !important; + margin-left: -1rem !important; } + +.mx-n4 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; } + +.mx-n5 { + margin-right: -3rem !important; + margin-left: -3rem !important; } + +.my-n1 { + margin-top: -0.25rem !important; + margin-bottom: -0.25rem !important; } + +.my-n2 { + margin-top: -0.5rem !important; + margin-bottom: -0.5rem !important; } + +.my-n3 { + margin-top: -1rem !important; + margin-bottom: -1rem !important; } + +.my-n4 { + margin-top: -1.5rem !important; + margin-bottom: -1.5rem !important; } + +.my-n5 { + margin-top: -3rem !important; + margin-bottom: -3rem !important; } + +.mt-n1 { + margin-top: -0.25rem !important; } + +.mt-n2 { + margin-top: -0.5rem !important; } + +.mt-n3 { + margin-top: -1rem !important; } + +.mt-n4 { + margin-top: -1.5rem !important; } + +.mt-n5 { + margin-top: -3rem !important; } + +.me-n1 { + margin-right: -0.25rem !important; } + +.me-n2 { + margin-right: -0.5rem !important; } + +.me-n3 { + margin-right: -1rem !important; } + +.me-n4 { + margin-right: -1.5rem !important; } + +.me-n5 { + margin-right: -3rem !important; } + +.mb-n1 { + margin-bottom: -0.25rem !important; } + +.mb-n2 { + margin-bottom: -0.5rem !important; } + +.mb-n3 { + margin-bottom: -1rem !important; } + +.mb-n4 { + margin-bottom: -1.5rem !important; } + +.mb-n5 { + margin-bottom: -3rem !important; } + +.ms-n1 { + margin-left: -0.25rem !important; } + +.ms-n2 { + margin-left: -0.5rem !important; } + +.ms-n3 { + margin-left: -1rem !important; } + +.ms-n4 { + margin-left: -1.5rem !important; } + +.ms-n5 { + margin-left: -3rem !important; } + +.p-0 { + padding: 0 !important; } + +.p-1 { + padding: 0.25rem !important; } + +.p-2 { + padding: 0.5rem !important; } + +.p-3 { + padding: 1rem !important; } + +.p-4 { + padding: 1.5rem !important; } + +.p-5 { + padding: 3rem !important; } + +.px-0 { + padding-right: 0 !important; + padding-left: 0 !important; } + +.px-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; } + +.px-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; } + +.px-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; } + +.px-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; } + +.px-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; } + +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; } + +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; } + +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; } + +.py-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; } + +.py-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; } + +.py-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; } + +.pt-0 { + padding-top: 0 !important; } + +.pt-1 { + padding-top: 0.25rem !important; } + +.pt-2 { + padding-top: 0.5rem !important; } + +.pt-3 { + padding-top: 1rem !important; } + +.pt-4 { + padding-top: 1.5rem !important; } + +.pt-5 { + padding-top: 3rem !important; } + +.pe-0 { + padding-right: 0 !important; } + +.pe-1 { + padding-right: 0.25rem !important; } + +.pe-2 { + padding-right: 0.5rem !important; } + +.pe-3 { + padding-right: 1rem !important; } + +.pe-4 { + padding-right: 1.5rem !important; } + +.pe-5 { + padding-right: 3rem !important; } + +.pb-0 { + padding-bottom: 0 !important; } + +.pb-1 { + padding-bottom: 0.25rem !important; } + +.pb-2 { + padding-bottom: 0.5rem !important; } + +.pb-3 { + padding-bottom: 1rem !important; } + +.pb-4 { + padding-bottom: 1.5rem !important; } + +.pb-5 { + padding-bottom: 3rem !important; } + +.ps-0 { + padding-left: 0 !important; } + +.ps-1 { + padding-left: 0.25rem !important; } + +.ps-2 { + padding-left: 0.5rem !important; } + +.ps-3 { + padding-left: 1rem !important; } + +.ps-4 { + padding-left: 1.5rem !important; } + +.ps-5 { + padding-left: 3rem !important; } + +.font-monospace { + font-family: var(--bs-font-monospace) !important; } + +.fs-1 { + font-size: calc(1.35rem + 1.2vw) !important; } + +.fs-2 { + font-size: calc(1.305rem + 0.66vw) !important; } + +.fs-3 { + font-size: calc(1.2825rem + 0.39vw) !important; } + +.fs-4 { + font-size: calc(1.26rem + 0.12vw) !important; } + +.fs-5 { + font-size: 1.125rem !important; } + +.fs-6 { + font-size: 0.9rem !important; } + +.fst-italic { + font-style: italic !important; } + +.fst-normal { + font-style: normal !important; } + +.fw-light { + font-weight: 300 !important; } + +.fw-lighter { + font-weight: lighter !important; } + +.fw-normal { + font-weight: 400 !important; } + +.fw-bold { + font-weight: 700 !important; } + +.fw-bolder { + font-weight: bolder !important; } + +.lh-1 { + line-height: 1 !important; } + +.lh-sm { + line-height: 1.25 !important; } + +.lh-base { + line-height: 1.5 !important; } + +.lh-lg { + line-height: 2 !important; } + +.text-start { + text-align: left !important; } + +.text-end { + text-align: right !important; } + +.text-center { + text-align: center !important; } + +.text-decoration-none { + text-decoration: none !important; } + +.text-decoration-underline { + text-decoration: underline !important; } + +.text-decoration-line-through { + text-decoration: line-through !important; } + +.text-lowercase { + text-transform: lowercase !important; } + +.text-uppercase { + text-transform: uppercase !important; } + +.text-capitalize { + text-transform: capitalize !important; } + +.text-wrap { + white-space: normal !important; } + +.text-nowrap { + white-space: nowrap !important; } + +/* rtl:begin:remove */ +.text-break { + word-wrap: break-word !important; + word-break: break-word !important; } + +/* rtl:end:remove */ +.text-primary { + --bs-text-opacity: 1; + color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important; } + +.text-secondary { + --bs-text-opacity: 1; + color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important; } + +.text-success { + --bs-text-opacity: 1; + color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important; } + +.text-info { + --bs-text-opacity: 1; + color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important; } + +.text-warning { + --bs-text-opacity: 1; + color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important; } + +.text-danger { + --bs-text-opacity: 1; + color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important; } + +.text-pink { + --bs-text-opacity: 1; + color: rgba(var(--bs-pink-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-purple { + --bs-text-opacity: 1; + color: rgba(var(--bs-purple-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: #74788d !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-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; } + +.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-pink { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-pink-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-purple { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-purple-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-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-gradient { + background-image: var(--bs-gradient) !important; } + +.user-select-all { + -webkit-user-select: all !important; + -moz-user-select: all !important; + -ms-user-select: all !important; + user-select: all !important; } + +.user-select-auto { + -webkit-user-select: auto !important; + -moz-user-select: auto !important; + -ms-user-select: auto !important; + user-select: auto !important; } + +.user-select-none { + -webkit-user-select: none !important; + -moz-user-select: none !important; + -ms-user-select: none !important; + user-select: none !important; } + +.pe-none { + pointer-events: none !important; } + +.pe-auto { + pointer-events: auto !important; } + +.rounded { + border-radius: 0.25rem !important; } + +.rounded-0 { + border-radius: 0 !important; } + +.rounded-1 { + border-radius: 0.2rem !important; } + +.rounded-2 { + border-radius: 0.25rem !important; } + +.rounded-3 { + border-radius: 0.4rem !important; } + +.rounded-circle { + border-radius: 50% !important; } + +.rounded-pill { + border-radius: 50rem !important; } + +.rounded-top { + border-top-left-radius: 0.25rem !important; + border-top-right-radius: 0.25rem !important; } + +.rounded-end { + border-top-right-radius: 0.25rem !important; + border-bottom-right-radius: 0.25rem !important; } + +.rounded-bottom { + border-bottom-right-radius: 0.25rem !important; + border-bottom-left-radius: 0.25rem !important; } + +.rounded-start { + border-bottom-left-radius: 0.25rem !important; + border-top-left-radius: 0.25rem !important; } + +.visible { + visibility: visible !important; } + +.invisible { + visibility: hidden !important; } + +@media (min-width: 576px) { + .float-sm-start { + float: left !important; } + .float-sm-end { + float: right !important; } + .float-sm-none { + float: 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-table { + display: table !important; } + .d-sm-table-row { + display: table-row !important; } + .d-sm-table-cell { + display: table-cell !important; } + .d-sm-flex { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; } + .d-sm-inline-flex { + display: -webkit-inline-box !important; + display: -ms-inline-flexbox !important; + display: inline-flex !important; } + .d-sm-none { + display: none !important; } + .flex-sm-fill { + -webkit-box-flex: 1 !important; + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; } + .flex-sm-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; } + .flex-sm-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; } + .flex-sm-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; } + .flex-sm-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; } + .flex-sm-grow-0 { + -webkit-box-flex: 0 !important; + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; } + .flex-sm-grow-1 { + -webkit-box-flex: 1 !important; + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; } + .flex-sm-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; } + .flex-sm-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; } + .flex-sm-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; } + .flex-sm-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; } + .flex-sm-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !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; } + .justify-content-sm-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; } + .justify-content-sm-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; } + .justify-content-sm-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; } + .justify-content-sm-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; } + .justify-content-sm-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; } + .justify-content-sm-evenly { + -webkit-box-pack: space-evenly !important; + -ms-flex-pack: space-evenly !important; + justify-content: space-evenly !important; } + .align-items-sm-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; } + .align-items-sm-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; } + .align-items-sm-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; } + .align-items-sm-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; } + .align-items-sm-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; } + .align-content-sm-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; } + .align-content-sm-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; } + .align-content-sm-center { + -ms-flex-line-pack: center !important; + align-content: center !important; } + .align-content-sm-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; } + .align-content-sm-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; } + .align-content-sm-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; } + .align-self-sm-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; } + .align-self-sm-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; } + .align-self-sm-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; } + .align-self-sm-center { + -ms-flex-item-align: center !important; + align-self: center !important; } + .align-self-sm-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; } + .align-self-sm-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; } + .order-sm-first { + -webkit-box-ordinal-group: 0 !important; + -ms-flex-order: -1 !important; + order: -1 !important; } + .order-sm-0 { + -webkit-box-ordinal-group: 1 !important; + -ms-flex-order: 0 !important; + order: 0 !important; } + .order-sm-1 { + -webkit-box-ordinal-group: 2 !important; + -ms-flex-order: 1 !important; + order: 1 !important; } + .order-sm-2 { + -webkit-box-ordinal-group: 3 !important; + -ms-flex-order: 2 !important; + order: 2 !important; } + .order-sm-3 { + -webkit-box-ordinal-group: 4 !important; + -ms-flex-order: 3 !important; + order: 3 !important; } + .order-sm-4 { + -webkit-box-ordinal-group: 5 !important; + -ms-flex-order: 4 !important; + order: 4 !important; } + .order-sm-5 { + -webkit-box-ordinal-group: 6 !important; + -ms-flex-order: 5 !important; + order: 5 !important; } + .order-sm-last { + -webkit-box-ordinal-group: 7 !important; + -ms-flex-order: 6 !important; + order: 6 !important; } + .m-sm-0 { + margin: 0 !important; } + .m-sm-1 { + margin: 0.25rem !important; } + .m-sm-2 { + margin: 0.5rem !important; } + .m-sm-3 { + margin: 1rem !important; } + .m-sm-4 { + margin: 1.5rem !important; } + .m-sm-5 { + margin: 3rem !important; } + .m-sm-auto { + margin: auto !important; } + .mx-sm-0 { + margin-right: 0 !important; + margin-left: 0 !important; } + .mx-sm-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; } + .mx-sm-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; } + .mx-sm-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; } + .mx-sm-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; } + .mx-sm-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; } + .mx-sm-auto { + margin-right: auto !important; + margin-left: auto !important; } + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; } + .my-sm-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; } + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; } + .my-sm-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; } + .my-sm-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; } + .my-sm-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; } + .my-sm-auto { + margin-top: auto !important; + margin-bottom: auto !important; } + .mt-sm-0 { + margin-top: 0 !important; } + .mt-sm-1 { + margin-top: 0.25rem !important; } + .mt-sm-2 { + margin-top: 0.5rem !important; } + .mt-sm-3 { + margin-top: 1rem !important; } + .mt-sm-4 { + margin-top: 1.5rem !important; } + .mt-sm-5 { + margin-top: 3rem !important; } + .mt-sm-auto { + margin-top: auto !important; } + .me-sm-0 { + margin-right: 0 !important; } + .me-sm-1 { + margin-right: 0.25rem !important; } + .me-sm-2 { + margin-right: 0.5rem !important; } + .me-sm-3 { + margin-right: 1rem !important; } + .me-sm-4 { + margin-right: 1.5rem !important; } + .me-sm-5 { + margin-right: 3rem !important; } + .me-sm-auto { + margin-right: auto !important; } + .mb-sm-0 { + margin-bottom: 0 !important; } + .mb-sm-1 { + margin-bottom: 0.25rem !important; } + .mb-sm-2 { + margin-bottom: 0.5rem !important; } + .mb-sm-3 { + margin-bottom: 1rem !important; } + .mb-sm-4 { + margin-bottom: 1.5rem !important; } + .mb-sm-5 { + margin-bottom: 3rem !important; } + .mb-sm-auto { + margin-bottom: auto !important; } + .ms-sm-0 { + margin-left: 0 !important; } + .ms-sm-1 { + margin-left: 0.25rem !important; } + .ms-sm-2 { + margin-left: 0.5rem !important; } + .ms-sm-3 { + margin-left: 1rem !important; } + .ms-sm-4 { + margin-left: 1.5rem !important; } + .ms-sm-5 { + margin-left: 3rem !important; } + .ms-sm-auto { + margin-left: auto !important; } + .m-sm-n1 { + margin: -0.25rem !important; } + .m-sm-n2 { + margin: -0.5rem !important; } + .m-sm-n3 { + margin: -1rem !important; } + .m-sm-n4 { + margin: -1.5rem !important; } + .m-sm-n5 { + margin: -3rem !important; } + .mx-sm-n1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; } + .mx-sm-n2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; } + .mx-sm-n3 { + margin-right: -1rem !important; + margin-left: -1rem !important; } + .mx-sm-n4 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; } + .mx-sm-n5 { + margin-right: -3rem !important; + margin-left: -3rem !important; } + .my-sm-n1 { + margin-top: -0.25rem !important; + margin-bottom: -0.25rem !important; } + .my-sm-n2 { + margin-top: -0.5rem !important; + margin-bottom: -0.5rem !important; } + .my-sm-n3 { + margin-top: -1rem !important; + margin-bottom: -1rem !important; } + .my-sm-n4 { + margin-top: -1.5rem !important; + margin-bottom: -1.5rem !important; } + .my-sm-n5 { + margin-top: -3rem !important; + margin-bottom: -3rem !important; } + .mt-sm-n1 { + margin-top: -0.25rem !important; } + .mt-sm-n2 { + margin-top: -0.5rem !important; } + .mt-sm-n3 { + margin-top: -1rem !important; } + .mt-sm-n4 { + margin-top: -1.5rem !important; } + .mt-sm-n5 { + margin-top: -3rem !important; } + .me-sm-n1 { + margin-right: -0.25rem !important; } + .me-sm-n2 { + margin-right: -0.5rem !important; } + .me-sm-n3 { + margin-right: -1rem !important; } + .me-sm-n4 { + margin-right: -1.5rem !important; } + .me-sm-n5 { + margin-right: -3rem !important; } + .mb-sm-n1 { + margin-bottom: -0.25rem !important; } + .mb-sm-n2 { + margin-bottom: -0.5rem !important; } + .mb-sm-n3 { + margin-bottom: -1rem !important; } + .mb-sm-n4 { + margin-bottom: -1.5rem !important; } + .mb-sm-n5 { + margin-bottom: -3rem !important; } + .ms-sm-n1 { + margin-left: -0.25rem !important; } + .ms-sm-n2 { + margin-left: -0.5rem !important; } + .ms-sm-n3 { + margin-left: -1rem !important; } + .ms-sm-n4 { + margin-left: -1.5rem !important; } + .ms-sm-n5 { + margin-left: -3rem !important; } + .p-sm-0 { + padding: 0 !important; } + .p-sm-1 { + padding: 0.25rem !important; } + .p-sm-2 { + padding: 0.5rem !important; } + .p-sm-3 { + padding: 1rem !important; } + .p-sm-4 { + padding: 1.5rem !important; } + .p-sm-5 { + padding: 3rem !important; } + .px-sm-0 { + padding-right: 0 !important; + padding-left: 0 !important; } + .px-sm-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; } + .px-sm-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; } + .px-sm-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; } + .px-sm-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; } + .px-sm-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; } + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; } + .py-sm-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; } + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; } + .py-sm-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; } + .py-sm-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; } + .py-sm-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; } + .pt-sm-0 { + padding-top: 0 !important; } + .pt-sm-1 { + padding-top: 0.25rem !important; } + .pt-sm-2 { + padding-top: 0.5rem !important; } + .pt-sm-3 { + padding-top: 1rem !important; } + .pt-sm-4 { + padding-top: 1.5rem !important; } + .pt-sm-5 { + padding-top: 3rem !important; } + .pe-sm-0 { + padding-right: 0 !important; } + .pe-sm-1 { + padding-right: 0.25rem !important; } + .pe-sm-2 { + padding-right: 0.5rem !important; } + .pe-sm-3 { + padding-right: 1rem !important; } + .pe-sm-4 { + padding-right: 1.5rem !important; } + .pe-sm-5 { + padding-right: 3rem !important; } + .pb-sm-0 { + padding-bottom: 0 !important; } + .pb-sm-1 { + padding-bottom: 0.25rem !important; } + .pb-sm-2 { + padding-bottom: 0.5rem !important; } + .pb-sm-3 { + padding-bottom: 1rem !important; } + .pb-sm-4 { + padding-bottom: 1.5rem !important; } + .pb-sm-5 { + padding-bottom: 3rem !important; } + .ps-sm-0 { + padding-left: 0 !important; } + .ps-sm-1 { + padding-left: 0.25rem !important; } + .ps-sm-2 { + padding-left: 0.5rem !important; } + .ps-sm-3 { + padding-left: 1rem !important; } + .ps-sm-4 { + padding-left: 1.5rem !important; } + .ps-sm-5 { + padding-left: 3rem !important; } + .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; } + .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-table { + display: table !important; } + .d-md-table-row { + display: table-row !important; } + .d-md-table-cell { + display: table-cell !important; } + .d-md-flex { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; } + .d-md-inline-flex { + display: -webkit-inline-box !important; + display: -ms-inline-flexbox !important; + display: inline-flex !important; } + .d-md-none { + display: none !important; } + .flex-md-fill { + -webkit-box-flex: 1 !important; + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; } + .flex-md-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; } + .flex-md-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; } + .flex-md-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; } + .flex-md-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; } + .flex-md-grow-0 { + -webkit-box-flex: 0 !important; + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; } + .flex-md-grow-1 { + -webkit-box-flex: 1 !important; + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; } + .flex-md-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; } + .flex-md-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; } + .flex-md-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; } + .flex-md-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; } + .flex-md-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !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; } + .justify-content-md-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; } + .justify-content-md-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; } + .justify-content-md-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; } + .justify-content-md-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; } + .justify-content-md-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; } + .justify-content-md-evenly { + -webkit-box-pack: space-evenly !important; + -ms-flex-pack: space-evenly !important; + justify-content: space-evenly !important; } + .align-items-md-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; } + .align-items-md-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; } + .align-items-md-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; } + .align-items-md-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; } + .align-items-md-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; } + .align-content-md-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; } + .align-content-md-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; } + .align-content-md-center { + -ms-flex-line-pack: center !important; + align-content: center !important; } + .align-content-md-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; } + .align-content-md-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; } + .align-content-md-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; } + .align-self-md-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; } + .align-self-md-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; } + .align-self-md-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; } + .align-self-md-center { + -ms-flex-item-align: center !important; + align-self: center !important; } + .align-self-md-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; } + .align-self-md-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; } + .order-md-first { + -webkit-box-ordinal-group: 0 !important; + -ms-flex-order: -1 !important; + order: -1 !important; } + .order-md-0 { + -webkit-box-ordinal-group: 1 !important; + -ms-flex-order: 0 !important; + order: 0 !important; } + .order-md-1 { + -webkit-box-ordinal-group: 2 !important; + -ms-flex-order: 1 !important; + order: 1 !important; } + .order-md-2 { + -webkit-box-ordinal-group: 3 !important; + -ms-flex-order: 2 !important; + order: 2 !important; } + .order-md-3 { + -webkit-box-ordinal-group: 4 !important; + -ms-flex-order: 3 !important; + order: 3 !important; } + .order-md-4 { + -webkit-box-ordinal-group: 5 !important; + -ms-flex-order: 4 !important; + order: 4 !important; } + .order-md-5 { + -webkit-box-ordinal-group: 6 !important; + -ms-flex-order: 5 !important; + order: 5 !important; } + .order-md-last { + -webkit-box-ordinal-group: 7 !important; + -ms-flex-order: 6 !important; + order: 6 !important; } + .m-md-0 { + margin: 0 !important; } + .m-md-1 { + margin: 0.25rem !important; } + .m-md-2 { + margin: 0.5rem !important; } + .m-md-3 { + margin: 1rem !important; } + .m-md-4 { + margin: 1.5rem !important; } + .m-md-5 { + margin: 3rem !important; } + .m-md-auto { + margin: auto !important; } + .mx-md-0 { + margin-right: 0 !important; + margin-left: 0 !important; } + .mx-md-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; } + .mx-md-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; } + .mx-md-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; } + .mx-md-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; } + .mx-md-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; } + .mx-md-auto { + margin-right: auto !important; + margin-left: auto !important; } + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; } + .my-md-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; } + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; } + .my-md-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; } + .my-md-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; } + .my-md-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; } + .my-md-auto { + margin-top: auto !important; + margin-bottom: auto !important; } + .mt-md-0 { + margin-top: 0 !important; } + .mt-md-1 { + margin-top: 0.25rem !important; } + .mt-md-2 { + margin-top: 0.5rem !important; } + .mt-md-3 { + margin-top: 1rem !important; } + .mt-md-4 { + margin-top: 1.5rem !important; } + .mt-md-5 { + margin-top: 3rem !important; } + .mt-md-auto { + margin-top: auto !important; } + .me-md-0 { + margin-right: 0 !important; } + .me-md-1 { + margin-right: 0.25rem !important; } + .me-md-2 { + margin-right: 0.5rem !important; } + .me-md-3 { + margin-right: 1rem !important; } + .me-md-4 { + margin-right: 1.5rem !important; } + .me-md-5 { + margin-right: 3rem !important; } + .me-md-auto { + margin-right: auto !important; } + .mb-md-0 { + margin-bottom: 0 !important; } + .mb-md-1 { + margin-bottom: 0.25rem !important; } + .mb-md-2 { + margin-bottom: 0.5rem !important; } + .mb-md-3 { + margin-bottom: 1rem !important; } + .mb-md-4 { + margin-bottom: 1.5rem !important; } + .mb-md-5 { + margin-bottom: 3rem !important; } + .mb-md-auto { + margin-bottom: auto !important; } + .ms-md-0 { + margin-left: 0 !important; } + .ms-md-1 { + margin-left: 0.25rem !important; } + .ms-md-2 { + margin-left: 0.5rem !important; } + .ms-md-3 { + margin-left: 1rem !important; } + .ms-md-4 { + margin-left: 1.5rem !important; } + .ms-md-5 { + margin-left: 3rem !important; } + .ms-md-auto { + margin-left: auto !important; } + .m-md-n1 { + margin: -0.25rem !important; } + .m-md-n2 { + margin: -0.5rem !important; } + .m-md-n3 { + margin: -1rem !important; } + .m-md-n4 { + margin: -1.5rem !important; } + .m-md-n5 { + margin: -3rem !important; } + .mx-md-n1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; } + .mx-md-n2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; } + .mx-md-n3 { + margin-right: -1rem !important; + margin-left: -1rem !important; } + .mx-md-n4 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; } + .mx-md-n5 { + margin-right: -3rem !important; + margin-left: -3rem !important; } + .my-md-n1 { + margin-top: -0.25rem !important; + margin-bottom: -0.25rem !important; } + .my-md-n2 { + margin-top: -0.5rem !important; + margin-bottom: -0.5rem !important; } + .my-md-n3 { + margin-top: -1rem !important; + margin-bottom: -1rem !important; } + .my-md-n4 { + margin-top: -1.5rem !important; + margin-bottom: -1.5rem !important; } + .my-md-n5 { + margin-top: -3rem !important; + margin-bottom: -3rem !important; } + .mt-md-n1 { + margin-top: -0.25rem !important; } + .mt-md-n2 { + margin-top: -0.5rem !important; } + .mt-md-n3 { + margin-top: -1rem !important; } + .mt-md-n4 { + margin-top: -1.5rem !important; } + .mt-md-n5 { + margin-top: -3rem !important; } + .me-md-n1 { + margin-right: -0.25rem !important; } + .me-md-n2 { + margin-right: -0.5rem !important; } + .me-md-n3 { + margin-right: -1rem !important; } + .me-md-n4 { + margin-right: -1.5rem !important; } + .me-md-n5 { + margin-right: -3rem !important; } + .mb-md-n1 { + margin-bottom: -0.25rem !important; } + .mb-md-n2 { + margin-bottom: -0.5rem !important; } + .mb-md-n3 { + margin-bottom: -1rem !important; } + .mb-md-n4 { + margin-bottom: -1.5rem !important; } + .mb-md-n5 { + margin-bottom: -3rem !important; } + .ms-md-n1 { + margin-left: -0.25rem !important; } + .ms-md-n2 { + margin-left: -0.5rem !important; } + .ms-md-n3 { + margin-left: -1rem !important; } + .ms-md-n4 { + margin-left: -1.5rem !important; } + .ms-md-n5 { + margin-left: -3rem !important; } + .p-md-0 { + padding: 0 !important; } + .p-md-1 { + padding: 0.25rem !important; } + .p-md-2 { + padding: 0.5rem !important; } + .p-md-3 { + padding: 1rem !important; } + .p-md-4 { + padding: 1.5rem !important; } + .p-md-5 { + padding: 3rem !important; } + .px-md-0 { + padding-right: 0 !important; + padding-left: 0 !important; } + .px-md-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; } + .px-md-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; } + .px-md-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; } + .px-md-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; } + .px-md-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; } + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; } + .py-md-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; } + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; } + .py-md-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; } + .py-md-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; } + .py-md-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; } + .pt-md-0 { + padding-top: 0 !important; } + .pt-md-1 { + padding-top: 0.25rem !important; } + .pt-md-2 { + padding-top: 0.5rem !important; } + .pt-md-3 { + padding-top: 1rem !important; } + .pt-md-4 { + padding-top: 1.5rem !important; } + .pt-md-5 { + padding-top: 3rem !important; } + .pe-md-0 { + padding-right: 0 !important; } + .pe-md-1 { + padding-right: 0.25rem !important; } + .pe-md-2 { + padding-right: 0.5rem !important; } + .pe-md-3 { + padding-right: 1rem !important; } + .pe-md-4 { + padding-right: 1.5rem !important; } + .pe-md-5 { + padding-right: 3rem !important; } + .pb-md-0 { + padding-bottom: 0 !important; } + .pb-md-1 { + padding-bottom: 0.25rem !important; } + .pb-md-2 { + padding-bottom: 0.5rem !important; } + .pb-md-3 { + padding-bottom: 1rem !important; } + .pb-md-4 { + padding-bottom: 1.5rem !important; } + .pb-md-5 { + padding-bottom: 3rem !important; } + .ps-md-0 { + padding-left: 0 !important; } + .ps-md-1 { + padding-left: 0.25rem !important; } + .ps-md-2 { + padding-left: 0.5rem !important; } + .ps-md-3 { + padding-left: 1rem !important; } + .ps-md-4 { + padding-left: 1.5rem !important; } + .ps-md-5 { + padding-left: 3rem !important; } + .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; } + .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-table { + display: table !important; } + .d-lg-table-row { + display: table-row !important; } + .d-lg-table-cell { + display: table-cell !important; } + .d-lg-flex { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; } + .d-lg-inline-flex { + display: -webkit-inline-box !important; + display: -ms-inline-flexbox !important; + display: inline-flex !important; } + .d-lg-none { + display: none !important; } + .flex-lg-fill { + -webkit-box-flex: 1 !important; + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; } + .flex-lg-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; } + .flex-lg-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; } + .flex-lg-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; } + .flex-lg-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; } + .flex-lg-grow-0 { + -webkit-box-flex: 0 !important; + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; } + .flex-lg-grow-1 { + -webkit-box-flex: 1 !important; + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; } + .flex-lg-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; } + .flex-lg-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; } + .flex-lg-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; } + .flex-lg-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; } + .flex-lg-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !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; } + .justify-content-lg-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; } + .justify-content-lg-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; } + .justify-content-lg-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; } + .justify-content-lg-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; } + .justify-content-lg-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; } + .justify-content-lg-evenly { + -webkit-box-pack: space-evenly !important; + -ms-flex-pack: space-evenly !important; + justify-content: space-evenly !important; } + .align-items-lg-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; } + .align-items-lg-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; } + .align-items-lg-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; } + .align-items-lg-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; } + .align-items-lg-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; } + .align-content-lg-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; } + .align-content-lg-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; } + .align-content-lg-center { + -ms-flex-line-pack: center !important; + align-content: center !important; } + .align-content-lg-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; } + .align-content-lg-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; } + .align-content-lg-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; } + .align-self-lg-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; } + .align-self-lg-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; } + .align-self-lg-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; } + .align-self-lg-center { + -ms-flex-item-align: center !important; + align-self: center !important; } + .align-self-lg-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; } + .align-self-lg-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; } + .order-lg-first { + -webkit-box-ordinal-group: 0 !important; + -ms-flex-order: -1 !important; + order: -1 !important; } + .order-lg-0 { + -webkit-box-ordinal-group: 1 !important; + -ms-flex-order: 0 !important; + order: 0 !important; } + .order-lg-1 { + -webkit-box-ordinal-group: 2 !important; + -ms-flex-order: 1 !important; + order: 1 !important; } + .order-lg-2 { + -webkit-box-ordinal-group: 3 !important; + -ms-flex-order: 2 !important; + order: 2 !important; } + .order-lg-3 { + -webkit-box-ordinal-group: 4 !important; + -ms-flex-order: 3 !important; + order: 3 !important; } + .order-lg-4 { + -webkit-box-ordinal-group: 5 !important; + -ms-flex-order: 4 !important; + order: 4 !important; } + .order-lg-5 { + -webkit-box-ordinal-group: 6 !important; + -ms-flex-order: 5 !important; + order: 5 !important; } + .order-lg-last { + -webkit-box-ordinal-group: 7 !important; + -ms-flex-order: 6 !important; + order: 6 !important; } + .m-lg-0 { + margin: 0 !important; } + .m-lg-1 { + margin: 0.25rem !important; } + .m-lg-2 { + margin: 0.5rem !important; } + .m-lg-3 { + margin: 1rem !important; } + .m-lg-4 { + margin: 1.5rem !important; } + .m-lg-5 { + margin: 3rem !important; } + .m-lg-auto { + margin: auto !important; } + .mx-lg-0 { + margin-right: 0 !important; + margin-left: 0 !important; } + .mx-lg-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; } + .mx-lg-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; } + .mx-lg-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; } + .mx-lg-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; } + .mx-lg-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; } + .mx-lg-auto { + margin-right: auto !important; + margin-left: auto !important; } + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; } + .my-lg-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; } + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; } + .my-lg-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; } + .my-lg-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; } + .my-lg-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; } + .my-lg-auto { + margin-top: auto !important; + margin-bottom: auto !important; } + .mt-lg-0 { + margin-top: 0 !important; } + .mt-lg-1 { + margin-top: 0.25rem !important; } + .mt-lg-2 { + margin-top: 0.5rem !important; } + .mt-lg-3 { + margin-top: 1rem !important; } + .mt-lg-4 { + margin-top: 1.5rem !important; } + .mt-lg-5 { + margin-top: 3rem !important; } + .mt-lg-auto { + margin-top: auto !important; } + .me-lg-0 { + margin-right: 0 !important; } + .me-lg-1 { + margin-right: 0.25rem !important; } + .me-lg-2 { + margin-right: 0.5rem !important; } + .me-lg-3 { + margin-right: 1rem !important; } + .me-lg-4 { + margin-right: 1.5rem !important; } + .me-lg-5 { + margin-right: 3rem !important; } + .me-lg-auto { + margin-right: auto !important; } + .mb-lg-0 { + margin-bottom: 0 !important; } + .mb-lg-1 { + margin-bottom: 0.25rem !important; } + .mb-lg-2 { + margin-bottom: 0.5rem !important; } + .mb-lg-3 { + margin-bottom: 1rem !important; } + .mb-lg-4 { + margin-bottom: 1.5rem !important; } + .mb-lg-5 { + margin-bottom: 3rem !important; } + .mb-lg-auto { + margin-bottom: auto !important; } + .ms-lg-0 { + margin-left: 0 !important; } + .ms-lg-1 { + margin-left: 0.25rem !important; } + .ms-lg-2 { + margin-left: 0.5rem !important; } + .ms-lg-3 { + margin-left: 1rem !important; } + .ms-lg-4 { + margin-left: 1.5rem !important; } + .ms-lg-5 { + margin-left: 3rem !important; } + .ms-lg-auto { + margin-left: auto !important; } + .m-lg-n1 { + margin: -0.25rem !important; } + .m-lg-n2 { + margin: -0.5rem !important; } + .m-lg-n3 { + margin: -1rem !important; } + .m-lg-n4 { + margin: -1.5rem !important; } + .m-lg-n5 { + margin: -3rem !important; } + .mx-lg-n1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; } + .mx-lg-n2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; } + .mx-lg-n3 { + margin-right: -1rem !important; + margin-left: -1rem !important; } + .mx-lg-n4 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; } + .mx-lg-n5 { + margin-right: -3rem !important; + margin-left: -3rem !important; } + .my-lg-n1 { + margin-top: -0.25rem !important; + margin-bottom: -0.25rem !important; } + .my-lg-n2 { + margin-top: -0.5rem !important; + margin-bottom: -0.5rem !important; } + .my-lg-n3 { + margin-top: -1rem !important; + margin-bottom: -1rem !important; } + .my-lg-n4 { + margin-top: -1.5rem !important; + margin-bottom: -1.5rem !important; } + .my-lg-n5 { + margin-top: -3rem !important; + margin-bottom: -3rem !important; } + .mt-lg-n1 { + margin-top: -0.25rem !important; } + .mt-lg-n2 { + margin-top: -0.5rem !important; } + .mt-lg-n3 { + margin-top: -1rem !important; } + .mt-lg-n4 { + margin-top: -1.5rem !important; } + .mt-lg-n5 { + margin-top: -3rem !important; } + .me-lg-n1 { + margin-right: -0.25rem !important; } + .me-lg-n2 { + margin-right: -0.5rem !important; } + .me-lg-n3 { + margin-right: -1rem !important; } + .me-lg-n4 { + margin-right: -1.5rem !important; } + .me-lg-n5 { + margin-right: -3rem !important; } + .mb-lg-n1 { + margin-bottom: -0.25rem !important; } + .mb-lg-n2 { + margin-bottom: -0.5rem !important; } + .mb-lg-n3 { + margin-bottom: -1rem !important; } + .mb-lg-n4 { + margin-bottom: -1.5rem !important; } + .mb-lg-n5 { + margin-bottom: -3rem !important; } + .ms-lg-n1 { + margin-left: -0.25rem !important; } + .ms-lg-n2 { + margin-left: -0.5rem !important; } + .ms-lg-n3 { + margin-left: -1rem !important; } + .ms-lg-n4 { + margin-left: -1.5rem !important; } + .ms-lg-n5 { + margin-left: -3rem !important; } + .p-lg-0 { + padding: 0 !important; } + .p-lg-1 { + padding: 0.25rem !important; } + .p-lg-2 { + padding: 0.5rem !important; } + .p-lg-3 { + padding: 1rem !important; } + .p-lg-4 { + padding: 1.5rem !important; } + .p-lg-5 { + padding: 3rem !important; } + .px-lg-0 { + padding-right: 0 !important; + padding-left: 0 !important; } + .px-lg-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; } + .px-lg-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; } + .px-lg-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; } + .px-lg-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; } + .px-lg-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; } + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; } + .py-lg-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; } + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; } + .py-lg-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; } + .py-lg-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; } + .py-lg-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; } + .pt-lg-0 { + padding-top: 0 !important; } + .pt-lg-1 { + padding-top: 0.25rem !important; } + .pt-lg-2 { + padding-top: 0.5rem !important; } + .pt-lg-3 { + padding-top: 1rem !important; } + .pt-lg-4 { + padding-top: 1.5rem !important; } + .pt-lg-5 { + padding-top: 3rem !important; } + .pe-lg-0 { + padding-right: 0 !important; } + .pe-lg-1 { + padding-right: 0.25rem !important; } + .pe-lg-2 { + padding-right: 0.5rem !important; } + .pe-lg-3 { + padding-right: 1rem !important; } + .pe-lg-4 { + padding-right: 1.5rem !important; } + .pe-lg-5 { + padding-right: 3rem !important; } + .pb-lg-0 { + padding-bottom: 0 !important; } + .pb-lg-1 { + padding-bottom: 0.25rem !important; } + .pb-lg-2 { + padding-bottom: 0.5rem !important; } + .pb-lg-3 { + padding-bottom: 1rem !important; } + .pb-lg-4 { + padding-bottom: 1.5rem !important; } + .pb-lg-5 { + padding-bottom: 3rem !important; } + .ps-lg-0 { + padding-left: 0 !important; } + .ps-lg-1 { + padding-left: 0.25rem !important; } + .ps-lg-2 { + padding-left: 0.5rem !important; } + .ps-lg-3 { + padding-left: 1rem !important; } + .ps-lg-4 { + padding-left: 1.5rem !important; } + .ps-lg-5 { + padding-left: 3rem !important; } + .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; } + .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-table { + display: table !important; } + .d-xl-table-row { + display: table-row !important; } + .d-xl-table-cell { + display: table-cell !important; } + .d-xl-flex { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; } + .d-xl-inline-flex { + display: -webkit-inline-box !important; + display: -ms-inline-flexbox !important; + display: inline-flex !important; } + .d-xl-none { + display: none !important; } + .flex-xl-fill { + -webkit-box-flex: 1 !important; + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; } + .flex-xl-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; } + .flex-xl-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; } + .flex-xl-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; } + .flex-xl-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; } + .flex-xl-grow-0 { + -webkit-box-flex: 0 !important; + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; } + .flex-xl-grow-1 { + -webkit-box-flex: 1 !important; + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; } + .flex-xl-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; } + .flex-xl-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; } + .flex-xl-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; } + .flex-xl-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; } + .flex-xl-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !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; } + .justify-content-xl-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; } + .justify-content-xl-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; } + .justify-content-xl-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; } + .justify-content-xl-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; } + .justify-content-xl-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; } + .justify-content-xl-evenly { + -webkit-box-pack: space-evenly !important; + -ms-flex-pack: space-evenly !important; + justify-content: space-evenly !important; } + .align-items-xl-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; } + .align-items-xl-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; } + .align-items-xl-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; } + .align-items-xl-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; } + .align-items-xl-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; } + .align-content-xl-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; } + .align-content-xl-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; } + .align-content-xl-center { + -ms-flex-line-pack: center !important; + align-content: center !important; } + .align-content-xl-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; } + .align-content-xl-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; } + .align-content-xl-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; } + .align-self-xl-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; } + .align-self-xl-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; } + .align-self-xl-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; } + .align-self-xl-center { + -ms-flex-item-align: center !important; + align-self: center !important; } + .align-self-xl-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; } + .align-self-xl-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; } + .order-xl-first { + -webkit-box-ordinal-group: 0 !important; + -ms-flex-order: -1 !important; + order: -1 !important; } + .order-xl-0 { + -webkit-box-ordinal-group: 1 !important; + -ms-flex-order: 0 !important; + order: 0 !important; } + .order-xl-1 { + -webkit-box-ordinal-group: 2 !important; + -ms-flex-order: 1 !important; + order: 1 !important; } + .order-xl-2 { + -webkit-box-ordinal-group: 3 !important; + -ms-flex-order: 2 !important; + order: 2 !important; } + .order-xl-3 { + -webkit-box-ordinal-group: 4 !important; + -ms-flex-order: 3 !important; + order: 3 !important; } + .order-xl-4 { + -webkit-box-ordinal-group: 5 !important; + -ms-flex-order: 4 !important; + order: 4 !important; } + .order-xl-5 { + -webkit-box-ordinal-group: 6 !important; + -ms-flex-order: 5 !important; + order: 5 !important; } + .order-xl-last { + -webkit-box-ordinal-group: 7 !important; + -ms-flex-order: 6 !important; + order: 6 !important; } + .m-xl-0 { + margin: 0 !important; } + .m-xl-1 { + margin: 0.25rem !important; } + .m-xl-2 { + margin: 0.5rem !important; } + .m-xl-3 { + margin: 1rem !important; } + .m-xl-4 { + margin: 1.5rem !important; } + .m-xl-5 { + margin: 3rem !important; } + .m-xl-auto { + margin: auto !important; } + .mx-xl-0 { + margin-right: 0 !important; + margin-left: 0 !important; } + .mx-xl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; } + .mx-xl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; } + .mx-xl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; } + .mx-xl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; } + .mx-xl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; } + .mx-xl-auto { + margin-right: auto !important; + margin-left: auto !important; } + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; } + .my-xl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; } + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; } + .my-xl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; } + .my-xl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; } + .my-xl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; } + .my-xl-auto { + margin-top: auto !important; + margin-bottom: auto !important; } + .mt-xl-0 { + margin-top: 0 !important; } + .mt-xl-1 { + margin-top: 0.25rem !important; } + .mt-xl-2 { + margin-top: 0.5rem !important; } + .mt-xl-3 { + margin-top: 1rem !important; } + .mt-xl-4 { + margin-top: 1.5rem !important; } + .mt-xl-5 { + margin-top: 3rem !important; } + .mt-xl-auto { + margin-top: auto !important; } + .me-xl-0 { + margin-right: 0 !important; } + .me-xl-1 { + margin-right: 0.25rem !important; } + .me-xl-2 { + margin-right: 0.5rem !important; } + .me-xl-3 { + margin-right: 1rem !important; } + .me-xl-4 { + margin-right: 1.5rem !important; } + .me-xl-5 { + margin-right: 3rem !important; } + .me-xl-auto { + margin-right: auto !important; } + .mb-xl-0 { + margin-bottom: 0 !important; } + .mb-xl-1 { + margin-bottom: 0.25rem !important; } + .mb-xl-2 { + margin-bottom: 0.5rem !important; } + .mb-xl-3 { + margin-bottom: 1rem !important; } + .mb-xl-4 { + margin-bottom: 1.5rem !important; } + .mb-xl-5 { + margin-bottom: 3rem !important; } + .mb-xl-auto { + margin-bottom: auto !important; } + .ms-xl-0 { + margin-left: 0 !important; } + .ms-xl-1 { + margin-left: 0.25rem !important; } + .ms-xl-2 { + margin-left: 0.5rem !important; } + .ms-xl-3 { + margin-left: 1rem !important; } + .ms-xl-4 { + margin-left: 1.5rem !important; } + .ms-xl-5 { + margin-left: 3rem !important; } + .ms-xl-auto { + margin-left: auto !important; } + .m-xl-n1 { + margin: -0.25rem !important; } + .m-xl-n2 { + margin: -0.5rem !important; } + .m-xl-n3 { + margin: -1rem !important; } + .m-xl-n4 { + margin: -1.5rem !important; } + .m-xl-n5 { + margin: -3rem !important; } + .mx-xl-n1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; } + .mx-xl-n2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; } + .mx-xl-n3 { + margin-right: -1rem !important; + margin-left: -1rem !important; } + .mx-xl-n4 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; } + .mx-xl-n5 { + margin-right: -3rem !important; + margin-left: -3rem !important; } + .my-xl-n1 { + margin-top: -0.25rem !important; + margin-bottom: -0.25rem !important; } + .my-xl-n2 { + margin-top: -0.5rem !important; + margin-bottom: -0.5rem !important; } + .my-xl-n3 { + margin-top: -1rem !important; + margin-bottom: -1rem !important; } + .my-xl-n4 { + margin-top: -1.5rem !important; + margin-bottom: -1.5rem !important; } + .my-xl-n5 { + margin-top: -3rem !important; + margin-bottom: -3rem !important; } + .mt-xl-n1 { + margin-top: -0.25rem !important; } + .mt-xl-n2 { + margin-top: -0.5rem !important; } + .mt-xl-n3 { + margin-top: -1rem !important; } + .mt-xl-n4 { + margin-top: -1.5rem !important; } + .mt-xl-n5 { + margin-top: -3rem !important; } + .me-xl-n1 { + margin-right: -0.25rem !important; } + .me-xl-n2 { + margin-right: -0.5rem !important; } + .me-xl-n3 { + margin-right: -1rem !important; } + .me-xl-n4 { + margin-right: -1.5rem !important; } + .me-xl-n5 { + margin-right: -3rem !important; } + .mb-xl-n1 { + margin-bottom: -0.25rem !important; } + .mb-xl-n2 { + margin-bottom: -0.5rem !important; } + .mb-xl-n3 { + margin-bottom: -1rem !important; } + .mb-xl-n4 { + margin-bottom: -1.5rem !important; } + .mb-xl-n5 { + margin-bottom: -3rem !important; } + .ms-xl-n1 { + margin-left: -0.25rem !important; } + .ms-xl-n2 { + margin-left: -0.5rem !important; } + .ms-xl-n3 { + margin-left: -1rem !important; } + .ms-xl-n4 { + margin-left: -1.5rem !important; } + .ms-xl-n5 { + margin-left: -3rem !important; } + .p-xl-0 { + padding: 0 !important; } + .p-xl-1 { + padding: 0.25rem !important; } + .p-xl-2 { + padding: 0.5rem !important; } + .p-xl-3 { + padding: 1rem !important; } + .p-xl-4 { + padding: 1.5rem !important; } + .p-xl-5 { + padding: 3rem !important; } + .px-xl-0 { + padding-right: 0 !important; + padding-left: 0 !important; } + .px-xl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; } + .px-xl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; } + .px-xl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; } + .px-xl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; } + .px-xl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; } + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; } + .py-xl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; } + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; } + .py-xl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; } + .py-xl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; } + .py-xl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; } + .pt-xl-0 { + padding-top: 0 !important; } + .pt-xl-1 { + padding-top: 0.25rem !important; } + .pt-xl-2 { + padding-top: 0.5rem !important; } + .pt-xl-3 { + padding-top: 1rem !important; } + .pt-xl-4 { + padding-top: 1.5rem !important; } + .pt-xl-5 { + padding-top: 3rem !important; } + .pe-xl-0 { + padding-right: 0 !important; } + .pe-xl-1 { + padding-right: 0.25rem !important; } + .pe-xl-2 { + padding-right: 0.5rem !important; } + .pe-xl-3 { + padding-right: 1rem !important; } + .pe-xl-4 { + padding-right: 1.5rem !important; } + .pe-xl-5 { + padding-right: 3rem !important; } + .pb-xl-0 { + padding-bottom: 0 !important; } + .pb-xl-1 { + padding-bottom: 0.25rem !important; } + .pb-xl-2 { + padding-bottom: 0.5rem !important; } + .pb-xl-3 { + padding-bottom: 1rem !important; } + .pb-xl-4 { + padding-bottom: 1.5rem !important; } + .pb-xl-5 { + padding-bottom: 3rem !important; } + .ps-xl-0 { + padding-left: 0 !important; } + .ps-xl-1 { + padding-left: 0.25rem !important; } + .ps-xl-2 { + padding-left: 0.5rem !important; } + .ps-xl-3 { + padding-left: 1rem !important; } + .ps-xl-4 { + padding-left: 1.5rem !important; } + .ps-xl-5 { + padding-left: 3rem !important; } + .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; } + .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-table { + display: table !important; } + .d-xxl-table-row { + display: table-row !important; } + .d-xxl-table-cell { + display: table-cell !important; } + .d-xxl-flex { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; } + .d-xxl-inline-flex { + display: -webkit-inline-box !important; + display: -ms-inline-flexbox !important; + display: inline-flex !important; } + .d-xxl-none { + display: none !important; } + .flex-xxl-fill { + -webkit-box-flex: 1 !important; + -ms-flex: 1 1 auto !important; + flex: 1 1 auto !important; } + .flex-xxl-row { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: row !important; + flex-direction: row !important; } + .flex-xxl-column { + -webkit-box-orient: vertical !important; + -webkit-box-direction: normal !important; + -ms-flex-direction: column !important; + flex-direction: column !important; } + .flex-xxl-row-reverse { + -webkit-box-orient: horizontal !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: row-reverse !important; + flex-direction: row-reverse !important; } + .flex-xxl-column-reverse { + -webkit-box-orient: vertical !important; + -webkit-box-direction: reverse !important; + -ms-flex-direction: column-reverse !important; + flex-direction: column-reverse !important; } + .flex-xxl-grow-0 { + -webkit-box-flex: 0 !important; + -ms-flex-positive: 0 !important; + flex-grow: 0 !important; } + .flex-xxl-grow-1 { + -webkit-box-flex: 1 !important; + -ms-flex-positive: 1 !important; + flex-grow: 1 !important; } + .flex-xxl-shrink-0 { + -ms-flex-negative: 0 !important; + flex-shrink: 0 !important; } + .flex-xxl-shrink-1 { + -ms-flex-negative: 1 !important; + flex-shrink: 1 !important; } + .flex-xxl-wrap { + -ms-flex-wrap: wrap !important; + flex-wrap: wrap !important; } + .flex-xxl-nowrap { + -ms-flex-wrap: nowrap !important; + flex-wrap: nowrap !important; } + .flex-xxl-wrap-reverse { + -ms-flex-wrap: wrap-reverse !important; + flex-wrap: wrap-reverse !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; } + .justify-content-xxl-start { + -webkit-box-pack: start !important; + -ms-flex-pack: start !important; + justify-content: flex-start !important; } + .justify-content-xxl-end { + -webkit-box-pack: end !important; + -ms-flex-pack: end !important; + justify-content: flex-end !important; } + .justify-content-xxl-center { + -webkit-box-pack: center !important; + -ms-flex-pack: center !important; + justify-content: center !important; } + .justify-content-xxl-between { + -webkit-box-pack: justify !important; + -ms-flex-pack: justify !important; + justify-content: space-between !important; } + .justify-content-xxl-around { + -ms-flex-pack: distribute !important; + justify-content: space-around !important; } + .justify-content-xxl-evenly { + -webkit-box-pack: space-evenly !important; + -ms-flex-pack: space-evenly !important; + justify-content: space-evenly !important; } + .align-items-xxl-start { + -webkit-box-align: start !important; + -ms-flex-align: start !important; + align-items: flex-start !important; } + .align-items-xxl-end { + -webkit-box-align: end !important; + -ms-flex-align: end !important; + align-items: flex-end !important; } + .align-items-xxl-center { + -webkit-box-align: center !important; + -ms-flex-align: center !important; + align-items: center !important; } + .align-items-xxl-baseline { + -webkit-box-align: baseline !important; + -ms-flex-align: baseline !important; + align-items: baseline !important; } + .align-items-xxl-stretch { + -webkit-box-align: stretch !important; + -ms-flex-align: stretch !important; + align-items: stretch !important; } + .align-content-xxl-start { + -ms-flex-line-pack: start !important; + align-content: flex-start !important; } + .align-content-xxl-end { + -ms-flex-line-pack: end !important; + align-content: flex-end !important; } + .align-content-xxl-center { + -ms-flex-line-pack: center !important; + align-content: center !important; } + .align-content-xxl-between { + -ms-flex-line-pack: justify !important; + align-content: space-between !important; } + .align-content-xxl-around { + -ms-flex-line-pack: distribute !important; + align-content: space-around !important; } + .align-content-xxl-stretch { + -ms-flex-line-pack: stretch !important; + align-content: stretch !important; } + .align-self-xxl-auto { + -ms-flex-item-align: auto !important; + align-self: auto !important; } + .align-self-xxl-start { + -ms-flex-item-align: start !important; + align-self: flex-start !important; } + .align-self-xxl-end { + -ms-flex-item-align: end !important; + align-self: flex-end !important; } + .align-self-xxl-center { + -ms-flex-item-align: center !important; + align-self: center !important; } + .align-self-xxl-baseline { + -ms-flex-item-align: baseline !important; + align-self: baseline !important; } + .align-self-xxl-stretch { + -ms-flex-item-align: stretch !important; + align-self: stretch !important; } + .order-xxl-first { + -webkit-box-ordinal-group: 0 !important; + -ms-flex-order: -1 !important; + order: -1 !important; } + .order-xxl-0 { + -webkit-box-ordinal-group: 1 !important; + -ms-flex-order: 0 !important; + order: 0 !important; } + .order-xxl-1 { + -webkit-box-ordinal-group: 2 !important; + -ms-flex-order: 1 !important; + order: 1 !important; } + .order-xxl-2 { + -webkit-box-ordinal-group: 3 !important; + -ms-flex-order: 2 !important; + order: 2 !important; } + .order-xxl-3 { + -webkit-box-ordinal-group: 4 !important; + -ms-flex-order: 3 !important; + order: 3 !important; } + .order-xxl-4 { + -webkit-box-ordinal-group: 5 !important; + -ms-flex-order: 4 !important; + order: 4 !important; } + .order-xxl-5 { + -webkit-box-ordinal-group: 6 !important; + -ms-flex-order: 5 !important; + order: 5 !important; } + .order-xxl-last { + -webkit-box-ordinal-group: 7 !important; + -ms-flex-order: 6 !important; + order: 6 !important; } + .m-xxl-0 { + margin: 0 !important; } + .m-xxl-1 { + margin: 0.25rem !important; } + .m-xxl-2 { + margin: 0.5rem !important; } + .m-xxl-3 { + margin: 1rem !important; } + .m-xxl-4 { + margin: 1.5rem !important; } + .m-xxl-5 { + margin: 3rem !important; } + .m-xxl-auto { + margin: auto !important; } + .mx-xxl-0 { + margin-right: 0 !important; + margin-left: 0 !important; } + .mx-xxl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; } + .mx-xxl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; } + .mx-xxl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; } + .mx-xxl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; } + .mx-xxl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; } + .mx-xxl-auto { + margin-right: auto !important; + margin-left: auto !important; } + .my-xxl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; } + .my-xxl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; } + .my-xxl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; } + .my-xxl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; } + .my-xxl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; } + .my-xxl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; } + .my-xxl-auto { + margin-top: auto !important; + margin-bottom: auto !important; } + .mt-xxl-0 { + margin-top: 0 !important; } + .mt-xxl-1 { + margin-top: 0.25rem !important; } + .mt-xxl-2 { + margin-top: 0.5rem !important; } + .mt-xxl-3 { + margin-top: 1rem !important; } + .mt-xxl-4 { + margin-top: 1.5rem !important; } + .mt-xxl-5 { + margin-top: 3rem !important; } + .mt-xxl-auto { + margin-top: auto !important; } + .me-xxl-0 { + margin-right: 0 !important; } + .me-xxl-1 { + margin-right: 0.25rem !important; } + .me-xxl-2 { + margin-right: 0.5rem !important; } + .me-xxl-3 { + margin-right: 1rem !important; } + .me-xxl-4 { + margin-right: 1.5rem !important; } + .me-xxl-5 { + margin-right: 3rem !important; } + .me-xxl-auto { + margin-right: auto !important; } + .mb-xxl-0 { + margin-bottom: 0 !important; } + .mb-xxl-1 { + margin-bottom: 0.25rem !important; } + .mb-xxl-2 { + margin-bottom: 0.5rem !important; } + .mb-xxl-3 { + margin-bottom: 1rem !important; } + .mb-xxl-4 { + margin-bottom: 1.5rem !important; } + .mb-xxl-5 { + margin-bottom: 3rem !important; } + .mb-xxl-auto { + margin-bottom: auto !important; } + .ms-xxl-0 { + margin-left: 0 !important; } + .ms-xxl-1 { + margin-left: 0.25rem !important; } + .ms-xxl-2 { + margin-left: 0.5rem !important; } + .ms-xxl-3 { + margin-left: 1rem !important; } + .ms-xxl-4 { + margin-left: 1.5rem !important; } + .ms-xxl-5 { + margin-left: 3rem !important; } + .ms-xxl-auto { + margin-left: auto !important; } + .m-xxl-n1 { + margin: -0.25rem !important; } + .m-xxl-n2 { + margin: -0.5rem !important; } + .m-xxl-n3 { + margin: -1rem !important; } + .m-xxl-n4 { + margin: -1.5rem !important; } + .m-xxl-n5 { + margin: -3rem !important; } + .mx-xxl-n1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; } + .mx-xxl-n2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; } + .mx-xxl-n3 { + margin-right: -1rem !important; + margin-left: -1rem !important; } + .mx-xxl-n4 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; } + .mx-xxl-n5 { + margin-right: -3rem !important; + margin-left: -3rem !important; } + .my-xxl-n1 { + margin-top: -0.25rem !important; + margin-bottom: -0.25rem !important; } + .my-xxl-n2 { + margin-top: -0.5rem !important; + margin-bottom: -0.5rem !important; } + .my-xxl-n3 { + margin-top: -1rem !important; + margin-bottom: -1rem !important; } + .my-xxl-n4 { + margin-top: -1.5rem !important; + margin-bottom: -1.5rem !important; } + .my-xxl-n5 { + margin-top: -3rem !important; + margin-bottom: -3rem !important; } + .mt-xxl-n1 { + margin-top: -0.25rem !important; } + .mt-xxl-n2 { + margin-top: -0.5rem !important; } + .mt-xxl-n3 { + margin-top: -1rem !important; } + .mt-xxl-n4 { + margin-top: -1.5rem !important; } + .mt-xxl-n5 { + margin-top: -3rem !important; } + .me-xxl-n1 { + margin-right: -0.25rem !important; } + .me-xxl-n2 { + margin-right: -0.5rem !important; } + .me-xxl-n3 { + margin-right: -1rem !important; } + .me-xxl-n4 { + margin-right: -1.5rem !important; } + .me-xxl-n5 { + margin-right: -3rem !important; } + .mb-xxl-n1 { + margin-bottom: -0.25rem !important; } + .mb-xxl-n2 { + margin-bottom: -0.5rem !important; } + .mb-xxl-n3 { + margin-bottom: -1rem !important; } + .mb-xxl-n4 { + margin-bottom: -1.5rem !important; } + .mb-xxl-n5 { + margin-bottom: -3rem !important; } + .ms-xxl-n1 { + margin-left: -0.25rem !important; } + .ms-xxl-n2 { + margin-left: -0.5rem !important; } + .ms-xxl-n3 { + margin-left: -1rem !important; } + .ms-xxl-n4 { + margin-left: -1.5rem !important; } + .ms-xxl-n5 { + margin-left: -3rem !important; } + .p-xxl-0 { + padding: 0 !important; } + .p-xxl-1 { + padding: 0.25rem !important; } + .p-xxl-2 { + padding: 0.5rem !important; } + .p-xxl-3 { + padding: 1rem !important; } + .p-xxl-4 { + padding: 1.5rem !important; } + .p-xxl-5 { + padding: 3rem !important; } + .px-xxl-0 { + padding-right: 0 !important; + padding-left: 0 !important; } + .px-xxl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; } + .px-xxl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; } + .px-xxl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; } + .px-xxl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; } + .px-xxl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; } + .py-xxl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; } + .py-xxl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; } + .py-xxl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; } + .py-xxl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; } + .py-xxl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; } + .py-xxl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; } + .pt-xxl-0 { + padding-top: 0 !important; } + .pt-xxl-1 { + padding-top: 0.25rem !important; } + .pt-xxl-2 { + padding-top: 0.5rem !important; } + .pt-xxl-3 { + padding-top: 1rem !important; } + .pt-xxl-4 { + padding-top: 1.5rem !important; } + .pt-xxl-5 { + padding-top: 3rem !important; } + .pe-xxl-0 { + padding-right: 0 !important; } + .pe-xxl-1 { + padding-right: 0.25rem !important; } + .pe-xxl-2 { + padding-right: 0.5rem !important; } + .pe-xxl-3 { + padding-right: 1rem !important; } + .pe-xxl-4 { + padding-right: 1.5rem !important; } + .pe-xxl-5 { + padding-right: 3rem !important; } + .pb-xxl-0 { + padding-bottom: 0 !important; } + .pb-xxl-1 { + padding-bottom: 0.25rem !important; } + .pb-xxl-2 { + padding-bottom: 0.5rem !important; } + .pb-xxl-3 { + padding-bottom: 1rem !important; } + .pb-xxl-4 { + padding-bottom: 1.5rem !important; } + .pb-xxl-5 { + padding-bottom: 3rem !important; } + .ps-xxl-0 { + padding-left: 0 !important; } + .ps-xxl-1 { + padding-left: 0.25rem !important; } + .ps-xxl-2 { + padding-left: 0.5rem !important; } + .ps-xxl-3 { + padding-left: 1rem !important; } + .ps-xxl-4 { + padding-left: 1.5rem !important; } + .ps-xxl-5 { + padding-left: 3rem !important; } + .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.25rem !important; } + .fs-2 { + font-size: 1.8rem !important; } + .fs-3 { + font-size: 1.575rem !important; } + .fs-4 { + font-size: 1.35rem !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-table { + display: table !important; } + .d-print-table-row { + display: table-row !important; } + .d-print-table-cell { + display: table-cell !important; } + .d-print-flex { + display: -webkit-box !important; + display: -ms-flexbox !important; + display: flex !important; } + .d-print-inline-flex { + display: -webkit-inline-box !important; + display: -ms-inline-flexbox !important; + display: inline-flex !important; } + .d-print-none { + display: none !important; } } + +/* ============= + General +============= */ +html { + position: relative; + min-height: 100%; } + +.h1, +.h2, +.h3, +.h4, +.h5, +.h6, h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 { + color: #495057; + font-weight: 500; + font-family: "Roboto", sans-serif; } + +a { + text-decoration: none !important; } + +label { + font-weight: 500; + margin-bottom: 0.5rem; } + +.ff-primary { + font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; } + +.ff-secondary { + font-family: "Roboto", sans-serif; } + +.small, small, .small { + font-weight: 400; } + +.blockquote { + padding: 10px 20px; + border-left: 4px solid #eff0f2; } + +.blockquote-reverse { + border-left: 0; + border-right: 4px solid #eff0f2; + text-align: right; } + +@media (min-width: 1200px) { + .container, + .container-lg, + .container-md, + .container-sm, + .container-xl, + .container-xxl { + max-width: 1140px; } } + +.row > * { + position: relative; } + +.icon { + position: relative; + top: -2px; } + +.icon-xxs { + height: 14px; + width: 14px; } + +.icon-xs { + height: 16px; + width: 16px; } + +.icon-sm { + height: 20px; + width: 20px; } + +.icon-lg { + height: 32px; + width: 32px; } + +.icon-xl { + height: 46px; + width: 46px; } + +.icon-xxl { + height: 62px; + width: 62px; } + +.sw-3 { + stroke-width: 3px; } + +.sw-1_5 { + stroke-width: 1.5px; } + +.sw-1 { + stroke-width: 1px; } + +.icon-dual-primary { + color: #2e86de; + fill: rgba(3, 142, 220, 0.16); } + +.icon-fill-primary { + fill: #2e86de !important; } + +.icon-dual-secondary { + color: #74788d; + fill: rgba(116, 120, 141, 0.16); } + +.icon-fill-secondary { + fill: #74788d !important; } + +.icon-dual-success { + color: #51d28c; + fill: rgba(81, 210, 140, 0.16); } + +.icon-fill-success { + fill: #51d28c !important; } + +.icon-dual-info { + color: #5fd0f3; + fill: rgba(95, 208, 243, 0.16); } + +.icon-fill-info { + fill: #5fd0f3 !important; } + +.icon-dual-warning { + color: #f7cc53; + fill: rgba(247, 204, 83, 0.16); } + +.icon-fill-warning { + fill: #f7cc53 !important; } + +.icon-dual-danger { + color: #f34e4e; + fill: rgba(243, 78, 78, 0.16); } + +.icon-fill-danger { + fill: #f34e4e !important; } + +.icon-dual-pink { + color: #e83e8c; + fill: rgba(232, 62, 140, 0.16); } + +.icon-fill-pink { + fill: #e83e8c !important; } + +.icon-dual-light { + color: #f5f6f8; + fill: rgba(245, 246, 248, 0.16); } + +.icon-fill-light { + fill: #f5f6f8 !important; } + +.icon-dual-dark { + color: #343a40; + fill: rgba(52, 58, 64, 0.16); } + +.icon-fill-dark { + fill: #343a40 !important; } + +.icon-dual-purple { + color: #564ab1; + fill: rgba(86, 74, 177, 0.16); } + +.icon-fill-purple { + fill: #564ab1 !important; } + +.custom-blockpuote.blockquote { + padding: 20px 20px 20px 30px; + border-left: 3px solid; + font-size: 16px; } + +.custom-blockpuote.blockquote.blockpuote-primary { + color: #2e86de; + border-color: #2e86de; + background-color: rgba(3, 142, 220, 0.15); } + .custom-blockpuote.blockquote.blockpuote-primary .blockquote-footer { + color: #2e86de; } + +.custom-blockpuote.blockquote.blockpuote-outline-primary { + border: 1px solid #2e86de; + border-left: 4px solid #2e86de; } + .custom-blockpuote.blockquote.blockpuote-outline-primary .blockquote-footer { + color: #2e86de; } + +.custom-blockpuote.blockquote.blockpuote-secondary { + color: #74788d; + border-color: #74788d; + background-color: rgba(116, 120, 141, 0.15); } + .custom-blockpuote.blockquote.blockpuote-secondary .blockquote-footer { + color: #74788d; } + +.custom-blockpuote.blockquote.blockpuote-outline-secondary { + border: 1px solid #74788d; + border-left: 4px solid #74788d; } + .custom-blockpuote.blockquote.blockpuote-outline-secondary .blockquote-footer { + color: #74788d; } + +.custom-blockpuote.blockquote.blockpuote-success { + color: #51d28c; + border-color: #51d28c; + background-color: rgba(81, 210, 140, 0.15); } + .custom-blockpuote.blockquote.blockpuote-success .blockquote-footer { + color: #51d28c; } + +.custom-blockpuote.blockquote.blockpuote-outline-success { + border: 1px solid #51d28c; + border-left: 4px solid #51d28c; } + .custom-blockpuote.blockquote.blockpuote-outline-success .blockquote-footer { + color: #51d28c; } + +.custom-blockpuote.blockquote.blockpuote-info { + color: #5fd0f3; + border-color: #5fd0f3; + background-color: rgba(95, 208, 243, 0.15); } + .custom-blockpuote.blockquote.blockpuote-info .blockquote-footer { + color: #5fd0f3; } + +.custom-blockpuote.blockquote.blockpuote-outline-info { + border: 1px solid #5fd0f3; + border-left: 4px solid #5fd0f3; } + .custom-blockpuote.blockquote.blockpuote-outline-info .blockquote-footer { + color: #5fd0f3; } + +.custom-blockpuote.blockquote.blockpuote-warning { + color: #f7cc53; + border-color: #f7cc53; + background-color: rgba(247, 204, 83, 0.15); } + .custom-blockpuote.blockquote.blockpuote-warning .blockquote-footer { + color: #f7cc53; } + +.custom-blockpuote.blockquote.blockpuote-outline-warning { + border: 1px solid #f7cc53; + border-left: 4px solid #f7cc53; } + .custom-blockpuote.blockquote.blockpuote-outline-warning .blockquote-footer { + color: #f7cc53; } + +.custom-blockpuote.blockquote.blockpuote-danger { + color: #f34e4e; + border-color: #f34e4e; + background-color: rgba(243, 78, 78, 0.15); } + .custom-blockpuote.blockquote.blockpuote-danger .blockquote-footer { + color: #f34e4e; } + +.custom-blockpuote.blockquote.blockpuote-outline-danger { + border: 1px solid #f34e4e; + border-left: 4px solid #f34e4e; } + .custom-blockpuote.blockquote.blockpuote-outline-danger .blockquote-footer { + color: #f34e4e; } + +.custom-blockpuote.blockquote.blockpuote-pink { + color: #e83e8c; + border-color: #e83e8c; + background-color: rgba(232, 62, 140, 0.15); } + .custom-blockpuote.blockquote.blockpuote-pink .blockquote-footer { + color: #e83e8c; } + +.custom-blockpuote.blockquote.blockpuote-outline-pink { + border: 1px solid #e83e8c; + border-left: 4px solid #e83e8c; } + .custom-blockpuote.blockquote.blockpuote-outline-pink .blockquote-footer { + color: #e83e8c; } + +.custom-blockpuote.blockquote.blockpuote-light { + color: #f5f6f8; + border-color: #f5f6f8; + background-color: rgba(245, 246, 248, 0.15); } + .custom-blockpuote.blockquote.blockpuote-light .blockquote-footer { + color: #f5f6f8; } + +.custom-blockpuote.blockquote.blockpuote-outline-light { + border: 1px solid #f5f6f8; + border-left: 4px solid #f5f6f8; } + .custom-blockpuote.blockquote.blockpuote-outline-light .blockquote-footer { + color: #f5f6f8; } + +.custom-blockpuote.blockquote.blockpuote-dark { + color: #343a40; + border-color: #343a40; + background-color: rgba(52, 58, 64, 0.15); } + .custom-blockpuote.blockquote.blockpuote-dark .blockquote-footer { + color: #343a40; } + +.custom-blockpuote.blockquote.blockpuote-outline-dark { + border: 1px solid #343a40; + border-left: 4px solid #343a40; } + .custom-blockpuote.blockquote.blockpuote-outline-dark .blockquote-footer { + color: #343a40; } + +.custom-blockpuote.blockquote.blockpuote-purple { + color: #564ab1; + border-color: #564ab1; + background-color: rgba(86, 74, 177, 0.15); } + .custom-blockpuote.blockquote.blockpuote-purple .blockquote-footer { + color: #564ab1; } + +.custom-blockpuote.blockquote.blockpuote-outline-purple { + border: 1px solid #564ab1; + border-left: 4px solid #564ab1; } + .custom-blockpuote.blockquote.blockpuote-outline-purple .blockquote-footer { + color: #564ab1; } + +.bg-soft-primary { + background-color: rgba(3, 142, 220, 0.25) !important; } + +.bg-soft-secondary { + background-color: rgba(116, 120, 141, 0.25) !important; } + +.bg-soft-success { + background-color: rgba(81, 210, 140, 0.25) !important; } + +.bg-soft-info { + background-color: rgba(95, 208, 243, 0.25) !important; } + +.bg-soft-warning { + background-color: rgba(247, 204, 83, 0.25) !important; } + +.bg-soft-danger { + background-color: rgba(243, 78, 78, 0.25) !important; } + +.bg-soft-pink { + background-color: rgba(232, 62, 140, 0.25) !important; } + +.bg-soft-light { + background-color: rgba(245, 246, 248, 0.25) !important; } + +.bg-soft-dark { + background-color: rgba(52, 58, 64, 0.25) !important; } + +.bg-soft-purple { + background-color: rgba(86, 74, 177, 0.25) !important; } + +body[data-layout-mode="dark"] .bg-body { + background-color: #03273c !important; } + +body[data-layout-mode="dark"] .bg-light { + background-color: #043a5a !important; } + +body[data-layout-mode="dark"] .bg-dark { + background-color: #033350 !important; } + +body[data-layout-mode="dark"] .bg-soft-light { + background-color: rgba(4, 58, 90, 0.25) !important; } + +.badge-soft-primary { + color: #2e86de; + background-color: rgba(3, 142, 220, 0.1); } + +.badge-soft-secondary { + color: #74788d; + background-color: rgba(116, 120, 141, 0.1); } + +.badge-soft-success { + color: #51d28c; + background-color: rgba(81, 210, 140, 0.1); } + +.badge-soft-info { + color: #5fd0f3; + background-color: rgba(95, 208, 243, 0.1); } + +.badge-soft-warning { + color: #f7cc53; + background-color: rgba(247, 204, 83, 0.1); } + +.badge-soft-danger { + color: #f34e4e; + background-color: rgba(243, 78, 78, 0.1); } + +.badge-soft-pink { + color: #e83e8c; + background-color: rgba(232, 62, 140, 0.1); } + +.badge-soft-light { + color: #f5f6f8; + background-color: rgba(245, 246, 248, 0.1); } + +.badge-soft-dark { + color: #343a40; + background-color: rgba(52, 58, 64, 0.1); } + +.badge-soft-purple { + color: #564ab1; + background-color: rgba(86, 74, 177, 0.1); } + +.badge-outline-primary { + color: #2e86de; + border: 1px solid #2e86de; + background-color: transparent; } + +.badge-outline-secondary { + color: #74788d; + border: 1px solid #74788d; + background-color: transparent; } + +.badge-outline-success { + color: #51d28c; + border: 1px solid #51d28c; + background-color: transparent; } + +.badge-outline-info { + color: #5fd0f3; + border: 1px solid #5fd0f3; + background-color: transparent; } + +.badge-outline-warning { + color: #f7cc53; + border: 1px solid #f7cc53; + background-color: transparent; } + +.badge-outline-danger { + color: #f34e4e; + border: 1px solid #f34e4e; + background-color: transparent; } + +.badge-outline-pink { + color: #e83e8c; + border: 1px solid #e83e8c; + background-color: transparent; } + +.badge-outline-light { + color: #f5f6f8; + border: 1px solid #f5f6f8; + background-color: transparent; } + +.badge-outline-dark { + color: #343a40; + border: 1px solid #343a40; + background-color: transparent; } + +.badge-outline-purple { + color: #564ab1; + border: 1px solid #564ab1; + background-color: transparent; } + +.badge.bg-light, .badge.badge-soft-light, .badge.badge-outline-light { + color: #343a40; } + +body[data-layout-mode=dark] .badge.bg-light, body[data-layout-mode=dark] .badge.badge-soft-light, body[data-layout-mode=dark] .badge.badge-outline-light { + color: #adb5bd; } + +body[data-layout-mode=dark] .badge-soft-dark { + color: #adb5bd; } + +button, +a { + outline: none !important; } + +.btn-warning { + color: #fff !important; } + +.btn-soft-primary { + color: #2e86de; + background-color: rgba(3, 142, 220, 0.1); + border-color: transparent; } + .btn-soft-primary:hover, .btn-soft-primary:focus, .btn-soft-primary:active { + color: #fff; + background-color: #2e86de; } + .btn-soft-primary:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(3, 142, 220, 0.5); + box-shadow: 0 0 0 0.15rem rgba(3, 142, 220, 0.5); } + +.btn-soft-secondary { + color: #74788d; + background-color: rgba(116, 120, 141, 0.1); + border-color: transparent; } + .btn-soft-secondary:hover, .btn-soft-secondary:focus, .btn-soft-secondary:active { + color: #fff; + background-color: #74788d; } + .btn-soft-secondary:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(116, 120, 141, 0.5); + box-shadow: 0 0 0 0.15rem rgba(116, 120, 141, 0.5); } + +.btn-soft-success { + color: #51d28c; + background-color: rgba(81, 210, 140, 0.1); + border-color: transparent; } + .btn-soft-success:hover, .btn-soft-success:focus, .btn-soft-success:active { + color: #fff; + background-color: #51d28c; } + .btn-soft-success:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(81, 210, 140, 0.5); + box-shadow: 0 0 0 0.15rem rgba(81, 210, 140, 0.5); } + +.btn-soft-info { + color: #5fd0f3; + background-color: rgba(95, 208, 243, 0.1); + border-color: transparent; } + .btn-soft-info:hover, .btn-soft-info:focus, .btn-soft-info:active { + color: #fff; + background-color: #5fd0f3; } + .btn-soft-info:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(95, 208, 243, 0.5); + box-shadow: 0 0 0 0.15rem rgba(95, 208, 243, 0.5); } + +.btn-soft-warning { + color: #f7cc53; + background-color: rgba(247, 204, 83, 0.1); + border-color: transparent; } + .btn-soft-warning:hover, .btn-soft-warning:focus, .btn-soft-warning:active { + color: #fff; + background-color: #f7cc53; } + .btn-soft-warning:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(247, 204, 83, 0.5); + box-shadow: 0 0 0 0.15rem rgba(247, 204, 83, 0.5); } + +.btn-soft-danger { + color: #f34e4e; + background-color: rgba(243, 78, 78, 0.1); + border-color: transparent; } + .btn-soft-danger:hover, .btn-soft-danger:focus, .btn-soft-danger:active { + color: #fff; + background-color: #f34e4e; } + .btn-soft-danger:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(243, 78, 78, 0.5); + box-shadow: 0 0 0 0.15rem rgba(243, 78, 78, 0.5); } + +.btn-soft-pink { + color: #e83e8c; + background-color: rgba(232, 62, 140, 0.1); + border-color: transparent; } + .btn-soft-pink:hover, .btn-soft-pink:focus, .btn-soft-pink:active { + color: #fff; + background-color: #e83e8c; } + .btn-soft-pink:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(232, 62, 140, 0.5); + box-shadow: 0 0 0 0.15rem rgba(232, 62, 140, 0.5); } + +.btn-soft-light { + color: #f5f6f8; + background-color: rgba(245, 246, 248, 0.1); + border-color: transparent; } + .btn-soft-light:hover, .btn-soft-light:focus, .btn-soft-light:active { + color: #fff; + background-color: #f5f6f8; } + .btn-soft-light:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(245, 246, 248, 0.5); + box-shadow: 0 0 0 0.15rem rgba(245, 246, 248, 0.5); } + +.btn-soft-dark { + color: #343a40; + background-color: rgba(52, 58, 64, 0.1); + border-color: transparent; } + .btn-soft-dark:hover, .btn-soft-dark:focus, .btn-soft-dark:active { + color: #fff; + background-color: #343a40; } + .btn-soft-dark:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(52, 58, 64, 0.5); + box-shadow: 0 0 0 0.15rem rgba(52, 58, 64, 0.5); } + +.btn-soft-purple { + color: #564ab1; + background-color: rgba(86, 74, 177, 0.1); + border-color: transparent; } + .btn-soft-purple:hover, .btn-soft-purple:focus, .btn-soft-purple:active { + color: #fff; + background-color: #564ab1; } + .btn-soft-purple:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(86, 74, 177, 0.5); + box-shadow: 0 0 0 0.15rem rgba(86, 74, 177, 0.5); } + +.btn-soft-light { + color: #74788d; } + .btn-soft-light:hover, .btn-soft-light:focus, .btn-soft-light:active { + color: #343a40; } + +.btn-outline-light { + color: #343a40; } + .btn-outline-light:hover, .btn-outline-light:focus, .btn-outline-light:active { + color: #343a40; } + +.btn-primary.dropdown-toggle-split { + background-color: #039ef5; + border: none; } + +.btn-secondary.dropdown-toggle-split { + background-color: #828698; + border: none; } + +.btn-success.dropdown-toggle-split { + background-color: #65d799; + border: none; } + +.btn-info.dropdown-toggle-split { + background-color: #77d7f5; + border: none; } + +.btn-warning.dropdown-toggle-split { + background-color: #f8d36b; + border: none; } + +.btn-danger.dropdown-toggle-split { + background-color: #f56666; + border: none; } + +.btn-pink.dropdown-toggle-split { + background-color: #eb559a; + border: none; } + +.btn-light.dropdown-toggle-split { + background-color: white; + border: none; } + +.btn-dark.dropdown-toggle-split { + background-color: #3f474e; + border: none; } + +.btn-purple.dropdown-toggle-split { + background-color: #665aba; + border: none; } + +.btn-light.dropdown-toggle-split { + background-color: #eceef2; } + +.btn-rounded { + border-radius: 30px; } + +body[data-layout-mode="dark"] .btn-light { + color: #eff0f2; + background-color: #043a5a; + border-color: #043a5a !important; } + +body[data-layout-mode="dark"] .btn-outline-light { + color: #adb5bd; + border-color: #043a5a; } + body[data-layout-mode="dark"] .btn-outline-light:hover { + color: #adb5bd; + background-color: #043a5a; + border-color: #043a5a; } + +body[data-layout-mode="dark"] .btn-check:focus + .btn-light, +body[data-layout-mode="dark"] .btn-light:focus, +body[data-layout-mode="dark"] .btn-check:focus + .btn-dark, +body[data-layout-mode="dark"] .btn-dark:focus, +body[data-layout-mode="dark"] .btn-check:focus + .btn-outline-light, +body[data-layout-mode="dark"] .btn-outline-light:focus { + -webkit-box-shadow: 0 0 0 0.15rem rgba(4, 58, 90, 0.5); + box-shadow: 0 0 0 0.15rem rgba(4, 58, 90, 0.5); } + +body[data-layout-mode="dark"] .btn-soft-dark, body[data-layout-mode="dark"] .btn-outline-dark { + color: #eff0f2; } + +body[data-layout-mode="dark"] .btn-dark { + background-color: #033350; + border-color: #033350; } + +body[data-layout-mode="dark"] .btn-outline-dark { + border-color: #033350; } + body[data-layout-mode="dark"] .btn-outline-dark:hover { + background-color: #033350; + border-color: #033350; } + +body[data-layout-mode="dark"] .btn-soft-dark { + background-color: rgba(3, 45, 70, 0.25); + border-color: rgba(3, 45, 70, 0.25); } + body[data-layout-mode="dark"] .btn-soft-dark:hover { + background-color: #033350; + border-color: #033350; } + +.breadcrumb-item > a { + color: #495057; } + +.breadcrumb-item + .breadcrumb-item::before { + font-family: "Material Design Icons"; } + +body[data-layout-mode="dark"] .breadcrumb-item > a { + color: #adb5bd; } + +body[data-layout-mode="dark"] .breadcrumb-item.active { + color: #7e93a0; } + +.card { + margin-bottom: 20px; + -webkit-box-shadow: 0 2px 3px #eaedf2; + box-shadow: 0 2px 3px #eaedf2; } + +.card-drop { + color: #495057; } + +.card-title { + font-size: 16px; + margin-bottom: 0; } + +.card-title-desc { + color: #74788d; + margin-bottom: 24px; } + +.card-h-100 { + height: calc(100% - 20px); } + +.card-header.bg-primary { + background-color: #039ef5 !important; + border-bottom: none; } + +.card-header.bg-secondary { + background-color: #828698 !important; + border-bottom: none; } + +.card-header.bg-success { + background-color: #65d799 !important; + border-bottom: none; } + +.card-header.bg-info { + background-color: #77d7f5 !important; + border-bottom: none; } + +.card-header.bg-warning { + background-color: #f8d36b !important; + border-bottom: none; } + +.card-header.bg-danger { + background-color: #f56666 !important; + border-bottom: none; } + +.card-header.bg-pink { + background-color: #eb559a !important; + border-bottom: none; } + +.card-header.bg-light { + background-color: white !important; + border-bottom: none; } + +.card-header.bg-dark { + background-color: #3f474e !important; + border-bottom: none; } + +.card-header.bg-purple { + background-color: #665aba !important; + border-bottom: none; } + +body[data-layout-mode="dark"] .card { + -webkit-box-shadow: 0 2px 3px #022032; + box-shadow: 0 2px 3px #022032; } + +body[data-layout-mode="dark"] .card, body[data-layout-mode="dark"] .card-header, body[data-layout-mode="dark"] .card-footer, +body[data-layout-mode="dark"] .modal-content, body[data-layout-mode="dark"] .offcanvas { + background-color: #032d46; + border-color: #043a5a; } + +body[data-layout-mode="dark"] .card-title-desc { + color: #7e93a0; } + +.carousel-control-prev, +.carousel-control-next { + height: 30px; + width: 30px; + margin: auto 0; + background-color: #2e86de; } + +.carousel-dark .carousel-caption { + color: rgba(0, 0, 0, 0.8); } + .carousel-dark .carousel-caption .h1, .carousel-dark .carousel-caption .h2, .carousel-dark .carousel-caption .h3, .carousel-dark .carousel-caption .h4, .carousel-dark .carousel-caption .h5, .carousel-dark .carousel-caption .h6, + .carousel-dark .carousel-caption h1, + .carousel-dark .carousel-caption .h1, .carousel-dark .carousel-caption h2, .carousel-dark .carousel-caption .h2, .carousel-dark .carousel-caption h3, .carousel-dark .carousel-caption .h3, .carousel-dark .carousel-caption h4, .carousel-dark .carousel-caption .h4, .carousel-dark .carousel-caption h5, .carousel-dark .carousel-caption .h5, .carousel-dark .carousel-caption h6, .carousel-dark .carousel-caption .h6 { + color: rgba(0, 0, 0, 0.8); } + +.dropdown-menu { + -webkit-box-shadow: 0 5px 6px rgba(52, 58, 64, 0.1); + box-shadow: 0 5px 6px rgba(52, 58, 64, 0.1); + -webkit-animation-name: DropDownSlide; + animation-name: DropDownSlide; + -webkit-animation-duration: .3s; + animation-duration: .3s; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; + position: absolute; + z-index: 1000; } + .dropdown-menu.dropdown-megamenu { + padding: 20px; + left: 0 !important; + right: 0 !important; } + .dropdown-menu[data-popper-placement="top-start"] { + -webkit-animation-name: DropDownSlideDown; + animation-name: DropDownSlideDown; } + +@-webkit-keyframes DropDownSlide { + 100% { + margin-top: -1px; } + 0% { + margin-top: 8px; } } + +@keyframes DropDownSlide { + 100% { + margin-top: -1px; } + 0% { + margin-top: 8px; } } + +@-webkit-keyframes DropDownSlideDown { + 100% { + margin-bottom: 0; } + 0% { + margin-bottom: 8px; } } + +@keyframes DropDownSlideDown { + 100% { + margin-bottom: 0; } + 0% { + margin-bottom: 8px; } } + +@media (min-width: 600px) { + .dropdown-menu-xl { + width: 420px; } + .dropdown-menu-lg { + width: 320px; } + .dropdown-menu-md { + width: 240px; } } + +.dropdown-divider { + border-top-color: #eff0f2; } + +.dropdown-mega { + position: static !important; } + +.dropdown-mega-menu-xl { + width: 38rem; } + +.dropdown-mega-menu-lg { + width: 26rem; } + +[dir="ltr"] .dropdown-menu-start { + --bs-position: end; } + +[dir="ltr"] .dropdown-menu-end { + --bs-position: start; } + +body[data-layout-mode="dark"] .dropdown-menu { + background-color: #043552; + border-color: #043a5a; + color: #adb5bd; + -webkit-box-shadow: 0 5px 6px rgba(3, 45, 70, 0.1); + box-shadow: 0 5px 6px rgba(3, 45, 70, 0.1); } + +body[data-layout-mode="dark"] .dropdown-item { + color: #adb5bd; } + body[data-layout-mode="dark"] .dropdown-item:hover, body[data-layout-mode="dark"] .dropdown-item:active, body[data-layout-mode="dark"] .dropdown-item:focus { + background-color: #043d5e; } + body[data-layout-mode="dark"] .dropdown-item.active, body[data-layout-mode="dark"] .dropdown-item:active { + background-color: #043d5e; } + +body[data-layout-mode="dark"] .dropdown-divider { + border-top-color: #043a5a; } + +.nav-tabs > li > a, .nav-pills > li > a { + color: #495057; + font-weight: 500; } + +.nav-pills > a { + color: #495057; + font-weight: 500; } + +.nav-tabs-custom { + border-bottom: 2px solid #eff0f2; } + .nav-tabs-custom .nav-item { + position: relative; + color: #343a40; } + .nav-tabs-custom .nav-item .nav-link { + border: none; } + .nav-tabs-custom .nav-item .nav-link::after { + content: ""; + background: #2e86de; + height: 2px; + position: absolute; + width: 100%; + left: 0; + bottom: -2px; + -webkit-transition: all 250ms ease 0s; + transition: all 250ms ease 0s; + -webkit-transform: scale(0); + transform: scale(0); } + .nav-tabs-custom .nav-item .nav-link.active { + color: #2e86de; } + .nav-tabs-custom .nav-item .nav-link.active:after { + -webkit-transform: scale(1); + transform: scale(1); } + +body[data-layout-mode="dark"] .nav-link { + color: #adb5bd; } + +body[data-layout-mode="dark"] .nav-tabs { + border-color: #043a5a; } + body[data-layout-mode="dark"] .nav-tabs .nav-link { + color: #eff0f2; } + body[data-layout-mode="dark"] .nav-tabs .nav-link:focus, body[data-layout-mode="dark"] .nav-tabs .nav-link:hover { + border-color: #043a5a #043a5a #043a5a; } + body[data-layout-mode="dark"] .nav-tabs .nav-link.active { + background-color: #032d46; + border-color: #043a5a #043a5a #032d46; } + +body[data-layout-mode="dark"] .nav-pills .nav-link { + color: #eff0f2; } + body[data-layout-mode="dark"] .nav-pills .nav-link.active { + color: #fff; } + +.table th { + font-weight: 500; } + +.table .table-light { + color: #495057; + border-color: #eff0f2; + background-color: #f8f9fa; } + +.table-nowrap th, +.table-nowrap td { + white-space: nowrap; } + +.table-responsive::-webkit-scrollbar { + -webkit-appearance: none; } + +.table-responsive::-webkit-scrollbar:vertical { + width: 12px; } + +.table-responsive::-webkit-scrollbar:horizontal { + height: 9px; } + +.table-responsive::-webkit-scrollbar-thumb { + background-color: rgba(52, 58, 64, 0.2); + border-radius: 10px; + border: 2px solid #fff; } + +.table-responsive::-webkit-scrollbar-track { + border-radius: 10px; + background-color: #fff; } + +body[data-layout-mode="dark"] .table { + border-color: #043d5e; + color: #7e93a0; } + +body[data-layout-mode="dark"] .table-bordered { + border-color: #043a5a; } + body[data-layout-mode="dark"] .table-bordered th, + body[data-layout-mode="dark"] .table-bordered td { + border-color: #043a5a; } + +body[data-layout-mode="dark"] .table > :not(:last-child) > :last-child > * { + border-bottom-color: #043a5a; } + +body[data-layout-mode="dark"] .table-striped > tbody > tr:nth-of-type(odd), +body[data-layout-mode="dark"] .table-hover > tbody > tr:hover, +body[data-layout-mode="dark"] .table .table-light { + --bs-table-accent-bg: #03304b; + color: #7e93a0; } + +body[data-layout-mode="dark"] .table-dark { + background-color: #043a5a; } + body[data-layout-mode="dark"] .table-dark > :not(caption) > * > * { + background-color: #043a5a; } + +body[data-layout-mode="dark"] .table-active { + background-color: #033350 !important; + color: #7e93a0; } + body[data-layout-mode="dark"] .table-active th, body[data-layout-mode="dark"] .table-active td { + background-color: #033350; } + +body[data-layout-mode="dark"] .table-responsive::-webkit-scrollbar-thumb { + background-color: rgba(255, 255, 255, 0.075); + border: 2px solid #032d46; } + +body[data-layout-mode="dark"] .table-responsive::-webkit-scrollbar-track { + background-color: #032d46; } + +.pagination-rounded .page-link { + border-radius: 30px !important; + margin: 0 5px; + border: none; + width: 32px; + height: 32px; + padding: 0; + text-align: center; + line-height: 32px; } + +body[data-layout-mode="dark"] .page-link { + background-color: #032d46; + border-color: #043a5a; + color: #adb5bd; } + body[data-layout-mode="dark"] .page-link:hover { + background-color: #033350; + color: #2e86de; } + +body[data-layout-mode="dark"] .page-item.disabled .page-link { + color: #7e93a0; + background-color: #032d46; + border-color: #043a5a; } + +body[data-layout-mode="dark"] .page-item.active .page-link { + color: #fff; + background-color: #2e86de; + border-color: #2e86de; } + +.progress-sm { + height: 5px; } + +.progress-md { + height: 8px; } + +.progress-lg { + height: 12px; } + +.progress-xl { + height: 16px; } + +.animated-progess { + position: relative; } + .animated-progess .progress-bar { + position: relative; + border-radius: 30px; + -webkit-animation: animate-positive 2s; + animation: animate-positive 2s; } + +@-webkit-keyframes animate-positive { + 0% { + width: 0; } } + +@keyframes animate-positive { + 0% { + width: 0; } } + +.custom-progress { + height: 15px; + padding: 4px; + border-radius: 30px; } + .custom-progress .progress-bar { + position: relative; + border-radius: 30px; } + .custom-progress .progress-bar::before { + content: ""; + position: absolute; + width: 4px; + height: 4px; + background-color: #fff; + border-radius: 7px; + right: 2px; + top: 50%; + -webkit-transform: translateY(-50%); + transform: translateY(-50%); } + +body[data-layout-mode="dark"] .progress { + background-color: #043a5a; } + +.popover { + -webkit-box-shadow: 0 5px 6px rgba(52, 58, 64, 0.1); + box-shadow: 0 5px 6px rgba(52, 58, 64, 0.1); } diff --git a/api/public/assets/imgs/WelcomeSeedProject.jpg b/api/public/assets/imgs/WelcomeSeedProject.jpg new file mode 100644 index 0000000..6ac3b97 Binary files /dev/null and b/api/public/assets/imgs/WelcomeSeedProject.jpg differ diff --git a/api/public/assets/js/bootstrap.bundle.min.js b/api/public/assets/js/bootstrap.bundle.min.js new file mode 100644 index 0000000..2f0cc7b --- /dev/null +++ b/api/public/assets/js/bootstrap.bundle.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v5.1.3 (https://getbootstrap.com/) + * Copyright 2011-2021 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="transitionend",e=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e},i=t=>{const i=e(t);return i&&document.querySelector(i)?i:null},n=t=>{const i=e(t);return i?document.querySelector(i):null},s=e=>{e.dispatchEvent(new Event(t))},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(t):null,a=(t,e,i)=>{Object.keys(i).forEach((n=>{const s=i[n],r=e[n],a=r&&o(r)?"element":null==(l=r)?`${l}`:{}.toString.call(l).match(/\s([a-z]+)/i)[1].toLowerCase();var l;if(!new RegExp(s).test(a))throw new TypeError(`${t.toUpperCase()}: Option "${n}" provided type "${a}" but expected type "${s}".`)}))},l=t=>!(!o(t)||0===t.getClientRects().length)&&"visible"===getComputedStyle(t).getPropertyValue("visibility"),c=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),h=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?h(t.parentNode):null},d=()=>{},u=t=>{t.offsetHeight},f=()=>{const{jQuery:t}=window;return t&&!document.body.hasAttribute("data-bs-no-jquery")?t:null},p=[],m=()=>"rtl"===document.documentElement.dir,g=t=>{var e;e=()=>{const e=f();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?(p.length||document.addEventListener("DOMContentLoaded",(()=>{p.forEach((t=>t()))})),p.push(e)):e()},_=t=>{"function"==typeof t&&t()},b=(e,i,n=!0)=>{if(!n)return void _(e);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})(i)+5;let r=!1;const a=({target:n})=>{n===i&&(r=!0,i.removeEventListener(t,a),_(e))};i.addEventListener(t,a),setTimeout((()=>{r||s(i)}),o)},v=(t,e,i,n)=>{let s=t.indexOf(e);if(-1===s)return t[!i&&n?t.length-1:0];const o=t.length;return s+=i?1:-1,n&&(s=(s+o)%o),t[Math.max(0,Math.min(s,o-1))]},y=/[^.]*(?=\..*)\.|.*/,w=/\..*/,E=/::\d+$/,A={};let T=1;const O={mouseenter:"mouseover",mouseleave:"mouseout"},C=/^(mouseenter|mouseleave)/i,k=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function L(t,e){return e&&`${e}::${T++}`||t.uidEvent||T++}function x(t){const e=L(t);return t.uidEvent=e,A[e]=A[e]||{},A[e]}function D(t,e,i=null){const n=Object.keys(t);for(let s=0,o=n.length;sfunction(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};n?n=t(n):i=t(i)}const[o,r,a]=S(e,i,n),l=x(t),c=l[a]||(l[a]={}),h=D(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=L(r,e.replace(y,"")),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(let a=o.length;a--;)if(o[a]===r)return s.delegateTarget=r,n.oneOff&&j.off(t,s.type,e,i),i.apply(r,[s]);return null}}(t,i,n):function(t,e){return function i(n){return n.delegateTarget=t,i.oneOff&&j.off(t,n.type,e),e.apply(t,[n])}}(t,i);u.delegationSelector=o?i:null,u.originalHandler=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function I(t,e,i,n,s){const o=D(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function P(t){return t=t.replace(w,""),O[t]||t}const j={on(t,e,i,n){N(t,e,i,n,!1)},one(t,e,i,n){N(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=S(e,i,n),a=r!==e,l=x(t),c=e.startsWith(".");if(void 0!==o){if(!l||!l[r])return;return void I(t,l,r,o,s?i:null)}c&&Object.keys(l).forEach((i=>{!function(t,e,i,n){const s=e[i]||{};Object.keys(s).forEach((o=>{if(o.includes(n)){const n=s[o];I(t,e,i,n.originalHandler,n.delegationSelector)}}))}(t,l,i,e.slice(1))}));const h=l[r]||{};Object.keys(h).forEach((i=>{const n=i.replace(E,"");if(!a||e.includes(n)){const e=h[i];I(t,l,r,e.originalHandler,e.delegationSelector)}}))},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=f(),s=P(e),o=e!==s,r=k.has(s);let a,l=!0,c=!0,h=!1,d=null;return o&&n&&(a=n.Event(e,i),n(t).trigger(a),l=!a.isPropagationStopped(),c=!a.isImmediatePropagationStopped(),h=a.isDefaultPrevented()),r?(d=document.createEvent("HTMLEvents"),d.initEvent(s,l,!0)):d=new CustomEvent(e,{bubbles:l,cancelable:!0}),void 0!==i&&Object.keys(i).forEach((t=>{Object.defineProperty(d,t,{get:()=>i[t]})})),h&&d.preventDefault(),c&&t.dispatchEvent(d),d.defaultPrevented&&void 0!==a&&a.preventDefault(),d}},M=new Map,H={set(t,e,i){M.has(t)||M.set(t,new Map);const n=M.get(t);n.has(e)||0===n.size?n.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>M.has(t)&&M.get(t).get(e)||null,remove(t,e){if(!M.has(t))return;const i=M.get(t);i.delete(e),0===i.size&&M.delete(t)}};class B{constructor(t){(t=r(t))&&(this._element=t,H.set(this._element,this.constructor.DATA_KEY,this))}dispose(){H.remove(this._element,this.constructor.DATA_KEY),j.off(this._element,this.constructor.EVENT_KEY),Object.getOwnPropertyNames(this).forEach((t=>{this[t]=null}))}_queueCallback(t,e,i=!0){b(t,e,i)}static getInstance(t){return H.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.1.3"}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}}const R=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,s=t.NAME;j.on(document,i,`[data-bs-dismiss="${s}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),c(this))return;const o=n(this)||this.closest(`.${s}`);t.getOrCreateInstance(o)[e]()}))};class W extends B{static get NAME(){return"alert"}close(){if(j.trigger(this._element,"close.bs.alert").defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),j.trigger(this._element,"closed.bs.alert"),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=W.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(W,"close"),g(W);const $='[data-bs-toggle="button"]';class z extends B{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=z.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}function q(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function F(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}j.on(document,"click.bs.button.data-api",$,(t=>{t.preventDefault();const e=t.target.closest($);z.getOrCreateInstance(e).toggle()})),g(z);const U={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${F(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${F(e)}`)},getDataAttributes(t){if(!t)return{};const e={};return Object.keys(t.dataset).filter((t=>t.startsWith("bs"))).forEach((i=>{let n=i.replace(/^bs/,"");n=n.charAt(0).toLowerCase()+n.slice(1,n.length),e[n]=q(t.dataset[i])})),e},getDataAttribute:(t,e)=>q(t.getAttribute(`data-bs-${F(e)}`)),offset(t){const e=t.getBoundingClientRect();return{top:e.top+window.pageYOffset,left:e.left+window.pageXOffset}},position:t=>({top:t.offsetTop,left:t.offsetLeft})},V={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;for(;n&&n.nodeType===Node.ELEMENT_NODE&&3!==n.nodeType;)n.matches(e)&&i.push(n),n=n.parentNode;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=>!c(t)&&l(t)))}},K="carousel",X={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},Y={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},Q="next",G="prev",Z="left",J="right",tt={ArrowLeft:J,ArrowRight:Z},et="slid.bs.carousel",it="active",nt=".active.carousel-item";class st extends B{constructor(t,e){super(t),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._indicatorsElement=V.findOne(".carousel-indicators",this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent),this._addEventListeners()}static get Default(){return X}static get NAME(){return K}next(){this._slide(Q)}nextWhenVisible(){!document.hidden&&l(this._element)&&this.next()}prev(){this._slide(G)}pause(t){t||(this._isPaused=!0),V.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(s(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null}cycle(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))}to(t){this._activeElement=V.findOne(nt,this._element);const e=this._getItemIndex(this._activeElement);if(t>this._items.length-1||t<0)return;if(this._isSliding)return void j.one(this._element,et,(()=>this.to(t)));if(e===t)return this.pause(),void this.cycle();const i=t>e?Q:G;this._slide(i,this._items[t])}_getConfig(t){return t={...X,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},a(K,t,Y),t}_handleSwipe(){const t=Math.abs(this.touchDeltaX);if(t<=40)return;const e=t/this.touchDeltaX;this.touchDeltaX=0,e&&this._slide(e>0?J:Z)}_addEventListeners(){this._config.keyboard&&j.on(this._element,"keydown.bs.carousel",(t=>this._keydown(t))),"hover"===this._config.pause&&(j.on(this._element,"mouseenter.bs.carousel",(t=>this.pause(t))),j.on(this._element,"mouseleave.bs.carousel",(t=>this.cycle(t)))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()}_addTouchEventListeners(){const t=t=>this._pointerEvent&&("pen"===t.pointerType||"touch"===t.pointerType),e=e=>{t(e)?this.touchStartX=e.clientX:this._pointerEvent||(this.touchStartX=e.touches[0].clientX)},i=t=>{this.touchDeltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this.touchStartX},n=e=>{t(e)&&(this.touchDeltaX=e.clientX-this.touchStartX),this._handleSwipe(),"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((t=>this.cycle(t)),500+this._config.interval))};V.find(".carousel-item img",this._element).forEach((t=>{j.on(t,"dragstart.bs.carousel",(t=>t.preventDefault()))})),this._pointerEvent?(j.on(this._element,"pointerdown.bs.carousel",(t=>e(t))),j.on(this._element,"pointerup.bs.carousel",(t=>n(t))),this._element.classList.add("pointer-event")):(j.on(this._element,"touchstart.bs.carousel",(t=>e(t))),j.on(this._element,"touchmove.bs.carousel",(t=>i(t))),j.on(this._element,"touchend.bs.carousel",(t=>n(t))))}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=tt[t.key];e&&(t.preventDefault(),this._slide(e))}_getItemIndex(t){return this._items=t&&t.parentNode?V.find(".carousel-item",t.parentNode):[],this._items.indexOf(t)}_getItemByOrder(t,e){const i=t===Q;return v(this._items,e,i,this._config.wrap)}_triggerSlideEvent(t,e){const i=this._getItemIndex(t),n=this._getItemIndex(V.findOne(nt,this._element));return j.trigger(this._element,"slide.bs.carousel",{relatedTarget:t,direction:e,from:n,to:i})}_setActiveIndicatorElement(t){if(this._indicatorsElement){const e=V.findOne(".active",this._indicatorsElement);e.classList.remove(it),e.removeAttribute("aria-current");const i=V.find("[data-bs-target]",this._indicatorsElement);for(let e=0;e{j.trigger(this._element,et,{relatedTarget:o,direction:d,from:s,to:r})};if(this._element.classList.contains("slide")){o.classList.add(h),u(o),n.classList.add(c),o.classList.add(c);const t=()=>{o.classList.remove(c,h),o.classList.add(it),n.classList.remove(it,h,c),this._isSliding=!1,setTimeout(f,0)};this._queueCallback(t,n,!0)}else n.classList.remove(it),o.classList.add(it),this._isSliding=!1,f();a&&this.cycle()}_directionToOrder(t){return[J,Z].includes(t)?m()?t===Z?G:Q:t===Z?Q:G:t}_orderToDirection(t){return[Q,G].includes(t)?m()?t===G?Z:J:t===G?J:Z:t}static carouselInterface(t,e){const i=st.getOrCreateInstance(t,e);let{_config:n}=i;"object"==typeof e&&(n={...n,...e});const s="string"==typeof e?e:n.slide;if("number"==typeof e)i.to(e);else if("string"==typeof s){if(void 0===i[s])throw new TypeError(`No method named "${s}"`);i[s]()}else n.interval&&n.ride&&(i.pause(),i.cycle())}static jQueryInterface(t){return this.each((function(){st.carouselInterface(this,t)}))}static dataApiClickHandler(t){const e=n(this);if(!e||!e.classList.contains("carousel"))return;const i={...U.getDataAttributes(e),...U.getDataAttributes(this)},s=this.getAttribute("data-bs-slide-to");s&&(i.interval=!1),st.carouselInterface(e,i),s&&st.getInstance(e).to(s),t.preventDefault()}}j.on(document,"click.bs.carousel.data-api","[data-bs-slide], [data-bs-slide-to]",st.dataApiClickHandler),j.on(window,"load.bs.carousel.data-api",(()=>{const t=V.find('[data-bs-ride="carousel"]');for(let e=0,i=t.length;et===this._element));null!==s&&o.length&&(this._selector=s,this._triggerArray.push(e))}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return rt}static get NAME(){return ot}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t,e=[];if(this._config.parent){const t=V.find(ut,this._config.parent);e=V.find(".collapse.show, .collapse.collapsing",this._config.parent).filter((e=>!t.includes(e)))}const i=V.findOne(this._selector);if(e.length){const n=e.find((t=>i!==t));if(t=n?pt.getInstance(n):null,t&&t._isTransitioning)return}if(j.trigger(this._element,"show.bs.collapse").defaultPrevented)return;e.forEach((e=>{i!==e&&pt.getOrCreateInstance(e,{toggle:!1}).hide(),t||H.set(e,"bs.collapse",null)}));const n=this._getDimension();this._element.classList.remove(ct),this._element.classList.add(ht),this._element.style[n]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const s=`scroll${n[0].toUpperCase()+n.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ht),this._element.classList.add(ct,lt),this._element.style[n]="",j.trigger(this._element,"shown.bs.collapse")}),this._element,!0),this._element.style[n]=`${this._element[s]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(j.trigger(this._element,"hide.bs.collapse").defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,u(this._element),this._element.classList.add(ht),this._element.classList.remove(ct,lt);const e=this._triggerArray.length;for(let t=0;t{this._isTransitioning=!1,this._element.classList.remove(ht),this._element.classList.add(ct),j.trigger(this._element,"hidden.bs.collapse")}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(lt)}_getConfig(t){return(t={...rt,...U.getDataAttributes(this._element),...t}).toggle=Boolean(t.toggle),t.parent=r(t.parent),a(ot,t,at),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=V.find(ut,this._config.parent);V.find(ft,this._config.parent).filter((e=>!t.includes(e))).forEach((t=>{const e=n(t);e&&this._addAriaAndCollapsedClass([t],this._isShown(e))}))}_addAriaAndCollapsedClass(t,e){t.length&&t.forEach((t=>{e?t.classList.remove(dt):t.classList.add(dt),t.setAttribute("aria-expanded",e)}))}static jQueryInterface(t){return this.each((function(){const e={};"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1);const i=pt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}j.on(document,"click.bs.collapse.data-api",ft,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();const e=i(this);V.find(e).forEach((t=>{pt.getOrCreateInstance(t,{toggle:!1}).toggle()}))})),g(pt);var mt="top",gt="bottom",_t="right",bt="left",vt="auto",yt=[mt,gt,_t,bt],wt="start",Et="end",At="clippingParents",Tt="viewport",Ot="popper",Ct="reference",kt=yt.reduce((function(t,e){return t.concat([e+"-"+wt,e+"-"+Et])}),[]),Lt=[].concat(yt,[vt]).reduce((function(t,e){return t.concat([e,e+"-"+wt,e+"-"+Et])}),[]),xt="beforeRead",Dt="read",St="afterRead",Nt="beforeMain",It="main",Pt="afterMain",jt="beforeWrite",Mt="write",Ht="afterWrite",Bt=[xt,Dt,St,Nt,It,Pt,jt,Mt,Ht];function Rt(t){return t?(t.nodeName||"").toLowerCase():null}function Wt(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function $t(t){return t instanceof Wt(t).Element||t instanceof Element}function zt(t){return t instanceof Wt(t).HTMLElement||t instanceof HTMLElement}function qt(t){return"undefined"!=typeof ShadowRoot&&(t instanceof Wt(t).ShadowRoot||t instanceof ShadowRoot)}const Ft={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];zt(s)&&Rt(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}),{});zt(n)&&Rt(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function Ut(t){return t.split("-")[0]}function Vt(t,e){var i=t.getBoundingClientRect();return{width:i.width/1,height:i.height/1,top:i.top/1,right:i.right/1,bottom:i.bottom/1,left:i.left/1,x:i.left/1,y:i.top/1}}function Kt(t){var e=Vt(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 Xt(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&qt(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Yt(t){return Wt(t).getComputedStyle(t)}function Qt(t){return["table","td","th"].indexOf(Rt(t))>=0}function Gt(t){return(($t(t)?t.ownerDocument:t.document)||window.document).documentElement}function Zt(t){return"html"===Rt(t)?t:t.assignedSlot||t.parentNode||(qt(t)?t.host:null)||Gt(t)}function Jt(t){return zt(t)&&"fixed"!==Yt(t).position?t.offsetParent:null}function te(t){for(var e=Wt(t),i=Jt(t);i&&Qt(i)&&"static"===Yt(i).position;)i=Jt(i);return i&&("html"===Rt(i)||"body"===Rt(i)&&"static"===Yt(i).position)?e:i||function(t){var e=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&zt(t)&&"fixed"===Yt(t).position)return null;for(var i=Zt(t);zt(i)&&["html","body"].indexOf(Rt(i))<0;){var n=Yt(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 ee(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}var ie=Math.max,ne=Math.min,se=Math.round;function oe(t,e,i){return ie(t,ne(e,i))}function re(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function ae(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const le={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=Ut(i.placement),l=ee(a),c=[bt,_t].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return re("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:ae(t,yt))}(s.padding,i),d=Kt(o),u="y"===l?mt:bt,f="y"===l?gt:_t,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=te(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,E=oe(v,w,y),A=l;i.modifiersData[n]=((e={})[A]=E,e.centerOffset=E-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)))&&Xt(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ce(t){return t.split("-")[1]}var he={top:"auto",right:"auto",bottom:"auto",left:"auto"};function de(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=!0===h?function(t){var e=t.x,i=t.y,n=window.devicePixelRatio||1;return{x:se(se(e*n)/n)||0,y:se(se(i*n)/n)||0}}(r):"function"==typeof h?h(r):r,u=d.x,f=void 0===u?0:u,p=d.y,m=void 0===p?0:p,g=r.hasOwnProperty("x"),_=r.hasOwnProperty("y"),b=bt,v=mt,y=window;if(c){var w=te(i),E="clientHeight",A="clientWidth";w===Wt(i)&&"static"!==Yt(w=Gt(i)).position&&"absolute"===a&&(E="scrollHeight",A="scrollWidth"),w=w,s!==mt&&(s!==bt&&s!==_t||o!==Et)||(v=gt,m-=w[E]-n.height,m*=l?1:-1),s!==bt&&(s!==mt&&s!==gt||o!==Et)||(b=_t,f-=w[A]-n.width,f*=l?1:-1)}var T,O=Object.assign({position:a},c&&he);return l?Object.assign({},O,((T={})[v]=_?"0":"",T[b]=g?"0":"",T.transform=(y.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",T)):Object.assign({},O,((e={})[v]=_?m+"px":"",e[b]=g?f+"px":"",e.transform="",e))}const ue={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:Ut(e.placement),variation:ce(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,de(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,de(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 fe={passive:!0};const pe={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=Wt(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,fe)})),a&&l.addEventListener("resize",i.update,fe),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,fe)})),a&&l.removeEventListener("resize",i.update,fe)}},data:{}};var me={left:"right",right:"left",bottom:"top",top:"bottom"};function ge(t){return t.replace(/left|right|bottom|top/g,(function(t){return me[t]}))}var _e={start:"end",end:"start"};function be(t){return t.replace(/start|end/g,(function(t){return _e[t]}))}function ve(t){var e=Wt(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function ye(t){return Vt(Gt(t)).left+ve(t).scrollLeft}function we(t){var e=Yt(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ee(t){return["html","body","#document"].indexOf(Rt(t))>=0?t.ownerDocument.body:zt(t)&&we(t)?t:Ee(Zt(t))}function Ae(t,e){var i;void 0===e&&(e=[]);var n=Ee(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=Wt(n),r=s?[o].concat(o.visualViewport||[],we(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Ae(Zt(r)))}function Te(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Oe(t,e){return e===Tt?Te(function(t){var e=Wt(t),i=Gt(t),n=e.visualViewport,s=i.clientWidth,o=i.clientHeight,r=0,a=0;return n&&(s=n.width,o=n.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(r=n.offsetLeft,a=n.offsetTop)),{width:s,height:o,x:r+ye(t),y:a}}(t)):zt(e)?function(t){var e=Vt(t);return e.top=e.top+t.clientTop,e.left=e.left+t.clientLeft,e.bottom=e.top+t.clientHeight,e.right=e.left+t.clientWidth,e.width=t.clientWidth,e.height=t.clientHeight,e.x=e.left,e.y=e.top,e}(e):Te(function(t){var e,i=Gt(t),n=ve(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=ie(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=ie(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+ye(t),l=-n.scrollTop;return"rtl"===Yt(s||i).direction&&(a+=ie(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Gt(t)))}function Ce(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?Ut(s):null,r=s?ce(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case mt:e={x:a,y:i.y-n.height};break;case gt:e={x:a,y:i.y+i.height};break;case _t:e={x:i.x+i.width,y:l};break;case bt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?ee(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case wt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case Et:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function ke(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.boundary,r=void 0===o?At:o,a=i.rootBoundary,l=void 0===a?Tt:a,c=i.elementContext,h=void 0===c?Ot:c,d=i.altBoundary,u=void 0!==d&&d,f=i.padding,p=void 0===f?0:f,m=re("number"!=typeof p?p:ae(p,yt)),g=h===Ot?Ct:Ot,_=t.rects.popper,b=t.elements[u?g:h],v=function(t,e,i){var n="clippingParents"===e?function(t){var e=Ae(Zt(t)),i=["absolute","fixed"].indexOf(Yt(t).position)>=0&&zt(t)?te(t):t;return $t(i)?e.filter((function(t){return $t(t)&&Xt(t,i)&&"body"!==Rt(t)})):[]}(t):[].concat(e),s=[].concat(n,[i]),o=s[0],r=s.reduce((function(e,i){var n=Oe(t,i);return e.top=ie(n.top,e.top),e.right=ne(n.right,e.right),e.bottom=ne(n.bottom,e.bottom),e.left=ie(n.left,e.left),e}),Oe(t,o));return r.width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}($t(b)?b:b.contextElement||Gt(t.elements.popper),r,l),y=Vt(t.elements.reference),w=Ce({reference:y,element:_,strategy:"absolute",placement:s}),E=Te(Object.assign({},_,w)),A=h===Ot?E:y,T={top:v.top-A.top+m.top,bottom:A.bottom-v.bottom+m.bottom,left:v.left-A.left+m.left,right:A.right-v.right+m.right},O=t.modifiersData.offset;if(h===Ot&&O){var C=O[s];Object.keys(T).forEach((function(t){var e=[_t,gt].indexOf(t)>=0?1:-1,i=[mt,gt].indexOf(t)>=0?"y":"x";T[t]+=C[i]*e}))}return T}function Le(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?Lt:l,h=ce(n),d=h?a?kt:kt.filter((function(t){return ce(t)===h})):yt,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]=ke(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[Ut(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const xe={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,_=Ut(g),b=l||(_!==g&&p?function(t){if(Ut(t)===vt)return[];var e=ge(t);return[be(t),e,be(e)]}(g):[ge(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat(Ut(i)===vt?Le(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,E=new Map,A=!0,T=v[0],O=0;O=0,D=x?"width":"height",S=ke(e,{placement:C,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),N=x?L?_t:bt:L?gt:mt;y[D]>w[D]&&(N=ge(N));var I=ge(N),P=[];if(o&&P.push(S[k]<=0),a&&P.push(S[N]<=0,S[I]<=0),P.every((function(t){return t}))){T=C,A=!1;break}E.set(C,P)}if(A)for(var j=function(t){var e=v.find((function(e){var i=E.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"!==j(M);M--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function De(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 Se(t){return[mt,_t,gt,bt].some((function(e){return t[e]>=0}))}const Ne={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=ke(e,{elementContext:"reference"}),a=ke(e,{altBoundary:!0}),l=De(r,n),c=De(a,s,o),h=Se(l),d=Se(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})}},Ie={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=Lt.reduce((function(t,i){return t[i]=function(t,e,i){var n=Ut(t),s=[bt,mt].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,[bt,_t].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}},Pe={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=Ce({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},je={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=ke(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=Ut(e.placement),b=ce(e.placement),v=!b,y=ee(_),w="x"===y?"y":"x",E=e.modifiersData.popperOffsets,A=e.rects.reference,T=e.rects.popper,O="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,C={x:0,y:0};if(E){if(o||a){var k="y"===y?mt:bt,L="y"===y?gt:_t,x="y"===y?"height":"width",D=E[y],S=E[y]+g[k],N=E[y]-g[L],I=f?-T[x]/2:0,P=b===wt?A[x]:T[x],j=b===wt?-T[x]:-A[x],M=e.elements.arrow,H=f&&M?Kt(M):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},R=B[k],W=B[L],$=oe(0,A[x],H[x]),z=v?A[x]/2-I-$-R-O:P-$-R-O,q=v?-A[x]/2+I+$+W+O:j+$+W+O,F=e.elements.arrow&&te(e.elements.arrow),U=F?"y"===y?F.clientTop||0:F.clientLeft||0:0,V=e.modifiersData.offset?e.modifiersData.offset[e.placement][y]:0,K=E[y]+z-V-U,X=E[y]+q-V;if(o){var Y=oe(f?ne(S,K):S,D,f?ie(N,X):N);E[y]=Y,C[y]=Y-D}if(a){var Q="x"===y?mt:bt,G="x"===y?gt:_t,Z=E[w],J=Z+g[Q],tt=Z-g[G],et=oe(f?ne(J,K):J,Z,f?ie(tt,X):tt);E[w]=et,C[w]=et-Z}}e.modifiersData[n]=C}},requiresIfExists:["offset"]};function Me(t,e,i){void 0===i&&(i=!1);var n=zt(e);zt(e)&&function(t){var e=t.getBoundingClientRect();e.width,t.offsetWidth,e.height,t.offsetHeight}(e);var s,o,r=Gt(e),a=Vt(t),l={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(n||!n&&!i)&&(("body"!==Rt(e)||we(r))&&(l=(s=e)!==Wt(s)&&zt(s)?{scrollLeft:(o=s).scrollLeft,scrollTop:o.scrollTop}:ve(s)),zt(e)?((c=Vt(e)).x+=e.clientLeft,c.y+=e.clientTop):r&&(c.x=ye(r))),{x:a.left+l.scrollLeft-c.x,y:a.top+l.scrollTop-c.y,width:a.width,height:a.height}}function He(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 Be={placement:"bottom",modifiers:[],strategy:"absolute"};function Re(){for(var t=arguments.length,e=new Array(t),i=0;ij.on(t,"mouseover",d))),this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(Je),this._element.classList.add(Je),j.trigger(this._element,"shown.bs.dropdown",t)}hide(){if(c(this._element)||!this._isShown(this._menu))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){j.trigger(this._element,"hide.bs.dropdown",t).defaultPrevented||("ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach((t=>j.off(t,"mouseover",d))),this._popper&&this._popper.destroy(),this._menu.classList.remove(Je),this._element.classList.remove(Je),this._element.setAttribute("aria-expanded","false"),U.removeDataAttribute(this._menu,"popper"),j.trigger(this._element,"hidden.bs.dropdown",t))}_getConfig(t){if(t={...this.constructor.Default,...U.getDataAttributes(this._element),...t},a(Ue,t,this.constructor.DefaultType),"object"==typeof t.reference&&!o(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${Ue.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(t){if(void 0===Fe)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let e=this._element;"parent"===this._config.reference?e=t:o(this._config.reference)?e=r(this._config.reference):"object"==typeof this._config.reference&&(e=this._config.reference);const i=this._getPopperConfig(),n=i.modifiers.find((t=>"applyStyles"===t.name&&!1===t.enabled));this._popper=qe(e,this._menu,i),n&&U.setDataAttribute(this._menu,"popper","static")}_isShown(t=this._element){return t.classList.contains(Je)}_getMenuElement(){return V.next(this._element,ei)[0]}_getPlacement(){const t=this._element.parentNode;if(t.classList.contains("dropend"))return ri;if(t.classList.contains("dropstart"))return ai;const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?ni:ii:e?oi:si}_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"static"===this._config.display&&(t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..."function"==typeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem({key:t,target:e}){const i=V.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter(l);i.length&&v(i,e,t===Ye,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=hi.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(t&&(2===t.button||"keyup"===t.type&&"Tab"!==t.key))return;const e=V.find(ti);for(let i=0,n=e.length;ie+t)),this._setElementAttributes(di,"paddingRight",(e=>e+t)),this._setElementAttributes(ui,"marginRight",(e=>e-t))}_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)[e];t.style[e]=`${i(Number.parseFloat(s))}px`}))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,"paddingRight"),this._resetElementAttributes(di,"paddingRight"),this._resetElementAttributes(ui,"marginRight")}_saveInitialAttribute(t,e){const i=t.style[e];i&&U.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=U.getDataAttribute(t,e);void 0===i?t.style.removeProperty(e):(U.removeDataAttribute(t,e),t.style[e]=i)}))}_applyManipulationCallback(t,e){o(t)?e(t):V.find(t,this._element).forEach(e)}isOverflowing(){return this.getWidth()>0}}const pi={className:"modal-backdrop",isVisible:!0,isAnimated:!1,rootElement:"body",clickCallback:null},mi={className:"string",isVisible:"boolean",isAnimated:"boolean",rootElement:"(element|string)",clickCallback:"(function|null)"},gi="show",_i="mousedown.bs.backdrop";class bi{constructor(t){this._config=this._getConfig(t),this._isAppended=!1,this._element=null}show(t){this._config.isVisible?(this._append(),this._config.isAnimated&&u(this._getElement()),this._getElement().classList.add(gi),this._emulateAnimation((()=>{_(t)}))):_(t)}hide(t){this._config.isVisible?(this._getElement().classList.remove(gi),this._emulateAnimation((()=>{this.dispose(),_(t)}))):_(t)}_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}_getConfig(t){return(t={...pi,..."object"==typeof t?t:{}}).rootElement=r(t.rootElement),a("backdrop",t,mi),t}_append(){this._isAppended||(this._config.rootElement.append(this._getElement()),j.on(this._getElement(),_i,(()=>{_(this._config.clickCallback)})),this._isAppended=!0)}dispose(){this._isAppended&&(j.off(this._element,_i),this._element.remove(),this._isAppended=!1)}_emulateAnimation(t){b(t,this._getElement(),this._config.isAnimated)}}const vi={trapElement:null,autofocus:!0},yi={trapElement:"element",autofocus:"boolean"},wi=".bs.focustrap",Ei="backward";class Ai{constructor(t){this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}activate(){const{trapElement:t,autofocus:e}=this._config;this._isActive||(e&&t.focus(),j.off(document,wi),j.on(document,"focusin.bs.focustrap",(t=>this._handleFocusin(t))),j.on(document,"keydown.tab.bs.focustrap",(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,j.off(document,wi))}_handleFocusin(t){const{target:e}=t,{trapElement:i}=this._config;if(e===document||e===i||i.contains(e))return;const n=V.focusableChildren(i);0===n.length?i.focus():this._lastTabNavDirection===Ei?n[n.length-1].focus():n[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?Ei:"forward")}_getConfig(t){return t={...vi,..."object"==typeof t?t:{}},a("focustrap",t,yi),t}}const Ti="modal",Oi="Escape",Ci={backdrop:!0,keyboard:!0,focus:!0},ki={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean"},Li="hidden.bs.modal",xi="show.bs.modal",Di="resize.bs.modal",Si="click.dismiss.bs.modal",Ni="keydown.dismiss.bs.modal",Ii="mousedown.dismiss.bs.modal",Pi="modal-open",ji="show",Mi="modal-static";class Hi extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._dialog=V.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollBar=new fi}static get Default(){return Ci}static get NAME(){return Ti}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||j.trigger(this._element,xi,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isAnimated()&&(this._isTransitioning=!0),this._scrollBar.hide(),document.body.classList.add(Pi),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),j.on(this._dialog,Ii,(()=>{j.one(this._element,"mouseup.dismiss.bs.modal",(t=>{t.target===this._element&&(this._ignoreBackdropClick=!0)}))})),this._showBackdrop((()=>this._showElement(t))))}hide(){if(!this._isShown||this._isTransitioning)return;if(j.trigger(this._element,"hide.bs.modal").defaultPrevented)return;this._isShown=!1;const t=this._isAnimated();t&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),this._focustrap.deactivate(),this._element.classList.remove(ji),j.off(this._element,Si),j.off(this._dialog,Ii),this._queueCallback((()=>this._hideModal()),this._element,t)}dispose(){[window,this._dialog].forEach((t=>j.off(t,".bs.modal"))),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new bi({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Ai({trapElement:this._element})}_getConfig(t){return t={...Ci,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},a(Ti,t,ki),t}_showElement(t){const e=this._isAnimated(),i=V.findOne(".modal-body",this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||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,i&&(i.scrollTop=0),e&&u(this._element),this._element.classList.add(ji),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,j.trigger(this._element,"shown.bs.modal",{relatedTarget:t})}),this._dialog,e)}_setEscapeEvent(){this._isShown?j.on(this._element,Ni,(t=>{this._config.keyboard&&t.key===Oi?(t.preventDefault(),this.hide()):this._config.keyboard||t.key!==Oi||this._triggerBackdropTransition()})):j.off(this._element,Ni)}_setResizeEvent(){this._isShown?j.on(window,Di,(()=>this._adjustDialog())):j.off(window,Di)}_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(Pi),this._resetAdjustments(),this._scrollBar.reset(),j.trigger(this._element,Li)}))}_showBackdrop(t){j.on(this._element,Si,(t=>{this._ignoreBackdropClick?this._ignoreBackdropClick=!1:t.target===t.currentTarget&&(!0===this._config.backdrop?this.hide():"static"===this._config.backdrop&&this._triggerBackdropTransition())})),this._backdrop.show(t)}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(j.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;const{classList:t,scrollHeight:e,style:i}=this._element,n=e>document.documentElement.clientHeight;!n&&"hidden"===i.overflowY||t.contains(Mi)||(n||(i.overflowY="hidden"),t.add(Mi),this._queueCallback((()=>{t.remove(Mi),n||this._queueCallback((()=>{i.overflowY=""}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;(!i&&t&&!m()||i&&!t&&m())&&(this._element.style.paddingLeft=`${e}px`),(i&&!t&&!m()||!i&&t&&m())&&(this._element.style.paddingRight=`${e}px`)}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=Hi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}j.on(document,"click.bs.modal.data-api",'[data-bs-toggle="modal"]',(function(t){const e=n(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),j.one(e,xi,(t=>{t.defaultPrevented||j.one(e,Li,(()=>{l(this)&&this.focus()}))}));const i=V.findOne(".modal.show");i&&Hi.getInstance(i).hide(),Hi.getOrCreateInstance(e).toggle(this)})),R(Hi),g(Hi);const Bi="offcanvas",Ri={backdrop:!0,keyboard:!0,scroll:!1},Wi={backdrop:"boolean",keyboard:"boolean",scroll:"boolean"},$i="show",zi=".offcanvas.show",qi="hidden.bs.offcanvas";class Fi extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get NAME(){return Bi}static get Default(){return Ri}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||j.trigger(this._element,"show.bs.offcanvas",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._element.style.visibility="visible",this._backdrop.show(),this._config.scroll||(new fi).hide(),this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add($i),this._queueCallback((()=>{this._config.scroll||this._focustrap.activate(),j.trigger(this._element,"shown.bs.offcanvas",{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(j.trigger(this._element,"hide.bs.offcanvas").defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.remove($i),this._backdrop.hide(),this._queueCallback((()=>{this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._element.style.visibility="hidden",this._config.scroll||(new fi).reset(),j.trigger(this._element,qi)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_getConfig(t){return t={...Ri,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},a(Bi,t,Wi),t}_initializeBackDrop(){return new bi({className:"offcanvas-backdrop",isVisible:this._config.backdrop,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:()=>this.hide()})}_initializeFocusTrap(){return new Ai({trapElement:this._element})}_addEventListeners(){j.on(this._element,"keydown.dismiss.bs.offcanvas",(t=>{this._config.keyboard&&"Escape"===t.key&&this.hide()}))}static jQueryInterface(t){return this.each((function(){const e=Fi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}j.on(document,"click.bs.offcanvas.data-api",'[data-bs-toggle="offcanvas"]',(function(t){const e=n(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),c(this))return;j.one(e,qi,(()=>{l(this)&&this.focus()}));const i=V.findOne(zi);i&&i!==e&&Fi.getInstance(i).hide(),Fi.getOrCreateInstance(e).toggle(this)})),j.on(window,"load.bs.offcanvas.data-api",(()=>V.find(zi).forEach((t=>Fi.getOrCreateInstance(t).show())))),R(Fi),g(Fi);const Ui=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Vi=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,Ki=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,Xi=(t,e)=>{const i=t.nodeName.toLowerCase();if(e.includes(i))return!Ui.has(i)||Boolean(Vi.test(t.nodeValue)||Ki.test(t.nodeValue));const n=e.filter((t=>t instanceof RegExp));for(let t=0,e=n.length;t{Xi(t,r)||i.removeAttribute(t.nodeName)}))}return n.body.innerHTML}const Qi="tooltip",Gi=new Set(["sanitize","allowList","sanitizeFn"]),Zi={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(array|string|function)",container:"(string|element|boolean)",fallbackPlacements:"array",boundary:"(string|element)",customClass:"(string|function)",sanitize:"boolean",sanitizeFn:"(null|function)",allowList:"object",popperConfig:"(null|object|function)"},Ji={AUTO:"auto",TOP:"top",RIGHT:m()?"left":"right",BOTTOM:"bottom",LEFT:m()?"right":"left"},tn={animation:!0,template:'',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:[0,0],container:!1,fallbackPlacements:["top","right","bottom","left"],boundary:"clippingParents",customClass:"",sanitize:!0,sanitizeFn:null,allowList:{"*":["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:[]},popperConfig:null},en={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},nn="fade",sn="show",on="show",rn="out",an=".tooltip-inner",ln=".modal",cn="hide.bs.modal",hn="hover",dn="focus";class un extends B{constructor(t,e){if(void 0===Fe)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this._config=this._getConfig(e),this.tip=null,this._setListeners()}static get Default(){return tn}static get NAME(){return Qi}static get Event(){return en}static get DefaultType(){return Zi}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(t){if(this._isEnabled)if(t){const e=this._initializeOnDelegatedTarget(t);e._activeTrigger.click=!e._activeTrigger.click,e._isWithActiveTrigger()?e._enter(null,e):e._leave(null,e)}else{if(this.getTipElement().classList.contains(sn))return void this._leave(null,this);this._enter(null,this)}}dispose(){clearTimeout(this._timeout),j.off(this._element.closest(ln),cn,this._hideModalHandler),this.tip&&this.tip.remove(),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this.isWithContent()||!this._isEnabled)return;const t=j.trigger(this._element,this.constructor.Event.SHOW),e=h(this._element),i=null===e?this._element.ownerDocument.documentElement.contains(this._element):e.contains(this._element);if(t.defaultPrevented||!i)return;"tooltip"===this.constructor.NAME&&this.tip&&this.getTitle()!==this.tip.querySelector(an).innerHTML&&(this._disposePopper(),this.tip.remove(),this.tip=null);const n=this.getTipElement(),s=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME);n.setAttribute("id",s),this._element.setAttribute("aria-describedby",s),this._config.animation&&n.classList.add(nn);const o="function"==typeof this._config.placement?this._config.placement.call(this,n,this._element):this._config.placement,r=this._getAttachment(o);this._addAttachmentClass(r);const{container:a}=this._config;H.set(n,this.constructor.DATA_KEY,this),this._element.ownerDocument.documentElement.contains(this.tip)||(a.append(n),j.trigger(this._element,this.constructor.Event.INSERTED)),this._popper?this._popper.update():this._popper=qe(this._element,n,this._getPopperConfig(r)),n.classList.add(sn);const l=this._resolvePossibleFunction(this._config.customClass);l&&n.classList.add(...l.split(" ")),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach((t=>{j.on(t,"mouseover",d)}));const c=this.tip.classList.contains(nn);this._queueCallback((()=>{const t=this._hoverState;this._hoverState=null,j.trigger(this._element,this.constructor.Event.SHOWN),t===rn&&this._leave(null,this)}),this.tip,c)}hide(){if(!this._popper)return;const t=this.getTipElement();if(j.trigger(this._element,this.constructor.Event.HIDE).defaultPrevented)return;t.classList.remove(sn),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach((t=>j.off(t,"mouseover",d))),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1;const e=this.tip.classList.contains(nn);this._queueCallback((()=>{this._isWithActiveTrigger()||(this._hoverState!==on&&t.remove(),this._cleanTipClass(),this._element.removeAttribute("aria-describedby"),j.trigger(this._element,this.constructor.Event.HIDDEN),this._disposePopper())}),this.tip,e),this._hoverState=""}update(){null!==this._popper&&this._popper.update()}isWithContent(){return Boolean(this.getTitle())}getTipElement(){if(this.tip)return this.tip;const t=document.createElement("div");t.innerHTML=this._config.template;const e=t.children[0];return this.setContent(e),e.classList.remove(nn,sn),this.tip=e,this.tip}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),an)}_sanitizeAndSetContent(t,e,i){const n=V.findOne(i,t);e||!n?this.setElementContent(n,e):n.remove()}setElementContent(t,e){if(null!==t)return o(e)?(e=r(e),void(this._config.html?e.parentNode!==t&&(t.innerHTML="",t.append(e)):t.textContent=e.textContent)):void(this._config.html?(this._config.sanitize&&(e=Yi(e,this._config.allowList,this._config.sanitizeFn)),t.innerHTML=e):t.textContent=e)}getTitle(){const t=this._element.getAttribute("data-bs-original-title")||this._config.title;return this._resolvePossibleFunction(t)}updateAttachment(t){return"right"===t?"end":"left"===t?"start":t}_initializeOnDelegatedTarget(t,e){return e||this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_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"function"==typeof t?t.call(this._element):t}_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:"onChange",enabled:!0,phase:"afterWrite",fn:t=>this._handlePopperPlacementChange(t)}],onFirstUpdate:t=>{t.options.placement!==t.placement&&this._handlePopperPlacementChange(t)}};return{...e,..."function"==typeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_addAttachmentClass(t){this.getTipElement().classList.add(`${this._getBasicClassPrefix()}-${this.updateAttachment(t)}`)}_getAttachment(t){return Ji[t.toUpperCase()]}_setListeners(){this._config.trigger.split(" ").forEach((t=>{if("click"===t)j.on(this._element,this.constructor.Event.CLICK,this._config.selector,(t=>this.toggle(t)));else if("manual"!==t){const e=t===hn?this.constructor.Event.MOUSEENTER:this.constructor.Event.FOCUSIN,i=t===hn?this.constructor.Event.MOUSELEAVE:this.constructor.Event.FOCUSOUT;j.on(this._element,e,this._config.selector,(t=>this._enter(t))),j.on(this._element,i,this._config.selector,(t=>this._leave(t)))}})),this._hideModalHandler=()=>{this._element&&this.hide()},j.on(this._element.closest(ln),cn,this._hideModalHandler),this._config.selector?this._config={...this._config,trigger:"manual",selector:""}:this._fixTitle()}_fixTitle(){const t=this._element.getAttribute("title"),e=typeof this._element.getAttribute("data-bs-original-title");(t||"string"!==e)&&(this._element.setAttribute("data-bs-original-title",t||""),!t||this._element.getAttribute("aria-label")||this._element.textContent||this._element.setAttribute("aria-label",t),this._element.setAttribute("title",""))}_enter(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusin"===t.type?dn:hn]=!0),e.getTipElement().classList.contains(sn)||e._hoverState===on?e._hoverState=on:(clearTimeout(e._timeout),e._hoverState=on,e._config.delay&&e._config.delay.show?e._timeout=setTimeout((()=>{e._hoverState===on&&e.show()}),e._config.delay.show):e.show())}_leave(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusout"===t.type?dn:hn]=e._element.contains(t.relatedTarget)),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=rn,e._config.delay&&e._config.delay.hide?e._timeout=setTimeout((()=>{e._hoverState===rn&&e.hide()}),e._config.delay.hide):e.hide())}_isWithActiveTrigger(){for(const t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1}_getConfig(t){const e=U.getDataAttributes(this._element);return Object.keys(e).forEach((t=>{Gi.has(t)&&delete e[t]})),(t={...this.constructor.Default,...e,..."object"==typeof t&&t?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()),a(Qi,t,this.constructor.DefaultType),t.sanitize&&(t.template=Yi(t.template,t.allowList,t.sanitizeFn)),t}_getDelegateConfig(){const t={};for(const e in this._config)this.constructor.Default[e]!==this._config[e]&&(t[e]=this._config[e]);return t}_cleanTipClass(){const t=this.getTipElement(),e=new RegExp(`(^|\\s)${this._getBasicClassPrefix()}\\S+`,"g"),i=t.getAttribute("class").match(e);null!==i&&i.length>0&&i.map((t=>t.trim())).forEach((e=>t.classList.remove(e)))}_getBasicClassPrefix(){return"bs-tooltip"}_handlePopperPlacementChange(t){const{state:e}=t;e&&(this.tip=e.elements.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement)))}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null)}static jQueryInterface(t){return this.each((function(){const e=un.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}g(un);const fn={...un.Default,placement:"right",offset:[0,8],trigger:"click",content:"",template:''},pn={...un.DefaultType,content:"(string|element|function)"},mn={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"};class gn extends un{static get Default(){return fn}static get NAME(){return"popover"}static get Event(){return mn}static get DefaultType(){return pn}isWithContent(){return this.getTitle()||this._getContent()}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),".popover-header"),this._sanitizeAndSetContent(t,this._getContent(),".popover-body")}_getContent(){return this._resolvePossibleFunction(this._config.content)}_getBasicClassPrefix(){return"bs-popover"}static jQueryInterface(t){return this.each((function(){const e=gn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}g(gn);const _n="scrollspy",bn={offset:10,method:"auto",target:""},vn={offset:"number",method:"string",target:"(string|element)"},yn="active",wn=".nav-link, .list-group-item, .dropdown-item",En="position";class An extends B{constructor(t,e){super(t),this._scrollElement="BODY"===this._element.tagName?window:this._element,this._config=this._getConfig(e),this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,j.on(this._scrollElement,"scroll.bs.scrollspy",(()=>this._process())),this.refresh(),this._process()}static get Default(){return bn}static get NAME(){return _n}refresh(){const t=this._scrollElement===this._scrollElement.window?"offset":En,e="auto"===this._config.method?t:this._config.method,n=e===En?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),V.find(wn,this._config.target).map((t=>{const s=i(t),o=s?V.findOne(s):null;if(o){const t=o.getBoundingClientRect();if(t.width||t.height)return[U[e](o).top+n,s]}return null})).filter((t=>t)).sort(((t,e)=>t[0]-e[0])).forEach((t=>{this._offsets.push(t[0]),this._targets.push(t[1])}))}dispose(){j.off(this._scrollElement,".bs.scrollspy"),super.dispose()}_getConfig(t){return(t={...bn,...U.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}}).target=r(t.target)||document.documentElement,a(_n,t,vn),t}_getScrollTop(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop}_getScrollHeight(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}_getOffsetHeight(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height}_process(){const t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),i=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=i){const t=this._targets[this._targets.length-1];this._activeTarget!==t&&this._activate(t)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(let e=this._offsets.length;e--;)this._activeTarget!==this._targets[e]&&t>=this._offsets[e]&&(void 0===this._offsets[e+1]||t`${e}[data-bs-target="${t}"],${e}[href="${t}"]`)),i=V.findOne(e.join(","),this._config.target);i.classList.add(yn),i.classList.contains("dropdown-item")?V.findOne(".dropdown-toggle",i.closest(".dropdown")).classList.add(yn):V.parents(i,".nav, .list-group").forEach((t=>{V.prev(t,".nav-link, .list-group-item").forEach((t=>t.classList.add(yn))),V.prev(t,".nav-item").forEach((t=>{V.children(t,".nav-link").forEach((t=>t.classList.add(yn)))}))})),j.trigger(this._scrollElement,"activate.bs.scrollspy",{relatedTarget:t})}_clear(){V.find(wn,this._config.target).filter((t=>t.classList.contains(yn))).forEach((t=>t.classList.remove(yn)))}static jQueryInterface(t){return this.each((function(){const e=An.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}j.on(window,"load.bs.scrollspy.data-api",(()=>{V.find('[data-bs-spy="scroll"]').forEach((t=>new An(t)))})),g(An);const Tn="active",On="fade",Cn="show",kn=".active",Ln=":scope > li > .active";class xn extends B{static get NAME(){return"tab"}show(){if(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains(Tn))return;let t;const e=n(this._element),i=this._element.closest(".nav, .list-group");if(i){const e="UL"===i.nodeName||"OL"===i.nodeName?Ln:kn;t=V.find(e,i),t=t[t.length-1]}const s=t?j.trigger(t,"hide.bs.tab",{relatedTarget:this._element}):null;if(j.trigger(this._element,"show.bs.tab",{relatedTarget:t}).defaultPrevented||null!==s&&s.defaultPrevented)return;this._activate(this._element,i);const o=()=>{j.trigger(t,"hidden.bs.tab",{relatedTarget:this._element}),j.trigger(this._element,"shown.bs.tab",{relatedTarget:t})};e?this._activate(e,e.parentNode,o):o()}_activate(t,e,i){const n=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?V.children(e,kn):V.find(Ln,e))[0],s=i&&n&&n.classList.contains(On),o=()=>this._transitionComplete(t,n,i);n&&s?(n.classList.remove(Cn),this._queueCallback(o,t,!0)):o()}_transitionComplete(t,e,i){if(e){e.classList.remove(Tn);const t=V.findOne(":scope > .dropdown-menu .active",e.parentNode);t&&t.classList.remove(Tn),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}t.classList.add(Tn),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),u(t),t.classList.contains(On)&&t.classList.add(Cn);let n=t.parentNode;if(n&&"LI"===n.nodeName&&(n=n.parentNode),n&&n.classList.contains("dropdown-menu")){const e=t.closest(".dropdown");e&&V.find(".dropdown-toggle",e).forEach((t=>t.classList.add(Tn))),t.setAttribute("aria-expanded",!0)}i&&i()}static jQueryInterface(t){return this.each((function(){const e=xn.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}j.on(document,"click.bs.tab.data-api",'[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),c(this)||xn.getOrCreateInstance(this).show()})),g(xn);const Dn="toast",Sn="hide",Nn="show",In="showing",Pn={animation:"boolean",autohide:"boolean",delay:"number"},jn={animation:!0,autohide:!0,delay:5e3};class Mn extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get DefaultType(){return Pn}static get Default(){return jn}static get NAME(){return Dn}show(){j.trigger(this._element,"show.bs.toast").defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(Sn),u(this._element),this._element.classList.add(Nn),this._element.classList.add(In),this._queueCallback((()=>{this._element.classList.remove(In),j.trigger(this._element,"shown.bs.toast"),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this._element.classList.contains(Nn)&&(j.trigger(this._element,"hide.bs.toast").defaultPrevented||(this._element.classList.add(In),this._queueCallback((()=>{this._element.classList.add(Sn),this._element.classList.remove(In),this._element.classList.remove(Nn),j.trigger(this._element,"hidden.bs.toast")}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this._element.classList.contains(Nn)&&this._element.classList.remove(Nn),super.dispose()}_getConfig(t){return t={...jn,...U.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}},a(Dn,t,this.constructor.DefaultType),t}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){j.on(this._element,"mouseover.bs.toast",(t=>this._onInteraction(t,!0))),j.on(this._element,"mouseout.bs.toast",(t=>this._onInteraction(t,!1))),j.on(this._element,"focusin.bs.toast",(t=>this._onInteraction(t,!0))),j.on(this._element,"focusout.bs.toast",(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=Mn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return R(Mn),g(Mn),{Alert:W,Button:z,Carousel:st,Collapse:pt,Dropdown:hi,Modal:Hi,Offcanvas:Fi,Popover:gn,ScrollSpy:An,Tab:xn,Toast:Mn,Tooltip:un}})); +//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/api/public/assets/js/custom.js b/api/public/assets/js/custom.js new file mode 100644 index 0000000..e69de29 diff --git a/api/public/assets/js/index.js b/api/public/assets/js/index.js new file mode 100644 index 0000000..e543de8 --- /dev/null +++ b/api/public/assets/js/index.js @@ -0,0 +1,177 @@ + +const SIGNAL_DATA = [ + { type: 'BUY', price: '2034.50', tp: '2042.00', sl: '2029.00', confidence: 89, time: '2m ago' }, + { type: 'SELL', price: '2045.10', tp: '2038.50', sl: '2048.00', confidence: 92, time: '15m ago' }, + { type: 'BUY', price: '2022.80', tp: '2030.00', sl: '2018.50', confidence: 76, time: '42m ago' }, + { type: 'SELL', price: '2051.00', tp: '2044.20', sl: '2055.00', confidence: 84, time: '1h ago' }, + { type: 'BUY', price: '2036.20', tp: '2041.50', sl: '2033.00', confidence: 65, time: '1h ago' }, + { type: 'SELL', price: '2048.90', tp: '2040.00', sl: '2052.00', confidence: 95, time: '2h ago' }, +]; + +const HISTORY_DATA = [ + { asset: 'XAUUSD', type: 'BUY', entry: '2,024.50', exit: '2,031.20', yield: '+670 pts', color: 'text-emerald-400', time: '2h ago' }, + { asset: 'XAUUSD', type: 'SELL', entry: '2,038.10', exit: '2,034.40', yield: '+370 pts', color: 'text-emerald-400', time: '4h ago' }, + { asset: 'XAUUSD', type: 'BUY', entry: '2,018.00', exit: '2,015.50', yield: '-250 pts', color: 'text-rose-400', time: '6h ago' }, + { asset: 'XAUUSD', type: 'BUY', entry: '2,012.20', exit: '2,020.80', yield: '+860 pts', color: 'text-emerald-400', time: '10h ago' }, +]; + +class Particle { + constructor(sphereRadius) { + const theta = Math.random() * 2 * Math.PI; + const phi = Math.acos(2 * Math.random() - 1); + this.sphereRadius = sphereRadius; + this.x = sphereRadius * Math.sin(phi) * Math.cos(theta); + this.y = sphereRadius * Math.sin(phi) * Math.sin(theta); + this.z = sphereRadius * Math.cos(phi); + this.size = Math.random() * 1.8 + 0.6; + this.baseOpacity = Math.random() * 0.6 + 0.3; + } + + rotate(angleX, angleY) { + let cosY = Math.cos(angleY), sinY = Math.sin(angleY); + let x = this.x * cosY - this.z * sinY; + let z = this.z * cosY + this.x * sinY; + this.x = x; this.z = z; + + let cosX = Math.cos(angleX), sinX = Math.sin(angleX); + let y = this.y * cosX - this.z * sinX; + z = this.z * cosX + this.y * sinX; + this.y = y; this.z = z; + } + + draw(ctx, centerX, centerY) { + const scale = 300 / (300 + this.z); + const x2d = this.x * scale + centerX; + const y2d = this.y * scale + centerY; + const opacity = Math.max(0, this.baseOpacity + (this.z / this.sphereRadius) * 0.4); + + ctx.beginPath(); + ctx.arc(x2d, y2d, this.size * scale, 0, Math.PI * 2); + if (this.x > 40) ctx.fillStyle = `rgba(34, 211, 238, ${opacity})`; + else if (this.x < -40) ctx.fillStyle = `rgba(167, 139, 250, ${opacity})`; + else ctx.fillStyle = `rgba(248, 250, 252, ${opacity})`; + ctx.fill(); + } +} + +function initParticleSphere() { + const canvas = document.getElementById('particle-canvas'); + const ctx = canvas.getContext('2d', { alpha: true }); + const sphereRadius = 105; + const particleCount = 400; + const rotationSpeed = 0.003; + let particles = []; + let width, height; + + function resize() { + const dpr = window.devicePixelRatio || 1; + const rect = canvas.parentElement.getBoundingClientRect(); + canvas.width = rect.width * dpr; + canvas.height = rect.height * dpr; + canvas.style.width = `${rect.width}px`; + canvas.style.height = `${rect.height}px`; + ctx.scale(dpr, dpr); + width = rect.width; + height = rect.height; + } + + function animate() { + ctx.clearRect(0, 0, width, height); + const centerX = width / 2; + const centerY = height / 2; + particles.sort((a, b) => b.z - a.z); + particles.forEach(p => { + p.rotate(rotationSpeed, rotationSpeed * 0.6); + p.draw(ctx, centerX, centerY); + }); + requestAnimationFrame(animate); + } + + for (let i = 0; i < particleCount; i++) particles.push(new Particle(sphereRadius)); + window.addEventListener('resize', resize); + resize(); + animate(); +} + +function renderSignals() { + const grid = document.getElementById('signals-grid'); + grid.innerHTML = SIGNAL_DATA.map(s => ` +
+
+
+
+ ${s.type === 'BUY' ? '' : ''} +
+
+
Vector Type
+
${s.type} ORDER
+
+
+
${s.time}
+
+
+
+ Trigger Entry + ${s.price} +
+
+ Target TP + ${s.tp} +
+
+ Risk SL + ${s.sl} +
+
+
+
+ Confidence + ${s.confidence}% +
+
+
+
+
+
+ `).join(''); +} + +function renderHistory() { + const tbody = document.getElementById('history-body'); + tbody.innerHTML = HISTORY_DATA.map(t => ` + + +
+
G
+ ${t.asset} +
+ + + + ${t.type} + + + ${t.entry} + ${t.exit} + ${t.yield} + ${t.time} + + `).join(''); +} + +document.addEventListener('DOMContentLoaded', () => { + initParticleSphere(); + renderSignals(); + renderHistory(); + + const initBtn = document.getElementById('init-btn'); + const signalsSection = document.getElementById('signals-section'); + + initBtn.addEventListener('click', () => { + signalsSection.classList.remove('hidden-section'); + signalsSection.classList.add('visible-section'); + setTimeout(() => { + signalsSection.scrollIntoView({ behavior: 'smooth', block: 'start' }); + }, 100); + }); +}); diff --git a/api/public/assets/js/jquery.min.js b/api/public/assets/js/jquery.min.js new file mode 100644 index 0000000..409c3f4 --- /dev/null +++ b/api/public/assets/js/jquery.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0requireAuth(); + $this->json([ + 'pong' => true, + 'auth' => $this->apiUser ? 'apikey' : 'admin_token', + 'time' => date('c'), + ]); + } +} diff --git a/api/public/controllers/controllers.md b/api/public/controllers/controllers.md new file mode 100644 index 0000000..e97a125 --- /dev/null +++ b/api/public/controllers/controllers.md @@ -0,0 +1,168 @@ +# Controllers — `public/controllers/` + +UI page controllers. Each file maps to a URL segment via auto-routing. + +## File Naming + +- `PascalCase.php` → e.g. `ClientReports.php` +- URL `/client-reports` auto-routes to `ClientReports::index()` + +## Base Class + +All UI controllers extend `AppController` (not `Controller` directly): + +``` +core/Controller.php ← framework core, never modify + ↑ +app/Controllers/AppController.php ← app-wide concerns (injects $UserProfile) + ↑ +public/controllers/YourController.php +``` + +## Standard Controller Structure + +```php +view->Footer = $this->view->PartialView('admin_footer'); + $this->view->SideBar = $this->view->PartialView('admin_sidebar'); + $this->view->Header = $this->view->PartialView('admin_header'); + $this->view->ToolBar = $this->view->PartialView('admin_toolbar'); + } + + function index() { + $clients = Db::select("SELECT * FROM sp_clients WHERE active = 1"); + $this->view->Clients = $clients; + + $this->view->render(__CLASS__ . '/' . __FUNCTION__); + } + + function show($id) { + $client = Db::getRow("SELECT * FROM sp_clients WHERE id = :id", [':id' => $id]); + if (!$client) { http_response_code(404); die('Not found'); } + + $this->view->Client = $client; + $this->view->render(__CLASS__ . '/' . __FUNCTION__); + } +} +``` + +## Render Conventions + +```php +// Standard admin page (default wrapper) +$this->view->render(__CLASS__ . '/' . __FUNCTION__); + +// Login / minimal wrapper +$this->view->render(__CLASS__ . '/' . __FUNCTION__, 'login'); + +// Welcome screen (config flag) +if (WELCOME) { $this->view->render(__CLASS__ . '/welcome', '', false); } +``` + +## Injecting Page-Specific Assets + +```php +function index() { + // CSS + $this->Styles[] = '/public/assets/plugins/datatables/datatables.bundle.css'; + $this->view->Styles = $this->Styles; + + // JS + $this->JavaScript[] = '/public/assets/plugins/datatables/datatables.bundle.js'; + $this->JavaScript[] = '/public/assets/js/page-script.js'; + $this->view->JavaScript = $this->JavaScript; + + $this->view->render(__CLASS__ . '/' . __FUNCTION__); +} +``` + +## Authentication + +```php +Auth::handleLogin(); // redirects to /login if not authenticated +Auth::can('users.create') // returns bool +Auth::requirePermission('users.delete'); // halts with 403 JSON if denied +``` + +## Passing Data to Views + +```php +$this->view->Users = Db::select("SELECT * FROM sp_users"); +$this->view->PageTitle = 'User List'; +// accessed in view as $Users, $PageTitle +``` + +## CRUD Pattern + +```php +function store() { + try { + if (!Validator::required($_POST['name'])) { + throw new Exception('Name is required'); + } + + $id = Db::insert('sp_clients', [ + 'name' => $_POST['name'], + 'created_at' => date('Y-m-d H:i:s') + ]); + + redirect('/clients/show/' . $id); + + } catch (Exception $e) { + if (DEBUG) { echo $e->getMessage(); } + else { + $this->view->Error = 'Could not save. Please try again.'; + $this->view->FormData = $_POST; + $this->view->render(__CLASS__ . '/create'); + } + } +} + +function update($id) { + Db::update('sp_clients', + ['name' => $_POST['name'], 'updated_at' => date('Y-m-d H:i:s')], + 'id = :id', + [':id' => $id] + ); + redirect('/clients/show/' . $id); +} + +function delete($id) { + Db::delete('sp_clients', 'id = :id', [':id' => $id]); + redirect('/clients'); +} +``` + +## Error Handling + +```php +function create() { + try { + Db::beginTransaction(); + // ... operations ... + Db::commit(); + redirect('/clients'); + + } catch (Exception $e) { + Db::rollback(); + if (DEBUG) { + echo "
Error: {$e->getMessage()}\nFile: {$e->getFile()}:{$e->getLine()}
"; + } else { + error_log("Client creation failed: " . $e->getMessage()); + $this->view->Error = 'An error occurred. Please try again.'; + $this->view->render(__CLASS__ . '/create'); + } + } +} +``` + +## Helper / Utility Code Rule + +Reusable, stateless functions → `public static` method in `app/Helpers/`, never as a private controller method. +Call via `HelperClass::methodName(...)`. diff --git a/api/public/controllers/docs.php b/api/public/controllers/docs.php new file mode 100644 index 0000000..6751c07 --- /dev/null +++ b/api/public/controllers/docs.php @@ -0,0 +1,29 @@ +view->PartialView('menu'); + + + $this->Styles['commenta'] = ''; + $this->view->Styles = $this->Styles; + + $this->JavaScript[] = ASSETS . "js/bootstrap.bundle.min.js"; + $this->JavaScript[] = ASSETS . "js/jquery.min.js"; + $this->JavaScript[] = ASSETS . "js/custom.js"; + $this->view->JavaScript = $this->JavaScript; + } + + + function index() { + $this->Styles['commenta'] = ''; + $this->view->Styles = $this->Styles; + + $this->view->render('docs/index'); + } + + + +} \ No newline at end of file diff --git a/api/public/controllers/error.php b/api/public/controllers/error.php new file mode 100644 index 0000000..b9a469c --- /dev/null +++ b/api/public/controllers/error.php @@ -0,0 +1,24 @@ +Styles['commenta'] = ''; + $this->view->Styles = $this->Styles; + + $this->JavaScript[] = ASSETS . "/js/pages/crypto-dashboard.init.js"; + $this->view->JavaScript = $this->JavaScript; + + $this->view->title = COMPANY; + $this->view->render(__CLASS__ .'/'. __FUNCTION__); + } + + +} // end class \ No newline at end of file diff --git a/api/public/controllers/health.php b/api/public/controllers/health.php new file mode 100644 index 0000000..ee63681 --- /dev/null +++ b/api/public/controllers/health.php @@ -0,0 +1,23 @@ +guardPublic('health', 120, 60); + try { + $up = (int) \Db::getValue("SELECT 1"); + $rows = (int) \Db::getValue("SELECT COUNT(*) FROM `config`"); + } catch (\Throwable $e) { + $this->json(null, 500, ['code' => 'db_error', 'message' => DEBUG ? $e->getMessage() : 'Database unavailable']); + } + $this->json([ + 'db' => $up === 1 ? 'connected' : 'unknown', + 'app' => defined('PROJECT_NAME') ? PROJECT_NAME : '', + 'config_rows' => $rows, + 'time' => date('c'), + ]); + } +} diff --git a/api/public/controllers/index.php b/api/public/controllers/index.php new file mode 100644 index 0000000..507f119 --- /dev/null +++ b/api/public/controllers/index.php @@ -0,0 +1,28 @@ +view->PartialView('menu'); + + $this->Styles['commenta'] = ''; + $this->view->Styles = $this->Styles; + + $this->JavaScript[] = ASSETS . "js/bootstrap.bundle.min.js"; + $this->JavaScript[] = ASSETS . "js/jquery.min.js"; + $this->JavaScript[] = ASSETS . "js/custom.js"; + $this->view->JavaScript = $this->JavaScript; + } + + + function index() { + $this->Styles['commenta'] = ''; + $this->view->Styles = $this->Styles; + + $this->view->render('index/index'); + } + + + +} \ No newline at end of file diff --git a/api/public/index.php b/api/public/index.php new file mode 100644 index 0000000..efc71a4 --- /dev/null +++ b/api/public/index.php @@ -0,0 +1,11 @@ +init(); + diff --git a/api/public/models/games_model.php b/api/public/models/games_model.php new file mode 100644 index 0000000..0d85f2c --- /dev/null +++ b/api/public/models/games_model.php @@ -0,0 +1,17 @@ +db->select("select * from creditorinfo"); + //return json_encode($Return); + } + + +} // End Class \ No newline at end of file diff --git a/api/public/models/index_model.php b/api/public/models/index_model.php new file mode 100644 index 0000000..520028f --- /dev/null +++ b/api/public/models/index_model.php @@ -0,0 +1,11 @@ +db->prepare("SELECT user_id, username, role_id FROM users WHERE + username = :username AND password = :password"); + $sth->execute(array( + ':username' => $_POST['username'], + ':password' => Hash::create('sha256', $_POST['password'], HASH_PASSWORD_KEY) + )); + + $data = $sth->fetch(); + + + $count = $sth->rowCount(); + if ($count > 0) { + // login + Session::init(); + Session::pSet('UserProfile', 'roleId', $data['role_id']); + Session::pSet('UserProfile', 'loggedIn', true); + Session::pSet('UserProfile', 'userId', $data['user_id']); + + $sql = "SELECT t2.perm_controller,t2.perm_action FROM role_perm as t1 + JOIN permissions as t2 ON t1.perm_id = t2.perm_id + WHERE t1.role_id = :role_id"; + + $permission = array(); + $permission = $this->db->select($sql, array(':role_id' => $data['role_id'])); + + Session::set('permission', $permission); + + + + // This is a bit annoying to have it hard coded but its good enough for now. + // This will set the specific redirects for the access levels Business, Client & User there's only 3 screens with sub levels of permissions. + switch($data['role_id']) { + # Business + case '1' : // Administrator + case '2' : // Marketing + header('location: /admin'); + break; + + # Client + case '4' : // Agency + header('location: /dashboard'); + break; + + #End User + case '6' : // Users + header('location: /dashboard'); + break; + } + + + } else { + header('location: ../login'); + } + + } + +} \ No newline at end of file diff --git a/api/public/views/_error/index.php b/api/public/views/_error/index.php new file mode 100644 index 0000000..8a5fbab --- /dev/null +++ b/api/public/views/_error/index.php @@ -0,0 +1,15 @@ + +
+

404

+

Page Not Found

+ +
+ Sorry, but the page you are looking for has note been found. Try checking the URL for error, then hit the refresh button on your browser or try found something else in our app. +
+
+ +
+ +
+
+
\ No newline at end of file diff --git a/api/public/views/aitest/index.php b/api/public/views/aitest/index.php new file mode 100644 index 0000000..4f9d57f --- /dev/null +++ b/api/public/views/aitest/index.php @@ -0,0 +1,55 @@ +OpenAiResponse; +?> + + + +
+ +
+

Testing OpenAI / ChatGPT API

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

Your Question:

+ +

Your Answer:

+
+            
+        
+
+ +
+ + diff --git a/api/public/views/aitest/translate.php b/api/public/views/aitest/translate.php new file mode 100644 index 0000000..3eef3ae --- /dev/null +++ b/api/public/views/aitest/translate.php @@ -0,0 +1,40 @@ +A Viva Air le quedarían muy pocas horas de vuelo +Por la crisis económica, la Junta Directiva habría tomado la decisión de cerrar la operación. Se verían afectadas un millón de personas que compraron tiquetes. +En cuestión de horas la aerolínea Viva pondría punto final a toda su operación. La Junta Directiva de la compañía aérea de bajo costo habría dado luz verde para dejar en tierra la totalidad de sus aeronaves, así como la de liquidar la actividad de la compañía. + +EL COLOMBIANO pudo establecer que el órgano directivo de la empresa, en un reciente cónclave extraordinario, habría tomado la decisión de no darle más largas al asunto, y tiene lista la orden para la clausura total de la compañía aérea ante su crisis financiera, que a la fecha ya le ha representado dejar aviones sin volar. + +Trascendió que para los miembros de la Junta Directiva las finanzas de la aerolínea no le permitirían continuar con la operación, incluso señalaron que aún amparada la compañía en el Decreto 560 (norma de Recuperación Económica) y pagado el 100% de los compromisos, la operación les daría para máximo dos semanas. +La situación es tan crítica que en una carta reciente que el anterior presidente de la compañía, Félix Antelo, envió al ministro de Transporte, Guillermo Reyes, advirtió que al 31 de enero de 2023, los pasivos de la empresa aérea de bajo costo llegaban a los $4,06 billones. “Como bien sabe la compañía no tiene la capacidad por sí misma para responder con sus obligaciones”, resaltó quien hasta el jueves pasado fuera el presidente de Viva Air. + +Integración con Avianca + +Se conoció además que, para los miembros de la Junta Directiva de la aerolínea será un error grande, que le causará una tragedia al turismo y a la economía de Colombia, la decisión de la Aeronáutica Civil (Aerocivil) de no hacer nada, ni decir nada, sobre la integración de Viva y Avianca. + +Así mismo, la aerolínea de bajo costo espera que en las próximas horas, bien sea el director de la Aerocivil, Sergio París, o en su efecto el ministro Reyes, entren en contacto con los directivos de la compañía, y con el nuevo presidente de la misma, Francisco Lalinde, para lograr la tan anhelada integración con Avianca. + +De no lograrse el aval por parte de la Aerocivil a más tardar el martes, como lo habría dictado la Junta Directiva, la aerolínea cerraría la operación con lo que resultarán damnificadas más de un millón de personas que a la fecha ya tiene comprados tiquetes y a las que no se les reembolsaría el dinero en el corto plazo. + +No hay una decisión} + +EL COLOMBIANO se comunicó con voceros de la compañía aérea para confirmar las versiones de su posible cierre de operaciones mañana martes. Al respecto, de manera oficial la aerolínea de bajo costo señaló: “Hasta la fecha no hay una definición de cierre de la compañía y Viva sigue operando y a la espera de una urgente definición por parte de la Aeronáutica Civil”. + +Sin embargo, este diario pudo establecer que a la cascada de renuncias del personal del servicio en aire y en tierra, se viene ajustando la operación con los recursos y aeronaves que quedan. + +Cabe recordar que Viva anunció hace una semana y en un comunicado interno que temporalmente tendrá que prescindir del uso de cinco aviones. “Se han presentado importantes negociaciones con los dueños de los aviones buscando llegar a acuerdos de cómo continuar nuestra operación. A pesar de esto, hemos sido notificados por uno de ellos que debemos dejar en tierra, por el momento, cinco de sus aviones hasta nueva orden en los Estados Unidos”, aseguró la compañía en el documento. + +En menos de un mes la administración de la aerolínea no solo ha cancelado varias frecuencias entre la costa Caribe y Cali, además los 14 vuelos que operaban hacia San Andrés, lo que representa el 90% de la economía de la isla. + +“A días de perder Viva” + +En una inquietante carta, los trabajadores de la aerolínea se pronunciaron frente a la crítica situación financiera que vive. + +En la misiva advierten que cerca de 5.000 personas que dependen económicamente de esta empresa se encuentran en incertidumbre ante la falta de claridad de las autoridades sobre si habrá o no rescate (integración con Avianca). + +“Necesitamos una respuesta con urgencia”, dicen los trabajadores, quienes advierten que aunque han enviado cartas y han sido prudentes en su comunicación, no han recibido atención de la Aerocivil o del gobierno. El jueves de la semana pasada muchos de ellos protestaron en el aeropuerto José María Córdova. + +Con la clausura de la operación de Viva en el negocio aéreo del país, quedaría un vacío del 21%, que es la participación de la aerolínea de bajo en el mercado, y teniendo en cuenta que Avianca posee el 40%. + + + + diff --git a/api/public/views/docs/index.php b/api/public/views/docs/index.php new file mode 100644 index 0000000..9f0092a --- /dev/null +++ b/api/public/views/docs/index.php @@ -0,0 +1 @@ +No Documentation Here \ No newline at end of file diff --git a/api/public/views/index/index.php b/api/public/views/index/index.php new file mode 100644 index 0000000..e6157fb --- /dev/null +++ b/api/public/views/index/index.php @@ -0,0 +1,52 @@ + +
+ +
+
+ + +
+
+
+ + + + + Light-Weight LLM Friendly PHP Framework +
+

+ SeedProject
Framework
+

+

+ SeedProject Framework is revamped to work with LLM likes Claude Code, Gemini CLI to help you build more structured projects, harness the power of AI without messy confusing back-end code. +

+
+ + +
+ +
+
+
+
+
+
Light-Weight
+
4.9MB
+
+
+
Lines of Code
+
1k
+
+
+ + +
+
+ +
+
+ +
diff --git a/api/public/views/partial/menu.php b/api/public/views/partial/menu.php new file mode 100644 index 0000000..e69de29 diff --git a/api/public/views/views.md b/api/public/views/views.md new file mode 100644 index 0000000..d47fa66 --- /dev/null +++ b/api/public/views/views.md @@ -0,0 +1,170 @@ +# Views — `public/views/` + +PHP view templates, organized by controller name. + +## Directory Structure + +``` +public/views/ +├── / # snake_case folder per controller +│ ├── index.php +│ ├── show.php +│ └── edit.php +├── modals/ # Modal fragment views (AJAX loaded) +│ └── .php +├── partial/ # Reusable partial views +│ ├── admin_header.php +│ ├── admin_sidebar.php +│ ├── admin_toolbar.php +│ └── admin_footer.php +└── wrapper/ # Layout wrappers + ├── admin/ + │ ├── header.php + │ └── footer.php + └── site/ + ├── header.php + └── footer.php +``` + +## File Naming + +- Folder: `snake_case` matching the controller name (lowercased) +- Files: `snake_case.php` matching the method name + +## Rendering + +Called from the controller: + +```php +// Standard — uses __CLASS__/__FUNCTION__ convention +$this->view->render(__CLASS__ . '/' . __FUNCTION__); + +// With explicit wrapper +$this->view->render('clients/index', true, 'site'); +$this->view->render('admin/dashboard', true, 'admin'); + +// Login / minimal wrapper +$this->view->render('auth/login', 'login'); + +// No wrapper +$this->view->render('auth/login', false); +``` + +## Accessing View Data + +Variables set on the controller via `$this->view->VarName = $value` are accessed in the view as **`$this->VarName`**. + +`View::render()` calls `extract((array) $this)` before including the template, so all properties set on the view object are available as bare `$VarName` locals. + +```php +// Controller +$this->view->Users = Db::select("SELECT * FROM sp_users"); +$this->view->PageTitle = 'Users'; + +// View — use bare $VarName +

+ +

+ +``` + +## Wrappers + +Wrappers live in `public/views/wrapper/`. The wrapper auto-loads: +- `public/assets/css/.css` if it exists +- `public/assets/js/.js` if it exists + +## Partial Views + +Partials are reusable snippets loaded from the controller constructor: + +```php +// In controller __construct() +$this->view->Header = $this->view->PartialView('admin_header'); +$this->view->SideBar = $this->view->PartialView('admin_sidebar'); +$this->view->ToolBar = $this->view->PartialView('admin_toolbar'); +$this->view->Footer = $this->view->PartialView('admin_footer'); +``` + +Then echoed in the view: +```php + + +``` + +## Modal System + +Modals are loaded dynamically via AJAX. Trigger a modal with: + +```html + +``` + +`data-size` accepts any Bootstrap modal width class or a custom `mw-*` value: + +| Value | Width | +|-------|-------| +| *(omit)* | Default (~500px) | +| `mw-500px` | 500px max-width | +| `mw-650px` | 650px max-width | +| `mw-750px` | 750px max-width | +| `modal-lg` | ~800px (Bootstrap) | +| `modal-xl` | ~1140px (Bootstrap) — use for wizards / multi-step forms | + +Modal views live at `public/views/modals/.php` and render **only** the `.modal-content` fragment (no full page wrapper): + +```html + + + +``` + +## Assets Structure + +``` +public/assets/ +├── css/ +│ ├── custom.css # Global overrides +│ └── .css # Page-specific (auto-loaded by wrapper) +├── js/ +│ └── .js # Page-specific (auto-loaded by wrapper) +├── plugins/ +│ └── datatables/ +│ ├── datatables.bundle.css +│ └── datatables.bundle.js +└── media/ + └── svg/ + └── brand-logos/ # Integration / vendor logos +``` + +Inject additional assets from the controller method: + +```php +$this->Styles[] = '/public/assets/plugins/datatables/datatables.bundle.css'; +$this->view->Styles = $this->Styles; + +$this->JavaScript[] = '/public/assets/plugins/datatables/datatables.bundle.js'; +$this->view->JavaScript = $this->JavaScript; +``` diff --git a/api/public/views/wrapper/site/footer.php b/api/public/views/wrapper/site/footer.php new file mode 100644 index 0000000..a2e70ae --- /dev/null +++ b/api/public/views/wrapper/site/footer.php @@ -0,0 +1,19 @@ + +JavaScript) { + foreach ($this->JavaScript as $kj => $JavaScript) : + if(!is_numeric($kj)) { + echo PHP_EOL; + echo $JavaScript . PHP_EOL; + continue; + } + echo '' . PHP_EOL; + endforeach; +} +?> + + + + + + \ No newline at end of file diff --git a/api/public/views/wrapper/site/header.php b/api/public/views/wrapper/site/header.php new file mode 100644 index 0000000..3c2b6c2 --- /dev/null +++ b/api/public/views/wrapper/site/header.php @@ -0,0 +1,52 @@ + + + + + + CreditPullEngine + + + + + Styles) { + foreach ($this->Styles as $ks => $Styles) : + if(!is_numeric($ks)) { + echo PHP_EOL; + echo $Styles . PHP_EOL; + continue; + } + echo '' .PHP_EOL; + + endforeach; + } + ?> + diff --git a/api/system/errors.json b/api/system/errors.json index 73ad76c..fe51488 100644 --- a/api/system/errors.json +++ b/api/system/errors.json @@ -1,362 +1 @@ -[ - { - "id": "err_69ee699b38a214.70118470", - "userid": 2565, - "org_id": null, - "errortype": "Exception", - "errorcode": "1", - "url": "https:\/\/secure.creditpullengine.com\/appi\/pulls\/pullReport", - "file": "\/www\/wwwroot\/cpeSecure\/app\/Services\/Credit\/EquifaxCodeMap.php", - "line": 317, - "fullerror": "Call to undefined method App\\Services\\Credit\\EquifaxCodeMap::getScoreFactors()", - "trace": "#0 \/www\/wwwroot\/cpeSecure\/app\/Services\/Credit\/EquifaxAdapter.php(159): App\\Services\\Credit\\EquifaxCodeMap::getScoreFactor()\n#1 \/www\/wwwroot\/cpeSecure\/app\/Services\/Credit\/EquifaxAdapter.php(43): App\\Services\\Credit\\EquifaxAdapter->mapScoreFactors()\n#2 \/www\/wwwroot\/cpeSecure\/appi\/controllers\/pulls.php(134): App\\Services\\Credit\\EquifaxAdapter->transform()\n#3 \/www\/wwwroot\/cpeSecure\/core\/Bootstrap.php(227): pulls->pullReport()\n#4 \/www\/wwwroot\/cpeSecure\/core\/Bootstrap.php(64): Bootstrap->_callControllerMethod()\n#5 \/www\/wwwroot\/cpeSecure\/appi\/index.php(11): Bootstrap->init()\n#6 {main}", - "method": "POST", - "ip_address": "193.36.238.59", - "user_agent": "Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36", - "referer": "https:\/\/secure.creditpullengine.com\/pulls", - "status": "unresolved", - "createdate": "2026-04-26 15:38:03" - }, - { - "id": "err_69ee698c669d29.22210069", - "userid": 2565, - "org_id": null, - "errortype": "Exception", - "errorcode": "1", - "url": "https:\/\/secure.creditpullengine.com\/appi\/pulls\/pullReport", - "file": "\/www\/wwwroot\/cpeSecure\/app\/Services\/Credit\/EquifaxCodeMap.php", - "line": 317, - "fullerror": "Call to undefined method App\\Services\\Credit\\EquifaxCodeMap::getScoreFactors()", - "trace": "#0 \/www\/wwwroot\/cpeSecure\/app\/Services\/Credit\/EquifaxAdapter.php(159): App\\Services\\Credit\\EquifaxCodeMap::getScoreFactor()\n#1 \/www\/wwwroot\/cpeSecure\/app\/Services\/Credit\/EquifaxAdapter.php(43): App\\Services\\Credit\\EquifaxAdapter->mapScoreFactors()\n#2 \/www\/wwwroot\/cpeSecure\/appi\/controllers\/pulls.php(134): App\\Services\\Credit\\EquifaxAdapter->transform()\n#3 \/www\/wwwroot\/cpeSecure\/core\/Bootstrap.php(227): pulls->pullReport()\n#4 \/www\/wwwroot\/cpeSecure\/core\/Bootstrap.php(64): Bootstrap->_callControllerMethod()\n#5 \/www\/wwwroot\/cpeSecure\/appi\/index.php(11): Bootstrap->init()\n#6 {main}", - "method": "POST", - "ip_address": "193.36.238.59", - "user_agent": "Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36", - "referer": "https:\/\/secure.creditpullengine.com\/pulls", - "status": "unresolved", - "createdate": "2026-04-26 15:37:48" - }, - { - "id": "err_69ee6950756db9.31923142", - "userid": 2565, - "org_id": null, - "errortype": "Exception", - "errorcode": "1", - "url": "https:\/\/secure.creditpullengine.com\/appi\/pulls\/pullReport", - "file": "\/www\/wwwroot\/cpeSecure\/app\/Services\/Credit\/EquifaxCodeMap.php", - "line": 317, - "fullerror": "Call to undefined method App\\Services\\Credit\\EquifaxCodeMap::getScoreFactors()", - "trace": "#0 \/www\/wwwroot\/cpeSecure\/app\/Services\/Credit\/EquifaxAdapter.php(159): App\\Services\\Credit\\EquifaxCodeMap::getScoreFactor()\n#1 \/www\/wwwroot\/cpeSecure\/app\/Services\/Credit\/EquifaxAdapter.php(43): App\\Services\\Credit\\EquifaxAdapter->mapScoreFactors()\n#2 \/www\/wwwroot\/cpeSecure\/appi\/controllers\/pulls.php(134): App\\Services\\Credit\\EquifaxAdapter->transform()\n#3 \/www\/wwwroot\/cpeSecure\/core\/Bootstrap.php(227): pulls->pullReport()\n#4 \/www\/wwwroot\/cpeSecure\/core\/Bootstrap.php(64): Bootstrap->_callControllerMethod()\n#5 \/www\/wwwroot\/cpeSecure\/appi\/index.php(11): Bootstrap->init()\n#6 {main}", - "method": "POST", - "ip_address": "193.36.238.59", - "user_agent": "Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36", - "referer": "https:\/\/secure.creditpullengine.com\/pulls", - "status": "unresolved", - "createdate": "2026-04-26 15:36:48" - }, - { - "id": "err_69ee6934c9c873.23488128", - "userid": 2565, - "org_id": null, - "errortype": "Exception", - "errorcode": "1", - "url": "https:\/\/secure.creditpullengine.com\/appi\/pulls\/pullReport", - "file": "\/www\/wwwroot\/cpeSecure\/app\/Services\/Credit\/EquifaxCodeMap.php", - "line": 317, - "fullerror": "Call to undefined method App\\Services\\Credit\\EquifaxCodeMap::getScoreFactors()", - "trace": "#0 \/www\/wwwroot\/cpeSecure\/app\/Services\/Credit\/EquifaxAdapter.php(159): App\\Services\\Credit\\EquifaxCodeMap::getScoreFactor()\n#1 \/www\/wwwroot\/cpeSecure\/app\/Services\/Credit\/EquifaxAdapter.php(43): App\\Services\\Credit\\EquifaxAdapter->mapScoreFactors()\n#2 \/www\/wwwroot\/cpeSecure\/appi\/controllers\/pulls.php(134): App\\Services\\Credit\\EquifaxAdapter->transform()\n#3 \/www\/wwwroot\/cpeSecure\/core\/Bootstrap.php(227): pulls->pullReport()\n#4 \/www\/wwwroot\/cpeSecure\/core\/Bootstrap.php(64): Bootstrap->_callControllerMethod()\n#5 \/www\/wwwroot\/cpeSecure\/appi\/index.php(11): Bootstrap->init()\n#6 {main}", - "method": "POST", - "ip_address": "193.36.238.59", - "user_agent": "Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36", - "referer": "https:\/\/secure.creditpullengine.com\/pulls", - "status": "unresolved", - "createdate": "2026-04-26 15:36:20" - }, - { - "id": "err_69ee69273633b8.88201084", - "userid": 2565, - "org_id": null, - "errortype": "Exception", - "errorcode": "1", - "url": "https:\/\/secure.creditpullengine.com\/appi\/pulls\/pullReport", - "file": "\/www\/wwwroot\/cpeSecure\/app\/Services\/Credit\/EquifaxCodeMap.php", - "line": 317, - "fullerror": "Call to undefined method App\\Services\\Credit\\EquifaxCodeMap::getScoreFactors()", - "trace": "#0 \/www\/wwwroot\/cpeSecure\/app\/Services\/Credit\/EquifaxAdapter.php(159): App\\Services\\Credit\\EquifaxCodeMap::getScoreFactor()\n#1 \/www\/wwwroot\/cpeSecure\/app\/Services\/Credit\/EquifaxAdapter.php(43): App\\Services\\Credit\\EquifaxAdapter->mapScoreFactors()\n#2 \/www\/wwwroot\/cpeSecure\/appi\/controllers\/pulls.php(134): App\\Services\\Credit\\EquifaxAdapter->transform()\n#3 \/www\/wwwroot\/cpeSecure\/core\/Bootstrap.php(227): pulls->pullReport()\n#4 \/www\/wwwroot\/cpeSecure\/core\/Bootstrap.php(64): Bootstrap->_callControllerMethod()\n#5 \/www\/wwwroot\/cpeSecure\/appi\/index.php(11): Bootstrap->init()\n#6 {main}", - "method": "POST", - "ip_address": "193.36.238.59", - "user_agent": "Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36", - "referer": "https:\/\/secure.creditpullengine.com\/pulls", - "status": "unresolved", - "createdate": "2026-04-26 15:36:07" - }, - { - "id": "err_69ed670a033b66.19048308", - "userid": null, - "org_id": null, - "errortype": "Exception", - "errorcode": "1", - "url": "https:\/\/secure.creditpullengine.com\/public\/", - "file": "\/www\/wwwroot\/cpeSecure\/core\/Bootstrap.php", - "line": 131, - "fullerror": "Failed opening required 'public\/controllers\/index.php' (include_path='.:')", - "trace": "#0 \/www\/wwwroot\/cpeSecure\/core\/Bootstrap.php(40): Bootstrap->_loadDefaultController()\n#1 \/www\/wwwroot\/cpeSecure\/public\/index.php(11): Bootstrap->init()\n#2 {main}", - "method": "GET", - "ip_address": "89.244.95.100", - "user_agent": "Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/143.0.0.0 Safari\/537.36", - "referer": "https:\/\/secure.creditpullengine.com\/login", - "status": "unresolved", - "createdate": "2026-04-25 21:14:50" - }, - { - "id": "err_69ed5d01f08370.23851037", - "userid": null, - "org_id": null, - "errortype": "Exception", - "errorcode": "1", - "url": "https:\/\/secure.creditpullengine.com\/cron\/jsonReports", - "file": "\/www\/wwwroot\/cpeSecure\/public\/controllers\/cron.php", - "line": 14, - "fullerror": "Class \"Carbon\\Carbon\" not found", - "trace": "#0 \/www\/wwwroot\/cpeSecure\/core\/Bootstrap.php(148): Cron->__construct()\n#1 \/www\/wwwroot\/cpeSecure\/core\/Bootstrap.php(63): Bootstrap->_loadExistingController()\n#2 \/www\/wwwroot\/cpeSecure\/public\/index.php(11): Bootstrap->init()\n#3 \/www\/wwwroot\/cpeSecure\/index.php(2): require_once('...')\n#4 {main}", - "method": "GET", - "ip_address": "140.82.26.192", - "user_agent": "curl\/7.76.1", - "referer": null, - "status": "unresolved", - "createdate": "2026-04-25 20:32:01" - }, - { - "id": "err_69ed5d01e8bb28.09924309", - "userid": null, - "org_id": null, - "errortype": "Exception", - "errorcode": "1", - "url": "https:\/\/secure.creditpullengine.com\/cron\/jsonReports", - "file": "\/www\/wwwroot\/cpeSecure\/public\/controllers\/cron.php", - "line": 14, - "fullerror": "Class \"Carbon\\Carbon\" not found", - "trace": "#0 \/www\/wwwroot\/cpeSecure\/core\/Bootstrap.php(148): Cron->__construct()\n#1 \/www\/wwwroot\/cpeSecure\/core\/Bootstrap.php(63): Bootstrap->_loadExistingController()\n#2 \/www\/wwwroot\/cpeSecure\/public\/index.php(11): Bootstrap->init()\n#3 \/www\/wwwroot\/cpeSecure\/index.php(2): require_once('...')\n#4 {main}", - "method": "GET", - "ip_address": "207.246.75.27", - "user_agent": null, - "referer": null, - "status": "unresolved", - "createdate": "2026-04-25 20:32:01" - }, - { - "id": "err_69ed5cf5670d39.78662554", - "userid": null, - "org_id": null, - "errortype": "Exception", - "errorcode": "1", - "url": "https:\/\/secure.creditpullengine.com\/cron\/jsonReports", - "file": "\/www\/wwwroot\/cpeSecure\/public\/controllers\/cron.php", - "line": 14, - "fullerror": "Class \"Carbon\\Carbon\" not found", - "trace": "#0 \/www\/wwwroot\/cpeSecure\/core\/Bootstrap.php(148): Cron->__construct()\n#1 \/www\/wwwroot\/cpeSecure\/core\/Bootstrap.php(63): Bootstrap->_loadExistingController()\n#2 \/www\/wwwroot\/cpeSecure\/public\/index.php(11): Bootstrap->init()\n#3 \/www\/wwwroot\/cpeSecure\/index.php(2): require_once('...')\n#4 {main}", - "method": "GET", - "ip_address": "206.62.143.66", - "user_agent": "Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36", - "referer": null, - "status": "unresolved", - "createdate": "2026-04-25 20:31:49" - }, - { - "id": "err_69ed5cdaeef019.29989883", - "userid": null, - "org_id": null, - "errortype": "Exception", - "errorcode": "1", - "url": "https:\/\/secure.creditpullengine.com\/cron\/jsonReports", - "file": "\/www\/wwwroot\/cpeSecure\/public\/controllers\/cron.php", - "line": 14, - "fullerror": "Class \"Carbon\\Carbon\" not found", - "trace": "#0 \/www\/wwwroot\/cpeSecure\/core\/Bootstrap.php(148): Cron->__construct()\n#1 \/www\/wwwroot\/cpeSecure\/core\/Bootstrap.php(63): Bootstrap->_loadExistingController()\n#2 \/www\/wwwroot\/cpeSecure\/public\/index.php(11): Bootstrap->init()\n#3 \/www\/wwwroot\/cpeSecure\/index.php(2): require_once('...')\n#4 {main}", - "method": "GET", - "ip_address": "206.62.143.66", - "user_agent": "Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36", - "referer": null, - "status": "unresolved", - "createdate": "2026-04-25 20:31:22" - }, - { - "id": "err_69ed5cc5a99338.48739755", - "userid": null, - "org_id": null, - "errortype": "Exception", - "errorcode": "1", - "url": "https:\/\/secure.creditpullengine.com\/cron\/jsonReports", - "file": "\/www\/wwwroot\/cpeSecure\/public\/controllers\/cron.php", - "line": 14, - "fullerror": "Class \"Carbon\\Carbon\" not found", - "trace": "#0 \/www\/wwwroot\/cpeSecure\/core\/Bootstrap.php(148): Cron->__construct()\n#1 \/www\/wwwroot\/cpeSecure\/core\/Bootstrap.php(63): Bootstrap->_loadExistingController()\n#2 \/www\/wwwroot\/cpeSecure\/public\/index.php(11): Bootstrap->init()\n#3 \/www\/wwwroot\/cpeSecure\/index.php(2): require_once('...')\n#4 {main}", - "method": "GET", - "ip_address": "207.246.75.27", - "user_agent": null, - "referer": null, - "status": "unresolved", - "createdate": "2026-04-25 20:31:01" - }, - { - "id": "err_69ed5cc5a5d377.51767422", - "userid": null, - "org_id": null, - "errortype": "Exception", - "errorcode": "1", - "url": "https:\/\/secure.creditpullengine.com\/cron\/jsonReports", - "file": "\/www\/wwwroot\/cpeSecure\/public\/controllers\/cron.php", - "line": 14, - "fullerror": "Class \"Carbon\\Carbon\" not found", - "trace": "#0 \/www\/wwwroot\/cpeSecure\/core\/Bootstrap.php(148): Cron->__construct()\n#1 \/www\/wwwroot\/cpeSecure\/core\/Bootstrap.php(63): Bootstrap->_loadExistingController()\n#2 \/www\/wwwroot\/cpeSecure\/public\/index.php(11): Bootstrap->init()\n#3 \/www\/wwwroot\/cpeSecure\/index.php(2): require_once('...')\n#4 {main}", - "method": "GET", - "ip_address": "140.82.26.192", - "user_agent": "curl\/7.76.1", - "referer": null, - "status": "unresolved", - "createdate": "2026-04-25 20:31:01" - }, - { - "id": "err_69ed5c896b0de3.37548309", - "userid": null, - "org_id": null, - "errortype": "Exception", - "errorcode": "1", - "url": "https:\/\/secure.creditpullengine.com\/cron\/jsonReports", - "file": "\/www\/wwwroot\/cpeSecure\/public\/controllers\/cron.php", - "line": 14, - "fullerror": "Class \"App\\Core\\StripeService\" not found", - "trace": "#0 \/www\/wwwroot\/cpeSecure\/core\/Bootstrap.php(148): Cron->__construct()\n#1 \/www\/wwwroot\/cpeSecure\/core\/Bootstrap.php(63): Bootstrap->_loadExistingController()\n#2 \/www\/wwwroot\/cpeSecure\/public\/index.php(11): Bootstrap->init()\n#3 \/www\/wwwroot\/cpeSecure\/index.php(2): require_once('...')\n#4 {main}", - "method": "GET", - "ip_address": "207.246.75.27", - "user_agent": null, - "referer": null, - "status": "unresolved", - "createdate": "2026-04-25 20:30:01" - }, - { - "id": "err_69ed5c895c99d9.73562260", - "userid": null, - "org_id": null, - "errortype": "Exception", - "errorcode": "1", - "url": "https:\/\/secure.creditpullengine.com\/cron\/jsonReports", - "file": "\/www\/wwwroot\/cpeSecure\/public\/controllers\/cron.php", - "line": 14, - "fullerror": "Class \"App\\Core\\StripeService\" not found", - "trace": "#0 \/www\/wwwroot\/cpeSecure\/core\/Bootstrap.php(148): Cron->__construct()\n#1 \/www\/wwwroot\/cpeSecure\/core\/Bootstrap.php(63): Bootstrap->_loadExistingController()\n#2 \/www\/wwwroot\/cpeSecure\/public\/index.php(11): Bootstrap->init()\n#3 \/www\/wwwroot\/cpeSecure\/index.php(2): require_once('...')\n#4 {main}", - "method": "GET", - "ip_address": "140.82.26.192", - "user_agent": "curl\/7.76.1", - "referer": null, - "status": "unresolved", - "createdate": "2026-04-25 20:30:01" - }, - { - "id": "err_69e773f2990218.94993625", - "userid": 2548, - "org_id": null, - "errortype": "Exception", - "errorcode": "1", - "url": "http:\/\/nsecure.creditpullengine.com\/", - "file": "\/www\/wwwroot\/nSecure\/core\/View.php", - "line": 19, - "fullerror": "Failed opening required '\/www\/wwwroot\/nSecure\/public\/views\/index\/orgadmin.php' (include_path='.:')", - "trace": "#0 \/www\/wwwroot\/nSecure\/public\/controllers\/index.php(25): View->render()\n#1 \/www\/wwwroot\/nSecure\/core\/Bootstrap.php(133): Index->index()\n#2 \/www\/wwwroot\/nSecure\/core\/Bootstrap.php(40): Bootstrap->_loadDefaultController()\n#3 \/www\/wwwroot\/nSecure\/public\/index.php(11): Bootstrap->init()\n#4 \/www\/wwwroot\/nSecure\/index.php(2): require_once('...')\n#5 {main}", - "method": "GET", - "ip_address": "172.70.55.166", - "user_agent": "Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36", - "referer": "https:\/\/nsecure.creditpullengine.com\/company\/consumer-shield-llc.ZhYbs5uFyhX2G7JfdVIGsmxCGaDRq2A91vcUedk5_yU", - "status": "unresolved", - "createdate": "2026-04-21 08:56:18" - }, - { - "id": "err_69e77133a9dbc2.26211292", - "userid": 3, - "org_id": null, - "errortype": "Exception", - "errorcode": "1", - "url": "http:\/\/nsecure.creditpullengine.com\/pulls\/view\/1427.f5CHVieZZZGJISi3HECOj9z-oRbIbCuYysAbz22Y9oI", - "file": "\/www\/wwwroot\/nSecure\/public\/controllers\/pulls.php", - "line": 104, - "fullerror": "Call to undefined function redirect()", - "trace": "#0 \/www\/wwwroot\/nSecure\/core\/Bootstrap.php(222): pulls->view()\n#1 \/www\/wwwroot\/nSecure\/core\/Bootstrap.php(64): Bootstrap->_callControllerMethod()\n#2 \/www\/wwwroot\/nSecure\/public\/index.php(11): Bootstrap->init()\n#3 \/www\/wwwroot\/nSecure\/index.php(2): require_once('...')\n#4 {main}", - "method": "GET", - "ip_address": "172.70.55.166", - "user_agent": "Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36", - "referer": null, - "status": "unresolved", - "createdate": "2026-04-21 08:44:35" - }, - { - "id": "err_69e77014a27279.45734769", - "userid": 2566, - "org_id": null, - "errortype": "Exception", - "errorcode": "1", - "url": "http:\/\/nsecure.creditpullengine.com\/", - "file": "\/www\/wwwroot\/nSecure\/core\/View.php", - "line": 19, - "fullerror": "Failed opening required '\/www\/wwwroot\/nSecure\/public\/views\/index\/orgadmin.php' (include_path='.:')", - "trace": "#0 \/www\/wwwroot\/nSecure\/public\/controllers\/index.php(25): View->render()\n#1 \/www\/wwwroot\/nSecure\/core\/Bootstrap.php(133): Index->index()\n#2 \/www\/wwwroot\/nSecure\/core\/Bootstrap.php(40): Bootstrap->_loadDefaultController()\n#3 \/www\/wwwroot\/nSecure\/public\/index.php(11): Bootstrap->init()\n#4 \/www\/wwwroot\/nSecure\/index.php(2): require_once('...')\n#5 {main}", - "method": "GET", - "ip_address": "104.23.237.20", - "user_agent": "Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36", - "referer": "https:\/\/nsecure.creditpullengine.com\/admin\/users", - "status": "unresolved", - "createdate": "2026-04-21 08:39:48" - }, - { - "id": "err_69e76e93d1cc43.29318732", - "userid": 3, - "org_id": null, - "errortype": "Exception", - "errorcode": "1", - "url": "http:\/\/nsecure.creditpullengine.com\/pulls\/view\/1427.f5CHVieZZZGJISi3HECOj9z-oRbIbCuYysAbz22Y9oI", - "file": "\/www\/wwwroot\/nSecure\/public\/controllers\/pulls.php", - "line": 104, - "fullerror": "Call to undefined function redirect()", - "trace": "#0 \/www\/wwwroot\/nSecure\/core\/Bootstrap.php(222): pulls->view()\n#1 \/www\/wwwroot\/nSecure\/core\/Bootstrap.php(64): Bootstrap->_callControllerMethod()\n#2 \/www\/wwwroot\/nSecure\/public\/index.php(11): Bootstrap->init()\n#3 \/www\/wwwroot\/nSecure\/index.php(2): require_once('...')\n#4 {main}", - "method": "GET", - "ip_address": "104.23.237.20", - "user_agent": "Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36", - "referer": "https:\/\/nsecure.creditpullengine.com\/reports\/pulls\/consumer-shield-llc.YAj8lpRtFakNZbbopBFBpJGCDUF7bXC5B3HzJg0I3Bw", - "status": "unresolved", - "createdate": "2026-04-21 08:33:23" - }, - { - "id": "err_69e76bb0efcf58.05946519", - "userid": 3, - "org_id": null, - "errortype": "Exception", - "errorcode": "1", - "url": "http:\/\/nsecure.creditpullengine.com\/pulls\/view\/1459.jDV7q5dcrBikg_9FMFi4k6ZMtZokNkCl9Uk6JMYOIZg", - "file": "\/www\/wwwroot\/nSecure\/public\/controllers\/pulls.php", - "line": 104, - "fullerror": "Call to undefined function redirect()", - "trace": "#0 \/www\/wwwroot\/nSecure\/core\/Bootstrap.php(222): pulls->view()\n#1 \/www\/wwwroot\/nSecure\/core\/Bootstrap.php(64): Bootstrap->_callControllerMethod()\n#2 \/www\/wwwroot\/nSecure\/public\/index.php(11): Bootstrap->init()\n#3 \/www\/wwwroot\/nSecure\/index.php(2): require_once('...')\n#4 {main}", - "method": "GET", - "ip_address": "198.41.231.17", - "user_agent": "Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36", - "referer": "https:\/\/nsecure.creditpullengine.com\/reports\/pulls\/limpia-deudas-llc._i0s98IqNv38bmtnqrE7eluqQNSKLtkOdaJu2qOk3-I", - "status": "unresolved", - "createdate": "2026-04-21 08:21:04" - }, - { - "id": "err_69e76b1f397f19.04102361", - "userid": 2565, - "org_id": null, - "errortype": "Exception", - "errorcode": "1", - "url": "http:\/\/nsecure.creditpullengine.com\/", - "file": "\/www\/wwwroot\/nSecure\/core\/View.php", - "line": 19, - "fullerror": "Failed opening required '\/www\/wwwroot\/nSecure\/public\/views\/index\/orgadmin.php' (include_path='.:')", - "trace": "#0 \/www\/wwwroot\/nSecure\/public\/controllers\/index.php(25): View->render()\n#1 \/www\/wwwroot\/nSecure\/core\/Bootstrap.php(133): Index->index()\n#2 \/www\/wwwroot\/nSecure\/core\/Bootstrap.php(40): Bootstrap->_loadDefaultController()\n#3 \/www\/wwwroot\/nSecure\/public\/index.php(11): Bootstrap->init()\n#4 \/www\/wwwroot\/nSecure\/index.php(2): require_once('...')\n#5 {main}", - "method": "GET", - "ip_address": "172.68.7.18", - "user_agent": "Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/147.0.0.0 Safari\/537.36", - "referer": "https:\/\/nsecure.creditpullengine.com\/admin\/users", - "status": "unresolved", - "createdate": "2026-04-21 08:18:39" - } -] \ No newline at end of file +[] diff --git a/app/public/avatar-placeholder.png b/app/public/avatar-placeholder.png new file mode 100644 index 0000000..918d399 Binary files /dev/null and b/app/public/avatar-placeholder.png differ diff --git a/app/public/fonts/fraunces-latin.woff2 b/app/public/fonts/fraunces-latin.woff2 new file mode 100644 index 0000000..cb295bf Binary files /dev/null and b/app/public/fonts/fraunces-latin.woff2 differ diff --git a/app/public/fonts/inter-latin.woff2 b/app/public/fonts/inter-latin.woff2 new file mode 100644 index 0000000..d15208d Binary files /dev/null and b/app/public/fonts/inter-latin.woff2 differ diff --git a/app/public/fonts/jetbrains-mono-latin.woff2 b/app/public/fonts/jetbrains-mono-latin.woff2 new file mode 100644 index 0000000..4d09cda Binary files /dev/null and b/app/public/fonts/jetbrains-mono-latin.woff2 differ