diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/CV.styles.css b/CV.styles.css new file mode 100644 index 0000000..aee8268 --- /dev/null +++ b/CV.styles.css @@ -0,0 +1,12069 @@ +/* /Pages/Inicio.razor.rz.scp.css */ +/*@charset "UTF-8";*/ +/* ##a697a9 */ +/*:root { + --bs-blue: #0d6efd; + --bs-indigo: #6610f2; + --bs-purple: #6f42c1; + --bs-pink: #d63384; + --bs-red: #dc3545; + --bs-orange: #1086c5; + --bs-yellow: #ffc107; + --bs-green: #198754; + --bs-teal: #20c997; + --bs-cyan: #0dcaf0; + --bs-white: #fff; + --bs-gray: #6c757d; + --bs-gray-dark: #343a40; + --bs-gray-100: #f8f9fa; + --bs-gray-200: #e9ecef; + --bs-gray-300: #dee2e6; + --bs-gray-400: #ced4da; + --bs-gray-500: #adb5bd; + --bs-gray-600: #6c757d; + --bs-gray-700: #495057; + --bs-gray-800: #343a40; + --bs-gray-900: #212529; + --bs-primary: #1086c5; + --bs-secondary: #6c757d; + --bs-success: #198754; + --bs-info: #0dcaf0; + --bs-warning: #ffc107; + --bs-danger: #dc3545; + --bs-light: #f8f9fa; + --bs-dark: #212529; + --bs-primary-rgb: 16, 134, 197; + --bs-secondary-rgb: 108, 117, 125; + --bs-success-rgb: 25, 135, 84; + --bs-info-rgb: 13, 202, 240; + --bs-warning-rgb: 255, 193, 7; + --bs-danger-rgb: 220, 53, 69; + --bs-light-rgb: 248, 249, 250; + --bs-dark-rgb: 33, 37, 41; + --bs-white-rgb: 255, 255, 255; + --bs-black-rgb: 0, 0, 0; + --bs-body-color-rgb: 33, 37, 41; + --bs-body-bg-rgb: 255, 255, 255; + --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: Muli, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji; + --bs-body-font-size: 1rem; + --bs-body-font-weight: 400; + --bs-body-line-height: 1.5; + --bs-body-color: #212529; + --bs-body-bg: #fff; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +@media (prefers-reduced-motion: no-preference) { + :root { + scroll-behavior: smooth; + } +} + +body { + margin: 0; + font-family: var(--bs-body-font-family); + font-size: var(--bs-body-font-size); + font-weight: var(--bs-body-font-weight); + line-height: var(--bs-body-line-height); + color: var(--bs-body-color); + text-align: var(--bs-body-text-align); + background-color: var(--bs-body-bg); + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +hr { + margin: 1rem 0; + color: inherit; + background-color: currentColor; + border: 0; + opacity: 0.25; +} + + hr:not([size]) { + height: 1px; + } + +h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 { + margin-top: 0; + margin-bottom: 0.5rem; + font-family: "Saira Extra Condensed", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-weight: 700; + line-height: 1.2; + color: #343a40; +} + +h1, .h1 { + font-size: calc(1.725rem + 5.7vw); +} + +@media (min-width: 1200px) { + h1, .h1 { + font-size: 6rem; + } +} + +h2, .h2 { + font-size: calc(1.475rem + 2.7vw); +} + +@media (min-width: 1200px) { + h2, .h2 { + font-size: 3.5rem; + } +} + +h3, .h3 { + font-size: calc(1.325rem + 0.9vw); +} + +@media (min-width: 1200px) { + h3, .h3 { + font-size: 2rem; + } +} + +h4, .h4 { + font-size: calc(1.275rem + 0.3vw); +} + +@media (min-width: 1200px) { + h4, .h4 { + font-size: 1.5rem; + } +} + +h5, .h5 { + font-size: 1.25rem; +} + +h6, .h6 { + font-size: 1rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title], +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: 0.5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: bolder; +} + +small, .small { + font-size: 0.875em; +} + +mark, .mark { + padding: 0.2em; + background-color: #fcf8e3; +} + +sub, +sup { + position: relative; + font-size: 0.75em; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +a { + color: #1086c5; + text-decoration: underline; +} + + a:hover { + color: #b34fc2; + } + + 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: 0.875em; +} + + pre code { + font-size: inherit; + color: inherit; + word-break: normal; + } + +code { + font-size: 0.875em; + color: #d63384; + word-wrap: break-word; +} + +a > code { + color: inherit; +} + +kbd { + padding: 0.2rem 0.4rem; + font-size: 0.875em; + 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.5rem; + padding-bottom: 0.5rem; + color: #6c757d; + text-align: left; +} + +th { + text-align: inherit; + text-align: -webkit-match-parent; +} + +thead, +tbody, +tfoot, +tr, +td, +th { + border-color: inherit; + border-style: solid; + border-width: 0; +} + +label { + display: inline-block; +} + +button { + border-radius: 0; +} + + button:focus:not(:focus-visible) { + outline: 0; + } + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +select { + text-transform: none; +} + +[role=button] { + cursor: pointer; +} + +select { + word-wrap: normal; +} + + select:disabled { + opacity: 1; + } + +[list]::-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; +} + +::-webkit-file-upload-button { + font: inherit; +} + +::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.25rem; + font-weight: 300; +} + +.display-1 { + font-size: calc(1.625rem + 4.5vw); + font-weight: 300; + line-height: 1.2; +} + +@media (min-width: 1200px) { + .display-1 { + font-size: 5rem; + } +} + +.display-2 { + font-size: calc(1.575rem + 3.9vw); + font-weight: 300; + line-height: 1.2; +} + +@media (min-width: 1200px) { + .display-2 { + font-size: 4.5rem; + } +} + +.display-3 { + font-size: calc(1.525rem + 3.3vw); + font-weight: 300; + line-height: 1.2; +} + +@media (min-width: 1200px) { + .display-3 { + font-size: 4rem; + } +} + +.display-4 { + font-size: calc(1.475rem + 2.7vw); + font-weight: 300; + line-height: 1.2; +} + +@media (min-width: 1200px) { + .display-4 { + font-size: 3.5rem; + } +} + +.display-5 { + font-size: calc(1.425rem + 2.1vw); + font-weight: 300; + line-height: 1.2; +} + +@media (min-width: 1200px) { + .display-5 { + font-size: 3rem; + } +} + +.display-6 { + font-size: calc(1.375rem + 1.5vw); + font-weight: 300; + line-height: 1.2; +} + +@media (min-width: 1200px) { + .display-6 { + font-size: 2.5rem; + } +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; +} + +.list-inline-item { + display: inline-block; +} + + .list-inline-item:not(:last-child) { + margin-right: 0.5rem; + } + +.initialism { + font-size: 0.875em; + text-transform: uppercase; +} + +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} + + .blockquote > :last-child { + margin-bottom: 0; + } + +.blockquote-footer { + margin-top: -1rem; + margin-bottom: 1rem; + font-size: 0.875em; + color: #6c757d; +} + + .blockquote-footer::before { + content: "— "; + } + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: #fff; + border: 1px solid #dee2e6; + 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: 0.875em; + color: #6c757d; +} + +.container, +.container-fluid, +.container-xxl, +.container-xl, +.container-lg, +.container-md, +.container-sm { + width: 100%; + padding-right: var(--bs-gutter-x, 0.75rem); + padding-left: var(--bs-gutter-x, 0.75rem); + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container-sm, .container { + max-width: 540px; + } +} + +@media (min-width: 768px) { + .container-md, .container-sm, .container { + max-width: 720px; + } +} + +@media (min-width: 992px) { + .container-lg, .container-md, .container-sm, .container { + max-width: 960px; + } +} + +@media (min-width: 1200px) { + .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1140px; + } +} + +@media (min-width: 1400px) { + .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1320px; + } +} + +.row { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + display: flex; + flex-wrap: wrap; + margin-top: calc(-1 * var(--bs-gutter-y)); + margin-right: calc(-0.5 * var(--bs-gutter-x)); + margin-left: calc(-0.5 * var(--bs-gutter-x)); +} + + .row > * { + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-right: calc(var(--bs-gutter-x) * 0.5); + padding-left: calc(var(--bs-gutter-x) * 0.5); + margin-top: var(--bs-gutter-y); + } + +.col { + flex: 1 0 0%; +} + +.row-cols-auto > * { + flex: 0 0 auto; + width: auto; +} + +.row-cols-1 > * { + flex: 0 0 auto; + width: 100%; +} + +.row-cols-2 > * { + flex: 0 0 auto; + width: 50%; +} + +.row-cols-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; +} + +.row-cols-4 > * { + flex: 0 0 auto; + width: 25%; +} + +.row-cols-5 > * { + flex: 0 0 auto; + width: 20%; +} + +.row-cols-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; +} + +.col-auto { + flex: 0 0 auto; + width: auto; +} + +.col-1 { + flex: 0 0 auto; + width: 8.33333333%; +} + +.col-2 { + flex: 0 0 auto; + width: 16.66666667%; +} + +.col-3 { + flex: 0 0 auto; + width: 25%; +} + +.col-4 { + flex: 0 0 auto; + width: 33.33333333%; +} + +.col-5 { + flex: 0 0 auto; + width: 41.66666667%; +} + +.col-6 { + flex: 0 0 auto; + width: 50%; +} + +.col-7 { + flex: 0 0 auto; + width: 58.33333333%; +} + +.col-8 { + flex: 0 0 auto; + width: 66.66666667%; +} + +.col-9 { + flex: 0 0 auto; + width: 75%; +} + +.col-10 { + flex: 0 0 auto; + width: 83.33333333%; +} + +.col-11 { + flex: 0 0 auto; + width: 91.66666667%; +} + +.col-12 { + flex: 0 0 auto; + width: 100%; +} + +.offset-1 { + margin-left: 8.33333333%; +} + +.offset-2 { + margin-left: 16.66666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.33333333%; +} + +.offset-5 { + margin-left: 41.66666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.33333333%; +} + +.offset-8 { + margin-left: 66.66666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.33333333%; +} + +.offset-11 { + margin-left: 91.66666667%; +} + +.g-0, +.gx-0 { + --bs-gutter-x: 0; +} + +.g-0, +.gy-0 { + --bs-gutter-y: 0; +} + +.g-1, +.gx-1 { + --bs-gutter-x: 0.25rem; +} + +.g-1, +.gy-1 { + --bs-gutter-y: 0.25rem; +} + +.g-2, +.gx-2 { + --bs-gutter-x: 0.5rem; +} + +.g-2, +.gy-2 { + --bs-gutter-y: 0.5rem; +} + +.g-3, +.gx-3 { + --bs-gutter-x: 1rem; +} + +.g-3, +.gy-3 { + --bs-gutter-y: 1rem; +} + +.g-4, +.gx-4 { + --bs-gutter-x: 1.5rem; +} + +.g-4, +.gy-4 { + --bs-gutter-y: 1.5rem; +} + +.g-5, +.gx-5 { + --bs-gutter-x: 3rem; +} + +.g-5, +.gy-5 { + --bs-gutter-y: 3rem; +} + +@media (min-width: 576px) { + .col-sm { + flex: 1 0 0%; + } + + .row-cols-sm-auto > * { + flex: 0 0 auto; + width: auto; + } + + .row-cols-sm-1 > * { + flex: 0 0 auto; + width: 100%; + } + + .row-cols-sm-2 > * { + flex: 0 0 auto; + width: 50%; + } + + .row-cols-sm-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + + .row-cols-sm-4 > * { + flex: 0 0 auto; + width: 25%; + } + + .row-cols-sm-5 > * { + flex: 0 0 auto; + width: 20%; + } + + .row-cols-sm-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + + .col-sm-auto { + flex: 0 0 auto; + width: auto; + } + + .col-sm-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + + .col-sm-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + + .col-sm-3 { + flex: 0 0 auto; + width: 25%; + } + + .col-sm-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + + .col-sm-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + + .col-sm-6 { + flex: 0 0 auto; + width: 50%; + } + + .col-sm-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + + .col-sm-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + + .col-sm-9 { + flex: 0 0 auto; + width: 75%; + } + + .col-sm-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + + .col-sm-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + + .col-sm-12 { + flex: 0 0 auto; + width: 100%; + } + + .offset-sm-0 { + margin-left: 0; + } + + .offset-sm-1 { + margin-left: 8.33333333%; + } + + .offset-sm-2 { + margin-left: 16.66666667%; + } + + .offset-sm-3 { + margin-left: 25%; + } + + .offset-sm-4 { + margin-left: 33.33333333%; + } + + .offset-sm-5 { + margin-left: 41.66666667%; + } + + .offset-sm-6 { + margin-left: 50%; + } + + .offset-sm-7 { + margin-left: 58.33333333%; + } + + .offset-sm-8 { + margin-left: 66.66666667%; + } + + .offset-sm-9 { + margin-left: 75%; + } + + .offset-sm-10 { + margin-left: 83.33333333%; + } + + .offset-sm-11 { + margin-left: 91.66666667%; + } + + .g-sm-0, + .gx-sm-0 { + --bs-gutter-x: 0; + } + + .g-sm-0, + .gy-sm-0 { + --bs-gutter-y: 0; + } + + .g-sm-1, + .gx-sm-1 { + --bs-gutter-x: 0.25rem; + } + + .g-sm-1, + .gy-sm-1 { + --bs-gutter-y: 0.25rem; + } + + .g-sm-2, + .gx-sm-2 { + --bs-gutter-x: 0.5rem; + } + + .g-sm-2, + .gy-sm-2 { + --bs-gutter-y: 0.5rem; + } + + .g-sm-3, + .gx-sm-3 { + --bs-gutter-x: 1rem; + } + + .g-sm-3, + .gy-sm-3 { + --bs-gutter-y: 1rem; + } + + .g-sm-4, + .gx-sm-4 { + --bs-gutter-x: 1.5rem; + } + + .g-sm-4, + .gy-sm-4 { + --bs-gutter-y: 1.5rem; + } + + .g-sm-5, + .gx-sm-5 { + --bs-gutter-x: 3rem; + } + + .g-sm-5, + .gy-sm-5 { + --bs-gutter-y: 3rem; + } +} + +@media (min-width: 768px) { + .col-md { + flex: 1 0 0%; + } + + .row-cols-md-auto > * { + flex: 0 0 auto; + width: auto; + } + + .row-cols-md-1 > * { + flex: 0 0 auto; + width: 100%; + } + + .row-cols-md-2 > * { + flex: 0 0 auto; + width: 50%; + } + + .row-cols-md-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + + .row-cols-md-4 > * { + flex: 0 0 auto; + width: 25%; + } + + .row-cols-md-5 > * { + flex: 0 0 auto; + width: 20%; + } + + .row-cols-md-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + + .col-md-auto { + flex: 0 0 auto; + width: auto; + } + + .col-md-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + + .col-md-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + + .col-md-3 { + flex: 0 0 auto; + width: 25%; + } + + .col-md-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + + .col-md-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + + .col-md-6 { + flex: 0 0 auto; + width: 50%; + } + + .col-md-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + + .col-md-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + + .col-md-9 { + flex: 0 0 auto; + width: 75%; + } + + .col-md-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + + .col-md-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + + .col-md-12 { + flex: 0 0 auto; + width: 100%; + } + + .offset-md-0 { + margin-left: 0; + } + + .offset-md-1 { + margin-left: 8.33333333%; + } + + .offset-md-2 { + margin-left: 16.66666667%; + } + + .offset-md-3 { + margin-left: 25%; + } + + .offset-md-4 { + margin-left: 33.33333333%; + } + + .offset-md-5 { + margin-left: 41.66666667%; + } + + .offset-md-6 { + margin-left: 50%; + } + + .offset-md-7 { + margin-left: 58.33333333%; + } + + .offset-md-8 { + margin-left: 66.66666667%; + } + + .offset-md-9 { + margin-left: 75%; + } + + .offset-md-10 { + margin-left: 83.33333333%; + } + + .offset-md-11 { + margin-left: 91.66666667%; + } + + .g-md-0, + .gx-md-0 { + --bs-gutter-x: 0; + } + + .g-md-0, + .gy-md-0 { + --bs-gutter-y: 0; + } + + .g-md-1, + .gx-md-1 { + --bs-gutter-x: 0.25rem; + } + + .g-md-1, + .gy-md-1 { + --bs-gutter-y: 0.25rem; + } + + .g-md-2, + .gx-md-2 { + --bs-gutter-x: 0.5rem; + } + + .g-md-2, + .gy-md-2 { + --bs-gutter-y: 0.5rem; + } + + .g-md-3, + .gx-md-3 { + --bs-gutter-x: 1rem; + } + + .g-md-3, + .gy-md-3 { + --bs-gutter-y: 1rem; + } + + .g-md-4, + .gx-md-4 { + --bs-gutter-x: 1.5rem; + } + + .g-md-4, + .gy-md-4 { + --bs-gutter-y: 1.5rem; + } + + .g-md-5, + .gx-md-5 { + --bs-gutter-x: 3rem; + } + + .g-md-5, + .gy-md-5 { + --bs-gutter-y: 3rem; + } +} + +@media (min-width: 992px) { + .col-lg { + flex: 1 0 0%; + } + + .row-cols-lg-auto > * { + flex: 0 0 auto; + width: auto; + } + + .row-cols-lg-1 > * { + flex: 0 0 auto; + width: 100%; + } + + .row-cols-lg-2 > * { + flex: 0 0 auto; + width: 50%; + } + + .row-cols-lg-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + + .row-cols-lg-4 > * { + flex: 0 0 auto; + width: 25%; + } + + .row-cols-lg-5 > * { + flex: 0 0 auto; + width: 20%; + } + + .row-cols-lg-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + + .col-lg-auto { + flex: 0 0 auto; + width: auto; + } + + .col-lg-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + + .col-lg-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + + .col-lg-3 { + flex: 0 0 auto; + width: 25%; + } + + .col-lg-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + + .col-lg-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + + .col-lg-6 { + flex: 0 0 auto; + width: 50%; + } + + .col-lg-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + + .col-lg-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + + .col-lg-9 { + flex: 0 0 auto; + width: 75%; + } + + .col-lg-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + + .col-lg-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + + .col-lg-12 { + flex: 0 0 auto; + width: 100%; + } + + .offset-lg-0 { + margin-left: 0; + } + + .offset-lg-1 { + margin-left: 8.33333333%; + } + + .offset-lg-2 { + margin-left: 16.66666667%; + } + + .offset-lg-3 { + margin-left: 25%; + } + + .offset-lg-4 { + margin-left: 33.33333333%; + } + + .offset-lg-5 { + margin-left: 41.66666667%; + } + + .offset-lg-6 { + margin-left: 50%; + } + + .offset-lg-7 { + margin-left: 58.33333333%; + } + + .offset-lg-8 { + margin-left: 66.66666667%; + } + + .offset-lg-9 { + margin-left: 75%; + } + + .offset-lg-10 { + margin-left: 83.33333333%; + } + + .offset-lg-11 { + margin-left: 91.66666667%; + } + + .g-lg-0, + .gx-lg-0 { + --bs-gutter-x: 0; + } + + .g-lg-0, + .gy-lg-0 { + --bs-gutter-y: 0; + } + + .g-lg-1, + .gx-lg-1 { + --bs-gutter-x: 0.25rem; + } + + .g-lg-1, + .gy-lg-1 { + --bs-gutter-y: 0.25rem; + } + + .g-lg-2, + .gx-lg-2 { + --bs-gutter-x: 0.5rem; + } + + .g-lg-2, + .gy-lg-2 { + --bs-gutter-y: 0.5rem; + } + + .g-lg-3, + .gx-lg-3 { + --bs-gutter-x: 1rem; + } + + .g-lg-3, + .gy-lg-3 { + --bs-gutter-y: 1rem; + } + + .g-lg-4, + .gx-lg-4 { + --bs-gutter-x: 1.5rem; + } + + .g-lg-4, + .gy-lg-4 { + --bs-gutter-y: 1.5rem; + } + + .g-lg-5, + .gx-lg-5 { + --bs-gutter-x: 3rem; + } + + .g-lg-5, + .gy-lg-5 { + --bs-gutter-y: 3rem; + } +} + +@media (min-width: 1200px) { + .col-xl { + flex: 1 0 0%; + } + + .row-cols-xl-auto > * { + flex: 0 0 auto; + width: auto; + } + + .row-cols-xl-1 > * { + flex: 0 0 auto; + width: 100%; + } + + .row-cols-xl-2 > * { + flex: 0 0 auto; + width: 50%; + } + + .row-cols-xl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + + .row-cols-xl-4 > * { + flex: 0 0 auto; + width: 25%; + } + + .row-cols-xl-5 > * { + flex: 0 0 auto; + width: 20%; + } + + .row-cols-xl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + + .col-xl-auto { + flex: 0 0 auto; + width: auto; + } + + .col-xl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + + .col-xl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + + .col-xl-3 { + flex: 0 0 auto; + width: 25%; + } + + .col-xl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + + .col-xl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + + .col-xl-6 { + flex: 0 0 auto; + width: 50%; + } + + .col-xl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + + .col-xl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + + .col-xl-9 { + flex: 0 0 auto; + width: 75%; + } + + .col-xl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + + .col-xl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + + .col-xl-12 { + flex: 0 0 auto; + width: 100%; + } + + .offset-xl-0 { + margin-left: 0; + } + + .offset-xl-1 { + margin-left: 8.33333333%; + } + + .offset-xl-2 { + margin-left: 16.66666667%; + } + + .offset-xl-3 { + margin-left: 25%; + } + + .offset-xl-4 { + margin-left: 33.33333333%; + } + + .offset-xl-5 { + margin-left: 41.66666667%; + } + + .offset-xl-6 { + margin-left: 50%; + } + + .offset-xl-7 { + margin-left: 58.33333333%; + } + + .offset-xl-8 { + margin-left: 66.66666667%; + } + + .offset-xl-9 { + margin-left: 75%; + } + + .offset-xl-10 { + margin-left: 83.33333333%; + } + + .offset-xl-11 { + margin-left: 91.66666667%; + } + + .g-xl-0, + .gx-xl-0 { + --bs-gutter-x: 0; + } + + .g-xl-0, + .gy-xl-0 { + --bs-gutter-y: 0; + } + + .g-xl-1, + .gx-xl-1 { + --bs-gutter-x: 0.25rem; + } + + .g-xl-1, + .gy-xl-1 { + --bs-gutter-y: 0.25rem; + } + + .g-xl-2, + .gx-xl-2 { + --bs-gutter-x: 0.5rem; + } + + .g-xl-2, + .gy-xl-2 { + --bs-gutter-y: 0.5rem; + } + + .g-xl-3, + .gx-xl-3 { + --bs-gutter-x: 1rem; + } + + .g-xl-3, + .gy-xl-3 { + --bs-gutter-y: 1rem; + } + + .g-xl-4, + .gx-xl-4 { + --bs-gutter-x: 1.5rem; + } + + .g-xl-4, + .gy-xl-4 { + --bs-gutter-y: 1.5rem; + } + + .g-xl-5, + .gx-xl-5 { + --bs-gutter-x: 3rem; + } + + .g-xl-5, + .gy-xl-5 { + --bs-gutter-y: 3rem; + } +} + +@media (min-width: 1400px) { + .col-xxl { + flex: 1 0 0%; + } + + .row-cols-xxl-auto > * { + flex: 0 0 auto; + width: auto; + } + + .row-cols-xxl-1 > * { + flex: 0 0 auto; + width: 100%; + } + + .row-cols-xxl-2 > * { + flex: 0 0 auto; + width: 50%; + } + + .row-cols-xxl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + + .row-cols-xxl-4 > * { + flex: 0 0 auto; + width: 25%; + } + + .row-cols-xxl-5 > * { + flex: 0 0 auto; + width: 20%; + } + + .row-cols-xxl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + + .col-xxl-auto { + flex: 0 0 auto; + width: auto; + } + + .col-xxl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + + .col-xxl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + + .col-xxl-3 { + flex: 0 0 auto; + width: 25%; + } + + .col-xxl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + + .col-xxl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + + .col-xxl-6 { + flex: 0 0 auto; + width: 50%; + } + + .col-xxl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + + .col-xxl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + + .col-xxl-9 { + flex: 0 0 auto; + width: 75%; + } + + .col-xxl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + + .col-xxl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + + .col-xxl-12 { + flex: 0 0 auto; + width: 100%; + } + + .offset-xxl-0 { + margin-left: 0; + } + + .offset-xxl-1 { + margin-left: 8.33333333%; + } + + .offset-xxl-2 { + margin-left: 16.66666667%; + } + + .offset-xxl-3 { + margin-left: 25%; + } + + .offset-xxl-4 { + margin-left: 33.33333333%; + } + + .offset-xxl-5 { + margin-left: 41.66666667%; + } + + .offset-xxl-6 { + margin-left: 50%; + } + + .offset-xxl-7 { + margin-left: 58.33333333%; + } + + .offset-xxl-8 { + margin-left: 66.66666667%; + } + + .offset-xxl-9 { + margin-left: 75%; + } + + .offset-xxl-10 { + margin-left: 83.33333333%; + } + + .offset-xxl-11 { + margin-left: 91.66666667%; + } + + .g-xxl-0, + .gx-xxl-0 { + --bs-gutter-x: 0; + } + + .g-xxl-0, + .gy-xxl-0 { + --bs-gutter-y: 0; + } + + .g-xxl-1, + .gx-xxl-1 { + --bs-gutter-x: 0.25rem; + } + + .g-xxl-1, + .gy-xxl-1 { + --bs-gutter-y: 0.25rem; + } + + .g-xxl-2, + .gx-xxl-2 { + --bs-gutter-x: 0.5rem; + } + + .g-xxl-2, + .gy-xxl-2 { + --bs-gutter-y: 0.5rem; + } + + .g-xxl-3, + .gx-xxl-3 { + --bs-gutter-x: 1rem; + } + + .g-xxl-3, + .gy-xxl-3 { + --bs-gutter-y: 1rem; + } + + .g-xxl-4, + .gx-xxl-4 { + --bs-gutter-x: 1.5rem; + } + + .g-xxl-4, + .gy-xxl-4 { + --bs-gutter-y: 1.5rem; + } + + .g-xxl-5, + .gx-xxl-5 { + --bs-gutter-x: 3rem; + } + + .g-xxl-5, + .gy-xxl-5 { + --bs-gutter-y: 3rem; + } +} + +.table { + --bs-table-bg: transparent; + --bs-table-accent-bg: transparent; + --bs-table-striped-color: #212529; + --bs-table-striped-bg: rgba(0, 0, 0, 0.05); + --bs-table-active-color: #212529; + --bs-table-active-bg: rgba(0, 0, 0, 0.1); + --bs-table-hover-color: #212529; + --bs-table-hover-bg: rgba(0, 0, 0, 0.075); + width: 100%; + margin-bottom: 1rem; + color: #212529; + vertical-align: top; + border-color: #dee2e6; +} + + .table > :not(caption) > * > * { + padding: 0.5rem 0.5rem; + background-color: var(--bs-table-bg); + border-bottom-width: 1px; + 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 currentColor; + } + +.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: #f2dfd7; + --bs-table-striped-bg: #e6d4cc; + --bs-table-striped-color: #000; + --bs-table-active-bg: #dac9c2; + --bs-table-active-color: #000; + --bs-table-hover-bg: #e0cec7; + --bs-table-hover-color: #000; + color: #000; + border-color: #dac9c2; +} + +.table-secondary { + --bs-table-bg: #e2e3e5; + --bs-table-striped-bg: #d7d8da; + --bs-table-striped-color: #000; + --bs-table-active-bg: #cbccce; + --bs-table-active-color: #000; + --bs-table-hover-bg: #d1d2d4; + --bs-table-hover-color: #000; + color: #000; + border-color: #cbccce; +} + +.table-success { + --bs-table-bg: #d1e7dd; + --bs-table-striped-bg: #c7dbd2; + --bs-table-striped-color: #000; + --bs-table-active-bg: #bcd0c7; + --bs-table-active-color: #000; + --bs-table-hover-bg: #c1d6cc; + --bs-table-hover-color: #000; + color: #000; + border-color: #bcd0c7; +} + +.table-info { + --bs-table-bg: #cff4fc; + --bs-table-striped-bg: #c5e8ef; + --bs-table-striped-color: #000; + --bs-table-active-bg: #badce3; + --bs-table-active-color: #000; + --bs-table-hover-bg: #bfe2e9; + --bs-table-hover-color: #000; + color: #000; + border-color: #badce3; +} + +.table-warning { + --bs-table-bg: #fff3cd; + --bs-table-striped-bg: #f2e7c3; + --bs-table-striped-color: #000; + --bs-table-active-bg: #e6dbb9; + --bs-table-active-color: #000; + --bs-table-hover-bg: #ece1be; + --bs-table-hover-color: #000; + color: #000; + border-color: #e6dbb9; +} + +.table-danger { + --bs-table-bg: #f8d7da; + --bs-table-striped-bg: #eccccf; + --bs-table-striped-color: #000; + --bs-table-active-bg: #dfc2c4; + --bs-table-active-color: #000; + --bs-table-hover-bg: #e5c7ca; + --bs-table-hover-color: #000; + color: #000; + border-color: #dfc2c4; +} + +.table-light { + --bs-table-bg: #f8f9fa; + --bs-table-striped-bg: #ecedee; + --bs-table-striped-color: #000; + --bs-table-active-bg: #dfe0e1; + --bs-table-active-color: #000; + --bs-table-hover-bg: #e5e6e7; + --bs-table-hover-color: #000; + color: #000; + border-color: #dfe0e1; +} + +.table-dark { + --bs-table-bg: #212529; + --bs-table-striped-bg: #2c3034; + --bs-table-striped-color: #fff; + --bs-table-active-bg: #373b3e; + --bs-table-active-color: #fff; + --bs-table-hover-bg: #323539; + --bs-table-hover-color: #fff; + color: #fff; + border-color: #373b3e; +} + +.table-responsive { + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} + +@media (max-width: 575.98px) { + .table-responsive-sm { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} + +@media (max-width: 767.98px) { + .table-responsive-md { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} + +@media (max-width: 991.98px) { + .table-responsive-lg { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} + +@media (max-width: 1199.98px) { + .table-responsive-xl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} + +@media (max-width: 1399.98px) { + .table-responsive-xxl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} + +.form-label { + margin-bottom: 0.5rem; +} + +.col-form-label { + padding-top: calc(0.375rem + 1px); + padding-bottom: calc(0.375rem + 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.25rem; +} + +.col-form-label-sm { + padding-top: calc(0.25rem + 1px); + padding-bottom: calc(0.25rem + 1px); + font-size: 0.875rem; +} + +.form-text { + margin-top: 0.25rem; + font-size: 0.875em; + color: #6c757d; +} + +.form-control { + display: block; + width: 100%; + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ced4da; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border-radius: 0.25rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .form-control { + transition: none; + } +} + +.form-control[type=file] { + overflow: hidden; +} + + .form-control[type=file]:not(:disabled):not([readonly]) { + cursor: pointer; + } + +.form-control:focus { + color: #212529; + background-color: #fff; + border-color: #deae9c; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(16, 134, 197, 0.25); +} + +.form-control::-webkit-date-and-time-value { + height: 1.5em; +} + +.form-control::-moz-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control:-ms-input-placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control::placeholder { + color: #6c757d; + opacity: 1; +} + +.form-control:disabled, .form-control[readonly] { + background-color: #e9ecef; + opacity: 1; +} + +.form-control::-webkit-file-upload-button { + padding: 0.375rem 0.75rem; + margin: -0.375rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; + color: #212529; + background-color: #e9ecef; + 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, box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +.form-control::file-selector-button { + padding: 0.375rem 0.75rem; + margin: -0.375rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; + color: #212529; + background-color: #e9ecef; + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: 1px; + border-radius: 0; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .form-control::-webkit-file-upload-button { + -webkit-transition: none; + transition: none; + } + + .form-control::file-selector-button { + transition: none; + } +} + +.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button { + background-color: #dde0e3; +} + +.form-control:hover:not(:disabled):not([readonly])::file-selector-button { + background-color: #dde0e3; +} + +.form-control::-webkit-file-upload-button { + padding: 0.375rem 0.75rem; + margin: -0.375rem -0.75rem; + -webkit-margin-end: 0.75rem; + margin-inline-end: 0.75rem; + color: #212529; + background-color: #e9ecef; + 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, 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; +} + +@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: #dde0e3; +} + +.form-control-plaintext { + display: block; + width: 100%; + padding: 0.375rem 0; + margin-bottom: 0; + line-height: 1.5; + color: #212529; + 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.875rem; + border-radius: 0.2rem; +} + + .form-control-sm::-webkit-file-upload-button { + padding: 0.25rem 0.5rem; + margin: -0.25rem -0.5rem; + -webkit-margin-end: 0.5rem; + margin-inline-end: 0.5rem; + } + + .form-control-sm::file-selector-button { + padding: 0.25rem 0.5rem; + margin: -0.25rem -0.5rem; + -webkit-margin-end: 0.5rem; + margin-inline-end: 0.5rem; + } + + .form-control-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.25rem; + border-radius: 0.3rem; +} + + .form-control-lg::-webkit-file-upload-button { + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; + } + + .form-control-lg::file-selector-button { + padding: 0.5rem 1rem; + margin: -0.5rem -1rem; + -webkit-margin-end: 1rem; + margin-inline-end: 1rem; + } + + .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.75rem + 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.375rem; +} + + .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.375rem 2.25rem 0.375rem 0.75rem; + -moz-padding-start: calc(0.75rem - 3px); + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + 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 #ced4da; + border-radius: 0.25rem; + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .form-select { + transition: none; + } +} + +.form-select:focus { + border-color: #deae9c; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(16, 134, 197, 0.25); +} + +.form-select[multiple], .form-select[size]:not([size="1"]) { + padding-right: 0.75rem; + background-image: none; +} + +.form-select:disabled { + background-color: #e9ecef; +} + +.form-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #212529; +} + +.form-select-sm { + padding-top: 0.25rem; + padding-bottom: 0.25rem; + padding-left: 0.5rem; + font-size: 0.875rem; + border-radius: 0.2rem; +} + +.form-select-lg { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.25rem; + border-radius: 0.3rem; +} + +.form-check { + display: block; + min-height: 1.5rem; + padding-left: 1.5em; + margin-bottom: 0.125rem; +} + + .form-check .form-check-input { + float: left; + margin-left: -1.5em; + } + +.form-check-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 rgba(0, 0, 0, 0.25); + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + -webkit-print-color-adjust: exact; + color-adjust: exact; +} + + .form-check-input[type=checkbox] { + border-radius: 0.25em; + } + + .form-check-input[type=radio] { + border-radius: 50%; + } + + .form-check-input:active { + filter: brightness(90%); + } + + .form-check-input:focus { + border-color: #deae9c; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(16, 134, 197, 0.25); + } + + .form-check-input:checked { + background-color: #1086c5; + border-color: #1086c5; + } + + .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: #1086c5; + border-color: #1086c5; + 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; + 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; + transition: background-position 0.15s ease-in-out; + } + +@media (prefers-reduced-motion: reduce) { + .form-switch .form-check-input { + transition: none; + } +} + +.form-switch .form-check-input:focus { + 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='%23deae9c'/%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; + filter: none; + opacity: 0.65; + } + +.form-range { + width: 100%; + height: 1.5rem; + padding: 0; + background-color: transparent; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + + .form-range:focus { + outline: 0; + } + + .form-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(16, 134, 197, 0.25); + } + + .form-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(16, 134, 197, 0.25); + } + + .form-range::-moz-focus-outer { + border: 0; + } + + .form-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #1086c5; + border: 0; + border-radius: 1rem; + -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + -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: #ebcec3; +} + +.form-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + border-color: transparent; + border-radius: 1rem; +} + +.form-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: #1086c5; + 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: #ebcec3; +} + +.form-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #dee2e6; + 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; + transform-origin: 0 0; + transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out; + } + +@media (prefers-reduced-motion: reduce) { + .form-floating > label { + transition: none; + } +} + +.form-floating > .form-control { + padding: 1rem 0.75rem; +} + + .form-floating > .form-control::-moz-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; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} + +.form-floating > .form-control:-webkit-autofill ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} + +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100%; +} + + .input-group > .form-control, + .input-group > .form-select { + position: relative; + 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: flex; + align-items: center; + padding: 0.375rem 0.75rem; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: center; + white-space: nowrap; + background-color: #e9ecef; + border: 1px solid #ced4da; + 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.25rem; + border-radius: 0.3rem; +} + +.input-group-sm > .form-control, +.input-group-sm > .form-select, +.input-group-sm > .input-group-text, +.input-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.2rem; +} + +.input-group-lg > .form-select, +.input-group-sm > .form-select { + padding-right: 3rem; +} + +.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu), +.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: 0.875em; + color: #198754; +} + +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + color: #fff; + background-color: rgba(25, 135, 84, 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: #198754; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.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.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + + .was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: #198754; + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); + } + +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .form-select:valid, .form-select.is-valid { + border-color: #198754; +} + + .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: 4.125rem; + 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='%23198754' 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.25rem; + background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); + } + + .was-validated .form-select:valid:focus, .form-select.is-valid:focus { + border-color: #198754; + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); + } + +.was-validated .form-check-input:valid, .form-check-input.is-valid { + border-color: #198754; +} + + .was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked { + background-color: #198754; + } + + .was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus { + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25); + } + + .was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: #198754; + } + +.form-check-inline .form-check-input ~ .valid-feedback { + margin-left: 0.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: 0.875em; + color: #dc3545; +} + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.5rem; + margin-top: 0.1rem; + font-size: 0.875rem; + color: #fff; + background-color: rgba(220, 53, 69, 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: #dc3545; + padding-right: calc(1.5em + 0.75rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + + .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); + } + +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { + padding-right: calc(1.5em + 0.75rem); + background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); +} + +.was-validated .form-select:invalid, .form-select.is-invalid { + border-color: #dc3545; +} + + .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: 4.125rem; + 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='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); + background-position: right 0.75rem center, center right 2.25rem; + background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); + } + + .was-validated .form-select:invalid:focus, .form-select.is-invalid:focus { + border-color: #dc3545; + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); + } + +.was-validated .form-check-input:invalid, .form-check-input.is-invalid { + border-color: #dc3545; +} + + .was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked { + background-color: #dc3545; + } + + .was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus { + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25); + } + + .was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: #dc3545; + } + +.form-check-inline .form-check-input ~ .invalid-feedback { + margin-left: 0.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: #212529; + text-align: center; + text-decoration: none; + 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.375rem 0.75rem; + font-size: 1rem; + border-radius: 0.25rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .btn { + transition: none; + } +} + +.btn:hover { + color: #212529; +} + +.btn-check:focus + .btn, .btn:focus { + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(16, 134, 197, 0.25); +} + +.btn:disabled, .btn.disabled, fieldset:disabled .btn { + pointer-events: none; + opacity: 0.65; +} + +.btn-primary { + color: #000; + background-color: #1086c5; + border-color: #1086c5; +} + + .btn-primary:hover { + color: #000; + background-color: #c77556; + border-color: #c46d4c; + } + + .btn-check:focus + .btn-primary, .btn-primary:focus { + color: #000; + background-color: #c77556; + border-color: #c46d4c; + box-shadow: 0 0 0 0.25rem rgba(161, 79, 48, 0.5); + } + + .btn-check:checked + .btn-primary, .btn-check:active + .btn-primary, .btn-primary:active, .btn-primary.active, .show > .btn-primary.dropdown-toggle { + color: #000; + background-color: #ca7d60; + border-color: #c46d4c; + } + + .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 { + box-shadow: 0 0 0 0.25rem rgba(161, 79, 48, 0.5); + } + + .btn-primary:disabled, .btn-primary.disabled { + color: #000; + background-color: #1086c5; + border-color: #1086c5; + } + +.btn-secondary { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} + + .btn-secondary:hover { + color: #fff; + background-color: #5c636a; + border-color: #565e64; + } + + .btn-check:focus + .btn-secondary, .btn-secondary:focus { + color: #fff; + background-color: #5c636a; + border-color: #565e64; + box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 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: #565e64; + border-color: #51585e; + } + + .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 { + box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5); + } + + .btn-secondary:disabled, .btn-secondary.disabled { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; + } + +.btn-success { + color: #fff; + background-color: #198754; + border-color: #198754; +} + + .btn-success:hover { + color: #fff; + background-color: #157347; + border-color: #146c43; + } + + .btn-check:focus + .btn-success, .btn-success:focus { + color: #fff; + background-color: #157347; + border-color: #146c43; + box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 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: #146c43; + border-color: #13653f; + } + + .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 { + box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5); + } + + .btn-success:disabled, .btn-success.disabled { + color: #fff; + background-color: #198754; + border-color: #198754; + } + +.btn-info { + color: #000; + background-color: #0dcaf0; + border-color: #0dcaf0; +} + + .btn-info:hover { + color: #000; + background-color: #31d2f2; + border-color: #25cff2; + } + + .btn-check:focus + .btn-info, .btn-info:focus { + color: #000; + background-color: #31d2f2; + border-color: #25cff2; + box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5); + } + + .btn-check:checked + .btn-info, .btn-check:active + .btn-info, .btn-info:active, .btn-info.active, .show > .btn-info.dropdown-toggle { + color: #000; + background-color: #3dd5f3; + border-color: #25cff2; + } + + .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 { + box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5); + } + + .btn-info:disabled, .btn-info.disabled { + color: #000; + background-color: #0dcaf0; + border-color: #0dcaf0; + } + +.btn-warning { + color: #000; + background-color: #ffc107; + border-color: #ffc107; +} + + .btn-warning:hover { + color: #000; + background-color: #ffca2c; + border-color: #ffc720; + } + + .btn-check:focus + .btn-warning, .btn-warning:focus { + color: #000; + background-color: #ffca2c; + border-color: #ffc720; + box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 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: #ffcd39; + border-color: #ffc720; + } + + .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 { + box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5); + } + + .btn-warning:disabled, .btn-warning.disabled { + color: #000; + background-color: #ffc107; + border-color: #ffc107; + } + +.btn-danger { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} + + .btn-danger:hover { + color: #fff; + background-color: #bb2d3b; + border-color: #b02a37; + } + + .btn-check:focus + .btn-danger, .btn-danger:focus { + color: #fff; + background-color: #bb2d3b; + border-color: #b02a37; + box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 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: #b02a37; + border-color: #a52834; + } + + .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 { + box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5); + } + + .btn-danger:disabled, .btn-danger.disabled { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; + } + +.btn-light { + color: #000; + background-color: #f8f9fa; + border-color: #f8f9fa; +} + + .btn-light:hover { + color: #000; + background-color: #f9fafb; + border-color: #f9fafb; + } + + .btn-check:focus + .btn-light, .btn-light:focus { + color: #000; + background-color: #f9fafb; + border-color: #f9fafb; + box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 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: #f9fafb; + border-color: #f9fafb; + } + + .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 { + box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5); + } + + .btn-light:disabled, .btn-light.disabled { + color: #000; + background-color: #f8f9fa; + border-color: #f8f9fa; + } + +.btn-dark { + color: #fff; + background-color: #212529; + border-color: #212529; +} + + .btn-dark:hover { + color: #fff; + background-color: #1c1f23; + border-color: #1a1e21; + } + + .btn-check:focus + .btn-dark, .btn-dark:focus { + color: #fff; + background-color: #1c1f23; + border-color: #1a1e21; + box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 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: #1a1e21; + border-color: #191c1f; + } + + .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 { + box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5); + } + + .btn-dark:disabled, .btn-dark.disabled { + color: #fff; + background-color: #212529; + border-color: #212529; + } + +.btn-outline-primary { + color: #1086c5; + border-color: #1086c5; +} + + .btn-outline-primary:hover { + color: #000; + background-color: #1086c5; + border-color: #1086c5; + } + + .btn-check:focus + .btn-outline-primary, .btn-outline-primary:focus { + box-shadow: 0 0 0 0.25rem rgba(16, 134, 197, 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: #000; + background-color: #1086c5; + border-color: #1086c5; + } + + .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 { + box-shadow: 0 0 0 0.25rem rgba(16, 134, 197, 0.5); + } + + .btn-outline-primary:disabled, .btn-outline-primary.disabled { + color: #1086c5; + background-color: transparent; + } + +.btn-outline-secondary { + color: #6c757d; + border-color: #6c757d; +} + + .btn-outline-secondary:hover { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; + } + + .btn-check:focus + .btn-outline-secondary, .btn-outline-secondary:focus { + box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 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: #6c757d; + border-color: #6c757d; + } + + .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 { + box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5); + } + + .btn-outline-secondary:disabled, .btn-outline-secondary.disabled { + color: #6c757d; + background-color: transparent; + } + +.btn-outline-success { + color: #198754; + border-color: #198754; +} + + .btn-outline-success:hover { + color: #fff; + background-color: #198754; + border-color: #198754; + } + + .btn-check:focus + .btn-outline-success, .btn-outline-success:focus { + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 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: #198754; + border-color: #198754; + } + + .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 { + box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5); + } + + .btn-outline-success:disabled, .btn-outline-success.disabled { + color: #198754; + background-color: transparent; + } + +.btn-outline-info { + color: #0dcaf0; + border-color: #0dcaf0; +} + + .btn-outline-info:hover { + color: #000; + background-color: #0dcaf0; + border-color: #0dcaf0; + } + + .btn-check:focus + .btn-outline-info, .btn-outline-info:focus { + box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 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: #000; + background-color: #0dcaf0; + border-color: #0dcaf0; + } + + .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 { + box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5); + } + + .btn-outline-info:disabled, .btn-outline-info.disabled { + color: #0dcaf0; + background-color: transparent; + } + +.btn-outline-warning { + color: #ffc107; + border-color: #ffc107; +} + + .btn-outline-warning:hover { + color: #000; + background-color: #ffc107; + border-color: #ffc107; + } + + .btn-check:focus + .btn-outline-warning, .btn-outline-warning:focus { + box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 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: #ffc107; + border-color: #ffc107; + } + + .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 { + box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5); + } + + .btn-outline-warning:disabled, .btn-outline-warning.disabled { + color: #ffc107; + background-color: transparent; + } + +.btn-outline-danger { + color: #dc3545; + border-color: #dc3545; +} + + .btn-outline-danger:hover { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; + } + + .btn-check:focus + .btn-outline-danger, .btn-outline-danger:focus { + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 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: #dc3545; + border-color: #dc3545; + } + + .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 { + box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5); + } + + .btn-outline-danger:disabled, .btn-outline-danger.disabled { + color: #dc3545; + background-color: transparent; + } + +.btn-outline-light { + color: #f8f9fa; + border-color: #f8f9fa; +} + + .btn-outline-light:hover { + color: #000; + background-color: #f8f9fa; + border-color: #f8f9fa; + } + + .btn-check:focus + .btn-outline-light, .btn-outline-light:focus { + box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 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: #f8f9fa; + border-color: #f8f9fa; + } + + .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 { + box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5); + } + + .btn-outline-light:disabled, .btn-outline-light.disabled { + color: #f8f9fa; + background-color: transparent; + } + +.btn-outline-dark { + color: #212529; + border-color: #212529; +} + + .btn-outline-dark:hover { + color: #fff; + background-color: #212529; + border-color: #212529; + } + + .btn-check:focus + .btn-outline-dark, .btn-outline-dark:focus { + box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 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: #212529; + border-color: #212529; + } + + .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 { + box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.5); + } + + .btn-outline-dark:disabled, .btn-outline-dark.disabled { + color: #212529; + background-color: transparent; + } + +.btn-link { + font-weight: 400; + color: #1086c5; + text-decoration: underline; +} + + .btn-link:hover { + color: #974a2d; + } + + .btn-link:disabled, .btn-link.disabled { + color: #6c757d; + } + +.btn-lg, .btn-group-lg > .btn { + padding: 0.5rem 1rem; + font-size: 1.25rem; + border-radius: 0.3rem; +} + +.btn-sm, .btn-group-sm > .btn { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + border-radius: 0.2rem; +} + +.fade { + transition: opacity 0.15s linear; +} + +@media (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} + +.fade:not(.show) { + opacity: 0; +} + +.collapse:not(.show) { + display: none; +} + +.collapsing { + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} + +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} + +.collapsing.collapse-horizontal { + width: 0; + height: auto; + transition: width 0.35s ease; +} + +@media (prefers-reduced-motion: reduce) { + .collapsing.collapse-horizontal { + transition: none; + } +} + +.dropup, +.dropend, +.dropdown, +.dropstart { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; +} + + .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; + } + + .dropdown-toggle:empty::after { + margin-left: 0; + } + +.dropdown-menu { + position: absolute; + z-index: 1000; + display: none; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0; + font-size: 1rem; + color: #212529; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.15); + 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; +} + +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} + +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropend .dropdown-menu[data-bs-popper] { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: 0.125rem; +} + +.dropend .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; +} + +.dropend .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropend .dropdown-toggle::after { + vertical-align: 0; +} + +.dropstart .dropdown-menu[data-bs-popper] { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: 0.125rem; +} + +.dropstart .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; +} + +.dropstart .dropdown-toggle::after { + display: none; +} + +.dropstart .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} + +.dropstart .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropstart .dropdown-toggle::before { + vertical-align: 0; +} + +.dropdown-divider { + height: 0; + margin: 0.5rem 0; + overflow: hidden; + border-top: 1px solid rgba(0, 0, 0, 0.15); +} + +.dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1rem; + clear: both; + font-weight: 400; + color: #212529; + text-align: inherit; + text-decoration: none; + white-space: nowrap; + background-color: transparent; + border: 0; +} + + .dropdown-item:hover, .dropdown-item:focus { + color: #1e2125; + background-color: #e9ecef; + } + + .dropdown-item.active, .dropdown-item:active { + color: #fff; + text-decoration: none; + background-color: #1086c5; + } + + .dropdown-item.disabled, .dropdown-item:disabled { + color: #adb5bd; + pointer-events: none; + background-color: transparent; + } + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: 0.5rem 1rem; + margin-bottom: 0; + font-size: 0.875rem; + color: #6c757d; + white-space: nowrap; +} + +.dropdown-item-text { + display: block; + padding: 0.25rem 1rem; + color: #212529; +} + +.dropdown-menu-dark { + color: #dee2e6; + background-color: #343a40; + border-color: rgba(0, 0, 0, 0.15); +} + + .dropdown-menu-dark .dropdown-item { + color: #dee2e6; + } + + .dropdown-menu-dark .dropdown-item:hover, .dropdown-menu-dark .dropdown-item:focus { + color: #fff; + background-color: rgba(255, 255, 255, 0.15); + } + + .dropdown-menu-dark .dropdown-item.active, .dropdown-menu-dark .dropdown-item:active { + color: #fff; + background-color: #1086c5; + } + + .dropdown-menu-dark .dropdown-item.disabled, .dropdown-menu-dark .dropdown-item:disabled { + color: #adb5bd; + } + + .dropdown-menu-dark .dropdown-divider { + border-color: rgba(0, 0, 0, 0.15); + } + + .dropdown-menu-dark .dropdown-item-text { + color: #dee2e6; + } + + .dropdown-menu-dark .dropdown-header { + color: #adb5bd; + } + +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; +} + + .btn-group > .btn, + .btn-group-vertical > .btn { + position: relative; + flex: 1 1 auto; + } + + .btn-group > .btn-check:checked + .btn, + .btn-group > .btn-check:focus + .btn, + .btn-group > .btn:hover, + .btn-group > .btn:focus, + .btn-group > .btn:active, + .btn-group > .btn.active, + .btn-group-vertical > .btn-check:checked + .btn, + .btn-group-vertical > .btn-check:focus + .btn, + .btn-group-vertical > .btn:hover, + .btn-group-vertical > .btn:focus, + .btn-group-vertical > .btn:active, + .btn-group-vertical > .btn.active { + z-index: 1; + } + +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} + + .btn-toolbar .input-group { + width: auto; + } + +.btn-group > .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 { + flex-direction: column; + align-items: flex-start; + justify-content: center; +} + + .btn-group-vertical > .btn, + .btn-group-vertical > .btn-group { + width: 100%; + } + + .btn-group-vertical > .btn:not(:first-child), + .btn-group-vertical > .btn-group:not(:first-child) { + margin-top: -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: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: 0.5rem 1rem; + color: #1086c5; + text-decoration: none; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .nav-link { + transition: none; + } +} + +.nav-link:hover, .nav-link:focus { + color: #974a2d; +} + +.nav-link.disabled { + color: #6c757d; + pointer-events: none; + cursor: default; +} + +.nav-tabs { + border-bottom: 1px solid #dee2e6; +} + + .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: #e9ecef #e9ecef #dee2e6; + isolation: isolate; + } + + .nav-tabs .nav-link.disabled { + color: #6c757d; + 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: #dee2e6 #dee2e6 #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: #1086c5; + } + +.nav-fill > .nav-link, +.nav-fill .nav-item { + flex: 1 1 auto; + text-align: center; +} + +.nav-justified > .nav-link, +.nav-justified .nav-item { + flex-basis: 0; + flex-grow: 1; + text-align: center; +} + + .nav-fill .nav-item .nav-link, + .nav-justified .nav-item .nav-link { + width: 100%; + } + +.tab-content > .tab-pane { + display: none; +} + +.tab-content > .active { + display: block; +} + +.navbar { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + 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: flex; + flex-wrap: inherit; + align-items: center; + justify-content: space-between; + } + +.navbar-brand { + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 1.25rem; + text-decoration: none; + white-space: nowrap; +} + +.navbar-nav { + display: flex; + 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 { + flex-basis: 100%; + flex-grow: 1; + align-items: center; +} + +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.25rem; + transition: box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .navbar-toggler { + transition: none; + } +} + +.navbar-toggler:hover { + text-decoration: none; +} + +.navbar-toggler:focus { + text-decoration: none; + outline: 0; + box-shadow: 0 0 0 0.25rem; +} + +.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 { + flex-wrap: nowrap; + justify-content: flex-start; + } + + .navbar-expand-sm .navbar-nav { + flex-direction: row; + } + + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + + .navbar-expand-sm .navbar-nav-scroll { + overflow: visible; + } + + .navbar-expand-sm .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + + .navbar-expand-sm .navbar-toggler { + display: none; + } + + .navbar-expand-sm .offcanvas-header { + display: none; + } + + .navbar-expand-sm .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: 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: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} + +@media (min-width: 768px) { + .navbar-expand-md { + flex-wrap: nowrap; + justify-content: flex-start; + } + + .navbar-expand-md .navbar-nav { + flex-direction: row; + } + + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + + .navbar-expand-md .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + + .navbar-expand-md .navbar-nav-scroll { + overflow: visible; + } + + .navbar-expand-md .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + + .navbar-expand-md .navbar-toggler { + display: none; + } + + .navbar-expand-md .offcanvas-header { + display: none; + } + + .navbar-expand-md .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: 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: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} + +@media (min-width: 992px) { + .navbar-expand-lg { + flex-wrap: nowrap; + justify-content: flex-start; + } + + .navbar-expand-lg .navbar-nav { + flex-direction: row; + } + + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + + .navbar-expand-lg .navbar-nav-scroll { + overflow: visible; + } + + .navbar-expand-lg .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + + .navbar-expand-lg .navbar-toggler { + display: none; + } + + .navbar-expand-lg .offcanvas-header { + display: none; + } + + .navbar-expand-lg .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: 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: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} + +@media (min-width: 1200px) { + .navbar-expand-xl { + flex-wrap: nowrap; + justify-content: flex-start; + } + + .navbar-expand-xl .navbar-nav { + flex-direction: row; + } + + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + + .navbar-expand-xl .navbar-nav-scroll { + overflow: visible; + } + + .navbar-expand-xl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + + .navbar-expand-xl .navbar-toggler { + display: none; + } + + .navbar-expand-xl .offcanvas-header { + display: none; + } + + .navbar-expand-xl .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: 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: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} + +@media (min-width: 1400px) { + .navbar-expand-xxl { + flex-wrap: nowrap; + justify-content: flex-start; + } + + .navbar-expand-xxl .navbar-nav { + flex-direction: row; + } + + .navbar-expand-xxl .navbar-nav .dropdown-menu { + position: absolute; + } + + .navbar-expand-xxl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + + .navbar-expand-xxl .navbar-nav-scroll { + overflow: visible; + } + + .navbar-expand-xxl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + + .navbar-expand-xxl .navbar-toggler { + display: none; + } + + .navbar-expand-xxl .offcanvas-header { + display: none; + } + + .navbar-expand-xxl .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: 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: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} + +.navbar-expand { + flex-wrap: nowrap; + justify-content: flex-start; +} + + .navbar-expand .navbar-nav { + flex-direction: row; + } + + .navbar-expand .navbar-nav .dropdown-menu { + position: absolute; + } + + .navbar-expand .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + + .navbar-expand .navbar-nav-scroll { + overflow: visible; + } + + .navbar-expand .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + + .navbar-expand .navbar-toggler { + display: none; + } + + .navbar-expand .offcanvas-header { + display: none; + } + + .navbar-expand .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; + } + + .navbar-expand .offcanvas-top, + .navbar-expand .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; + } + + .navbar-expand .offcanvas-body { + display: flex; + 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: flex; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0, 0, 0, 0.125); + 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 { + flex: 1 1 auto; + padding: 1rem 1rem; +} + +.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: 1rem; +} + +.card-header { + padding: 0.5rem 1rem; + margin-bottom: 0; + background-color: rgba(0, 0, 0, 0.03); + border-bottom: 1px solid rgba(0, 0, 0, 0.125); +} + + .card-header:first-child { + border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; + } + +.card-footer { + padding: 0.5rem 1rem; + background-color: rgba(0, 0, 0, 0.03); + border-top: 1px solid rgba(0, 0, 0, 0.125); +} + + .card-footer:last-child { + border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); + } + +.card-header-tabs { + margin-right: -0.5rem; + margin-bottom: -0.5rem; + margin-left: -0.5rem; + border-bottom: 0; +} + +.card-header-pills { + margin-right: -0.5rem; + margin-left: -0.5rem; +} + +.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: 0.75rem; +} + +@media (min-width: 576px) { + .card-group { + display: flex; + flex-flow: row wrap; + } + + .card-group > .card { + flex: 1 0 0%; + margin-bottom: 0; + } + + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + + .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + + .card-group > .card:not(:last-child) .card-img-top, + .card-group > .card:not(:last-child) .card-header { + border-top-right-radius: 0; + } + + .card-group > .card:not(:last-child) .card-img-bottom, + .card-group > .card:not(:last-child) .card-footer { + border-bottom-right-radius: 0; + } + + .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + + .card-group > .card:not(:first-child) .card-img-top, + .card-group > .card:not(:first-child) .card-header { + border-top-left-radius: 0; + } + + .card-group > .card:not(:first-child) .card-img-bottom, + .card-group > .card:not(:first-child) .card-footer { + border-bottom-left-radius: 0; + } +} + +.accordion-button { + position: relative; + display: flex; + align-items: center; + width: 100%; + padding: 1rem 1.25rem; + font-size: 1rem; + color: #212529; + text-align: left; + background-color: #fff; + border: 0; + border-radius: 0; + overflow-anchor: none; + 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; +} + +@media (prefers-reduced-motion: reduce) { + .accordion-button { + transition: none; + } +} + +.accordion-button:not(.collapsed) { + color: #aa5432; + background-color: #f8efeb; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.125); +} + + .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='%23aa5432'%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"); + transform: rotate(-180deg); + } + +.accordion-button::after { + flex-shrink: 0; + width: 1.25rem; + height: 1.25rem; + 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='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-size: 1.25rem; + transition: transform 0.2s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .accordion-button::after { + transition: none; + } +} + +.accordion-button:hover { + z-index: 2; +} + +.accordion-button:focus { + z-index: 3; + border-color: #deae9c; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(16, 134, 197, 0.25); +} + +.accordion-header { + margin-bottom: 0; +} + +.accordion-item { + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); +} + + .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: flex; + 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: #6c757d; + content: var(--bs-breadcrumb-divider, "/")*/ /* rtl: var(--bs-breadcrumb-divider, "/") *//*; + } + +.breadcrumb-item.active { + color: #6c757d; +} + +.pagination { + display: flex; + padding-left: 0; + list-style: none; +} + +.page-link { + position: relative; + display: block; + color: #1086c5; + text-decoration: none; + background-color: #fff; + border: 1px solid #dee2e6; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .page-link { + transition: none; + } +} + +.page-link:hover { + z-index: 2; + color: #974a2d; + background-color: #e9ecef; + border-color: #dee2e6; +} + +.page-link:focus { + z-index: 3; + color: #974a2d; + background-color: #e9ecef; + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(16, 134, 197, 0.25); +} + +.page-item:not(:first-child) .page-link { + margin-left: -1px; +} + +.page-item.active .page-link { + z-index: 3; + color: #fff; + background-color: #1086c5; + border-color: #1086c5; +} + +.page-item.disabled .page-link { + color: #6c757d; + pointer-events: none; + background-color: #fff; + border-color: #dee2e6; +} + +.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.25rem; +} + +.pagination-lg .page-item:first-child .page-link { + border-top-left-radius: 0.3rem; + border-bottom-left-radius: 0.3rem; +} + +.pagination-lg .page-item:last-child .page-link { + border-top-right-radius: 0.3rem; + border-bottom-right-radius: 0.3rem; +} + +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; +} + +.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.35em 0.65em; + font-size: 0.75em; + font-weight: 700; + 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: 1rem 1rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: 700; +} + +.alert-dismissible { + padding-right: 3rem; +} + + .alert-dismissible .btn-close { + position: absolute; + top: 0; + right: 0; + z-index: 2; + padding: 1.25rem 1rem; + } + +.alert-primary { + color: #713822; + background-color: #f2dfd7; + border-color: #ebcec3; +} + + .alert-primary .alert-link { + color: #5a2d1b; + } + +.alert-secondary { + color: #41464b; + background-color: #e2e3e5; + border-color: #d3d6d8; +} + + .alert-secondary .alert-link { + color: #34383c; + } + +.alert-success { + color: #0f5132; + background-color: #d1e7dd; + border-color: #badbcc; +} + + .alert-success .alert-link { + color: #0c4128; + } + +.alert-info { + color: #055160; + background-color: #cff4fc; + border-color: #b6effb; +} + + .alert-info .alert-link { + color: #04414d; + } + +.alert-warning { + color: #664d03; + background-color: #fff3cd; + border-color: #ffecb5; +} + + .alert-warning .alert-link { + color: #523e02; + } + +.alert-danger { + color: #842029; + background-color: #f8d7da; + border-color: #f5c2c7; +} + + .alert-danger .alert-link { + color: #6a1a21; + } + +.alert-light { + color: #636464; + background-color: #fefefe; + border-color: #fdfdfe; +} + + .alert-light .alert-link { + color: #4f5050; + } + +.alert-dark { + color: #141619; + background-color: #d3d3d4; + border-color: #bcbebf; +} + + .alert-dark .alert-link { + color: #101214; + } + +@-webkit-keyframes progress-bar-stripes { + 0% { + background-position-x: 1rem; + } +} + +@keyframes progress-bar-stripes { + 0% { + background-position-x: 1rem; + } +} + +.progress { + display: flex; + height: 1rem; + overflow: hidden; + font-size: 0.75rem; + background-color: #e9ecef; + border-radius: 0.25rem; +} + +.progress-bar { + display: flex; + flex-direction: column; + justify-content: center; + overflow: hidden; + color: #fff; + text-align: center; + white-space: nowrap; + background-color: #1086c5; + transition: width 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} + +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 1rem 1rem; +} + +.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: flex; + 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: #212529; + background-color: #e9ecef; + } + +.list-group-item { + position: relative; + display: block; + padding: 0.5rem 1rem; + color: #212529; + text-decoration: none; + background-color: #fff; + border: 1px solid rgba(0, 0, 0, 0.125); +} + + .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: #6c757d; + pointer-events: none; + background-color: #fff; + } + + .list-group-item.active { + z-index: 2; + color: #fff; + background-color: #1086c5; + border-color: #1086c5; + } + + .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 { + 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 { + 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 { + 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 { + 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 { + 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 { + 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: #713822; + background-color: #f2dfd7; +} + + .list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { + color: #713822; + background-color: #dac9c2; + } + + .list-group-item-primary.list-group-item-action.active { + color: #fff; + background-color: #713822; + border-color: #713822; + } + +.list-group-item-secondary { + color: #41464b; + background-color: #e2e3e5; +} + + .list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { + color: #41464b; + background-color: #cbccce; + } + + .list-group-item-secondary.list-group-item-action.active { + color: #fff; + background-color: #41464b; + border-color: #41464b; + } + +.list-group-item-success { + color: #0f5132; + background-color: #d1e7dd; +} + + .list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { + color: #0f5132; + background-color: #bcd0c7; + } + + .list-group-item-success.list-group-item-action.active { + color: #fff; + background-color: #0f5132; + border-color: #0f5132; + } + +.list-group-item-info { + color: #055160; + background-color: #cff4fc; +} + + .list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { + color: #055160; + background-color: #badce3; + } + + .list-group-item-info.list-group-item-action.active { + color: #fff; + background-color: #055160; + border-color: #055160; + } + +.list-group-item-warning { + color: #664d03; + background-color: #fff3cd; +} + + .list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { + color: #664d03; + background-color: #e6dbb9; + } + + .list-group-item-warning.list-group-item-action.active { + color: #fff; + background-color: #664d03; + border-color: #664d03; + } + +.list-group-item-danger { + color: #842029; + background-color: #f8d7da; +} + + .list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { + color: #842029; + background-color: #dfc2c4; + } + + .list-group-item-danger.list-group-item-action.active { + color: #fff; + background-color: #842029; + border-color: #842029; + } + +.list-group-item-light { + color: #636464; + background-color: #fefefe; +} + + .list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { + color: #636464; + background-color: #e5e5e5; + } + + .list-group-item-light.list-group-item-action.active { + color: #fff; + background-color: #636464; + border-color: #636464; + } + +.list-group-item-dark { + color: #141619; + background-color: #d3d3d4; +} + + .list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { + color: #141619; + background-color: #bebebf; + } + + .list-group-item-dark.list-group-item-action.active { + color: #fff; + background-color: #141619; + border-color: #141619; + } + +.btn-close { + 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; + box-shadow: 0 0 0 0.25rem rgba(16, 134, 197, 0.25); + 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 { + 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); + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); + 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: 0.75rem; + } + +.toast-header { + display: flex; + align-items: center; + padding: 0.5rem 0.75rem; + color: #6c757d; + 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 { + transition: transform 0.3s ease-out; + transform: translate(0, -50px); +} + +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} + +.modal.show .modal-dialog { + transform: none; +} + +.modal.modal-static .modal-dialog { + transform: scale(1.02); +} + +.modal-dialog-scrollable { + height: calc(100% - 1rem); +} + + .modal-dialog-scrollable .modal-content { + max-height: 100%; + overflow: hidden; + } + + .modal-dialog-scrollable .modal-body { + overflow-y: auto; + } + +.modal-dialog-centered { + display: flex; + align-items: center; + min-height: calc(100% - 1rem); +} + +.modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; + 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: flex; + flex-shrink: 0; + align-items: center; + justify-content: space-between; + padding: 1rem 1rem; + border-bottom: 1px solid #dee2e6; + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 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; + flex: 1 1 auto; + padding: 1rem; +} + +.modal-footer { + display: flex; + flex-wrap: wrap; + flex-shrink: 0; + align-items: center; + justify-content: flex-end; + padding: 0.75rem; + border-top: 1px solid #dee2e6; + border-bottom-right-radius: calc(0.3rem - 1px); + border-bottom-left-radius: calc(0.3rem - 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: 1080; + display: block; + margin: 0; + font-family: "Muli", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, 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.875rem; + 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.25rem 0.5rem; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 0.25rem; +} + +.popover { + position: absolute; + top: 0; + left: 0*/ /* rtl:ignore *//*; + z-index: 1070; + display: block; + max-width: 276px; + font-family: "Muli", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, 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.875rem; + word-wrap: break-word; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 0.3rem; +} + + .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: rgba(0, 0, 0, 0.25); + } + + .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: rgba(0, 0, 0, 0.25); + } + + .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: rgba(0, 0, 0, 0.25); + } + + .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: rgba(0, 0, 0, 0.25); + } + + .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 1rem; + margin-bottom: 0; + font-size: 1rem; + color: #343a40; + background-color: #f0f0f0; + border-bottom: 1px solid rgba(0, 0, 0, 0.2); + border-top-left-radius: calc(0.3rem - 1px); + border-top-right-radius: calc(0.3rem - 1px); +} + + .popover-header:empty { + display: none; + } + +.popover-body { + padding: 1rem 1rem; + color: #212529; +} + +.carousel { + position: relative; +} + + .carousel.pointer-event { + touch-action: pan-y; + } + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} + + .carousel-inner::after { + display: block; + clear: both; + content: ""; + } + +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transition: transform 0.6s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +}*/ + + /* rtl:begin:ignore */ + /*.carousel-item-next:not(.carousel-item-start), + .active.carousel-item-end { + transform: translateX(100%); + } + + .carousel-item-prev:not(.carousel-item-end), + .active.carousel-item-start { + transform: translateX(-100%); + }*/ + +/* rtl:end:ignore */ +/*.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + transform: none; +} + + .carousel-fade .carousel-item.active, + .carousel-fade .carousel-item-next.carousel-item-start, + .carousel-fade .carousel-item-prev.carousel-item-end { + z-index: 1; + opacity: 1; + } + +.carousel-fade .active.carousel-item-start, +.carousel-fade .active.carousel-item-end { + z-index: 0; + opacity: 0; + transition: opacity 0s 0.6s; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-start, + .carousel-fade .active.carousel-item-end { + transition: none; + } +} + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: flex; + align-items: center; + justify-content: center; + width: 15%; + padding: 0; + color: #fff; + text-align: center; + background: none; + border: 0; + opacity: 0.5; + transition: opacity 0.15s ease; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-control-prev, + .carousel-control-next { + transition: none; + } +} + +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: #fff; + text-decoration: none; + outline: 0; + opacity: 0.9; +} + +.carousel-control-prev { + left: 0; +} + +.carousel-control-next { + right: 0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 2rem; + height: 2rem; + background-repeat: no-repeat; + background-position: 50%; + background-size: 100% 100%; +}*/ + +/* 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: flex; + justify-content: center; + padding: 0; + margin-right: 15%; + margin-bottom: 1rem; + margin-left: 15%; + list-style: none; +} + + .carousel-indicators [data-bs-target] { + box-sizing: content-box; + flex: 0 1 auto; + width: 30px; + height: 3px; + padding: 0; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: #fff; + background-clip: padding-box; + border: 0; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: 0.5; + transition: opacity 0.6s ease; + } + +@media (prefers-reduced-motion: reduce) { + .carousel-indicators [data-bs-target] { + transition: none; + } +} + +.carousel-indicators .active { + opacity: 1; +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 1.25rem; + left: 15%; + padding-top: 1.25rem; + padding-bottom: 1.25rem; + color: #fff; + text-align: center; +} + +.carousel-dark .carousel-control-prev-icon, +.carousel-dark .carousel-control-next-icon { + filter: invert(1) grayscale(100); +} + +.carousel-dark .carousel-indicators [data-bs-target] { + background-color: #000; +} + +.carousel-dark .carousel-caption { + color: #000; +} + +@-webkit-keyframes spinner-border { + to { + transform: rotate(360deg)*/ /* rtl:ignore *//*; + } +} + +@keyframes spinner-border { + to { + 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% { + transform: scale(0); + } + + 50% { + opacity: 1; + transform: none; + } +} + +@keyframes spinner-grow { + 0% { + transform: scale(0); + } + + 50% { + opacity: 1; + 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: flex; + flex-direction: column; + max-width: 100%; + visibility: hidden; + background-color: #fff; + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .offcanvas { + 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: flex; + align-items: center; + 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 { + flex-grow: 1; + padding: 1rem 1rem; + overflow-y: auto; +} + +.offcanvas-start { + top: 0; + left: 0; + width: 400px; + border-right: 1px solid rgba(0, 0, 0, 0.2); + transform: translateX(-100%); +} + +.offcanvas-end { + top: 0; + right: 0; + width: 400px; + border-left: 1px solid rgba(0, 0, 0, 0.2); + transform: translateX(100%); +} + +.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: 30vh; + max-height: 100%; + border-bottom: 1px solid rgba(0, 0, 0, 0.2); + transform: translateY(-100%); +} + +.offcanvas-bottom { + right: 0; + left: 0; + height: 30vh; + max-height: 100%; + border-top: 1px solid rgba(0, 0, 0, 0.2); + transform: translateY(100%); +} + +.offcanvas.show { + 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: 0.6em; +} + +.placeholder-sm { + min-height: 0.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: #1086c5; +} + + .link-primary:hover, .link-primary:focus { + color: #ca7d60; + } + +.link-secondary { + color: #6c757d; +} + + .link-secondary:hover, .link-secondary:focus { + color: #565e64; + } + +.link-success { + color: #198754; +} + + .link-success:hover, .link-success:focus { + color: #146c43; + } + +.link-info { + color: #0dcaf0; +} + + .link-info:hover, .link-info:focus { + color: #3dd5f3; + } + +.link-warning { + color: #ffc107; +} + + .link-warning:hover, .link-warning:focus { + color: #ffcd39; + } + +.link-danger { + color: #dc3545; +} + + .link-danger:hover, .link-danger:focus { + color: #b02a37; + } + +.link-light { + color: #f8f9fa; +} + + .link-light:hover, .link-light:focus { + color: #f9fafb; + } + +.link-dark { + color: #212529; +} + + .link-dark:hover, .link-dark:focus { + color: #1a1e21; + } + +.ratio { + position: relative; + width: 100%; +} + + .ratio::before { + display: block; + padding-top: var(--bs-aspect-ratio); + content: ""; + } + + .ratio > * { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + } + +.ratio-1x1 { + --bs-aspect-ratio: 100%; +} + +.ratio-4x3 { + --bs-aspect-ratio: 75%; +} + +.ratio-16x9 { + --bs-aspect-ratio: 56.25%; +} + +.ratio-21x9 { + --bs-aspect-ratio: 42.8571428571%; +} + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + +.sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; +} + +@media (min-width: 576px) { + .sticky-sm-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} + +@media (min-width: 768px) { + .sticky-md-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} + +@media (min-width: 992px) { + .sticky-lg-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} + +@media (min-width: 1200px) { + .sticky-xl-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} + +@media (min-width: 1400px) { + .sticky-xxl-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } +} + +.hstack { + display: flex; + flex-direction: row; + align-items: center; + align-self: stretch; +} + +.vstack { + display: flex; + flex: 1 1 auto; + flex-direction: column; + align-self: stretch; +} + +.visually-hidden, +.visually-hidden-focusable:not(:focus):not(:focus-within) { + 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; + 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: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +.d-none { + display: none !important; +} + +.shadow { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; +} + +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; +} + +.shadow-lg { + box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; +} + +.shadow-none { + 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: -webkit-sticky !important; + position: sticky !important; +} + +.top-0 { + top: 0 !important; +} + +.top-50 { + top: 50% !important; +} + +.top-100 { + top: 100% !important; +} + +.bottom-0 { + bottom: 0 !important; +} + +.bottom-50 { + bottom: 50% !important; +} + +.bottom-100 { + bottom: 100% !important; +} + +.start-0 { + left: 0 !important; +} + +.start-50 { + left: 50% !important; +} + +.start-100 { + left: 100% !important; +} + +.end-0 { + right: 0 !important; +} + +.end-50 { + right: 50% !important; +} + +.end-100 { + right: 100% !important; +} + +.translate-middle { + transform: translate(-50%, -50%) !important; +} + +.translate-middle-x { + transform: translateX(-50%) !important; +} + +.translate-middle-y { + transform: translateY(-50%) !important; +} + +.border { + border: 1px solid #dee2e6 !important; +} + +.border-0 { + border: 0 !important; +} + +.border-top { + border-top: 1px solid #dee2e6 !important; +} + +.border-top-0 { + border-top: 0 !important; +} + +.border-end { + border-right: 1px solid #dee2e6 !important; +} + +.border-end-0 { + border-right: 0 !important; +} + +.border-bottom { + border-bottom: 1px solid #dee2e6 !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +.border-start { + border-left: 1px solid #dee2e6 !important; +} + +.border-start-0 { + border-left: 0 !important; +} + +.border-primary { + border-color: #1086c5 !important; +} + +.border-secondary { + border-color: #6c757d !important; +} + +.border-success { + border-color: #198754 !important; +} + +.border-info { + border-color: #0dcaf0 !important; +} + +.border-warning { + border-color: #ffc107 !important; +} + +.border-danger { + border-color: #dc3545 !important; +} + +.border-light { + border-color: #f8f9fa !important; +} + +.border-dark { + border-color: #212529 !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 { + flex: 1 1 auto !important; +} + +.flex-row { + flex-direction: row !important; +} + +.flex-column { + flex-direction: column !important; +} + +.flex-row-reverse { + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + flex-direction: column-reverse !important; +} + +.flex-grow-0 { + flex-grow: 0 !important; +} + +.flex-grow-1 { + flex-grow: 1 !important; +} + +.flex-shrink-0 { + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + flex-shrink: 1 !important; +} + +.flex-wrap { + flex-wrap: wrap !important; +} + +.flex-nowrap { + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} + +.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 { + justify-content: flex-start !important; +} + +.justify-content-end { + justify-content: flex-end !important; +} + +.justify-content-center { + justify-content: center !important; +} + +.justify-content-between { + justify-content: space-between !important; +} + +.justify-content-around { + justify-content: space-around !important; +} + +.justify-content-evenly { + justify-content: space-evenly !important; +} + +.align-items-start { + align-items: flex-start !important; +} + +.align-items-end { + align-items: flex-end !important; +} + +.align-items-center { + align-items: center !important; +} + +.align-items-baseline { + align-items: baseline !important; +} + +.align-items-stretch { + align-items: stretch !important; +} + +.align-content-start { + align-content: flex-start !important; +} + +.align-content-end { + align-content: flex-end !important; +} + +.align-content-center { + align-content: center !important; +} + +.align-content-between { + align-content: space-between !important; +} + +.align-content-around { + align-content: space-around !important; +} + +.align-content-stretch { + align-content: stretch !important; +} + +.align-self-auto { + align-self: auto !important; +} + +.align-self-start { + align-self: flex-start !important; +} + +.align-self-end { + align-self: flex-end !important; +} + +.align-self-center { + align-self: center !important; +} + +.align-self-baseline { + align-self: baseline !important; +} + +.align-self-stretch { + align-self: stretch !important; +} + +.order-first { + order: -1 !important; +} + +.order-0 { + order: 0 !important; +} + +.order-1 { + order: 1 !important; +} + +.order-2 { + order: 2 !important; +} + +.order-3 { + order: 3 !important; +} + +.order-4 { + order: 4 !important; +} + +.order-5 { + order: 5 !important; +} + +.order-last { + order: 6 !important; +} + +.m-0 { + margin: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.m-3 { + margin: 1rem !important; +} + +.m-4 { + margin: 1.5rem !important; +} + +.m-5 { + margin: 3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mx-0 { + margin-right: 0 !important; + margin-left: 0 !important; +} + +.mx-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; +} + +.mx-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; +} + +.mx-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; +} + +.mx-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; +} + +.mx-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; +} + +.mx-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; +} + +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} + +.my-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; +} + +.my-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; +} + +.my-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; +} + +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; +} + +.mt-0 { + margin-top: 0 !important; +} + +.mt-1 { + margin-top: 0.25rem !important; +} + +.mt-2 { + margin-top: 0.5rem !important; +} + +.mt-3 { + margin-top: 1rem !important; +} + +.mt-4 { + margin-top: 1.5rem !important; +} + +.mt-5 { + margin-top: 3rem !important; +} + +.mt-auto { + margin-top: auto !important; +} + +.me-0 { + margin-right: 0 !important; +} + +.me-1 { + margin-right: 0.25rem !important; +} + +.me-2 { + margin-right: 0.5rem !important; +} + +.me-3 { + margin-right: 1rem !important; +} + +.me-4 { + margin-right: 1.5rem !important; +} + +.me-5 { + margin-right: 3rem !important; +} + +.me-auto { + margin-right: auto !important; +} + +.mb-0 { + margin-bottom: 0 !important; +} + +.mb-1 { + margin-bottom: 0.25rem !important; +} + +.mb-2 { + margin-bottom: 0.5rem !important; +} + +.mb-3 { + margin-bottom: 1rem !important; +} + +.mb-4 { + margin-bottom: 1.5rem !important; +} + +.mb-5 { + margin-bottom: 3rem !important; +} + +.mb-auto { + margin-bottom: auto !important; +} + +.ms-0 { + margin-left: 0 !important; +} + +.ms-1 { + margin-left: 0.25rem !important; +} + +.ms-2 { + margin-left: 0.5rem !important; +} + +.ms-3 { + margin-left: 1rem !important; +} + +.ms-4 { + margin-left: 1.5rem !important; +} + +.ms-5 { + margin-left: 3rem !important; +} + +.ms-auto { + margin-left: auto !important; +} + +.p-0 { + padding: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.p-3 { + padding: 1rem !important; +} + +.p-4 { + padding: 1.5rem !important; +} + +.p-5 { + padding: 3rem !important; +} + +.px-0 { + padding-right: 0 !important; + padding-left: 0 !important; +} + +.px-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; +} + +.px-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; +} + +.px-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; +} + +.px-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; +} + +.px-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; +} + +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} + +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} + +.py-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; +} + +.py-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; +} + +.py-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; +} + +.pt-0 { + padding-top: 0 !important; +} + +.pt-1 { + padding-top: 0.25rem !important; +} + +.pt-2 { + padding-top: 0.5rem !important; +} + +.pt-3 { + padding-top: 1rem !important; +} + +.pt-4 { + padding-top: 1.5rem !important; +} + +.pt-5 { + padding-top: 3rem !important; +} + +.pe-0 { + padding-right: 0 !important; +} + +.pe-1 { + padding-right: 0.25rem !important; +} + +.pe-2 { + padding-right: 0.5rem !important; +} + +.pe-3 { + padding-right: 1rem !important; +} + +.pe-4 { + padding-right: 1.5rem !important; +} + +.pe-5 { + padding-right: 3rem !important; +} + +.pb-0 { + padding-bottom: 0 !important; +} + +.pb-1 { + padding-bottom: 0.25rem !important; +} + +.pb-2 { + padding-bottom: 0.5rem !important; +} + +.pb-3 { + padding-bottom: 1rem !important; +} + +.pb-4 { + padding-bottom: 1.5rem !important; +} + +.pb-5 { + padding-bottom: 3rem !important; +} + +.ps-0 { + padding-left: 0 !important; +} + +.ps-1 { + padding-left: 0.25rem !important; +} + +.ps-2 { + padding-left: 0.5rem !important; +} + +.ps-3 { + padding-left: 1rem !important; +} + +.ps-4 { + padding-left: 1.5rem !important; +} + +.ps-5 { + padding-left: 3rem !important; +} + +.font-monospace { + font-family: var(--bs-font-monospace) !important; +} + +.fs-1 { + font-size: calc(1.725rem + 5.7vw) !important; +} + +.fs-2 { + font-size: calc(1.475rem + 2.7vw) !important; +} + +.fs-3 { + font-size: calc(1.325rem + 0.9vw) !important; +} + +.fs-4 { + font-size: calc(1.275rem + 0.3vw) !important; +} + +.fs-5 { + font-size: 1.25rem !important; +} + +.fs-6 { + font-size: 1rem !important; +} + +.fst-italic { + font-style: italic !important; +} + +.fst-normal { + font-style: normal !important; +} + +.fw-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-light { + --bs-text-opacity: 1; + color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important; +} + +.text-dark { + --bs-text-opacity: 1; + color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important; +} + +.text-black { + --bs-text-opacity: 1; + color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important; +} + +.text-white { + --bs-text-opacity: 1; + color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important; +} + +.text-body { + --bs-text-opacity: 1; + color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important; +} + +.text-muted { + --bs-text-opacity: 1; + color: #6c757d !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-light { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-dark { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-black { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-white { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-body { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-transparent { + --bs-bg-opacity: 1; + background-color: transparent !important; +} + +.bg-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; + 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.3rem !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: flex !important; + } + + .d-sm-inline-flex { + display: inline-flex !important; + } + + .d-sm-none { + display: none !important; + } + + .flex-sm-fill { + flex: 1 1 auto !important; + } + + .flex-sm-row { + flex-direction: row !important; + } + + .flex-sm-column { + flex-direction: column !important; + } + + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + + .flex-sm-wrap { + flex-wrap: wrap !important; + } + + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + + .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 { + justify-content: flex-start !important; + } + + .justify-content-sm-end { + justify-content: flex-end !important; + } + + .justify-content-sm-center { + justify-content: center !important; + } + + .justify-content-sm-between { + justify-content: space-between !important; + } + + .justify-content-sm-around { + justify-content: space-around !important; + } + + .justify-content-sm-evenly { + justify-content: space-evenly !important; + } + + .align-items-sm-start { + align-items: flex-start !important; + } + + .align-items-sm-end { + align-items: flex-end !important; + } + + .align-items-sm-center { + align-items: center !important; + } + + .align-items-sm-baseline { + align-items: baseline !important; + } + + .align-items-sm-stretch { + align-items: stretch !important; + } + + .align-content-sm-start { + align-content: flex-start !important; + } + + .align-content-sm-end { + align-content: flex-end !important; + } + + .align-content-sm-center { + align-content: center !important; + } + + .align-content-sm-between { + align-content: space-between !important; + } + + .align-content-sm-around { + align-content: space-around !important; + } + + .align-content-sm-stretch { + align-content: stretch !important; + } + + .align-self-sm-auto { + align-self: auto !important; + } + + .align-self-sm-start { + align-self: flex-start !important; + } + + .align-self-sm-end { + align-self: flex-end !important; + } + + .align-self-sm-center { + align-self: center !important; + } + + .align-self-sm-baseline { + align-self: baseline !important; + } + + .align-self-sm-stretch { + align-self: stretch !important; + } + + .order-sm-first { + order: -1 !important; + } + + .order-sm-0 { + order: 0 !important; + } + + .order-sm-1 { + order: 1 !important; + } + + .order-sm-2 { + order: 2 !important; + } + + .order-sm-3 { + order: 3 !important; + } + + .order-sm-4 { + order: 4 !important; + } + + .order-sm-5 { + order: 5 !important; + } + + .order-sm-last { + order: 6 !important; + } + + .m-sm-0 { + margin: 0 !important; + } + + .m-sm-1 { + margin: 0.25rem !important; + } + + .m-sm-2 { + margin: 0.5rem !important; + } + + .m-sm-3 { + margin: 1rem !important; + } + + .m-sm-4 { + margin: 1.5rem !important; + } + + .m-sm-5 { + margin: 3rem !important; + } + + .m-sm-auto { + margin: auto !important; + } + + .mx-sm-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + + .mx-sm-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + + .mx-sm-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + + .mx-sm-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + + .mx-sm-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + + .mx-sm-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + + .mx-sm-auto { + margin-right: auto !important; + margin-left: auto !important; + } + + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-sm-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + + .my-sm-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + + .my-sm-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + + .my-sm-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + + .my-sm-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .mt-sm-0 { + margin-top: 0 !important; + } + + .mt-sm-1 { + margin-top: 0.25rem !important; + } + + .mt-sm-2 { + margin-top: 0.5rem !important; + } + + .mt-sm-3 { + margin-top: 1rem !important; + } + + .mt-sm-4 { + margin-top: 1.5rem !important; + } + + .mt-sm-5 { + margin-top: 3rem !important; + } + + .mt-sm-auto { + margin-top: auto !important; + } + + .me-sm-0 { + margin-right: 0 !important; + } + + .me-sm-1 { + margin-right: 0.25rem !important; + } + + .me-sm-2 { + margin-right: 0.5rem !important; + } + + .me-sm-3 { + margin-right: 1rem !important; + } + + .me-sm-4 { + margin-right: 1.5rem !important; + } + + .me-sm-5 { + margin-right: 3rem !important; + } + + .me-sm-auto { + margin-right: auto !important; + } + + .mb-sm-0 { + margin-bottom: 0 !important; + } + + .mb-sm-1 { + margin-bottom: 0.25rem !important; + } + + .mb-sm-2 { + margin-bottom: 0.5rem !important; + } + + .mb-sm-3 { + margin-bottom: 1rem !important; + } + + .mb-sm-4 { + margin-bottom: 1.5rem !important; + } + + .mb-sm-5 { + margin-bottom: 3rem !important; + } + + .mb-sm-auto { + margin-bottom: auto !important; + } + + .ms-sm-0 { + margin-left: 0 !important; + } + + .ms-sm-1 { + margin-left: 0.25rem !important; + } + + .ms-sm-2 { + margin-left: 0.5rem !important; + } + + .ms-sm-3 { + margin-left: 1rem !important; + } + + .ms-sm-4 { + margin-left: 1.5rem !important; + } + + .ms-sm-5 { + margin-left: 3rem !important; + } + + .ms-sm-auto { + margin-left: auto !important; + } + + .p-sm-0 { + padding: 0 !important; + } + + .p-sm-1 { + padding: 0.25rem !important; + } + + .p-sm-2 { + padding: 0.5rem !important; + } + + .p-sm-3 { + padding: 1rem !important; + } + + .p-sm-4 { + padding: 1.5rem !important; + } + + .p-sm-5 { + padding: 3rem !important; + } + + .px-sm-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + + .px-sm-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + + .px-sm-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + + .px-sm-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + + .px-sm-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + + .px-sm-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-sm-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + + .py-sm-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + + .py-sm-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + + .py-sm-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + + .pt-sm-0 { + padding-top: 0 !important; + } + + .pt-sm-1 { + padding-top: 0.25rem !important; + } + + .pt-sm-2 { + padding-top: 0.5rem !important; + } + + .pt-sm-3 { + padding-top: 1rem !important; + } + + .pt-sm-4 { + padding-top: 1.5rem !important; + } + + .pt-sm-5 { + padding-top: 3rem !important; + } + + .pe-sm-0 { + padding-right: 0 !important; + } + + .pe-sm-1 { + padding-right: 0.25rem !important; + } + + .pe-sm-2 { + padding-right: 0.5rem !important; + } + + .pe-sm-3 { + padding-right: 1rem !important; + } + + .pe-sm-4 { + padding-right: 1.5rem !important; + } + + .pe-sm-5 { + padding-right: 3rem !important; + } + + .pb-sm-0 { + padding-bottom: 0 !important; + } + + .pb-sm-1 { + padding-bottom: 0.25rem !important; + } + + .pb-sm-2 { + padding-bottom: 0.5rem !important; + } + + .pb-sm-3 { + padding-bottom: 1rem !important; + } + + .pb-sm-4 { + padding-bottom: 1.5rem !important; + } + + .pb-sm-5 { + padding-bottom: 3rem !important; + } + + .ps-sm-0 { + padding-left: 0 !important; + } + + .ps-sm-1 { + padding-left: 0.25rem !important; + } + + .ps-sm-2 { + padding-left: 0.5rem !important; + } + + .ps-sm-3 { + padding-left: 1rem !important; + } + + .ps-sm-4 { + padding-left: 1.5rem !important; + } + + .ps-sm-5 { + padding-left: 3rem !important; + } + + .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: flex !important; + } + + .d-md-inline-flex { + display: inline-flex !important; + } + + .d-md-none { + display: none !important; + } + + .flex-md-fill { + flex: 1 1 auto !important; + } + + .flex-md-row { + flex-direction: row !important; + } + + .flex-md-column { + flex-direction: column !important; + } + + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + + .flex-md-grow-0 { + flex-grow: 0 !important; + } + + .flex-md-grow-1 { + flex-grow: 1 !important; + } + + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + + .flex-md-wrap { + flex-wrap: wrap !important; + } + + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + + .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 { + justify-content: flex-start !important; + } + + .justify-content-md-end { + justify-content: flex-end !important; + } + + .justify-content-md-center { + justify-content: center !important; + } + + .justify-content-md-between { + justify-content: space-between !important; + } + + .justify-content-md-around { + justify-content: space-around !important; + } + + .justify-content-md-evenly { + justify-content: space-evenly !important; + } + + .align-items-md-start { + align-items: flex-start !important; + } + + .align-items-md-end { + align-items: flex-end !important; + } + + .align-items-md-center { + align-items: center !important; + } + + .align-items-md-baseline { + align-items: baseline !important; + } + + .align-items-md-stretch { + align-items: stretch !important; + } + + .align-content-md-start { + align-content: flex-start !important; + } + + .align-content-md-end { + align-content: flex-end !important; + } + + .align-content-md-center { + align-content: center !important; + } + + .align-content-md-between { + align-content: space-between !important; + } + + .align-content-md-around { + align-content: space-around !important; + } + + .align-content-md-stretch { + align-content: stretch !important; + } + + .align-self-md-auto { + align-self: auto !important; + } + + .align-self-md-start { + align-self: flex-start !important; + } + + .align-self-md-end { + align-self: flex-end !important; + } + + .align-self-md-center { + align-self: center !important; + } + + .align-self-md-baseline { + align-self: baseline !important; + } + + .align-self-md-stretch { + align-self: stretch !important; + } + + .order-md-first { + order: -1 !important; + } + + .order-md-0 { + order: 0 !important; + } + + .order-md-1 { + order: 1 !important; + } + + .order-md-2 { + order: 2 !important; + } + + .order-md-3 { + order: 3 !important; + } + + .order-md-4 { + order: 4 !important; + } + + .order-md-5 { + order: 5 !important; + } + + .order-md-last { + order: 6 !important; + } + + .m-md-0 { + margin: 0 !important; + } + + .m-md-1 { + margin: 0.25rem !important; + } + + .m-md-2 { + margin: 0.5rem !important; + } + + .m-md-3 { + margin: 1rem !important; + } + + .m-md-4 { + margin: 1.5rem !important; + } + + .m-md-5 { + margin: 3rem !important; + } + + .m-md-auto { + margin: auto !important; + } + + .mx-md-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + + .mx-md-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + + .mx-md-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + + .mx-md-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + + .mx-md-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + + .mx-md-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + + .mx-md-auto { + margin-right: auto !important; + margin-left: auto !important; + } + + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-md-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + + .my-md-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + + .my-md-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + + .my-md-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + + .my-md-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .mt-md-0 { + margin-top: 0 !important; + } + + .mt-md-1 { + margin-top: 0.25rem !important; + } + + .mt-md-2 { + margin-top: 0.5rem !important; + } + + .mt-md-3 { + margin-top: 1rem !important; + } + + .mt-md-4 { + margin-top: 1.5rem !important; + } + + .mt-md-5 { + margin-top: 3rem !important; + } + + .mt-md-auto { + margin-top: auto !important; + } + + .me-md-0 { + margin-right: 0 !important; + } + + .me-md-1 { + margin-right: 0.25rem !important; + } + + .me-md-2 { + margin-right: 0.5rem !important; + } + + .me-md-3 { + margin-right: 1rem !important; + } + + .me-md-4 { + margin-right: 1.5rem !important; + } + + .me-md-5 { + margin-right: 3rem !important; + } + + .me-md-auto { + margin-right: auto !important; + } + + .mb-md-0 { + margin-bottom: 0 !important; + } + + .mb-md-1 { + margin-bottom: 0.25rem !important; + } + + .mb-md-2 { + margin-bottom: 0.5rem !important; + } + + .mb-md-3 { + margin-bottom: 1rem !important; + } + + .mb-md-4 { + margin-bottom: 1.5rem !important; + } + + .mb-md-5 { + margin-bottom: 3rem !important; + } + + .mb-md-auto { + margin-bottom: auto !important; + } + + .ms-md-0 { + margin-left: 0 !important; + } + + .ms-md-1 { + margin-left: 0.25rem !important; + } + + .ms-md-2 { + margin-left: 0.5rem !important; + } + + .ms-md-3 { + margin-left: 1rem !important; + } + + .ms-md-4 { + margin-left: 1.5rem !important; + } + + .ms-md-5 { + margin-left: 3rem !important; + } + + .ms-md-auto { + margin-left: auto !important; + } + + .p-md-0 { + padding: 0 !important; + } + + .p-md-1 { + padding: 0.25rem !important; + } + + .p-md-2 { + padding: 0.5rem !important; + } + + .p-md-3 { + padding: 1rem !important; + } + + .p-md-4 { + padding: 1.5rem !important; + } + + .p-md-5 { + padding: 3rem !important; + } + + .px-md-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + + .px-md-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + + .px-md-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + + .px-md-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + + .px-md-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + + .px-md-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-md-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + + .py-md-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + + .py-md-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + + .py-md-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + + .pt-md-0 { + padding-top: 0 !important; + } + + .pt-md-1 { + padding-top: 0.25rem !important; + } + + .pt-md-2 { + padding-top: 0.5rem !important; + } + + .pt-md-3 { + padding-top: 1rem !important; + } + + .pt-md-4 { + padding-top: 1.5rem !important; + } + + .pt-md-5 { + padding-top: 3rem !important; + } + + .pe-md-0 { + padding-right: 0 !important; + } + + .pe-md-1 { + padding-right: 0.25rem !important; + } + + .pe-md-2 { + padding-right: 0.5rem !important; + } + + .pe-md-3 { + padding-right: 1rem !important; + } + + .pe-md-4 { + padding-right: 1.5rem !important; + } + + .pe-md-5 { + padding-right: 3rem !important; + } + + .pb-md-0 { + padding-bottom: 0 !important; + } + + .pb-md-1 { + padding-bottom: 0.25rem !important; + } + + .pb-md-2 { + padding-bottom: 0.5rem !important; + } + + .pb-md-3 { + padding-bottom: 1rem !important; + } + + .pb-md-4 { + padding-bottom: 1.5rem !important; + } + + .pb-md-5 { + padding-bottom: 3rem !important; + } + + .ps-md-0 { + padding-left: 0 !important; + } + + .ps-md-1 { + padding-left: 0.25rem !important; + } + + .ps-md-2 { + padding-left: 0.5rem !important; + } + + .ps-md-3 { + padding-left: 1rem !important; + } + + .ps-md-4 { + padding-left: 1.5rem !important; + } + + .ps-md-5 { + padding-left: 3rem !important; + } + + .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: flex !important; + } + + .d-lg-inline-flex { + display: inline-flex !important; + } + + .d-lg-none { + display: none !important; + } + + .flex-lg-fill { + flex: 1 1 auto !important; + } + + .flex-lg-row { + flex-direction: row !important; + } + + .flex-lg-column { + flex-direction: column !important; + } + + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + + .flex-lg-wrap { + flex-wrap: wrap !important; + } + + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + + .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 { + justify-content: flex-start !important; + } + + .justify-content-lg-end { + justify-content: flex-end !important; + } + + .justify-content-lg-center { + justify-content: center !important; + } + + .justify-content-lg-between { + justify-content: space-between !important; + } + + .justify-content-lg-around { + justify-content: space-around !important; + } + + .justify-content-lg-evenly { + justify-content: space-evenly !important; + } + + .align-items-lg-start { + align-items: flex-start !important; + } + + .align-items-lg-end { + align-items: flex-end !important; + } + + .align-items-lg-center { + align-items: center !important; + } + + .align-items-lg-baseline { + align-items: baseline !important; + } + + .align-items-lg-stretch { + align-items: stretch !important; + } + + .align-content-lg-start { + align-content: flex-start !important; + } + + .align-content-lg-end { + align-content: flex-end !important; + } + + .align-content-lg-center { + align-content: center !important; + } + + .align-content-lg-between { + align-content: space-between !important; + } + + .align-content-lg-around { + align-content: space-around !important; + } + + .align-content-lg-stretch { + align-content: stretch !important; + } + + .align-self-lg-auto { + align-self: auto !important; + } + + .align-self-lg-start { + align-self: flex-start !important; + } + + .align-self-lg-end { + align-self: flex-end !important; + } + + .align-self-lg-center { + align-self: center !important; + } + + .align-self-lg-baseline { + align-self: baseline !important; + } + + .align-self-lg-stretch { + align-self: stretch !important; + } + + .order-lg-first { + order: -1 !important; + } + + .order-lg-0 { + order: 0 !important; + } + + .order-lg-1 { + order: 1 !important; + } + + .order-lg-2 { + order: 2 !important; + } + + .order-lg-3 { + order: 3 !important; + } + + .order-lg-4 { + order: 4 !important; + } + + .order-lg-5 { + order: 5 !important; + } + + .order-lg-last { + order: 6 !important; + } + + .m-lg-0 { + margin: 0 !important; + } + + .m-lg-1 { + margin: 0.25rem !important; + } + + .m-lg-2 { + margin: 0.5rem !important; + } + + .m-lg-3 { + margin: 1rem !important; + } + + .m-lg-4 { + margin: 1.5rem !important; + } + + .m-lg-5 { + margin: 3rem !important; + } + + .m-lg-auto { + margin: auto !important; + } + + .mx-lg-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + + .mx-lg-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + + .mx-lg-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + + .mx-lg-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + + .mx-lg-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + + .mx-lg-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + + .mx-lg-auto { + margin-right: auto !important; + margin-left: auto !important; + } + + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-lg-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + + .my-lg-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + + .my-lg-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + + .my-lg-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + + .my-lg-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .mt-lg-0 { + margin-top: 0 !important; + } + + .mt-lg-1 { + margin-top: 0.25rem !important; + } + + .mt-lg-2 { + margin-top: 0.5rem !important; + } + + .mt-lg-3 { + margin-top: 1rem !important; + } + + .mt-lg-4 { + margin-top: 1.5rem !important; + } + + .mt-lg-5 { + margin-top: 3rem !important; + } + + .mt-lg-auto { + margin-top: auto !important; + } + + .me-lg-0 { + margin-right: 0 !important; + } + + .me-lg-1 { + margin-right: 0.25rem !important; + } + + .me-lg-2 { + margin-right: 0.5rem !important; + } + + .me-lg-3 { + margin-right: 1rem !important; + } + + .me-lg-4 { + margin-right: 1.5rem !important; + } + + .me-lg-5 { + margin-right: 3rem !important; + } + + .me-lg-auto { + margin-right: auto !important; + } + + .mb-lg-0 { + margin-bottom: 0 !important; + } + + .mb-lg-1 { + margin-bottom: 0.25rem !important; + } + + .mb-lg-2 { + margin-bottom: 0.5rem !important; + } + + .mb-lg-3 { + margin-bottom: 1rem !important; + } + + .mb-lg-4 { + margin-bottom: 1.5rem !important; + } + + .mb-lg-5 { + margin-bottom: 3rem !important; + } + + .mb-lg-auto { + margin-bottom: auto !important; + } + + .ms-lg-0 { + margin-left: 0 !important; + } + + .ms-lg-1 { + margin-left: 0.25rem !important; + } + + .ms-lg-2 { + margin-left: 0.5rem !important; + } + + .ms-lg-3 { + margin-left: 1rem !important; + } + + .ms-lg-4 { + margin-left: 1.5rem !important; + } + + .ms-lg-5 { + margin-left: 3rem !important; + } + + .ms-lg-auto { + margin-left: auto !important; + } + + .p-lg-0 { + padding: 0 !important; + } + + .p-lg-1 { + padding: 0.25rem !important; + } + + .p-lg-2 { + padding: 0.5rem !important; + } + + .p-lg-3 { + padding: 1rem !important; + } + + .p-lg-4 { + padding: 1.5rem !important; + } + + .p-lg-5 { + padding: 3rem !important; + } + + .px-lg-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + + .px-lg-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + + .px-lg-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + + .px-lg-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + + .px-lg-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + + .px-lg-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-lg-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + + .py-lg-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + + .py-lg-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + + .py-lg-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + + .pt-lg-0 { + padding-top: 0 !important; + } + + .pt-lg-1 { + padding-top: 0.25rem !important; + } + + .pt-lg-2 { + padding-top: 0.5rem !important; + } + + .pt-lg-3 { + padding-top: 1rem !important; + } + + .pt-lg-4 { + padding-top: 1.5rem !important; + } + + .pt-lg-5 { + padding-top: 3rem !important; + } + + .pe-lg-0 { + padding-right: 0 !important; + } + + .pe-lg-1 { + padding-right: 0.25rem !important; + } + + .pe-lg-2 { + padding-right: 0.5rem !important; + } + + .pe-lg-3 { + padding-right: 1rem !important; + } + + .pe-lg-4 { + padding-right: 1.5rem !important; + } + + .pe-lg-5 { + padding-right: 3rem !important; + } + + .pb-lg-0 { + padding-bottom: 0 !important; + } + + .pb-lg-1 { + padding-bottom: 0.25rem !important; + } + + .pb-lg-2 { + padding-bottom: 0.5rem !important; + } + + .pb-lg-3 { + padding-bottom: 1rem !important; + } + + .pb-lg-4 { + padding-bottom: 1.5rem !important; + } + + .pb-lg-5 { + padding-bottom: 3rem !important; + } + + .ps-lg-0 { + padding-left: 0 !important; + } + + .ps-lg-1 { + padding-left: 0.25rem !important; + } + + .ps-lg-2 { + padding-left: 0.5rem !important; + } + + .ps-lg-3 { + padding-left: 1rem !important; + } + + .ps-lg-4 { + padding-left: 1.5rem !important; + } + + .ps-lg-5 { + padding-left: 3rem !important; + } + + .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: flex !important; + } + + .d-xl-inline-flex { + display: inline-flex !important; + } + + .d-xl-none { + display: none !important; + } + + .flex-xl-fill { + flex: 1 1 auto !important; + } + + .flex-xl-row { + flex-direction: row !important; + } + + .flex-xl-column { + flex-direction: column !important; + } + + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + + .flex-xl-wrap { + flex-wrap: wrap !important; + } + + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + + .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 { + justify-content: flex-start !important; + } + + .justify-content-xl-end { + justify-content: flex-end !important; + } + + .justify-content-xl-center { + justify-content: center !important; + } + + .justify-content-xl-between { + justify-content: space-between !important; + } + + .justify-content-xl-around { + justify-content: space-around !important; + } + + .justify-content-xl-evenly { + justify-content: space-evenly !important; + } + + .align-items-xl-start { + align-items: flex-start !important; + } + + .align-items-xl-end { + align-items: flex-end !important; + } + + .align-items-xl-center { + align-items: center !important; + } + + .align-items-xl-baseline { + align-items: baseline !important; + } + + .align-items-xl-stretch { + align-items: stretch !important; + } + + .align-content-xl-start { + align-content: flex-start !important; + } + + .align-content-xl-end { + align-content: flex-end !important; + } + + .align-content-xl-center { + align-content: center !important; + } + + .align-content-xl-between { + align-content: space-between !important; + } + + .align-content-xl-around { + align-content: space-around !important; + } + + .align-content-xl-stretch { + align-content: stretch !important; + } + + .align-self-xl-auto { + align-self: auto !important; + } + + .align-self-xl-start { + align-self: flex-start !important; + } + + .align-self-xl-end { + align-self: flex-end !important; + } + + .align-self-xl-center { + align-self: center !important; + } + + .align-self-xl-baseline { + align-self: baseline !important; + } + + .align-self-xl-stretch { + align-self: stretch !important; + } + + .order-xl-first { + order: -1 !important; + } + + .order-xl-0 { + order: 0 !important; + } + + .order-xl-1 { + order: 1 !important; + } + + .order-xl-2 { + order: 2 !important; + } + + .order-xl-3 { + order: 3 !important; + } + + .order-xl-4 { + order: 4 !important; + } + + .order-xl-5 { + order: 5 !important; + } + + .order-xl-last { + order: 6 !important; + } + + .m-xl-0 { + margin: 0 !important; + } + + .m-xl-1 { + margin: 0.25rem !important; + } + + .m-xl-2 { + margin: 0.5rem !important; + } + + .m-xl-3 { + margin: 1rem !important; + } + + .m-xl-4 { + margin: 1.5rem !important; + } + + .m-xl-5 { + margin: 3rem !important; + } + + .m-xl-auto { + margin: auto !important; + } + + .mx-xl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + + .mx-xl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + + .mx-xl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + + .mx-xl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + + .mx-xl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + + .mx-xl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + + .mx-xl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-xl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + + .my-xl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + + .my-xl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + + .my-xl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + + .my-xl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .mt-xl-0 { + margin-top: 0 !important; + } + + .mt-xl-1 { + margin-top: 0.25rem !important; + } + + .mt-xl-2 { + margin-top: 0.5rem !important; + } + + .mt-xl-3 { + margin-top: 1rem !important; + } + + .mt-xl-4 { + margin-top: 1.5rem !important; + } + + .mt-xl-5 { + margin-top: 3rem !important; + } + + .mt-xl-auto { + margin-top: auto !important; + } + + .me-xl-0 { + margin-right: 0 !important; + } + + .me-xl-1 { + margin-right: 0.25rem !important; + } + + .me-xl-2 { + margin-right: 0.5rem !important; + } + + .me-xl-3 { + margin-right: 1rem !important; + } + + .me-xl-4 { + margin-right: 1.5rem !important; + } + + .me-xl-5 { + margin-right: 3rem !important; + } + + .me-xl-auto { + margin-right: auto !important; + } + + .mb-xl-0 { + margin-bottom: 0 !important; + } + + .mb-xl-1 { + margin-bottom: 0.25rem !important; + } + + .mb-xl-2 { + margin-bottom: 0.5rem !important; + } + + .mb-xl-3 { + margin-bottom: 1rem !important; + } + + .mb-xl-4 { + margin-bottom: 1.5rem !important; + } + + .mb-xl-5 { + margin-bottom: 3rem !important; + } + + .mb-xl-auto { + margin-bottom: auto !important; + } + + .ms-xl-0 { + margin-left: 0 !important; + } + + .ms-xl-1 { + margin-left: 0.25rem !important; + } + + .ms-xl-2 { + margin-left: 0.5rem !important; + } + + .ms-xl-3 { + margin-left: 1rem !important; + } + + .ms-xl-4 { + margin-left: 1.5rem !important; + } + + .ms-xl-5 { + margin-left: 3rem !important; + } + + .ms-xl-auto { + margin-left: auto !important; + } + + .p-xl-0 { + padding: 0 !important; + } + + .p-xl-1 { + padding: 0.25rem !important; + } + + .p-xl-2 { + padding: 0.5rem !important; + } + + .p-xl-3 { + padding: 1rem !important; + } + + .p-xl-4 { + padding: 1.5rem !important; + } + + .p-xl-5 { + padding: 3rem !important; + } + + .px-xl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + + .px-xl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + + .px-xl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + + .px-xl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + + .px-xl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + + .px-xl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-xl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + + .py-xl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + + .py-xl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + + .py-xl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + + .pt-xl-0 { + padding-top: 0 !important; + } + + .pt-xl-1 { + padding-top: 0.25rem !important; + } + + .pt-xl-2 { + padding-top: 0.5rem !important; + } + + .pt-xl-3 { + padding-top: 1rem !important; + } + + .pt-xl-4 { + padding-top: 1.5rem !important; + } + + .pt-xl-5 { + padding-top: 3rem !important; + } + + .pe-xl-0 { + padding-right: 0 !important; + } + + .pe-xl-1 { + padding-right: 0.25rem !important; + } + + .pe-xl-2 { + padding-right: 0.5rem !important; + } + + .pe-xl-3 { + padding-right: 1rem !important; + } + + .pe-xl-4 { + padding-right: 1.5rem !important; + } + + .pe-xl-5 { + padding-right: 3rem !important; + } + + .pb-xl-0 { + padding-bottom: 0 !important; + } + + .pb-xl-1 { + padding-bottom: 0.25rem !important; + } + + .pb-xl-2 { + padding-bottom: 0.5rem !important; + } + + .pb-xl-3 { + padding-bottom: 1rem !important; + } + + .pb-xl-4 { + padding-bottom: 1.5rem !important; + } + + .pb-xl-5 { + padding-bottom: 3rem !important; + } + + .ps-xl-0 { + padding-left: 0 !important; + } + + .ps-xl-1 { + padding-left: 0.25rem !important; + } + + .ps-xl-2 { + padding-left: 0.5rem !important; + } + + .ps-xl-3 { + padding-left: 1rem !important; + } + + .ps-xl-4 { + padding-left: 1.5rem !important; + } + + .ps-xl-5 { + padding-left: 3rem !important; + } + + .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: flex !important; + } + + .d-xxl-inline-flex { + display: inline-flex !important; + } + + .d-xxl-none { + display: none !important; + } + + .flex-xxl-fill { + flex: 1 1 auto !important; + } + + .flex-xxl-row { + flex-direction: row !important; + } + + .flex-xxl-column { + flex-direction: column !important; + } + + .flex-xxl-row-reverse { + flex-direction: row-reverse !important; + } + + .flex-xxl-column-reverse { + flex-direction: column-reverse !important; + } + + .flex-xxl-grow-0 { + flex-grow: 0 !important; + } + + .flex-xxl-grow-1 { + flex-grow: 1 !important; + } + + .flex-xxl-shrink-0 { + flex-shrink: 0 !important; + } + + .flex-xxl-shrink-1 { + flex-shrink: 1 !important; + } + + .flex-xxl-wrap { + flex-wrap: wrap !important; + } + + .flex-xxl-nowrap { + flex-wrap: nowrap !important; + } + + .flex-xxl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + + .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 { + justify-content: flex-start !important; + } + + .justify-content-xxl-end { + justify-content: flex-end !important; + } + + .justify-content-xxl-center { + justify-content: center !important; + } + + .justify-content-xxl-between { + justify-content: space-between !important; + } + + .justify-content-xxl-around { + justify-content: space-around !important; + } + + .justify-content-xxl-evenly { + justify-content: space-evenly !important; + } + + .align-items-xxl-start { + align-items: flex-start !important; + } + + .align-items-xxl-end { + align-items: flex-end !important; + } + + .align-items-xxl-center { + align-items: center !important; + } + + .align-items-xxl-baseline { + align-items: baseline !important; + } + + .align-items-xxl-stretch { + align-items: stretch !important; + } + + .align-content-xxl-start { + align-content: flex-start !important; + } + + .align-content-xxl-end { + align-content: flex-end !important; + } + + .align-content-xxl-center { + align-content: center !important; + } + + .align-content-xxl-between { + align-content: space-between !important; + } + + .align-content-xxl-around { + align-content: space-around !important; + } + + .align-content-xxl-stretch { + align-content: stretch !important; + } + + .align-self-xxl-auto { + align-self: auto !important; + } + + .align-self-xxl-start { + align-self: flex-start !important; + } + + .align-self-xxl-end { + align-self: flex-end !important; + } + + .align-self-xxl-center { + align-self: center !important; + } + + .align-self-xxl-baseline { + align-self: baseline !important; + } + + .align-self-xxl-stretch { + align-self: stretch !important; + } + + .order-xxl-first { + order: -1 !important; + } + + .order-xxl-0 { + order: 0 !important; + } + + .order-xxl-1 { + order: 1 !important; + } + + .order-xxl-2 { + order: 2 !important; + } + + .order-xxl-3 { + order: 3 !important; + } + + .order-xxl-4 { + order: 4 !important; + } + + .order-xxl-5 { + order: 5 !important; + } + + .order-xxl-last { + order: 6 !important; + } + + .m-xxl-0 { + margin: 0 !important; + } + + .m-xxl-1 { + margin: 0.25rem !important; + } + + .m-xxl-2 { + margin: 0.5rem !important; + } + + .m-xxl-3 { + margin: 1rem !important; + } + + .m-xxl-4 { + margin: 1.5rem !important; + } + + .m-xxl-5 { + margin: 3rem !important; + } + + .m-xxl-auto { + margin: auto !important; + } + + .mx-xxl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + + .mx-xxl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + + .mx-xxl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + + .mx-xxl-3 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + + .mx-xxl-4 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + + .mx-xxl-5 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + + .mx-xxl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + + .my-xxl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-xxl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + + .my-xxl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + + .my-xxl-3 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + + .my-xxl-4 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + + .my-xxl-5 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + + .my-xxl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .mt-xxl-0 { + margin-top: 0 !important; + } + + .mt-xxl-1 { + margin-top: 0.25rem !important; + } + + .mt-xxl-2 { + margin-top: 0.5rem !important; + } + + .mt-xxl-3 { + margin-top: 1rem !important; + } + + .mt-xxl-4 { + margin-top: 1.5rem !important; + } + + .mt-xxl-5 { + margin-top: 3rem !important; + } + + .mt-xxl-auto { + margin-top: auto !important; + } + + .me-xxl-0 { + margin-right: 0 !important; + } + + .me-xxl-1 { + margin-right: 0.25rem !important; + } + + .me-xxl-2 { + margin-right: 0.5rem !important; + } + + .me-xxl-3 { + margin-right: 1rem !important; + } + + .me-xxl-4 { + margin-right: 1.5rem !important; + } + + .me-xxl-5 { + margin-right: 3rem !important; + } + + .me-xxl-auto { + margin-right: auto !important; + } + + .mb-xxl-0 { + margin-bottom: 0 !important; + } + + .mb-xxl-1 { + margin-bottom: 0.25rem !important; + } + + .mb-xxl-2 { + margin-bottom: 0.5rem !important; + } + + .mb-xxl-3 { + margin-bottom: 1rem !important; + } + + .mb-xxl-4 { + margin-bottom: 1.5rem !important; + } + + .mb-xxl-5 { + margin-bottom: 3rem !important; + } + + .mb-xxl-auto { + margin-bottom: auto !important; + } + + .ms-xxl-0 { + margin-left: 0 !important; + } + + .ms-xxl-1 { + margin-left: 0.25rem !important; + } + + .ms-xxl-2 { + margin-left: 0.5rem !important; + } + + .ms-xxl-3 { + margin-left: 1rem !important; + } + + .ms-xxl-4 { + margin-left: 1.5rem !important; + } + + .ms-xxl-5 { + margin-left: 3rem !important; + } + + .ms-xxl-auto { + margin-left: auto !important; + } + + .p-xxl-0 { + padding: 0 !important; + } + + .p-xxl-1 { + padding: 0.25rem !important; + } + + .p-xxl-2 { + padding: 0.5rem !important; + } + + .p-xxl-3 { + padding: 1rem !important; + } + + .p-xxl-4 { + padding: 1.5rem !important; + } + + .p-xxl-5 { + padding: 3rem !important; + } + + .px-xxl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + + .px-xxl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + + .px-xxl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + + .px-xxl-3 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + + .px-xxl-4 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + + .px-xxl-5 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + + .py-xxl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-xxl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + + .py-xxl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + + .py-xxl-3 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + + .py-xxl-4 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + + .py-xxl-5 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + + .pt-xxl-0 { + padding-top: 0 !important; + } + + .pt-xxl-1 { + padding-top: 0.25rem !important; + } + + .pt-xxl-2 { + padding-top: 0.5rem !important; + } + + .pt-xxl-3 { + padding-top: 1rem !important; + } + + .pt-xxl-4 { + padding-top: 1.5rem !important; + } + + .pt-xxl-5 { + padding-top: 3rem !important; + } + + .pe-xxl-0 { + padding-right: 0 !important; + } + + .pe-xxl-1 { + padding-right: 0.25rem !important; + } + + .pe-xxl-2 { + padding-right: 0.5rem !important; + } + + .pe-xxl-3 { + padding-right: 1rem !important; + } + + .pe-xxl-4 { + padding-right: 1.5rem !important; + } + + .pe-xxl-5 { + padding-right: 3rem !important; + } + + .pb-xxl-0 { + padding-bottom: 0 !important; + } + + .pb-xxl-1 { + padding-bottom: 0.25rem !important; + } + + .pb-xxl-2 { + padding-bottom: 0.5rem !important; + } + + .pb-xxl-3 { + padding-bottom: 1rem !important; + } + + .pb-xxl-4 { + padding-bottom: 1.5rem !important; + } + + .pb-xxl-5 { + padding-bottom: 3rem !important; + } + + .ps-xxl-0 { + padding-left: 0 !important; + } + + .ps-xxl-1 { + padding-left: 0.25rem !important; + } + + .ps-xxl-2 { + padding-left: 0.5rem !important; + } + + .ps-xxl-3 { + padding-left: 1rem !important; + } + + .ps-xxl-4 { + padding-left: 1.5rem !important; + } + + .ps-xxl-5 { + padding-left: 3rem !important; + } + + .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: 6rem !important; + } + + .fs-2 { + font-size: 3.5rem !important; + } + + .fs-3 { + font-size: 2rem !important; + } + + .fs-4 { + font-size: 1.5rem !important; + } +} + +@media print { + .d-print-inline { + display: inline !important; + } + + .d-print-inline-block { + display: inline-block !important; + } + + .d-print-block { + display: block !important; + } + + .d-print-grid { + display: grid !important; + } + + .d-print-table { + display: table !important; + } + + .d-print-table-row { + display: table-row !important; + } + + .d-print-table-cell { + display: table-cell !important; + } + + .d-print-flex { + display: flex !important; + } + + .d-print-inline-flex { + display: inline-flex !important; + } + + .d-print-none { + display: none !important; + } +} + +body { + padding-top: 3.375rem; + color: #6c757d; +} + +@media (min-width: 992px) { + body { + padding-top: 0; + padding-left: 17rem; + } +} + +h1, .h1, +h2, +.h2, +h3, +.h3, +h4, +.h4, +h5, +.h5, +h6, +.h6 { + text-transform: uppercase; +} + +h1, .h1 { + line-height: 1; +} + +p.lead { + font-size: 1.15rem; + font-weight: 400; +} + +.subheading { + font-family: "Saira Extra Condensed", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + text-transform: uppercase; + font-weight: 500; + font-size: 1.5rem; +} + +#sideNav { + padding-left: 1rem; + padding-right: 1rem; +} + + + +#sideNav .navbar-nav .nav-item .nav-link { + font-weight: 800; + letter-spacing: 0.05rem; + text-transform: uppercase; +} + + #sideNav .navbar-toggler:focus { + outline-color: red; + } + +@media (min-width: 992px) { + #sideNav { + padding-left: 0; + padding-right: 0; + text-align: center; + position: fixed; + top: 0; + left: 0; + display: flex; + flex-direction: column; + width: 17rem; + height: 100vh; + } + + #sideNav .navbar-brand { + display: flex; + margin: auto auto 0; + padding: 0.5rem; + } + + #sideNav .navbar-brand .img-profile { + max-width: 10rem; + max-height: 10rem; + border: 0.5rem solid rgba(255, 255, 255, 0.2); + } + + #sideNav .navbar-collapse { + display: flex; + align-items: flex-start; + flex-grow: 0; + width: 100%; + margin-bottom: auto; + } + + #sideNav .navbar-collapse .navbar-nav { + flex-direction: column; + width: 100%; + } + + #sideNav .navbar-collapse .navbar-nav .nav-item { + display: block; + } + + #sideNav .navbar-collapse .navbar-nav .nav-item .nav-link { + display: block; + } +} + +.social-icons .social-icon { + display: inline-flex; + align-items: center; + justify-content: center; + height: 3.5rem; + width: 3.5rem; + background-color: #495057; + color: #fff; + border-radius: 100%; + font-size: 1.5rem; + margin-right: 1.5rem; +} + + .social-icons .social-icon:last-child { + margin-right: 0; + } + + .social-icons .social-icon:hover { + background-color: #b34fc2; + } + +.dev-icons { + font-size: 3rem; +} + +section.resume-section { + display: flex; + align-items: center; + padding-left: 1rem; + padding-right: 1rem; + padding-top: 5rem; + padding-bottom: 5rem; + max-width: 75rem; +} + + section.resume-section .resume-section-content { + width: 100%; + } + +@media (min-width: 768px) { + section.resume-section { + min-height: 100vh; + } +} + +@media (min-width: 992px) { + section.resume-section { + padding-left: 3rem; + padding-right: 3rem; + padding-top: 5rem; + padding-bottom: 5rem; + } +}*/ +/* /Shared/NavMenu.razor.rz.scp.css */ diff --git a/_content/Blazorise.Bootstrap/blazorise.bootstrap.css b/_content/Blazorise.Bootstrap/blazorise.bootstrap.css new file mode 100755 index 0000000..7267e86 --- /dev/null +++ b/_content/Blazorise.Bootstrap/blazorise.bootstrap.css @@ -0,0 +1,4200 @@ +.badge-close { + cursor: pointer; +} +.badge-close::before { + height: 2px; + width: 50%; +} +.badge-close::after { + height: 50%; + width: 2px; +} +.badge-close:hover, .badge-close:focus { + background-color: rgba(10, 10, 10, 0.3); +} +.badge-close:active { + background-color: rgba(10, 10, 10, 0.4); +} + +.navbar-nav .nav-item:hover { + cursor: pointer; +} + +.navbar-nav .nav-link:hover { + cursor: pointer; +} + +.nav .nav-link:hover { + cursor: pointer; +} + +.nav-item { + position: relative; +} + +.b-bar-horizontal .nav-item.dropdown .dropdown-menu > .dropdown > .dropdown-item { + width: 100%; +} +.b-bar-horizontal .nav-item.dropdown .dropdown-menu > .dropdown > .dropdown-item::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} +.b-bar-horizontal .nav-item.dropdown .dropdown-menu > .dropdown > .dropdown-item:empty::after { + margin-left: 0; +} +.b-bar-horizontal .nav-item.dropdown .dropdown-menu > .dropdown > .dropdown-item::after { + transform: rotate(-90deg); + position: absolute; + right: 10%; + top: 45%; +} +.b-bar-horizontal .nav-item.dropdown .dropdown-menu > .dropdown > .dropdown-menu { + top: 0; + left: 100%; + margin-left: 0rem; + margin-right: 0.1rem; +} + +.btn-group > .b-tooltip:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .b-tooltip:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group.btn-group-toggle .btn.active.disabled { + opacity: 1; +} + +.btn-group-vertical > .b-tooltip:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .b-tooltip:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.btn-xs, .btn-group-xs > .btn { + padding: 0.15rem 0.5rem; + font-size: 0.75rem; + line-height: 1.5; + border-radius: 0.15rem; +} + +.btn-md, .btn-group-md > .btn { + padding: 0.47rem 1rem; + font-size: 1.125rem; + line-height: 1.5; + border-radius: 0.25rem; +} + +.btn-xl, .btn-group-xl > .btn { + padding: 0.5rem 1rem; + font-size: 1.5rem; + line-height: 1.5; + border-radius: 0.4rem; +} + +.table-fixed-header .table thead tr th.dropdown-table-fixed-header-visible { + z-index: 11; +} + +.dropdown-menu-position-strategy { + width: max-content; + top: 0; + left: 0; +} + +.dropdown-menu-position-strategy-absolute { + position: absolute; +} + +.dropdown-menu-position-strategy-fixed { + position: fixed; +} + +.dropdown-toggle.dropdown-toggle-hidden::after { + content: none !important; +} + +.dropdown-toggle.dropdown-toggle-hidden::before { + content: none !important; +} + +.dropdown-menu.show { + animation-duration: 0.3s; + animation-fill-mode: both; + animation-name: fadeIn; +} + +.dropdown-menu a:not([href]).dropdown-item:not(.disabled) { + cursor: pointer; +} + +.dropdown-menu.dropdown-menu-scrollable { + max-height: var(--dropdown-list-menu-max-height, 200px); + overflow-y: scroll; +} + +.b-is-autocomplete .dropdown-menu { + width: 100%; + max-height: var(--autocomplete-menu-max-height, 200px); + overflow-y: scroll; +} +.b-is-autocomplete .dropdown-menu .dropdown-item.focus { + color: #16181b !important; + text-decoration: none; + background-color: #e9ecef; +} + +.b-is-autocomplete.b-is-autocomplete-multipleselection { + display: flex; + align-items: center; + flex-wrap: wrap; + max-width: 100%; + width: 100%; + cursor: text; + line-height: 1.5; + outline: 1px solid #ced4da; + border-radius: 0.25rem; +} +.b-is-autocomplete.b-is-autocomplete-multipleselection > input.form-control:not(.is-valid, .is-invalid) { + border: none; +} +.b-is-autocomplete.b-is-autocomplete-multipleselection > input.form-control { + display: inline-block; + box-shadow: none; + outline: none; + background-color: transparent; + max-width: inherit; + width: auto; + flex-grow: 1; +} +.b-is-autocomplete.b-is-autocomplete-multipleselection > .badge { + margin-top: 0.25rem; + margin-bottom: 0.25rem; + line-height: 1.5; + flex-grow: initial; +} +.b-is-autocomplete.b-is-autocomplete-multipleselection:focus { + color: #495057; + background-color: #fff; + border-color: #80bdff; + outline: 0; + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); +} + +.dropdown { + position: relative; +} +.dropdown .btn.dropdown-toggle:not(.btn-outline) { + box-shadow: none; +} +.dropdown.dropdown-disabled.b-is-autocomplete { + background-color: var(--b-theme-light, #e9ecef); +} +.dropdown > .dropdown-menu > .dropdown:not(.dropup, .dropleft, .dropright) { + position: relative; +} +.dropdown > .dropdown-menu > .dropdown:not(.dropup, .dropleft, .dropright) > .dropdown-toggle { + width: 100%; +} +.dropdown > .dropdown-menu > .dropdown:not(.dropup, .dropleft, .dropright) > .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; + position: absolute; + right: 10%; + top: 45%; +} +.dropdown > .dropdown-menu > .dropdown:not(.dropup, .dropleft, .dropright) > .dropdown-menu { + top: auto; + left: auto; + bottom: auto; + right: auto; +} +.dropdown > .dropdown-menu > .dropdown.dropup .dropdown-toggle::after, .dropdown > .dropdown-menu > .dropdown.dropleft .dropdown-toggle::after, .dropdown > .dropdown-menu > .dropdown.dropright .dropdown-toggle::after { + position: absolute; + right: 10%; + top: 45%; +} +.dropdown.dropup > .dropdown-menu { + top: auto; + left: auto; + bottom: auto; + margin-top: 0; + margin-bottom: 0.125rem; +} +.dropdown.dropup > .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} +.dropdown.dropright > .dropdown-menu { + top: 0%; + right: auto; + left: 100%; + bottom: auto; + margin-top: 0; + margin-left: 0.125rem; +} +.dropdown.dropright > .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; + vertical-align: 0; +} +.dropdown.dropleft > .dropdown-menu { + top: 0%; + right: 100%; + left: auto; + bottom: auto; + margin-top: 0; + margin-right: 0.125rem; +} +.dropdown.dropleft > .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; + vertical-align: 0; +} + +.figure.figure-is-16x16 { + height: 16px; + width: 16px; +} +.figure.figure-is-24x24 { + height: 24px; + width: 24px; +} +.figure.figure-is-32x32 { + height: 32px; + width: 32px; +} +.figure.figure-is-48x48 { + height: 48px; + width: 48px; +} +.figure.figure-is-64x64 { + height: 64px; + width: 64px; +} +.figure.figure-is-96x96 { + height: 96px; + width: 96px; +} +.figure.figure-is-128x128 { + height: 128px; + width: 128px; +} +.figure.figure-is-256x256 { + height: 256px; + width: 256px; +} +.figure.figure-is-512x512 { + height: 512px; + width: 512px; +} + +.form-check > .form-check-input.form-check-input-pointer, +.form-check > .form-check-label.form-check-label-pointer, +.custom-checkbox > .custom-control-input.custom-control-input-pointer, +.custom-checkbox > .custom-control-label.custom-control-label-pointer, +.custom-switch > .custom-control-input.custom-control-input-pointer, +.custom-switch > .custom-control-label.custom-control-label-pointer { + cursor: pointer; +} + +.form-control-plaintext.form-control-xs, .form-control-plaintext.form-control-md, .form-control-plaintext.form-control-xl { + padding-right: 0; + padding-left: 0; +} + +.form-control-xs { + height: calc(1.5em + 0.3rem + 2px); + padding: 0.15rem 0.5rem; + font-size: 0.75rem; + line-height: 1.5; + border-radius: 0.15rem; +} + +.form-control-md { + height: calc(1.5em + 0.94rem + 2px); + padding: 0.47rem 1rem; + font-size: 1.125rem; + line-height: 1.5; + border-radius: 0.25rem; +} + +.form-control-xl { + height: calc(1.5em + 1rem + 2px); + padding: 0.5rem 1rem; + font-size: 1.5rem; + line-height: 1.5; + border-radius: 0.4rem; +} + +.custom-select-xs { + height: calc(1.5em + 0.3rem + 2px); + padding-top: 0.15rem; + padding-bottom: 0.15rem; + padding-left: 0.5rem; + font-size: 0.75rem; +} + +.custom-select-md { + height: calc(1.5em + 0.94rem + 2px); + padding-top: 0.47rem; + padding-bottom: 0.47rem; + padding-left: 1rem; + font-size: 1.125rem; +} + +.custom-select-xl { + height: calc(1.5em + 1rem + 2px); + padding-top: 0.5rem; + padding-bottom: 0.5rem; + padding-left: 1rem; + font-size: 1.5rem; +} + +.input-group > .b-numeric:not(:last-child) > input, +.input-group > .flatpickr-wrapper:not(:last-child) > input { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group > .b-numeric:not(:first-child) > input, +.input-group > .flatpickr-wrapper:not(:first-child) > input { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.input-group-xs > .form-control:not(textarea), +.input-group-xs > .custom-select, +.input-group-xs > .b-numeric > input { + height: calc(1.5em + 0.3rem + 2px); +} + +.input-group-xs > .form-control, +.input-group-xs > .custom-select, +.input-group-xs > .input-group-prepend > .input-group-text, +.input-group-xs > .input-group-append > .input-group-text, +.input-group-xs > .input-group-prepend > .btn, +.input-group-xs > .input-group-append > .btn, +.input-group-xs > .b-numeric > input { + padding: 0.15rem 0.5rem; + font-size: 0.75rem; + line-height: 1.5; + border-radius: 0.15rem; +} + +.input-group-sm > .b-numeric > input { + height: calc(1.5em + 0.5rem + 2px); +} + +.input-group-sm > .b-numeric > input { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} + +.input-group-md > .form-control:not(textarea), +.input-group-md > .custom-select, +.input-group-md > .b-numeric > input { + height: calc(1.5em + 0.94rem + 2px); +} + +.input-group-md > .form-control, +.input-group-md > .custom-select, +.input-group-md > .input-group-prepend > .input-group-text, +.input-group-md > .input-group-append > .input-group-text, +.input-group-md > .input-group-prepend > .btn, +.input-group-md > .input-group-append > .btn, +.input-group-md > .b-numeric > input { + padding: 0.47rem 1rem; + font-size: 1.125rem; + line-height: 1.5; + border-radius: 0.25rem; +} + +.input-group-lg > .b-numeric > input { + height: calc(1.5em + 1rem + 2px); +} + +.input-group-lg > .b-numeric > input { + padding: 0.5rem 1rem; + font-size: 1.25rem; + line-height: 1.5; + border-radius: 0.3rem; +} + +.input-group-xl > .form-control:not(textarea), +.input-group-xl > .custom-select, +.input-group-xl > .b-numeric > input { + height: calc(1.5em + 1rem + 2px); +} + +.input-group-xl > .form-control, +.input-group-xl > .custom-select, +.input-group-xl > .input-group-prepend > .input-group-text, +.input-group-xl > .input-group-append > .input-group-text, +.input-group-xl > .input-group-prepend > .btn, +.input-group-xl > .input-group-append > .btn, +.input-group-xl > .b-numeric > input { + padding: 0.5rem 1rem; + font-size: 1.5rem; + line-height: 1.5; + border-radius: 0.4rem; +} + +.input-group-xs > .custom-select, +.input-group-md > .custom-select, +.input-group-xl > .custom-select { + padding-right: 1.75rem; +} + +.input-group > .input-group-prepend > .btn, +.input-group > .input-group-prepend > .input-group-text, +.input-group > .input-group-prepend:first-child > .dropdown > .btn:not(:last-child).dropdown-toggle, +.input-group > .input-group-append:not(:last-child) > .btn, +.input-group > .input-group-append:not(:last-child) > .input-group-text, +.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .input-group-append > .btn, +.input-group > .input-group-append > .input-group-text, +.input-group > .input-group-append:last-child > .dropdown > .btn:not(:last-child).dropdown-toggle, +.input-group > .input-group-append:last-child > .dropdown > .btn:not(:last-child):not(.dropdown-toggle), +.input-group > .input-group-prepend:not(:first-child) > .btn, +.input-group > .input-group-prepend:not(:first-child) > .input-group-text, +.input-group > .input-group-prepend:first-child > .btn:not(:first-child), +.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.input-group > div.flatpickr-wrapper > .form-control, +.input-group > div.flatpickr-wrapper > .form-control-plaintext { + position: relative; + flex: 1 1 auto; + width: 1%; + min-width: 0; + margin-bottom: 0; +} + +.custom-control.custom-checkbox > .custom-control-input.custom-control-input-xs + .custom-control-label::before, +.custom-control.custom-checkbox > .custom-control-input.custom-control-input-xs + .custom-control-label::after { + width: 0.7rem; + height: 0.7rem; +} +.custom-control.custom-checkbox > .custom-control-input.custom-control-input-xs + .custom-control-label { + line-height: "normal"; + padding-left: 0px; +} + +.custom-control.custom-checkbox > .custom-control-input.custom-control-input-sm + .custom-control-label::before, +.custom-control.custom-checkbox > .custom-control-input.custom-control-input-sm + .custom-control-label::after { + width: 0.8rem; + height: 0.8rem; +} +.custom-control.custom-checkbox > .custom-control-input.custom-control-input-sm + .custom-control-label { + line-height: "normal"; + padding-left: 0px; +} + +.custom-control.custom-checkbox > .custom-control-input.custom-control-input-md + .custom-control-label::before, +.custom-control.custom-checkbox > .custom-control-input.custom-control-input-md + .custom-control-label::after { + width: 1.25rem; + height: 1.25rem; +} +.custom-control.custom-checkbox > .custom-control-input.custom-control-input-md + .custom-control-label { + line-height: 1.7rem; + padding-left: 3px; +} + +.custom-control.custom-checkbox > .custom-control-input.custom-control-input-lg + .custom-control-label::before, +.custom-control.custom-checkbox > .custom-control-input.custom-control-input-lg + .custom-control-label::after { + width: 1.55rem; + height: 1.55rem; +} +.custom-control.custom-checkbox > .custom-control-input.custom-control-input-lg + .custom-control-label { + line-height: 2rem; + padding-left: 6px; +} + +.custom-control.custom-checkbox > .custom-control-input.custom-control-input-xl + .custom-control-label::before, +.custom-control.custom-checkbox > .custom-control-input.custom-control-input-xl + .custom-control-label::after { + width: 1.85rem; + height: 1.85rem; +} +.custom-control.custom-checkbox > .custom-control-input.custom-control-input-xl + .custom-control-label { + line-height: 2.5rem; + padding-left: 10px; +} + +/* $padding-top: (($radio-size - ($radio-size - ($radio-size / 2))) / 2); +$padding-left: $radio-size / 2;*/ +.custom-control.custom-radio > .custom-control-input.custom-control-input-xs + .custom-control-label::before, +.custom-control.custom-radio > .custom-control-input.custom-control-input-xs + .custom-control-label::after { + width: 0.7rem; + height: 0.7rem; +} +.custom-control.custom-radio > .custom-control-input.custom-control-input-xs + .custom-control-label { + line-height: normal; + padding-left: 0px; +} + +/* $padding-top: (($radio-size - ($radio-size - ($radio-size / 2))) / 2); +$padding-left: $radio-size / 2;*/ +.custom-control.custom-radio > .custom-control-input.custom-control-input-sm + .custom-control-label::before, +.custom-control.custom-radio > .custom-control-input.custom-control-input-sm + .custom-control-label::after { + width: 0.8rem; + height: 0.8rem; +} +.custom-control.custom-radio > .custom-control-input.custom-control-input-sm + .custom-control-label { + line-height: normal; + padding-left: 0px; +} + +/* $padding-top: (($radio-size - ($radio-size - ($radio-size / 2))) / 2); +$padding-left: $radio-size / 2;*/ +.custom-control.custom-radio > .custom-control-input.custom-control-input-md + .custom-control-label::before, +.custom-control.custom-radio > .custom-control-input.custom-control-input-md + .custom-control-label::after { + width: 1.25rem; + height: 1.25rem; +} +.custom-control.custom-radio > .custom-control-input.custom-control-input-md + .custom-control-label { + line-height: 1.7rem; + padding-left: 3px; +} + +/* $padding-top: (($radio-size - ($radio-size - ($radio-size / 2))) / 2); +$padding-left: $radio-size / 2;*/ +.custom-control.custom-radio > .custom-control-input.custom-control-input-lg + .custom-control-label::before, +.custom-control.custom-radio > .custom-control-input.custom-control-input-lg + .custom-control-label::after { + width: 1.55rem; + height: 1.55rem; +} +.custom-control.custom-radio > .custom-control-input.custom-control-input-lg + .custom-control-label { + line-height: 2rem; + padding-left: 6px; +} + +/* $padding-top: (($radio-size - ($radio-size - ($radio-size / 2))) / 2); +$padding-left: $radio-size / 2;*/ +.custom-control.custom-radio > .custom-control-input.custom-control-input-xl + .custom-control-label::before, +.custom-control.custom-radio > .custom-control-input.custom-control-input-xl + .custom-control-label::after { + width: 1.85rem; + height: 1.85rem; +} +.custom-control.custom-radio > .custom-control-input.custom-control-input-xl + .custom-control-label { + line-height: 2.5rem; + padding-left: 10px; +} + +select[readonly] { + pointer-events: none; +} +select[readonly] option, +select[readonly] optgroup { + display: none; +} + +.b-numeric { + position: relative; + width: 100%; +} +.b-numeric:hover > .b-numeric-handler-wrap { + opacity: 1; +} +.b-numeric input:disabled + .b-numeric-handler-wrap, .b-numeric input:read-only + .b-numeric-handler-wrap { + display: none; +} + +.b-numeric-handler-wrap { + position: absolute; + top: 0; + right: 0; + width: 22px; + height: 100%; + background: #fff; + border: 1px solid #d9d9d9; + opacity: 0; +} + +.input-group .b-numeric { + -ms-flex: 1 1 auto; + flex: 1 1 auto; + width: 1%; +} + +.b-numeric-handler-wrap .b-numeric-handler.b-numeric-handler-down { + border-top: 1px solid #d9d9d9; +} + +.b-numeric-handler { + position: relative; + display: flex; + width: 100%; + height: 50%; + overflow: hidden; + color: rgba(0, 0, 0, 0.45); + font-weight: 700; + line-height: 0; + align-items: center; + justify-content: center; +} +.b-numeric-handler.btn { + padding: 0; +} + +.form-control + .b-numeric-handler-wrap { + font-size: 1rem; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} + +.form-control-xs + .b-numeric-handler-wrap { + font-size: 0.75rem; + border-top-right-radius: 0.15rem; + border-bottom-right-radius: 0.15rem; +} +.form-control-xs + .b-numeric-handler-wrap > .b-numeric-handler.btn { + font-size: 0.75rem; +} + +.form-control-sm + .b-numeric-handler-wrap { + font-size: 0.875rem; + border-top-right-radius: 0.2rem; + border-bottom-right-radius: 0.2rem; +} +.form-control-sm + .b-numeric-handler-wrap > .b-numeric-handler.btn { + font-size: 0.875rem; +} + +.form-control-md + .b-numeric-handler-wrap { + font-size: 1.125rem; + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} +.form-control-md + .b-numeric-handler-wrap > .b-numeric-handler.btn { + font-size: 1.125rem; +} + +.form-control-lg + .b-numeric-handler-wrap { + font-size: 1.25rem; + border-top-right-radius: 0.3rem; + border-bottom-right-radius: 0.3rem; +} +.form-control-lg + .b-numeric-handler-wrap > .b-numeric-handler.btn { + font-size: 1.25rem; +} + +.form-control-xl + .b-numeric-handler-wrap { + font-size: 1.5rem; + border-top-right-radius: 0.4rem; + border-bottom-right-radius: 0.4rem; +} +.form-control-xl + .b-numeric-handler-wrap > .b-numeric-handler.btn { + font-size: 1.5rem; +} + +.custom-file-label { + overflow: hidden; +} + +input[readonly][type=range], +input[readonly=readonly][type=range] { + pointer-events: none; +} +input[readonly][type=range]::-webkit-slider-thumb, +input[readonly=readonly][type=range]::-webkit-slider-thumb { + pointer-events: none; +} +input[readonly][type=range]::-moz-range-thumb, +input[readonly=readonly][type=range]::-moz-range-thumb { + pointer-events: none; +} +input[readonly][type=range]::-ms-thumb, +input[readonly=readonly][type=range]::-ms-thumb { + pointer-events: none; +} + +.focus-trap { + display: contents; +} + +.form-label-required:after { + content: " *"; + color: var(--b-theme-danger, #dc3545); +} + +.jumbotron.jumbotron-primary { + background-color: #007bff; + color: #fff; +} +.jumbotron.jumbotron-secondary { + background-color: #6c757d; + color: #fff; +} +.jumbotron.jumbotron-success { + background-color: #28a745; + color: #fff; +} +.jumbotron.jumbotron-info { + background-color: #17a2b8; + color: #fff; +} +.jumbotron.jumbotron-warning { + background-color: #ffc107; + color: #212529; +} +.jumbotron.jumbotron-danger { + background-color: #dc3545; + color: #fff; +} +.jumbotron.jumbotron-light { + background-color: #f8f9fa; + color: #212529; +} +.jumbotron.jumbotron-dark { + background-color: #343a40; + color: #fff; +} +.jumbotron.jumbotron-link { + background-color: #3273dc; + color: #fff; +} + +.b-layout-header-fixed { + z-index: 1020; +} + +.b-layout-footer-fixed { + z-index: 1020; +} + +.b-layout-sider-content { + z-index: 1021; +} + +a.link-unstyled { + text-decoration: none; + color: inherit; +} + +li.list-group-item-action { + cursor: pointer; +} + +.list-group-scrollable { + overflow-y: scroll; +} + +.modal .modal-fullscreen { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; +} +.modal .modal-fullscreen .modal-content { + height: 100%; + border: 0; + border-radius: 0; +} +.modal .modal-fullscreen .modal-header { + border-radius: 0; +} +.modal .modal-fullscreen .modal-body { + overflow-y: auto; +} +.modal .modal-fullscreen .modal-footer { + border-radius: 0; +} +.modal.fade { + transition: opacity var(--modal-animation-duration, 300ms) linear; +} +.modal.fade .modal-dialog { + transition: -webkit-transform var(--modal-animation-duration, 300ms) ease-out; + transition: transform var(--modal-animation-duration, 300ms) ease-out; +} + +.offcanvas, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm { + --offcanvas-zindex: 1045; + --offcanvas-width: 400px; + --offcanvas-height: 30vh; + --offcanvas-padding-x: 1rem; + --offcanvas-padding-y: 1rem; + --offcanvas-color: var(--body-color); + --offcanvas-bg: var(--body-bg); + --offcanvas-border-width: 1px; + --offcanvas-border-color: rgba(0, 0, 0, 0.2); + --offcanvas-box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.5); + --offcanvas-transition: transform 0.3s ease-in-out; + --offcanvas-title-line-height: 1.5; +} + +@media (max-width: 767.98px) { + .offcanvas-sm { + position: fixed; + bottom: 0; + z-index: 1045; + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--offcanvas-color); + visibility: hidden; + background-color: white; + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; + } + .offcanvas-sm.offcanvas-start { + top: 0; + left: 0; + width: var(--offcanvas-width); + border-right: var(--offcanvas-border-width) solid var(--offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-sm.offcanvas-end { + top: 0; + right: 0; + width: var(--offcanvas-width); + border-left: var(--offcanvas-border-width) solid var(--offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-sm.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--offcanvas-height); + max-height: 100%; + border-bottom: var(--offcanvas-border-width) solid var(--offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-sm.offcanvas-bottom { + right: 0; + left: 0; + height: var(--offcanvas-height); + max-height: 100%; + border-top: var(--offcanvas-border-width) solid var(--offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) { + transform: none; + } + .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show { + visibility: visible; + } +} +@media (min-width: 576px) { + .offcanvas-sm { + --offcanvas-height: auto; + --offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-sm .offcanvas-header { + display: none; + } + .offcanvas-sm .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 991.98px) { + .offcanvas-md { + position: fixed; + bottom: 0; + z-index: 1045; + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--offcanvas-color); + visibility: hidden; + background-color: white; + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; + } + .offcanvas-md.offcanvas-start { + top: 0; + left: 0; + width: var(--offcanvas-width); + border-right: var(--offcanvas-border-width) solid var(--offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-md.offcanvas-end { + top: 0; + right: 0; + width: var(--offcanvas-width); + border-left: var(--offcanvas-border-width) solid var(--offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-md.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--offcanvas-height); + max-height: 100%; + border-bottom: var(--offcanvas-border-width) solid var(--offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-md.offcanvas-bottom { + right: 0; + left: 0; + height: var(--offcanvas-height); + max-height: 100%; + border-top: var(--offcanvas-border-width) solid var(--offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) { + transform: none; + } + .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show { + visibility: visible; + } +} +@media (min-width: 768px) { + .offcanvas-md { + --offcanvas-height: auto; + --offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-md .offcanvas-header { + display: none; + } + .offcanvas-md .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 1199.98px) { + .offcanvas-lg { + position: fixed; + bottom: 0; + z-index: 1045; + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--offcanvas-color); + visibility: hidden; + background-color: white; + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; + } + .offcanvas-lg.offcanvas-start { + top: 0; + left: 0; + width: var(--offcanvas-width); + border-right: var(--offcanvas-border-width) solid var(--offcanvas-border-color); + transform: translateX(-100%); + } + .offcanvas-lg.offcanvas-end { + top: 0; + right: 0; + width: var(--offcanvas-width); + border-left: var(--offcanvas-border-width) solid var(--offcanvas-border-color); + transform: translateX(100%); + } + .offcanvas-lg.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--offcanvas-height); + max-height: 100%; + border-bottom: var(--offcanvas-border-width) solid var(--offcanvas-border-color); + transform: translateY(-100%); + } + .offcanvas-lg.offcanvas-bottom { + right: 0; + left: 0; + height: var(--offcanvas-height); + max-height: 100%; + border-top: var(--offcanvas-border-width) solid var(--offcanvas-border-color); + transform: translateY(100%); + } + .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) { + transform: none; + } + .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show { + visibility: visible; + } +} +@media (min-width: 992px) { + .offcanvas-lg { + --offcanvas-height: auto; + --offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-lg .offcanvas-header { + display: none; + } + .offcanvas-lg .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +.offcanvas-xl { + position: fixed; + bottom: 0; + z-index: 1045; + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--offcanvas-color); + visibility: hidden; + background-color: white; + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; +} +.offcanvas-xl.offcanvas-start { + top: 0; + left: 0; + width: var(--offcanvas-width); + border-right: var(--offcanvas-border-width) solid var(--offcanvas-border-color); + transform: translateX(-100%); +} +.offcanvas-xl.offcanvas-end { + top: 0; + right: 0; + width: var(--offcanvas-width); + border-left: var(--offcanvas-border-width) solid var(--offcanvas-border-color); + transform: translateX(100%); +} +.offcanvas-xl.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--offcanvas-height); + max-height: 100%; + border-bottom: var(--offcanvas-border-width) solid var(--offcanvas-border-color); + transform: translateY(-100%); +} +.offcanvas-xl.offcanvas-bottom { + right: 0; + left: 0; + height: var(--offcanvas-height); + max-height: 100%; + border-top: var(--offcanvas-border-width) solid var(--offcanvas-border-color); + transform: translateY(100%); +} +.offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) { + transform: none; +} +.offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show { + visibility: visible; +} +@media (min-width: 1200px) { + .offcanvas-xl { + --offcanvas-height: auto; + --offcanvas-border-width: 0; + background-color: transparent !important; + } + .offcanvas-xl .offcanvas-header { + display: none; + } + .offcanvas-xl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +.offcanvas { + position: fixed; + bottom: 0; + z-index: 1045; + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--offcanvas-color); + visibility: hidden; + background-color: white; + background-clip: padding-box; + outline: 0; + transition: transform 0.3s ease-in-out; +} +.offcanvas.offcanvas-start { + top: 0; + left: 0; + width: var(--offcanvas-width); + border-right: var(--offcanvas-border-width) solid var(--offcanvas-border-color); + transform: translateX(-100%); +} +.offcanvas.offcanvas-end { + top: 0; + right: 0; + width: var(--offcanvas-width); + border-left: var(--offcanvas-border-width) solid var(--offcanvas-border-color); + transform: translateX(100%); +} +.offcanvas.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--offcanvas-height); + max-height: 100%; + border-bottom: var(--offcanvas-border-width) solid var(--offcanvas-border-color); + transform: translateY(-100%); +} +.offcanvas.offcanvas-bottom { + right: 0; + left: 0; + height: var(--offcanvas-height); + max-height: 100%; + border-top: var(--offcanvas-border-width) solid var(--offcanvas-border-color); + transform: translateY(100%); +} +.offcanvas.showing, .offcanvas.show:not(.hiding) { + transform: none; +} +.offcanvas.showing, .offcanvas.hiding, .offcanvas.show { + visibility: visible; +} + +.offcanvas-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: #000; +} +.offcanvas-backdrop.fade { + opacity: 0; +} +.offcanvas-backdrop.show { + opacity: 0.5; +} + +.offcanvas-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x); +} +.offcanvas-header .btn-close { + padding: calc(var(--offcanvas-padding-y) * 0.5) calc(var(--offcanvas-padding-x) * 0.5); + margin-top: calc(-0.5 * var(--offcanvas-padding-y)); + margin-right: calc(-0.5 * var(--offcanvas-padding-x)); + margin-bottom: calc(-0.5 * var(--offcanvas-padding-y)); +} + +.offcanvas-footer { + position: sticky; + bottom: 0; + top: auto; + display: flex; + align-items: center; + justify-content: space-between; + padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x); +} + +.offcanvas-title { + margin-bottom: 0; + line-height: var(--offcanvas-title-line-height); +} + +.offcanvas-body { + flex-grow: 1; + padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x); + overflow-y: auto; +} + +.page-item:not(.disabled) .page-link { + cursor: pointer; +} + +.pagination-xs .page-link { + padding: 0.125rem 0.25rem; + font-size: 0.75rem; + line-height: 1.5; +} +.pagination-xs .page-item:first-child .page-link { + border-top-left-radius: 0.15rem; + border-bottom-left-radius: 0.15rem; +} +.pagination-xs .page-item:last-child .page-link { + border-top-right-radius: 0.15rem; + border-bottom-right-radius: 0.15rem; +} + +.pagination-md .page-link { + padding: 0.625rem 1.25rem; + font-size: 1.125rem; + line-height: 1.5; +} +.pagination-md .page-item:first-child .page-link { + border-top-left-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; +} +.pagination-md .page-item:last-child .page-link { + border-top-right-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} + +.pagination-xl .page-link { + padding: 1rem 2rem; + font-size: 1.5rem; + line-height: 1.5; +} +.pagination-xl .page-item:first-child .page-link { + border-top-left-radius: 0.4rem; + border-bottom-left-radius: 0.4rem; +} +.pagination-xl .page-item:last-child .page-link { + border-top-right-radius: 0.4rem; + border-bottom-right-radius: 0.4rem; +} + +.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-primary { + background-color: #007bff; +} +.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-secondary { + background-color: #6c757d; +} +.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-success { + background-color: #28a745; +} +.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-info { + background-color: #17a2b8; +} +.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-warning { + background-color: #ffc107; +} +.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-danger { + background-color: #dc3545; +} +.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-light { + background-color: #f8f9fa; +} +.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-dark { + background-color: #343a40; +} +.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-link { + background-color: #3273dc; +} + +.rating:not(.rating-disabled):not(.rating-readonly):hover .rating-item { + cursor: pointer; +} +.rating.rating-disabled { + opacity: 0.65; +} +.rating .rating-item.rating-item-primary { + color: #007bff; +} +.rating .rating-item.rating-item-secondary { + color: #6c757d; +} +.rating .rating-item.rating-item-success { + color: #28a745; +} +.rating .rating-item.rating-item-info { + color: #17a2b8; +} +.rating .rating-item.rating-item-warning { + color: #ffc107; +} +.rating .rating-item.rating-item-danger { + color: #dc3545; +} +.rating .rating-item.rating-item-light { + color: #f8f9fa; +} +.rating .rating-item.rating-item-dark { + color: #343a40; +} +.rating .rating-item.rating-item-link { + color: #3273dc; +} +.rating .rating-item.rating-item-hover { + opacity: 0.7; +} + +.steps { + padding: 0; + margin: 0; + list-style: none; + display: flex; + overflow-x: auto; +} +.steps .step:first-child { + margin-left: auto; +} +.steps .step:last-child { + margin-right: auto; +} + +.step:first-of-type .step-circle::before { + display: none; +} +.step:last-of-type .step-container { + padding-right: 0; +} + +.step-container { + box-sizing: content-box; + display: flex; + align-items: center; + flex-direction: column; + width: 5rem; + min-width: 5rem; + max-width: 5rem; + padding-top: 0.5rem; + padding-right: 1rem; +} + +.step-circle { + position: relative; + display: flex; + justify-content: center; + align-items: center; + width: 1.5rem; + height: 1.5rem; + color: #adb5bd; + border: 2px solid #adb5bd; + border-radius: 100%; + background-color: #fff; +} +.step-circle::before { + content: ""; + display: block; + position: absolute; + top: 50%; + left: -2px; + width: calc(5rem + 1rem - 1.5rem); + height: 2px; + transform: translate(-100%, -50%); + color: #adb5bd; + background-color: currentColor; +} + +.step-text { + color: #adb5bd; + word-break: keep-all; + text-align: center; + margin-top: 0.25em; +} + +.step-completed .step-circle { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} +.step-completed .step-circle::before { + color: #28a745; +} +.step-completed .step-text { + color: #28a745; +} + +.step-active .step-circle { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} +.step-active .step-circle::before { + color: #007bff; +} +.step-active .step-text { + color: #007bff; +} + +.step-primary .step-circle { + color: #007bff; + border-color: #007bff; +} +.step-primary.step-completed .step-circle { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} +.step-primary.step-completed .step-circle::before { + color: #007bff; +} +.step-primary.step-completed .step-text { + color: #007bff; +} +.step-primary.step-active .step-circle { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} +.step-primary.step-active::before { + color: #007bff; +} +.step-primary.step-active .step-text { + color: #007bff; +} + +.step-secondary .step-circle { + color: #6c757d; + border-color: #6c757d; +} +.step-secondary.step-completed .step-circle { + color: #fff; + background-color: #6c757d; + border-color: #6c757d; +} +.step-secondary.step-completed .step-circle::before { + color: #6c757d; +} +.step-secondary.step-completed .step-text { + color: #6c757d; +} +.step-secondary.step-active .step-circle { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} +.step-secondary.step-active::before { + color: #007bff; +} +.step-secondary.step-active .step-text { + color: #007bff; +} + +.step-success .step-circle { + color: #28a745; + border-color: #28a745; +} +.step-success.step-completed .step-circle { + color: #fff; + background-color: #28a745; + border-color: #28a745; +} +.step-success.step-completed .step-circle::before { + color: #28a745; +} +.step-success.step-completed .step-text { + color: #28a745; +} +.step-success.step-active .step-circle { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} +.step-success.step-active::before { + color: #007bff; +} +.step-success.step-active .step-text { + color: #007bff; +} + +.step-info .step-circle { + color: #17a2b8; + border-color: #17a2b8; +} +.step-info.step-completed .step-circle { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} +.step-info.step-completed .step-circle::before { + color: #17a2b8; +} +.step-info.step-completed .step-text { + color: #17a2b8; +} +.step-info.step-active .step-circle { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} +.step-info.step-active::before { + color: #007bff; +} +.step-info.step-active .step-text { + color: #007bff; +} + +.step-warning .step-circle { + color: #ffc107; + border-color: #ffc107; +} +.step-warning.step-completed .step-circle { + color: #fff; + background-color: #ffc107; + border-color: #ffc107; +} +.step-warning.step-completed .step-circle::before { + color: #ffc107; +} +.step-warning.step-completed .step-text { + color: #ffc107; +} +.step-warning.step-active .step-circle { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} +.step-warning.step-active::before { + color: #007bff; +} +.step-warning.step-active .step-text { + color: #007bff; +} + +.step-danger .step-circle { + color: #dc3545; + border-color: #dc3545; +} +.step-danger.step-completed .step-circle { + color: #fff; + background-color: #dc3545; + border-color: #dc3545; +} +.step-danger.step-completed .step-circle::before { + color: #dc3545; +} +.step-danger.step-completed .step-text { + color: #dc3545; +} +.step-danger.step-active .step-circle { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} +.step-danger.step-active::before { + color: #007bff; +} +.step-danger.step-active .step-text { + color: #007bff; +} + +.step-light .step-circle { + color: #f8f9fa; + border-color: #f8f9fa; +} +.step-light.step-completed .step-circle { + color: #fff; + background-color: #f8f9fa; + border-color: #f8f9fa; +} +.step-light.step-completed .step-circle::before { + color: #f8f9fa; +} +.step-light.step-completed .step-text { + color: #f8f9fa; +} +.step-light.step-active .step-circle { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} +.step-light.step-active::before { + color: #007bff; +} +.step-light.step-active .step-text { + color: #007bff; +} + +.step-dark .step-circle { + color: #343a40; + border-color: #343a40; +} +.step-dark.step-completed .step-circle { + color: #fff; + background-color: #343a40; + border-color: #343a40; +} +.step-dark.step-completed .step-circle::before { + color: #343a40; +} +.step-dark.step-completed .step-text { + color: #343a40; +} +.step-dark.step-active .step-circle { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} +.step-dark.step-active::before { + color: #007bff; +} +.step-dark.step-active .step-text { + color: #007bff; +} + +.step-link .step-circle { + color: #3273dc; + border-color: #3273dc; +} +.step-link.step-completed .step-circle { + color: #fff; + background-color: #3273dc; + border-color: #3273dc; +} +.step-link.step-completed .step-circle::before { + color: #3273dc; +} +.step-link.step-completed .step-text { + color: #3273dc; +} +.step-link.step-active .step-circle { + color: #fff; + background-color: #007bff; + border-color: #007bff; +} +.step-link.step-active::before { + color: #007bff; +} +.step-link.step-active .step-text { + color: #007bff; +} + +.steps-content { + margin: 1rem 0; +} +.steps-content > .step-panel { + display: none; +} +.steps-content > .active { + display: block; +} + +.custom-switch .custom-control-input.custom-control-input-primary:checked ~ .custom-control-label::before { + background-color: #007bff; + border-color: #007bff; +} +.custom-switch .custom-control-input.custom-control-input-primary:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); + border-color: #007bff; +} +.custom-switch .custom-control-input:disabled.custom-control-input-primary:checked ~ .custom-control-label::before { + background-color: rgba(0, 123, 255, 0.5); +} + +.custom-switch .custom-control-input.custom-control-input-secondary:checked ~ .custom-control-label::before { + background-color: #6c757d; + border-color: #6c757d; +} +.custom-switch .custom-control-input.custom-control-input-secondary:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.25); + border-color: #6c757d; +} +.custom-switch .custom-control-input:disabled.custom-control-input-secondary:checked ~ .custom-control-label::before { + background-color: rgba(108, 117, 125, 0.5); +} + +.custom-switch .custom-control-input.custom-control-input-success:checked ~ .custom-control-label::before { + background-color: #28a745; + border-color: #28a745; +} +.custom-switch .custom-control-input.custom-control-input-success:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); + border-color: #28a745; +} +.custom-switch .custom-control-input:disabled.custom-control-input-success:checked ~ .custom-control-label::before { + background-color: rgba(40, 167, 69, 0.5); +} + +.custom-switch .custom-control-input.custom-control-input-info:checked ~ .custom-control-label::before { + background-color: #17a2b8; + border-color: #17a2b8; +} +.custom-switch .custom-control-input.custom-control-input-info:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.25); + border-color: #17a2b8; +} +.custom-switch .custom-control-input:disabled.custom-control-input-info:checked ~ .custom-control-label::before { + background-color: rgba(23, 162, 184, 0.5); +} + +.custom-switch .custom-control-input.custom-control-input-warning:checked ~ .custom-control-label::before { + background-color: #ffc107; + border-color: #ffc107; +} +.custom-switch .custom-control-input.custom-control-input-warning:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.25); + border-color: #ffc107; +} +.custom-switch .custom-control-input:disabled.custom-control-input-warning:checked ~ .custom-control-label::before { + background-color: rgba(255, 193, 7, 0.5); +} + +.custom-switch .custom-control-input.custom-control-input-danger:checked ~ .custom-control-label::before { + background-color: #dc3545; + border-color: #dc3545; +} +.custom-switch .custom-control-input.custom-control-input-danger:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); + border-color: #dc3545; +} +.custom-switch .custom-control-input:disabled.custom-control-input-danger:checked ~ .custom-control-label::before { + background-color: rgba(220, 53, 69, 0.5); +} + +.custom-switch .custom-control-input.custom-control-input-light:checked ~ .custom-control-label::before { + background-color: #f8f9fa; + border-color: #f8f9fa; +} +.custom-switch .custom-control-input.custom-control-input-light:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.25); + border-color: #f8f9fa; +} +.custom-switch .custom-control-input:disabled.custom-control-input-light:checked ~ .custom-control-label::before { + background-color: rgba(248, 249, 250, 0.5); +} + +.custom-switch .custom-control-input.custom-control-input-dark:checked ~ .custom-control-label::before { + background-color: #343a40; + border-color: #343a40; +} +.custom-switch .custom-control-input.custom-control-input-dark:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.25); + border-color: #343a40; +} +.custom-switch .custom-control-input:disabled.custom-control-input-dark:checked ~ .custom-control-label::before { + background-color: rgba(52, 58, 64, 0.5); +} + +.custom-switch .custom-control-input.custom-control-input-link:checked ~ .custom-control-label::before { + background-color: #3273dc; + border-color: #3273dc; +} +.custom-switch .custom-control-input.custom-control-input-link:focus ~ .custom-control-label::before { + box-shadow: 0 0 0 0.2rem rgba(50, 115, 220, 0.25); + border-color: #3273dc; +} +.custom-switch .custom-control-input:disabled.custom-control-input-link:checked ~ .custom-control-label::before { + background-color: rgba(50, 115, 220, 0.5); +} + +.custom-switch .custom-control-input.custom-control-input-xs + .custom-control-label { + line-height: 1rem; + vertical-align: middle; + padding-left: 0; +} +.custom-switch .custom-control-input.custom-control-input-xs + .custom-control-label::before { + height: 0.5rem; + width: calc(0.75rem + (0.5rem / 2)); + border-radius: 1rem; +} +.custom-switch .custom-control-input.custom-control-input-xs + .custom-control-label::after { + height: calc(0.5rem - 4px); + width: calc(0.5rem - 4px); + border-radius: calc(0.75rem - (0.5rem / 2)); +} +.custom-switch .custom-control-input.custom-control-input-xs:checked ~ .custom-control-label::after { + transform: translateX(calc(0.75rem - (0.5rem / 2))); +} + +.custom-switch .custom-control-input.custom-control-input-sm + .custom-control-label { + line-height: 1.25rem; + vertical-align: middle; + padding-left: 0; +} +.custom-switch .custom-control-input.custom-control-input-sm + .custom-control-label::before { + height: 0.75rem; + width: calc(1rem + (0.75rem / 2)); + border-radius: 1.5rem; +} +.custom-switch .custom-control-input.custom-control-input-sm + .custom-control-label::after { + height: calc(0.75rem - 4px); + width: calc(0.75rem - 4px); + border-radius: calc(1rem - (0.75rem / 2)); +} +.custom-switch .custom-control-input.custom-control-input-sm:checked ~ .custom-control-label::after { + transform: translateX(calc(1rem - (0.75rem / 2))); +} + +.custom-switch .custom-control-input.custom-control-input-md + .custom-control-label { + line-height: 2rem; + vertical-align: middle; + padding-left: 2rem; +} +.custom-switch .custom-control-input.custom-control-input-md + .custom-control-label::before { + height: 1.5rem; + width: calc(2rem + (1.5rem / 2)); + border-radius: 3rem; +} +.custom-switch .custom-control-input.custom-control-input-md + .custom-control-label::after { + height: calc(1.5rem - 4px); + width: calc(1.5rem - 4px); + border-radius: calc(2rem - (1.5rem / 2)); +} +.custom-switch .custom-control-input.custom-control-input-md:checked ~ .custom-control-label::after { + transform: translateX(calc(2rem - (1.5rem / 2))); +} + +.custom-switch .custom-control-input.custom-control-input-lg + .custom-control-label { + line-height: 2.5rem; + vertical-align: middle; + padding-left: 3rem; +} +.custom-switch .custom-control-input.custom-control-input-lg + .custom-control-label::before { + height: 2rem; + width: calc(3rem + (2rem / 2)); + border-radius: 4rem; +} +.custom-switch .custom-control-input.custom-control-input-lg + .custom-control-label::after { + height: calc(2rem - 4px); + width: calc(2rem - 4px); + border-radius: calc(3rem - (2rem / 2)); +} +.custom-switch .custom-control-input.custom-control-input-lg:checked ~ .custom-control-label::after { + transform: translateX(calc(3rem - (2rem / 2))); +} + +.custom-switch .custom-control-input.custom-control-input-xl + .custom-control-label { + line-height: 3rem; + vertical-align: middle; + padding-left: 4rem; +} +.custom-switch .custom-control-input.custom-control-input-xl + .custom-control-label::before { + height: 2.5rem; + width: calc(4rem + (2.5rem / 2)); + border-radius: 5rem; +} +.custom-switch .custom-control-input.custom-control-input-xl + .custom-control-label::after { + height: calc(2.5rem - 4px); + width: calc(2.5rem - 4px); + border-radius: calc(4rem - (2.5rem / 2)); +} +.custom-switch .custom-control-input.custom-control-input-xl:checked ~ .custom-control-label::after { + transform: translateX(calc(4rem - (2.5rem / 2))); +} + +table.table tbody tr:not(.table-group).selected { + background-color: var(--primary); +} +table.table tbody tr.table-group { + cursor: pointer; + background-color: var(--b-theme-light, var(--light, #f5f5f5)); + font-weight: 700; +} + +tr.table-row-selectable:hover { + cursor: pointer; +} +tr.table-row-selectable:focus[tabindex="0"] { + outline: none; +} + +.table-fixed-header { + overflow-y: auto; +} +.table-fixed-header .table { + border-collapse: separate; + border-spacing: 0; +} +.table-fixed-header .table thead:not(.table-thead-theme) th { + background: white; +} +.table-fixed-header .table thead tr th { + border-top: none; + position: sticky; + z-index: 10; +} +.table-fixed-header .table thead tr:nth-child(1) th { + top: 0; +} + +.table-fixed-columns { + width: 100%; + overflow-x: auto; + white-space: nowrap; + position: relative; +} +.table-fixed-columns .table { + table-layout: fixed; + overflow-x: auto; + white-space: nowrap; + border-collapse: separate; + border-spacing: 0; + border: 0; +} +.table-fixed-columns .table .table-header-cell-fixed-start, +.table-fixed-columns .table .table-row-header-fixed-start, +.table-fixed-columns .table .table-row-cell-fixed-start { + position: sticky; + border-left: none; + z-index: 11; + background-color: white; + border-inline-start-width: 0; + left: 0; +} +.table-fixed-columns .table .table-header-cell-fixed-end, +.table-fixed-columns .table .table-row-header-fixed-end, +.table-fixed-columns .table .table-row-cell-fixed-end { + position: sticky; + border-left: none; + z-index: 11; + background-color: white; + border-inline-start-width: 0; + right: 0; +} + +.snackbar-stack { + z-index: 1009 !important; +} + +.snackbar { + z-index: 1060 !important; +} + +@keyframes fadeIn { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } + 0% { + opacity: 0; + } +} +@keyframes slideIn { + 0% { + transform: translateY(1rem); + opacity: 0; + } + 100% { + transform: translateY(0rem); + opacity: 1; + } + 0% { + transform: translateY(1rem); + opacity: 0; + } +} +.border-1 { + border: 1px solid #dee2e6 !important; +} +.border-1.border-primary { + border-color: #007bff !important; +} +.border-1.border-secondary { + border-color: #6c757d !important; +} +.border-1.border-success { + border-color: #28a745 !important; +} +.border-1.border-info { + border-color: #17a2b8 !important; +} +.border-1.border-warning { + border-color: #ffc107 !important; +} +.border-1.border-danger { + border-color: #dc3545 !important; +} +.border-1.border-light { + border-color: #f8f9fa !important; +} +.border-1.border-dark { + border-color: #343a40 !important; +} +.border-1.border-link { + border-color: #3273dc !important; +} + +.border-primary-1 { + border: 1px solid #007bff !important; +} + +.border-secondary-1 { + border: 1px solid #6c757d !important; +} + +.border-success-1 { + border: 1px solid #28a745 !important; +} + +.border-info-1 { + border: 1px solid #17a2b8 !important; +} + +.border-warning-1 { + border: 1px solid #ffc107 !important; +} + +.border-danger-1 { + border: 1px solid #dc3545 !important; +} + +.border-light-1 { + border: 1px solid #f8f9fa !important; +} + +.border-dark-1 { + border: 1px solid #343a40 !important; +} + +.border-link-1 { + border: 1px solid #3273dc !important; +} + +.border-top-1 { + border-top: 1px solid #dee2e6 !important; +} + +.border-primary-top-1 { + border-top: 1px solid #007bff !important; +} + +.border-secondary-top-1 { + border-top: 1px solid #6c757d !important; +} + +.border-success-top-1 { + border-top: 1px solid #28a745 !important; +} + +.border-info-top-1 { + border-top: 1px solid #17a2b8 !important; +} + +.border-warning-top-1 { + border-top: 1px solid #ffc107 !important; +} + +.border-danger-top-1 { + border-top: 1px solid #dc3545 !important; +} + +.border-light-top-1 { + border-top: 1px solid #f8f9fa !important; +} + +.border-dark-top-1 { + border-top: 1px solid #343a40 !important; +} + +.border-link-top-1 { + border-top: 1px solid #3273dc !important; +} + +.border-right-1 { + border-right: 1px solid #dee2e6 !important; +} + +.border-primary-right-1 { + border-right: 1px solid #007bff !important; +} + +.border-secondary-right-1 { + border-right: 1px solid #6c757d !important; +} + +.border-success-right-1 { + border-right: 1px solid #28a745 !important; +} + +.border-info-right-1 { + border-right: 1px solid #17a2b8 !important; +} + +.border-warning-right-1 { + border-right: 1px solid #ffc107 !important; +} + +.border-danger-right-1 { + border-right: 1px solid #dc3545 !important; +} + +.border-light-right-1 { + border-right: 1px solid #f8f9fa !important; +} + +.border-dark-right-1 { + border-right: 1px solid #343a40 !important; +} + +.border-link-right-1 { + border-right: 1px solid #3273dc !important; +} + +.border-bottom-1 { + border-bottom: 1px solid #dee2e6 !important; +} + +.border-primary-bottom-1 { + border-bottom: 1px solid #007bff !important; +} + +.border-secondary-bottom-1 { + border-bottom: 1px solid #6c757d !important; +} + +.border-success-bottom-1 { + border-bottom: 1px solid #28a745 !important; +} + +.border-info-bottom-1 { + border-bottom: 1px solid #17a2b8 !important; +} + +.border-warning-bottom-1 { + border-bottom: 1px solid #ffc107 !important; +} + +.border-danger-bottom-1 { + border-bottom: 1px solid #dc3545 !important; +} + +.border-light-bottom-1 { + border-bottom: 1px solid #f8f9fa !important; +} + +.border-dark-bottom-1 { + border-bottom: 1px solid #343a40 !important; +} + +.border-link-bottom-1 { + border-bottom: 1px solid #3273dc !important; +} + +.border-left-1 { + border-left: 1px solid #dee2e6 !important; +} + +.border-primary-left-1 { + border-left: 1px solid #007bff !important; +} + +.border-secondary-left-1 { + border-left: 1px solid #6c757d !important; +} + +.border-success-left-1 { + border-left: 1px solid #28a745 !important; +} + +.border-info-left-1 { + border-left: 1px solid #17a2b8 !important; +} + +.border-warning-left-1 { + border-left: 1px solid #ffc107 !important; +} + +.border-danger-left-1 { + border-left: 1px solid #dc3545 !important; +} + +.border-light-left-1 { + border-left: 1px solid #f8f9fa !important; +} + +.border-dark-left-1 { + border-left: 1px solid #343a40 !important; +} + +.border-link-left-1 { + border-left: 1px solid #3273dc !important; +} + +.border-2 { + border: 2px solid #dee2e6 !important; +} +.border-2.border-primary { + border-color: #007bff !important; +} +.border-2.border-secondary { + border-color: #6c757d !important; +} +.border-2.border-success { + border-color: #28a745 !important; +} +.border-2.border-info { + border-color: #17a2b8 !important; +} +.border-2.border-warning { + border-color: #ffc107 !important; +} +.border-2.border-danger { + border-color: #dc3545 !important; +} +.border-2.border-light { + border-color: #f8f9fa !important; +} +.border-2.border-dark { + border-color: #343a40 !important; +} +.border-2.border-link { + border-color: #3273dc !important; +} + +.border-primary-2 { + border: 2px solid #007bff !important; +} + +.border-secondary-2 { + border: 2px solid #6c757d !important; +} + +.border-success-2 { + border: 2px solid #28a745 !important; +} + +.border-info-2 { + border: 2px solid #17a2b8 !important; +} + +.border-warning-2 { + border: 2px solid #ffc107 !important; +} + +.border-danger-2 { + border: 2px solid #dc3545 !important; +} + +.border-light-2 { + border: 2px solid #f8f9fa !important; +} + +.border-dark-2 { + border: 2px solid #343a40 !important; +} + +.border-link-2 { + border: 2px solid #3273dc !important; +} + +.border-top-2 { + border-top: 2px solid #dee2e6 !important; +} + +.border-primary-top-2 { + border-top: 2px solid #007bff !important; +} + +.border-secondary-top-2 { + border-top: 2px solid #6c757d !important; +} + +.border-success-top-2 { + border-top: 2px solid #28a745 !important; +} + +.border-info-top-2 { + border-top: 2px solid #17a2b8 !important; +} + +.border-warning-top-2 { + border-top: 2px solid #ffc107 !important; +} + +.border-danger-top-2 { + border-top: 2px solid #dc3545 !important; +} + +.border-light-top-2 { + border-top: 2px solid #f8f9fa !important; +} + +.border-dark-top-2 { + border-top: 2px solid #343a40 !important; +} + +.border-link-top-2 { + border-top: 2px solid #3273dc !important; +} + +.border-right-2 { + border-right: 2px solid #dee2e6 !important; +} + +.border-primary-right-2 { + border-right: 2px solid #007bff !important; +} + +.border-secondary-right-2 { + border-right: 2px solid #6c757d !important; +} + +.border-success-right-2 { + border-right: 2px solid #28a745 !important; +} + +.border-info-right-2 { + border-right: 2px solid #17a2b8 !important; +} + +.border-warning-right-2 { + border-right: 2px solid #ffc107 !important; +} + +.border-danger-right-2 { + border-right: 2px solid #dc3545 !important; +} + +.border-light-right-2 { + border-right: 2px solid #f8f9fa !important; +} + +.border-dark-right-2 { + border-right: 2px solid #343a40 !important; +} + +.border-link-right-2 { + border-right: 2px solid #3273dc !important; +} + +.border-bottom-2 { + border-bottom: 2px solid #dee2e6 !important; +} + +.border-primary-bottom-2 { + border-bottom: 2px solid #007bff !important; +} + +.border-secondary-bottom-2 { + border-bottom: 2px solid #6c757d !important; +} + +.border-success-bottom-2 { + border-bottom: 2px solid #28a745 !important; +} + +.border-info-bottom-2 { + border-bottom: 2px solid #17a2b8 !important; +} + +.border-warning-bottom-2 { + border-bottom: 2px solid #ffc107 !important; +} + +.border-danger-bottom-2 { + border-bottom: 2px solid #dc3545 !important; +} + +.border-light-bottom-2 { + border-bottom: 2px solid #f8f9fa !important; +} + +.border-dark-bottom-2 { + border-bottom: 2px solid #343a40 !important; +} + +.border-link-bottom-2 { + border-bottom: 2px solid #3273dc !important; +} + +.border-left-2 { + border-left: 2px solid #dee2e6 !important; +} + +.border-primary-left-2 { + border-left: 2px solid #007bff !important; +} + +.border-secondary-left-2 { + border-left: 2px solid #6c757d !important; +} + +.border-success-left-2 { + border-left: 2px solid #28a745 !important; +} + +.border-info-left-2 { + border-left: 2px solid #17a2b8 !important; +} + +.border-warning-left-2 { + border-left: 2px solid #ffc107 !important; +} + +.border-danger-left-2 { + border-left: 2px solid #dc3545 !important; +} + +.border-light-left-2 { + border-left: 2px solid #f8f9fa !important; +} + +.border-dark-left-2 { + border-left: 2px solid #343a40 !important; +} + +.border-link-left-2 { + border-left: 2px solid #3273dc !important; +} + +.border-3 { + border: 3px solid #dee2e6 !important; +} +.border-3.border-primary { + border-color: #007bff !important; +} +.border-3.border-secondary { + border-color: #6c757d !important; +} +.border-3.border-success { + border-color: #28a745 !important; +} +.border-3.border-info { + border-color: #17a2b8 !important; +} +.border-3.border-warning { + border-color: #ffc107 !important; +} +.border-3.border-danger { + border-color: #dc3545 !important; +} +.border-3.border-light { + border-color: #f8f9fa !important; +} +.border-3.border-dark { + border-color: #343a40 !important; +} +.border-3.border-link { + border-color: #3273dc !important; +} + +.border-primary-3 { + border: 3px solid #007bff !important; +} + +.border-secondary-3 { + border: 3px solid #6c757d !important; +} + +.border-success-3 { + border: 3px solid #28a745 !important; +} + +.border-info-3 { + border: 3px solid #17a2b8 !important; +} + +.border-warning-3 { + border: 3px solid #ffc107 !important; +} + +.border-danger-3 { + border: 3px solid #dc3545 !important; +} + +.border-light-3 { + border: 3px solid #f8f9fa !important; +} + +.border-dark-3 { + border: 3px solid #343a40 !important; +} + +.border-link-3 { + border: 3px solid #3273dc !important; +} + +.border-top-3 { + border-top: 3px solid #dee2e6 !important; +} + +.border-primary-top-3 { + border-top: 3px solid #007bff !important; +} + +.border-secondary-top-3 { + border-top: 3px solid #6c757d !important; +} + +.border-success-top-3 { + border-top: 3px solid #28a745 !important; +} + +.border-info-top-3 { + border-top: 3px solid #17a2b8 !important; +} + +.border-warning-top-3 { + border-top: 3px solid #ffc107 !important; +} + +.border-danger-top-3 { + border-top: 3px solid #dc3545 !important; +} + +.border-light-top-3 { + border-top: 3px solid #f8f9fa !important; +} + +.border-dark-top-3 { + border-top: 3px solid #343a40 !important; +} + +.border-link-top-3 { + border-top: 3px solid #3273dc !important; +} + +.border-right-3 { + border-right: 3px solid #dee2e6 !important; +} + +.border-primary-right-3 { + border-right: 3px solid #007bff !important; +} + +.border-secondary-right-3 { + border-right: 3px solid #6c757d !important; +} + +.border-success-right-3 { + border-right: 3px solid #28a745 !important; +} + +.border-info-right-3 { + border-right: 3px solid #17a2b8 !important; +} + +.border-warning-right-3 { + border-right: 3px solid #ffc107 !important; +} + +.border-danger-right-3 { + border-right: 3px solid #dc3545 !important; +} + +.border-light-right-3 { + border-right: 3px solid #f8f9fa !important; +} + +.border-dark-right-3 { + border-right: 3px solid #343a40 !important; +} + +.border-link-right-3 { + border-right: 3px solid #3273dc !important; +} + +.border-bottom-3 { + border-bottom: 3px solid #dee2e6 !important; +} + +.border-primary-bottom-3 { + border-bottom: 3px solid #007bff !important; +} + +.border-secondary-bottom-3 { + border-bottom: 3px solid #6c757d !important; +} + +.border-success-bottom-3 { + border-bottom: 3px solid #28a745 !important; +} + +.border-info-bottom-3 { + border-bottom: 3px solid #17a2b8 !important; +} + +.border-warning-bottom-3 { + border-bottom: 3px solid #ffc107 !important; +} + +.border-danger-bottom-3 { + border-bottom: 3px solid #dc3545 !important; +} + +.border-light-bottom-3 { + border-bottom: 3px solid #f8f9fa !important; +} + +.border-dark-bottom-3 { + border-bottom: 3px solid #343a40 !important; +} + +.border-link-bottom-3 { + border-bottom: 3px solid #3273dc !important; +} + +.border-left-3 { + border-left: 3px solid #dee2e6 !important; +} + +.border-primary-left-3 { + border-left: 3px solid #007bff !important; +} + +.border-secondary-left-3 { + border-left: 3px solid #6c757d !important; +} + +.border-success-left-3 { + border-left: 3px solid #28a745 !important; +} + +.border-info-left-3 { + border-left: 3px solid #17a2b8 !important; +} + +.border-warning-left-3 { + border-left: 3px solid #ffc107 !important; +} + +.border-danger-left-3 { + border-left: 3px solid #dc3545 !important; +} + +.border-light-left-3 { + border-left: 3px solid #f8f9fa !important; +} + +.border-dark-left-3 { + border-left: 3px solid #343a40 !important; +} + +.border-link-left-3 { + border-left: 3px solid #3273dc !important; +} + +.border-4 { + border: 4px solid #dee2e6 !important; +} +.border-4.border-primary { + border-color: #007bff !important; +} +.border-4.border-secondary { + border-color: #6c757d !important; +} +.border-4.border-success { + border-color: #28a745 !important; +} +.border-4.border-info { + border-color: #17a2b8 !important; +} +.border-4.border-warning { + border-color: #ffc107 !important; +} +.border-4.border-danger { + border-color: #dc3545 !important; +} +.border-4.border-light { + border-color: #f8f9fa !important; +} +.border-4.border-dark { + border-color: #343a40 !important; +} +.border-4.border-link { + border-color: #3273dc !important; +} + +.border-primary-4 { + border: 4px solid #007bff !important; +} + +.border-secondary-4 { + border: 4px solid #6c757d !important; +} + +.border-success-4 { + border: 4px solid #28a745 !important; +} + +.border-info-4 { + border: 4px solid #17a2b8 !important; +} + +.border-warning-4 { + border: 4px solid #ffc107 !important; +} + +.border-danger-4 { + border: 4px solid #dc3545 !important; +} + +.border-light-4 { + border: 4px solid #f8f9fa !important; +} + +.border-dark-4 { + border: 4px solid #343a40 !important; +} + +.border-link-4 { + border: 4px solid #3273dc !important; +} + +.border-top-4 { + border-top: 4px solid #dee2e6 !important; +} + +.border-primary-top-4 { + border-top: 4px solid #007bff !important; +} + +.border-secondary-top-4 { + border-top: 4px solid #6c757d !important; +} + +.border-success-top-4 { + border-top: 4px solid #28a745 !important; +} + +.border-info-top-4 { + border-top: 4px solid #17a2b8 !important; +} + +.border-warning-top-4 { + border-top: 4px solid #ffc107 !important; +} + +.border-danger-top-4 { + border-top: 4px solid #dc3545 !important; +} + +.border-light-top-4 { + border-top: 4px solid #f8f9fa !important; +} + +.border-dark-top-4 { + border-top: 4px solid #343a40 !important; +} + +.border-link-top-4 { + border-top: 4px solid #3273dc !important; +} + +.border-right-4 { + border-right: 4px solid #dee2e6 !important; +} + +.border-primary-right-4 { + border-right: 4px solid #007bff !important; +} + +.border-secondary-right-4 { + border-right: 4px solid #6c757d !important; +} + +.border-success-right-4 { + border-right: 4px solid #28a745 !important; +} + +.border-info-right-4 { + border-right: 4px solid #17a2b8 !important; +} + +.border-warning-right-4 { + border-right: 4px solid #ffc107 !important; +} + +.border-danger-right-4 { + border-right: 4px solid #dc3545 !important; +} + +.border-light-right-4 { + border-right: 4px solid #f8f9fa !important; +} + +.border-dark-right-4 { + border-right: 4px solid #343a40 !important; +} + +.border-link-right-4 { + border-right: 4px solid #3273dc !important; +} + +.border-bottom-4 { + border-bottom: 4px solid #dee2e6 !important; +} + +.border-primary-bottom-4 { + border-bottom: 4px solid #007bff !important; +} + +.border-secondary-bottom-4 { + border-bottom: 4px solid #6c757d !important; +} + +.border-success-bottom-4 { + border-bottom: 4px solid #28a745 !important; +} + +.border-info-bottom-4 { + border-bottom: 4px solid #17a2b8 !important; +} + +.border-warning-bottom-4 { + border-bottom: 4px solid #ffc107 !important; +} + +.border-danger-bottom-4 { + border-bottom: 4px solid #dc3545 !important; +} + +.border-light-bottom-4 { + border-bottom: 4px solid #f8f9fa !important; +} + +.border-dark-bottom-4 { + border-bottom: 4px solid #343a40 !important; +} + +.border-link-bottom-4 { + border-bottom: 4px solid #3273dc !important; +} + +.border-left-4 { + border-left: 4px solid #dee2e6 !important; +} + +.border-primary-left-4 { + border-left: 4px solid #007bff !important; +} + +.border-secondary-left-4 { + border-left: 4px solid #6c757d !important; +} + +.border-success-left-4 { + border-left: 4px solid #28a745 !important; +} + +.border-info-left-4 { + border-left: 4px solid #17a2b8 !important; +} + +.border-warning-left-4 { + border-left: 4px solid #ffc107 !important; +} + +.border-danger-left-4 { + border-left: 4px solid #dc3545 !important; +} + +.border-light-left-4 { + border-left: 4px solid #f8f9fa !important; +} + +.border-dark-left-4 { + border-left: 4px solid #343a40 !important; +} + +.border-link-left-4 { + border-left: 4px solid #3273dc !important; +} + +.border-5 { + border: 5px solid #dee2e6 !important; +} +.border-5.border-primary { + border-color: #007bff !important; +} +.border-5.border-secondary { + border-color: #6c757d !important; +} +.border-5.border-success { + border-color: #28a745 !important; +} +.border-5.border-info { + border-color: #17a2b8 !important; +} +.border-5.border-warning { + border-color: #ffc107 !important; +} +.border-5.border-danger { + border-color: #dc3545 !important; +} +.border-5.border-light { + border-color: #f8f9fa !important; +} +.border-5.border-dark { + border-color: #343a40 !important; +} +.border-5.border-link { + border-color: #3273dc !important; +} + +.border-primary-5 { + border: 5px solid #007bff !important; +} + +.border-secondary-5 { + border: 5px solid #6c757d !important; +} + +.border-success-5 { + border: 5px solid #28a745 !important; +} + +.border-info-5 { + border: 5px solid #17a2b8 !important; +} + +.border-warning-5 { + border: 5px solid #ffc107 !important; +} + +.border-danger-5 { + border: 5px solid #dc3545 !important; +} + +.border-light-5 { + border: 5px solid #f8f9fa !important; +} + +.border-dark-5 { + border: 5px solid #343a40 !important; +} + +.border-link-5 { + border: 5px solid #3273dc !important; +} + +.border-top-5 { + border-top: 5px solid #dee2e6 !important; +} + +.border-primary-top-5 { + border-top: 5px solid #007bff !important; +} + +.border-secondary-top-5 { + border-top: 5px solid #6c757d !important; +} + +.border-success-top-5 { + border-top: 5px solid #28a745 !important; +} + +.border-info-top-5 { + border-top: 5px solid #17a2b8 !important; +} + +.border-warning-top-5 { + border-top: 5px solid #ffc107 !important; +} + +.border-danger-top-5 { + border-top: 5px solid #dc3545 !important; +} + +.border-light-top-5 { + border-top: 5px solid #f8f9fa !important; +} + +.border-dark-top-5 { + border-top: 5px solid #343a40 !important; +} + +.border-link-top-5 { + border-top: 5px solid #3273dc !important; +} + +.border-right-5 { + border-right: 5px solid #dee2e6 !important; +} + +.border-primary-right-5 { + border-right: 5px solid #007bff !important; +} + +.border-secondary-right-5 { + border-right: 5px solid #6c757d !important; +} + +.border-success-right-5 { + border-right: 5px solid #28a745 !important; +} + +.border-info-right-5 { + border-right: 5px solid #17a2b8 !important; +} + +.border-warning-right-5 { + border-right: 5px solid #ffc107 !important; +} + +.border-danger-right-5 { + border-right: 5px solid #dc3545 !important; +} + +.border-light-right-5 { + border-right: 5px solid #f8f9fa !important; +} + +.border-dark-right-5 { + border-right: 5px solid #343a40 !important; +} + +.border-link-right-5 { + border-right: 5px solid #3273dc !important; +} + +.border-bottom-5 { + border-bottom: 5px solid #dee2e6 !important; +} + +.border-primary-bottom-5 { + border-bottom: 5px solid #007bff !important; +} + +.border-secondary-bottom-5 { + border-bottom: 5px solid #6c757d !important; +} + +.border-success-bottom-5 { + border-bottom: 5px solid #28a745 !important; +} + +.border-info-bottom-5 { + border-bottom: 5px solid #17a2b8 !important; +} + +.border-warning-bottom-5 { + border-bottom: 5px solid #ffc107 !important; +} + +.border-danger-bottom-5 { + border-bottom: 5px solid #dc3545 !important; +} + +.border-light-bottom-5 { + border-bottom: 5px solid #f8f9fa !important; +} + +.border-dark-bottom-5 { + border-bottom: 5px solid #343a40 !important; +} + +.border-link-bottom-5 { + border-bottom: 5px solid #3273dc !important; +} + +.border-left-5 { + border-left: 5px solid #dee2e6 !important; +} + +.border-primary-left-5 { + border-left: 5px solid #007bff !important; +} + +.border-secondary-left-5 { + border-left: 5px solid #6c757d !important; +} + +.border-success-left-5 { + border-left: 5px solid #28a745 !important; +} + +.border-info-left-5 { + border-left: 5px solid #17a2b8 !important; +} + +.border-warning-left-5 { + border-left: 5px solid #ffc107 !important; +} + +.border-danger-left-5 { + border-left: 5px solid #dc3545 !important; +} + +.border-light-left-5 { + border-left: 5px solid #f8f9fa !important; +} + +.border-dark-left-5 { + border-left: 5px solid #343a40 !important; +} + +.border-link-left-5 { + border-left: 5px solid #3273dc !important; +} + +.cursor-pointer { + cursor: pointer; +} + +.grid { + display: grid; + grid-template-rows: repeat(1, 1fr); + grid-template-columns: repeat(12, 1fr); + gap: 1.5rem; +} +.grid.g-rows-1 { + grid-template-rows: repeat(1, minmax(0, 1fr)); +} +.grid.g-rows-2 { + grid-template-rows: repeat(2, minmax(0, 1fr)); +} +.grid.g-rows-3 { + grid-template-rows: repeat(3, minmax(0, 1fr)); +} +.grid.g-rows-4 { + grid-template-rows: repeat(4, minmax(0, 1fr)); +} +.grid.g-rows-5 { + grid-template-rows: repeat(5, minmax(0, 1fr)); +} +.grid.g-rows-6 { + grid-template-rows: repeat(6, minmax(0, 1fr)); +} +.grid.g-cols-1 { + grid-template-columns: repeat(1, minmax(0, 1fr)); +} +.grid.g-cols-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); +} +.grid.g-cols-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)); +} +.grid.g-cols-4 { + grid-template-columns: repeat(4, minmax(0, 1fr)); +} +.grid.g-cols-5 { + grid-template-columns: repeat(5, minmax(0, 1fr)); +} +.grid.g-cols-6 { + grid-template-columns: repeat(6, minmax(0, 1fr)); +} +.grid.g-cols-7 { + grid-template-columns: repeat(7, minmax(0, 1fr)); +} +.grid.g-cols-8 { + grid-template-columns: repeat(8, minmax(0, 1fr)); +} +.grid.g-cols-9 { + grid-template-columns: repeat(9, minmax(0, 1fr)); +} +.grid.g-cols-10 { + grid-template-columns: repeat(10, minmax(0, 1fr)); +} +.grid.g-cols-11 { + grid-template-columns: repeat(11, minmax(0, 1fr)); +} +.grid.g-cols-12 { + grid-template-columns: repeat(12, minmax(0, 1fr)); +} +@media (min-width: 576px) { + .grid.g-rows-sm-1 { + grid-template-rows: repeat(1, minmax(0, 1fr)); + } + .grid.g-rows-sm-2 { + grid-template-rows: repeat(2, minmax(0, 1fr)); + } + .grid.g-rows-sm-3 { + grid-template-rows: repeat(3, minmax(0, 1fr)); + } + .grid.g-rows-sm-4 { + grid-template-rows: repeat(4, minmax(0, 1fr)); + } + .grid.g-rows-sm-5 { + grid-template-rows: repeat(5, minmax(0, 1fr)); + } + .grid.g-rows-sm-6 { + grid-template-rows: repeat(6, minmax(0, 1fr)); + } + .grid.g-cols-sm-1 { + grid-template-columns: repeat(1, minmax(0, 1fr)); + } + .grid.g-cols-sm-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + .grid.g-cols-sm-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)); + } + .grid.g-cols-sm-4 { + grid-template-columns: repeat(4, minmax(0, 1fr)); + } + .grid.g-cols-sm-5 { + grid-template-columns: repeat(5, minmax(0, 1fr)); + } + .grid.g-cols-sm-6 { + grid-template-columns: repeat(6, minmax(0, 1fr)); + } + .grid.g-cols-sm-7 { + grid-template-columns: repeat(7, minmax(0, 1fr)); + } + .grid.g-cols-sm-8 { + grid-template-columns: repeat(8, minmax(0, 1fr)); + } + .grid.g-cols-sm-9 { + grid-template-columns: repeat(9, minmax(0, 1fr)); + } + .grid.g-cols-sm-10 { + grid-template-columns: repeat(10, minmax(0, 1fr)); + } + .grid.g-cols-sm-11 { + grid-template-columns: repeat(11, minmax(0, 1fr)); + } + .grid.g-cols-sm-12 { + grid-template-columns: repeat(12, minmax(0, 1fr)); + } +} +@media (min-width: 768px) { + .grid.g-rows-md-1 { + grid-template-rows: repeat(1, minmax(0, 1fr)); + } + .grid.g-rows-md-2 { + grid-template-rows: repeat(2, minmax(0, 1fr)); + } + .grid.g-rows-md-3 { + grid-template-rows: repeat(3, minmax(0, 1fr)); + } + .grid.g-rows-md-4 { + grid-template-rows: repeat(4, minmax(0, 1fr)); + } + .grid.g-rows-md-5 { + grid-template-rows: repeat(5, minmax(0, 1fr)); + } + .grid.g-rows-md-6 { + grid-template-rows: repeat(6, minmax(0, 1fr)); + } + .grid.g-cols-md-1 { + grid-template-columns: repeat(1, minmax(0, 1fr)); + } + .grid.g-cols-md-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + .grid.g-cols-md-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)); + } + .grid.g-cols-md-4 { + grid-template-columns: repeat(4, minmax(0, 1fr)); + } + .grid.g-cols-md-5 { + grid-template-columns: repeat(5, minmax(0, 1fr)); + } + .grid.g-cols-md-6 { + grid-template-columns: repeat(6, minmax(0, 1fr)); + } + .grid.g-cols-md-7 { + grid-template-columns: repeat(7, minmax(0, 1fr)); + } + .grid.g-cols-md-8 { + grid-template-columns: repeat(8, minmax(0, 1fr)); + } + .grid.g-cols-md-9 { + grid-template-columns: repeat(9, minmax(0, 1fr)); + } + .grid.g-cols-md-10 { + grid-template-columns: repeat(10, minmax(0, 1fr)); + } + .grid.g-cols-md-11 { + grid-template-columns: repeat(11, minmax(0, 1fr)); + } + .grid.g-cols-md-12 { + grid-template-columns: repeat(12, minmax(0, 1fr)); + } +} +@media (min-width: 992px) { + .grid.g-rows-lg-1 { + grid-template-rows: repeat(1, minmax(0, 1fr)); + } + .grid.g-rows-lg-2 { + grid-template-rows: repeat(2, minmax(0, 1fr)); + } + .grid.g-rows-lg-3 { + grid-template-rows: repeat(3, minmax(0, 1fr)); + } + .grid.g-rows-lg-4 { + grid-template-rows: repeat(4, minmax(0, 1fr)); + } + .grid.g-rows-lg-5 { + grid-template-rows: repeat(5, minmax(0, 1fr)); + } + .grid.g-rows-lg-6 { + grid-template-rows: repeat(6, minmax(0, 1fr)); + } + .grid.g-cols-lg-1 { + grid-template-columns: repeat(1, minmax(0, 1fr)); + } + .grid.g-cols-lg-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + .grid.g-cols-lg-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)); + } + .grid.g-cols-lg-4 { + grid-template-columns: repeat(4, minmax(0, 1fr)); + } + .grid.g-cols-lg-5 { + grid-template-columns: repeat(5, minmax(0, 1fr)); + } + .grid.g-cols-lg-6 { + grid-template-columns: repeat(6, minmax(0, 1fr)); + } + .grid.g-cols-lg-7 { + grid-template-columns: repeat(7, minmax(0, 1fr)); + } + .grid.g-cols-lg-8 { + grid-template-columns: repeat(8, minmax(0, 1fr)); + } + .grid.g-cols-lg-9 { + grid-template-columns: repeat(9, minmax(0, 1fr)); + } + .grid.g-cols-lg-10 { + grid-template-columns: repeat(10, minmax(0, 1fr)); + } + .grid.g-cols-lg-11 { + grid-template-columns: repeat(11, minmax(0, 1fr)); + } + .grid.g-cols-lg-12 { + grid-template-columns: repeat(12, minmax(0, 1fr)); + } +} +@media (min-width: 1200px) { + .grid.g-rows-xl-1 { + grid-template-rows: repeat(1, minmax(0, 1fr)); + } + .grid.g-rows-xl-2 { + grid-template-rows: repeat(2, minmax(0, 1fr)); + } + .grid.g-rows-xl-3 { + grid-template-rows: repeat(3, minmax(0, 1fr)); + } + .grid.g-rows-xl-4 { + grid-template-rows: repeat(4, minmax(0, 1fr)); + } + .grid.g-rows-xl-5 { + grid-template-rows: repeat(5, minmax(0, 1fr)); + } + .grid.g-rows-xl-6 { + grid-template-rows: repeat(6, minmax(0, 1fr)); + } + .grid.g-cols-xl-1 { + grid-template-columns: repeat(1, minmax(0, 1fr)); + } + .grid.g-cols-xl-2 { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + .grid.g-cols-xl-3 { + grid-template-columns: repeat(3, minmax(0, 1fr)); + } + .grid.g-cols-xl-4 { + grid-template-columns: repeat(4, minmax(0, 1fr)); + } + .grid.g-cols-xl-5 { + grid-template-columns: repeat(5, minmax(0, 1fr)); + } + .grid.g-cols-xl-6 { + grid-template-columns: repeat(6, minmax(0, 1fr)); + } + .grid.g-cols-xl-7 { + grid-template-columns: repeat(7, minmax(0, 1fr)); + } + .grid.g-cols-xl-8 { + grid-template-columns: repeat(8, minmax(0, 1fr)); + } + .grid.g-cols-xl-9 { + grid-template-columns: repeat(9, minmax(0, 1fr)); + } + .grid.g-cols-xl-10 { + grid-template-columns: repeat(10, minmax(0, 1fr)); + } + .grid.g-cols-xl-11 { + grid-template-columns: repeat(11, minmax(0, 1fr)); + } + .grid.g-cols-xl-12 { + grid-template-columns: repeat(12, minmax(0, 1fr)); + } +} +.grid .g-col-1 { + grid-column: auto/span 1; +} +.grid .g-col-2 { + grid-column: auto/span 2; +} +.grid .g-col-3 { + grid-column: auto/span 3; +} +.grid .g-col-4 { + grid-column: auto/span 4; +} +.grid .g-col-5 { + grid-column: auto/span 5; +} +.grid .g-col-6 { + grid-column: auto/span 6; +} +.grid .g-col-7 { + grid-column: auto/span 7; +} +.grid .g-col-8 { + grid-column: auto/span 8; +} +.grid .g-col-9 { + grid-column: auto/span 9; +} +.grid .g-col-10 { + grid-column: auto/span 10; +} +.grid .g-col-11 { + grid-column: auto/span 11; +} +.grid .g-col-12 { + grid-column: auto/span 12; +} +@media (min-width: 576px) { + .grid .g-col-sm-1 { + grid-column: auto/span 1; + } + .grid .g-col-sm-2 { + grid-column: auto/span 2; + } + .grid .g-col-sm-3 { + grid-column: auto/span 3; + } + .grid .g-col-sm-4 { + grid-column: auto/span 4; + } + .grid .g-col-sm-5 { + grid-column: auto/span 5; + } + .grid .g-col-sm-6 { + grid-column: auto/span 6; + } + .grid .g-col-sm-7 { + grid-column: auto/span 7; + } + .grid .g-col-sm-8 { + grid-column: auto/span 8; + } + .grid .g-col-sm-9 { + grid-column: auto/span 9; + } + .grid .g-col-sm-10 { + grid-column: auto/span 10; + } + .grid .g-col-sm-11 { + grid-column: auto/span 11; + } + .grid .g-col-sm-12 { + grid-column: auto/span 12; + } +} +@media (min-width: 768px) { + .grid .g-col-md-1 { + grid-column: auto/span 1; + } + .grid .g-col-md-2 { + grid-column: auto/span 2; + } + .grid .g-col-md-3 { + grid-column: auto/span 3; + } + .grid .g-col-md-4 { + grid-column: auto/span 4; + } + .grid .g-col-md-5 { + grid-column: auto/span 5; + } + .grid .g-col-md-6 { + grid-column: auto/span 6; + } + .grid .g-col-md-7 { + grid-column: auto/span 7; + } + .grid .g-col-md-8 { + grid-column: auto/span 8; + } + .grid .g-col-md-9 { + grid-column: auto/span 9; + } + .grid .g-col-md-10 { + grid-column: auto/span 10; + } + .grid .g-col-md-11 { + grid-column: auto/span 11; + } + .grid .g-col-md-12 { + grid-column: auto/span 12; + } +} +@media (min-width: 992px) { + .grid .g-col-lg-1 { + grid-column: auto/span 1; + } + .grid .g-col-lg-2 { + grid-column: auto/span 2; + } + .grid .g-col-lg-3 { + grid-column: auto/span 3; + } + .grid .g-col-lg-4 { + grid-column: auto/span 4; + } + .grid .g-col-lg-5 { + grid-column: auto/span 5; + } + .grid .g-col-lg-6 { + grid-column: auto/span 6; + } + .grid .g-col-lg-7 { + grid-column: auto/span 7; + } + .grid .g-col-lg-8 { + grid-column: auto/span 8; + } + .grid .g-col-lg-9 { + grid-column: auto/span 9; + } + .grid .g-col-lg-10 { + grid-column: auto/span 10; + } + .grid .g-col-lg-11 { + grid-column: auto/span 11; + } + .grid .g-col-lg-12 { + grid-column: auto/span 12; + } +} +@media (min-width: 1200px) { + .grid .g-col-xl-1 { + grid-column: auto/span 1; + } + .grid .g-col-xl-2 { + grid-column: auto/span 2; + } + .grid .g-col-xl-3 { + grid-column: auto/span 3; + } + .grid .g-col-xl-4 { + grid-column: auto/span 4; + } + .grid .g-col-xl-5 { + grid-column: auto/span 5; + } + .grid .g-col-xl-6 { + grid-column: auto/span 6; + } + .grid .g-col-xl-7 { + grid-column: auto/span 7; + } + .grid .g-col-xl-8 { + grid-column: auto/span 8; + } + .grid .g-col-xl-9 { + grid-column: auto/span 9; + } + .grid .g-col-xl-10 { + grid-column: auto/span 10; + } + .grid .g-col-xl-11 { + grid-column: auto/span 11; + } + .grid .g-col-xl-12 { + grid-column: auto/span 12; + } +} + +ol.ordered-list-lower-alpha { + list-style-type: lower-alpha; +} +ol.ordered-list-lower-roman { + list-style-type: lower-roman; +} +ol.ordered-list-upper-alpha { + list-style-type: upper-alpha; +} +ol.ordered-list-upper-roman { + list-style-type: upper-roman; +} + +.overflow-visible { + overflow: visible !important; +} + +.overflow-scroll { + overflow: scroll !important; +} + +.overflow-auto-auto { + overflow: auto auto !important; +} + +.overflow-auto-hidden { + overflow: auto hidden !important; +} + +.overflow-auto-visible { + overflow: auto visible !important; +} + +.overflow-auto-scroll { + overflow: auto scroll !important; +} + +.overflow-hidden-auto { + overflow: hidden auto !important; +} + +.overflow-hidden-hidden { + overflow: hidden hidden !important; +} + +.overflow-hidden-visible { + overflow: hidden visible !important; +} + +.overflow-hidden-scroll { + overflow: hidden scroll !important; +} + +.overflow-visible-auto { + overflow: visible auto !important; +} + +.overflow-visible-hidden { + overflow: visible hidden !important; +} + +.overflow-visible-visible { + overflow: visible visible !important; +} + +.overflow-visible-scroll { + overflow: visible scroll !important; +} + +.overflow-scroll-auto { + overflow: scroll auto !important; +} + +.overflow-scroll-hidden { + overflow: scroll hidden !important; +} + +.overflow-scroll-visible { + overflow: scroll visible !important; +} + +.overflow-scroll-scroll { + overflow: scroll scroll !important; +} + +.top-0 { + top: 0 !important; +} + +.bottom-0 { + bottom: 0 !important; +} + +.left-0 { + left: 0 !important; +} + +.right-0 { + right: 0 !important; +} + +.top-50 { + top: 50% !important; +} + +.bottom-50 { + bottom: 50% !important; +} + +.left-50 { + left: 50% !important; +} + +.right-50 { + right: 50% !important; +} + +.top-100 { + top: 100% !important; +} + +.bottom-100 { + bottom: 100% !important; +} + +.left-100 { + left: 100% !important; +} + +.right-100 { + right: 100% !important; +} + +.translate-middle { + transform: translate(-50%, -50%) !important; +} + +.translate-middle-x { + transform: translateX(-50%) !important; +} + +.translate-middle-y { + transform: translateY(-50%) !important; +} + +@media (min-width: 576px) { + .w-sm-25 { + width: 25% !important; + } + .w-sm-33 { + width: 33.333333% !important; + } + .w-sm-50 { + width: 50% !important; + } + .w-sm-66 { + width: 66.666667% !important; + } + .w-sm-75 { + width: 75% !important; + } + .w-sm-100 { + width: 100% !important; + } + .w-sm-auto { + width: auto !important; + } + .h-sm-25 { + height: 25% !important; + } + .h-sm-33 { + height: 33.333333% !important; + } + .h-sm-50 { + height: 50% !important; + } + .h-sm-66 { + height: 66.666667% !important; + } + .h-sm-75 { + height: 75% !important; + } + .h-sm-100 { + height: 100% !important; + } + .h-sm-auto { + height: auto !important; + } + .mw-sm-100 { + max-width: 100% !important; + } + .mh-sm-100 { + max-height: 100% !important; + } + .min-vw-sm-100 { + min-width: 100vw !important; + } + .min-vh-sm-100 { + min-height: 100vh !important; + } + .vw-sm-100 { + width: 100vw !important; + } + .vh-sm-100 { + height: 100vh !important; + } +} +@media (min-width: 768px) { + .w-md-25 { + width: 25% !important; + } + .w-md-33 { + width: 33.333333% !important; + } + .w-md-50 { + width: 50% !important; + } + .w-md-66 { + width: 66.666667% !important; + } + .w-md-75 { + width: 75% !important; + } + .w-md-100 { + width: 100% !important; + } + .w-md-auto { + width: auto !important; + } + .h-md-25 { + height: 25% !important; + } + .h-md-33 { + height: 33.333333% !important; + } + .h-md-50 { + height: 50% !important; + } + .h-md-66 { + height: 66.666667% !important; + } + .h-md-75 { + height: 75% !important; + } + .h-md-100 { + height: 100% !important; + } + .h-md-auto { + height: auto !important; + } + .mw-md-100 { + max-width: 100% !important; + } + .mh-md-100 { + max-height: 100% !important; + } + .min-vw-md-100 { + min-width: 100vw !important; + } + .min-vh-md-100 { + min-height: 100vh !important; + } + .vw-md-100 { + width: 100vw !important; + } + .vh-md-100 { + height: 100vh !important; + } +} +@media (min-width: 992px) { + .w-lg-25 { + width: 25% !important; + } + .w-lg-33 { + width: 33.333333% !important; + } + .w-lg-50 { + width: 50% !important; + } + .w-lg-66 { + width: 66.666667% !important; + } + .w-lg-75 { + width: 75% !important; + } + .w-lg-100 { + width: 100% !important; + } + .w-lg-auto { + width: auto !important; + } + .h-lg-25 { + height: 25% !important; + } + .h-lg-33 { + height: 33.333333% !important; + } + .h-lg-50 { + height: 50% !important; + } + .h-lg-66 { + height: 66.666667% !important; + } + .h-lg-75 { + height: 75% !important; + } + .h-lg-100 { + height: 100% !important; + } + .h-lg-auto { + height: auto !important; + } + .mw-lg-100 { + max-width: 100% !important; + } + .mh-lg-100 { + max-height: 100% !important; + } + .min-vw-lg-100 { + min-width: 100vw !important; + } + .min-vh-lg-100 { + min-height: 100vh !important; + } + .vw-lg-100 { + width: 100vw !important; + } + .vh-lg-100 { + height: 100vh !important; + } +} +@media (min-width: 1200px) { + .w-xl-25 { + width: 25% !important; + } + .w-xl-33 { + width: 33.333333% !important; + } + .w-xl-50 { + width: 50% !important; + } + .w-xl-66 { + width: 66.666667% !important; + } + .w-xl-75 { + width: 75% !important; + } + .w-xl-100 { + width: 100% !important; + } + .w-xl-auto { + width: auto !important; + } + .h-xl-25 { + height: 25% !important; + } + .h-xl-33 { + height: 33.333333% !important; + } + .h-xl-50 { + height: 50% !important; + } + .h-xl-66 { + height: 66.666667% !important; + } + .h-xl-75 { + height: 75% !important; + } + .h-xl-100 { + height: 100% !important; + } + .h-xl-auto { + height: auto !important; + } + .mw-xl-100 { + max-width: 100% !important; + } + .mh-xl-100 { + max-height: 100% !important; + } + .min-vw-xl-100 { + min-width: 100vw !important; + } + .min-vh-xl-100 { + min-height: 100vh !important; + } + .vw-xl-100 { + width: 100vw !important; + } + .vh-xl-100 { + height: 100vh !important; + } +} +.gap-0 { + gap: 0 !important; +} + +.gap-y-0 { + row-gap: 0 !important; +} + +.gap-x-0 { + column-gap: 0 !important; +} + +.gap-1 { + gap: 0.25rem !important; +} + +.gap-y-1 { + row-gap: 0.25rem !important; +} + +.gap-x-1 { + column-gap: 0.25rem !important; +} + +.gap-2 { + gap: 0.5rem !important; +} + +.gap-y-2 { + row-gap: 0.5rem !important; +} + +.gap-x-2 { + column-gap: 0.5rem !important; +} + +.gap-3 { + gap: 1rem !important; +} + +.gap-y-3 { + row-gap: 1rem !important; +} + +.gap-x-3 { + column-gap: 1rem !important; +} + +.gap-4 { + gap: 1.5rem !important; +} + +.gap-y-4 { + row-gap: 1.5rem !important; +} + +.gap-x-4 { + column-gap: 1.5rem !important; +} + +.gap-5 { + gap: 3rem !important; +} + +.gap-y-5 { + row-gap: 3rem !important; +} + +.gap-x-5 { + column-gap: 3rem !important; +} + +.fs-xs { + font-size: 0.75rem !important; +} +.fs-sm { + font-size: 0.925rem !important; +} +.fs-md { + font-size: 1.125rem !important; +} +.fs-lg { + font-size: 1.25rem !important; +} +.fs-xl { + font-size: 1.5rem !important; +} +.fs-1 { + font-size: 2.5rem !important; +} +.fs-2 { + font-size: 2rem !important; +} +.fs-3 { + font-size: 1.75rem !important; +} +.fs-4 { + font-size: 1.5rem !important; +} +.fs-5 { + font-size: 1.25rem !important; +} +.fs-6 { + font-size: 1rem !important; +} + +.font-weight-semibold { + font-weight: 600 !important; +} + +.flatpickr-months { + margin: 0.5rem 0; +} +.flatpickr-months .flatpickr-month, .flatpickr-months .flatpickr-next-month, .flatpickr-months .flatpickr-prev-month { + height: auto; + position: relative; +} +.flatpickr-months .flatpickr-month:hover svg, .flatpickr-months .flatpickr-next-month:hover svg, .flatpickr-months .flatpickr-prev-month:hover svg { + fill: #007bff; +} +.flatpickr-months .flatpickr-month { + color: #212529; +} + +.flatpickr-current-month { + padding: 13px 0 0 0; + font-size: 115%; +} +.flatpickr-current-month span.cur-month { + font-weight: 700; +} +.flatpickr-current-month span.cur-month:hover { + background: rgba(0, 123, 255, 0.15); +} + +.numInputWrapper:hover { + background: rgba(0, 123, 255, 0.15); +} + +.flatpickr-day { + border-radius: 0.25rem; + font-weight: 500; + color: #212529; +} +.flatpickr-day.today { + border-color: #007bff; +} +.flatpickr-day.today:hover { + background: #007bff; + border-color: #007bff; +} +.flatpickr-day:hover { + background: rgba(0, 123, 255, 0.1); + border-color: rgba(0, 0, 0, 0); +} + +span.flatpickr-weekday { + color: #212529; +} + +.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, .flatpickr-day.selected:focus, .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.endRange.nextMonthDay { + background: #007bff; + border-color: #007bff; +} + +.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)), .flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)), .flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) { + box-shadow: -10px 0 0 #007bff; +} + +.flatpickr-day.selected.startRange, .flatpickr-day.startRange.startRange, .flatpickr-day.endRange.startRange { + border-radius: 0.25rem 0 0 0.25rem; +} + +.flatpickr-day.selected.endRange, .flatpickr-day.startRange.endRange, .flatpickr-day.endRange.endRange { + border-radius: 0 0.25rem 0.25rem 0; +} + +.flatpickr-monthSelect-month:hover, +.flatpickr-monthSelect-month:focus { + background: rgba(0, 123, 255, 0.1); +} + +.flatpickr-monthSelect-month.selected { + background-color: #007bff; +} diff --git a/_content/Blazorise.Bootstrap/blazorise.bootstrap.min.css b/_content/Blazorise.Bootstrap/blazorise.bootstrap.min.css new file mode 100755 index 0000000..ded81a3 --- /dev/null +++ b/_content/Blazorise.Bootstrap/blazorise.bootstrap.min.css @@ -0,0 +1 @@ +.badge-close{cursor:pointer;}.badge-close::before{height:2px;width:50%;}.badge-close::after{height:50%;width:2px;}.badge-close:hover,.badge-close:focus{background-color:rgba(10,10,10,.3);}.badge-close:active{background-color:rgba(10,10,10,.4);}.navbar-nav .nav-item:hover{cursor:pointer;}.navbar-nav .nav-link:hover{cursor:pointer;}.nav .nav-link:hover{cursor:pointer;}.nav-item{position:relative;}.b-bar-horizontal .nav-item.dropdown .dropdown-menu>.dropdown>.dropdown-item{width:100%;}.b-bar-horizontal .nav-item.dropdown .dropdown-menu>.dropdown>.dropdown-item::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent;}.b-bar-horizontal .nav-item.dropdown .dropdown-menu>.dropdown>.dropdown-item:empty::after{margin-left:0;}.b-bar-horizontal .nav-item.dropdown .dropdown-menu>.dropdown>.dropdown-item::after{transform:rotate(-90deg);position:absolute;right:10%;top:45%;}.b-bar-horizontal .nav-item.dropdown .dropdown-menu>.dropdown>.dropdown-menu{top:0;left:100%;margin-left:0;margin-right:.1rem;}.btn-group>.b-tooltip:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0;}.btn-group>.b-tooltip:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0;}.btn-group.btn-group-toggle .btn.active.disabled{opacity:1;}.btn-group-vertical>.b-tooltip:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0;}.btn-group-vertical>.b-tooltip:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0;}.btn-xs,.btn-group-xs>.btn{padding:.15rem .5rem;font-size:.75rem;line-height:1.5;border-radius:.15rem;}.btn-md,.btn-group-md>.btn{padding:.47rem 1rem;font-size:1.125rem;line-height:1.5;border-radius:.25rem;}.btn-xl,.btn-group-xl>.btn{padding:.5rem 1rem;font-size:1.5rem;line-height:1.5;border-radius:.4rem;}.table-fixed-header .table thead tr th.dropdown-table-fixed-header-visible{z-index:11;}.dropdown-menu-position-strategy{width:max-content;top:0;left:0;}.dropdown-menu-position-strategy-absolute{position:absolute;}.dropdown-menu-position-strategy-fixed{position:fixed;}.dropdown-toggle.dropdown-toggle-hidden::after{content:none!important;}.dropdown-toggle.dropdown-toggle-hidden::before{content:none!important;}.dropdown-menu.show{animation-duration:.3s;animation-fill-mode:both;animation-name:fadeIn;}.dropdown-menu a:not([href]).dropdown-item:not(.disabled){cursor:pointer;}.dropdown-menu.dropdown-menu-scrollable{max-height:var(--dropdown-list-menu-max-height,200px);overflow-y:scroll;}.b-is-autocomplete .dropdown-menu{width:100%;max-height:var(--autocomplete-menu-max-height,200px);overflow-y:scroll;}.b-is-autocomplete .dropdown-menu .dropdown-item.focus{color:#16181b!important;text-decoration:none;background-color:#e9ecef;}.b-is-autocomplete.b-is-autocomplete-multipleselection{display:flex;align-items:center;flex-wrap:wrap;max-width:100%;width:100%;cursor:text;line-height:1.5;outline:1px solid #ced4da;border-radius:.25rem;}.b-is-autocomplete.b-is-autocomplete-multipleselection>input.form-control:not(.is-valid,.is-invalid){border:0;}.b-is-autocomplete.b-is-autocomplete-multipleselection>input.form-control{display:inline-block;box-shadow:none;outline:0;background-color:transparent;max-width:inherit;width:auto;flex-grow:1;}.b-is-autocomplete.b-is-autocomplete-multipleselection>.badge{margin-top:.25rem;margin-bottom:.25rem;line-height:1.5;flex-grow:initial;}.b-is-autocomplete.b-is-autocomplete-multipleselection:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25);}.dropdown{position:relative;}.dropdown .btn.dropdown-toggle:not(.btn-outline){box-shadow:none;}.dropdown.dropdown-disabled.b-is-autocomplete{background-color:var(--b-theme-light,#e9ecef);}.dropdown>.dropdown-menu>.dropdown:not(.dropup,.dropleft,.dropright){position:relative;}.dropdown>.dropdown-menu>.dropdown:not(.dropup,.dropleft,.dropright)>.dropdown-toggle{width:100%;}.dropdown>.dropdown-menu>.dropdown:not(.dropup,.dropleft,.dropright)>.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent;position:absolute;right:10%;top:45%;}.dropdown>.dropdown-menu>.dropdown:not(.dropup,.dropleft,.dropright)>.dropdown-menu{top:auto;left:auto;bottom:auto;right:auto;}.dropdown>.dropdown-menu>.dropdown.dropup .dropdown-toggle::after,.dropdown>.dropdown-menu>.dropdown.dropleft .dropdown-toggle::after,.dropdown>.dropdown-menu>.dropdown.dropright .dropdown-toggle::after{position:absolute;right:10%;top:45%;}.dropdown.dropup>.dropdown-menu{top:auto;left:auto;bottom:auto;margin-top:0;margin-bottom:.125rem;}.dropdown.dropup>.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent;}.dropdown.dropright>.dropdown-menu{top:0%;right:auto;left:100%;bottom:auto;margin-top:0;margin-left:.125rem;}.dropdown.dropright>.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid;vertical-align:0;}.dropdown.dropleft>.dropdown-menu{top:0%;right:100%;left:auto;bottom:auto;margin-top:0;margin-right:.125rem;}.dropdown.dropleft>.dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent;vertical-align:0;}.figure.figure-is-16x16{height:16px;width:16px;}.figure.figure-is-24x24{height:24px;width:24px;}.figure.figure-is-32x32{height:32px;width:32px;}.figure.figure-is-48x48{height:48px;width:48px;}.figure.figure-is-64x64{height:64px;width:64px;}.figure.figure-is-96x96{height:96px;width:96px;}.figure.figure-is-128x128{height:128px;width:128px;}.figure.figure-is-256x256{height:256px;width:256px;}.figure.figure-is-512x512{height:512px;width:512px;}.form-check>.form-check-input.form-check-input-pointer,.form-check>.form-check-label.form-check-label-pointer,.custom-checkbox>.custom-control-input.custom-control-input-pointer,.custom-checkbox>.custom-control-label.custom-control-label-pointer,.custom-switch>.custom-control-input.custom-control-input-pointer,.custom-switch>.custom-control-label.custom-control-label-pointer{cursor:pointer;}.form-control-plaintext.form-control-xs,.form-control-plaintext.form-control-md,.form-control-plaintext.form-control-xl{padding-right:0;padding-left:0;}.form-control-xs{height:calc(1.5em + .3rem + 2px);padding:.15rem .5rem;font-size:.75rem;line-height:1.5;border-radius:.15rem;}.form-control-md{height:calc(1.5em + .94rem + 2px);padding:.47rem 1rem;font-size:1.125rem;line-height:1.5;border-radius:.25rem;}.form-control-xl{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.5rem;line-height:1.5;border-radius:.4rem;}.custom-select-xs{height:calc(1.5em + .3rem + 2px);padding-top:.15rem;padding-bottom:.15rem;padding-left:.5rem;font-size:.75rem;}.custom-select-md{height:calc(1.5em + .94rem + 2px);padding-top:.47rem;padding-bottom:.47rem;padding-left:1rem;font-size:1.125rem;}.custom-select-xl{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.5rem;}.input-group>.b-numeric:not(:last-child)>input,.input-group>.flatpickr-wrapper:not(:last-child)>input{border-top-right-radius:0;border-bottom-right-radius:0;}.input-group>.b-numeric:not(:first-child)>input,.input-group>.flatpickr-wrapper:not(:first-child)>input{border-top-left-radius:0;border-bottom-left-radius:0;}.input-group-xs>.form-control:not(textarea),.input-group-xs>.custom-select,.input-group-xs>.b-numeric>input{height:calc(1.5em + .3rem + 2px);}.input-group-xs>.form-control,.input-group-xs>.custom-select,.input-group-xs>.input-group-prepend>.input-group-text,.input-group-xs>.input-group-append>.input-group-text,.input-group-xs>.input-group-prepend>.btn,.input-group-xs>.input-group-append>.btn,.input-group-xs>.b-numeric>input{padding:.15rem .5rem;font-size:.75rem;line-height:1.5;border-radius:.15rem;}.input-group-sm>.b-numeric>input{height:calc(1.5em + .5rem + 2px);}.input-group-sm>.b-numeric>input{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem;}.input-group-md>.form-control:not(textarea),.input-group-md>.custom-select,.input-group-md>.b-numeric>input{height:calc(1.5em + .94rem + 2px);}.input-group-md>.form-control,.input-group-md>.custom-select,.input-group-md>.input-group-prepend>.input-group-text,.input-group-md>.input-group-append>.input-group-text,.input-group-md>.input-group-prepend>.btn,.input-group-md>.input-group-append>.btn,.input-group-md>.b-numeric>input{padding:.47rem 1rem;font-size:1.125rem;line-height:1.5;border-radius:.25rem;}.input-group-lg>.b-numeric>input{height:calc(1.5em + 1rem + 2px);}.input-group-lg>.b-numeric>input{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem;}.input-group-xl>.form-control:not(textarea),.input-group-xl>.custom-select,.input-group-xl>.b-numeric>input{height:calc(1.5em + 1rem + 2px);}.input-group-xl>.form-control,.input-group-xl>.custom-select,.input-group-xl>.input-group-prepend>.input-group-text,.input-group-xl>.input-group-append>.input-group-text,.input-group-xl>.input-group-prepend>.btn,.input-group-xl>.input-group-append>.btn,.input-group-xl>.b-numeric>input{padding:.5rem 1rem;font-size:1.5rem;line-height:1.5;border-radius:.4rem;}.input-group-xs>.custom-select,.input-group-md>.custom-select,.input-group-xl>.custom-select{padding-right:1.75rem;}.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text,.input-group>.input-group-prepend:first-child>.dropdown>.btn:not(:last-child).dropdown-toggle,.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0;}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-append:last-child>.dropdown>.btn:not(:last-child).dropdown-toggle,.input-group>.input-group-append:last-child>.dropdown>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0;}.input-group>div.flatpickr-wrapper>.form-control,.input-group>div.flatpickr-wrapper>.form-control-plaintext{position:relative;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0;}.custom-control.custom-checkbox>.custom-control-input.custom-control-input-xs+.custom-control-label::before,.custom-control.custom-checkbox>.custom-control-input.custom-control-input-xs+.custom-control-label::after{width:.7rem;height:.7rem;}.custom-control.custom-checkbox>.custom-control-input.custom-control-input-xs+.custom-control-label{line-height:"normal";padding-left:0;}.custom-control.custom-checkbox>.custom-control-input.custom-control-input-sm+.custom-control-label::before,.custom-control.custom-checkbox>.custom-control-input.custom-control-input-sm+.custom-control-label::after{width:.8rem;height:.8rem;}.custom-control.custom-checkbox>.custom-control-input.custom-control-input-sm+.custom-control-label{line-height:"normal";padding-left:0;}.custom-control.custom-checkbox>.custom-control-input.custom-control-input-md+.custom-control-label::before,.custom-control.custom-checkbox>.custom-control-input.custom-control-input-md+.custom-control-label::after{width:1.25rem;height:1.25rem;}.custom-control.custom-checkbox>.custom-control-input.custom-control-input-md+.custom-control-label{line-height:1.7rem;padding-left:3px;}.custom-control.custom-checkbox>.custom-control-input.custom-control-input-lg+.custom-control-label::before,.custom-control.custom-checkbox>.custom-control-input.custom-control-input-lg+.custom-control-label::after{width:1.55rem;height:1.55rem;}.custom-control.custom-checkbox>.custom-control-input.custom-control-input-lg+.custom-control-label{line-height:2rem;padding-left:6px;}.custom-control.custom-checkbox>.custom-control-input.custom-control-input-xl+.custom-control-label::before,.custom-control.custom-checkbox>.custom-control-input.custom-control-input-xl+.custom-control-label::after{width:1.85rem;height:1.85rem;}.custom-control.custom-checkbox>.custom-control-input.custom-control-input-xl+.custom-control-label{line-height:2.5rem;padding-left:10px;}.custom-control.custom-radio>.custom-control-input.custom-control-input-xs+.custom-control-label::before,.custom-control.custom-radio>.custom-control-input.custom-control-input-xs+.custom-control-label::after{width:.7rem;height:.7rem;}.custom-control.custom-radio>.custom-control-input.custom-control-input-xs+.custom-control-label{line-height:normal;padding-left:0;}.custom-control.custom-radio>.custom-control-input.custom-control-input-sm+.custom-control-label::before,.custom-control.custom-radio>.custom-control-input.custom-control-input-sm+.custom-control-label::after{width:.8rem;height:.8rem;}.custom-control.custom-radio>.custom-control-input.custom-control-input-sm+.custom-control-label{line-height:normal;padding-left:0;}.custom-control.custom-radio>.custom-control-input.custom-control-input-md+.custom-control-label::before,.custom-control.custom-radio>.custom-control-input.custom-control-input-md+.custom-control-label::after{width:1.25rem;height:1.25rem;}.custom-control.custom-radio>.custom-control-input.custom-control-input-md+.custom-control-label{line-height:1.7rem;padding-left:3px;}.custom-control.custom-radio>.custom-control-input.custom-control-input-lg+.custom-control-label::before,.custom-control.custom-radio>.custom-control-input.custom-control-input-lg+.custom-control-label::after{width:1.55rem;height:1.55rem;}.custom-control.custom-radio>.custom-control-input.custom-control-input-lg+.custom-control-label{line-height:2rem;padding-left:6px;}.custom-control.custom-radio>.custom-control-input.custom-control-input-xl+.custom-control-label::before,.custom-control.custom-radio>.custom-control-input.custom-control-input-xl+.custom-control-label::after{width:1.85rem;height:1.85rem;}.custom-control.custom-radio>.custom-control-input.custom-control-input-xl+.custom-control-label{line-height:2.5rem;padding-left:10px;}select[readonly]{pointer-events:none;}select[readonly] option,select[readonly] optgroup{display:none;}.b-numeric{position:relative;width:100%;}.b-numeric:hover>.b-numeric-handler-wrap{opacity:1;}.b-numeric input:disabled+.b-numeric-handler-wrap,.b-numeric input:read-only+.b-numeric-handler-wrap{display:none;}.b-numeric-handler-wrap{position:absolute;top:0;right:0;width:22px;height:100%;background:#fff;border:1px solid #d9d9d9;opacity:0;}.input-group .b-numeric{-ms-flex:1 1 auto;flex:1 1 auto;width:1%;}.b-numeric-handler-wrap .b-numeric-handler.b-numeric-handler-down{border-top:1px solid #d9d9d9;}.b-numeric-handler{position:relative;display:flex;width:100%;height:50%;overflow:hidden;color:rgba(0,0,0,.45);font-weight:700;line-height:0;align-items:center;justify-content:center;}.b-numeric-handler.btn{padding:0;}.form-control+.b-numeric-handler-wrap{font-size:1rem;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;}.form-control-xs+.b-numeric-handler-wrap{font-size:.75rem;border-top-right-radius:.15rem;border-bottom-right-radius:.15rem;}.form-control-xs+.b-numeric-handler-wrap>.b-numeric-handler.btn{font-size:.75rem;}.form-control-sm+.b-numeric-handler-wrap{font-size:.875rem;border-top-right-radius:.2rem;border-bottom-right-radius:.2rem;}.form-control-sm+.b-numeric-handler-wrap>.b-numeric-handler.btn{font-size:.875rem;}.form-control-md+.b-numeric-handler-wrap{font-size:1.125rem;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;}.form-control-md+.b-numeric-handler-wrap>.b-numeric-handler.btn{font-size:1.125rem;}.form-control-lg+.b-numeric-handler-wrap{font-size:1.25rem;border-top-right-radius:.3rem;border-bottom-right-radius:.3rem;}.form-control-lg+.b-numeric-handler-wrap>.b-numeric-handler.btn{font-size:1.25rem;}.form-control-xl+.b-numeric-handler-wrap{font-size:1.5rem;border-top-right-radius:.4rem;border-bottom-right-radius:.4rem;}.form-control-xl+.b-numeric-handler-wrap>.b-numeric-handler.btn{font-size:1.5rem;}.custom-file-label{overflow:hidden;}input[readonly][type=range],input[readonly=readonly][type=range]{pointer-events:none;}input[readonly][type=range]::-webkit-slider-thumb,input[readonly=readonly][type=range]::-webkit-slider-thumb{pointer-events:none;}input[readonly][type=range]::-moz-range-thumb,input[readonly=readonly][type=range]::-moz-range-thumb{pointer-events:none;}input[readonly][type=range]::-ms-thumb,input[readonly=readonly][type=range]::-ms-thumb{pointer-events:none;}.focus-trap{display:contents;}.form-label-required:after{content:" *";color:var(--b-theme-danger,#dc3545);}.jumbotron.jumbotron-primary{background-color:#007bff;color:#fff;}.jumbotron.jumbotron-secondary{background-color:#6c757d;color:#fff;}.jumbotron.jumbotron-success{background-color:#28a745;color:#fff;}.jumbotron.jumbotron-info{background-color:#17a2b8;color:#fff;}.jumbotron.jumbotron-warning{background-color:#ffc107;color:#212529;}.jumbotron.jumbotron-danger{background-color:#dc3545;color:#fff;}.jumbotron.jumbotron-light{background-color:#f8f9fa;color:#212529;}.jumbotron.jumbotron-dark{background-color:#343a40;color:#fff;}.jumbotron.jumbotron-link{background-color:#3273dc;color:#fff;}.b-layout-header-fixed{z-index:1020;}.b-layout-footer-fixed{z-index:1020;}.b-layout-sider-content{z-index:1021;}a.link-unstyled{text-decoration:none;color:inherit;}li.list-group-item-action{cursor:pointer;}.list-group-scrollable{overflow-y:scroll;}.modal .modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0;}.modal .modal-fullscreen .modal-content{height:100%;border:0;border-radius:0;}.modal .modal-fullscreen .modal-header{border-radius:0;}.modal .modal-fullscreen .modal-body{overflow-y:auto;}.modal .modal-fullscreen .modal-footer{border-radius:0;}.modal.fade{transition:opacity var(--modal-animation-duration,300ms) linear;}.modal.fade .modal-dialog{transition:-webkit-transform var(--modal-animation-duration,300ms) ease-out;transition:transform var(--modal-animation-duration,300ms) ease-out;}.offcanvas,.offcanvas-xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm{--offcanvas-zindex:1045;--offcanvas-width:400px;--offcanvas-height:30vh;--offcanvas-padding-x:1rem;--offcanvas-padding-y:1rem;--offcanvas-color:var(--body-color);--offcanvas-bg:var(--body-bg);--offcanvas-border-width:1px;--offcanvas-border-color:rgba(0,0,0,.2);--offcanvas-box-shadow:0 .25rem .5rem rgba(0,0,0,.5);--offcanvas-transition:transform .3s ease-in-out;--offcanvas-title-line-height:1.5;}@media(max-width:767.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;color:var(--offcanvas-color);visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out;}.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--offcanvas-width);border-right:var(--offcanvas-border-width) solid var(--offcanvas-border-color);transform:translateX(-100%);}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--offcanvas-width);border-left:var(--offcanvas-border-width) solid var(--offcanvas-border-color);transform:translateX(100%);}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--offcanvas-height);max-height:100%;border-bottom:var(--offcanvas-border-width) solid var(--offcanvas-border-color);transform:translateY(-100%);}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--offcanvas-height);max-height:100%;border-top:var(--offcanvas-border-width) solid var(--offcanvas-border-color);transform:translateY(100%);}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding){transform:none;}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show{visibility:visible;}}@media(min-width:576px){.offcanvas-sm{--offcanvas-height:auto;--offcanvas-border-width:0;background-color:transparent!important;}.offcanvas-sm .offcanvas-header{display:none;}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important;}}@media(max-width:991.98px){.offcanvas-md{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;color:var(--offcanvas-color);visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out;}.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--offcanvas-width);border-right:var(--offcanvas-border-width) solid var(--offcanvas-border-color);transform:translateX(-100%);}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--offcanvas-width);border-left:var(--offcanvas-border-width) solid var(--offcanvas-border-color);transform:translateX(100%);}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--offcanvas-height);max-height:100%;border-bottom:var(--offcanvas-border-width) solid var(--offcanvas-border-color);transform:translateY(-100%);}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--offcanvas-height);max-height:100%;border-top:var(--offcanvas-border-width) solid var(--offcanvas-border-color);transform:translateY(100%);}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding){transform:none;}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show{visibility:visible;}}@media(min-width:768px){.offcanvas-md{--offcanvas-height:auto;--offcanvas-border-width:0;background-color:transparent!important;}.offcanvas-md .offcanvas-header{display:none;}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important;}}@media(max-width:1199.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;color:var(--offcanvas-color);visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out;}.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--offcanvas-width);border-right:var(--offcanvas-border-width) solid var(--offcanvas-border-color);transform:translateX(-100%);}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--offcanvas-width);border-left:var(--offcanvas-border-width) solid var(--offcanvas-border-color);transform:translateX(100%);}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--offcanvas-height);max-height:100%;border-bottom:var(--offcanvas-border-width) solid var(--offcanvas-border-color);transform:translateY(-100%);}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--offcanvas-height);max-height:100%;border-top:var(--offcanvas-border-width) solid var(--offcanvas-border-color);transform:translateY(100%);}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding){transform:none;}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show{visibility:visible;}}@media(min-width:992px){.offcanvas-lg{--offcanvas-height:auto;--offcanvas-border-width:0;background-color:transparent!important;}.offcanvas-lg .offcanvas-header{display:none;}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important;}}.offcanvas-xl{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;color:var(--offcanvas-color);visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out;}.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--offcanvas-width);border-right:var(--offcanvas-border-width) solid var(--offcanvas-border-color);transform:translateX(-100%);}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--offcanvas-width);border-left:var(--offcanvas-border-width) solid var(--offcanvas-border-color);transform:translateX(100%);}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--offcanvas-height);max-height:100%;border-bottom:var(--offcanvas-border-width) solid var(--offcanvas-border-color);transform:translateY(-100%);}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--offcanvas-height);max-height:100%;border-top:var(--offcanvas-border-width) solid var(--offcanvas-border-color);transform:translateY(100%);}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding){transform:none;}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show{visibility:visible;}@media(min-width:1200px){.offcanvas-xl{--offcanvas-height:auto;--offcanvas-border-width:0;background-color:transparent!important;}.offcanvas-xl .offcanvas-header{display:none;}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important;}}.offcanvas{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;color:var(--offcanvas-color);visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out;}.offcanvas.offcanvas-start{top:0;left:0;width:var(--offcanvas-width);border-right:var(--offcanvas-border-width) solid var(--offcanvas-border-color);transform:translateX(-100%);}.offcanvas.offcanvas-end{top:0;right:0;width:var(--offcanvas-width);border-left:var(--offcanvas-border-width) solid var(--offcanvas-border-color);transform:translateX(100%);}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--offcanvas-height);max-height:100%;border-bottom:var(--offcanvas-border-width) solid var(--offcanvas-border-color);transform:translateY(-100%);}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--offcanvas-height);max-height:100%;border-top:var(--offcanvas-border-width) solid var(--offcanvas-border-color);transform:translateY(100%);}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none;}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible;}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000;}.offcanvas-backdrop.fade{opacity:0;}.offcanvas-backdrop.show{opacity:.5;}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:var(--offcanvas-padding-y) var(--offcanvas-padding-x);}.offcanvas-header .btn-close{padding:calc(var(--offcanvas-padding-y)*.5) calc(var(--offcanvas-padding-x)*.5);margin-top:calc(-.5*var(--offcanvas-padding-y));margin-right:calc(-.5*var(--offcanvas-padding-x));margin-bottom:calc(-.5*var(--offcanvas-padding-y));}.offcanvas-footer{position:sticky;bottom:0;top:auto;display:flex;align-items:center;justify-content:space-between;padding:var(--offcanvas-padding-y) var(--offcanvas-padding-x);}.offcanvas-title{margin-bottom:0;line-height:var(--offcanvas-title-line-height);}.offcanvas-body{flex-grow:1;padding:var(--offcanvas-padding-y) var(--offcanvas-padding-x);overflow-y:auto;}.page-item:not(.disabled) .page-link{cursor:pointer;}.pagination-xs .page-link{padding:.125rem .25rem;font-size:.75rem;line-height:1.5;}.pagination-xs .page-item:first-child .page-link{border-top-left-radius:.15rem;border-bottom-left-radius:.15rem;}.pagination-xs .page-item:last-child .page-link{border-top-right-radius:.15rem;border-bottom-right-radius:.15rem;}.pagination-md .page-link{padding:.625rem 1.25rem;font-size:1.125rem;line-height:1.5;}.pagination-md .page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;}.pagination-md .page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;}.pagination-xl .page-link{padding:1rem 2rem;font-size:1.5rem;line-height:1.5;}.pagination-xl .page-item:first-child .page-link{border-top-left-radius:.4rem;border-bottom-left-radius:.4rem;}.pagination-xl .page-item:last-child .page-link{border-top-right-radius:.4rem;border-bottom-right-radius:.4rem;}.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-primary{background-color:#007bff;}.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-secondary{background-color:#6c757d;}.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-success{background-color:#28a745;}.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-info{background-color:#17a2b8;}.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-warning{background-color:#ffc107;}.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-danger{background-color:#dc3545;}.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-light{background-color:#f8f9fa;}.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-dark{background-color:#343a40;}.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-link{background-color:#3273dc;}.rating:not(.rating-disabled):not(.rating-readonly):hover .rating-item{cursor:pointer;}.rating.rating-disabled{opacity:.65;}.rating .rating-item.rating-item-primary{color:#007bff;}.rating .rating-item.rating-item-secondary{color:#6c757d;}.rating .rating-item.rating-item-success{color:#28a745;}.rating .rating-item.rating-item-info{color:#17a2b8;}.rating .rating-item.rating-item-warning{color:#ffc107;}.rating .rating-item.rating-item-danger{color:#dc3545;}.rating .rating-item.rating-item-light{color:#f8f9fa;}.rating .rating-item.rating-item-dark{color:#343a40;}.rating .rating-item.rating-item-link{color:#3273dc;}.rating .rating-item.rating-item-hover{opacity:.7;}.steps{padding:0;margin:0;list-style:none;display:flex;overflow-x:auto;}.steps .step:first-child{margin-left:auto;}.steps .step:last-child{margin-right:auto;}.step:first-of-type .step-circle::before{display:none;}.step:last-of-type .step-container{padding-right:0;}.step-container{box-sizing:content-box;display:flex;align-items:center;flex-direction:column;width:5rem;min-width:5rem;max-width:5rem;padding-top:.5rem;padding-right:1rem;}.step-circle{position:relative;display:flex;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;color:#adb5bd;border:2px solid #adb5bd;border-radius:100%;background-color:#fff;}.step-circle::before{content:"";display:block;position:absolute;top:50%;left:-2px;width:calc(5rem + 1rem - 1.5rem);height:2px;transform:translate(-100%,-50%);color:#adb5bd;background-color:currentColor;}.step-text{color:#adb5bd;word-break:keep-all;text-align:center;margin-top:.25em;}.step-completed .step-circle{color:#fff;background-color:#28a745;border-color:#28a745;}.step-completed .step-circle::before{color:#28a745;}.step-completed .step-text{color:#28a745;}.step-active .step-circle{color:#fff;background-color:#007bff;border-color:#007bff;}.step-active .step-circle::before{color:#007bff;}.step-active .step-text{color:#007bff;}.step-primary .step-circle{color:#007bff;border-color:#007bff;}.step-primary.step-completed .step-circle{color:#fff;background-color:#007bff;border-color:#007bff;}.step-primary.step-completed .step-circle::before{color:#007bff;}.step-primary.step-completed .step-text{color:#007bff;}.step-primary.step-active .step-circle{color:#fff;background-color:#007bff;border-color:#007bff;}.step-primary.step-active::before{color:#007bff;}.step-primary.step-active .step-text{color:#007bff;}.step-secondary .step-circle{color:#6c757d;border-color:#6c757d;}.step-secondary.step-completed .step-circle{color:#fff;background-color:#6c757d;border-color:#6c757d;}.step-secondary.step-completed .step-circle::before{color:#6c757d;}.step-secondary.step-completed .step-text{color:#6c757d;}.step-secondary.step-active .step-circle{color:#fff;background-color:#007bff;border-color:#007bff;}.step-secondary.step-active::before{color:#007bff;}.step-secondary.step-active .step-text{color:#007bff;}.step-success .step-circle{color:#28a745;border-color:#28a745;}.step-success.step-completed .step-circle{color:#fff;background-color:#28a745;border-color:#28a745;}.step-success.step-completed .step-circle::before{color:#28a745;}.step-success.step-completed .step-text{color:#28a745;}.step-success.step-active .step-circle{color:#fff;background-color:#007bff;border-color:#007bff;}.step-success.step-active::before{color:#007bff;}.step-success.step-active .step-text{color:#007bff;}.step-info .step-circle{color:#17a2b8;border-color:#17a2b8;}.step-info.step-completed .step-circle{color:#fff;background-color:#17a2b8;border-color:#17a2b8;}.step-info.step-completed .step-circle::before{color:#17a2b8;}.step-info.step-completed .step-text{color:#17a2b8;}.step-info.step-active .step-circle{color:#fff;background-color:#007bff;border-color:#007bff;}.step-info.step-active::before{color:#007bff;}.step-info.step-active .step-text{color:#007bff;}.step-warning .step-circle{color:#ffc107;border-color:#ffc107;}.step-warning.step-completed .step-circle{color:#fff;background-color:#ffc107;border-color:#ffc107;}.step-warning.step-completed .step-circle::before{color:#ffc107;}.step-warning.step-completed .step-text{color:#ffc107;}.step-warning.step-active .step-circle{color:#fff;background-color:#007bff;border-color:#007bff;}.step-warning.step-active::before{color:#007bff;}.step-warning.step-active .step-text{color:#007bff;}.step-danger .step-circle{color:#dc3545;border-color:#dc3545;}.step-danger.step-completed .step-circle{color:#fff;background-color:#dc3545;border-color:#dc3545;}.step-danger.step-completed .step-circle::before{color:#dc3545;}.step-danger.step-completed .step-text{color:#dc3545;}.step-danger.step-active .step-circle{color:#fff;background-color:#007bff;border-color:#007bff;}.step-danger.step-active::before{color:#007bff;}.step-danger.step-active .step-text{color:#007bff;}.step-light .step-circle{color:#f8f9fa;border-color:#f8f9fa;}.step-light.step-completed .step-circle{color:#fff;background-color:#f8f9fa;border-color:#f8f9fa;}.step-light.step-completed .step-circle::before{color:#f8f9fa;}.step-light.step-completed .step-text{color:#f8f9fa;}.step-light.step-active .step-circle{color:#fff;background-color:#007bff;border-color:#007bff;}.step-light.step-active::before{color:#007bff;}.step-light.step-active .step-text{color:#007bff;}.step-dark .step-circle{color:#343a40;border-color:#343a40;}.step-dark.step-completed .step-circle{color:#fff;background-color:#343a40;border-color:#343a40;}.step-dark.step-completed .step-circle::before{color:#343a40;}.step-dark.step-completed .step-text{color:#343a40;}.step-dark.step-active .step-circle{color:#fff;background-color:#007bff;border-color:#007bff;}.step-dark.step-active::before{color:#007bff;}.step-dark.step-active .step-text{color:#007bff;}.step-link .step-circle{color:#3273dc;border-color:#3273dc;}.step-link.step-completed .step-circle{color:#fff;background-color:#3273dc;border-color:#3273dc;}.step-link.step-completed .step-circle::before{color:#3273dc;}.step-link.step-completed .step-text{color:#3273dc;}.step-link.step-active .step-circle{color:#fff;background-color:#007bff;border-color:#007bff;}.step-link.step-active::before{color:#007bff;}.step-link.step-active .step-text{color:#007bff;}.steps-content{margin:1rem 0;}.steps-content>.step-panel{display:none;}.steps-content>.active{display:block;}.custom-switch .custom-control-input.custom-control-input-primary:checked~.custom-control-label::before{background-color:#007bff;border-color:#007bff;}.custom-switch .custom-control-input.custom-control-input-primary:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25);border-color:#007bff;}.custom-switch .custom-control-input:disabled.custom-control-input-primary:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5);}.custom-switch .custom-control-input.custom-control-input-secondary:checked~.custom-control-label::before{background-color:#6c757d;border-color:#6c757d;}.custom-switch .custom-control-input.custom-control-input-secondary:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(108,117,125,.25);border-color:#6c757d;}.custom-switch .custom-control-input:disabled.custom-control-input-secondary:checked~.custom-control-label::before{background-color:rgba(108,117,125,.5);}.custom-switch .custom-control-input.custom-control-input-success:checked~.custom-control-label::before{background-color:#28a745;border-color:#28a745;}.custom-switch .custom-control-input.custom-control-input-success:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25);border-color:#28a745;}.custom-switch .custom-control-input:disabled.custom-control-input-success:checked~.custom-control-label::before{background-color:rgba(40,167,69,.5);}.custom-switch .custom-control-input.custom-control-input-info:checked~.custom-control-label::before{background-color:#17a2b8;border-color:#17a2b8;}.custom-switch .custom-control-input.custom-control-input-info:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(23,162,184,.25);border-color:#17a2b8;}.custom-switch .custom-control-input:disabled.custom-control-input-info:checked~.custom-control-label::before{background-color:rgba(23,162,184,.5);}.custom-switch .custom-control-input.custom-control-input-warning:checked~.custom-control-label::before{background-color:#ffc107;border-color:#ffc107;}.custom-switch .custom-control-input.custom-control-input-warning:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(255,193,7,.25);border-color:#ffc107;}.custom-switch .custom-control-input:disabled.custom-control-input-warning:checked~.custom-control-label::before{background-color:rgba(255,193,7,.5);}.custom-switch .custom-control-input.custom-control-input-danger:checked~.custom-control-label::before{background-color:#dc3545;border-color:#dc3545;}.custom-switch .custom-control-input.custom-control-input-danger:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25);border-color:#dc3545;}.custom-switch .custom-control-input:disabled.custom-control-input-danger:checked~.custom-control-label::before{background-color:rgba(220,53,69,.5);}.custom-switch .custom-control-input.custom-control-input-light:checked~.custom-control-label::before{background-color:#f8f9fa;border-color:#f8f9fa;}.custom-switch .custom-control-input.custom-control-input-light:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(248,249,250,.25);border-color:#f8f9fa;}.custom-switch .custom-control-input:disabled.custom-control-input-light:checked~.custom-control-label::before{background-color:rgba(248,249,250,.5);}.custom-switch .custom-control-input.custom-control-input-dark:checked~.custom-control-label::before{background-color:#343a40;border-color:#343a40;}.custom-switch .custom-control-input.custom-control-input-dark:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(52,58,64,.25);border-color:#343a40;}.custom-switch .custom-control-input:disabled.custom-control-input-dark:checked~.custom-control-label::before{background-color:rgba(52,58,64,.5);}.custom-switch .custom-control-input.custom-control-input-link:checked~.custom-control-label::before{background-color:#3273dc;border-color:#3273dc;}.custom-switch .custom-control-input.custom-control-input-link:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(50,115,220,.25);border-color:#3273dc;}.custom-switch .custom-control-input:disabled.custom-control-input-link:checked~.custom-control-label::before{background-color:rgba(50,115,220,.5);}.custom-switch .custom-control-input.custom-control-input-xs+.custom-control-label{line-height:1rem;vertical-align:middle;padding-left:0;}.custom-switch .custom-control-input.custom-control-input-xs+.custom-control-label::before{height:.5rem;width:calc(.75rem + (.5rem/2));border-radius:1rem;}.custom-switch .custom-control-input.custom-control-input-xs+.custom-control-label::after{height:calc(.5rem - 4px);width:calc(.5rem - 4px);border-radius:calc(.75rem - (.5rem/2));}.custom-switch .custom-control-input.custom-control-input-xs:checked~.custom-control-label::after{transform:translateX(calc(.75rem - (.5rem/2)));}.custom-switch .custom-control-input.custom-control-input-sm+.custom-control-label{line-height:1.25rem;vertical-align:middle;padding-left:0;}.custom-switch .custom-control-input.custom-control-input-sm+.custom-control-label::before{height:.75rem;width:calc(1rem + (.75rem/2));border-radius:1.5rem;}.custom-switch .custom-control-input.custom-control-input-sm+.custom-control-label::after{height:calc(.75rem - 4px);width:calc(.75rem - 4px);border-radius:calc(1rem - (.75rem/2));}.custom-switch .custom-control-input.custom-control-input-sm:checked~.custom-control-label::after{transform:translateX(calc(1rem - (.75rem/2)));}.custom-switch .custom-control-input.custom-control-input-md+.custom-control-label{line-height:2rem;vertical-align:middle;padding-left:2rem;}.custom-switch .custom-control-input.custom-control-input-md+.custom-control-label::before{height:1.5rem;width:calc(2rem + (1.5rem/2));border-radius:3rem;}.custom-switch .custom-control-input.custom-control-input-md+.custom-control-label::after{height:calc(1.5rem - 4px);width:calc(1.5rem - 4px);border-radius:calc(2rem - (1.5rem/2));}.custom-switch .custom-control-input.custom-control-input-md:checked~.custom-control-label::after{transform:translateX(calc(2rem - (1.5rem/2)));}.custom-switch .custom-control-input.custom-control-input-lg+.custom-control-label{line-height:2.5rem;vertical-align:middle;padding-left:3rem;}.custom-switch .custom-control-input.custom-control-input-lg+.custom-control-label::before{height:2rem;width:calc(3rem + (2rem/2));border-radius:4rem;}.custom-switch .custom-control-input.custom-control-input-lg+.custom-control-label::after{height:calc(2rem - 4px);width:calc(2rem - 4px);border-radius:calc(3rem - (2rem/2));}.custom-switch .custom-control-input.custom-control-input-lg:checked~.custom-control-label::after{transform:translateX(calc(3rem - (2rem/2)));}.custom-switch .custom-control-input.custom-control-input-xl+.custom-control-label{line-height:3rem;vertical-align:middle;padding-left:4rem;}.custom-switch .custom-control-input.custom-control-input-xl+.custom-control-label::before{height:2.5rem;width:calc(4rem + (2.5rem/2));border-radius:5rem;}.custom-switch .custom-control-input.custom-control-input-xl+.custom-control-label::after{height:calc(2.5rem - 4px);width:calc(2.5rem - 4px);border-radius:calc(4rem - (2.5rem/2));}.custom-switch .custom-control-input.custom-control-input-xl:checked~.custom-control-label::after{transform:translateX(calc(4rem - (2.5rem/2)));}table.table tbody tr:not(.table-group).selected{background-color:var(--primary);}table.table tbody tr.table-group{cursor:pointer;background-color:var(--b-theme-light,var(--light,#f5f5f5));font-weight:700;}tr.table-row-selectable:hover{cursor:pointer;}tr.table-row-selectable:focus[tabindex="0"]{outline:0;}.table-fixed-header{overflow-y:auto;}.table-fixed-header .table{border-collapse:separate;border-spacing:0;}.table-fixed-header .table thead:not(.table-thead-theme) th{background:#fff;}.table-fixed-header .table thead tr th{border-top:0;position:sticky;z-index:10;}.table-fixed-header .table thead tr:nth-child(1) th{top:0;}.table-fixed-columns{width:100%;overflow-x:auto;white-space:nowrap;position:relative;}.table-fixed-columns .table{table-layout:fixed;overflow-x:auto;white-space:nowrap;border-collapse:separate;border-spacing:0;border:0;}.table-fixed-columns .table .table-header-cell-fixed-start,.table-fixed-columns .table .table-row-header-fixed-start,.table-fixed-columns .table .table-row-cell-fixed-start{position:sticky;border-left:0;z-index:11;background-color:#fff;border-inline-start-width:0;left:0;}.table-fixed-columns .table .table-header-cell-fixed-end,.table-fixed-columns .table .table-row-header-fixed-end,.table-fixed-columns .table .table-row-cell-fixed-end{position:sticky;border-left:0;z-index:11;background-color:#fff;border-inline-start-width:0;right:0;}.snackbar-stack{z-index:1009!important;}.snackbar{z-index:1060!important;}@keyframes fadeIn{0%{opacity:0;}100%{opacity:1;}0%{opacity:0;}}@keyframes slideIn{0%{transform:translateY(1rem);opacity:0;}100%{transform:translateY(0);opacity:1;}0%{transform:translateY(1rem);opacity:0;}}.border-1{border:1px solid #dee2e6!important;}.border-1.border-primary{border-color:#007bff!important;}.border-1.border-secondary{border-color:#6c757d!important;}.border-1.border-success{border-color:#28a745!important;}.border-1.border-info{border-color:#17a2b8!important;}.border-1.border-warning{border-color:#ffc107!important;}.border-1.border-danger{border-color:#dc3545!important;}.border-1.border-light{border-color:#f8f9fa!important;}.border-1.border-dark{border-color:#343a40!important;}.border-1.border-link{border-color:#3273dc!important;}.border-primary-1{border:1px solid #007bff!important;}.border-secondary-1{border:1px solid #6c757d!important;}.border-success-1{border:1px solid #28a745!important;}.border-info-1{border:1px solid #17a2b8!important;}.border-warning-1{border:1px solid #ffc107!important;}.border-danger-1{border:1px solid #dc3545!important;}.border-light-1{border:1px solid #f8f9fa!important;}.border-dark-1{border:1px solid #343a40!important;}.border-link-1{border:1px solid #3273dc!important;}.border-top-1{border-top:1px solid #dee2e6!important;}.border-primary-top-1{border-top:1px solid #007bff!important;}.border-secondary-top-1{border-top:1px solid #6c757d!important;}.border-success-top-1{border-top:1px solid #28a745!important;}.border-info-top-1{border-top:1px solid #17a2b8!important;}.border-warning-top-1{border-top:1px solid #ffc107!important;}.border-danger-top-1{border-top:1px solid #dc3545!important;}.border-light-top-1{border-top:1px solid #f8f9fa!important;}.border-dark-top-1{border-top:1px solid #343a40!important;}.border-link-top-1{border-top:1px solid #3273dc!important;}.border-right-1{border-right:1px solid #dee2e6!important;}.border-primary-right-1{border-right:1px solid #007bff!important;}.border-secondary-right-1{border-right:1px solid #6c757d!important;}.border-success-right-1{border-right:1px solid #28a745!important;}.border-info-right-1{border-right:1px solid #17a2b8!important;}.border-warning-right-1{border-right:1px solid #ffc107!important;}.border-danger-right-1{border-right:1px solid #dc3545!important;}.border-light-right-1{border-right:1px solid #f8f9fa!important;}.border-dark-right-1{border-right:1px solid #343a40!important;}.border-link-right-1{border-right:1px solid #3273dc!important;}.border-bottom-1{border-bottom:1px solid #dee2e6!important;}.border-primary-bottom-1{border-bottom:1px solid #007bff!important;}.border-secondary-bottom-1{border-bottom:1px solid #6c757d!important;}.border-success-bottom-1{border-bottom:1px solid #28a745!important;}.border-info-bottom-1{border-bottom:1px solid #17a2b8!important;}.border-warning-bottom-1{border-bottom:1px solid #ffc107!important;}.border-danger-bottom-1{border-bottom:1px solid #dc3545!important;}.border-light-bottom-1{border-bottom:1px solid #f8f9fa!important;}.border-dark-bottom-1{border-bottom:1px solid #343a40!important;}.border-link-bottom-1{border-bottom:1px solid #3273dc!important;}.border-left-1{border-left:1px solid #dee2e6!important;}.border-primary-left-1{border-left:1px solid #007bff!important;}.border-secondary-left-1{border-left:1px solid #6c757d!important;}.border-success-left-1{border-left:1px solid #28a745!important;}.border-info-left-1{border-left:1px solid #17a2b8!important;}.border-warning-left-1{border-left:1px solid #ffc107!important;}.border-danger-left-1{border-left:1px solid #dc3545!important;}.border-light-left-1{border-left:1px solid #f8f9fa!important;}.border-dark-left-1{border-left:1px solid #343a40!important;}.border-link-left-1{border-left:1px solid #3273dc!important;}.border-2{border:2px solid #dee2e6!important;}.border-2.border-primary{border-color:#007bff!important;}.border-2.border-secondary{border-color:#6c757d!important;}.border-2.border-success{border-color:#28a745!important;}.border-2.border-info{border-color:#17a2b8!important;}.border-2.border-warning{border-color:#ffc107!important;}.border-2.border-danger{border-color:#dc3545!important;}.border-2.border-light{border-color:#f8f9fa!important;}.border-2.border-dark{border-color:#343a40!important;}.border-2.border-link{border-color:#3273dc!important;}.border-primary-2{border:2px solid #007bff!important;}.border-secondary-2{border:2px solid #6c757d!important;}.border-success-2{border:2px solid #28a745!important;}.border-info-2{border:2px solid #17a2b8!important;}.border-warning-2{border:2px solid #ffc107!important;}.border-danger-2{border:2px solid #dc3545!important;}.border-light-2{border:2px solid #f8f9fa!important;}.border-dark-2{border:2px solid #343a40!important;}.border-link-2{border:2px solid #3273dc!important;}.border-top-2{border-top:2px solid #dee2e6!important;}.border-primary-top-2{border-top:2px solid #007bff!important;}.border-secondary-top-2{border-top:2px solid #6c757d!important;}.border-success-top-2{border-top:2px solid #28a745!important;}.border-info-top-2{border-top:2px solid #17a2b8!important;}.border-warning-top-2{border-top:2px solid #ffc107!important;}.border-danger-top-2{border-top:2px solid #dc3545!important;}.border-light-top-2{border-top:2px solid #f8f9fa!important;}.border-dark-top-2{border-top:2px solid #343a40!important;}.border-link-top-2{border-top:2px solid #3273dc!important;}.border-right-2{border-right:2px solid #dee2e6!important;}.border-primary-right-2{border-right:2px solid #007bff!important;}.border-secondary-right-2{border-right:2px solid #6c757d!important;}.border-success-right-2{border-right:2px solid #28a745!important;}.border-info-right-2{border-right:2px solid #17a2b8!important;}.border-warning-right-2{border-right:2px solid #ffc107!important;}.border-danger-right-2{border-right:2px solid #dc3545!important;}.border-light-right-2{border-right:2px solid #f8f9fa!important;}.border-dark-right-2{border-right:2px solid #343a40!important;}.border-link-right-2{border-right:2px solid #3273dc!important;}.border-bottom-2{border-bottom:2px solid #dee2e6!important;}.border-primary-bottom-2{border-bottom:2px solid #007bff!important;}.border-secondary-bottom-2{border-bottom:2px solid #6c757d!important;}.border-success-bottom-2{border-bottom:2px solid #28a745!important;}.border-info-bottom-2{border-bottom:2px solid #17a2b8!important;}.border-warning-bottom-2{border-bottom:2px solid #ffc107!important;}.border-danger-bottom-2{border-bottom:2px solid #dc3545!important;}.border-light-bottom-2{border-bottom:2px solid #f8f9fa!important;}.border-dark-bottom-2{border-bottom:2px solid #343a40!important;}.border-link-bottom-2{border-bottom:2px solid #3273dc!important;}.border-left-2{border-left:2px solid #dee2e6!important;}.border-primary-left-2{border-left:2px solid #007bff!important;}.border-secondary-left-2{border-left:2px solid #6c757d!important;}.border-success-left-2{border-left:2px solid #28a745!important;}.border-info-left-2{border-left:2px solid #17a2b8!important;}.border-warning-left-2{border-left:2px solid #ffc107!important;}.border-danger-left-2{border-left:2px solid #dc3545!important;}.border-light-left-2{border-left:2px solid #f8f9fa!important;}.border-dark-left-2{border-left:2px solid #343a40!important;}.border-link-left-2{border-left:2px solid #3273dc!important;}.border-3{border:3px solid #dee2e6!important;}.border-3.border-primary{border-color:#007bff!important;}.border-3.border-secondary{border-color:#6c757d!important;}.border-3.border-success{border-color:#28a745!important;}.border-3.border-info{border-color:#17a2b8!important;}.border-3.border-warning{border-color:#ffc107!important;}.border-3.border-danger{border-color:#dc3545!important;}.border-3.border-light{border-color:#f8f9fa!important;}.border-3.border-dark{border-color:#343a40!important;}.border-3.border-link{border-color:#3273dc!important;}.border-primary-3{border:3px solid #007bff!important;}.border-secondary-3{border:3px solid #6c757d!important;}.border-success-3{border:3px solid #28a745!important;}.border-info-3{border:3px solid #17a2b8!important;}.border-warning-3{border:3px solid #ffc107!important;}.border-danger-3{border:3px solid #dc3545!important;}.border-light-3{border:3px solid #f8f9fa!important;}.border-dark-3{border:3px solid #343a40!important;}.border-link-3{border:3px solid #3273dc!important;}.border-top-3{border-top:3px solid #dee2e6!important;}.border-primary-top-3{border-top:3px solid #007bff!important;}.border-secondary-top-3{border-top:3px solid #6c757d!important;}.border-success-top-3{border-top:3px solid #28a745!important;}.border-info-top-3{border-top:3px solid #17a2b8!important;}.border-warning-top-3{border-top:3px solid #ffc107!important;}.border-danger-top-3{border-top:3px solid #dc3545!important;}.border-light-top-3{border-top:3px solid #f8f9fa!important;}.border-dark-top-3{border-top:3px solid #343a40!important;}.border-link-top-3{border-top:3px solid #3273dc!important;}.border-right-3{border-right:3px solid #dee2e6!important;}.border-primary-right-3{border-right:3px solid #007bff!important;}.border-secondary-right-3{border-right:3px solid #6c757d!important;}.border-success-right-3{border-right:3px solid #28a745!important;}.border-info-right-3{border-right:3px solid #17a2b8!important;}.border-warning-right-3{border-right:3px solid #ffc107!important;}.border-danger-right-3{border-right:3px solid #dc3545!important;}.border-light-right-3{border-right:3px solid #f8f9fa!important;}.border-dark-right-3{border-right:3px solid #343a40!important;}.border-link-right-3{border-right:3px solid #3273dc!important;}.border-bottom-3{border-bottom:3px solid #dee2e6!important;}.border-primary-bottom-3{border-bottom:3px solid #007bff!important;}.border-secondary-bottom-3{border-bottom:3px solid #6c757d!important;}.border-success-bottom-3{border-bottom:3px solid #28a745!important;}.border-info-bottom-3{border-bottom:3px solid #17a2b8!important;}.border-warning-bottom-3{border-bottom:3px solid #ffc107!important;}.border-danger-bottom-3{border-bottom:3px solid #dc3545!important;}.border-light-bottom-3{border-bottom:3px solid #f8f9fa!important;}.border-dark-bottom-3{border-bottom:3px solid #343a40!important;}.border-link-bottom-3{border-bottom:3px solid #3273dc!important;}.border-left-3{border-left:3px solid #dee2e6!important;}.border-primary-left-3{border-left:3px solid #007bff!important;}.border-secondary-left-3{border-left:3px solid #6c757d!important;}.border-success-left-3{border-left:3px solid #28a745!important;}.border-info-left-3{border-left:3px solid #17a2b8!important;}.border-warning-left-3{border-left:3px solid #ffc107!important;}.border-danger-left-3{border-left:3px solid #dc3545!important;}.border-light-left-3{border-left:3px solid #f8f9fa!important;}.border-dark-left-3{border-left:3px solid #343a40!important;}.border-link-left-3{border-left:3px solid #3273dc!important;}.border-4{border:4px solid #dee2e6!important;}.border-4.border-primary{border-color:#007bff!important;}.border-4.border-secondary{border-color:#6c757d!important;}.border-4.border-success{border-color:#28a745!important;}.border-4.border-info{border-color:#17a2b8!important;}.border-4.border-warning{border-color:#ffc107!important;}.border-4.border-danger{border-color:#dc3545!important;}.border-4.border-light{border-color:#f8f9fa!important;}.border-4.border-dark{border-color:#343a40!important;}.border-4.border-link{border-color:#3273dc!important;}.border-primary-4{border:4px solid #007bff!important;}.border-secondary-4{border:4px solid #6c757d!important;}.border-success-4{border:4px solid #28a745!important;}.border-info-4{border:4px solid #17a2b8!important;}.border-warning-4{border:4px solid #ffc107!important;}.border-danger-4{border:4px solid #dc3545!important;}.border-light-4{border:4px solid #f8f9fa!important;}.border-dark-4{border:4px solid #343a40!important;}.border-link-4{border:4px solid #3273dc!important;}.border-top-4{border-top:4px solid #dee2e6!important;}.border-primary-top-4{border-top:4px solid #007bff!important;}.border-secondary-top-4{border-top:4px solid #6c757d!important;}.border-success-top-4{border-top:4px solid #28a745!important;}.border-info-top-4{border-top:4px solid #17a2b8!important;}.border-warning-top-4{border-top:4px solid #ffc107!important;}.border-danger-top-4{border-top:4px solid #dc3545!important;}.border-light-top-4{border-top:4px solid #f8f9fa!important;}.border-dark-top-4{border-top:4px solid #343a40!important;}.border-link-top-4{border-top:4px solid #3273dc!important;}.border-right-4{border-right:4px solid #dee2e6!important;}.border-primary-right-4{border-right:4px solid #007bff!important;}.border-secondary-right-4{border-right:4px solid #6c757d!important;}.border-success-right-4{border-right:4px solid #28a745!important;}.border-info-right-4{border-right:4px solid #17a2b8!important;}.border-warning-right-4{border-right:4px solid #ffc107!important;}.border-danger-right-4{border-right:4px solid #dc3545!important;}.border-light-right-4{border-right:4px solid #f8f9fa!important;}.border-dark-right-4{border-right:4px solid #343a40!important;}.border-link-right-4{border-right:4px solid #3273dc!important;}.border-bottom-4{border-bottom:4px solid #dee2e6!important;}.border-primary-bottom-4{border-bottom:4px solid #007bff!important;}.border-secondary-bottom-4{border-bottom:4px solid #6c757d!important;}.border-success-bottom-4{border-bottom:4px solid #28a745!important;}.border-info-bottom-4{border-bottom:4px solid #17a2b8!important;}.border-warning-bottom-4{border-bottom:4px solid #ffc107!important;}.border-danger-bottom-4{border-bottom:4px solid #dc3545!important;}.border-light-bottom-4{border-bottom:4px solid #f8f9fa!important;}.border-dark-bottom-4{border-bottom:4px solid #343a40!important;}.border-link-bottom-4{border-bottom:4px solid #3273dc!important;}.border-left-4{border-left:4px solid #dee2e6!important;}.border-primary-left-4{border-left:4px solid #007bff!important;}.border-secondary-left-4{border-left:4px solid #6c757d!important;}.border-success-left-4{border-left:4px solid #28a745!important;}.border-info-left-4{border-left:4px solid #17a2b8!important;}.border-warning-left-4{border-left:4px solid #ffc107!important;}.border-danger-left-4{border-left:4px solid #dc3545!important;}.border-light-left-4{border-left:4px solid #f8f9fa!important;}.border-dark-left-4{border-left:4px solid #343a40!important;}.border-link-left-4{border-left:4px solid #3273dc!important;}.border-5{border:5px solid #dee2e6!important;}.border-5.border-primary{border-color:#007bff!important;}.border-5.border-secondary{border-color:#6c757d!important;}.border-5.border-success{border-color:#28a745!important;}.border-5.border-info{border-color:#17a2b8!important;}.border-5.border-warning{border-color:#ffc107!important;}.border-5.border-danger{border-color:#dc3545!important;}.border-5.border-light{border-color:#f8f9fa!important;}.border-5.border-dark{border-color:#343a40!important;}.border-5.border-link{border-color:#3273dc!important;}.border-primary-5{border:5px solid #007bff!important;}.border-secondary-5{border:5px solid #6c757d!important;}.border-success-5{border:5px solid #28a745!important;}.border-info-5{border:5px solid #17a2b8!important;}.border-warning-5{border:5px solid #ffc107!important;}.border-danger-5{border:5px solid #dc3545!important;}.border-light-5{border:5px solid #f8f9fa!important;}.border-dark-5{border:5px solid #343a40!important;}.border-link-5{border:5px solid #3273dc!important;}.border-top-5{border-top:5px solid #dee2e6!important;}.border-primary-top-5{border-top:5px solid #007bff!important;}.border-secondary-top-5{border-top:5px solid #6c757d!important;}.border-success-top-5{border-top:5px solid #28a745!important;}.border-info-top-5{border-top:5px solid #17a2b8!important;}.border-warning-top-5{border-top:5px solid #ffc107!important;}.border-danger-top-5{border-top:5px solid #dc3545!important;}.border-light-top-5{border-top:5px solid #f8f9fa!important;}.border-dark-top-5{border-top:5px solid #343a40!important;}.border-link-top-5{border-top:5px solid #3273dc!important;}.border-right-5{border-right:5px solid #dee2e6!important;}.border-primary-right-5{border-right:5px solid #007bff!important;}.border-secondary-right-5{border-right:5px solid #6c757d!important;}.border-success-right-5{border-right:5px solid #28a745!important;}.border-info-right-5{border-right:5px solid #17a2b8!important;}.border-warning-right-5{border-right:5px solid #ffc107!important;}.border-danger-right-5{border-right:5px solid #dc3545!important;}.border-light-right-5{border-right:5px solid #f8f9fa!important;}.border-dark-right-5{border-right:5px solid #343a40!important;}.border-link-right-5{border-right:5px solid #3273dc!important;}.border-bottom-5{border-bottom:5px solid #dee2e6!important;}.border-primary-bottom-5{border-bottom:5px solid #007bff!important;}.border-secondary-bottom-5{border-bottom:5px solid #6c757d!important;}.border-success-bottom-5{border-bottom:5px solid #28a745!important;}.border-info-bottom-5{border-bottom:5px solid #17a2b8!important;}.border-warning-bottom-5{border-bottom:5px solid #ffc107!important;}.border-danger-bottom-5{border-bottom:5px solid #dc3545!important;}.border-light-bottom-5{border-bottom:5px solid #f8f9fa!important;}.border-dark-bottom-5{border-bottom:5px solid #343a40!important;}.border-link-bottom-5{border-bottom:5px solid #3273dc!important;}.border-left-5{border-left:5px solid #dee2e6!important;}.border-primary-left-5{border-left:5px solid #007bff!important;}.border-secondary-left-5{border-left:5px solid #6c757d!important;}.border-success-left-5{border-left:5px solid #28a745!important;}.border-info-left-5{border-left:5px solid #17a2b8!important;}.border-warning-left-5{border-left:5px solid #ffc107!important;}.border-danger-left-5{border-left:5px solid #dc3545!important;}.border-light-left-5{border-left:5px solid #f8f9fa!important;}.border-dark-left-5{border-left:5px solid #343a40!important;}.border-link-left-5{border-left:5px solid #3273dc!important;}.cursor-pointer{cursor:pointer;}.grid{display:grid;grid-template-rows:repeat(1,1fr);grid-template-columns:repeat(12,1fr);gap:1.5rem;}.grid.g-rows-1{grid-template-rows:repeat(1,minmax(0,1fr));}.grid.g-rows-2{grid-template-rows:repeat(2,minmax(0,1fr));}.grid.g-rows-3{grid-template-rows:repeat(3,minmax(0,1fr));}.grid.g-rows-4{grid-template-rows:repeat(4,minmax(0,1fr));}.grid.g-rows-5{grid-template-rows:repeat(5,minmax(0,1fr));}.grid.g-rows-6{grid-template-rows:repeat(6,minmax(0,1fr));}.grid.g-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}.grid.g-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}.grid.g-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}.grid.g-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}.grid.g-cols-5{grid-template-columns:repeat(5,minmax(0,1fr));}.grid.g-cols-6{grid-template-columns:repeat(6,minmax(0,1fr));}.grid.g-cols-7{grid-template-columns:repeat(7,minmax(0,1fr));}.grid.g-cols-8{grid-template-columns:repeat(8,minmax(0,1fr));}.grid.g-cols-9{grid-template-columns:repeat(9,minmax(0,1fr));}.grid.g-cols-10{grid-template-columns:repeat(10,minmax(0,1fr));}.grid.g-cols-11{grid-template-columns:repeat(11,minmax(0,1fr));}.grid.g-cols-12{grid-template-columns:repeat(12,minmax(0,1fr));}@media(min-width:576px){.grid.g-rows-sm-1{grid-template-rows:repeat(1,minmax(0,1fr));}.grid.g-rows-sm-2{grid-template-rows:repeat(2,minmax(0,1fr));}.grid.g-rows-sm-3{grid-template-rows:repeat(3,minmax(0,1fr));}.grid.g-rows-sm-4{grid-template-rows:repeat(4,minmax(0,1fr));}.grid.g-rows-sm-5{grid-template-rows:repeat(5,minmax(0,1fr));}.grid.g-rows-sm-6{grid-template-rows:repeat(6,minmax(0,1fr));}.grid.g-cols-sm-1{grid-template-columns:repeat(1,minmax(0,1fr));}.grid.g-cols-sm-2{grid-template-columns:repeat(2,minmax(0,1fr));}.grid.g-cols-sm-3{grid-template-columns:repeat(3,minmax(0,1fr));}.grid.g-cols-sm-4{grid-template-columns:repeat(4,minmax(0,1fr));}.grid.g-cols-sm-5{grid-template-columns:repeat(5,minmax(0,1fr));}.grid.g-cols-sm-6{grid-template-columns:repeat(6,minmax(0,1fr));}.grid.g-cols-sm-7{grid-template-columns:repeat(7,minmax(0,1fr));}.grid.g-cols-sm-8{grid-template-columns:repeat(8,minmax(0,1fr));}.grid.g-cols-sm-9{grid-template-columns:repeat(9,minmax(0,1fr));}.grid.g-cols-sm-10{grid-template-columns:repeat(10,minmax(0,1fr));}.grid.g-cols-sm-11{grid-template-columns:repeat(11,minmax(0,1fr));}.grid.g-cols-sm-12{grid-template-columns:repeat(12,minmax(0,1fr));}}@media(min-width:768px){.grid.g-rows-md-1{grid-template-rows:repeat(1,minmax(0,1fr));}.grid.g-rows-md-2{grid-template-rows:repeat(2,minmax(0,1fr));}.grid.g-rows-md-3{grid-template-rows:repeat(3,minmax(0,1fr));}.grid.g-rows-md-4{grid-template-rows:repeat(4,minmax(0,1fr));}.grid.g-rows-md-5{grid-template-rows:repeat(5,minmax(0,1fr));}.grid.g-rows-md-6{grid-template-rows:repeat(6,minmax(0,1fr));}.grid.g-cols-md-1{grid-template-columns:repeat(1,minmax(0,1fr));}.grid.g-cols-md-2{grid-template-columns:repeat(2,minmax(0,1fr));}.grid.g-cols-md-3{grid-template-columns:repeat(3,minmax(0,1fr));}.grid.g-cols-md-4{grid-template-columns:repeat(4,minmax(0,1fr));}.grid.g-cols-md-5{grid-template-columns:repeat(5,minmax(0,1fr));}.grid.g-cols-md-6{grid-template-columns:repeat(6,minmax(0,1fr));}.grid.g-cols-md-7{grid-template-columns:repeat(7,minmax(0,1fr));}.grid.g-cols-md-8{grid-template-columns:repeat(8,minmax(0,1fr));}.grid.g-cols-md-9{grid-template-columns:repeat(9,minmax(0,1fr));}.grid.g-cols-md-10{grid-template-columns:repeat(10,minmax(0,1fr));}.grid.g-cols-md-11{grid-template-columns:repeat(11,minmax(0,1fr));}.grid.g-cols-md-12{grid-template-columns:repeat(12,minmax(0,1fr));}}@media(min-width:992px){.grid.g-rows-lg-1{grid-template-rows:repeat(1,minmax(0,1fr));}.grid.g-rows-lg-2{grid-template-rows:repeat(2,minmax(0,1fr));}.grid.g-rows-lg-3{grid-template-rows:repeat(3,minmax(0,1fr));}.grid.g-rows-lg-4{grid-template-rows:repeat(4,minmax(0,1fr));}.grid.g-rows-lg-5{grid-template-rows:repeat(5,minmax(0,1fr));}.grid.g-rows-lg-6{grid-template-rows:repeat(6,minmax(0,1fr));}.grid.g-cols-lg-1{grid-template-columns:repeat(1,minmax(0,1fr));}.grid.g-cols-lg-2{grid-template-columns:repeat(2,minmax(0,1fr));}.grid.g-cols-lg-3{grid-template-columns:repeat(3,minmax(0,1fr));}.grid.g-cols-lg-4{grid-template-columns:repeat(4,minmax(0,1fr));}.grid.g-cols-lg-5{grid-template-columns:repeat(5,minmax(0,1fr));}.grid.g-cols-lg-6{grid-template-columns:repeat(6,minmax(0,1fr));}.grid.g-cols-lg-7{grid-template-columns:repeat(7,minmax(0,1fr));}.grid.g-cols-lg-8{grid-template-columns:repeat(8,minmax(0,1fr));}.grid.g-cols-lg-9{grid-template-columns:repeat(9,minmax(0,1fr));}.grid.g-cols-lg-10{grid-template-columns:repeat(10,minmax(0,1fr));}.grid.g-cols-lg-11{grid-template-columns:repeat(11,minmax(0,1fr));}.grid.g-cols-lg-12{grid-template-columns:repeat(12,minmax(0,1fr));}}@media(min-width:1200px){.grid.g-rows-xl-1{grid-template-rows:repeat(1,minmax(0,1fr));}.grid.g-rows-xl-2{grid-template-rows:repeat(2,minmax(0,1fr));}.grid.g-rows-xl-3{grid-template-rows:repeat(3,minmax(0,1fr));}.grid.g-rows-xl-4{grid-template-rows:repeat(4,minmax(0,1fr));}.grid.g-rows-xl-5{grid-template-rows:repeat(5,minmax(0,1fr));}.grid.g-rows-xl-6{grid-template-rows:repeat(6,minmax(0,1fr));}.grid.g-cols-xl-1{grid-template-columns:repeat(1,minmax(0,1fr));}.grid.g-cols-xl-2{grid-template-columns:repeat(2,minmax(0,1fr));}.grid.g-cols-xl-3{grid-template-columns:repeat(3,minmax(0,1fr));}.grid.g-cols-xl-4{grid-template-columns:repeat(4,minmax(0,1fr));}.grid.g-cols-xl-5{grid-template-columns:repeat(5,minmax(0,1fr));}.grid.g-cols-xl-6{grid-template-columns:repeat(6,minmax(0,1fr));}.grid.g-cols-xl-7{grid-template-columns:repeat(7,minmax(0,1fr));}.grid.g-cols-xl-8{grid-template-columns:repeat(8,minmax(0,1fr));}.grid.g-cols-xl-9{grid-template-columns:repeat(9,minmax(0,1fr));}.grid.g-cols-xl-10{grid-template-columns:repeat(10,minmax(0,1fr));}.grid.g-cols-xl-11{grid-template-columns:repeat(11,minmax(0,1fr));}.grid.g-cols-xl-12{grid-template-columns:repeat(12,minmax(0,1fr));}}.grid .g-col-1{grid-column:auto/span 1;}.grid .g-col-2{grid-column:auto/span 2;}.grid .g-col-3{grid-column:auto/span 3;}.grid .g-col-4{grid-column:auto/span 4;}.grid .g-col-5{grid-column:auto/span 5;}.grid .g-col-6{grid-column:auto/span 6;}.grid .g-col-7{grid-column:auto/span 7;}.grid .g-col-8{grid-column:auto/span 8;}.grid .g-col-9{grid-column:auto/span 9;}.grid .g-col-10{grid-column:auto/span 10;}.grid .g-col-11{grid-column:auto/span 11;}.grid .g-col-12{grid-column:auto/span 12;}@media(min-width:576px){.grid .g-col-sm-1{grid-column:auto/span 1;}.grid .g-col-sm-2{grid-column:auto/span 2;}.grid .g-col-sm-3{grid-column:auto/span 3;}.grid .g-col-sm-4{grid-column:auto/span 4;}.grid .g-col-sm-5{grid-column:auto/span 5;}.grid .g-col-sm-6{grid-column:auto/span 6;}.grid .g-col-sm-7{grid-column:auto/span 7;}.grid .g-col-sm-8{grid-column:auto/span 8;}.grid .g-col-sm-9{grid-column:auto/span 9;}.grid .g-col-sm-10{grid-column:auto/span 10;}.grid .g-col-sm-11{grid-column:auto/span 11;}.grid .g-col-sm-12{grid-column:auto/span 12;}}@media(min-width:768px){.grid .g-col-md-1{grid-column:auto/span 1;}.grid .g-col-md-2{grid-column:auto/span 2;}.grid .g-col-md-3{grid-column:auto/span 3;}.grid .g-col-md-4{grid-column:auto/span 4;}.grid .g-col-md-5{grid-column:auto/span 5;}.grid .g-col-md-6{grid-column:auto/span 6;}.grid .g-col-md-7{grid-column:auto/span 7;}.grid .g-col-md-8{grid-column:auto/span 8;}.grid .g-col-md-9{grid-column:auto/span 9;}.grid .g-col-md-10{grid-column:auto/span 10;}.grid .g-col-md-11{grid-column:auto/span 11;}.grid .g-col-md-12{grid-column:auto/span 12;}}@media(min-width:992px){.grid .g-col-lg-1{grid-column:auto/span 1;}.grid .g-col-lg-2{grid-column:auto/span 2;}.grid .g-col-lg-3{grid-column:auto/span 3;}.grid .g-col-lg-4{grid-column:auto/span 4;}.grid .g-col-lg-5{grid-column:auto/span 5;}.grid .g-col-lg-6{grid-column:auto/span 6;}.grid .g-col-lg-7{grid-column:auto/span 7;}.grid .g-col-lg-8{grid-column:auto/span 8;}.grid .g-col-lg-9{grid-column:auto/span 9;}.grid .g-col-lg-10{grid-column:auto/span 10;}.grid .g-col-lg-11{grid-column:auto/span 11;}.grid .g-col-lg-12{grid-column:auto/span 12;}}@media(min-width:1200px){.grid .g-col-xl-1{grid-column:auto/span 1;}.grid .g-col-xl-2{grid-column:auto/span 2;}.grid .g-col-xl-3{grid-column:auto/span 3;}.grid .g-col-xl-4{grid-column:auto/span 4;}.grid .g-col-xl-5{grid-column:auto/span 5;}.grid .g-col-xl-6{grid-column:auto/span 6;}.grid .g-col-xl-7{grid-column:auto/span 7;}.grid .g-col-xl-8{grid-column:auto/span 8;}.grid .g-col-xl-9{grid-column:auto/span 9;}.grid .g-col-xl-10{grid-column:auto/span 10;}.grid .g-col-xl-11{grid-column:auto/span 11;}.grid .g-col-xl-12{grid-column:auto/span 12;}}ol.ordered-list-lower-alpha{list-style-type:lower-alpha;}ol.ordered-list-lower-roman{list-style-type:lower-roman;}ol.ordered-list-upper-alpha{list-style-type:upper-alpha;}ol.ordered-list-upper-roman{list-style-type:upper-roman;}.overflow-visible{overflow:visible!important;}.overflow-scroll{overflow:scroll!important;}.overflow-auto-auto{overflow:auto auto!important;}.overflow-auto-hidden{overflow:auto hidden!important;}.overflow-auto-visible{overflow:auto visible!important;}.overflow-auto-scroll{overflow:auto scroll!important;}.overflow-hidden-auto{overflow:hidden auto!important;}.overflow-hidden-hidden{overflow:hidden hidden!important;}.overflow-hidden-visible{overflow:hidden visible!important;}.overflow-hidden-scroll{overflow:hidden scroll!important;}.overflow-visible-auto{overflow:visible auto!important;}.overflow-visible-hidden{overflow:visible hidden!important;}.overflow-visible-visible{overflow:visible visible!important;}.overflow-visible-scroll{overflow:visible scroll!important;}.overflow-scroll-auto{overflow:scroll auto!important;}.overflow-scroll-hidden{overflow:scroll hidden!important;}.overflow-scroll-visible{overflow:scroll visible!important;}.overflow-scroll-scroll{overflow:scroll scroll!important;}.top-0{top:0!important;}.bottom-0{bottom:0!important;}.left-0{left:0!important;}.right-0{right:0!important;}.top-50{top:50%!important;}.bottom-50{bottom:50%!important;}.left-50{left:50%!important;}.right-50{right:50%!important;}.top-100{top:100%!important;}.bottom-100{bottom:100%!important;}.left-100{left:100%!important;}.right-100{right:100%!important;}.translate-middle{transform:translate(-50%,-50%)!important;}.translate-middle-x{transform:translateX(-50%)!important;}.translate-middle-y{transform:translateY(-50%)!important;}@media(min-width:576px){.w-sm-25{width:25%!important;}.w-sm-33{width:33.333333%!important;}.w-sm-50{width:50%!important;}.w-sm-66{width:66.666667%!important;}.w-sm-75{width:75%!important;}.w-sm-100{width:100%!important;}.w-sm-auto{width:auto!important;}.h-sm-25{height:25%!important;}.h-sm-33{height:33.333333%!important;}.h-sm-50{height:50%!important;}.h-sm-66{height:66.666667%!important;}.h-sm-75{height:75%!important;}.h-sm-100{height:100%!important;}.h-sm-auto{height:auto!important;}.mw-sm-100{max-width:100%!important;}.mh-sm-100{max-height:100%!important;}.min-vw-sm-100{min-width:100vw!important;}.min-vh-sm-100{min-height:100vh!important;}.vw-sm-100{width:100vw!important;}.vh-sm-100{height:100vh!important;}}@media(min-width:768px){.w-md-25{width:25%!important;}.w-md-33{width:33.333333%!important;}.w-md-50{width:50%!important;}.w-md-66{width:66.666667%!important;}.w-md-75{width:75%!important;}.w-md-100{width:100%!important;}.w-md-auto{width:auto!important;}.h-md-25{height:25%!important;}.h-md-33{height:33.333333%!important;}.h-md-50{height:50%!important;}.h-md-66{height:66.666667%!important;}.h-md-75{height:75%!important;}.h-md-100{height:100%!important;}.h-md-auto{height:auto!important;}.mw-md-100{max-width:100%!important;}.mh-md-100{max-height:100%!important;}.min-vw-md-100{min-width:100vw!important;}.min-vh-md-100{min-height:100vh!important;}.vw-md-100{width:100vw!important;}.vh-md-100{height:100vh!important;}}@media(min-width:992px){.w-lg-25{width:25%!important;}.w-lg-33{width:33.333333%!important;}.w-lg-50{width:50%!important;}.w-lg-66{width:66.666667%!important;}.w-lg-75{width:75%!important;}.w-lg-100{width:100%!important;}.w-lg-auto{width:auto!important;}.h-lg-25{height:25%!important;}.h-lg-33{height:33.333333%!important;}.h-lg-50{height:50%!important;}.h-lg-66{height:66.666667%!important;}.h-lg-75{height:75%!important;}.h-lg-100{height:100%!important;}.h-lg-auto{height:auto!important;}.mw-lg-100{max-width:100%!important;}.mh-lg-100{max-height:100%!important;}.min-vw-lg-100{min-width:100vw!important;}.min-vh-lg-100{min-height:100vh!important;}.vw-lg-100{width:100vw!important;}.vh-lg-100{height:100vh!important;}}@media(min-width:1200px){.w-xl-25{width:25%!important;}.w-xl-33{width:33.333333%!important;}.w-xl-50{width:50%!important;}.w-xl-66{width:66.666667%!important;}.w-xl-75{width:75%!important;}.w-xl-100{width:100%!important;}.w-xl-auto{width:auto!important;}.h-xl-25{height:25%!important;}.h-xl-33{height:33.333333%!important;}.h-xl-50{height:50%!important;}.h-xl-66{height:66.666667%!important;}.h-xl-75{height:75%!important;}.h-xl-100{height:100%!important;}.h-xl-auto{height:auto!important;}.mw-xl-100{max-width:100%!important;}.mh-xl-100{max-height:100%!important;}.min-vw-xl-100{min-width:100vw!important;}.min-vh-xl-100{min-height:100vh!important;}.vw-xl-100{width:100vw!important;}.vh-xl-100{height:100vh!important;}}.gap-0{gap:0!important;}.gap-y-0{row-gap:0!important;}.gap-x-0{column-gap:0!important;}.gap-1{gap:.25rem!important;}.gap-y-1{row-gap:.25rem!important;}.gap-x-1{column-gap:.25rem!important;}.gap-2{gap:.5rem!important;}.gap-y-2{row-gap:.5rem!important;}.gap-x-2{column-gap:.5rem!important;}.gap-3{gap:1rem!important;}.gap-y-3{row-gap:1rem!important;}.gap-x-3{column-gap:1rem!important;}.gap-4{gap:1.5rem!important;}.gap-y-4{row-gap:1.5rem!important;}.gap-x-4{column-gap:1.5rem!important;}.gap-5{gap:3rem!important;}.gap-y-5{row-gap:3rem!important;}.gap-x-5{column-gap:3rem!important;}.fs-xs{font-size:.75rem!important;}.fs-sm{font-size:.925rem!important;}.fs-md{font-size:1.125rem!important;}.fs-lg{font-size:1.25rem!important;}.fs-xl{font-size:1.5rem!important;}.fs-1{font-size:2.5rem!important;}.fs-2{font-size:2rem!important;}.fs-3{font-size:1.75rem!important;}.fs-4{font-size:1.5rem!important;}.fs-5{font-size:1.25rem!important;}.fs-6{font-size:1rem!important;}.font-weight-semibold{font-weight:600!important;}.flatpickr-months{margin:.5rem 0;}.flatpickr-months .flatpickr-month,.flatpickr-months .flatpickr-next-month,.flatpickr-months .flatpickr-prev-month{height:auto;position:relative;}.flatpickr-months .flatpickr-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg,.flatpickr-months .flatpickr-prev-month:hover svg{fill:#007bff;}.flatpickr-months .flatpickr-month{color:#212529;}.flatpickr-current-month{padding:13px 0 0 0;font-size:115%;}.flatpickr-current-month span.cur-month{font-weight:700;}.flatpickr-current-month span.cur-month:hover{background:rgba(0,123,255,.15);}.numInputWrapper:hover{background:rgba(0,123,255,.15);}.flatpickr-day{border-radius:.25rem;font-weight:500;color:#212529;}.flatpickr-day.today{border-color:#007bff;}.flatpickr-day.today:hover{background:#007bff;border-color:#007bff;}.flatpickr-day:hover{background:rgba(0,123,255,.1);border-color:rgba(0,0,0,0);}span.flatpickr-weekday{color:#212529;}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{background:#007bff;border-color:#007bff;}.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)){box-shadow:-10px 0 0 #007bff;}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:.25rem 0 0 .25rem;}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0 .25rem .25rem 0;}.flatpickr-monthSelect-month:hover,.flatpickr-monthSelect-month:focus{background:rgba(0,123,255,.1);}.flatpickr-monthSelect-month.selected{background-color:#007bff;} \ No newline at end of file diff --git a/_content/Blazorise.Bootstrap/modal.js b/_content/Blazorise.Bootstrap/modal.js new file mode 100755 index 0000000..3417e4a --- /dev/null +++ b/_content/Blazorise.Bootstrap/modal.js @@ -0,0 +1,119 @@ +import { addClassToBody, removeClassFromBody } from "../Blazorise/utilities.js?v=1.4.2.0"; + +export function open(element, scrollToTop) { + adjustDialogDimensionsBeforeShow(element); + + var modals = Number(document.body.getAttribute("data-modals") || "0"); + + if (modals === 0) { + addClassToBody("modal-open"); + } + + modals += 1; + + document.body.setAttribute("data-modals", modals.toString()); + + if (scrollToTop) { + const modalBody = element.querySelector('.modal-body'); + + if (modalBody) { + modalBody.scrollTop = 0; + } + } +} + +export function close(element) { + var modals = Number(document.body.getAttribute("data-modals") || "0"); + + modals -= 1; + + if (modals < 0) { + modals = 0; + } + + if (modals === 0) { + removeClassFromBody("modal-open"); + } + + document.body.setAttribute("data-modals", modals.toString()); + + resetAdjustments(element); +} + +export function adjustDialogDimensionsBeforeShow(element) { + if (element) { + const rect = document.body.getBoundingClientRect(); + const isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth; + const scrollbarWidth = getScrollBarWidth(); + + if (isBodyOverflowing) { + const fixedContent = [].slice.call(document.querySelectorAll('.fixed-top, .fixed-bottom, .is-fixed, .sticky-top')); + const stickyContent = [].slice.call(document.querySelectorAll('.sticky-top')); + + // Adjust fixed content padding + if (fixedContent) { + fixedContent.forEach((fixedContentElement) => { + const calculatedPadding = fixedContentElement.style.paddingRight; + + fixedContentElement.style.paddingRight = `${parseFloat(calculatedPadding) + scrollbarWidth}px`; + }); + } + + // Adjust sticky content margin + if (stickyContent) { + stickyContent.forEach((stickyContentElement) => { + const calculatedMargin = stickyContentElement.style.marginRight; + + stickyContentElement.style.marginRight = `${parseFloat(calculatedMargin) - scrollbarWidth}px`; + }); + } + + // Adjust body padding + const calculatedPadding = document.body.style.paddingRight; + + document.body.style.paddingRight = `${calculatedPadding + scrollbarWidth}px`; + } + + const isModalOverflowing = element.scrollHeight > document.documentElement.clientHeight; + + if (!isBodyOverflowing && isModalOverflowing) { + element.style.paddingLeft = `${scrollbarWidth}px`; + } + + if (isBodyOverflowing && !isModalOverflowing) { + element.style.paddingRight = `${scrollbarWidth}px`; + } + } +} +export function resetAdjustments(element) { + // Restore element padding + if (element && element.style) { + element.style.paddingLeft = '' + element.style.paddingRight = ''; + } + + const fixedContent = [].slice.call(document.querySelectorAll('.fixed-top, .fixed-bottom, .is-fixed, .sticky-top')); + const stickyContent = [].slice.call(document.querySelectorAll('.sticky-top')); + + // Restore fixed content padding + if (fixedContent) { + fixedContent.forEach((fixedContentElement) => { + fixedContentElement.style.paddingRight = ''; + }); + } + + // Restore sticky content + if (stickyContent) { + stickyContent.forEach((stickyContentElement) => { + stickyContentElement.style.marginRight = ''; + }); + } + + // Restore body padding + document.body.style.paddingRight = ''; +} + +export function getScrollBarWidth() { + const documentWidth = document.documentElement.clientWidth; + return Math.abs(window.innerWidth - documentWidth); +} \ No newline at end of file diff --git a/_content/Blazorise.Bootstrap/tooltip.js b/_content/Blazorise.Bootstrap/tooltip.js new file mode 100755 index 0000000..fe4253f --- /dev/null +++ b/_content/Blazorise.Bootstrap/tooltip.js @@ -0,0 +1,11 @@ +import { initialize as baseInitialize, destroy, updateContent } from "../Blazorise/tooltip.js?v=1.4.2.0"; + +export function initialize(element, elementId, options) { + baseInitialize(element, elementId, options); + + if (options.autodetectInline && element && element.querySelector(".custom-control-input,.btn")) { + element.classList.add("b-tooltip-inline"); + } +} + +export { destroy, updateContent }; \ No newline at end of file diff --git a/_content/Blazorise/blazorise.css b/_content/Blazorise/blazorise.css new file mode 100755 index 0000000..69f35a5 --- /dev/null +++ b/_content/Blazorise/blazorise.css @@ -0,0 +1,2453 @@ +body:before { + content: "mobile"; + display: none; + visibility: hidden; +} + +@media (min-width: 768px) { + body:before { + content: "tablet"; + } +} +@media (min-width: 992px) { + body:before { + content: "desktop"; + } +} +@media (min-width: 1200px) { + body:before { + content: "widescreen"; + } +} +@media (min-width: 1400px) { + body:before { + content: "fullhd"; + } +} +hr.divider.divider-solid { + border-top: var(--b-divider-thickness, 1px) solid var(--b-divider-color, #999); +} +hr.divider.divider-dashed { + border-top: var(--b-divider-thickness, 1px) dashed var(--b-divider-color, #999); +} +hr.divider.divider-dotted { + border-top: var(--b-divider-thickness, 1px) dotted var(--b-divider-color, #999); +} +hr.divider.divider-text { + position: relative; + border: none; + height: var(--b-divider-thickness, 1px); + background: var(--b-divider-color, #999); +} +hr.divider.divider-text::before { + content: attr(data-content); + display: inline-block; + background: #fff; + font-weight: bold; + font-size: var(--b-divider-font-size, 0.85rem); + color: var(--b-divider-color, #999); + border-radius: 30rem; + padding: 0.2rem 2rem; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} + +.b-drop-zone { + position: relative; + transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; +} +.b-drop-zone.b-drop-zone-drag-block > * { + pointer-events: none; +} +.b-drop-zone.b-drop-zone-drop-allowed { + outline: 1px solid var(--b-theme-success, "#00FF00") !important; +} +.b-drop-zone.b-drop-zone-drop-not-allowed { + outline: 1px solid var(--b-theme-danger, "#FF0000") !important; +} +.b-drop-zone-draggable:not(.draggable-preview-start) { + cursor: grab; + user-select: none; +} +.b-drop-zone-draggable:not(.draggable-preview-start):active { + cursor: grabbing; +} +.b-drop-zone .draggable-placeholder { + outline: 2px dashed var(--b-theme-primary, "#0000FF") !important; + padding: 1rem; +} +.b-drop-zone .draggable-preview-start { + height: 20px; + width: 100%; + position: absolute; + top: 0; + left: 0; + z-index: 1; +} + +.b-file-picker { + display: inline-block; + width: 100%; + /*.dropdown { + .custom-file { + width: auto; + + .custom-file-label { + border: 0; + } + } + + .b-file-picker-files { + width: 100%; + } + + .b-file-picker-file { + margin-right: 1.5rem; + } + }*/ +} +.b-file-picker .b-text-drop { + border: 1px solid rgba(0, 0, 0, 0.15); + margin-top: 0.5rem; + display: block; + text-align: center; + font-size: 0.75rem; + padding-top: 0.25rem; + padding-bottom: 0.25rem; +} +.b-file-picker .b-file-picker-file { + min-width: 25rem; +} +.b-file-picker .b-file-picker-file span { + display: block; +} +.b-file-picker .b-file-picker-file .b-file-picker-file-size, .b-file-picker .b-file-picker-file .b-file-picker-file-status, .b-file-picker .b-file-picker-file .b-file-picker-file-relativepath { + font-size: 0.75rem; +} + +.b-input-color-picker { + padding: 0.6rem; +} +.b-input-color-picker > .b-input-color-picker-preview { + position: relative; + z-index: 1; + width: 100%; + height: 100%; + display: flex; + flex-direction: row; + justify-content: space-between; + /*margin-bottom: 0.5em;*/ +} +.b-input-color-picker > .b-input-color-picker-preview::before { + position: absolute; + content: ""; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: url('data:image/svg+xml;utf8, '); + background-size: 0.5em; + border-radius: 0.15em; + z-index: -1; +} +.b-input-color-picker > .b-input-color-picker-preview > .b-input-color-picker-curent-color { + display: inline-block; + width: 100%; + height: 100%; +} +.b-input-color-picker[aria-disabled=true] { + opacity: 0.65; +} + +.progress.progress-xs { + height: 0.25rem; +} +.progress.progress-sm { + height: 0.5rem; +} +.progress.progress-md { + height: 1rem; +} +.progress.progress-lg { + height: 1.5rem; +} +.progress.progress-xl { + height: 2rem; +} + +.b-page-progress { + width: 100%; + height: 4px; + z-index: 9999; + top: 0; + left: 0; + position: fixed; + display: none; +} +.b-page-progress .b-page-progress-indicator { + width: 0; + height: 100%; + transition: height 0.3s; + background-color: #000; + transition: width 1s; +} +.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-indeterminate { + width: 30%; + animation: running-page-progress 2s cubic-bezier(0.4, 0, 0.2, 1) infinite; +} +.b-page-progress.b-page-progress-active { + display: block; +} + +@keyframes running-page-progress { + 0% { + margin-left: 0px; + margin-right: 100%; + } + 50% { + margin-left: 25%; + margin-right: 0%; + } + 100% { + margin-left: 100%; + margin-right: 0; + } +} +.tippy-box[data-animation=scale][data-placement^=top] { + transform-origin: bottom; +} + +.tippy-box[data-animation=scale][data-placement^=bottom] { + transform-origin: top; +} + +.tippy-box[data-animation=scale][data-placement^=left] { + transform-origin: right; +} + +.tippy-box[data-animation=scale][data-placement^=right] { + transform-origin: left; +} + +.tippy-box[data-animation=scale][data-state=hidden] { + transform: scale(0.5); + opacity: 0; +} + +.tippy-box[data-theme~=blazorise] { + background-color: RGBA( var(--b-tooltip-background-color-r, 128), var(--b-tooltip-background-color-g, 128), var(--b-tooltip-background-color-b, 128), var(--b-tooltip-background-opacity, 0.9) ); + color: var(--b-tooltip-color, #ffffff); +} + +.tippy-box[data-theme~=blazorise][data-placement^=top] > .tippy-arrow::before { + border-top-color: RGBA( var(--b-tooltip-background-color-r, 128), var(--b-tooltip-background-color-g, 128), var(--b-tooltip-background-color-b, 128), var(--b-tooltip-background-opacity, 0.9) ); +} + +.tippy-box[data-theme~=blazorise][data-placement^=bottom] > .tippy-arrow::before { + border-bottom-color: RGBA( var(--b-tooltip-background-color-r, 128), var(--b-tooltip-background-color-g, 128), var(--b-tooltip-background-color-b, 128), var(--b-tooltip-background-opacity, 0.9) ); +} + +.tippy-box[data-theme~=blazorise][data-placement^=left] > .tippy-arrow::before { + border-left-color: RGBA( var(--b-tooltip-background-color-r, 128), var(--b-tooltip-background-color-g, 128), var(--b-tooltip-background-color-b, 128), var(--b-tooltip-background-opacity, 0.9) ); +} + +.tippy-box[data-theme~=blazorise][data-placement^=right] > .tippy-arrow::before { + border-right-color: RGBA( var(--b-tooltip-background-color-r, 128), var(--b-tooltip-background-color-g, 128), var(--b-tooltip-background-color-b, 128), var(--b-tooltip-background-opacity, 0.9) ); +} + +.tippy-box[data-theme~=blazorise] > .tippy-svg-arrow { + fill: RGBA( var(--b-tooltip-background-color-r, 128), var(--b-tooltip-background-color-g, 128), var(--b-tooltip-background-color-b, 128), var(--b-tooltip-background-opacity, 0.9) ); +} + +.b-tooltip-inline { + display: inline-block; +} + +.b-layout { + display: flex; + flex: auto; + flex-direction: column; +} +.b-layout.b-layout-root { + height: 100vh; +} + +.b-layout, +.b-layout * { + box-sizing: border-box; +} + +@keyframes spinner { + 0% { + transform: translate3d(-50%, -50%, 0) rotate(0deg); + } + 100% { + transform: translate3d(-50%, -50%, 0) rotate(360deg); + } +} +.b-layout > .b-layout-loading { + z-index: 9999; + position: fixed; + width: 100%; + height: 100%; + background: rgba(0, 0, 0, 0.3); +} +.b-layout > .b-layout-loading:before { + animation: 1s linear infinite spinner; + border: solid 3px #eee; + border-bottom-color: var(--b-theme-primary); + border-radius: 50%; + height: 40px; + left: 50%; + position: absolute; + top: 50%; + transform: translate3d(-50%, -50%, 0); + width: 40px; + content: " "; +} +.b-layout.b-layout-has-sider { + flex-direction: row; + min-height: 0; +} +.b-layout.b-layout-has-sider .b-layout { + overflow-x: hidden; +} + +.b-layout-header, +.b-layout-footer { + flex: 0 0 auto; +} + +.b-layout-header { + color: rgba(0, 0, 0, 0.65); +} + +.b-layout.b-layout-root.b-layout-has-sider > .b-layout-header-fixed, +.b-layout.b-layout-root.b-layout-has-sider > .b-layout > .b-layout-header-fixed { + position: sticky; + top: 0; + width: 100%; + flex: 0; +} + +.b-layout.b-layout-root:not(.b-layout-has-sider) .b-layout-header-fixed, +.b-layout.b-layout-root:not(.b-layout-has-sider) > .b-layout .b-layout-header-fixed { + position: fixed; + top: 0; + left: 0; + right: 0; + flex: 0; +} +.b-layout.b-layout-root:not(.b-layout-has-sider) .b-layout-header-fixed + .b-layout-content, +.b-layout.b-layout-root:not(.b-layout-has-sider) > .b-layout .b-layout-header-fixed + .b-layout-content { + margin-top: var(--b-bar-horizontal-height, auto); +} + +.b-layout.b-layout-root > .b-layout-header.b-layout-header-fixed + .b-layout.b-layout-has-sider { + margin-top: var(--b-bar-horizontal-height, auto); +} + +.b-layout-footer { + color: rgba(0, 0, 0, 0.65); +} +.b-layout-footer-fixed { + position: sticky; + z-index: 1; + bottom: 0; + flex: 0; +} + +.b-layout-content { + flex: 1; +} + +.b-layout-sider { + display: flex; + position: relative; + background: #001529; +} + +.b-layout-sider-content { + position: sticky; + top: 0; + z-index: 2; +} + +.b-layout-header .navbar { + line-height: inherit; +} + +.b-bar-horizontal[data-collapse=hide] { + flex-wrap: nowrap; +} +.b-bar-horizontal[data-collapse=hide][data-broken=true] { + height: auto; +} +.b-bar-horizontal[data-broken=false] { + height: auto; +} + +.b-layout > .b-layout-header .b-bar-horizontal[data-collapse=hide][data-broken=true] { + height: var(--b-bar-horizontal-height, auto); +} +.b-layout > .b-layout-header .b-bar-horizontal[data-broken=false] { + height: var(--b-bar-horizontal-height, auto); +} + +.b-bar-initial { + display: none !important; +} + +.b-bar-vertical-inline, +.b-bar-vertical-popout, +.b-bar-vertical-small { + display: flex; + flex-direction: column; + flex-wrap: nowrap; + position: sticky; + top: 0; + padding: 0; + min-width: var(--b-vertical-bar-width, 230px); + max-width: var(--b-vertical-bar-width, 230px); + width: var(--b-vertical-bar-width, 230px); + box-shadow: 2px 0 6px rgba(0, 21, 41, 0.35); + height: 100%; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + /* + Theming + */ +} +.b-bar-vertical-inline:not(.b-bar-initial), +.b-bar-vertical-popout:not(.b-bar-initial), +.b-bar-vertical-small:not(.b-bar-initial) { + transition: width 200ms ease-in-out, min-width 200ms ease-in-out; +} +.b-bar-vertical-inline .b-bar-menu, +.b-bar-vertical-popout .b-bar-menu, +.b-bar-vertical-small .b-bar-menu { + width: 100%; + display: flex; + flex: 1; + justify-content: space-between; + flex-direction: column; + align-self: stretch; +} +.b-bar-vertical-inline .b-bar-brand, +.b-bar-vertical-popout .b-bar-brand, +.b-bar-vertical-small .b-bar-brand { + width: 100%; + display: flex; + height: var(--b-vertical-bar-brand-height, 64px); + min-height: var(--b-vertical-bar-brand-height, 64px); +} +.b-bar-vertical-inline .b-bar-toggler-inline, +.b-bar-vertical-popout .b-bar-toggler-inline, +.b-bar-vertical-small .b-bar-toggler-inline { + height: var(--b-vertical-bar-brand-height, 64px); + padding: 12px; + display: inline-flex; + cursor: pointer; + position: absolute; + right: 0; +} +.b-bar-vertical-inline .b-bar-toggler-inline > *, +.b-bar-vertical-popout .b-bar-toggler-inline > *, +.b-bar-vertical-small .b-bar-toggler-inline > * { + margin: auto; +} +.b-bar-vertical-inline .b-bar-toggler-popout:not(.b-bar-mobile-toggle), +.b-bar-vertical-popout .b-bar-toggler-popout:not(.b-bar-mobile-toggle), +.b-bar-vertical-small .b-bar-toggler-popout:not(.b-bar-mobile-toggle) { + display: flex; + position: fixed; + left: var(--b-vertical-bar-width, 230px); + border-radius: 0px 10px 10px 0px; + border: 0px; + width: 10px; + height: 40px; + padding: 5px; + align-items: center; + box-shadow: 2px 0 6px rgba(0, 21, 41, 0.35); + cursor: pointer; +} +.b-bar-vertical-inline .b-bar-toggler-popout:not(.b-bar-mobile-toggle):not(.b-bar-initial), +.b-bar-vertical-popout .b-bar-toggler-popout:not(.b-bar-mobile-toggle):not(.b-bar-initial), +.b-bar-vertical-small .b-bar-toggler-popout:not(.b-bar-mobile-toggle):not(.b-bar-initial) { + transition: width 200ms ease-in-out, left 200ms ease-in-out; +} +.b-bar-vertical-inline .b-bar-toggler-popout:not(.b-bar-mobile-toggle) > *, +.b-bar-vertical-popout .b-bar-toggler-popout:not(.b-bar-mobile-toggle) > *, +.b-bar-vertical-small .b-bar-toggler-popout:not(.b-bar-mobile-toggle) > * { + margin: auto; + display: none; +} +.b-bar-vertical-inline .b-bar-toggler-popout:not(.b-bar-mobile-toggle):hover, +.b-bar-vertical-popout .b-bar-toggler-popout:not(.b-bar-mobile-toggle):hover, +.b-bar-vertical-small .b-bar-toggler-popout:not(.b-bar-mobile-toggle):hover { + width: 45px; +} +.b-bar-vertical-inline .b-bar-toggler-popout:not(.b-bar-mobile-toggle):hover > *, +.b-bar-vertical-popout .b-bar-toggler-popout:not(.b-bar-mobile-toggle):hover > *, +.b-bar-vertical-small .b-bar-toggler-popout:not(.b-bar-mobile-toggle):hover > * { + display: block; +} +.b-bar-vertical-inline .b-bar-item, +.b-bar-vertical-popout .b-bar-item, +.b-bar-vertical-small .b-bar-item { + margin: auto; + flex-grow: 1; + min-height: 40px; +} +.b-bar-vertical-inline .b-bar-item .b-bar-icon, +.b-bar-vertical-popout .b-bar-item .b-bar-icon, +.b-bar-vertical-small .b-bar-item .b-bar-icon { + font-size: 1.25rem; + vertical-align: middle; + margin: 3px; + display: inline-block; +} +.b-bar-vertical-inline .b-bar-start, +.b-bar-vertical-popout .b-bar-start, +.b-bar-vertical-small .b-bar-start { + width: 100%; + display: block; +} +.b-bar-vertical-inline .b-bar-end, +.b-bar-vertical-popout .b-bar-end, +.b-bar-vertical-small .b-bar-end { + padding-bottom: 1rem; + width: 100%; + padding-top: 1rem; + display: block; +} +.b-bar-vertical-inline .b-bar-end .b-bar-dropdown, +.b-bar-vertical-popout .b-bar-end .b-bar-dropdown, +.b-bar-vertical-small .b-bar-end .b-bar-dropdown { + position: relative; +} +.b-bar-vertical-inline .b-bar-end .b-bar-dropdown-menu-container, +.b-bar-vertical-popout .b-bar-end .b-bar-dropdown-menu-container, +.b-bar-vertical-small .b-bar-end .b-bar-dropdown-menu-container { + bottom: 0; +} +.b-bar-vertical-inline .b-bar-link, +.b-bar-vertical-popout .b-bar-link, +.b-bar-vertical-small .b-bar-link { + display: block; + width: 100%; + text-decoration: none; + padding: 0.5rem 0.5rem 0.5rem 1.5rem; + cursor: pointer; + overflow-x: hidden; + line-height: 1.5rem; + vertical-align: middle; + transition: font-size 150ms ease-in; +} +.b-bar-vertical-inline .b-bar-label, +.b-bar-vertical-popout .b-bar-label, +.b-bar-vertical-small .b-bar-label { + background: transparent; + color: #adb5bd; + padding: 0.375rem 1.25rem; + font-size: 0.75rem; + text-overflow: ellipsis; + overflow-x: hidden; +} +.b-bar-vertical-inline .b-bar-dropdown .b-bar-dropdown-toggle:before, +.b-bar-vertical-popout .b-bar-dropdown .b-bar-dropdown-toggle:before, +.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-toggle:before { + content: " "; + border: solid; + border-width: 0 2px 2px 0; + display: inline-block; + padding: 2px; + right: 1rem; + transition: transform 200ms ease-out; + float: right; + position: relative; + -webkit-transform: rotate(225deg); + transform: rotate(225deg); + top: 0.7rem; +} +.b-bar-vertical-inline .b-bar-dropdown:not([data-visible=true]) .b-bar-dropdown-toggle:before, +.b-bar-vertical-popout .b-bar-dropdown:not([data-visible=true]) .b-bar-dropdown-toggle:before, +.b-bar-vertical-small .b-bar-dropdown:not([data-visible=true]) .b-bar-dropdown-toggle:before { + -webkit-transform: rotate(45deg); + transform: rotate(45deg); + top: 0.5rem; +} +.b-bar-vertical-inline .b-bar-dropdown .b-bar-dropdown-menu, +.b-bar-vertical-popout .b-bar-dropdown .b-bar-dropdown-menu, +.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu { + display: none; + background: inherit; + color: inherit; + float: none; + padding: 5px 0px; +} +.b-bar-vertical-inline .b-bar-dropdown .b-bar-dropdown-menu[data-visible=true], +.b-bar-vertical-popout .b-bar-dropdown .b-bar-dropdown-menu[data-visible=true], +.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu[data-visible=true] { + display: block; +} +.b-bar-vertical-inline .b-bar-dropdown .b-bar-dropdown-menu .b-bar-dropdown-item, +.b-bar-vertical-popout .b-bar-dropdown .b-bar-dropdown-menu .b-bar-dropdown-item, +.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu .b-bar-dropdown-item { + position: relative; + color: inherit; + transition: background 100ms ease-in-out, color 100ms ease-in-out; + text-decoration: none; + display: block; + width: 100%; + overflow-x: hidden; +} +.b-bar-vertical-inline .b-bar-dropdown .b-bar-dropdown-menu .b-bar-dropdown-item i, +.b-bar-vertical-popout .b-bar-dropdown .b-bar-dropdown-menu .b-bar-dropdown-item i, +.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu .b-bar-dropdown-item i { + margin-right: 0.3rem; +} +.b-bar-vertical-inline .b-bar-dropdown .b-bar-dropdown-menu:before, +.b-bar-vertical-popout .b-bar-dropdown .b-bar-dropdown-menu:before, +.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu:before { + background: inherit; + box-shadow: none; +} +.b-bar-vertical-inline .b-bar-mobile-toggle, +.b-bar-vertical-popout .b-bar-mobile-toggle, +.b-bar-vertical-small .b-bar-mobile-toggle { + right: 20px; + margin: auto; + display: none; +} +.b-bar-vertical-inline .b-bar-item-multi-line, +.b-bar-vertical-popout .b-bar-item-multi-line, +.b-bar-vertical-small .b-bar-item-multi-line { + display: -webkit-box !important; + -webkit-box-orient: vertical; + -webkit-line-clamp: var(--b-bar-item-lines, 2); + white-space: normal !important; + overflow: hidden; + text-overflow: ellipsis; +} +.b-bar-vertical-inline.b-bar-dark, +.b-bar-vertical-popout.b-bar-dark, +.b-bar-vertical-small.b-bar-dark { + background: var(--b-bar-dark-background, #001529); + color: var(--b-bar-dark-color, rgba(255, 255, 255, 0.5)); +} +.b-bar-vertical-inline.b-bar-dark .b-bar-brand, +.b-bar-vertical-popout.b-bar-dark .b-bar-brand, +.b-bar-vertical-small.b-bar-dark .b-bar-brand { + background: var(--b-bar-brand-dark-background, rgba(255, 255, 255, 0.025)); +} +.b-bar-vertical-inline.b-bar-dark .b-bar-brand .b-bar-link, +.b-bar-vertical-popout.b-bar-dark .b-bar-brand .b-bar-link, +.b-bar-vertical-small.b-bar-dark .b-bar-brand .b-bar-link { + color: #fff; +} +.b-bar-vertical-inline.b-bar-dark .b-bar-brand .b-bar-link.active, +.b-bar-vertical-popout.b-bar-dark .b-bar-brand .b-bar-link.active, +.b-bar-vertical-small.b-bar-dark .b-bar-brand .b-bar-link.active { + color: #fff; + background: inherit; +} +.b-bar-vertical-inline.b-bar-dark .b-bar-brand .b-bar-link:hover, +.b-bar-vertical-popout.b-bar-dark .b-bar-brand .b-bar-link:hover, +.b-bar-vertical-small.b-bar-dark .b-bar-brand .b-bar-link:hover { + color: #fff; + background: inherit; +} +.b-bar-vertical-inline.b-bar-dark .b-bar-toggler-popout:not(.b-bar-mobile-toggle), +.b-bar-vertical-popout.b-bar-dark .b-bar-toggler-popout:not(.b-bar-mobile-toggle), +.b-bar-vertical-small.b-bar-dark .b-bar-toggler-popout:not(.b-bar-mobile-toggle) { + background: var(--b-bar-dark-background, #001529); + color: var(--b-bar-dark-color, rgba(255, 255, 255, 0.5)); +} +.b-bar-vertical-inline.b-bar-dark .b-bar-dropdown-menu, +.b-bar-vertical-popout.b-bar-dark .b-bar-dropdown-menu, +.b-bar-vertical-small.b-bar-dark .b-bar-dropdown-menu { + background: var(--b-bar-dropdown-dark-background, #000c17); +} +.b-bar-vertical-inline.b-bar-dark .b-bar-dropdown-menu .b-bar-dropdown-item.active, +.b-bar-vertical-popout.b-bar-dark .b-bar-dropdown-menu .b-bar-dropdown-item.active, +.b-bar-vertical-small.b-bar-dark .b-bar-dropdown-menu .b-bar-dropdown-item.active { + color: var(--b-bar-item-dark-active-color, #fff); + background: var(--b-bar-item-dark-active-background, #0288D1); +} +.b-bar-vertical-inline.b-bar-dark .b-bar-dropdown-menu .b-bar-dropdown-item:hover, +.b-bar-vertical-popout.b-bar-dark .b-bar-dropdown-menu .b-bar-dropdown-item:hover, +.b-bar-vertical-small.b-bar-dark .b-bar-dropdown-menu .b-bar-dropdown-item:hover { + color: var(--b-bar-item-dark-hover-color, #fff); + background: var(--b-bar-item-dark-hover-background, rgba(255, 255, 255, 0.3)); +} +.b-bar-vertical-inline.b-bar-dark .b-bar-link, +.b-bar-vertical-popout.b-bar-dark .b-bar-link, +.b-bar-vertical-small.b-bar-dark .b-bar-link { + color: inherit; +} +.b-bar-vertical-inline.b-bar-dark .b-bar-link.active, +.b-bar-vertical-popout.b-bar-dark .b-bar-link.active, +.b-bar-vertical-small.b-bar-dark .b-bar-link.active { + color: var(--b-bar-item-dark-active-color, #fff); + background: var(--b-bar-item-dark-active-background, #0288D1); +} +.b-bar-vertical-inline.b-bar-dark .b-bar-link:hover, +.b-bar-vertical-popout.b-bar-dark .b-bar-link:hover, +.b-bar-vertical-small.b-bar-dark .b-bar-link:hover { + color: var(--b-bar-item-dark-hover-color, #fff); + background: var(--b-bar-item-dark-hover-background, rgba(255, 255, 255, 0.3)); +} +.b-bar-vertical-inline.b-bar-light, +.b-bar-vertical-popout.b-bar-light, +.b-bar-vertical-small.b-bar-light { + background: var(--b-bar-light-background, #fff); + color: var(--b-bar-light-color, rgba(0, 0, 0, 0.7)); +} +.b-bar-vertical-inline.b-bar-light .b-bar-brand, +.b-bar-vertical-popout.b-bar-light .b-bar-brand, +.b-bar-vertical-small.b-bar-light .b-bar-brand { + background: var(--b-bar-brand-light-background, rgba(0, 0, 0, 0.025)); +} +.b-bar-vertical-inline.b-bar-light .b-bar-brand .b-bar-link, +.b-bar-vertical-popout.b-bar-light .b-bar-brand .b-bar-link, +.b-bar-vertical-small.b-bar-light .b-bar-brand .b-bar-link { + color: #000; +} +.b-bar-vertical-inline.b-bar-light .b-bar-brand .b-bar-link.active, +.b-bar-vertical-popout.b-bar-light .b-bar-brand .b-bar-link.active, +.b-bar-vertical-small.b-bar-light .b-bar-brand .b-bar-link.active { + background: inherit; +} +.b-bar-vertical-inline.b-bar-light .b-bar-brand .b-bar-link:hover, +.b-bar-vertical-popout.b-bar-light .b-bar-brand .b-bar-link:hover, +.b-bar-vertical-small.b-bar-light .b-bar-brand .b-bar-link:hover { + background: inherit; +} +.b-bar-vertical-inline.b-bar-light .b-bar-toggler-popout:not(.b-bar-mobile-toggle), +.b-bar-vertical-popout.b-bar-light .b-bar-toggler-popout:not(.b-bar-mobile-toggle), +.b-bar-vertical-small.b-bar-light .b-bar-toggler-popout:not(.b-bar-mobile-toggle) { + background: var(--b-bar-brand-light-background, #fff); + color: var(--b-bar-light-color, rgba(0, 0, 0, 0.7)); +} +.b-bar-vertical-inline.b-bar-light .b-bar-dropdown-menu, +.b-bar-vertical-popout.b-bar-light .b-bar-dropdown-menu, +.b-bar-vertical-small.b-bar-light .b-bar-dropdown-menu { + background: var(--b-bar-dropdown-light-background, #f2f2f2); +} +.b-bar-vertical-inline.b-bar-light .b-bar-dropdown-menu .b-bar-dropdown-item.active, +.b-bar-vertical-popout.b-bar-light .b-bar-dropdown-menu .b-bar-dropdown-item.active, +.b-bar-vertical-small.b-bar-light .b-bar-dropdown-menu .b-bar-dropdown-item.active { + color: var(--b-bar-item-light-active-color, #000); + background: var(--b-bar-item-light-active-background, #0288D1); +} +.b-bar-vertical-inline.b-bar-light .b-bar-dropdown-menu .b-bar-dropdown-item:hover, +.b-bar-vertical-popout.b-bar-light .b-bar-dropdown-menu .b-bar-dropdown-item:hover, +.b-bar-vertical-small.b-bar-light .b-bar-dropdown-menu .b-bar-dropdown-item:hover { + color: var(--b-bar-item-light-hover-color, #000); + background: var(--b-bar-item-light-hover-background, rgba(0, 0, 0, 0.3)); +} +.b-bar-vertical-inline.b-bar-light .b-bar-link, +.b-bar-vertical-popout.b-bar-light .b-bar-link, +.b-bar-vertical-small.b-bar-light .b-bar-link { + color: inherit; +} +.b-bar-vertical-inline.b-bar-light .b-bar-link.active, +.b-bar-vertical-popout.b-bar-light .b-bar-link.active, +.b-bar-vertical-small.b-bar-light .b-bar-link.active { + color: var(--b-bar-item-light-active-color, #000); + background: var(--b-bar-item-light-active-background, #0288D1); +} +.b-bar-vertical-inline.b-bar-light .b-bar-link:hover, +.b-bar-vertical-popout.b-bar-light .b-bar-link:hover, +.b-bar-vertical-small.b-bar-light .b-bar-link:hover { + color: var(--b-bar-item-light-hover-color, #000); + background: var(--b-bar-item-light-hover-background, rgba(0, 0, 0, 0.3)); +} + +.b-bar-vertical-small, +.b-bar-vertical-inline[data-collapse=small], +.b-bar-vertical-popout[data-collapse=small] { + width: var(--b-vertical-bar-small-width, 64px); + min-width: var(--b-vertical-bar-small-width, 64px); +} +.b-bar-vertical-small:not(.b-bar-initial), +.b-bar-vertical-inline[data-collapse=small]:not(.b-bar-initial), +.b-bar-vertical-popout[data-collapse=small]:not(.b-bar-initial) { + transition: width 200ms ease-in-out, min-width 200ms ease-in-out; +} +.b-bar-vertical-small .b-bar-toggler-inline, +.b-bar-vertical-inline[data-collapse=small] .b-bar-toggler-inline, +.b-bar-vertical-popout[data-collapse=small] .b-bar-toggler-inline { + position: relative; + width: 100%; +} +.b-bar-vertical-small .b-bar-toggler-popout:not(.b-bar-mobile-toggle), +.b-bar-vertical-inline[data-collapse=small] .b-bar-toggler-popout:not(.b-bar-mobile-toggle), +.b-bar-vertical-popout[data-collapse=small] .b-bar-toggler-popout:not(.b-bar-mobile-toggle) { + left: var(--b-vertical-bar-small-width, 64px); +} +.b-bar-vertical-small .b-bar-item > .b-bar-dropdown > .b-bar-dropdown-toggle:before, +.b-bar-vertical-inline[data-collapse=small] .b-bar-item > .b-bar-dropdown > .b-bar-dropdown-toggle:before, +.b-bar-vertical-popout[data-collapse=small] .b-bar-item > .b-bar-dropdown > .b-bar-dropdown-toggle:before { + display: none; +} +.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container, +.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container, +.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container { + z-index: 100; + max-height: 50vh; + position: absolute !important; + margin: -42px 5px 0px 5px; + display: flex; + width: var(--b-vertical-bar-popout-menu-width, 180px); + left: var(--b-vertical-bar-small-width, 64px); +} +.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container.b-bar-right, +.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container.b-bar-right, +.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container.b-bar-right { + right: var(--b-vertical-bar-small-width, 64px); + left: unset; +} +.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu, +.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu, +.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu { + box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); + border-radius: 3px; + overflow-y: auto; + overflow-x: hidden; + flex: 1 100%; +} +.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu .b-bar-dropdown-item, +.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu .b-bar-dropdown-item, +.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu .b-bar-dropdown-item { + padding: 0.5rem 0.5rem 0.5rem 1.5rem; +} +.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu:before, +.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu:before, +.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu:before { + position: absolute; + top: 0; + left: -7px; + right: 0; + bottom: 0; + width: 100%; + height: 100%; + opacity: 0.0001; + content: " "; + z-index: -1; +} +.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu.b-bar-right:before, +.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu.b-bar-right:before, +.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu.b-bar-right:before { + left: unset; + right: -7px; +} +.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu > .b-bar-dropdown .b-bar-dropdown-menu-container, +.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu > .b-bar-dropdown .b-bar-dropdown-menu-container, +.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu > .b-bar-dropdown .b-bar-dropdown-menu-container { + left: var(--b-vertical-bar-popout-menu-width, 180px); +} +.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu > .b-bar-dropdown .b-bar-dropdown-menu-container.b-bar-right, +.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu > .b-bar-dropdown .b-bar-dropdown-menu-container.b-bar-right, +.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu > .b-bar-dropdown .b-bar-dropdown-menu-container.b-bar-right { + right: var(--b-vertical-bar-popout-menu-width, 180px); +} +.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu > .b-bar-dropdown .b-bar-dropdown-toggle:before, +.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu > .b-bar-dropdown .b-bar-dropdown-toggle:before, +.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu > .b-bar-dropdown .b-bar-dropdown-toggle:before { + content: " "; + border: solid; + border-width: 0 2px 2px 0; + display: inline-block; + padding: 2px; + right: 1rem; + transition: transform 200ms ease-out; + float: right; + position: relative; + -webkit-transform: rotate(135deg); + transform: rotate(135deg); + right: 0.8rem; +} +.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu > .b-bar-dropdown:not([data-visible=true]) .b-bar-dropdown-toggle:before, +.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu > .b-bar-dropdown:not([data-visible=true]) .b-bar-dropdown-toggle:before, +.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu > .b-bar-dropdown:not([data-visible=true]) .b-bar-dropdown-toggle:before { + -webkit-transform: rotate(315deg); + transform: rotate(315deg); +} +@keyframes b-bar-link-small { + to { + text-align: center; + padding-left: 0px; + padding-right: 0px; + } +} +.b-bar-vertical-small .b-bar-item > .b-bar-link, +.b-bar-vertical-small .b-bar-item > .b-bar-dropdown > .b-bar-link, +.b-bar-vertical-inline[data-collapse=small] .b-bar-item > .b-bar-link, +.b-bar-vertical-inline[data-collapse=small] .b-bar-item > .b-bar-dropdown > .b-bar-link, +.b-bar-vertical-popout[data-collapse=small] .b-bar-item > .b-bar-link, +.b-bar-vertical-popout[data-collapse=small] .b-bar-item > .b-bar-dropdown > .b-bar-link { + animation: b-bar-link-small forwards; + animation-delay: 170ms; + font-size: 0; + transition: font-size 100ms ease-out; +} +.b-bar-vertical-small .b-bar-item > .b-bar-link:after, +.b-bar-vertical-small .b-bar-item > .b-bar-dropdown > .b-bar-link:after, +.b-bar-vertical-inline[data-collapse=small] .b-bar-item > .b-bar-link:after, +.b-bar-vertical-inline[data-collapse=small] .b-bar-item > .b-bar-dropdown > .b-bar-link:after, +.b-bar-vertical-popout[data-collapse=small] .b-bar-item > .b-bar-link:after, +.b-bar-vertical-popout[data-collapse=small] .b-bar-item > .b-bar-dropdown > .b-bar-link:after { + display: none; +} +.b-bar-vertical-small .b-bar-label, +.b-bar-vertical-inline[data-collapse=small] .b-bar-label, +.b-bar-vertical-popout[data-collapse=small] .b-bar-label { + text-align: center; +} + +.b-bar-vertical-inline:not([data-collapse]) { + overflow-y: auto; + overflow-x: hidden; +} +.b-bar-vertical-inline:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container { + position: relative; +} +.b-bar-vertical-inline:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu { + position: relative !important; + border: none; + border-radius: 0; + box-shadow: none; +} +.b-bar-vertical-inline:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu .b-bar-dropdown-item { + padding: 0.5rem 0.5rem 0.5rem 3rem; +} +.b-bar-vertical-inline:not([data-collapse]) .b-bar-brand .b-bar-link { + display: flex; + align-items: center; +} + +.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-toggle:before { + content: " "; + border: solid; + border-width: 0 2px 2px 0; + display: inline-block; + padding: 2px; + right: 1rem; + transition: transform 200ms ease-out; + float: right; + position: relative; + -webkit-transform: rotate(135deg); + transform: rotate(135deg); + right: 0.8rem; +} +.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown:not([data-visible=true]) .b-bar-dropdown-toggle:before { + -webkit-transform: rotate(315deg); + transform: rotate(315deg); +} +.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container { + z-index: 100; + max-height: 50vh; + position: absolute !important; + margin: -42px 5px 0px 5px; + display: flex; + width: var(--b-vertical-bar-popout-menu-width, 180px); + left: var(--b-vertical-bar-width, 230px); +} +.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container.b-bar-right { + right: var(--b-vertical-bar-width, 230px); + left: unset; +} +.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu { + box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05); + border-radius: 3px; + overflow-y: auto; + overflow-x: hidden; + flex: 1 100%; +} +.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu .b-bar-dropdown-item { + padding: 0.5rem 0.5rem 0.5rem 1.5rem; +} +.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu:before { + position: absolute; + top: 0; + left: -7px; + right: 0; + bottom: 0; + width: 100%; + height: 100%; + opacity: 0.0001; + content: " "; + z-index: -1; +} +.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu.b-bar-right:before { + left: unset; + right: -7px; +} +.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu > .b-bar-dropdown .b-bar-dropdown-menu-container { + left: var(--b-vertical-bar-popout-menu-width, 180px); +} +.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu > .b-bar-dropdown .b-bar-dropdown-menu-container.b-bar-right { + right: var(--b-vertical-bar-popout-menu-width, 180px); +} + +.b-bar-vertical-inline[data-collapse=hide], +.b-bar-vertical-popout[data-collapse=hide], +.b-bar-vertical-small[data-collapse=hide] { + width: 0px; + min-width: 0px; + overflow-y: hidden; + visibility: hidden; +} +.b-bar-vertical-inline[data-collapse=hide]:not(.b-bar-initial), +.b-bar-vertical-popout[data-collapse=hide]:not(.b-bar-initial), +.b-bar-vertical-small[data-collapse=hide]:not(.b-bar-initial) { + transition: width 200ms ease-in-out, min-width 200ms ease-in-out, visibility 100ms; +} +.b-bar-vertical-inline[data-collapse=hide] .b-bar-toggler-inline, +.b-bar-vertical-popout[data-collapse=hide] .b-bar-toggler-inline, +.b-bar-vertical-small[data-collapse=hide] .b-bar-toggler-inline { + display: none; +} +.b-bar-vertical-inline[data-collapse=hide] .b-bar-toggler-popout:not(.b-bar-mobile-toggle), +.b-bar-vertical-popout[data-collapse=hide] .b-bar-toggler-popout:not(.b-bar-mobile-toggle), +.b-bar-vertical-small[data-collapse=hide] .b-bar-toggler-popout:not(.b-bar-mobile-toggle) { + visibility: visible; + left: 0px; +} + +/* Mobile & below */ +@media only screen and (max-width: 576px) { + .b-bar-vertical-inline:not([data-collapse]) { + min-width: 100vw; + } + .b-bar-vertical-inline:not([data-collapse]) .b-bar-toggler-inline:not(.b-bar-mobile-toggle) { + display: none; + } + .b-bar-vertical-inline:not([data-collapse]) .b-bar-toggler-popout:not(.b-bar-mobile-toggle) { + left: 100vw; + } + .b-bar-vertical-inline:not([data-collapse]) .b-bar-mobile-toggle { + display: flex; + } +} +.b-table.table { + position: relative; +} +.b-table.table .b-table-resizer { + position: absolute; + top: 0; + right: 0; + width: 5px; + cursor: col-resize; + user-select: none; + z-index: 1; +} +.b-table.table .b-table-resizer:hover, .b-table.table .b-table-resizing { + cursor: col-resize !important; + border-right: 2px solid var(--b-theme-primary, blue); +} +.b-table.table .b-table-resizing { + cursor: col-resize !important; +} + +thead tr th { + position: relative; +} + +.b-character-casing-lower { + text-transform: lowercase; +} + +.b-character-casing-upper { + text-transform: uppercase; +} + +.b-character-casing-title { + text-transform: lowercase; +} +.b-character-casing-title::first-letter { + text-transform: uppercase; +} + +.flatpickr-calendar { + background: transparent; + opacity: 0; + display: none; + text-align: center; + visibility: hidden; + padding: 0; + -webkit-animation: none; + animation: none; + direction: ltr; + border: 0; + font-size: 14px; + line-height: 24px; + border-radius: 5px; + position: absolute; + width: 307.875px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + -ms-touch-action: manipulation; + touch-action: manipulation; + background: #fff; + -webkit-box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, 0.08); + box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0, 0, 0, 0.08); +} + +.flatpickr-calendar.open, +.flatpickr-calendar.inline { + opacity: 1; + max-height: 640px; + visibility: visible; +} + +.flatpickr-calendar.open { + display: inline-block; + z-index: 99999; +} + +.flatpickr-calendar.animate.open { + -webkit-animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1); + animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1); +} + +.flatpickr-calendar.inline { + display: block; + position: relative; + top: 2px; +} + +.flatpickr-calendar.static { + position: absolute; + top: calc(100% + 2px); +} + +.flatpickr-calendar.static.open { + z-index: 999; + display: block; +} + +.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) { + -webkit-box-shadow: none !important; + box-shadow: none !important; +} + +.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) { + -webkit-box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6; + box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6; +} + +.flatpickr-calendar .hasWeeks .dayContainer, +.flatpickr-calendar .hasTime .dayContainer { + border-bottom: 0; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.flatpickr-calendar .hasWeeks .dayContainer { + border-left: 0; +} + +.flatpickr-calendar.hasTime .flatpickr-time { + height: 40px; + border-top: 1px solid #e6e6e6; +} + +.flatpickr-calendar.noCalendar.hasTime .flatpickr-time { + height: auto; +} + +.flatpickr-calendar:before, +.flatpickr-calendar:after { + position: absolute; + display: block; + pointer-events: none; + border: solid transparent; + content: ""; + height: 0; + width: 0; + left: 22px; +} + +.flatpickr-calendar.rightMost:before, +.flatpickr-calendar.arrowRight:before, +.flatpickr-calendar.rightMost:after, +.flatpickr-calendar.arrowRight:after { + left: auto; + right: 22px; +} + +.flatpickr-calendar.arrowCenter:before, +.flatpickr-calendar.arrowCenter:after { + left: 50%; + right: 50%; +} + +.flatpickr-calendar:before { + border-width: 5px; + margin: 0 -5px; +} + +.flatpickr-calendar:after { + border-width: 4px; + margin: 0 -4px; +} + +.flatpickr-calendar.arrowTop:before, +.flatpickr-calendar.arrowTop:after { + bottom: 100%; +} + +.flatpickr-calendar.arrowTop:before { + border-bottom-color: #e6e6e6; +} + +.flatpickr-calendar.arrowTop:after { + border-bottom-color: #fff; +} + +.flatpickr-calendar.arrowBottom:before, +.flatpickr-calendar.arrowBottom:after { + top: 100%; +} + +.flatpickr-calendar.arrowBottom:before { + border-top-color: #e6e6e6; +} + +.flatpickr-calendar.arrowBottom:after { + border-top-color: #fff; +} + +.flatpickr-calendar:focus { + outline: 0; +} + +.flatpickr-wrapper { + position: relative; + display: contents; +} + +.flatpickr-months { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; +} + +.flatpickr-months .flatpickr-month { + background: transparent; + color: rgba(0, 0, 0, 0.9); + fill: rgba(0, 0, 0, 0.9); + height: 34px; + line-height: 1; + text-align: center; + position: relative; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + overflow: hidden; + -webkit-box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; +} + +.flatpickr-months .flatpickr-prev-month, +.flatpickr-months .flatpickr-next-month { + text-decoration: none; + cursor: pointer; + position: absolute; + top: 0; + height: 34px; + padding: 10px; + z-index: 3; + color: rgba(0, 0, 0, 0.9); + fill: rgba(0, 0, 0, 0.9); +} + +.flatpickr-months .flatpickr-prev-month.flatpickr-disabled, +.flatpickr-months .flatpickr-next-month.flatpickr-disabled { + display: none; +} + +.flatpickr-months .flatpickr-prev-month i, +.flatpickr-months .flatpickr-next-month i { + position: relative; +} + +.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month, +.flatpickr-months .flatpickr-next-month.flatpickr-prev-month { + /* + /*rtl:begin:ignore*/ + /* + */ + left: 0; + /* + /*rtl:end:ignore*/ + /* + */ +} + +/* + /*rtl:begin:ignore*/ +/* + /*rtl:end:ignore*/ +.flatpickr-months .flatpickr-prev-month.flatpickr-next-month, +.flatpickr-months .flatpickr-next-month.flatpickr-next-month { + /* + /*rtl:begin:ignore*/ + /* + */ + right: 0; + /* + /*rtl:end:ignore*/ + /* + */ +} + +/* + /*rtl:begin:ignore*/ +/* + /*rtl:end:ignore*/ +.flatpickr-months .flatpickr-prev-month:hover, +.flatpickr-months .flatpickr-next-month:hover { + color: #959ea9; +} + +.flatpickr-months .flatpickr-prev-month:hover svg, +.flatpickr-months .flatpickr-next-month:hover svg { + fill: #f64747; +} + +.flatpickr-months .flatpickr-prev-month svg, +.flatpickr-months .flatpickr-next-month svg { + width: 14px; + height: 14px; +} + +.flatpickr-months .flatpickr-prev-month svg path, +.flatpickr-months .flatpickr-next-month svg path { + -webkit-transition: fill 0.1s; + transition: fill 0.1s; + fill: inherit; +} + +.numInputWrapper { + position: relative; + height: auto; +} + +.numInputWrapper input, +.numInputWrapper span { + display: inline-block; +} + +.numInputWrapper input { + width: 100%; +} + +.numInputWrapper input::-ms-clear { + display: none; +} + +.numInputWrapper input::-webkit-outer-spin-button, +.numInputWrapper input::-webkit-inner-spin-button { + margin: 0; + -webkit-appearance: none; +} + +.numInputWrapper span { + position: absolute; + right: 0; + width: 14px; + padding: 0 4px 0 2px; + height: 50%; + line-height: 50%; + opacity: 0; + cursor: pointer; + border: 1px solid rgba(57, 57, 57, 0.15); + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.numInputWrapper span:hover { + background: rgba(0, 0, 0, 0.1); +} + +.numInputWrapper span:active { + background: rgba(0, 0, 0, 0.2); +} + +.numInputWrapper span:after { + display: block; + content: ""; + position: absolute; +} + +.numInputWrapper span.arrowUp { + top: 0; + border-bottom: 0; +} + +.numInputWrapper span.arrowUp:after { + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-bottom: 4px solid rgba(57, 57, 57, 0.6); + top: 26%; +} + +.numInputWrapper span.arrowDown { + top: 50%; +} + +.numInputWrapper span.arrowDown:after { + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-top: 4px solid rgba(57, 57, 57, 0.6); + top: 40%; +} + +.numInputWrapper span svg { + width: inherit; + height: auto; +} + +.numInputWrapper span svg path { + fill: rgba(0, 0, 0, 0.5); +} + +.numInputWrapper:hover { + background: rgba(0, 0, 0, 0.05); +} + +.numInputWrapper:hover span { + opacity: 1; +} + +.flatpickr-current-month { + font-size: 135%; + line-height: inherit; + font-weight: 300; + color: inherit; + position: absolute; + width: 75%; + left: 12.5%; + padding: 7.48px 0 0 0; + line-height: 1; + height: 34px; + display: inline-block; + text-align: center; + -webkit-transform: translate3d(0px, 0px, 0px); + transform: translate3d(0px, 0px, 0px); +} + +.flatpickr-current-month span.cur-month { + font-family: inherit; + font-weight: 700; + color: inherit; + display: inline-block; + margin-left: 0.5ch; + padding: 0; +} + +.flatpickr-current-month span.cur-month:hover { + background: rgba(0, 0, 0, 0.05); +} + +.flatpickr-current-month .numInputWrapper { + width: 6ch; + width: 7ch\0 ; + display: inline-block; +} + +.flatpickr-current-month .numInputWrapper span.arrowUp:after { + border-bottom-color: rgba(0, 0, 0, 0.9); +} + +.flatpickr-current-month .numInputWrapper span.arrowDown:after { + border-top-color: rgba(0, 0, 0, 0.9); +} + +.flatpickr-current-month input.cur-year { + background: transparent; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: inherit; + cursor: text; + padding: 0 0 0 0.5ch; + margin: 0; + display: inline-block; + font-size: inherit; + font-family: inherit; + font-weight: 300; + line-height: inherit; + height: auto; + border: 0; + border-radius: 0; + vertical-align: initial; + -webkit-appearance: textfield; + -moz-appearance: textfield; + appearance: textfield; +} + +.flatpickr-current-month input.cur-year:focus { + outline: 0; +} + +.flatpickr-current-month input.cur-year[disabled], +.flatpickr-current-month input.cur-year[disabled]:hover { + font-size: 100%; + color: rgba(0, 0, 0, 0.5); + background: transparent; + pointer-events: none; +} + +.flatpickr-current-month .flatpickr-monthDropdown-months { + appearance: menulist; + background: transparent; + border: none; + border-radius: 0; + box-sizing: border-box; + color: inherit; + cursor: pointer; + font-size: inherit; + font-family: inherit; + font-weight: 300; + height: auto; + line-height: inherit; + margin: -1px 0 0 0; + outline: none; + padding: 0 0 0 0.5ch; + position: relative; + vertical-align: initial; + -webkit-box-sizing: border-box; + -webkit-appearance: menulist; + -moz-appearance: menulist; + width: auto; +} + +.flatpickr-current-month .flatpickr-monthDropdown-months:focus, +.flatpickr-current-month .flatpickr-monthDropdown-months:active { + outline: none; +} + +.flatpickr-current-month .flatpickr-monthDropdown-months:hover { + background: rgba(0, 0, 0, 0.05); +} + +.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month { + background-color: transparent; + outline: none; + padding: 0; +} + +.flatpickr-weekdays { + background: transparent; + text-align: center; + overflow: hidden; + width: 100%; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + height: 28px; +} + +.flatpickr-weekdays .flatpickr-weekdaycontainer { + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; +} + +span.flatpickr-weekday { + cursor: default; + font-size: 90%; + background: transparent; + color: rgba(0, 0, 0, 0.54); + line-height: 1; + margin: 0; + text-align: center; + display: block; + -webkit-box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; + font-weight: bolder; +} + +.dayContainer, +.flatpickr-weeks { + padding: 1px 0 0 0; +} + +.flatpickr-days { + position: relative; + overflow: hidden; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: start; + -webkit-align-items: flex-start; + -ms-flex-align: start; + align-items: flex-start; + width: 307.875px; +} + +.flatpickr-days:focus { + outline: 0; +} + +.dayContainer { + padding: 0; + outline: 0; + text-align: left; + width: 307.875px; + min-width: 307.875px; + max-width: 307.875px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + display: inline-block; + display: -ms-flexbox; + display: -webkit-box; + display: -webkit-flex; + display: flex; + -webkit-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-wrap: wrap; + -ms-flex-pack: justify; + -webkit-justify-content: space-around; + justify-content: space-around; + -webkit-transform: translate3d(0px, 0px, 0px); + transform: translate3d(0px, 0px, 0px); + opacity: 1; +} + +.dayContainer + .dayContainer { + -webkit-box-shadow: -1px 0 0 #e6e6e6; + box-shadow: -1px 0 0 #e6e6e6; +} + +.flatpickr-day { + background: none; + border: 1px solid transparent; + border-radius: 150px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: #393939; + cursor: pointer; + font-weight: 400; + width: 14.2857143%; + -webkit-flex-basis: 14.2857143%; + -ms-flex-preferred-size: 14.2857143%; + flex-basis: 14.2857143%; + max-width: 39px; + height: 39px; + line-height: 39px; + margin: 0; + display: inline-block; + position: relative; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + text-align: center; +} + +.flatpickr-day.inRange, +.flatpickr-day.prevMonthDay.inRange, +.flatpickr-day.nextMonthDay.inRange, +.flatpickr-day.today.inRange, +.flatpickr-day.prevMonthDay.today.inRange, +.flatpickr-day.nextMonthDay.today.inRange, +.flatpickr-day:hover, +.flatpickr-day.prevMonthDay:hover, +.flatpickr-day.nextMonthDay:hover, +.flatpickr-day:focus, +.flatpickr-day.prevMonthDay:focus, +.flatpickr-day.nextMonthDay:focus { + cursor: pointer; + outline: 0; + background: #e6e6e6; + border-color: #e6e6e6; +} + +.flatpickr-day.today { + border-color: #959ea9; +} + +.flatpickr-day.today:hover, +.flatpickr-day.today:focus { + border-color: #959ea9; + background: #959ea9; + color: #fff; +} + +.flatpickr-day.selected, +.flatpickr-day.startRange, +.flatpickr-day.endRange, +.flatpickr-day.selected.inRange, +.flatpickr-day.startRange.inRange, +.flatpickr-day.endRange.inRange, +.flatpickr-day.selected:focus, +.flatpickr-day.startRange:focus, +.flatpickr-day.endRange:focus, +.flatpickr-day.selected:hover, +.flatpickr-day.startRange:hover, +.flatpickr-day.endRange:hover, +.flatpickr-day.selected.prevMonthDay, +.flatpickr-day.startRange.prevMonthDay, +.flatpickr-day.endRange.prevMonthDay, +.flatpickr-day.selected.nextMonthDay, +.flatpickr-day.startRange.nextMonthDay, +.flatpickr-day.endRange.nextMonthDay { + background: #569ff7; + -webkit-box-shadow: none; + box-shadow: none; + color: #fff; + border-color: #569ff7; +} + +.flatpickr-day.selected.startRange, +.flatpickr-day.startRange.startRange, +.flatpickr-day.endRange.startRange { + border-radius: 50px 0 0 50px; +} + +.flatpickr-day.selected.endRange, +.flatpickr-day.startRange.endRange, +.flatpickr-day.endRange.endRange { + border-radius: 0 50px 50px 0; +} + +.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)), +.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)), +.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) { + -webkit-box-shadow: -10px 0 0 #569ff7; + box-shadow: -10px 0 0 #569ff7; +} + +.flatpickr-day.selected.startRange.endRange, +.flatpickr-day.startRange.startRange.endRange, +.flatpickr-day.endRange.startRange.endRange { + border-radius: 50px; +} + +.flatpickr-day.inRange { + border-radius: 0; + -webkit-box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6; + box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6; +} + +.flatpickr-day.flatpickr-disabled, +.flatpickr-day.flatpickr-disabled:hover, +.flatpickr-day.prevMonthDay, +.flatpickr-day.nextMonthDay, +.flatpickr-day.notAllowed, +.flatpickr-day.notAllowed.prevMonthDay, +.flatpickr-day.notAllowed.nextMonthDay { + color: rgba(57, 57, 57, 0.3); + background: transparent; + border-color: transparent; + cursor: default; +} + +.flatpickr-day.flatpickr-disabled, +.flatpickr-day.flatpickr-disabled:hover { + cursor: not-allowed; + color: rgba(57, 57, 57, 0.1); +} + +.flatpickr-day.week.selected { + border-radius: 0; + -webkit-box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7; + box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7; +} + +.flatpickr-day.hidden { + visibility: hidden; +} + +.rangeMode .flatpickr-day { + margin-top: 1px; +} + +.flatpickr-weekwrapper { + float: left; +} + +.flatpickr-weekwrapper .flatpickr-weeks { + padding: 0 12px; + -webkit-box-shadow: 1px 0 0 #e6e6e6; + box-shadow: 1px 0 0 #e6e6e6; +} + +.flatpickr-weekwrapper .flatpickr-weekday { + float: none; + width: 100%; + line-height: 28px; +} + +.flatpickr-weekwrapper span.flatpickr-day, +.flatpickr-weekwrapper span.flatpickr-day:hover { + display: block; + width: 100%; + max-width: none; + color: rgba(57, 57, 57, 0.3); + background: transparent; + cursor: default; + border: none; +} + +.flatpickr-innerContainer { + display: block; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-sizing: border-box; + box-sizing: border-box; + overflow: hidden; +} + +.flatpickr-rContainer { + display: inline-block; + padding: 0; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.flatpickr-time { + text-align: center; + outline: 0; + display: block; + height: 0; + line-height: 40px; + max-height: 40px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + overflow: hidden; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; +} + +.flatpickr-time:after { + content: ""; + display: table; + clear: both; +} + +.flatpickr-time .numInputWrapper { + -webkit-box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; + width: 40%; + height: 40px; + float: left; +} + +.flatpickr-time .numInputWrapper span.arrowUp:after { + border-bottom-color: #393939; +} + +.flatpickr-time .numInputWrapper span.arrowDown:after { + border-top-color: #393939; +} + +.flatpickr-time.hasSeconds .numInputWrapper { + width: 26%; +} + +.flatpickr-time.time24hr .numInputWrapper { + width: 49%; +} + +.flatpickr-time input { + background: transparent; + -webkit-box-shadow: none; + box-shadow: none; + border: 0; + border-radius: 0; + text-align: center; + margin: 0; + padding: 0; + height: inherit; + line-height: inherit; + color: #393939; + font-size: 14px; + position: relative; + -webkit-box-sizing: border-box; + box-sizing: border-box; + -webkit-appearance: textfield; + -moz-appearance: textfield; + appearance: textfield; +} + +.flatpickr-time input.flatpickr-hour { + font-weight: bold; +} + +.flatpickr-time input.flatpickr-minute, +.flatpickr-time input.flatpickr-second { + font-weight: 400; +} + +.flatpickr-time input:focus { + outline: 0; + border: 0; +} + +.flatpickr-time .flatpickr-time-separator, +.flatpickr-time .flatpickr-am-pm { + height: inherit; + float: left; + line-height: inherit; + color: #393939; + font-weight: bold; + width: 2%; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-align-self: center; + -ms-flex-item-align: center; + align-self: center; +} + +.flatpickr-time .flatpickr-am-pm { + outline: 0; + width: 18%; + cursor: pointer; + text-align: center; + font-weight: 400; +} + +.flatpickr-time input:hover, +.flatpickr-time .flatpickr-am-pm:hover, +.flatpickr-time input:focus, +.flatpickr-time .flatpickr-am-pm:focus { + background: #eee; +} + +.flatpickr-input[readonly] { + cursor: pointer; +} + +@-webkit-keyframes fpFadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} +@keyframes fpFadeInDown { + from { + opacity: 0; + -webkit-transform: translate3d(0, -20px, 0); + transform: translate3d(0, -20px, 0); + } + to { + opacity: 1; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} +.flatpickr-monthSelect-months { + margin: 10px 1px 3px 1px; + flex-wrap: wrap; +} + +.flatpickr-monthSelect-month { + background: none; + border: 0; + border-radius: 2px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: #393939; + cursor: pointer; + display: inline-block; + font-weight: 400; + margin: 0.5px; + justify-content: center; + padding: 10px; + position: relative; + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-flex-pack: center; + text-align: center; + width: 33%; +} + +.flatpickr-monthSelect-month.disabled { + color: #eee; +} + +.flatpickr-monthSelect-month.disabled:hover, +.flatpickr-monthSelect-month.disabled:focus { + cursor: not-allowed; + background: none !important; +} + +.flatpickr-monthSelect-theme-dark { + background: #3f4458; +} + +.flatpickr-monthSelect-theme-dark .flatpickr-current-month input.cur-year { + color: #fff; +} + +.flatpickr-monthSelect-theme-dark .flatpickr-months .flatpickr-prev-month, +.flatpickr-monthSelect-theme-dark .flatpickr-months .flatpickr-next-month { + color: #fff; + fill: #fff; +} + +.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month { + color: rgba(255, 255, 255, 0.95); +} + +.flatpickr-monthSelect-month:hover, +.flatpickr-monthSelect-month:focus { + background: #e6e6e6; + cursor: pointer; + outline: 0; +} + +.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month:hover, +.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month:focus { + background: #646c8c; + border-color: #646c8c; +} + +.flatpickr-monthSelect-month.selected { + background-color: #569ff7; + color: #fff; +} + +.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month.selected { + background: #80cbc4; + -webkit-box-shadow: none; + box-shadow: none; + color: #fff; + border-color: #80cbc4; +} + +/*! Pickr 1.8.2 MIT | https://github.com/Simonwep/pickr */ +.pickr { + position: relative; + overflow: visible; + transform: translateY(0); +} + +.pickr * { + box-sizing: border-box; + outline: none; + border: none; + -webkit-appearance: none; +} + +.pickr .pcr-button { + position: relative; + height: 2em; + width: 2em; + padding: 0.5em; + cursor: pointer; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif; + border-radius: 0.15em; + background: url('data:image/svg+xml;utf8, ') no-repeat center; + background-size: 0; + transition: all 0.3s; +} + +.pickr .pcr-button::before { + position: absolute; + content: ""; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: url('data:image/svg+xml;utf8, '); + background-size: 0.5em; + border-radius: 0.15em; + z-index: -1; +} + +.pickr .pcr-button::before { + z-index: initial; +} + +.pickr .pcr-button::after { + position: absolute; + content: ""; + top: 0; + left: 0; + height: 100%; + width: 100%; + transition: background 0.3s; + background: var(--pcr-color); + border-radius: 0.15em; +} + +.pickr .pcr-button.clear { + background-size: 70%; +} + +.pickr .pcr-button.clear::before { + opacity: 0; +} + +.pickr .pcr-button.clear:focus { + box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.85), 0 0 0 3px var(--pcr-color); +} + +.pickr .pcr-button.disabled { + cursor: not-allowed; +} + +.pickr *, .pcr-app * { + box-sizing: border-box; + outline: none; + border: none; + -webkit-appearance: none; +} + +.pickr input:focus, .pickr input.pcr-active, .pickr button:focus, .pickr button.pcr-active, .pcr-app input:focus, .pcr-app input.pcr-active, .pcr-app button:focus, .pcr-app button.pcr-active { + box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.85), 0 0 0 3px var(--pcr-color); +} + +.pickr .pcr-palette, .pickr .pcr-slider, .pcr-app .pcr-palette, .pcr-app .pcr-slider { + transition: box-shadow 0.3s; +} + +.pickr .pcr-palette:focus, .pickr .pcr-slider:focus, .pcr-app .pcr-palette:focus, .pcr-app .pcr-slider:focus { + box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.85), 0 0 0 3px rgba(0, 0, 0, 0.25); +} + +.pcr-app { + position: fixed; + display: flex; + flex-direction: column; + z-index: 10000; + border-radius: 0.1em; + background: #fff; + opacity: 0; + visibility: hidden; + transition: opacity 0.3s, visibility 0s 0.3s; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif; + box-shadow: 0 0.15em 1.5em 0 rgba(0, 0, 0, 0.1), 0 0 1em 0 rgba(0, 0, 0, 0.03); + left: 0; + top: 0; +} + +.pcr-app.visible { + transition: opacity 0.3s; + visibility: visible; + opacity: 1; +} + +.pcr-app .pcr-swatches { + display: flex; + flex-wrap: wrap; + margin-top: 0.75em; +} + +.pcr-app .pcr-swatches.pcr-last { + margin: 0; +} + +@supports (display: grid) { + .pcr-app .pcr-swatches { + display: grid; + align-items: center; + grid-template-columns: repeat(auto-fit, 1.75em); + } +} +.pcr-app .pcr-swatches > button { + font-size: 1em; + position: relative; + width: calc(1.75em - 5px); + height: calc(1.75em - 5px); + border-radius: 0.15em; + cursor: pointer; + margin: 2.5px; + flex-shrink: 0; + justify-self: center; + transition: all 0.15s; + overflow: hidden; + background: transparent; + z-index: 1; +} + +.pcr-app .pcr-swatches > button::before { + position: absolute; + content: ""; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: url('data:image/svg+xml;utf8, '); + background-size: 6px; + border-radius: 0.15em; + z-index: -1; +} + +.pcr-app .pcr-swatches > button::after { + content: ""; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: var(--pcr-color); + border: 1px solid rgba(0, 0, 0, 0.05); + border-radius: 0.15em; + box-sizing: border-box; +} + +.pcr-app .pcr-swatches > button:hover { + filter: brightness(1.05); +} + +.pcr-app .pcr-swatches > button:not(.pcr-active) { + box-shadow: none; +} + +.pcr-app .pcr-interaction { + display: flex; + flex-wrap: wrap; + align-items: center; + margin: 0 -0.2em 0 -0.2em; +} + +.pcr-app .pcr-interaction > * { + margin: 0 0.2em; +} + +.pcr-app .pcr-interaction input { + letter-spacing: 0.07em; + font-size: 0.75em; + text-align: center; + cursor: pointer; + color: #75797e; + background: #f1f3f4; + border-radius: 0.15em; + transition: all 0.15s; + padding: 0.45em 0.5em; + margin-top: 0.75em; +} + +.pcr-app .pcr-interaction input:hover { + filter: brightness(0.975); +} + +.pcr-app .pcr-interaction input:focus { + box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.85), 0 0 0 3px rgba(66, 133, 244, 0.75); +} + +.pcr-app .pcr-interaction .pcr-result { + color: #75797e; + text-align: left; + flex: 1 1 8em; + min-width: 8em; + transition: all 0.2s; + border-radius: 0.15em; + background: #f1f3f4; + cursor: text; +} + +.pcr-app .pcr-interaction .pcr-result::-moz-selection { + background: #4285f4; + color: #fff; +} + +.pcr-app .pcr-interaction .pcr-result::selection { + background: #4285f4; + color: #fff; +} + +.pcr-app .pcr-interaction .pcr-type.active { + color: #fff; + background: #4285f4; +} + +.pcr-app .pcr-interaction .pcr-save, .pcr-app .pcr-interaction .pcr-cancel, .pcr-app .pcr-interaction .pcr-clear { + color: #fff; + width: auto; +} + +.pcr-app .pcr-interaction .pcr-save, .pcr-app .pcr-interaction .pcr-cancel, .pcr-app .pcr-interaction .pcr-clear { + color: #fff; +} + +.pcr-app .pcr-interaction .pcr-save:hover, .pcr-app .pcr-interaction .pcr-cancel:hover, .pcr-app .pcr-interaction .pcr-clear:hover { + filter: brightness(0.925); +} + +.pcr-app .pcr-interaction .pcr-save { + background: #4285f4; +} + +.pcr-app .pcr-interaction .pcr-clear, .pcr-app .pcr-interaction .pcr-cancel { + background: #f44250; +} + +.pcr-app .pcr-interaction .pcr-clear:focus, .pcr-app .pcr-interaction .pcr-cancel:focus { + box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.85), 0 0 0 3px rgba(244, 66, 80, 0.75); +} + +.pcr-app .pcr-selection .pcr-picker { + position: absolute; + height: 18px; + width: 18px; + border: 2px solid #fff; + border-radius: 100%; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.pcr-app .pcr-selection .pcr-color-palette, .pcr-app .pcr-selection .pcr-color-chooser, .pcr-app .pcr-selection .pcr-color-opacity { + position: relative; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + display: flex; + flex-direction: column; + cursor: grab; + cursor: -webkit-grab; +} + +.pcr-app .pcr-selection .pcr-color-palette:active, .pcr-app .pcr-selection .pcr-color-chooser:active, .pcr-app .pcr-selection .pcr-color-opacity:active { + cursor: grabbing; + cursor: -webkit-grabbing; +} + +.pcr-app[data-theme=monolith] { + width: 14.25em; + max-width: 95vw; + padding: 0.8em; +} + +.pcr-app[data-theme=monolith] .pcr-selection { + display: flex; + flex-direction: column; + justify-content: space-between; + flex-grow: 1; +} + +.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-preview { + position: relative; + z-index: 1; + width: 100%; + height: 1em; + display: flex; + flex-direction: row; + justify-content: space-between; + margin-bottom: 0.5em; +} + +.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-preview::before { + position: absolute; + content: ""; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: url('data:image/svg+xml;utf8, '); + background-size: 0.5em; + border-radius: 0.15em; + z-index: -1; +} + +.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-preview .pcr-last-color { + cursor: pointer; + transition: background-color 0.3s, box-shadow 0.3s; + border-radius: 0.15em 0 0 0.15em; + z-index: 2; +} + +.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-preview .pcr-current-color { + border-radius: 0 0.15em 0.15em 0; +} + +.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-preview .pcr-last-color, .pcr-app[data-theme=monolith] .pcr-selection .pcr-color-preview .pcr-current-color { + background: var(--pcr-color); + width: 50%; + height: 100%; +} + +.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-palette { + width: 100%; + height: 8em; + z-index: 1; +} + +.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-palette .pcr-palette { + border-radius: 0.15em; + width: 100%; + height: 100%; +} + +.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-palette .pcr-palette::before { + position: absolute; + content: ""; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: url('data:image/svg+xml;utf8, '); + background-size: 0.5em; + border-radius: 0.15em; + z-index: -1; +} + +.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-chooser, .pcr-app[data-theme=monolith] .pcr-selection .pcr-color-opacity { + height: 0.5em; + margin-top: 0.75em; +} + +.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-chooser .pcr-picker, .pcr-app[data-theme=monolith] .pcr-selection .pcr-color-opacity .pcr-picker { + top: 50%; + transform: translateY(-50%); +} + +.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-chooser .pcr-slider, .pcr-app[data-theme=monolith] .pcr-selection .pcr-color-opacity .pcr-slider { + flex-grow: 1; + border-radius: 50em; +} + +.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-chooser .pcr-slider { + background: linear-gradient(to right, red, #ff0, lime, cyan, blue, #f0f, red); +} + +.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-opacity .pcr-slider { + background: linear-gradient(to right, transparent, black), url('data:image/svg+xml;utf8, '); + background-size: 100%, 0.25em; +} diff --git a/_content/Blazorise/blazorise.min.css b/_content/Blazorise/blazorise.min.css new file mode 100755 index 0000000..bd0effd --- /dev/null +++ b/_content/Blazorise/blazorise.min.css @@ -0,0 +1,3 @@ +body:before{content:"mobile";display:none;visibility:hidden;}@media(min-width:768px){body:before{content:"tablet";}}@media(min-width:992px){body:before{content:"desktop";}}@media(min-width:1200px){body:before{content:"widescreen";}}@media(min-width:1400px){body:before{content:"fullhd";}}hr.divider.divider-solid{border-top:var(--b-divider-thickness,1px) solid var(--b-divider-color,#999);}hr.divider.divider-dashed{border-top:var(--b-divider-thickness,1px) dashed var(--b-divider-color,#999);}hr.divider.divider-dotted{border-top:var(--b-divider-thickness,1px) dotted var(--b-divider-color,#999);}hr.divider.divider-text{position:relative;border:0;height:var(--b-divider-thickness,1px);background:var(--b-divider-color,#999);}hr.divider.divider-text::before{content:attr(data-content);display:inline-block;background:#fff;font-weight:bold;font-size:var(--b-divider-font-size,.85rem);color:var(--b-divider-color,#999);border-radius:30rem;padding:.2rem 2rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);}.b-drop-zone{position:relative;transition:all 300ms cubic-bezier(.4,0,.2,1) 0ms;}.b-drop-zone.b-drop-zone-drag-block>*{pointer-events:none;}.b-drop-zone.b-drop-zone-drop-allowed{outline:1px solid var(--b-theme-success,"#00FF00")!important;}.b-drop-zone.b-drop-zone-drop-not-allowed{outline:1px solid var(--b-theme-danger,"#FF0000")!important;}.b-drop-zone-draggable:not(.draggable-preview-start){cursor:grab;user-select:none;}.b-drop-zone-draggable:not(.draggable-preview-start):active{cursor:grabbing;}.b-drop-zone .draggable-placeholder{outline:2px dashed var(--b-theme-primary,"#0000FF")!important;padding:1rem;}.b-drop-zone .draggable-preview-start{height:20px;width:100%;position:absolute;top:0;left:0;z-index:1;}.b-file-picker{display:inline-block;width:100%;}.b-file-picker .b-text-drop{border:1px solid rgba(0,0,0,.15);margin-top:.5rem;display:block;text-align:center;font-size:.75rem;padding-top:.25rem;padding-bottom:.25rem;}.b-file-picker .b-file-picker-file{min-width:25rem;}.b-file-picker .b-file-picker-file span{display:block;}.b-file-picker .b-file-picker-file .b-file-picker-file-size,.b-file-picker .b-file-picker-file .b-file-picker-file-status,.b-file-picker .b-file-picker-file .b-file-picker-file-relativepath{font-size:.75rem;}.b-input-color-picker{padding:.6rem;}.b-input-color-picker>.b-input-color-picker-preview{position:relative;z-index:1;width:100%;height:100%;display:flex;flex-direction:row;justify-content:space-between;}.b-input-color-picker>.b-input-color-picker-preview::before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, ');background-size:.5em;border-radius:.15em;z-index:-1;}.b-input-color-picker>.b-input-color-picker-preview>.b-input-color-picker-curent-color{display:inline-block;width:100%;height:100%;}.b-input-color-picker[aria-disabled=true]{opacity:.65;}.progress.progress-xs{height:.25rem;}.progress.progress-sm{height:.5rem;}.progress.progress-md{height:1rem;}.progress.progress-lg{height:1.5rem;}.progress.progress-xl{height:2rem;}.b-page-progress{width:100%;height:4px;z-index:9999;top:0;left:0;position:fixed;display:none;}.b-page-progress .b-page-progress-indicator{width:0;height:100%;transition:height .3s;background-color:#000;transition:width 1s;}.b-page-progress .b-page-progress-indicator.b-page-progress-indicator-indeterminate{width:30%;animation:running-page-progress 2s cubic-bezier(.4,0,.2,1) infinite;}.b-page-progress.b-page-progress-active{display:block;}@keyframes running-page-progress{0%{margin-left:0;margin-right:100%;}50%{margin-left:25%;margin-right:0%;}100%{margin-left:100%;margin-right:0;}}.tippy-box[data-animation=scale][data-placement^=top]{transform-origin:bottom;}.tippy-box[data-animation=scale][data-placement^=bottom]{transform-origin:top;}.tippy-box[data-animation=scale][data-placement^=left]{transform-origin:right;}.tippy-box[data-animation=scale][data-placement^=right]{transform-origin:left;}.tippy-box[data-animation=scale][data-state=hidden]{transform:scale(.5);opacity:0;}.tippy-box[data-theme~=blazorise]{background-color:RGBA(var(--b-tooltip-background-color-r,128),var(--b-tooltip-background-color-g,128),var(--b-tooltip-background-color-b,128),var(--b-tooltip-background-opacity,.9));color:var(--b-tooltip-color,#fff);}.tippy-box[data-theme~=blazorise][data-placement^=top]>.tippy-arrow::before{border-top-color:RGBA(var(--b-tooltip-background-color-r,128),var(--b-tooltip-background-color-g,128),var(--b-tooltip-background-color-b,128),var(--b-tooltip-background-opacity,.9));}.tippy-box[data-theme~=blazorise][data-placement^=bottom]>.tippy-arrow::before{border-bottom-color:RGBA(var(--b-tooltip-background-color-r,128),var(--b-tooltip-background-color-g,128),var(--b-tooltip-background-color-b,128),var(--b-tooltip-background-opacity,.9));}.tippy-box[data-theme~=blazorise][data-placement^=left]>.tippy-arrow::before{border-left-color:RGBA(var(--b-tooltip-background-color-r,128),var(--b-tooltip-background-color-g,128),var(--b-tooltip-background-color-b,128),var(--b-tooltip-background-opacity,.9));}.tippy-box[data-theme~=blazorise][data-placement^=right]>.tippy-arrow::before{border-right-color:RGBA(var(--b-tooltip-background-color-r,128),var(--b-tooltip-background-color-g,128),var(--b-tooltip-background-color-b,128),var(--b-tooltip-background-opacity,.9));}.tippy-box[data-theme~=blazorise]>.tippy-svg-arrow{fill:RGBA(var(--b-tooltip-background-color-r,128),var(--b-tooltip-background-color-g,128),var(--b-tooltip-background-color-b,128),var(--b-tooltip-background-opacity,.9));}.b-tooltip-inline{display:inline-block;}.b-layout{display:flex;flex:auto;flex-direction:column;}.b-layout.b-layout-root{height:100vh;}.b-layout,.b-layout *{box-sizing:border-box;}@keyframes spinner{0%{transform:translate3d(-50%,-50%,0) rotate(0deg);}100%{transform:translate3d(-50%,-50%,0) rotate(360deg);}}.b-layout>.b-layout-loading{z-index:9999;position:fixed;width:100%;height:100%;background:rgba(0,0,0,.3);}.b-layout>.b-layout-loading:before{animation:1s linear infinite spinner;border:solid 3px #eee;border-bottom-color:var(--b-theme-primary);border-radius:50%;height:40px;left:50%;position:absolute;top:50%;transform:translate3d(-50%,-50%,0);width:40px;content:" ";}.b-layout.b-layout-has-sider{flex-direction:row;min-height:0;}.b-layout.b-layout-has-sider .b-layout{overflow-x:hidden;}.b-layout-header,.b-layout-footer{flex:0 0 auto;}.b-layout-header{color:rgba(0,0,0,.65);}.b-layout.b-layout-root.b-layout-has-sider>.b-layout-header-fixed,.b-layout.b-layout-root.b-layout-has-sider>.b-layout>.b-layout-header-fixed{position:sticky;top:0;width:100%;flex:0;}.b-layout.b-layout-root:not(.b-layout-has-sider) .b-layout-header-fixed,.b-layout.b-layout-root:not(.b-layout-has-sider)>.b-layout .b-layout-header-fixed{position:fixed;top:0;left:0;right:0;flex:0;}.b-layout.b-layout-root:not(.b-layout-has-sider) .b-layout-header-fixed+.b-layout-content,.b-layout.b-layout-root:not(.b-layout-has-sider)>.b-layout .b-layout-header-fixed+.b-layout-content{margin-top:var(--b-bar-horizontal-height,auto);}.b-layout.b-layout-root>.b-layout-header.b-layout-header-fixed+.b-layout.b-layout-has-sider{margin-top:var(--b-bar-horizontal-height,auto);}.b-layout-footer{color:rgba(0,0,0,.65);}.b-layout-footer-fixed{position:sticky;z-index:1;bottom:0;flex:0;}.b-layout-content{flex:1;}.b-layout-sider{display:flex;position:relative;background:#001529;}.b-layout-sider-content{position:sticky;top:0;z-index:2;}.b-layout-header .navbar{line-height:inherit;}.b-bar-horizontal[data-collapse=hide]{flex-wrap:nowrap;}.b-bar-horizontal[data-collapse=hide][data-broken=true]{height:auto;}.b-bar-horizontal[data-broken=false]{height:auto;}.b-layout>.b-layout-header .b-bar-horizontal[data-collapse=hide][data-broken=true]{height:var(--b-bar-horizontal-height,auto);}.b-layout>.b-layout-header .b-bar-horizontal[data-broken=false]{height:var(--b-bar-horizontal-height,auto);}.b-bar-initial{display:none!important;}.b-bar-vertical-inline,.b-bar-vertical-popout,.b-bar-vertical-small{display:flex;flex-direction:column;flex-wrap:nowrap;position:sticky;top:0;padding:0;min-width:var(--b-vertical-bar-width,230px);max-width:var(--b-vertical-bar-width,230px);width:var(--b-vertical-bar-width,230px);box-shadow:2px 0 6px rgba(0,21,41,.35);height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.b-bar-vertical-inline:not(.b-bar-initial),.b-bar-vertical-popout:not(.b-bar-initial),.b-bar-vertical-small:not(.b-bar-initial){transition:width 200ms ease-in-out,min-width 200ms ease-in-out;}.b-bar-vertical-inline .b-bar-menu,.b-bar-vertical-popout .b-bar-menu,.b-bar-vertical-small .b-bar-menu{width:100%;display:flex;flex:1;justify-content:space-between;flex-direction:column;align-self:stretch;}.b-bar-vertical-inline .b-bar-brand,.b-bar-vertical-popout .b-bar-brand,.b-bar-vertical-small .b-bar-brand{width:100%;display:flex;height:var(--b-vertical-bar-brand-height,64px);min-height:var(--b-vertical-bar-brand-height,64px);}.b-bar-vertical-inline .b-bar-toggler-inline,.b-bar-vertical-popout .b-bar-toggler-inline,.b-bar-vertical-small .b-bar-toggler-inline{height:var(--b-vertical-bar-brand-height,64px);padding:12px;display:inline-flex;cursor:pointer;position:absolute;right:0;}.b-bar-vertical-inline .b-bar-toggler-inline>*,.b-bar-vertical-popout .b-bar-toggler-inline>*,.b-bar-vertical-small .b-bar-toggler-inline>*{margin:auto;}.b-bar-vertical-inline .b-bar-toggler-popout:not(.b-bar-mobile-toggle),.b-bar-vertical-popout .b-bar-toggler-popout:not(.b-bar-mobile-toggle),.b-bar-vertical-small .b-bar-toggler-popout:not(.b-bar-mobile-toggle){display:flex;position:fixed;left:var(--b-vertical-bar-width,230px);border-radius:0 10px 10px 0;border:0;width:10px;height:40px;padding:5px;align-items:center;box-shadow:2px 0 6px rgba(0,21,41,.35);cursor:pointer;}.b-bar-vertical-inline .b-bar-toggler-popout:not(.b-bar-mobile-toggle):not(.b-bar-initial),.b-bar-vertical-popout .b-bar-toggler-popout:not(.b-bar-mobile-toggle):not(.b-bar-initial),.b-bar-vertical-small .b-bar-toggler-popout:not(.b-bar-mobile-toggle):not(.b-bar-initial){transition:width 200ms ease-in-out,left 200ms ease-in-out;}.b-bar-vertical-inline .b-bar-toggler-popout:not(.b-bar-mobile-toggle)>*,.b-bar-vertical-popout .b-bar-toggler-popout:not(.b-bar-mobile-toggle)>*,.b-bar-vertical-small .b-bar-toggler-popout:not(.b-bar-mobile-toggle)>*{margin:auto;display:none;}.b-bar-vertical-inline .b-bar-toggler-popout:not(.b-bar-mobile-toggle):hover,.b-bar-vertical-popout .b-bar-toggler-popout:not(.b-bar-mobile-toggle):hover,.b-bar-vertical-small .b-bar-toggler-popout:not(.b-bar-mobile-toggle):hover{width:45px;}.b-bar-vertical-inline .b-bar-toggler-popout:not(.b-bar-mobile-toggle):hover>*,.b-bar-vertical-popout .b-bar-toggler-popout:not(.b-bar-mobile-toggle):hover>*,.b-bar-vertical-small .b-bar-toggler-popout:not(.b-bar-mobile-toggle):hover>*{display:block;}.b-bar-vertical-inline .b-bar-item,.b-bar-vertical-popout .b-bar-item,.b-bar-vertical-small .b-bar-item{margin:auto;flex-grow:1;min-height:40px;}.b-bar-vertical-inline .b-bar-item .b-bar-icon,.b-bar-vertical-popout .b-bar-item .b-bar-icon,.b-bar-vertical-small .b-bar-item .b-bar-icon{font-size:1.25rem;vertical-align:middle;margin:3px;display:inline-block;}.b-bar-vertical-inline .b-bar-start,.b-bar-vertical-popout .b-bar-start,.b-bar-vertical-small .b-bar-start{width:100%;display:block;}.b-bar-vertical-inline .b-bar-end,.b-bar-vertical-popout .b-bar-end,.b-bar-vertical-small .b-bar-end{padding-bottom:1rem;width:100%;padding-top:1rem;display:block;}.b-bar-vertical-inline .b-bar-end .b-bar-dropdown,.b-bar-vertical-popout .b-bar-end .b-bar-dropdown,.b-bar-vertical-small .b-bar-end .b-bar-dropdown{position:relative;}.b-bar-vertical-inline .b-bar-end .b-bar-dropdown-menu-container,.b-bar-vertical-popout .b-bar-end .b-bar-dropdown-menu-container,.b-bar-vertical-small .b-bar-end .b-bar-dropdown-menu-container{bottom:0;}.b-bar-vertical-inline .b-bar-link,.b-bar-vertical-popout .b-bar-link,.b-bar-vertical-small .b-bar-link{display:block;width:100%;text-decoration:none;padding:.5rem .5rem .5rem 1.5rem;cursor:pointer;overflow-x:hidden;line-height:1.5rem;vertical-align:middle;transition:font-size 150ms ease-in;}.b-bar-vertical-inline .b-bar-label,.b-bar-vertical-popout .b-bar-label,.b-bar-vertical-small .b-bar-label{background:transparent;color:#adb5bd;padding:.375rem 1.25rem;font-size:.75rem;text-overflow:ellipsis;overflow-x:hidden;}.b-bar-vertical-inline .b-bar-dropdown .b-bar-dropdown-toggle:before,.b-bar-vertical-popout .b-bar-dropdown .b-bar-dropdown-toggle:before,.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-toggle:before{content:" ";border:solid;border-width:0 2px 2px 0;display:inline-block;padding:2px;right:1rem;transition:transform 200ms ease-out;float:right;position:relative;-webkit-transform:rotate(225deg);transform:rotate(225deg);top:.7rem;}.b-bar-vertical-inline .b-bar-dropdown:not([data-visible=true]) .b-bar-dropdown-toggle:before,.b-bar-vertical-popout .b-bar-dropdown:not([data-visible=true]) .b-bar-dropdown-toggle:before,.b-bar-vertical-small .b-bar-dropdown:not([data-visible=true]) .b-bar-dropdown-toggle:before{-webkit-transform:rotate(45deg);transform:rotate(45deg);top:.5rem;}.b-bar-vertical-inline .b-bar-dropdown .b-bar-dropdown-menu,.b-bar-vertical-popout .b-bar-dropdown .b-bar-dropdown-menu,.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu{display:none;background:inherit;color:inherit;float:none;padding:5px 0;}.b-bar-vertical-inline .b-bar-dropdown .b-bar-dropdown-menu[data-visible=true],.b-bar-vertical-popout .b-bar-dropdown .b-bar-dropdown-menu[data-visible=true],.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu[data-visible=true]{display:block;}.b-bar-vertical-inline .b-bar-dropdown .b-bar-dropdown-menu .b-bar-dropdown-item,.b-bar-vertical-popout .b-bar-dropdown .b-bar-dropdown-menu .b-bar-dropdown-item,.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu .b-bar-dropdown-item{position:relative;color:inherit;transition:background 100ms ease-in-out,color 100ms ease-in-out;text-decoration:none;display:block;width:100%;overflow-x:hidden;}.b-bar-vertical-inline .b-bar-dropdown .b-bar-dropdown-menu .b-bar-dropdown-item i,.b-bar-vertical-popout .b-bar-dropdown .b-bar-dropdown-menu .b-bar-dropdown-item i,.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu .b-bar-dropdown-item i{margin-right:.3rem;}.b-bar-vertical-inline .b-bar-dropdown .b-bar-dropdown-menu:before,.b-bar-vertical-popout .b-bar-dropdown .b-bar-dropdown-menu:before,.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu:before{background:inherit;box-shadow:none;}.b-bar-vertical-inline .b-bar-mobile-toggle,.b-bar-vertical-popout .b-bar-mobile-toggle,.b-bar-vertical-small .b-bar-mobile-toggle{right:20px;margin:auto;display:none;}.b-bar-vertical-inline .b-bar-item-multi-line,.b-bar-vertical-popout .b-bar-item-multi-line,.b-bar-vertical-small .b-bar-item-multi-line{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:var(--b-bar-item-lines,2);white-space:normal!important;overflow:hidden;text-overflow:ellipsis;}.b-bar-vertical-inline.b-bar-dark,.b-bar-vertical-popout.b-bar-dark,.b-bar-vertical-small.b-bar-dark{background:var(--b-bar-dark-background,#001529);color:var(--b-bar-dark-color,rgba(255,255,255,.5));}.b-bar-vertical-inline.b-bar-dark .b-bar-brand,.b-bar-vertical-popout.b-bar-dark .b-bar-brand,.b-bar-vertical-small.b-bar-dark .b-bar-brand{background:var(--b-bar-brand-dark-background,rgba(255,255,255,.025));}.b-bar-vertical-inline.b-bar-dark .b-bar-brand .b-bar-link,.b-bar-vertical-popout.b-bar-dark .b-bar-brand .b-bar-link,.b-bar-vertical-small.b-bar-dark .b-bar-brand .b-bar-link{color:#fff;}.b-bar-vertical-inline.b-bar-dark .b-bar-brand .b-bar-link.active,.b-bar-vertical-popout.b-bar-dark .b-bar-brand .b-bar-link.active,.b-bar-vertical-small.b-bar-dark .b-bar-brand .b-bar-link.active{color:#fff;background:inherit;}.b-bar-vertical-inline.b-bar-dark .b-bar-brand .b-bar-link:hover,.b-bar-vertical-popout.b-bar-dark .b-bar-brand .b-bar-link:hover,.b-bar-vertical-small.b-bar-dark .b-bar-brand .b-bar-link:hover{color:#fff;background:inherit;}.b-bar-vertical-inline.b-bar-dark .b-bar-toggler-popout:not(.b-bar-mobile-toggle),.b-bar-vertical-popout.b-bar-dark .b-bar-toggler-popout:not(.b-bar-mobile-toggle),.b-bar-vertical-small.b-bar-dark .b-bar-toggler-popout:not(.b-bar-mobile-toggle){background:var(--b-bar-dark-background,#001529);color:var(--b-bar-dark-color,rgba(255,255,255,.5));}.b-bar-vertical-inline.b-bar-dark .b-bar-dropdown-menu,.b-bar-vertical-popout.b-bar-dark .b-bar-dropdown-menu,.b-bar-vertical-small.b-bar-dark .b-bar-dropdown-menu{background:var(--b-bar-dropdown-dark-background,#000c17);}.b-bar-vertical-inline.b-bar-dark .b-bar-dropdown-menu .b-bar-dropdown-item.active,.b-bar-vertical-popout.b-bar-dark .b-bar-dropdown-menu .b-bar-dropdown-item.active,.b-bar-vertical-small.b-bar-dark .b-bar-dropdown-menu .b-bar-dropdown-item.active{color:var(--b-bar-item-dark-active-color,#fff);background:var(--b-bar-item-dark-active-background,#0288d1);}.b-bar-vertical-inline.b-bar-dark .b-bar-dropdown-menu .b-bar-dropdown-item:hover,.b-bar-vertical-popout.b-bar-dark .b-bar-dropdown-menu .b-bar-dropdown-item:hover,.b-bar-vertical-small.b-bar-dark .b-bar-dropdown-menu .b-bar-dropdown-item:hover{color:var(--b-bar-item-dark-hover-color,#fff);background:var(--b-bar-item-dark-hover-background,rgba(255,255,255,.3));}.b-bar-vertical-inline.b-bar-dark .b-bar-link,.b-bar-vertical-popout.b-bar-dark .b-bar-link,.b-bar-vertical-small.b-bar-dark .b-bar-link{color:inherit;}.b-bar-vertical-inline.b-bar-dark .b-bar-link.active,.b-bar-vertical-popout.b-bar-dark .b-bar-link.active,.b-bar-vertical-small.b-bar-dark .b-bar-link.active{color:var(--b-bar-item-dark-active-color,#fff);background:var(--b-bar-item-dark-active-background,#0288d1);}.b-bar-vertical-inline.b-bar-dark .b-bar-link:hover,.b-bar-vertical-popout.b-bar-dark .b-bar-link:hover,.b-bar-vertical-small.b-bar-dark .b-bar-link:hover{color:var(--b-bar-item-dark-hover-color,#fff);background:var(--b-bar-item-dark-hover-background,rgba(255,255,255,.3));}.b-bar-vertical-inline.b-bar-light,.b-bar-vertical-popout.b-bar-light,.b-bar-vertical-small.b-bar-light{background:var(--b-bar-light-background,#fff);color:var(--b-bar-light-color,rgba(0,0,0,.7));}.b-bar-vertical-inline.b-bar-light .b-bar-brand,.b-bar-vertical-popout.b-bar-light .b-bar-brand,.b-bar-vertical-small.b-bar-light .b-bar-brand{background:var(--b-bar-brand-light-background,rgba(0,0,0,.025));}.b-bar-vertical-inline.b-bar-light .b-bar-brand .b-bar-link,.b-bar-vertical-popout.b-bar-light .b-bar-brand .b-bar-link,.b-bar-vertical-small.b-bar-light .b-bar-brand .b-bar-link{color:#000;}.b-bar-vertical-inline.b-bar-light .b-bar-brand .b-bar-link.active,.b-bar-vertical-popout.b-bar-light .b-bar-brand .b-bar-link.active,.b-bar-vertical-small.b-bar-light .b-bar-brand .b-bar-link.active{background:inherit;}.b-bar-vertical-inline.b-bar-light .b-bar-brand .b-bar-link:hover,.b-bar-vertical-popout.b-bar-light .b-bar-brand .b-bar-link:hover,.b-bar-vertical-small.b-bar-light .b-bar-brand .b-bar-link:hover{background:inherit;}.b-bar-vertical-inline.b-bar-light .b-bar-toggler-popout:not(.b-bar-mobile-toggle),.b-bar-vertical-popout.b-bar-light .b-bar-toggler-popout:not(.b-bar-mobile-toggle),.b-bar-vertical-small.b-bar-light .b-bar-toggler-popout:not(.b-bar-mobile-toggle){background:var(--b-bar-brand-light-background,#fff);color:var(--b-bar-light-color,rgba(0,0,0,.7));}.b-bar-vertical-inline.b-bar-light .b-bar-dropdown-menu,.b-bar-vertical-popout.b-bar-light .b-bar-dropdown-menu,.b-bar-vertical-small.b-bar-light .b-bar-dropdown-menu{background:var(--b-bar-dropdown-light-background,#f2f2f2);}.b-bar-vertical-inline.b-bar-light .b-bar-dropdown-menu .b-bar-dropdown-item.active,.b-bar-vertical-popout.b-bar-light .b-bar-dropdown-menu .b-bar-dropdown-item.active,.b-bar-vertical-small.b-bar-light .b-bar-dropdown-menu .b-bar-dropdown-item.active{color:var(--b-bar-item-light-active-color,#000);background:var(--b-bar-item-light-active-background,#0288d1);}.b-bar-vertical-inline.b-bar-light .b-bar-dropdown-menu .b-bar-dropdown-item:hover,.b-bar-vertical-popout.b-bar-light .b-bar-dropdown-menu .b-bar-dropdown-item:hover,.b-bar-vertical-small.b-bar-light .b-bar-dropdown-menu .b-bar-dropdown-item:hover{color:var(--b-bar-item-light-hover-color,#000);background:var(--b-bar-item-light-hover-background,rgba(0,0,0,.3));}.b-bar-vertical-inline.b-bar-light .b-bar-link,.b-bar-vertical-popout.b-bar-light .b-bar-link,.b-bar-vertical-small.b-bar-light .b-bar-link{color:inherit;}.b-bar-vertical-inline.b-bar-light .b-bar-link.active,.b-bar-vertical-popout.b-bar-light .b-bar-link.active,.b-bar-vertical-small.b-bar-light .b-bar-link.active{color:var(--b-bar-item-light-active-color,#000);background:var(--b-bar-item-light-active-background,#0288d1);}.b-bar-vertical-inline.b-bar-light .b-bar-link:hover,.b-bar-vertical-popout.b-bar-light .b-bar-link:hover,.b-bar-vertical-small.b-bar-light .b-bar-link:hover{color:var(--b-bar-item-light-hover-color,#000);background:var(--b-bar-item-light-hover-background,rgba(0,0,0,.3));}.b-bar-vertical-small,.b-bar-vertical-inline[data-collapse=small],.b-bar-vertical-popout[data-collapse=small]{width:var(--b-vertical-bar-small-width,64px);min-width:var(--b-vertical-bar-small-width,64px);}.b-bar-vertical-small:not(.b-bar-initial),.b-bar-vertical-inline[data-collapse=small]:not(.b-bar-initial),.b-bar-vertical-popout[data-collapse=small]:not(.b-bar-initial){transition:width 200ms ease-in-out,min-width 200ms ease-in-out;}.b-bar-vertical-small .b-bar-toggler-inline,.b-bar-vertical-inline[data-collapse=small] .b-bar-toggler-inline,.b-bar-vertical-popout[data-collapse=small] .b-bar-toggler-inline{position:relative;width:100%;}.b-bar-vertical-small .b-bar-toggler-popout:not(.b-bar-mobile-toggle),.b-bar-vertical-inline[data-collapse=small] .b-bar-toggler-popout:not(.b-bar-mobile-toggle),.b-bar-vertical-popout[data-collapse=small] .b-bar-toggler-popout:not(.b-bar-mobile-toggle){left:var(--b-vertical-bar-small-width,64px);}.b-bar-vertical-small .b-bar-item>.b-bar-dropdown>.b-bar-dropdown-toggle:before,.b-bar-vertical-inline[data-collapse=small] .b-bar-item>.b-bar-dropdown>.b-bar-dropdown-toggle:before,.b-bar-vertical-popout[data-collapse=small] .b-bar-item>.b-bar-dropdown>.b-bar-dropdown-toggle:before{display:none;}.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container,.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container,.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container{z-index:100;max-height:50vh;position:absolute!important;margin:-42px 5px 0 5px;display:flex;width:var(--b-vertical-bar-popout-menu-width,180px);left:var(--b-vertical-bar-small-width,64px);}.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container.b-bar-right,.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container.b-bar-right,.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container.b-bar-right{right:var(--b-vertical-bar-small-width,64px);left:unset;}.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu,.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu,.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu{box-shadow:0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05);border-radius:3px;overflow-y:auto;overflow-x:hidden;flex:1 100%;}.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu .b-bar-dropdown-item,.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu .b-bar-dropdown-item,.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu .b-bar-dropdown-item{padding:.5rem .5rem .5rem 1.5rem;}.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu:before,.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu:before,.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu:before{position:absolute;top:0;left:-7px;right:0;bottom:0;width:100%;height:100%;opacity:.0001;content:" ";z-index:-1;}.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu.b-bar-right:before,.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu.b-bar-right:before,.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu.b-bar-right:before{left:unset;right:-7px;}.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-menu-container,.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-menu-container,.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-menu-container{left:var(--b-vertical-bar-popout-menu-width,180px);}.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-menu-container.b-bar-right,.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-menu-container.b-bar-right,.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-menu-container.b-bar-right{right:var(--b-vertical-bar-popout-menu-width,180px);}.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-toggle:before,.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-toggle:before,.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-toggle:before{content:" ";border:solid;border-width:0 2px 2px 0;display:inline-block;padding:2px;right:1rem;transition:transform 200ms ease-out;float:right;position:relative;-webkit-transform:rotate(135deg);transform:rotate(135deg);right:.8rem;}.b-bar-vertical-small .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown:not([data-visible=true]) .b-bar-dropdown-toggle:before,.b-bar-vertical-inline[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown:not([data-visible=true]) .b-bar-dropdown-toggle:before,.b-bar-vertical-popout[data-collapse=small] .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown:not([data-visible=true]) .b-bar-dropdown-toggle:before{-webkit-transform:rotate(315deg);transform:rotate(315deg);}@keyframes b-bar-link-small{to{text-align:center;padding-left:0;padding-right:0;}}.b-bar-vertical-small .b-bar-item>.b-bar-link,.b-bar-vertical-small .b-bar-item>.b-bar-dropdown>.b-bar-link,.b-bar-vertical-inline[data-collapse=small] .b-bar-item>.b-bar-link,.b-bar-vertical-inline[data-collapse=small] .b-bar-item>.b-bar-dropdown>.b-bar-link,.b-bar-vertical-popout[data-collapse=small] .b-bar-item>.b-bar-link,.b-bar-vertical-popout[data-collapse=small] .b-bar-item>.b-bar-dropdown>.b-bar-link{animation:b-bar-link-small forwards;animation-delay:170ms;font-size:0;transition:font-size 100ms ease-out;}.b-bar-vertical-small .b-bar-item>.b-bar-link:after,.b-bar-vertical-small .b-bar-item>.b-bar-dropdown>.b-bar-link:after,.b-bar-vertical-inline[data-collapse=small] .b-bar-item>.b-bar-link:after,.b-bar-vertical-inline[data-collapse=small] .b-bar-item>.b-bar-dropdown>.b-bar-link:after,.b-bar-vertical-popout[data-collapse=small] .b-bar-item>.b-bar-link:after,.b-bar-vertical-popout[data-collapse=small] .b-bar-item>.b-bar-dropdown>.b-bar-link:after{display:none;}.b-bar-vertical-small .b-bar-label,.b-bar-vertical-inline[data-collapse=small] .b-bar-label,.b-bar-vertical-popout[data-collapse=small] .b-bar-label{text-align:center;}.b-bar-vertical-inline:not([data-collapse]){overflow-y:auto;overflow-x:hidden;}.b-bar-vertical-inline:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container{position:relative;}.b-bar-vertical-inline:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu{position:relative!important;border:0;border-radius:0;box-shadow:none;}.b-bar-vertical-inline:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu .b-bar-dropdown-item{padding:.5rem .5rem .5rem 3rem;}.b-bar-vertical-inline:not([data-collapse]) .b-bar-brand .b-bar-link{display:flex;align-items:center;}.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-toggle:before{content:" ";border:solid;border-width:0 2px 2px 0;display:inline-block;padding:2px;right:1rem;transition:transform 200ms ease-out;float:right;position:relative;-webkit-transform:rotate(135deg);transform:rotate(135deg);right:.8rem;}.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown:not([data-visible=true]) .b-bar-dropdown-toggle:before{-webkit-transform:rotate(315deg);transform:rotate(315deg);}.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container{z-index:100;max-height:50vh;position:absolute!important;margin:-42px 5px 0 5px;display:flex;width:var(--b-vertical-bar-popout-menu-width,180px);left:var(--b-vertical-bar-width,230px);}.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container.b-bar-right{right:var(--b-vertical-bar-width,230px);left:unset;}.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu{box-shadow:0 3px 6px -4px rgba(0,0,0,.12),0 6px 16px 0 rgba(0,0,0,.08),0 9px 28px 8px rgba(0,0,0,.05);border-radius:3px;overflow-y:auto;overflow-x:hidden;flex:1 100%;}.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu .b-bar-dropdown-item{padding:.5rem .5rem .5rem 1.5rem;}.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu:before{position:absolute;top:0;left:-7px;right:0;bottom:0;width:100%;height:100%;opacity:.0001;content:" ";z-index:-1;}.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu.b-bar-right:before{left:unset;right:-7px;}.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-menu-container{left:var(--b-vertical-bar-popout-menu-width,180px);}.b-bar-vertical-popout:not([data-collapse]) .b-bar-dropdown .b-bar-dropdown-menu-container .b-bar-dropdown-menu>.b-bar-dropdown .b-bar-dropdown-menu-container.b-bar-right{right:var(--b-vertical-bar-popout-menu-width,180px);}.b-bar-vertical-inline[data-collapse=hide],.b-bar-vertical-popout[data-collapse=hide],.b-bar-vertical-small[data-collapse=hide]{width:0;min-width:0;overflow-y:hidden;visibility:hidden;}.b-bar-vertical-inline[data-collapse=hide]:not(.b-bar-initial),.b-bar-vertical-popout[data-collapse=hide]:not(.b-bar-initial),.b-bar-vertical-small[data-collapse=hide]:not(.b-bar-initial){transition:width 200ms ease-in-out,min-width 200ms ease-in-out,visibility 100ms;}.b-bar-vertical-inline[data-collapse=hide] .b-bar-toggler-inline,.b-bar-vertical-popout[data-collapse=hide] .b-bar-toggler-inline,.b-bar-vertical-small[data-collapse=hide] .b-bar-toggler-inline{display:none;}.b-bar-vertical-inline[data-collapse=hide] .b-bar-toggler-popout:not(.b-bar-mobile-toggle),.b-bar-vertical-popout[data-collapse=hide] .b-bar-toggler-popout:not(.b-bar-mobile-toggle),.b-bar-vertical-small[data-collapse=hide] .b-bar-toggler-popout:not(.b-bar-mobile-toggle){visibility:visible;left:0;}@media only screen and (max-width:576px){.b-bar-vertical-inline:not([data-collapse]){min-width:100vw;}.b-bar-vertical-inline:not([data-collapse]) .b-bar-toggler-inline:not(.b-bar-mobile-toggle){display:none;}.b-bar-vertical-inline:not([data-collapse]) .b-bar-toggler-popout:not(.b-bar-mobile-toggle){left:100vw;}.b-bar-vertical-inline:not([data-collapse]) .b-bar-mobile-toggle{display:flex;}}.b-table.table{position:relative;}.b-table.table .b-table-resizer{position:absolute;top:0;right:0;width:5px;cursor:col-resize;user-select:none;z-index:1;}.b-table.table .b-table-resizer:hover,.b-table.table .b-table-resizing{cursor:col-resize!important;border-right:2px solid var(--b-theme-primary,#00f);}.b-table.table .b-table-resizing{cursor:col-resize!important;}thead tr th{position:relative;}.b-character-casing-lower{text-transform:lowercase;}.b-character-casing-upper{text-transform:uppercase;}.b-character-casing-title{text-transform:lowercase;}.b-character-casing-title::first-letter {text-transform:uppercase;}.flatpickr-calendar{background:transparent;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;background:#fff;-webkit-box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,.08);box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,.08);}.flatpickr-calendar.open,.flatpickr-calendar.inline{opacity:1;max-height:640px;visibility:visible;}.flatpickr-calendar.open{display:inline-block;z-index:99999;}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);}.flatpickr-calendar.inline{display:block;position:relative;top:2px;}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px);}.flatpickr-calendar.static.open{z-index:999;display:block;}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none!important;box-shadow:none!important;}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;}.flatpickr-calendar .hasWeeks .dayContainer,.flatpickr-calendar .hasTime .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0;}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0;}.flatpickr-calendar.hasTime .flatpickr-time{height:40px;border-top:1px solid #e6e6e6;}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto;}.flatpickr-calendar:before,.flatpickr-calendar:after{position:absolute;display:block;pointer-events:none;border:solid transparent;content:"";height:0;width:0;left:22px;}.flatpickr-calendar.rightMost:before,.flatpickr-calendar.arrowRight:before,.flatpickr-calendar.rightMost:after,.flatpickr-calendar.arrowRight:after{left:auto;right:22px;}.flatpickr-calendar.arrowCenter:before,.flatpickr-calendar.arrowCenter:after{left:50%;right:50%;}.flatpickr-calendar:before{border-width:5px;margin:0 -5px;}.flatpickr-calendar:after{border-width:4px;margin:0 -4px;}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{bottom:100%;}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6;}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff;}.flatpickr-calendar.arrowBottom:before,.flatpickr-calendar.arrowBottom:after{top:100%;}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6;}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff;}.flatpickr-calendar:focus{outline:0;}.flatpickr-wrapper{position:relative;display:contents;}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.flatpickr-months .flatpickr-month{background:transparent;color:rgba(0,0,0,.9);fill:rgba(0,0,0,.9);height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:rgba(0,0,0,.9);fill:rgba(0,0,0,.9);}.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,.flatpickr-months .flatpickr-next-month.flatpickr-disabled{display:none;}.flatpickr-months .flatpickr-prev-month i,.flatpickr-months .flatpickr-next-month i{position:relative;}.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,.flatpickr-months .flatpickr-next-month.flatpickr-prev-month{left:0;}.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,.flatpickr-months .flatpickr-next-month.flatpickr-next-month{right:0;}.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{color:#959ea9;}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#f64747;}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:14px;height:14px;}.flatpickr-months .flatpickr-prev-month svg path,.flatpickr-months .flatpickr-next-month svg path{-webkit-transition:fill .1s;transition:fill .1s;fill:inherit;}.numInputWrapper{position:relative;height:auto;}.numInputWrapper input,.numInputWrapper span{display:inline-block;}.numInputWrapper input{width:100%;}.numInputWrapper input::-ms-clear{display:none;}.numInputWrapper input::-webkit-outer-spin-button,.numInputWrapper input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(57,57,57,.15);-webkit-box-sizing:border-box;box-sizing:border-box;}.numInputWrapper span:hover{background:rgba(0,0,0,.1);}.numInputWrapper span:active{background:rgba(0,0,0,.2);}.numInputWrapper span:after{display:block;content:"";position:absolute;}.numInputWrapper span.arrowUp{top:0;border-bottom:0;}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(57,57,57,.6);top:26%;}.numInputWrapper span.arrowDown{top:50%;}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(57,57,57,.6);top:40%;}.numInputWrapper span svg{width:inherit;height:auto;}.numInputWrapper span svg path{fill:rgba(0,0,0,.5);}.numInputWrapper:hover{background:rgba(0,0,0,.05);}.numInputWrapper:hover span{opacity:1;}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0;}.flatpickr-current-month span.cur-month:hover{background:rgba(0,0,0,.05);}.flatpickr-current-month .numInputWrapper{width:6ch;width:7ch\0;display:inline-block;}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:rgba(0,0,0,.9);}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:rgba(0,0,0,.9);}.flatpickr-current-month input.cur-year{background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 .5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;}.flatpickr-current-month input.cur-year:focus{outline:0;}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:rgba(0,0,0,.5);background:transparent;pointer-events:none;}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:transparent;border:0;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0 0;outline:0;padding:0 0 0 .5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto;}.flatpickr-current-month .flatpickr-monthDropdown-months:focus,.flatpickr-current-month .flatpickr-monthDropdown-months:active{outline:0;}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0,0,0,.05);}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:0;padding:0;}.flatpickr-weekdays{background:transparent;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px;}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;}span.flatpickr-weekday{cursor:default;font-size:90%;background:transparent;color:rgba(0,0,0,.54);line-height:1;margin:0;text-align:center;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-weight:bolder;}.dayContainer,.flatpickr-weeks{padding:1px 0 0 0;}.flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px;}.flatpickr-days:focus{outline:0;}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1;}.dayContainer+.dayContainer{-webkit-box-shadow:-1px 0 0 #e6e6e6;box-shadow:-1px 0 0 #e6e6e6;}.flatpickr-day{background:none;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center;}.flatpickr-day.inRange,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.today.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day:hover,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.nextMonthDay:hover,.flatpickr-day:focus,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.nextMonthDay:focus{cursor:pointer;outline:0;background:#e6e6e6;border-color:#e6e6e6;}.flatpickr-day.today{border-color:#959ea9;}.flatpickr-day.today:hover,.flatpickr-day.today:focus{border-color:#959ea9;background:#959ea9;color:#fff;}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{background:#569ff7;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#569ff7;}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:50px 0 0 50px;}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0 50px 50px 0;}.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #569ff7;box-shadow:-10px 0 0 #569ff7;}.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange,.flatpickr-day.endRange.startRange.endRange{border-radius:50px;}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6;}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.notAllowed.nextMonthDay{color:rgba(57,57,57,.3);background:transparent;border-color:transparent;cursor:default;}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:rgba(57,57,57,.1);}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7;box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7;}.flatpickr-day.hidden{visibility:hidden;}.rangeMode .flatpickr-day{margin-top:1px;}.flatpickr-weekwrapper{float:left;}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;-webkit-box-shadow:1px 0 0 #e6e6e6;box-shadow:1px 0 0 #e6e6e6;}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px;}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:rgba(57,57,57,.3);background:transparent;cursor:default;border:0;}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;}.flatpickr-rContainer{display:inline-block;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box;}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}.flatpickr-time:after{content:"";display:table;clear:both;}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left;}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939;}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939;}.flatpickr-time.hasSeconds .numInputWrapper{width:26%;}.flatpickr-time.time24hr .numInputWrapper{width:49%;}.flatpickr-time input{background:transparent;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#393939;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;}.flatpickr-time input.flatpickr-hour{font-weight:bold;}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400;}.flatpickr-time input:focus{outline:0;border:0;}.flatpickr-time .flatpickr-time-separator,.flatpickr-time .flatpickr-am-pm{height:inherit;float:left;line-height:inherit;color:#393939;font-weight:bold;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400;}.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background:#eee;}.flatpickr-input[readonly]{cursor:pointer;}@-webkit-keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);}}@keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);}}.flatpickr-monthSelect-months{margin:10px 1px 3px 1px;flex-wrap:wrap;}.flatpickr-monthSelect-month{background:none;border:0;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;display:inline-block;font-weight:400;margin:.5px;justify-content:center;padding:10px;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;text-align:center;width:33%;}.flatpickr-monthSelect-month.disabled{color:#eee;}.flatpickr-monthSelect-month.disabled:hover,.flatpickr-monthSelect-month.disabled:focus{cursor:not-allowed;background:none!important;}.flatpickr-monthSelect-theme-dark{background:#3f4458;}.flatpickr-monthSelect-theme-dark .flatpickr-current-month input.cur-year{color:#fff;}.flatpickr-monthSelect-theme-dark .flatpickr-months .flatpickr-prev-month,.flatpickr-monthSelect-theme-dark .flatpickr-months .flatpickr-next-month{color:#fff;fill:#fff;}.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month{color:rgba(255,255,255,.95);}.flatpickr-monthSelect-month:hover,.flatpickr-monthSelect-month:focus{background:#e6e6e6;cursor:pointer;outline:0;}.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month:hover,.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month:focus{background:#646c8c;border-color:#646c8c;}.flatpickr-monthSelect-month.selected{background-color:#569ff7;color:#fff;}.flatpickr-monthSelect-theme-dark .flatpickr-monthSelect-month.selected{background:#80cbc4;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#80cbc4;} +/*! Pickr 1.8.2 MIT | https://github.com/Simonwep/pickr */ +.pickr{position:relative;overflow:visible;transform:translateY(0);}.pickr *{box-sizing:border-box;outline:0;border:0;-webkit-appearance:none;}.pickr .pcr-button{position:relative;height:2em;width:2em;padding:.5em;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Helvetica Neue",Arial,sans-serif;border-radius:.15em;background:url('data:image/svg+xml;utf8, ') no-repeat center;background-size:0;transition:all .3s;}.pickr .pcr-button::before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, ');background-size:.5em;border-radius:.15em;z-index:-1;}.pickr .pcr-button::before{z-index:initial;}.pickr .pcr-button::after{position:absolute;content:"";top:0;left:0;height:100%;width:100%;transition:background .3s;background:var(--pcr-color);border-radius:.15em;}.pickr .pcr-button.clear{background-size:70%;}.pickr .pcr-button.clear::before{opacity:0;}.pickr .pcr-button.clear:focus{box-shadow:0 0 0 1px rgba(255,255,255,.85),0 0 0 3px var(--pcr-color);}.pickr .pcr-button.disabled{cursor:not-allowed;}.pickr *,.pcr-app *{box-sizing:border-box;outline:0;border:0;-webkit-appearance:none;}.pickr input:focus,.pickr input.pcr-active,.pickr button:focus,.pickr button.pcr-active,.pcr-app input:focus,.pcr-app input.pcr-active,.pcr-app button:focus,.pcr-app button.pcr-active{box-shadow:0 0 0 1px rgba(255,255,255,.85),0 0 0 3px var(--pcr-color);}.pickr .pcr-palette,.pickr .pcr-slider,.pcr-app .pcr-palette,.pcr-app .pcr-slider{transition:box-shadow .3s;}.pickr .pcr-palette:focus,.pickr .pcr-slider:focus,.pcr-app .pcr-palette:focus,.pcr-app .pcr-slider:focus{box-shadow:0 0 0 1px rgba(255,255,255,.85),0 0 0 3px rgba(0,0,0,.25);}.pcr-app{position:fixed;display:flex;flex-direction:column;z-index:10000;border-radius:.1em;background:#fff;opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s .3s;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Helvetica Neue",Arial,sans-serif;box-shadow:0 .15em 1.5em 0 rgba(0,0,0,.1),0 0 1em 0 rgba(0,0,0,.03);left:0;top:0;}.pcr-app.visible{transition:opacity .3s;visibility:visible;opacity:1;}.pcr-app .pcr-swatches{display:flex;flex-wrap:wrap;margin-top:.75em;}.pcr-app .pcr-swatches.pcr-last{margin:0;}@supports(display:grid){.pcr-app .pcr-swatches{display:grid;align-items:center;grid-template-columns:repeat(auto-fit,1.75em);}}.pcr-app .pcr-swatches>button{font-size:1em;position:relative;width:calc(1.75em - 5px);height:calc(1.75em - 5px);border-radius:.15em;cursor:pointer;margin:2.5px;flex-shrink:0;justify-self:center;transition:all .15s;overflow:hidden;background:transparent;z-index:1;}.pcr-app .pcr-swatches>button::before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, ');background-size:6px;border-radius:.15em;z-index:-1;}.pcr-app .pcr-swatches>button::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--pcr-color);border:1px solid rgba(0,0,0,.05);border-radius:.15em;box-sizing:border-box;}.pcr-app .pcr-swatches>button:hover{filter:brightness(1.05);}.pcr-app .pcr-swatches>button:not(.pcr-active){box-shadow:none;}.pcr-app .pcr-interaction{display:flex;flex-wrap:wrap;align-items:center;margin:0 -.2em 0 -.2em;}.pcr-app .pcr-interaction>*{margin:0 .2em;}.pcr-app .pcr-interaction input{letter-spacing:.07em;font-size:.75em;text-align:center;cursor:pointer;color:#75797e;background:#f1f3f4;border-radius:.15em;transition:all .15s;padding:.45em .5em;margin-top:.75em;}.pcr-app .pcr-interaction input:hover{filter:brightness(.975);}.pcr-app .pcr-interaction input:focus{box-shadow:0 0 0 1px rgba(255,255,255,.85),0 0 0 3px rgba(66,133,244,.75);}.pcr-app .pcr-interaction .pcr-result{color:#75797e;text-align:left;flex:1 1 8em;min-width:8em;transition:all .2s;border-radius:.15em;background:#f1f3f4;cursor:text;}.pcr-app .pcr-interaction .pcr-result::-moz-selection{background:#4285f4;color:#fff;}.pcr-app .pcr-interaction .pcr-result::selection{background:#4285f4;color:#fff;}.pcr-app .pcr-interaction .pcr-type.active{color:#fff;background:#4285f4;}.pcr-app .pcr-interaction .pcr-save,.pcr-app .pcr-interaction .pcr-cancel,.pcr-app .pcr-interaction .pcr-clear{color:#fff;width:auto;}.pcr-app .pcr-interaction .pcr-save,.pcr-app .pcr-interaction .pcr-cancel,.pcr-app .pcr-interaction .pcr-clear{color:#fff;}.pcr-app .pcr-interaction .pcr-save:hover,.pcr-app .pcr-interaction .pcr-cancel:hover,.pcr-app .pcr-interaction .pcr-clear:hover{filter:brightness(.925);}.pcr-app .pcr-interaction .pcr-save{background:#4285f4;}.pcr-app .pcr-interaction .pcr-clear,.pcr-app .pcr-interaction .pcr-cancel{background:#f44250;}.pcr-app .pcr-interaction .pcr-clear:focus,.pcr-app .pcr-interaction .pcr-cancel:focus{box-shadow:0 0 0 1px rgba(255,255,255,.85),0 0 0 3px rgba(244,66,80,.75);}.pcr-app .pcr-selection .pcr-picker{position:absolute;height:18px;width:18px;border:2px solid #fff;border-radius:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.pcr-app .pcr-selection .pcr-color-palette,.pcr-app .pcr-selection .pcr-color-chooser,.pcr-app .pcr-selection .pcr-color-opacity{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:column;cursor:grab;cursor:-webkit-grab;}.pcr-app .pcr-selection .pcr-color-palette:active,.pcr-app .pcr-selection .pcr-color-chooser:active,.pcr-app .pcr-selection .pcr-color-opacity:active{cursor:grabbing;cursor:-webkit-grabbing;}.pcr-app[data-theme=monolith]{width:14.25em;max-width:95vw;padding:.8em;}.pcr-app[data-theme=monolith] .pcr-selection{display:flex;flex-direction:column;justify-content:space-between;flex-grow:1;}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-preview{position:relative;z-index:1;width:100%;height:1em;display:flex;flex-direction:row;justify-content:space-between;margin-bottom:.5em;}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-preview::before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, ');background-size:.5em;border-radius:.15em;z-index:-1;}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-preview .pcr-last-color{cursor:pointer;transition:background-color .3s,box-shadow .3s;border-radius:.15em 0 0 .15em;z-index:2;}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-preview .pcr-current-color{border-radius:0 .15em .15em 0;}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-preview .pcr-last-color,.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-preview .pcr-current-color{background:var(--pcr-color);width:50%;height:100%;}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-palette{width:100%;height:8em;z-index:1;}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-palette .pcr-palette{border-radius:.15em;width:100%;height:100%;}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-palette .pcr-palette::before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, ');background-size:.5em;border-radius:.15em;z-index:-1;}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-chooser,.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-opacity{height:.5em;margin-top:.75em;}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-chooser .pcr-picker,.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-opacity .pcr-picker{top:50%;transform:translateY(-50%);}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-chooser .pcr-slider,.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-opacity .pcr-slider{flex-grow:1;border-radius:50em;}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-chooser .pcr-slider{background:linear-gradient(to right,#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00);}.pcr-app[data-theme=monolith] .pcr-selection .pcr-color-opacity .pcr-slider{background:linear-gradient(to right,transparent,#000),url('data:image/svg+xml;utf8, ');background-size:100%,.25em;} \ No newline at end of file diff --git a/_content/Blazorise/breakpoint.js b/_content/Blazorise/breakpoint.js new file mode 100755 index 0000000..3c891b5 --- /dev/null +++ b/_content/Blazorise/breakpoint.js @@ -0,0 +1,81 @@ +// holds the list of components that are triggers to breakpoint +const breakpointComponents = []; +let lastBreakpoint = null; + +// Recalculate breakpoint on resize +if (window.attachEvent) { + window.attachEvent('onresize', windowResized); +} +else if (window.addEventListener) { + window.addEventListener('resize', windowResized, true); +} +else { + //The browser does not support Javascript event binding +} + +function windowResized() { + if (breakpointComponents && breakpointComponents.length > 0) { + var currentBreakpoint = getBreakpoint(); + + if (lastBreakpoint !== currentBreakpoint) { + lastBreakpoint = currentBreakpoint; + + let index = 0; + + for (index = 0; index < breakpointComponents.length; ++index) { + onBreakpoint(breakpointComponents[index].dotnetAdapter, currentBreakpoint); + } + } + } +} + +// Set initial breakpoint +lastBreakpoint = getBreakpoint(); + +// Get the current breakpoint +export function getBreakpoint() { + return window.getComputedStyle(document.body, ':before').content.replace(/\"/g, ''); +} + +export function addBreakpointComponent(elementId, dotnetAdapter) { + breakpointComponents.push({ elementId: elementId, dotnetAdapter: dotnetAdapter }); +} + +export function findBreakpointComponentIndex(elementId) { + let index = 0; + + for (index = 0; index < breakpointComponents.length; ++index) { + if (breakpointComponents[index].elementId === elementId) + return index; + } + + return -1; +} + +export function isBreakpointComponent(elementId) { + let index = 0; + + for (index = 0; index < breakpointComponents.length; ++index) { + if (breakpointComponents[index].elementId === elementId) + return true; + } + + return false; +} + +function onBreakpoint(dotnetAdapter, currentBreakpoint) { + dotnetAdapter.invokeMethodAsync('OnBreakpoint', currentBreakpoint); +} + +export function registerBreakpointComponent(dotnetAdapter, elementId) { + if (isBreakpointComponent(elementId) !== true) { + addBreakpointComponent(elementId, dotnetAdapter); + } +} + +export function unregisterBreakpointComponent(elementId) { + const index = findBreakpointComponentIndex(elementId); + if (index !== -1) { + breakpointComponents.splice(index, 1); + } +} \ No newline at end of file diff --git a/_content/Blazorise/button.js b/_content/Blazorise/button.js new file mode 100755 index 0000000..2e45986 --- /dev/null +++ b/_content/Blazorise/button.js @@ -0,0 +1,37 @@ +import { getRequiredElement } from "./utilities.js?v=1.4.2.0"; + +const _instances = []; + +export function initialize(element, elementId, options) { + element = getRequiredElement(element, elementId); + + if (!element) + return; + + _instances[elementId] = new ButtonInfo(element, elementId, options); + + if (element && element.type === "submit") { + element.addEventListener("click", (e) => { + click(_instances[elementId], e); + }); + } +} + +export function destroy(element, elementId) { + var instances = _instances || {}; + delete instances[elementId]; +} + +export function click(buttonInfo, e) { + if (buttonInfo.options.preventDefaultOnSubmit) { + return e.preventDefault(); + } +} + +class ButtonInfo { + constructor(element, elementId, options) { + this.elementId = elementId; + this.element = element; + this.options = options || {}; + } +} \ No newline at end of file diff --git a/_content/Blazorise/closable.js b/_content/Blazorise/closable.js new file mode 100755 index 0000000..5f1d30b --- /dev/null +++ b/_content/Blazorise/closable.js @@ -0,0 +1,155 @@ +let closableComponents = []; +let closableLightComponents = []; +let lastClickedDocumentElement = null; + +function addClosableComponent(elementId, dotnetAdapter) { + closableComponents.push({ elementId: elementId, dotnetAdapter: dotnetAdapter }); +} + +function addClosableLightComponent(elementId) { + closableLightComponents.push({ elementId: elementId }); +} + +function isClosableComponent(elementId) { + let index = 0; + + for (index = 0; index < closableComponents.length; ++index) { + if (closableComponents[index].elementId === elementId) + return true; + } + + return false; +} + +function isClosableLightComponent(elementId) { + let index = 0; + + for (index = 0; index < closableLightComponents.length; ++index) { + if (closableLightComponents[index].elementId === elementId) + return true; + } + + return false; +} + +function findClosableComponentIndex(elementId) { + let index = 0; + + for (index = 0; index < closableComponents.length; ++index) { + if (closableComponents[index].elementId === elementId) + return index; + } + + return null; +} + +function findClosableLightComponentIndex(elementId) { + let index = 0; + + for (index = 0; index < closableLightComponents.length; ++index) { + if (closableLightComponents[index].elementId === elementId) + return index; + } + + return null; +} + +function tryClose(closable, targetElementId, isEscapeKey, isChildClicked) { + let request = new Promise((resolve, reject) => { + closable.dotnetAdapter.invokeMethodAsync('SafeToClose', targetElementId, isEscapeKey ? 'escape' : 'leave', isChildClicked) + .then((result) => resolve({ elementId: closable.elementId, dotnetAdapter: closable.dotnetAdapter, status: result === true ? 'ok' : 'cancelled' })) + .catch(() => resolve({ elementId: closable.elementId, status: 'error' })); + }); + + if (request) { + request + .then((response) => { + if (response.status === 'ok') { + response.dotnetAdapter.invokeMethodAsync('Close', isEscapeKey ? 'escape' : 'leave') + // If the user navigates to another page then it will raise exception because the reference to the component cannot be found. + // In that case just remove the elementId from the list. + .catch(() => unregisterClosableComponent(response.elementId)); + } + }); + } +} + +function hasParentInTree(element, parentElementId) { + if (!element.parentElement) return false; + if (element.parentElement.id === parentElementId) return true; + return hasParentInTree(element.parentElement, parentElementId); +} + +function hasScroll(element) { + return element.scrollHeight > element.clientHeight; +} + +function scrollClick(event) { + return hasScroll(event.target) && event.target.clientWidth < event.clientX; +} + +export function registerClosableComponent(dotnetAdapter, element) { + if (element) { + if (isClosableComponent(element.id) !== true) { + addClosableComponent(element.id, dotnetAdapter); + } + } +} + +/// Adds a lighter closable component, that is tracked for close events. +export function registerClosableLightComponent(element) { + if (element) { + if (isClosableLightComponent(element.id) !== true) { + addClosableLightComponent(element.id); + } + } +} + +export function unregisterClosableLightComponent(element) { + if (element) { + const index = findClosableLightComponentIndex(element.id); + if (index !== -1) { + closableLightComponents.splice(index, 1); + } + } +} + +export function unregisterClosableComponent(element) { + if (element) { + const index = findClosableComponentIndex(element.id); + if (index !== -1) { + closableComponents.splice(index, 1); + } + } +} + +document.addEventListener('mousedown', function handler(evt) { + lastClickedDocumentElement = evt.target; +}); + +document.addEventListener('mouseup', function handler(evt) { + if (isClosableLightComponent(evt.target.id)) + return; + + if (evt.button === 0 && evt.target === lastClickedDocumentElement && closableComponents && closableComponents.length > 0) { + const lastClosable = closableComponents[closableComponents.length - 1]; + const scrollClicked = scrollClick(evt); + if (lastClosable && !scrollClicked) { + tryClose(lastClosable, evt.target.id, false, hasParentInTree(evt.target, lastClosable.elementId)); + } + } +}); + + + +document.addEventListener('keyup', function handler(evt) { + if (isClosableLightComponent(evt.target.id)) + return; + + if (evt.keyCode === 27 && closableComponents && closableComponents.length > 0) { + const lastClosable = closableComponents[closableComponents.length - 1]; + if (lastClosable) { + tryClose(lastClosable, lastClosable.elementId, true, hasParentInTree(evt.target, lastClosable.elementId)); + } + } +}); \ No newline at end of file diff --git a/_content/Blazorise/colorPicker.js b/_content/Blazorise/colorPicker.js new file mode 100755 index 0000000..f60a93c --- /dev/null +++ b/_content/Blazorise/colorPicker.js @@ -0,0 +1,210 @@ +import "./vendors/Pickr.js?v=1.4.2.0"; +import * as utilities from "./utilities.js?v=1.4.2.0"; + +const _instancesInfos = []; + +export function initialize(dotnetAdapter, element, elementId, options) { + element = utilities.getRequiredElement(element, elementId); + + if (!element) + return; + + const picker = Pickr.create({ + el: element, + theme: 'monolith', // 'monolith' or 'nano' + + useAsButton: element, + + comparison: false, + default: options.default || "#000000", + position: 'bottom-start', + silent: true, + + swatches: options.showPalette ? options.palette : null, + components: { + //palette: false, + + // Main components + preview: true, + opacity: options.showOpacitySlider === true ? true : false, + hue: options.showHueSlider === true ? true : false, + + // Input / output Options + interaction: { + hex: true, + rgba: true, + hsla: false, + hsva: false, + cmyk: false, + input: options.showInputField === true ? true : false, + save: false, + clear: options.showClearButton === true ? true : false, + cancel: options.showCancelButton === true ? true : false + } + }, + + // Translations, these are the default values. + i18n: options.localization || { + // Strings visible in the UI + 'ui:dialog': 'color picker dialog', + 'btn:toggle': 'toggle color picker dialog', + 'btn:swatch': 'color swatch', + 'btn:last-color': 'use previous color', + 'btn:save': 'Save', + 'btn:cancel': 'Cancel', + 'btn:clear': 'Clear', + + // Strings used for aria-labels + 'aria:btn:save': 'save and close', + 'aria:btn:cancel': 'cancel and close', + 'aria:btn:clear': 'clear and close', + 'aria:input': 'color input field', + 'aria:palette': 'color selection area', + 'aria:hue': 'hue selection slider', + 'aria:opacity': 'selection slider' + } + }); + + const hexColor = options.default ? options.default : "#000000"; + + const previewElement = element.querySelector(":scope > .b-input-color-picker-preview > .b-input-color-picker-curent-color"); + + const instanceInfo = { + picker: picker, + dotnetAdapter: dotnetAdapter, + element: element, + elementId: elementId, + previewElement: previewElement, + hexColor: hexColor, + palette: options.palette || [], + showPalette: options.showPalette || true, + hideAfterPaletteSelect: options.hideAfterPaletteSelect || true, + showButtons: options.showButtons || true + }; + + applyHexColor(instanceInfo, hexColor, true); + + let hexColorShow = picker.getColor() ? picker.getColor().toHEXA().toString() : null; + + if (options.disabled) { + picker.disable(); + } + + picker + .on('show', (color, instance) => { + hexColorShow = color ? color.toHEXA().toString() : null; + }) + .on("cancel", (instance) => { + applyHexColor(instanceInfo, hexColorShow); + instanceInfo.picker.setColor(hexColorShow, true); + instanceInfo.picker.hide() + }) + .on("clear", (instance) => { + hexColorShow = null; + applyHexColor(instanceInfo, null); + }) + .on("changestop", (source, instance) => { + const hexColor = instance.getColor() ? instance.getColor().toHEXA().toString() : null; + applyHexColor(instanceInfo, hexColor); + }) + .on("swatchselect", (color, instance) => { + const hexColor = color ? color.toHEXA().toString() : null; + applyHexColor(instanceInfo, hexColor); + + if (instanceInfo.hideAfterPaletteSelect) { + instanceInfo.picker.hide(); + } + }); + + _instancesInfos[elementId] = instanceInfo; +} + +export function destroy(element, elementId) { + const instanceInfo = _instancesInfos || {}; + delete instanceInfo[elementId]; +} + +export function updateValue(element, elementId, hexColor) { + const instanceInfo = _instancesInfos[elementId]; + + if (instanceInfo) { + applyHexColor(instanceInfo, hexColor); + } +} + +export function updateOptions(element, elementId, options) { + const instanceInfo = _instancesInfos[elementId]; + + if (instanceInfo) { + if (options.palette.changed) { + instanceInfo.palette = options.palette.value || []; + instanceInfo.picker.setSwatches(instanceInfo.palette); + } + + if (options.showPalette.changed) { + if (options.showPalette.value) { + instanceInfo.picker.setSwatches(instanceInfo.palette); + } else { + instanceInfo.picker.setSwatches([]); + } + } + + if (options.hideAfterPaletteSelect.changed) { + instanceInfo.hideAfterPaletteSelect = options.hideAfterPaletteSelect.value; + } + + if (options.disabled.changed || options.readOnly.changed) { + if (options.disabled.value || options.readOnly.value) { + instanceInfo.picker.disable(); + } else { + instanceInfo.picker.enable(); + } + } + } +} + +export function updateLocalization(element, elementId, localization) { + const instanceInfo = _instancesInfos[elementId]; + + if (instanceInfo) { + instanceInfo.picker.options.i18n = localization; + + instanceInfo.picker._root.interaction.save.value = localization["btn:save"]; + instanceInfo.picker._root.interaction.cancel.value = localization["btn:cancel"]; + instanceInfo.picker._root.interaction.clear.value = localization["btn:clear"]; + } +} + +export function focus(element, elementId, scrollToElement) { + const instanceInfo = _instancesInfos[elementId]; + + if (instanceInfo) { + utilities.focus(picker.element, null, scrollToElement); + } +} + +export function select(element, elementId, focus) { + const instanceInfo = _instancesInfos[elementId]; + + if (instanceInfo) { + utilities.select(picker.element, null, focus); + } +} + +export function applyHexColor(instanceInfo, hexColor, force = false) { + if (instanceInfo.hexColor !== hexColor || force) { + instanceInfo.hexColor = hexColor; + + if (instanceInfo.previewElement) { + instanceInfo.previewElement.style.backgroundColor = hexColor; + } + + if (instanceInfo.element) { + instanceInfo.element.setAttribute('data-color', hexColor); + } + + if (instanceInfo.dotnetAdapter) { + instanceInfo.dotnetAdapter.invokeMethodAsync('SetValue', hexColor); + } + } +} \ No newline at end of file diff --git a/_content/Blazorise/datePicker.js b/_content/Blazorise/datePicker.js new file mode 100755 index 0000000..d378109 --- /dev/null +++ b/_content/Blazorise/datePicker.js @@ -0,0 +1,385 @@ +import "./vendors/flatpickr.js?v=1.4.2.0"; +import * as utilities from "./utilities.js?v=1.4.2.0"; +import * as inputmask from "./inputMask.js?v=1.4.2.0"; +import { ClassWatcher } from "./observer.js?v=1.4.2.0"; + +const _pickers = []; + +export function initialize(dotnetAdapter, element, elementId, options) { + element = utilities.getRequiredElement(element, elementId); + + if (!element) + return; + + function mutationObserverCallback(mutationsList, observer) { + mutationsList.forEach(mutation => { + if (mutation.attributeName === 'class') { + const picker = _pickers[mutation.target.id]; + + if (picker && picker.altInput) { + const altInputClassListToRemove = [...picker.altInput.classList].filter(cn => !["input", "active"].includes(cn)); + const inputClassListToAdd = [...picker.input.classList].filter(cn => !["flatpickr-input"].includes(cn)); + + altInputClassListToRemove.forEach(name => { + picker.altInput.classList.remove(name); + }); + + inputClassListToAdd.forEach(name => { + picker.altInput.classList.add(name); + }); + } + } + }); + } + + // When flatpickr is defined with altInput=true, it will create a second input + // element while the original input element will be hidden. With MutationObserver + // we can copy classnames from hidden to the visible element. + const mutationObserver = new MutationObserver(mutationObserverCallback); + mutationObserver.observe(document.getElementById(elementId), { attributes: true }); + + const defaultOptions = { + enableTime: options.inputMode === 1, + dateFormat: options.inputMode === 1 ? 'Y-m-d H:i' : 'Y-m-d', + allowInput: true, + altInput: true, + altFormat: options.displayFormat ? options.displayFormat : (options.inputMode === 1 ? 'Y-m-d H:i' : 'Y-m-d'), + defaultDate: options.defaultDate, + minDate: options.min, + maxDate: options.max, + locale: options.localization || { + firstDayOfWeek: options.firstDayOfWeek + }, + time_24hr: options.timeAs24hr ? options.timeAs24hr : false, + clickOpens: !(options.readOnly || false), + disable: options.disabledDates || [], + inline: options.inline || false, + disableMobile: options.disableMobile || true, + static: options.staticPicker, + errorHandler: (error) => { + // do nothing to prevent warnings in the console + } + }; + + if (options.selectionMode) + defaultOptions.mode = options.selectionMode; + + const pluginOptions = options.inputMode === 2 ? { + plugins: [new monthSelectPlugin({ + shorthand: false, + dateFormat: "Y-m-d", + altFormat: "M Y" + })] + } : {}; + + const picker = flatpickr(element, Object.assign({}, defaultOptions, pluginOptions)); + + picker.altInput.dotnetAdapter = dotnetAdapter; + + if (options) { + picker.altInput.disabled = options.disabled || false; + picker.altInput.readOnly = options.readOnly || false; + picker.altInput.placeholder = utilities.coalesce(options.placeholder, ""); + + picker.altInput.addEventListener("blur", (e) => { + const isInput = e.target === picker._input; + + // Workaround for: onchange does not fire when user writes the time and then click outside of the input area. + if (isInput && picker.isOpen === false) { + picker.input.dispatchEvent(utilities.createEvent("change")); + picker.input.dispatchEvent(utilities.createEvent("input")); + } + }); + + if (options.inputFormat) { + setInputMask(picker, options.inputFormat, options.placeholder); + } + + if (options.validationStatus) { + const flatpickrWrapper = picker.altInput.parentElement; + + if (flatpickrWrapper) { + if (options.validationStatus.errorClass) { + function errorClassAddHandler() { + flatpickrWrapper.classList.add(options.validationStatus.errorClass); + } + + function errorClassRemoveHandler() { + flatpickrWrapper.classList.remove(options.validationStatus.errorClass); + } + + picker.errorClassWatcher = new ClassWatcher(picker.altInput, options.validationStatus.errorClass, errorClassAddHandler, errorClassRemoveHandler); + } + } + } + + if (options.validationStatus.successClass) { + function successClassAddHandler() { + flatpickrWrapper.classList.add(options.validationStatus.successClass); + } + + function successClassRemoveHandler() { + flatpickrWrapper.classList.remove(options.validationStatus.successClass); + } + + picker.successClassWatcher = new ClassWatcher(picker.altInput, options.validationStatus.successClass, successClassAddHandler, successClassRemoveHandler); + } + } + + picker.customOptions = { + inputMode: options.inputMode + }; + + attachEventHandlers(picker.altInput); + + _pickers[elementId] = picker; +} + +function attachEventHandlers(picker) { + picker.addEventListener("keydown", keyDownHandler); + picker.addEventListener("keyup", keyUpHandler); + picker.addEventListener("focus", focusHandler); + picker.addEventListener("focusin", focusInHandler); + picker.addEventListener("focusout", focusOutHandler); + picker.addEventListener("keypress", keyPressHandler); + picker.addEventListener("blur", blurHandler); +} + +function removeEventHandlers(picker) { + picker.removeEventListener("keydown", keyDownHandler); + picker.removeEventListener("keyup", keyUpHandler); + picker.removeEventListener("focus", focusHandler); + picker.removeEventListener("focusin", focusInHandler); + picker.removeEventListener("focusout", focusOutHandler); + picker.removeEventListener("keypress", keyPressHandler); + picker.removeEventListener("blur", blurHandler); +} + +function keyDownHandler(e) { + if (e.target.dotnetAdapter) { + e.target.dotnetAdapter.invokeMethodAsync("OnKeyDownHandler", e); + } +} + +function keyUpHandler(e) { + if (e.target.dotnetAdapter) { + e.target.dotnetAdapter.invokeMethodAsync("OnKeyUpHandler", e); + } +} + +function focusHandler(e) { + if (e.target.dotnetAdapter) { + e.target.dotnetAdapter.invokeMethodAsync("OnFocusHandler", e); + } +} + +function focusInHandler(e) { + if (e.target.dotnetAdapter) { + e.target.dotnetAdapter.invokeMethodAsync("OnFocusInHandler", e); + } +} + +function focusOutHandler(e) { + if (e.target.dotnetAdapter) { + e.target.dotnetAdapter.invokeMethodAsync("OnFocusOutHandler", e); + } +} + +function keyPressHandler(e) { + if (e.target.dotnetAdapter) { + e.target.dotnetAdapter.invokeMethodAsync("OnKeyPressHandler", e); + } +} + +function blurHandler(e) { + if (e.target.dotnetAdapter) { + e.target.dotnetAdapter.invokeMethodAsync("OnBlurHandler", e); + } +} + +export function destroy(element, elementId) { + const instances = _pickers || {}; + + const instance = instances[elementId]; + + if (instance && instance.altInput) { + removeEventHandlers(instance.altInput); + } + + if (instance) { + if (instance.errorClassWatcher) { + instance.errorClassWatcher.disconnect(); + } + + if (instance.successClassWatcher) { + instance.successClassWatcher.disconnect(); + } + + instance.destroy(); + } + + delete instances[elementId]; +} + +export function updateValue(element, elementId, value) { + const picker = _pickers[elementId]; + + if (picker) { + picker.setDate(value); + + // workaround for https://github.com/flatpickr/flatpickr/issues/2861 + if (picker.customOptions && picker.customOptions.inputMode === 2 && picker.nextMonthNav) { + picker.nextMonthNav.click(); + picker.jumpToDate(value, false); + } + } +} + +export function updateOptions(element, elementId, options) { + const picker = _pickers[elementId]; + + if (picker) { + if (options.firstDayOfWeek.changed) { + picker.set("firstDayOfWeek", options.firstDayOfWeek.value); + } + + if (options.displayFormat.changed) { + picker.set("altFormat", options.displayFormat.value); + } + + if (options.inputFormat.changed) { + setInputMask(picker, options.inputFormat.value, options.placeholder.value); + } + + if (options.timeAs24hr.changed) { + picker.set("time_24hr", options.timeAs24hr.value); + } + + if (options.min.changed) { + picker.set("minDate", options.min.value); + } + + if (options.max.changed) { + picker.set("maxDate", options.max.value); + } + + if (options.disabled.changed) { + picker.altInput.disabled = options.disabled.value; + } + + if (options.readOnly.changed) { + picker.altInput.readOnly = options.readOnly.value; + picker.set("clickOpens", !options.readOnly.value); + } + + if (options.disabledDates.changed) { + picker.set("disable", options.disabledDates.value || []); + } + + if (options.selectionMode.changed) { + picker.set("mode", options.selectionMode.value); + } + + if (options.inline.changed) { + picker.set("inline", options.inline.value || false); + } + + if (options.disableMobile.changed) { + picker.set("disableMobile", options.disableMobile.value || true); + } + + if (options.placeholder.changed) { + picker.altInput.placeholder = utilities.coalesce(options.placeholder.value, ""); + } + + if (options.staticPicker.changed) { + picker.set("static", options.staticPicker.value); + } + } +} + +export function open(element, elementId) { + const picker = _pickers[elementId]; + + if (picker) { + picker.open(); + } +} + +export function close(element, elementId) { + const picker = _pickers[elementId]; + + if (picker) { + picker.close(); + } +} + +export function toggle(element, elementId) { + const picker = _pickers[elementId]; + + if (picker) { + picker.toggle(); + } +} + +export function updateLocalization(element, elementId, localization) { + const picker = _pickers[elementId]; + + if (picker) { + picker.config.locale = localization; + + if (picker.l10n) { + picker.l10n.months = localization.months; + picker.l10n.weekdays = localization.weekdays; + picker.l10n.amPM = localization.amPM; + picker.l10n.rangeSeparator = localization.rangeSeparator; + } + + if (picker.weekdayContainer) { + for (let i = 0; i < 7; ++i) { + picker.weekdayContainer.children[0].children[i].innerHtml = localization.weekdays.shorthand[i]; + picker.weekdayContainer.children[0].children[i].innerText = localization.weekdays.shorthand[i]; + } + } + + if (picker.amPM) { + const selectedDate = picker.selectedDates && picker.selectedDates.length > 0 ? picker.selectedDates[0] : null; + const index = selectedDate && selectedDate.getHours() >= 12 ? 1 : 0; + + picker.amPM.innerHtml = localization.amPM[index]; + picker.amPM.innerText = localization.amPM[index]; + } + + picker.redraw(); + } +} + +export function focus(element, elementId, scrollToElement) { + const picker = _pickers[elementId]; + + if (picker && picker.altInput) { + utilities.focus(picker.altInput, null, scrollToElement); + } +} + +export function select(element, elementId, focus) { + const picker = _pickers[elementId]; + + if (picker && picker.altInput) { + utilities.select(picker.altInput, null, focus); + } +} + +function setInputMask(picker, inputFormat, placeholder) { + if (picker && picker.altInput) { + if (picker.inputMask && picker.inputMask.remove) { + picker.inputMask.remove(); + } + + picker.inputMask = inputmask.initialize(null, picker.altInput, null, { + placeholder: utilities.coalesce(placeholder, inputFormat), + alias: "datetime", + inputFormat: inputFormat + }); + } +} \ No newline at end of file diff --git a/_content/Blazorise/dragDrop.js b/_content/Blazorise/dragDrop.js new file mode 100755 index 0000000..b70bc1e --- /dev/null +++ b/_content/Blazorise/dragDrop.js @@ -0,0 +1,83 @@ +import { getRequiredElement } from "./utilities.js?v=1.4.2.0"; + +export function initialize(element, elementId) { + element = getRequiredElement(element, elementId); + + if (!element) + return; + + element.addEventListener('dragover', dragOverHandler); + element.addEventListener('dragstart', dragStartHandler); +} + +export function destroy(element, elementId) { + element = getRequiredElement(element, elementId); + + if (!element) + return; + + element.removeEventListener('dragover', dragOverHandler); + element.removeEventListener('dragstart', dragStartHandler); +} + +export function initializeThrottledDragEvents(element, elementId, dotnetAdapter) { + element = getRequiredElement(element, elementId); + + if (!element) + return; + + element.dotnetAdapter = dotnetAdapter; + element.timeOutForDrag = null; + element.timeOutForDragOver = null; + + element.addEventListener('drag', throttledDragHandler); + element.addEventListener('dragover', throttledDragOverHandler); +} + +export function destroyThrottledDragEvents(element, elementId) { + element = getRequiredElement(element, elementId); + + if (!element) + return; + + if (typeof throttledDragHandler === "function") { + element.removeEventListener("drag", throttledDragHandler); + } + + if (typeof throttledDragOverHandler === "function") { + element.removeEventListener("dragover", throttledDragOverHandler); + } +} + +function dragOverHandler(e) { + e.preventDefault(); +} + +function dragStartHandler(e) { + e.dataTransfer.setData('', e.target.id); +} + +function throttledDragHandler(e) { + e.preventDefault(); + + if (e.target && !e.target.timeOutForDrag) { + e.target.timeOutForDrag = setTimeout(function () { + e.target.timeOutForDrag = null; + if (e.target.dotnetAdapter) { + e.target.dotnetAdapter.invokeMethodAsync("OnDragHandler", e); + } + }.bind(this), 250); + } +} + +function throttledDragOverHandler(e) { + e.preventDefault(); + if (e.target && !e.target.timeOutForDragOver) { + e.target.timeOutForDragOver = setTimeout(function () { + e.target.timeOutForDragOver = null; + if (e.target.dotnetAdapter) { + e.target.dotnetAdapter.invokeMethodAsync("OnDragOverHandler", e); + } + }.bind(this), 250); + } +} \ No newline at end of file diff --git a/_content/Blazorise/dropdown.js b/_content/Blazorise/dropdown.js new file mode 100755 index 0000000..65455ee --- /dev/null +++ b/_content/Blazorise/dropdown.js @@ -0,0 +1,46 @@ +import { getRequiredElement } from "./utilities.js?v=1.4.2.0"; +import { createFloatingUiAutoUpdate } from './floatingUi.js?v=1.4.2.0'; + +const _instances = []; + +function createSelector(value) { + const classNames = '.' + value.split(' ').filter(i => i).join('.'); + + return classNames; +} + +export function initialize(element, elementId, targetElementId, menuElementId, options) { + element = getRequiredElement(element, elementId); + + if (!element) + return; + + const targetElement = targetElementId + ? document.getElementById(targetElementId) + : element.querySelector(createSelector(options.dropdownToggleClassNames)); + + const menuElement = menuElementId + ? document.getElementById(menuElementId) + : element.querySelector(createSelector(options.dropdownMenuClassNames)); + + const instanceCleanupFunction = createFloatingUiAutoUpdate(targetElement, menuElement, options); + + _instances[elementId] = instanceCleanupFunction; +} + + +export function destroy(element, elementId) { + element = getRequiredElement(element, elementId); + + if (!element) + return; + + const instances = _instances || {}; + + const instanceCleanupFunction = instances[elementId]; + + if (instanceCleanupFunction) { + instanceCleanupFunction(); + delete instances[elementId]; + } +} \ No newline at end of file diff --git a/_content/Blazorise/fileEdit.js b/_content/Blazorise/fileEdit.js new file mode 100755 index 0000000..879977e --- /dev/null +++ b/_content/Blazorise/fileEdit.js @@ -0,0 +1,203 @@ +import { getRequiredElement } from "./utilities.js?v=1.4.2.0"; + +const _instances = []; +let nextFileId = 0; +export function initialize(adapter, element, elementId) { + element = getRequiredElement(element, elementId); + + if (!element) + return; + + // save an instance of adapter + _instances[elementId] = new FileEditInfo(adapter, element, elementId); + element.addEventListener("drop", async (e) => await onDrop(e, element), false); + element.addEventListener('change', function handleInputFileChange(event) { + + var fileList = mapElementFilesToFileEntries(element); + + adapter.invokeMethodAsync('NotifyChange', fileList).then(null, function (err) { + throw new Error(err); + }); + }); +} + +export function removeFile(element, elementId, fileId) { + element = getRequiredElement(element, elementId); + + if (element && element.files && element.files.length > 0) { + const dt = new DataTransfer(); + + for (let i = 0; i < element.files.length; i++) { + const file = element.files[i]; + if (file.id != fileId) + dt.items.add(file); + } + + element.files = dt.files; + element.dispatchEvent(new Event("change")); + } +} + +export function destroy(element, elementId) { + var instances = _instances || {}; + delete instances[elementId]; +} + +export function reset(element, elementId) { + element = getRequiredElement(element, elementId); + + if (element) { + element.value = ''; + + var fileEditInfo = _instances[elementId]; + + if (fileEditInfo) { + fileEditInfo.adapter.invokeMethodAsync('NotifyChange', []).then(null, function (err) { + throw new Error(err); + }); + } + } +} + +export function open(element, elementId) { + element = getRequiredElement(element, elementId); + + if (!element) + return; + + if ('showPicker' in HTMLInputElement.prototype) { + element.showPicker(); + } + else { + element.click(); + } +} + +// Reduce to purely serializable data, plus build an index by ID +function mapElementFilesToFileEntries(element) { + element._blazorFilesById = {}; + + let fileList = Array.prototype.map.call(element.files, function (file) { + file.id = file.id ?? ++nextFileId; + var fileEntry = { + id: file.id, + lastModified: new Date(file.lastModified).toISOString(), + name: file.name, + size: file.size, + type: file.type, + relativePath: file.webkitRelativePath + }; + element._blazorFilesById[fileEntry.id] = fileEntry; + + // Attach the blob data itself as a non-enumerable property so it doesn't appear in the JSON + Object.defineProperty(fileEntry, 'blob', { value: file }); + + return fileEntry; + }); + return fileList; +} + +async function onDrop(e, element) { + e.preventDefault(); + let fileInput = element; + + if (fileInput.disabled) + return; + + let _files = await getFilesAsync(e.dataTransfer, fileInput.webkitdirectory, fileInput.multiple); + fileInput.files = _files; + + const event = new Event('change', { bubbles: true }); + fileInput.dispatchEvent(event); +} + +export async function getFilesAsync(dataTransfer, directory, multiple) { + const files = []; + const queue = []; + + let fileCount = 1 + if (multiple) { + fileCount = dataTransfer.items.length + } + + for (let i = 0; i < fileCount; i++) { + const item = dataTransfer.items[i]; + if (item.kind === "file") { + if (typeof item.webkitGetAsEntry === "function") { + const entry = item.webkitGetAsEntry(); + if (entry.isDirectory) { + if (!directory) { + continue; + } + } + queue.push(readEntryContentAsync(entry).then(x => files.push(...x))); + continue; + } + + const file = item.getAsFile(); + if (file) { + files.push(file); + } + } + } + await Promise.all(queue); + + var dt = new DataTransfer(); + + for (var i = 0; i < files.length; i++) { + dt.items.add(files[i]); + } + + return dt.files; +} + +// Returns a promise with all the files of the directory hierarchy +function readEntryContentAsync(entry) { + return new Promise((resolve, reject) => { + let reading = 0; + const contents = []; + + readEntry(entry); + + function readEntry(entry) { + if (entry.isFile) { + reading++; + entry.file(file => { + reading--; + contents.push(file); + + if (reading === 0) { + resolve(contents); + } + }); + } else if (entry.isDirectory) { + readReaderContent(entry.createReader()); + } + } + + function readReaderContent(reader) { + reading++; + + reader.readEntries(function (entries) { + reading--; + for (const entry of entries) { + readEntry(entry); + } + + if (reading === 0) { + resolve(contents); + } + }); + } + }); +} + + +class FileEditInfo { + constructor(adapter, element, elementId) { + this.adapter = adapter; + this.element = element; + this.elementId = elementId; + } +} + diff --git a/_content/Blazorise/filePicker.js b/_content/Blazorise/filePicker.js new file mode 100755 index 0000000..e75eddc --- /dev/null +++ b/_content/Blazorise/filePicker.js @@ -0,0 +1,77 @@ +import { getRequiredElement } from "./utilities.js?v=1.4.2.0"; +import { getFilesAsync } from "./fileEdit.js?v=1.4.2.0"; + +const _instances = []; +export function initialize(element, elementId) { + element = getRequiredElement(element, elementId); + + if (!element) + return; + + _instances[elementId] = element; + initializeDropZone(element); +} + +export function destroy(element, elementId) { + var instances = _instances || {}; + delete instances[elementId]; +} + +function initializeDropZone(element) { + let fileInput = setFileInput(element); + if (fileInput) { + element.addEventListener("dragenter", async (e) => await onDragHover(e, element), false); + element.addEventListener("dragover", async (e) => await onDragHover(e, element), false); + element.addEventListener("dragleave", onDragLeave); + element.addEventListener("drop", async (e) => await onDrop(e, element), false); + element.addEventListener('paste', (e) => onPaste(e, element)); + } +} + +function onDragHover(e, element) { + if (element.fileInput.disabled) { + e.dataTransfer.dropEffect = "none"; + if (element.fileInput == e.target){ + //Fallback to FileEdit behavior + return; + } + + } + e.preventDefault(); +} + +function onDragLeave(e) { + e.preventDefault(); +} + +async function onDrop(e, element) { + e.preventDefault(); + let fileInput = getFileInput(element); + + if (fileInput.disabled) + return; + + let _files = await getFilesAsync(e.dataTransfer, fileInput.webkitdirectory, fileInput.multiple); + fileInput.files = _files; + + const event = new Event('change', { bubbles: true }); + fileInput.dispatchEvent(event); +} + +function onPaste(e, element) { + let fileInput = getFileInput(element); + + fileInput.files = e.clipboardData.files; + const event = new Event('change', { bubbles: true }); + fileInput.dispatchEvent(event); +} + +function setFileInput(element) { + let fileInput = element.querySelector("input[type=file]"); + _instances[element.id].fileInput = fileInput; + return fileInput; +} + +function getFileInput(element) { + return _instances[element.id].fileInput; +} diff --git a/_content/Blazorise/floatingUi.js b/_content/Blazorise/floatingUi.js new file mode 100755 index 0000000..2287536 --- /dev/null +++ b/_content/Blazorise/floatingUi.js @@ -0,0 +1,38 @@ +import { computePosition, autoUpdate, flip, shift, limitShift } from './vendors/floating-ui.js?v=1.4.2.0'; + +const DIRECTION_DEFAULT = 'Default' +const DIRECTION_DOWN = 'Down' +const DIRECTION_UP = 'Up' +const DIRECTION_END = 'End' +const DIRECTION_START = 'Start' + +export function createFloatingUiAutoUpdate(targetElement, menuElement, options) { + //https://floating-ui.com/docs/autoUpdate + return autoUpdate(targetElement, menuElement, () => { + computePosition(targetElement, menuElement, { //https://floating-ui.com/docs/computePosition#anchoring + placement: getPlacementDirection(options.direction, options.rightAligned), //https://floating-ui.com/docs/computePosition#placement + strategy: options.strategy, //https://floating-ui.com/docs/computePosition#strategy + middleware: [flip(), shift({ padding: 0, limiter: limitShift() })] //https://floating-ui.com/docs/computePosition#middleware + }).then(({ x, y }) => { + Object.assign(menuElement.style, { + left: `${x}px`, + top: `${y}px` + }); + }); + }); +} + +function getPlacementDirection(direction, rightAligned) { + let suffixAlignment = rightAligned ? "end" : "start"; + + if (direction === DIRECTION_DEFAULT || direction === DIRECTION_DOWN) + return 'bottom-' + suffixAlignment; + else if (direction === DIRECTION_UP) + return 'top-' + suffixAlignment; + else if (direction === DIRECTION_END) + return 'right-' + suffixAlignment; + else if (direction === DIRECTION_START) + return 'left-' + suffixAlignment; + + return 'bottom-' + suffixAlignment; +} \ No newline at end of file diff --git a/_content/Blazorise/inputMask.js b/_content/Blazorise/inputMask.js new file mode 100755 index 0000000..4565c40 --- /dev/null +++ b/_content/Blazorise/inputMask.js @@ -0,0 +1,72 @@ +import Inputmask from "./vendors/inputmask.js?v=1.4.2.0"; +import { getRequiredElement } from "./utilities.js?v=1.4.2.0"; + +let _instances = []; + +export function initialize(dotnetAdapter, element, elementId, options) { + element = getRequiredElement(element, elementId); + + if (!element) + return; + + const maskOptions = options.mask ? { mask: options.mask } : {}; + const regexOptions = options.mask ? { regex: options.regex } : {}; + const aliasOptions = options.alias ? { alias: options.alias, inputFormat: options.inputFormat, outputFormat: options.outputFormat } : {}; + const eventOptions = dotnetAdapter + ? { + oncomplete: function (e) { + dotnetAdapter.invokeMethodAsync('NotifyCompleted', e.target.value); + }, + onincomplete: function (e) { + dotnetAdapter.invokeMethodAsync('NotifyIncompleted', e.target.value); + }, + oncleared: function () { + dotnetAdapter.invokeMethodAsync('NotifyCleared'); + } + } : {}; + + const otherOptions = { + placeholder: options.placeholder || "_", + showMaskOnFocus: options.showMaskOnFocus, + showMaskOnHover: options.showMaskOnHover, + numericInput: options.numericInput || false, + rightAlign: options.rightAlign || false, + radixPoint: options.decimalSeparator || "", + groupSeparator: options.groupSeparator || "", + nullable: options.nullable || false, + positionCaretOnClick: options.positionCaretOnClick || "lvp", + clearMaskOnLostFocus: options.clearMaskOnLostFocus || true, + clearIncomplete: options.clearIncomplete || false, + autoUnmask: options.autoUnmask || false + }; + + const finalOptions = options.alias + ? Object.assign({}, aliasOptions, eventOptions, otherOptions) + : Object.assign({}, maskOptions, regexOptions, eventOptions, otherOptions); + + var inputMask = new Inputmask(finalOptions); + + inputMask.mask(element); + + _instances[elementId] = { + dotnetAdapter: dotnetAdapter, + element: element, + elementId: elementId, + inputMask: inputMask + }; + + return inputMask; +} + +export function destroy(element, elementId) { + var instances = _instances || {}; + delete instances[elementId]; +} + +export function extendAliases(element, elementId, aliasOptions) { + const instance = _instances[elementId]; + + if (instance && instance.inputMask) { + instance.inputMask.extendAliases(aliasOptions); + } +} \ No newline at end of file diff --git a/_content/Blazorise/io.js b/_content/Blazorise/io.js new file mode 100755 index 0000000..5534ecf --- /dev/null +++ b/_content/Blazorise/io.js @@ -0,0 +1,132 @@ +export async function readFileDataStream(elem, fileId) { + const file = getFileById(elem, fileId); + return file.blob; +} + +export function readFileData(element, fileEntryId, position, length) { + var readPromise = getArrayBufferFromFileAsync(element, fileEntryId); + + return readPromise.then(function (arrayBuffer) { + return new Uint8Array(arrayBuffer, position, length); + }); +} + +function ensureArrayBufferReadyForSharedMemoryInterop(element, fileId) { + return getArrayBufferFromFileAsync(element, fileId).then(function (arrayBuffer) { + getFileById(element, fileId).arrayBuffer = arrayBuffer; + }); +} + +function readFileDataSharedMemory(readRequest) { + // This uses various unsupported internal APIs. Beware that if you also use them, + // your code could become broken by any update. + var inputFileElementReferenceId = Blazor.platform.readStringField(readRequest, 0); + var inputFileElement = document.querySelector('[_bl_' + inputFileElementReferenceId + ']'); + var fileId = Blazor.platform.readInt32Field(readRequest, 4); + var sourceOffset = Blazor.platform.readUint64Field(readRequest, 8); + var destination = Blazor.platform.readInt32Field(readRequest, 16); + var destinationOffset = Blazor.platform.readInt32Field(readRequest, 20); + var maxBytes = Blazor.platform.readInt32Field(readRequest, 24); + + var sourceArrayBuffer = getFileById(inputFileElement, fileId).arrayBuffer; + var bytesToRead = Math.min(maxBytes, sourceArrayBuffer.byteLength - sourceOffset); + var sourceUint8Array = new Uint8Array(sourceArrayBuffer, sourceOffset, bytesToRead); + + var destinationUint8Array = Blazor.platform.toUint8Array(destination); + destinationUint8Array.set(sourceUint8Array, destinationOffset); + + return bytesToRead; +} + + +function getFileById(element, fileId) { + var file = element._blazorFilesById[fileId]; + + if (!file) { + throw new Error('There is no file with ID ' + fileId + '. The file list may have changed'); + } + + return file; +} + +function getArrayBufferFromFileAsync(element, fileId) { + var file = getFileById(element, fileId); + + // On the first read, convert the FileReader into a Promise + if (!file.readPromise) { + file.readPromise = new Promise(function (resolve, reject) { + var reader = new FileReader(); + reader.onload = function () { resolve(reader.result); }; + reader.onerror = function (err) { reject(err); }; + reader.readAsArrayBuffer(file.blob); + }); + } + + return file.readPromise; +} + +var uint8ToBase64 = (function () { + // Code from https://github.com/beatgammit/base64-js/ + // License: MIT + var lookup = []; + + var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + for (var i = 0, len = code.length; i < len; ++i) { + lookup[i] = code[i]; + } + + function tripletToBase64(num) { + return lookup[num >> 18 & 0x3F] + + lookup[num >> 12 & 0x3F] + + lookup[num >> 6 & 0x3F] + + lookup[num & 0x3F]; + } + + function encodeChunk(uint8, start, end) { + var tmp; + var output = []; + for (var i = start; i < end; i += 3) { + tmp = + ((uint8[i] << 16) & 0xFF0000) + + ((uint8[i + 1] << 8) & 0xFF00) + + (uint8[i + 2] & 0xFF); + output.push(tripletToBase64(tmp)); + } + return output.join(''); + } + + return function fromByteArray(uint8) { + var tmp; + var len = uint8.length; + var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes + var parts = []; + var maxChunkLength = 16383; // must be multiple of 3 + + // go through the array every three bytes, we'll deal with trailing stuff later + for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { + parts.push(encodeChunk( + uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength) + )); + } + + // pad the end with zeros, but make sure to not forget the extra bytes + if (extraBytes === 1) { + tmp = uint8[len - 1]; + parts.push( + lookup[tmp >> 2] + + lookup[(tmp << 4) & 0x3F] + + '==' + ); + } else if (extraBytes === 2) { + tmp = (uint8[len - 2] << 8) + uint8[len - 1]; + parts.push( + lookup[tmp >> 10] + + lookup[(tmp >> 4) & 0x3F] + + lookup[(tmp << 2) & 0x3F] + + '=' + ); + } + + return parts.join(''); + }; +})(); \ No newline at end of file diff --git a/_content/Blazorise/memoEdit.js b/_content/Blazorise/memoEdit.js new file mode 100755 index 0000000..a2b2e36 --- /dev/null +++ b/_content/Blazorise/memoEdit.js @@ -0,0 +1,123 @@ +import { Behave } from "./vendors/Behave.js?v=1.4.2.0"; +import { getRequiredElement } from "./utilities.js?v=1.4.2.0"; + +const _instances = []; + +export function initialize(element, elementId, options) { + element = getRequiredElement(element, elementId); + + if (!element) + return; + + const replaceTab = options.replaceTab || false; + const tabSize = options.tabSize || 4; + const softTabs = options.tabSize || true; + + let behave = replaceTab ? new Behave({ + textarea: element, + replaceTab: replaceTab, + softTabs: softTabs, + tabSize: tabSize, + autoOpen: true, + overwrite: true, + autoStrip: true, + autoIndent: true, + fence: false + }) : null; + + if (options.autoSize) { + element.oninput = onInputChanged; + + // fire oninput immediatelly to trigger autosize in case the text is long + if ("createEvent" in document) { + let event = document.createEvent("HTMLEvents"); + event.initEvent("input", false, true); + element.dispatchEvent(event); + } + else { + element.fireEvent("oninput"); + } + } + + _instances[elementId] = { + element: element, + elementId: elementId, + replaceTab: replaceTab, + tabSize: tabSize, + softTabs: softTabs, + behave: behave + }; +} + +export function destroy(element, elementId) { + const instance = _instances[elementId]; + + if (instance && instance.behave) { + instance.behave.destroy(); + instance.behave = null; + } + + delete _instances[elementId]; +} + +export function updateOptions(element, elementId, options) { + const instance = _instances[elementId]; + + if (instance) { + if (options.replaceTab.changed || options.tabSize.changed || options.softTabs.changed) { + instance.replaceTab = options.replaceTab.value; + instance.tabSize = options.tabSize.value; + instance.softTabs = options.softTabs.value; + + if (instance.behave) { + instance.behave.destroy(); + instance.behave = null; + } + + if (instance.replaceTab) { + instance.behave = new Behave({ + textarea: element, + replaceTab: instance.replaceTab, + softTabs: instance.softTabs, + tabSize: instance.tabSize, + autoOpen: true, + overwrite: true, + autoStrip: true, + autoIndent: true, + fence: false + }); + } + } + + if (options.autoSize.changed) { + element.oninput = options.autoSize.value + ? onInputChanged + : function () { }; + } + }; +} + +function onInputChanged(e) { + if (e && e.target) { + e.target.style.height = 'auto'; + e.target.style.height = this.scrollHeight + 'px'; + e.target.style.overflowY = 'hidden'; + } +} + +export function recalculateAutoHeight(element, elementId) { + element = getRequiredElement(element, elementId); + + if (!element) + return; + + // fire input to trigger autosize in case the text is long + if ("createEvent" in document) { + let event = document.createEvent("HTMLEvents"); + event.initEvent("input", false, true); + element.dispatchEvent(event); + } + else { + element.fireEvent("oninput"); + } +} \ No newline at end of file diff --git a/_content/Blazorise/numericPicker.js b/_content/Blazorise/numericPicker.js new file mode 100755 index 0000000..7f9f0c1 --- /dev/null +++ b/_content/Blazorise/numericPicker.js @@ -0,0 +1,146 @@ +import { getRequiredElement, fromExponential, firstNonNull } from "./utilities.js?v=1.4.2.0"; + +import './vendors/autoNumeric.js?v=1.4.2.0'; + +let _instances = []; + +export function initialize(dotnetAdapter, element, elementId, options) { + element = getRequiredElement(element, elementId); + + if (!element) + return; + + const instance = new AutoNumeric(element, options.value, { + decimalPlaces: firstNonNull(options.decimals, AutoNumeric.options.decimalPlaces.two), + decimalPlacesRawValue: firstNonNull(options.decimals, AutoNumeric.options.decimalPlaces.two), + decimalPlacesShownOnBlur: firstNonNull(options.decimals, AutoNumeric.options.decimalPlaces.two), + decimalPlacesShownOnFocus: firstNonNull(options.decimals, AutoNumeric.options.decimalPlaces.two), + decimalCharacter: firstNonNull(options.decimalSeparator, AutoNumeric.options.decimalCharacter.dot), + decimalCharacterAlternative: firstNonNull(options.alternativeDecimalSeparator, AutoNumeric.options.decimalCharacter.comma), + + digitGroupSeparator: firstNonNull(options.groupSeparator, AutoNumeric.options.digitGroupSeparator.noSeparator), + digitalGroupSpacing: firstNonNull(options.groupSpacing, AutoNumeric.options.digitalGroupSpacing.three), + + modifyValueOnWheel: firstNonNull(options.modifyValueOnWheel, AutoNumeric.options.modifyValueOnWheel.doNothing), + wheelOn: firstNonNull(options.wheelOn, AutoNumeric.options.wheelOn.focus), + wheelStep: firstNonNull(options.step, 1), + minimumValue: firstNonNull(fromExponential(firstNonNull(options.min, options.typeMin)), AutoNumeric.options.minimumValue.tenTrillions), + maximumValue: firstNonNull(fromExponential(firstNonNull(options.max, options.typeMax)), AutoNumeric.options.maximumValue.tenTrillions), + overrideMinMaxLimits: firstNonNull(options.minMaxLimitsOverride, AutoNumeric.options.overrideMinMaxLimits.doNotOverride), + roundingMethod: firstNonNull(options.roundingMethod, AutoNumeric.options.roundingMethod.halfUpSymmetric), + + currencySymbol: firstNonNull(options.currencySymbol, AutoNumeric.options.currencySymbol.none), + currencySymbolPlacement: firstNonNull(options.currencySymbolPlacement, AutoNumeric.options.currencySymbolPlacement.suffix), + + selectOnFocus: firstNonNull(options.selectAllOnFocus, AutoNumeric.options.selectOnFocus.doNotSelect), + caretPositionOnFocus: AutoNumeric.options.caretPositionOnFocus.doNoForceCaretPosition, + + allowDecimalPadding: firstNonNull(options.allowDecimalPadding, AutoNumeric.options.allowDecimalPadding.always), + alwaysAllowDecimalCharacter: firstNonNull(options.alwaysAllowDecimalSeparator, AutoNumeric.options.alwaysAllowDecimalCharacter.doNotAllow), + + onInvalidPaste: 'ignore', + emptyInputBehavior: AutoNumeric.options.emptyInputBehavior.null + }); + + element.addEventListener('autoNumeric:rawValueModified', e => { + if (typeof e.detail.newRawValue !== "undefined") { + dotnetAdapter.invokeMethodAsync('SetValue', e.detail.newRawValue); + } + }); + + _instances[elementId] = instance; +} + +export function destroy(element, elementId) { + const instance = _instances[elementId]; + + if (instance) { + instance.remove(); + } + + delete _instances[elementId]; +} + +export function updateOptions(element, elementId, options) { + const instance = _instances[elementId]; + + if (instance && options) { + const newOptions = {}; + + if (options.decimals.changed) { + //newOptions.decimalPlaces = options.decimals.value || AutoNumeric.options.decimalPlaces.two; + newOptions.decimalPlacesRawValue = firstNonNull(options.decimals.value, AutoNumeric.options.decimalPlaces.two); + newOptions.decimalPlacesShownOnFocus = firstNonNull(options.decimals.value, AutoNumeric.options.decimalPlaces.two); + newOptions.decimalPlacesShownOnBlur = firstNonNull(options.decimals.value, AutoNumeric.options.decimalPlaces.two); + } + + if (options.decimalSeparator.changed) { + newOptions.decimalCharacter = firstNonNull(options.decimalSeparator.value, AutoNumeric.options.decimalCharacter.dot); + } + + if (options.alternativeDecimalSeparator.changed) { + newOptions.decimalCharacterAlternative = firstNonNull(options.alternativeDecimalSeparator.value, AutoNumeric.options.decimalCharacter.comma); + } + + if (options.groupSeparator.changed) { + newOptions.digitGroupSeparator = firstNonNull(options.groupSeparator.value, AutoNumeric.options.digitGroupSeparator.noSeparator); + } + + if (options.groupSpacing.changed) { + newOptions.digitalGroupSpacing = firstNonNull(options.groupSpacing.value, AutoNumeric.options.digitalGroupSpacing.three); + } + + if (options.currencySymbol.changed) { + newOptions.currencySymbol = firstNonNull(options.currencySymbol.value, AutoNumeric.options.currencySymbol.none); + } + + if (options.currencySymbolPlacement.changed) { + newOptions.currencySymbolPlacement = firstNonNull(options.currencySymbolPlacement.value, AutoNumeric.options.currencySymbolPlacement.suffix); + } + + if (options.roundingMethod.changed) { + newOptions.roundingMethod = firstNonNull(options.roundingMethod.value, AutoNumeric.options.roundingMethod.halfUpSymmetric); + } + + if (options.min.changed) { + newOptions.minimumValue = fromExponential(firstNonNull(options.min.value, AutoNumeric.options.minimumValue.tenTrillions)); + } + if (options.max.changed) { + newOptions.maximumValue = fromExponential(firstNonNull(options.max.value, AutoNumeric.options.maximumValue.tenTrillions)); + } + + if (options.minMaxLimitsOverride.changed) { + newOptions.overrideMinMaxLimits = firstNonNull(options.minMaxLimitsOverride.value, AutoNumeric.options.overrideMinMaxLimits.doNotOverride); + } + + if (options.selectAllOnFocus.changed) { + newOptions.selectOnFocus = firstNonNull(options.selectAllOnFocus.value, AutoNumeric.options.selectOnFocus.doNotSelect); + } + + if (options.allowDecimalPadding.changed) { + newOptions.allowDecimalPadding = firstNonNull(options.allowDecimalPadding.value, AutoNumeric.options.allowDecimalPadding.always); + } + + if (options.alwaysAllowDecimalSeparator.changed) { + newOptions.alwaysAllowDecimalCharacter = firstNonNull(options.alwaysAllowDecimalSeparator.value, AutoNumeric.options.alwaysAllowDecimalCharacter.doNotAllow); + } + + if (options.modifyValueOnWheel.changed) { + newOptions.modifyValueOnWheel = firstNonNull(options.modifyValueOnWheel.value, AutoNumeric.options.modifyValueOnWheel.doNothing); + } + + if (options.wheelOn.changed) { + newOptions.wheelOn = firstNonNull(options.wheelOn.value, AutoNumeric.options.wheelOn.focus); + } + + instance.update(newOptions); + } +} + +export function updateValue(element, elementId, value) { + const instance = _instances[elementId]; + + if (instance) { + instance.set(value); + } +} \ No newline at end of file diff --git a/_content/Blazorise/observer.js b/_content/Blazorise/observer.js new file mode 100755 index 0000000..62b0ae4 --- /dev/null +++ b/_content/Blazorise/observer.js @@ -0,0 +1,99 @@ +///https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver + +const _instances = []; + +///Creates a new observer on a given element, please follow the link below for usage +///https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver/observe +export function createObserver(elementId, callback, configuration) { + const observer = new MutationObserver(callback); + observer.observe(document.getElementById(elementId), configuration); + _instances[elementId] = observer; + return observer; +} + +///Creates a new observer that's setup to listen for attribute changes on a given element. +export function createAttributesObserver(targetNode, callback) { + return createObserver(targetNode, callback, { attributes: true, attributeOldValue: true }); +} + +///Observer helper function, sets an observer callback based on a class name +export function observeClassChanged(mutationsList, className, onChangedCallBack, triggerOnOldValue) { + if (mutationsList && className) { + for (const mutation of mutationsList) { + if (mutation.type === 'attributes' && mutation.attributeName === 'class' && (mutation.target.classList.contains(className)) || (triggerOnOldValue && mutation.oldValue && mutation.oldValue.includes(className))) { + if (typeof (onChangedCallBack) === "function") + onChangedCallBack(); + } + } + } +} + +///Observer helper function, sets an observer callback based on an attribute name +export function observeAttributeChanged(mutationsList, attributeName, onChangedCallBack) { + if (mutationsList && attributeName) { + for (const mutation of mutationsList) { + if (mutation.type === 'attributes' && mutation.attributeName === 'attribute' && mutation.target.classList.contains(attributeName)) { + if (typeof (onChangedCallBack) === "function") + onChangedCallBack(); + } + } + } +} + +///Stops and clean ups the observer +export function destroyObserver(elementId) { + const instances = _instances || {}; + + const instance = instances[elementId]; + + if (instance) { + instance.disconnect(); + + delete instances[elementId]; + } +} + +export class ClassWatcher { + constructor(targetNode, classToWatch, classAddedCallback, classRemovedCallback) { + this.targetNode = targetNode; + this.classToWatch = classToWatch; + this.classAddedCallback = classAddedCallback; + this.classRemovedCallback = classRemovedCallback; + this.observer = null; + this.lastClassState = targetNode.classList.contains(this.classToWatch); + + this.init(); + } + + init() { + this.observer = new MutationObserver(this.mutationCallback); + this.observe(); + } + + observe() { + this.observer.observe(this.targetNode, { attributes: true }); + } + + disconnect() { + this.observer.disconnect(); + } + + mutationCallback = mutationsList => { + for (let mutation of mutationsList) { + if (mutation.type === 'attributes' && mutation.attributeName === 'class') { + let currentClassState = mutation.target.classList.contains(this.classToWatch); + + if (this.lastClassState !== currentClassState) { + this.lastClassState = currentClassState; + + if (currentClassState) { + this.classAddedCallback(); + } + else { + this.classRemovedCallback(); + } + } + } + } + } +} \ No newline at end of file diff --git a/_content/Blazorise/table.js b/_content/Blazorise/table.js new file mode 100755 index 0000000..9dde85e --- /dev/null +++ b/_content/Blazorise/table.js @@ -0,0 +1,225 @@ +import { getRequiredElement } from "./utilities.js?v=1.4.2.0"; + +export function initializeTableFixedHeader(element, elementId) { + element = getRequiredElement(element, elementId); + + if (!element) + return; + + let resizeTimeout = null + + function resizeThottler() { + if (!resizeTimeout) { + resizeTimeout = setTimeout(function () { + resizeTimeout = null; + resizeHandler(element); + }.bind(this), 66); + } + } + + function resizeHandler(element) { + const thead = element.querySelector("thead:first-child"); + const tableRows = thead.querySelectorAll("tr"); + if (tableRows !== null && tableRows.length > 1) { + let previousRowCellHeight = 0; + for (let i = 0; i < tableRows.length; i++) { + let currentTh = tableRows[i].querySelectorAll("th"); + currentTh.forEach(x => x.style.top = `${previousRowCellHeight}px`); + previousRowCellHeight += currentTh[0].offsetHeight; + } + } + } + + resizeHandler(element); + + window.addEventListener("resize", this.resizeThottler, false); +} + +export function destroyTableFixedHeader(element, elementId) { + element = getRequiredElement(element, elementId); + + if (!element) + return; + + if (typeof this.resizeThottler === "function") { + window.removeEventListener("resize", this.resizeThottler); + } + + const thead = element.querySelector("thead:first-child"); + const tableRows = thead.querySelectorAll("tr"); + + if (tableRows !== null && tableRows.length > 1) { + for (let i = 0; i < tableRows.length; i++) { + let currentTh = tableRows[i].querySelectorAll("th"); + currentTh.forEach(x => x.style.top = `${0}px`); + } + } +} + +export function fixedHeaderScrollTableToPixels(element, elementId, pixels) { + if (element && element.parentElement) { + + element.parentElement.scroll({ + top: pixels, + behavior: "smooth" + }); + } +} + +export function fixedHeaderScrollTableToRow(element, elementId, row) { + element = getRequiredElement(element, elementId); + + if (element) { + let rows = element.querySelectorAll("tr"); + let rowsLength = rows.length; + + if (rowsLength > 0 && row >= 0 && row < rowsLength) { + rows[row].scrollIntoView({ + behavior: "smooth", + block: "nearest" + }); + } + } +} + +export function initializeResizable(element, elementId, mode) { + const resizerClass = "b-table-resizer"; + const resizingClass = "b-table-resizing"; + const resizerHeaderMode = 0; + let cols = null; + + element = getRequiredElement(element, elementId); + + if (element) { + const thead = element.querySelector("thead:first-child"); + cols = thead.querySelectorAll('tr:first-child > th'); + } + + if (cols) { + + const calculateTableActualHeight = function () { + let height = 0; + if (element !== null) { + const tableRows = element.querySelectorAll('tr'); + + tableRows.forEach(x => { + let firstCol = x.querySelector('th:first-child,td:first-child'); + if (firstCol !== null) { + height += firstCol.offsetHeight; + } + }); + } + return height; + }; + + const calculateModeHeight = () => { + return mode === resizerHeaderMode + ? element !== null + ? element.querySelector('tr:first-child > th:first-child').offsetHeight + : 0 + : calculateTableActualHeight(); + }; + + let actualHeight = calculateModeHeight(); + + const createResizableColumn = function (col) { + if (col.querySelector(`.${resizerClass}`) !== null) + return; + // Add a resizer element to the column + const resizer = document.createElement('div'); + resizer.classList.add(resizerClass); + + // Set the height + resizer.style.height = `${actualHeight}px`; + + resizer.addEventListener("click", function (e) { + e.preventDefault(); + e.stopPropagation(); + }); + + let mouseDownDate; + let mouseUpDate; + + col.addEventListener('click', function (e) { + let resized = (mouseDownDate !== null && mouseUpDate !== null); + if (resized) { + let currentDate = new Date(); + + // Checks if mouse down was some ms ago, which means click from resizing + let elapsedFromMouseDown = currentDate - mouseDownDate; + let clickFromResize = elapsedFromMouseDown > 100; + + // Checks if mouse up was some ms ago, which either means: + // we clicked from resizing just now or + // did not click from resizing and should handle click normally. + let elapsedFromMouseUp = currentDate - mouseUpDate; + let clickFromResizeJustNow = elapsedFromMouseUp < 100; + + if (resized && clickFromResize && clickFromResizeJustNow) { + e.preventDefault(); + e.stopPropagation(); + } + mouseDownDate = null; + mouseUpDate = null; + } + }); + col.appendChild(resizer); + + // Track the current position of mouse + let x = 0; + let w = 0; + + const mouseDownHandler = function (e) { + mouseDownDate = new Date(); + + // Get the current mouse position + x = e.clientX; + + // Calculate the current width of column + const styles = window.getComputedStyle(col); + w = parseInt(styles.width, 10); + + // Attach listeners for document's events + document.addEventListener('pointermove', mouseMoveHandler); + document.addEventListener('pointerup', mouseUpHandler); + + resizer.classList.add(resizingClass); + }; + + const mouseMoveHandler = function (e) { + // Determine how far the mouse has been moved + const dx = e.clientX - x; + + resizer.style.height = `${calculateTableActualHeight()}px`; + + // Update the width of column + col.style.width = `${w + dx}px`; + }; + + // When user releases the mouse, remove the existing event listeners + const mouseUpHandler = function () { + mouseUpDate = new Date(); + + resizer.classList.remove(resizingClass); + + element.querySelectorAll(`.${resizerClass}`).forEach(x => x.style.height = `${calculateModeHeight()}px`); + + document.removeEventListener('pointermove', mouseMoveHandler); + document.removeEventListener('pointerup', mouseUpHandler); + }; + + resizer.addEventListener('pointerdown', mouseDownHandler); + }; + + + [].forEach.call(cols, function (col) { + createResizableColumn(col); + }); + } +} + +export function destroyResizable(element, elementId) { + if (element !== null) { + element.querySelectorAll('.b-table-resizer').forEach(x => x.remove()); + } +} \ No newline at end of file diff --git a/_content/Blazorise/textEdit.js b/_content/Blazorise/textEdit.js new file mode 100755 index 0000000..7ec09ab --- /dev/null +++ b/_content/Blazorise/textEdit.js @@ -0,0 +1,52 @@ +import { NumericMaskValidator } from "./validators/NumericMaskValidator.js?v=1.4.2.0"; +import { DateTimeMaskValidator } from "./validators/DateTimeMaskValidator.js?v=1.4.2.0"; +import { RegExMaskValidator } from "./validators/RegExMaskValidator.js?v=1.4.2.0"; +import { NoValidator } from "./validators/NoValidator.js?v=1.4.2.0"; +import { getRequiredElement } from "./utilities.js?v=1.4.2.0"; + +let _instances = []; + +export function initialize(element, elementId, maskType, editMask) { + element = getRequiredElement(element, elementId); + + if (!element) + return; + + var instances = _instances = _instances || {}; + + if (maskType === "numeric") { + instances[elementId] = new NumericMaskValidator(null, element, elementId); + } + else if (maskType === "datetime") { + instances[elementId] = new DateTimeMaskValidator(element, elementId); + } + else if (maskType === "regex") { + instances[elementId] = new RegExMaskValidator(element, elementId, editMask); + } + else { + instances[elementId] = new NoValidator(); + } + + element.addEventListener("keypress", (e) => { + keyPress(instances[elementId], e); + }); + + element.addEventListener("paste", (e) => { + paste(instances[elementId], e); + }); +} + +export function destroy(element, elementId) { + var instances = _instances || {}; + delete instances[elementId]; +} + +function keyPress(validator, e) { + var currentValue = String.fromCharCode(e.which); + + return validator.isValid(currentValue) || e.preventDefault(); +} + +function paste(validator, e) { + return validator.isValid(e.clipboardData.getData("text/plain")) || e.preventDefault(); +} \ No newline at end of file diff --git a/_content/Blazorise/theme.js b/_content/Blazorise/theme.js new file mode 100755 index 0000000..ef0c7d0 --- /dev/null +++ b/_content/Blazorise/theme.js @@ -0,0 +1,35 @@ +export function addVariable(name, value) { + const themeVariablesElement = document.getElementById("b-theme-variables"); + + // make sure that themeVariables element exists and that we don't have the variable already defined + if (themeVariablesElement && themeVariablesElement.innerHTML) { + const newVariable = "\n" + name + ": " + value + ";"; + + const variableStartIndex = themeVariablesElement.innerHTML.indexOf(name + ":"); + + if (variableStartIndex >= 0) { + const variableEndIndex = themeVariablesElement.innerHTML.indexOf(";", variableStartIndex); + const existingVariable = themeVariablesElement.innerHTML.substr(variableStartIndex, variableEndIndex); + + const result = themeVariablesElement.innerHTML.replace(existingVariable, newVariable); + + themeVariablesElement.innerHTML = result; + } + else { + const innerHTML = themeVariablesElement.innerHTML; + const position = innerHTML.lastIndexOf(';'); + + if (position >= 0) { + const result = [innerHTML.slice(0, position + 1), newVariable, innerHTML.slice(position + 1)].join(''); + + themeVariablesElement.innerHTML = result; + } + } + + return; + } + + // The fallback mechanism for custom CSS variables where we don't use theme provider + // is to apply them to the body element + document.body.style.setProperty(name, value); +} \ No newline at end of file diff --git a/_content/Blazorise/timePicker.js b/_content/Blazorise/timePicker.js new file mode 100755 index 0000000..0ff61bd --- /dev/null +++ b/_content/Blazorise/timePicker.js @@ -0,0 +1,199 @@ +import "./vendors/flatpickr.js?v=1.4.2.0"; +import * as utilities from "./utilities.js?v=1.4.2.0"; + +const _pickers = []; + +export function initialize(element, elementId, options) { + element = utilities.getRequiredElement(element, elementId); + + if (!element) + return; + + function mutationObserverCallback(mutationsList, observer) { + mutationsList.forEach(mutation => { + if (mutation.attributeName === 'class') { + const picker = _pickers[mutation.target.id]; + + if (picker && picker.altInput) { + const altInputClassListToRemove = [...picker.altInput.classList].filter(cn => !["input", "active"].includes(cn)); + const inputClassListToAdd = [...picker.input.classList].filter(cn => !["flatpickr-input"].includes(cn)); + + altInputClassListToRemove.forEach(name => { + picker.altInput.classList.remove(name); + }); + + inputClassListToAdd.forEach(name => { + picker.altInput.classList.add(name); + }); + } + } + }); + } + + // When flatpickr is defined with altInput=true, it will create a second input + // element while the original input element will be hidden. With MutationObserver + // we can copy classnames from hidden to the visible element. + const mutationObserver = new MutationObserver(mutationObserverCallback); + mutationObserver.observe(document.getElementById(elementId), { attributes: true }); + + const picker = flatpickr(element, { + enableTime: true, + noCalendar: true, + dateFormat: "H:i", + allowInput: true, + altInput: true, + altFormat: options.displayFormat ? options.displayFormat : "H:i", + defaultValue: options.default, + minTime: options.min, + maxTime: options.max, + time_24hr: options.timeAs24hr ? options.timeAs24hr : false, + clickOpens: !(options.readOnly || false), + locale: options.localization || {}, + inline: options.inline || false, + static: options.staticPicker + }); + + if (options) { + picker.altInput.disabled = options.disabled || false; + picker.altInput.readOnly = options.readOnly || false; + picker.altInput.placeholder = utilities.coalesce(options.placeholder, ""); + + picker.altInput.addEventListener("blur", (e) => { + const isInput = e.target === picker._input; + + // Workaround for: onchange does not fire when user writes the time and then click outside of the input area. + if (isInput && picker.isOpen === false) { + picker.input.dispatchEvent(utilities.createEvent("change")); + picker.input.dispatchEvent(utilities.createEvent("input")); + } + }); + } + + _pickers[elementId] = picker; +} + +export function destroy(element, elementId) { + const instances = _pickers || {}; + + const instance = instances[elementId]; + + if (instance) { + instance.destroy(); + } + + delete instances[elementId]; +} + +export function updateValue(element, elementId, value) { + const picker = _pickers[elementId]; + + if (picker) { + picker.setDate(value); + } +} + +export function updateOptions(element, elementId, options) { + const picker = _pickers[elementId]; + + if (picker) { + if (options.displayFormat.changed) { + picker.set("altFormat", options.displayFormat.value); + } + + if (options.timeAs24hr.changed) { + picker.set("time_24hr", options.timeAs24hr.value); + } + + if (options.min.changed) { + picker.set("minTime", options.min.value); + } + + if (options.max.changed) { + picker.set("maxTime", options.max.value); + } + + if (options.disabled.changed) { + picker.altInput.disabled = options.disabled.value; + } + + if (options.readOnly.changed) { + picker.altInput.readOnly = options.readOnly.value; + picker.set("clickOpens", !options.readOnly.value); + } + + if (options.inline.changed) { + picker.set("inline", options.inline.value || false); + } + + if (options.placeholder.changed) { + picker.altInput.placeholder = options.placeholder.value; + } + + if (options.staticPicker.changed) { + picker.set("static", options.staticPicker.value); + } + } +} + +export function open(element, elementId) { + const picker = _pickers[elementId]; + + if (picker) { + picker.open(); + } +} + +export function close(element, elementId) { + const picker = _pickers[elementId]; + + if (picker) { + picker.close(); + } +} + +export function toggle(element, elementId) { + const picker = _pickers[elementId]; + + if (picker) { + picker.toggle(); + } +} + + +export function updateLocalization(element, elementId, localization) { + const picker = _pickers[elementId]; + + if (picker) { + picker.config.locale = localization; + + if (picker.l10n) { + picker.l10n.amPM = localization.amPM; + } + + if (picker.amPM) { + const selectedDate = picker.selectedDates && picker.selectedDates.length > 0 ? picker.selectedDates[0] : null; + const index = selectedDate && selectedDate.getHours() >= 12 ? 1 : 0; + + picker.amPM.innerHtml = localization.amPM[index]; + picker.amPM.innerText = localization.amPM[index]; + } + + picker.redraw(); + } +} + +export function focus(element, elementId, scrollToElement) { + const picker = _pickers[elementId]; + + if (picker && picker.altInput) { + utilities.focus(picker.altInput, null, scrollToElement); + } +} + +export function select(element, elementId, focus) { + const picker = _pickers[elementId]; + + if (picker && picker.altInput) { + utilities.select(picker.altInput, null, focus); + } +} \ No newline at end of file diff --git a/_content/Blazorise/tooltip.js b/_content/Blazorise/tooltip.js new file mode 100755 index 0000000..28b60a8 --- /dev/null +++ b/_content/Blazorise/tooltip.js @@ -0,0 +1,90 @@ +import { getRequiredElement } from "./utilities.js?v=1.4.2.0"; + +!function (e, t) { "object" == typeof exports && "undefined" != typeof module ? t(exports) : "function" == typeof define && define.amd ? define(["exports"], t) : t((e = "undefined" != typeof globalThis ? globalThis : e || self).Popper = {}) }(this, (function (e) { function t(e) { return { width: (e = e.getBoundingClientRect()).width, height: e.height, top: e.top, right: e.right, bottom: e.bottom, left: e.left, x: e.left, y: e.top } } function n(e) { return null == e ? window : "[object Window]" !== e.toString() ? (e = e.ownerDocument) && e.defaultView || window : e } function o(e) { return { scrollLeft: (e = n(e)).pageXOffset, scrollTop: e.pageYOffset } } function r(e) { return e instanceof n(e).Element || e instanceof Element } function i(e) { return e instanceof n(e).HTMLElement || e instanceof HTMLElement } function a(e) { return "undefined" != typeof ShadowRoot && (e instanceof n(e).ShadowRoot || e instanceof ShadowRoot) } function s(e) { return e ? (e.nodeName || "").toLowerCase() : null } function f(e) { return ((r(e) ? e.ownerDocument : e.document) || window.document).documentElement } function p(e) { return t(f(e)).left + o(e).scrollLeft } function c(e) { return n(e).getComputedStyle(e) } function l(e) { return e = c(e), /auto|scroll|overlay|hidden/.test(e.overflow + e.overflowY + e.overflowX) } function u(e, r, a) { void 0 === a && (a = !1); var c = f(r); e = t(e); var u = i(r), d = { scrollLeft: 0, scrollTop: 0 }, m = { x: 0, y: 0 }; return (u || !u && !a) && (("body" !== s(r) || l(c)) && (d = r !== n(r) && i(r) ? { scrollLeft: r.scrollLeft, scrollTop: r.scrollTop } : o(r)), i(r) ? ((m = t(r)).x += r.clientLeft, m.y += r.clientTop) : c && (m.x = p(c))), { x: e.left + d.scrollLeft - m.x, y: e.top + d.scrollTop - m.y, width: e.width, height: e.height } } function d(e) { var n = t(e), o = e.offsetWidth, r = e.offsetHeight; return 1 >= Math.abs(n.width - o) && (o = n.width), 1 >= Math.abs(n.height - r) && (r = n.height), { x: e.offsetLeft, y: e.offsetTop, width: o, height: r } } function m(e) { return "html" === s(e) ? e : e.assignedSlot || e.parentNode || (a(e) ? e.host : null) || f(e) } function h(e) { return 0 <= ["html", "body", "#document"].indexOf(s(e)) ? e.ownerDocument.body : i(e) && l(e) ? e : h(m(e)) } function v(e, t) { var o; void 0 === t && (t = []); var r = h(e); return e = r === (null == (o = e.ownerDocument) ? void 0 : o.body), o = n(r), r = e ? [o].concat(o.visualViewport || [], l(r) ? r : []) : r, t = t.concat(r), e ? t : t.concat(v(m(r))) } function g(e) { return i(e) && "fixed" !== c(e).position ? e.offsetParent : null } function y(e) { for (var t = n(e), o = g(e); o && 0 <= ["table", "td", "th"].indexOf(s(o)) && "static" === c(o).position;)o = g(o); if (o && ("html" === s(o) || "body" === s(o) && "static" === c(o).position)) return t; if (!o) e: { for (o = -1 !== navigator.userAgent.toLowerCase().indexOf("firefox"), e = m(e); i(e) && 0 > ["html", "body"].indexOf(s(e));) { var r = c(e); if ("none" !== r.transform || "none" !== r.perspective || "paint" === r.contain || -1 !== ["transform", "perspective"].indexOf(r.willChange) || o && "filter" === r.willChange || o && r.filter && "none" !== r.filter) { o = e; break e } e = e.parentNode } o = null } return o || t } function b(e) { function t(e) { o.add(e.name), [].concat(e.requires || [], e.requiresIfExists || []).forEach((function (e) { o.has(e) || (e = n.get(e)) && t(e) })), r.push(e) } var n = new Map, o = new Set, r = []; return e.forEach((function (e) { n.set(e.name, e) })), e.forEach((function (e) { o.has(e.name) || t(e) })), r } function w(e) { var t; return function () { return t || (t = new Promise((function (n) { Promise.resolve().then((function () { t = void 0, n(e()) })) }))), t } } function x(e) { return e.split("-")[0] } function O(e, t) { var n = t.getRootNode && t.getRootNode(); if (e.contains(t)) return !0; if (n && a(n)) do { if (t && e.isSameNode(t)) return !0; t = t.parentNode || t.host } while (t); return !1 } function j(e) { return Object.assign({}, e, { left: e.x, top: e.y, right: e.x + e.width, bottom: e.y + e.height }) } function E(e, r) { if ("viewport" === r) { r = n(e); var a = f(e); r = r.visualViewport; var s = a.clientWidth; a = a.clientHeight; var l = 0, u = 0; r && (s = r.width, a = r.height, /^((?!chrome|android).)*safari/i.test(navigator.userAgent) || (l = r.offsetLeft, u = r.offsetTop)), e = j(e = { width: s, height: a, x: l + p(e), y: u }) } else i(r) ? ((e = t(r)).top += r.clientTop, e.left += r.clientLeft, e.bottom = e.top + r.clientHeight, e.right = e.left + r.clientWidth, e.width = r.clientWidth, e.height = r.clientHeight, e.x = e.left, e.y = e.top) : (u = f(e), e = f(u), s = o(u), r = null == (a = u.ownerDocument) ? void 0 : a.body, a = _(e.scrollWidth, e.clientWidth, r ? r.scrollWidth : 0, r ? r.clientWidth : 0), l = _(e.scrollHeight, e.clientHeight, r ? r.scrollHeight : 0, r ? r.clientHeight : 0), u = -s.scrollLeft + p(u), s = -s.scrollTop, "rtl" === c(r || e).direction && (u += _(e.clientWidth, r ? r.clientWidth : 0) - a), e = j({ width: a, height: l, x: u, y: s })); return e } function D(e, t, n) { return t = "clippingParents" === t ? function (e) { var t = v(m(e)), n = 0 <= ["absolute", "fixed"].indexOf(c(e).position) && i(e) ? y(e) : e; return r(n) ? t.filter((function (e) { return r(e) && O(e, n) && "body" !== s(e) })) : [] }(e) : [].concat(t), (n = (n = [].concat(t, [n])).reduce((function (t, n) { return n = E(e, n), t.top = _(n.top, t.top), t.right = U(n.right, t.right), t.bottom = U(n.bottom, t.bottom), t.left = _(n.left, t.left), t }), E(e, n[0]))).width = n.right - n.left, n.height = n.bottom - n.top, n.x = n.left, n.y = n.top, n } function L(e) { return 0 <= ["top", "bottom"].indexOf(e) ? "x" : "y" } function P(e) { var t = e.reference, n = e.element, o = (e = e.placement) ? x(e) : null; e = e ? e.split("-")[1] : null; var r = t.x + t.width / 2 - n.width / 2, i = t.y + t.height / 2 - n.height / 2; switch (o) { case "top": r = { x: r, y: t.y - n.height }; break; case "bottom": r = { x: r, y: t.y + t.height }; break; case "right": r = { x: t.x + t.width, y: i }; break; case "left": r = { x: t.x - n.width, y: i }; break; default: r = { x: t.x, y: t.y } }if (null != (o = o ? L(o) : null)) switch (i = "y" === o ? "height" : "width", e) { case "start": r[o] -= t[i] / 2 - n[i] / 2; break; case "end": r[o] += t[i] / 2 - n[i] / 2 }return r } function M(e) { return Object.assign({}, { top: 0, right: 0, bottom: 0, left: 0 }, e) } function k(e, t) { return t.reduce((function (t, n) { return t[n] = e, t }), {}) } function W(e, n) { void 0 === n && (n = {}); var o = n; n = void 0 === (n = o.placement) ? e.placement : n; var i = o.boundary, a = void 0 === i ? "clippingParents" : i, s = void 0 === (i = o.rootBoundary) ? "viewport" : i; i = void 0 === (i = o.elementContext) ? "popper" : i; var p = o.altBoundary, c = void 0 !== p && p; o = M("number" != typeof (o = void 0 === (o = o.padding) ? 0 : o) ? o : k(o, C)); var l = e.elements.reference; p = e.rects.popper, a = D(r(c = e.elements[c ? "popper" === i ? "reference" : "popper" : i]) ? c : c.contextElement || f(e.elements.popper), a, s), c = P({ reference: s = t(l), element: p, strategy: "absolute", placement: n }), p = j(Object.assign({}, p, c)), s = "popper" === i ? p : s; var u = { top: a.top - s.top + o.top, bottom: s.bottom - a.bottom + o.bottom, left: a.left - s.left + o.left, right: s.right - a.right + o.right }; if (e = e.modifiersData.offset, "popper" === i && e) { var d = e[n]; Object.keys(u).forEach((function (e) { var t = 0 <= ["right", "bottom"].indexOf(e) ? 1 : -1, n = 0 <= ["top", "bottom"].indexOf(e) ? "y" : "x"; u[e] += d[n] * t })) } return u } function A() { for (var e = arguments.length, t = Array(e), n = 0; n < e; n++)t[n] = arguments[n]; return !t.some((function (e) { return !(e && "function" == typeof e.getBoundingClientRect) })) } function B(e) { void 0 === e && (e = {}); var t = e.defaultModifiers, n = void 0 === t ? [] : t, o = void 0 === (e = e.defaultOptions) ? F : e; return function (e, t, i) { function a() { f.forEach((function (e) { return e() })), f = [] } void 0 === i && (i = o); var s = { placement: "bottom", orderedModifiers: [], options: Object.assign({}, F, o), modifiersData: {}, elements: { reference: e, popper: t }, attributes: {}, styles: {} }, f = [], p = !1, c = { state: s, setOptions: function (i) { return a(), s.options = Object.assign({}, o, s.options, i), s.scrollParents = { reference: r(e) ? v(e) : e.contextElement ? v(e.contextElement) : [], popper: v(t) }, i = function (e) { var t = b(e); return I.reduce((function (e, n) { return e.concat(t.filter((function (e) { return e.phase === n }))) }), []) }(function (e) { var t = e.reduce((function (e, t) { var n = e[t.name]; return e[t.name] = n ? Object.assign({}, n, t, { options: Object.assign({}, n.options, t.options), data: Object.assign({}, n.data, t.data) }) : t, e }), {}); return Object.keys(t).map((function (e) { return t[e] })) }([].concat(n, s.options.modifiers))), s.orderedModifiers = i.filter((function (e) { return e.enabled })), s.orderedModifiers.forEach((function (e) { var t = e.name, n = e.options; n = void 0 === n ? {} : n, "function" == typeof (e = e.effect) && (t = e({ state: s, name: t, instance: c, options: n }), f.push(t || function () { })) })), c.update() }, forceUpdate: function () { if (!p) { var e = s.elements, t = e.reference; if (A(t, e = e.popper)) for (s.rects = { reference: u(t, y(e), "fixed" === s.options.strategy), popper: d(e) }, s.reset = !1, s.placement = s.options.placement, s.orderedModifiers.forEach((function (e) { return s.modifiersData[e.name] = Object.assign({}, e.data) })), t = 0; t < s.orderedModifiers.length; t++)if (!0 === s.reset) s.reset = !1, t = -1; else { var n = s.orderedModifiers[t]; e = n.fn; var o = n.options; o = void 0 === o ? {} : o, n = n.name, "function" == typeof e && (s = e({ state: s, options: o, name: n, instance: c }) || s) } } }, update: w((function () { return new Promise((function (e) { c.forceUpdate(), e(s) })) })), destroy: function () { a(), p = !0 } }; return A(e, t) ? (c.setOptions(i).then((function (e) { !p && i.onFirstUpdate && i.onFirstUpdate(e) })), c) : c } } function T(e) { var t, o = e.popper, r = e.popperRect, i = e.placement, a = e.offsets, s = e.position, p = e.gpuAcceleration, l = e.adaptive; if (!0 === (e = e.roundOffsets)) { e = a.y; var u = window.devicePixelRatio || 1; e = { x: z(z(a.x * u) / u) || 0, y: z(z(e * u) / u) || 0 } } else e = "function" == typeof e ? e(a) : a; e = void 0 === (e = (u = e).x) ? 0 : e, u = void 0 === (u = u.y) ? 0 : u; var d = a.hasOwnProperty("x"); a = a.hasOwnProperty("y"); var m, h = "left", v = "top", g = window; if (l) { var b = y(o), w = "clientHeight", x = "clientWidth"; b === n(o) && ("static" !== c(b = f(o)).position && (w = "scrollHeight", x = "scrollWidth")), "top" === i && (v = "bottom", u -= b[w] - r.height, u *= p ? 1 : -1), "left" === i && (h = "right", e -= b[x] - r.width, e *= p ? 1 : -1) } return o = Object.assign({ position: s }, l && J), p ? Object.assign({}, o, ((m = {})[v] = a ? "0" : "", m[h] = d ? "0" : "", m.transform = 2 > (g.devicePixelRatio || 1) ? "translate(" + e + "px, " + u + "px)" : "translate3d(" + e + "px, " + u + "px, 0)", m)) : Object.assign({}, o, ((t = {})[v] = a ? u + "px" : "", t[h] = d ? e + "px" : "", t.transform = "", t)) } function H(e) { return e.replace(/left|right|bottom|top/g, (function (e) { return $[e] })) } function R(e) { return e.replace(/start|end/g, (function (e) { return ee[e] })) } function S(e, t, n) { return void 0 === n && (n = { x: 0, y: 0 }), { top: e.top - t.height - n.y, right: e.right - t.width + n.x, bottom: e.bottom - t.height + n.y, left: e.left - t.width - n.x } } function q(e) { return ["top", "right", "bottom", "left"].some((function (t) { return 0 <= e[t] })) } var C = ["top", "bottom", "right", "left"], N = C.reduce((function (e, t) { return e.concat([t + "-start", t + "-end"]) }), []), V = [].concat(C, ["auto"]).reduce((function (e, t) { return e.concat([t, t + "-start", t + "-end"]) }), []), I = "beforeRead read afterRead beforeMain main afterMain beforeWrite write afterWrite".split(" "), _ = Math.max, U = Math.min, z = Math.round, F = { placement: "bottom", modifiers: [], strategy: "absolute" }, X = { passive: !0 }, Y = { name: "eventListeners", enabled: !0, phase: "write", fn: function () { }, effect: function (e) { var t = e.state, o = e.instance, r = (e = e.options).scroll, i = void 0 === r || r, a = void 0 === (e = e.resize) || e, s = n(t.elements.popper), f = [].concat(t.scrollParents.reference, t.scrollParents.popper); return i && f.forEach((function (e) { e.addEventListener("scroll", o.update, X) })), a && s.addEventListener("resize", o.update, X), function () { i && f.forEach((function (e) { e.removeEventListener("scroll", o.update, X) })), a && s.removeEventListener("resize", o.update, X) } }, data: {} }, G = { name: "popperOffsets", enabled: !0, phase: "read", fn: function (e) { var t = e.state; t.modifiersData[e.name] = P({ reference: t.rects.reference, element: t.rects.popper, strategy: "absolute", placement: t.placement }) }, data: {} }, J = { top: "auto", right: "auto", bottom: "auto", left: "auto" }, K = { name: "computeStyles", enabled: !0, phase: "beforeWrite", fn: function (e) { var t = e.state, n = e.options; e = void 0 === (e = n.gpuAcceleration) || e; var o = n.adaptive; o = void 0 === o || o, n = void 0 === (n = n.roundOffsets) || n, e = { placement: x(t.placement), popper: t.elements.popper, popperRect: t.rects.popper, gpuAcceleration: e }, null != t.modifiersData.popperOffsets && (t.styles.popper = Object.assign({}, t.styles.popper, T(Object.assign({}, e, { offsets: t.modifiersData.popperOffsets, position: t.options.strategy, adaptive: o, roundOffsets: n })))), null != t.modifiersData.arrow && (t.styles.arrow = Object.assign({}, t.styles.arrow, T(Object.assign({}, e, { offsets: t.modifiersData.arrow, position: "absolute", adaptive: !1, roundOffsets: n })))), t.attributes.popper = Object.assign({}, t.attributes.popper, { "data-popper-placement": t.placement }) }, data: {} }, Q = { name: "applyStyles", enabled: !0, phase: "write", fn: function (e) { var t = e.state; Object.keys(t.elements).forEach((function (e) { var n = t.styles[e] || {}, o = t.attributes[e] || {}, r = t.elements[e]; i(r) && s(r) && (Object.assign(r.style, n), Object.keys(o).forEach((function (e) { var t = o[e]; !1 === t ? r.removeAttribute(e) : r.setAttribute(e, !0 === t ? "" : t) }))) })) }, effect: function (e) { var t = e.state, n = { popper: { position: t.options.strategy, left: "0", top: "0", margin: "0" }, arrow: { position: "absolute" }, reference: {} }; return Object.assign(t.elements.popper.style, n.popper), t.styles = n, t.elements.arrow && Object.assign(t.elements.arrow.style, n.arrow), function () { Object.keys(t.elements).forEach((function (e) { var o = t.elements[e], r = t.attributes[e] || {}; e = Object.keys(t.styles.hasOwnProperty(e) ? t.styles[e] : n[e]).reduce((function (e, t) { return e[t] = "", e }), {}), i(o) && s(o) && (Object.assign(o.style, e), Object.keys(r).forEach((function (e) { o.removeAttribute(e) }))) })) } }, requires: ["computeStyles"] }, Z = { name: "offset", enabled: !0, phase: "main", requires: ["popperOffsets"], fn: function (e) { var t = e.state, n = e.name, o = void 0 === (e = e.options.offset) ? [0, 0] : e, r = (e = V.reduce((function (e, n) { var r = t.rects, i = x(n), a = 0 <= ["left", "top"].indexOf(i) ? -1 : 1, s = "function" == typeof o ? o(Object.assign({}, r, { placement: n })) : o; return r = (r = s[0]) || 0, s = ((s = s[1]) || 0) * a, i = 0 <= ["left", "right"].indexOf(i) ? { x: s, y: r } : { x: r, y: s }, e[n] = i, e }), {}))[t.placement], i = r.x; r = r.y, null != t.modifiersData.popperOffsets && (t.modifiersData.popperOffsets.x += i, t.modifiersData.popperOffsets.y += r), t.modifiersData[n] = e } }, $ = { left: "right", right: "left", bottom: "top", top: "bottom" }, ee = { start: "end", end: "start" }, te = { name: "flip", enabled: !0, phase: "main", fn: function (e) { var t = e.state, n = e.options; if (e = e.name, !t.modifiersData[e]._skip) { var o = n.mainAxis; o = void 0 === o || o; var r = n.altAxis; r = void 0 === r || r; var i = n.fallbackPlacements, a = n.padding, s = n.boundary, f = n.rootBoundary, p = n.altBoundary, c = n.flipVariations, l = void 0 === c || c, u = n.allowedAutoPlacements; c = x(n = t.options.placement), i = i || (c !== n && l ? function (e) { if ("auto" === x(e)) return []; var t = H(e); return [R(e), t, R(t)] }(n) : [H(n)]); var d = [n].concat(i).reduce((function (e, n) { return e.concat("auto" === x(n) ? function (e, t) { void 0 === t && (t = {}); var n = t.boundary, o = t.rootBoundary, r = t.padding, i = t.flipVariations, a = t.allowedAutoPlacements, s = void 0 === a ? V : a, f = t.placement.split("-")[1]; 0 === (i = (t = f ? i ? N : N.filter((function (e) { return e.split("-")[1] === f })) : C).filter((function (e) { return 0 <= s.indexOf(e) }))).length && (i = t); var p = i.reduce((function (t, i) { return t[i] = W(e, { placement: i, boundary: n, rootBoundary: o, padding: r })[x(i)], t }), {}); return Object.keys(p).sort((function (e, t) { return p[e] - p[t] })) }(t, { placement: n, boundary: s, rootBoundary: f, padding: a, flipVariations: l, allowedAutoPlacements: u }) : n) }), []); n = t.rects.reference, i = t.rects.popper; var m = new Map; c = !0; for (var h = d[0], v = 0; v < d.length; v++) { var g = d[v], y = x(g), b = "start" === g.split("-")[1], w = 0 <= ["top", "bottom"].indexOf(y), O = w ? "width" : "height", j = W(t, { placement: g, boundary: s, rootBoundary: f, altBoundary: p, padding: a }); if (b = w ? b ? "right" : "left" : b ? "bottom" : "top", n[O] > i[O] && (b = H(b)), O = H(b), w = [], o && w.push(0 >= j[y]), r && w.push(0 >= j[b], 0 >= j[O]), w.every((function (e) { return e }))) { h = g, c = !1; break } m.set(g, w) } if (c) for (o = function (e) { var t = d.find((function (t) { if (t = m.get(t)) return t.slice(0, e).every((function (e) { return e })) })); if (t) return h = t, "break" }, r = l ? 3 : 1; 0 < r && "break" !== o(r); r--); t.placement !== h && (t.modifiersData[e]._skip = !0, t.placement = h, t.reset = !0) } }, requiresIfExists: ["offset"], data: { _skip: !1 } }, ne = { name: "preventOverflow", enabled: !0, phase: "main", fn: function (e) { var t = e.state, n = e.options; e = e.name; var o = n.mainAxis, r = void 0 === o || o, i = void 0 !== (o = n.altAxis) && o; o = void 0 === (o = n.tether) || o; var a = n.tetherOffset, s = void 0 === a ? 0 : a, f = W(t, { boundary: n.boundary, rootBoundary: n.rootBoundary, padding: n.padding, altBoundary: n.altBoundary }); n = x(t.placement); var p = t.placement.split("-")[1], c = !p, l = L(n); n = "x" === l ? "y" : "x", a = t.modifiersData.popperOffsets; var u = t.rects.reference, m = t.rects.popper, h = "function" == typeof s ? s(Object.assign({}, t.rects, { placement: t.placement })) : s; if (s = { x: 0, y: 0 }, a) { if (r || i) { var v = "y" === l ? "top" : "left", g = "y" === l ? "bottom" : "right", b = "y" === l ? "height" : "width", w = a[l], O = a[l] + f[v], j = a[l] - f[g], E = o ? -m[b] / 2 : 0, D = "start" === p ? u[b] : m[b]; p = "start" === p ? -m[b] : -u[b], m = t.elements.arrow, m = o && m ? d(m) : { width: 0, height: 0 }; var P = t.modifiersData["arrow#persistent"] ? t.modifiersData["arrow#persistent"].padding : { top: 0, right: 0, bottom: 0, left: 0 }; v = P[v], g = P[g], m = _(0, U(u[b], m[b])), D = c ? u[b] / 2 - E - m - v - h : D - m - v - h, u = c ? -u[b] / 2 + E + m + g + h : p + m + g + h, c = t.elements.arrow && y(t.elements.arrow), h = t.modifiersData.offset ? t.modifiersData.offset[t.placement][l] : 0, c = a[l] + D - h - (c ? "y" === l ? c.clientTop || 0 : c.clientLeft || 0 : 0), u = a[l] + u - h, r && (r = o ? U(O, c) : O, j = o ? _(j, u) : j, r = _(r, U(w, j)), a[l] = r, s[l] = r - w), i && (r = (i = a[n]) + f["x" === l ? "top" : "left"], f = i - f["x" === l ? "bottom" : "right"], r = o ? U(r, c) : r, o = o ? _(f, u) : f, o = _(r, U(i, o)), a[n] = o, s[n] = o - i) } t.modifiersData[e] = s } }, requiresIfExists: ["offset"] }, oe = { name: "arrow", enabled: !0, phase: "main", fn: function (e) { var t, n = e.state, o = e.name, r = e.options, i = n.elements.arrow, a = n.modifiersData.popperOffsets, s = x(n.placement); if (e = L(s), s = 0 <= ["left", "right"].indexOf(s) ? "height" : "width", i && a) { r = M("number" != typeof (r = "function" == typeof (r = r.padding) ? r(Object.assign({}, n.rects, { placement: n.placement })) : r) ? r : k(r, C)); var f = d(i), p = "y" === e ? "top" : "left", c = "y" === e ? "bottom" : "right", l = n.rects.reference[s] + n.rects.reference[e] - a[e] - n.rects.popper[s]; a = a[e] - n.rects.reference[e], a = (i = (i = y(i)) ? "y" === e ? i.clientHeight || 0 : i.clientWidth || 0 : 0) / 2 - f[s] / 2 + (l / 2 - a / 2), s = _(r[p], U(a, i - f[s] - r[c])), n.modifiersData[o] = ((t = {})[e] = s, t.centerOffset = s - a, t) } }, effect: function (e) { var t = e.state; if (null != (e = void 0 === (e = e.options.element) ? "[data-popper-arrow]" : e)) { if ("string" == typeof e && !(e = t.elements.popper.querySelector(e))) return; O(t.elements.popper, e) && (t.elements.arrow = e) } }, requires: ["popperOffsets"], requiresIfExists: ["preventOverflow"] }, re = { name: "hide", enabled: !0, phase: "main", requiresIfExists: ["preventOverflow"], fn: function (e) { var t = e.state; e = e.name; var n = t.rects.reference, o = t.rects.popper, r = t.modifiersData.preventOverflow, i = W(t, { elementContext: "reference" }), a = W(t, { altBoundary: !0 }); n = S(i, n), o = S(a, o, r), r = q(n), a = q(o), t.modifiersData[e] = { referenceClippingOffsets: n, popperEscapeOffsets: o, isReferenceHidden: r, hasPopperEscaped: a }, t.attributes.popper = Object.assign({}, t.attributes.popper, { "data-popper-reference-hidden": r, "data-popper-escaped": a }) } }, ie = B({ defaultModifiers: [Y, G, K, Q] }), ae = [Y, G, K, Q, Z, te, ne, oe, re], se = B({ defaultModifiers: ae }); e.applyStyles = Q, e.arrow = oe, e.computeStyles = K, e.createPopper = se, e.createPopperLite = ie, e.defaultModifiers = ae, e.detectOverflow = W, e.eventListeners = Y, e.flip = te, e.hide = re, e.offset = Z, e.popperGenerator = B, e.popperOffsets = G, e.preventOverflow = ne, Object.defineProperty(e, "__esModule", { value: !0 }) })); +!function (t, e) { "object" == typeof exports && "undefined" != typeof module ? module.exports = e(require("@popperjs/core")) : "function" == typeof define && define.amd ? define(["@popperjs/core"], e) : (t = t || self).tippy = e(t.Popper) }(this, (function (t) { "use strict"; var e = "undefined" != typeof window && "undefined" != typeof document, n = e ? navigator.userAgent : "", r = /MSIE |Trident\//.test(n), i = { passive: !0, capture: !0 }; function o(t, e, n) { if (Array.isArray(t)) { var r = t[e]; return null == r ? Array.isArray(n) ? n[e] : n : r } return t } function a(t, e) { var n = {}.toString.call(t); return 0 === n.indexOf("[object") && n.indexOf(e + "]") > -1 } function s(t, e) { return "function" == typeof t ? t.apply(void 0, e) : t } function p(t, e) { return 0 === e ? t : function (r) { clearTimeout(n), n = setTimeout((function () { t(r) }), e) }; var n } function u(t, e) { var n = Object.assign({}, t); return e.forEach((function (t) { delete n[t] })), n } function c(t) { return [].concat(t) } function f(t, e) { -1 === t.indexOf(e) && t.push(e) } function l(t) { return t.split("-")[0] } function d(t) { return [].slice.call(t) } function v() { return document.createElement("div") } function m(t) { return ["Element", "Fragment"].some((function (e) { return a(t, e) })) } function g(t) { return a(t, "MouseEvent") } function h(t) { return !(!t || !t._tippy || t._tippy.reference !== t) } function b(t) { return m(t) ? [t] : function (t) { return a(t, "NodeList") }(t) ? d(t) : Array.isArray(t) ? t : d(document.querySelectorAll(t)) } function y(t, e) { t.forEach((function (t) { t && (t.style.transitionDuration = e + "ms") })) } function w(t, e) { t.forEach((function (t) { t && t.setAttribute("data-state", e) })) } function x(t) { var e, n = c(t)[0]; return (null == n || null == (e = n.ownerDocument) ? void 0 : e.body) ? n.ownerDocument : document } function E(t, e, n) { var r = e + "EventListener";["transitionend", "webkitTransitionEnd"].forEach((function (e) { t[r](e, n) })) } var O = { isTouch: !1 }, C = 0; function T() { O.isTouch || (O.isTouch = !0, window.performance && document.addEventListener("mousemove", A)) } function A() { var t = performance.now(); t - C < 20 && (O.isTouch = !1, document.removeEventListener("mousemove", A)), C = t } function L() { var t = document.activeElement; if (h(t)) { var e = t._tippy; t.blur && !e.state.isVisible && t.blur() } } var D = Object.assign({ appendTo: function () { return document.body }, aria: { content: "auto", expanded: "auto" }, delay: 0, duration: [300, 250], getReferenceClientRect: null, hideOnClick: !0, ignoreAttributes: !1, interactive: !1, interactiveBorder: 2, interactiveDebounce: 0, moveTransition: "", offset: [0, 10], onAfterUpdate: function () { }, onBeforeUpdate: function () { }, onCreate: function () { }, onDestroy: function () { }, onHidden: function () { }, onHide: function () { }, onMount: function () { }, onShow: function () { }, onShown: function () { }, onTrigger: function () { }, onUntrigger: function () { }, onClickOutside: function () { }, placement: "top", plugins: [], popperOptions: {}, render: null, showOnCreate: !1, touch: !0, trigger: "mouseenter focus", triggerTarget: null }, { animateFill: !1, followCursor: !1, inlinePositioning: !1, sticky: !1 }, {}, { allowHTML: !1, animation: "fade", arrow: !0, content: "", inertia: !1, maxWidth: 350, role: "tooltip", theme: "", zIndex: 9999 }), k = Object.keys(D); function R(t) { var e = (t.plugins || []).reduce((function (e, n) { var r = n.name, i = n.defaultValue; return r && (e[r] = void 0 !== t[r] ? t[r] : i), e }), {}); return Object.assign({}, t, {}, e) } function j(t, e) { var n = Object.assign({}, e, { content: s(e.content, [t]) }, e.ignoreAttributes ? {} : function (t, e) { return (e ? Object.keys(R(Object.assign({}, D, { plugins: e }))) : k).reduce((function (e, n) { var r = (t.getAttribute("data-tippy-" + n) || "").trim(); if (!r) return e; if ("content" === n) e[n] = r; else try { e[n] = JSON.parse(r) } catch (t) { e[n] = r } return e }), {}) }(t, e.plugins)); return n.aria = Object.assign({}, D.aria, {}, n.aria), n.aria = { expanded: "auto" === n.aria.expanded ? e.interactive : n.aria.expanded, content: "auto" === n.aria.content ? e.interactive ? null : "describedby" : n.aria.content }, n } function M(t, e) { t.innerHTML = e } function P(t) { var e = v(); return !0 === t ? e.className = "tippy-arrow" : (e.className = "tippy-svg-arrow", m(t) ? e.appendChild(t) : M(e, t)), e } function V(t, e) { m(e.content) ? (M(t, ""), t.appendChild(e.content)) : "function" != typeof e.content && (e.allowHTML ? M(t, e.content) : t.textContent = e.content) } function I(t) { var e = t.firstElementChild, n = d(e.children); return { box: e, content: n.find((function (t) { return t.classList.contains("tippy-content") })), arrow: n.find((function (t) { return t.classList.contains("tippy-arrow") || t.classList.contains("tippy-svg-arrow") })), backdrop: n.find((function (t) { return t.classList.contains("tippy-backdrop") })) } } function S(t) { var e = v(), n = v(); n.className = "tippy-box", n.setAttribute("data-state", "hidden"), n.setAttribute("tabindex", "-1"); var r = v(); function i(n, r) { var i = I(e), o = i.box, a = i.content, s = i.arrow; r.theme ? o.setAttribute("data-theme", r.theme) : o.removeAttribute("data-theme"), "string" == typeof r.animation ? o.setAttribute("data-animation", r.animation) : o.removeAttribute("data-animation"), r.inertia ? o.setAttribute("data-inertia", "") : o.removeAttribute("data-inertia"), o.style.maxWidth = "number" == typeof r.maxWidth ? r.maxWidth + "px" : r.maxWidth, r.role ? o.setAttribute("role", r.role) : o.removeAttribute("role"), n.content === r.content && n.allowHTML === r.allowHTML || V(a, t.props), r.arrow ? s ? n.arrow !== r.arrow && (o.removeChild(s), o.appendChild(P(r.arrow))) : o.appendChild(P(r.arrow)) : s && o.removeChild(s) } return r.className = "tippy-content", r.setAttribute("data-state", "hidden"), V(r, t.props), e.appendChild(n), n.appendChild(r), i(t.props, t.props), { popper: e, onUpdate: i } } S.$$tippy = !0; var B = 1, H = [], N = []; function U(e, n) { var a, u, m, h, b, C, T, A, L, k = j(e, Object.assign({}, D, {}, R((a = n, Object.keys(a).reduce((function (t, e) { return void 0 !== a[e] && (t[e] = a[e]), t }), {}))))), M = !1, P = !1, V = !1, S = !1, U = [], _ = p(bt, k.interactiveDebounce), z = B++, F = (L = k.plugins).filter((function (t, e) { return L.indexOf(t) === e })), W = { id: z, reference: e, popper: v(), popperInstance: null, props: k, state: { isEnabled: !0, isVisible: !1, isDestroyed: !1, isMounted: !1, isShown: !1 }, plugins: F, clearDelayTimeouts: function () { clearTimeout(u), clearTimeout(m), cancelAnimationFrame(h) }, setProps: function (t) { if (W.state.isDestroyed) return; it("onBeforeUpdate", [W, t]), gt(); var n = W.props, r = j(e, Object.assign({}, W.props, {}, t, { ignoreAttributes: !0 })); W.props = r, mt(), n.interactiveDebounce !== r.interactiveDebounce && (st(), _ = p(bt, r.interactiveDebounce)); n.triggerTarget && !r.triggerTarget ? c(n.triggerTarget).forEach((function (t) { t.removeAttribute("aria-expanded") })) : r.triggerTarget && e.removeAttribute("aria-expanded"); at(), rt(), q && q(n, r); W.popperInstance && (Et(), Ct().forEach((function (t) { requestAnimationFrame(t._tippy.popperInstance.forceUpdate) }))); it("onAfterUpdate", [W, t]) }, setContent: function (t) { W.setProps({ content: t }) }, show: function () { var t = W.state.isVisible, e = W.state.isDestroyed, n = !W.state.isEnabled, r = O.isTouch && !W.props.touch, i = o(W.props.duration, 0, D.duration); if (t || e || n || r) return; if (Z().hasAttribute("disabled")) return; if (it("onShow", [W], !1), !1 === W.props.onShow(W)) return; W.state.isVisible = !0, Q() && (Y.style.visibility = "visible"); rt(), ft(), W.state.isMounted || (Y.style.transition = "none"); if (Q()) { var a = et(), p = a.box, u = a.content; y([p, u], 0) } T = function () { var t; if (W.state.isVisible && !S) { if (S = !0, Y.offsetHeight, Y.style.transition = W.props.moveTransition, Q() && W.props.animation) { var e = et(), n = e.box, r = e.content; y([n, r], i), w([n, r], "visible") } ot(), at(), f(N, W), null == (t = W.popperInstance) || t.forceUpdate(), W.state.isMounted = !0, it("onMount", [W]), W.props.animation && Q() && function (t, e) { dt(t, e) }(i, (function () { W.state.isShown = !0, it("onShown", [W]) })) } }, function () { var t, e = W.props.appendTo, n = Z(); t = W.props.interactive && e === D.appendTo || "parent" === e ? n.parentNode : s(e, [n]); t.contains(Y) || t.appendChild(Y); Et() }() }, hide: function () { var t = !W.state.isVisible, e = W.state.isDestroyed, n = !W.state.isEnabled, r = o(W.props.duration, 1, D.duration); if (t || e || n) return; if (it("onHide", [W], !1), !1 === W.props.onHide(W)) return; W.state.isVisible = !1, W.state.isShown = !1, S = !1, M = !1, Q() && (Y.style.visibility = "hidden"); if (st(), lt(), rt(), Q()) { var i = et(), a = i.box, s = i.content; W.props.animation && (y([a, s], r), w([a, s], "hidden")) } ot(), at(), W.props.animation ? Q() && function (t, e) { dt(t, (function () { !W.state.isVisible && Y.parentNode && Y.parentNode.contains(Y) && e() })) }(r, W.unmount) : W.unmount() }, hideWithInteractivity: function (t) { tt().addEventListener("mousemove", _), f(H, _), _(t) }, enable: function () { W.state.isEnabled = !0 }, disable: function () { W.hide(), W.state.isEnabled = !1 }, unmount: function () { W.state.isVisible && W.hide(); if (!W.state.isMounted) return; Ot(), Ct().forEach((function (t) { t._tippy.unmount() })), Y.parentNode && Y.parentNode.removeChild(Y); N = N.filter((function (t) { return t !== W })), W.state.isMounted = !1, it("onHidden", [W]) }, destroy: function () { if (W.state.isDestroyed) return; W.clearDelayTimeouts(), W.unmount(), gt(), delete e._tippy, W.state.isDestroyed = !0, it("onDestroy", [W]) } }; if (!k.render) return W; var X = k.render(W), Y = X.popper, q = X.onUpdate; Y.setAttribute("data-tippy-root", ""), Y.id = "tippy-" + W.id, W.popper = Y, e._tippy = W, Y._tippy = W; var $ = F.map((function (t) { return t.fn(W) })), J = e.hasAttribute("aria-expanded"); return mt(), at(), rt(), it("onCreate", [W]), k.showOnCreate && Tt(), Y.addEventListener("mouseenter", (function () { W.props.interactive && W.state.isVisible && W.clearDelayTimeouts() })), Y.addEventListener("mouseleave", (function (t) { W.props.interactive && W.props.trigger.indexOf("mouseenter") >= 0 && (tt().addEventListener("mousemove", _), _(t)) })), W; function G() { var t = W.props.touch; return Array.isArray(t) ? t : [t, 0] } function K() { return "hold" === G()[0] } function Q() { var t; return !!(null == (t = W.props.render) ? void 0 : t.$$tippy) } function Z() { return A || e } function tt() { var t = Z().parentNode; return t ? x(t) : document } function et() { return I(Y) } function nt(t) { return W.state.isMounted && !W.state.isVisible || O.isTouch || b && "focus" === b.type ? 0 : o(W.props.delay, t ? 0 : 1, D.delay) } function rt() { Y.style.pointerEvents = W.props.interactive && W.state.isVisible ? "" : "none", Y.style.zIndex = "" + W.props.zIndex } function it(t, e, n) { var r; (void 0 === n && (n = !0), $.forEach((function (n) { n[t] && n[t].apply(void 0, e) })), n) && (r = W.props)[t].apply(r, e) } function ot() { var t = W.props.aria; if (t.content) { var n = "aria-" + t.content, r = Y.id; c(W.props.triggerTarget || e).forEach((function (t) { var e = t.getAttribute(n); if (W.state.isVisible) t.setAttribute(n, e ? e + " " + r : r); else { var i = e && e.replace(r, "").trim(); i ? t.setAttribute(n, i) : t.removeAttribute(n) } })) } } function at() { !J && W.props.aria.expanded && c(W.props.triggerTarget || e).forEach((function (t) { W.props.interactive ? t.setAttribute("aria-expanded", W.state.isVisible && t === Z() ? "true" : "false") : t.removeAttribute("aria-expanded") })) } function st() { tt().removeEventListener("mousemove", _), H = H.filter((function (t) { return t !== _ })) } function pt(t) { if (!(O.isTouch && (V || "mousedown" === t.type) || W.props.interactive && Y.contains(t.target))) { if (Z().contains(t.target)) { if (O.isTouch) return; if (W.state.isVisible && W.props.trigger.indexOf("click") >= 0) return } else it("onClickOutside", [W, t]); !0 === W.props.hideOnClick && (W.clearDelayTimeouts(), W.hide(), P = !0, setTimeout((function () { P = !1 })), W.state.isMounted || lt()) } } function ut() { V = !0 } function ct() { V = !1 } function ft() { var t = tt(); t.addEventListener("mousedown", pt, !0), t.addEventListener("touchend", pt, i), t.addEventListener("touchstart", ct, i), t.addEventListener("touchmove", ut, i) } function lt() { var t = tt(); t.removeEventListener("mousedown", pt, !0), t.removeEventListener("touchend", pt, i), t.removeEventListener("touchstart", ct, i), t.removeEventListener("touchmove", ut, i) } function dt(t, e) { var n = et().box; function r(t) { t.target === n && (E(n, "remove", r), e()) } if (0 === t) return e(); E(n, "remove", C), E(n, "add", r), C = r } function vt(t, n, r) { void 0 === r && (r = !1), c(W.props.triggerTarget || e).forEach((function (e) { e.addEventListener(t, n, r), U.push({ node: e, eventType: t, handler: n, options: r }) })) } function mt() { var t; K() && (vt("touchstart", ht, { passive: !0 }), vt("touchend", yt, { passive: !0 })), (t = W.props.trigger, t.split(/\s+/).filter(Boolean)).forEach((function (t) { if ("manual" !== t) switch (vt(t, ht), t) { case "mouseenter": vt("mouseleave", yt); break; case "focus": vt(r ? "focusout" : "blur", wt); break; case "focusin": vt("focusout", wt) } })) } function gt() { U.forEach((function (t) { var e = t.node, n = t.eventType, r = t.handler, i = t.options; e.removeEventListener(n, r, i) })), U = [] } function ht(t) { var e, n = !1; if (W.state.isEnabled && !xt(t) && !P) { var r = "focus" === (null == (e = b) ? void 0 : e.type); b = t, A = t.currentTarget, at(), !W.state.isVisible && g(t) && H.forEach((function (e) { return e(t) })), "click" === t.type && (W.props.trigger.indexOf("mouseenter") < 0 || M) && !1 !== W.props.hideOnClick && W.state.isVisible ? n = !0 : Tt(t), "click" === t.type && (M = !n), n && !r && At(t) } } function bt(t) { var e = t.target, n = Z().contains(e) || Y.contains(e); "mousemove" === t.type && n || function (t, e) { var n = e.clientX, r = e.clientY; return t.every((function (t) { var e = t.popperRect, i = t.popperState, o = t.props.interactiveBorder, a = l(i.placement), s = i.modifiersData.offset; if (!s) return !0; var p = "bottom" === a ? s.top.y : 0, u = "top" === a ? s.bottom.y : 0, c = "right" === a ? s.left.x : 0, f = "left" === a ? s.right.x : 0, d = e.top - r + p > o, v = r - e.bottom - u > o, m = e.left - n + c > o, g = n - e.right - f > o; return d || v || m || g })) }(Ct().concat(Y).map((function (t) { var e, n = null == (e = t._tippy.popperInstance) ? void 0 : e.state; return n ? { popperRect: t.getBoundingClientRect(), popperState: n, props: k } : null })).filter(Boolean), t) && (st(), At(t)) } function yt(t) { xt(t) || W.props.trigger.indexOf("click") >= 0 && M || (W.props.interactive ? W.hideWithInteractivity(t) : At(t)) } function wt(t) { W.props.trigger.indexOf("focusin") < 0 && t.target !== Z() || W.props.interactive && t.relatedTarget && Y.contains(t.relatedTarget) || At(t) } function xt(t) { return !!O.isTouch && K() !== t.type.indexOf("touch") >= 0 } function Et() { Ot(); var n = W.props, r = n.popperOptions, i = n.placement, o = n.offset, a = n.getReferenceClientRect, s = n.moveTransition, p = Q() ? I(Y).arrow : null, u = a ? { getBoundingClientRect: a, contextElement: a.contextElement || Z() } : e, c = [{ name: "offset", options: { offset: o } }, { name: "preventOverflow", options: { padding: { top: 2, bottom: 2, left: 5, right: 5 } } }, { name: "flip", options: { padding: 5 } }, { name: "computeStyles", options: { adaptive: !s } }, { name: "$$tippy", enabled: !0, phase: "beforeWrite", requires: ["computeStyles"], fn: function (t) { var e = t.state; if (Q()) { var n = et().box;["placement", "reference-hidden", "escaped"].forEach((function (t) { "placement" === t ? n.setAttribute("data-placement", e.placement) : e.attributes.popper["data-popper-" + t] ? n.setAttribute("data-" + t, "") : n.removeAttribute("data-" + t) })), e.attributes.popper = {} } } }]; Q() && p && c.push({ name: "arrow", options: { element: p, padding: 3 } }), c.push.apply(c, (null == r ? void 0 : r.modifiers) || []), W.popperInstance = t.createPopper(u, Y, Object.assign({}, r, { placement: i, onFirstUpdate: T, modifiers: c })) } function Ot() { W.popperInstance && (W.popperInstance.destroy(), W.popperInstance = null) } function Ct() { return d(Y.querySelectorAll("[data-tippy-root]")) } function Tt(t) { W.clearDelayTimeouts(), t && it("onTrigger", [W, t]), ft(); var e = nt(!0), n = G(), r = n[0], i = n[1]; O.isTouch && "hold" === r && i && (e = i), e ? u = setTimeout((function () { W.show() }), e) : W.show() } function At(t) { if (W.clearDelayTimeouts(), it("onUntrigger", [W, t]), W.state.isVisible) { if (!(W.props.trigger.indexOf("mouseenter") >= 0 && W.props.trigger.indexOf("click") >= 0 && ["mouseleave", "mousemove"].indexOf(t.type) >= 0 && M)) { var e = nt(!1); e ? m = setTimeout((function () { W.state.isVisible && W.hide() }), e) : h = requestAnimationFrame((function () { W.hide() })) } } else lt() } } function _(t, e) { void 0 === e && (e = {}); var n = D.plugins.concat(e.plugins || []); document.addEventListener("touchstart", T, i), window.addEventListener("blur", L); var r = Object.assign({}, e, { plugins: n }), o = b(t).reduce((function (t, e) { var n = e && U(e, r); return n && t.push(n), t }), []); return m(t) ? o[0] : o } _.defaultProps = D, _.setDefaultProps = function (t) { Object.keys(t).forEach((function (e) { D[e] = t[e] })) }, _.currentInput = O; var z = Object.assign({}, t.applyStyles, { effect: function (t) { var e = t.state, n = { popper: { position: e.options.strategy, left: "0", top: "0", margin: "0" }, arrow: { position: "absolute" }, reference: {} }; Object.assign(e.elements.popper.style, n.popper), e.styles = n, e.elements.arrow && Object.assign(e.elements.arrow.style, n.arrow) } }), F = { mouseover: "mouseenter", focusin: "focus", click: "click" }; var W = { name: "animateFill", defaultValue: !1, fn: function (t) { var e; if (!(null == (e = t.props.render) ? void 0 : e.$$tippy)) return {}; var n = I(t.popper), r = n.box, i = n.content, o = t.props.animateFill ? function () { var t = v(); return t.className = "tippy-backdrop", w([t], "hidden"), t }() : null; return { onCreate: function () { o && (r.insertBefore(o, r.firstElementChild), r.setAttribute("data-animatefill", ""), r.style.overflow = "hidden", t.setProps({ arrow: !1, animation: "shift-away" })) }, onMount: function () { if (o) { var t = r.style.transitionDuration, e = Number(t.replace("ms", "")); i.style.transitionDelay = Math.round(e / 10) + "ms", o.style.transitionDuration = t, w([o], "visible") } }, onShow: function () { o && (o.style.transitionDuration = "0ms") }, onHide: function () { o && w([o], "hidden") } } } }; var X = { clientX: 0, clientY: 0 }, Y = []; function q(t) { var e = t.clientX, n = t.clientY; X = { clientX: e, clientY: n } } var $ = { name: "followCursor", defaultValue: !1, fn: function (t) { var e = t.reference, n = x(t.props.triggerTarget || e), r = !1, i = !1, o = !0, a = t.props; function s() { return "initial" === t.props.followCursor && t.state.isVisible } function p() { n.addEventListener("mousemove", f) } function u() { n.removeEventListener("mousemove", f) } function c() { r = !0, t.setProps({ getReferenceClientRect: null }), r = !1 } function f(n) { var r = !n.target || e.contains(n.target), i = t.props.followCursor, o = n.clientX, a = n.clientY, s = e.getBoundingClientRect(), p = o - s.left, u = a - s.top; !r && t.props.interactive || t.setProps({ getReferenceClientRect: function () { var t = e.getBoundingClientRect(), n = o, r = a; "initial" === i && (n = t.left + p, r = t.top + u); var s = "horizontal" === i ? t.top : r, c = "vertical" === i ? t.right : n, f = "horizontal" === i ? t.bottom : r, l = "vertical" === i ? t.left : n; return { width: c - l, height: f - s, top: s, right: c, bottom: f, left: l } } }) } function l() { t.props.followCursor && (Y.push({ instance: t, doc: n }), function (t) { t.addEventListener("mousemove", q) }(n)) } function d() { 0 === (Y = Y.filter((function (e) { return e.instance !== t }))).filter((function (t) { return t.doc === n })).length && function (t) { t.removeEventListener("mousemove", q) }(n) } return { onCreate: l, onDestroy: d, onBeforeUpdate: function () { a = t.props }, onAfterUpdate: function (e, n) { var o = n.followCursor; r || void 0 !== o && a.followCursor !== o && (d(), o ? (l(), !t.state.isMounted || i || s() || p()) : (u(), c())) }, onMount: function () { t.props.followCursor && !i && (o && (f(X), o = !1), s() || p()) }, onTrigger: function (t, e) { g(e) && (X = { clientX: e.clientX, clientY: e.clientY }), i = "focus" === e.type }, onHidden: function () { t.props.followCursor && (c(), u(), o = !0) } } } }; var J = { name: "inlinePositioning", defaultValue: !1, fn: function (t) { var e, n = t.reference; var r = -1, i = !1, o = { name: "tippyInlinePositioning", enabled: !0, phase: "afterWrite", fn: function (i) { var o = i.state; t.props.inlinePositioning && (e !== o.placement && t.setProps({ getReferenceClientRect: function () { return function (t) { return function (t, e, n, r) { if (n.length < 2 || null === t) return e; if (2 === n.length && r >= 0 && n[0].left > n[1].right) return n[r] || e; switch (t) { case "top": case "bottom": var i = n[0], o = n[n.length - 1], a = "top" === t, s = i.top, p = o.bottom, u = a ? i.left : o.left, c = a ? i.right : o.right; return { top: s, bottom: p, left: u, right: c, width: c - u, height: p - s }; case "left": case "right": var f = Math.min.apply(Math, n.map((function (t) { return t.left }))), l = Math.max.apply(Math, n.map((function (t) { return t.right }))), d = n.filter((function (e) { return "left" === t ? e.left === f : e.right === l })), v = d[0].top, m = d[d.length - 1].bottom; return { top: v, bottom: m, left: f, right: l, width: l - f, height: m - v }; default: return e } }(l(t), n.getBoundingClientRect(), d(n.getClientRects()), r) }(o.placement) } }), e = o.placement) } }; function a() { var e; i || (e = function (t, e) { var n; return { popperOptions: Object.assign({}, t.popperOptions, { modifiers: [].concat(((null == (n = t.popperOptions) ? void 0 : n.modifiers) || []).filter((function (t) { return t.name !== e.name })), [e]) }) } }(t.props, o), i = !0, t.setProps(e), i = !1) } return { onCreate: a, onAfterUpdate: a, onTrigger: function (e, n) { if (g(n)) { var i = d(t.reference.getClientRects()), o = i.find((function (t) { return t.left - 2 <= n.clientX && t.right + 2 >= n.clientX && t.top - 2 <= n.clientY && t.bottom + 2 >= n.clientY })); r = i.indexOf(o) } }, onUntrigger: function () { r = -1 } } } }; var G = { name: "sticky", defaultValue: !1, fn: function (t) { var e = t.reference, n = t.popper; function r(e) { return !0 === t.props.sticky || t.props.sticky === e } var i = null, o = null; function a() { var s = r("reference") ? (t.popperInstance ? t.popperInstance.state.elements.reference : e).getBoundingClientRect() : null, p = r("popper") ? n.getBoundingClientRect() : null; (s && K(i, s) || p && K(o, p)) && t.popperInstance && t.popperInstance.update(), i = s, o = p, t.state.isMounted && requestAnimationFrame(a) } return { onMount: function () { t.props.sticky && a() } } } }; function K(t, e) { return !t || !e || (t.top !== e.top || t.right !== e.right || t.bottom !== e.bottom || t.left !== e.left) } return e && function (t) { var e = document.createElement("style"); e.textContent = t, e.setAttribute("data-tippy-stylesheet", ""); var n = document.head, r = document.querySelector("head>style,head>link"); r ? n.insertBefore(e, r) : n.appendChild(e) }('.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}'), _.setDefaultProps({ plugins: [W, $, J, G], render: S }), _.createSingleton = function (t, e) { var n; void 0 === e && (e = {}); var r, i = t, o = [], a = e.overrides, s = [], p = !1; function c() { o = i.map((function (t) { return t.reference })) } function f(t) { i.forEach((function (e) { t ? e.enable() : e.disable() })) } function l(t) { return i.map((function (e) { var n = e.setProps; return e.setProps = function (i) { n(i), e.reference === r && t.setProps(i) }, function () { e.setProps = n } })) } function d(t, e) { var n = o.indexOf(e); if (e !== r) { r = e; var s = (a || []).concat("content").reduce((function (t, e) { return t[e] = i[n].props[e], t }), {}); t.setProps(Object.assign({}, s, { getReferenceClientRect: "function" == typeof s.getReferenceClientRect ? s.getReferenceClientRect : function () { return e.getBoundingClientRect() } })) } } f(!1), c(); var m = { fn: function () { return { onDestroy: function () { f(!0) }, onHidden: function () { r = null }, onClickOutside: function (t) { t.props.showOnCreate && !p && (p = !0, r = null) }, onShow: function (t) { t.props.showOnCreate && !p && (p = !0, d(t, o[0])) }, onTrigger: function (t, e) { d(t, e.currentTarget) } } } }, g = _(v(), Object.assign({}, u(e, ["overrides"]), { plugins: [m].concat(e.plugins || []), triggerTarget: o, popperOptions: Object.assign({}, e.popperOptions, { modifiers: [].concat((null == (n = e.popperOptions) ? void 0 : n.modifiers) || [], [z]) }) })), h = g.show; g.show = function (t) { if (h(), !r && null == t) return d(g, o[0]); if (!r || null != t) { if ("number" == typeof t) return o[t] && d(g, o[t]); if (i.includes(t)) { var e = t.reference; return d(g, e) } return o.includes(t) ? d(g, t) : void 0 } }, g.showNext = function () { var t = o[0]; if (!r) return g.show(0); var e = o.indexOf(r); g.show(o[e + 1] || t) }, g.showPrevious = function () { var t = o[o.length - 1]; if (!r) return g.show(t); var e = o.indexOf(r), n = o[e - 1] || t; g.show(n) }; var b = g.setProps; return g.setProps = function (t) { a = t.overrides || a, b(t) }, g.setInstances = function (t) { f(!0), s.forEach((function (t) { return t() })), i = t, f(!1), c(), l(g), g.setProps({ triggerTarget: o }) }, s = l(g), g }, _.delegate = function (t, e) { var n = [], r = [], o = !1, a = e.target, s = u(e, ["target"]), p = Object.assign({}, s, { trigger: "manual", touch: !1 }), f = Object.assign({}, s, { showOnCreate: !0 }), l = _(t, p); function d(t) { if (t.target && !o) { var n = t.target.closest(a); if (n) { var i = n.getAttribute("data-tippy-trigger") || e.trigger || D.trigger; if (!n._tippy && !("touchstart" === t.type && "boolean" == typeof f.touch || "touchstart" !== t.type && i.indexOf(F[t.type]) < 0)) { var s = _(n, f); s && (r = r.concat(s)) } } } } function v(t, e, r, i) { void 0 === i && (i = !1), t.addEventListener(e, r, i), n.push({ node: t, eventType: e, handler: r, options: i }) } return c(l).forEach((function (t) { var e = t.destroy, a = t.enable, s = t.disable; t.destroy = function (t) { void 0 === t && (t = !0), t && r.forEach((function (t) { t.destroy() })), r = [], n.forEach((function (t) { var e = t.node, n = t.eventType, r = t.handler, i = t.options; e.removeEventListener(n, r, i) })), n = [], e() }, t.enable = function () { a(), r.forEach((function (t) { return t.enable() })), o = !1 }, t.disable = function () { s(), r.forEach((function (t) { return t.disable() })), o = !0 }, function (t) { var e = t.reference; v(e, "touchstart", d, i), v(e, "mouseover", d), v(e, "focusin", d), v(e, "click", d) }(t) })), l }, _.hideAll = function (t) { var e = void 0 === t ? {} : t, n = e.exclude, r = e.duration; N.forEach((function (t) { var e = !1; if (n && (e = h(n) ? t.reference === n : t.popper === n.popper), !e) { var i = t.props.duration; t.setProps({ duration: r }), t.hide(), t.state.isDestroyed || t.setProps({ duration: i }) } })) }, _.roundArrow = '', _ })); + +const _instances = []; + +export function initialize(element, elementId, options) { + element = getRequiredElement(element, elementId); + + if (!element) + return; + + const triggerTarget = options.triggerTargetId ? document.getElementById(options.triggerTargetId) : null; + + const appendTo = determineAppendTo(options.appendTo); + + const defaultOptions = { + theme: 'blazorise', + content: options.text, + placement: options.placement, + maxWidth: options.maxWidth ? options.maxWidth : options.multiline ? "15rem" : null, + duration: options.fade ? [options.fadeDuration, options.fadeDuration] : [0, 0], + arrow: options.showArrow, + allowHTML: true, + trigger: options.trigger, + triggerTarget: triggerTarget, + zIndex: options.zIndex, + interactive: options.interactive, + appendTo: appendTo + }; + + const alwaysActiveOptions = options.alwaysActive + ? { + showOnCreate: true, + hideOnClick: false, + trigger: "manual" + } : {}; + + const instance = tippy(element, Object.assign({}, defaultOptions, alwaysActiveOptions)); + + if (options.text) { + instance.enable(); + } + else { + instance.disable(); + } + + _instances[elementId] = instance; +} + +export function destroy(element, elementId) { + var instances = _instances || {}; + + const instance = instances[elementId]; + + if (instance) { + instance.hide(); + + delete instances[elementId]; + } +} + +export function updateContent(element, elementId, content) { + const instance = _instances[elementId]; + + if (instance) { + instance.setContent(content); + + if (content) { + instance.enable(); + } + else { + instance.disable(); + } + } +} + +function determineAppendTo(value) { + if (!value || value === "body") { + return () => document.body; + } + + if (value === "parent") + return "parent"; + else if (value.length > 0 && value[0] === "#") + return document.getElementById(value); + + return () => document.body; +} \ No newline at end of file diff --git a/_content/Blazorise/utilities.js b/_content/Blazorise/utilities.js new file mode 100755 index 0000000..4bf7dab --- /dev/null +++ b/_content/Blazorise/utilities.js @@ -0,0 +1,314 @@ +import "./vendors/jsencrypt.js?v=1.4.2.0"; +import "./vendors/sha512.js?v=1.4.2.0"; + +// adds a classname to the specified element +export function addClass(element, classname) { + element.classList.add(classname); +} + +// removes a classname from the specified element +export function removeClass(element, classname) { + if (element.classList.contains(classname)) { + element.classList.remove(classname); + } +} + +// toggles a classname on the given element id +export function toggleClass(element, classname) { + if (element) { + if (element.classList.contains(classname)) { + element.classList.remove(classname); + } else { + element.classList.add(classname); + } + } +} + +// adds a classname to the body element +export function addClassToBody(classname) { + addClass(document.body, classname); +} + +// removes a classname from the body element +export function removeClassFromBody(classname) { + removeClass(document.body, classname); +} + +// sets the input focuses to the given element +export function focus(element, elementId, scrollToElement) { + element = getRequiredElement(element, elementId); + + if (element) { + element.focus({ + preventScroll: !scrollToElement + }); + } +} + +// selects the given element +export function select(element, elementId, focus) { + if (focus) { + focus(element, elementId, true); + } + + element = getRequiredElement(element, elementId); + + if (element) { + element.select(); + } +} + +// show a browser picker for the supplied input element +export function showPicker(element, elementId) { + element = getRequiredElement(element, elementId); + + if (element && 'showPicker' in HTMLInputElement.prototype) { + element.showPicker(); + } +} + +export function setCaret(element, caret) { + if (hasSelectionCapabilities(element)) { + window.requestAnimationFrame(() => { + element.selectionStart = caret; + element.selectionEnd = caret; + }); + } +} + +export function getCaret(element) { + return hasSelectionCapabilities(element) + ? element.selectionStart : + -1; +} + +export function setTextValue(element, value) { + element.value = value; +} + +export function scrollAnchorIntoView(elementId) { + var element = document.getElementById(elementId); + + if (element) { + element.scrollIntoView(); + window.location.hash = elementId; + } +} + +export function scrollElementIntoView(elementId, smooth) { + var element = document.getElementById(elementId); + + if (element) { + var top; + if (element.offsetTop < element.parentElement.scrollTop || element.clientHeight > element.parentElement.clientHeight) { + top = element.offsetTop; + } else if (element.offsetTop + element.offsetHeight > element.parentElement.scrollTop + element.parentElement.clientHeight) { + top = element.offsetTop + element.offsetHeight - element.parentElement.clientHeight; + } + + var behavior = smooth ? "smooth" : "instant"; + element.parentElement.scrollTo({ top: top, behavior: behavior }); + } +} + +// sets the value to the element property +export function setProperty(element, property, value) { + if (element && property) { + element[property] = value; + } +} + +export function getElementInfo(element, elementId) { + if (!element || (element && element.id !== elementId)) { + element = document.getElementById(elementId); + } + + if (element) { + const position = element.getBoundingClientRect(); + + return { + boundingClientRect: { + x: position.x, + y: position.y, + top: position.top, + bottom: position.bottom, + left: position.left, + right: position.right, + width: position.width, + height: position.height + }, + offsetTop: element.offsetTop, + offsetLeft: element.offsetLeft, + offsetWidth: element.offsetWidth, + offsetHeight: element.offsetHeight, + scrollTop: element.scrollTop, + scrollLeft: element.scrollLeft, + scrollWidth: element.scrollWidth, + scrollHeight: element.scrollHeight, + clientTop: element.clientTop, + clientLeft: element.clientLeft, + clientWidth: element.clientWidth, + clientHeight: element.clientHeight + }; + } + + return {}; +} + +function hasSelectionCapabilities(element) { + const nodeName = element && element.nodeName && element.nodeName.toLowerCase(); + + return ( + nodeName && + ((nodeName === 'input' && + (element.type === 'text' || + element.type === 'search' || + element.type === 'tel' || + element.type === 'url' || + element.type === 'password')) || + nodeName === 'textarea' || + element.contentEditable === 'true') + ); +} + +export function getRequiredElement(element, elementId) { + if (element) + return element; + + return document.getElementById(elementId); +} + + +export function getUserAgent() { + return navigator.userAgent; +} + +export function copyToClipboard(element, elementId) { + element = getRequiredElement(element, elementId); + + if (!element) + return; + + if (navigator.clipboard) { + navigator.clipboard.writeText(element.innerText); + } +} + +function getExponentialParts(num) { + return Array.isArray(num) ? num : String(num).split(/[eE]/); +} + +function isExponential(num) { + const eParts = getExponentialParts(num); + return !Number.isNaN(Number(eParts[1])); +} + +export function fromExponential(num) { + if (!num) + return num; + + const eParts = getExponentialParts(num); + if (!isExponential(eParts)) { + return eParts[0]; + } + + const sign = eParts[0][0] === '-' ? '-' : ''; + const digits = eParts[0].replace(/^-/, ''); + const digitsParts = digits.split('.'); + const wholeDigits = digitsParts[0]; + const fractionDigits = digitsParts[1] || ''; + let e = Number(eParts[1]); + + if (e === 0) { + return `${sign + wholeDigits}.${fractionDigits}`; + } else if (e < 0) { + // move dot to the left + const countWholeAfterTransform = wholeDigits.length + e; + if (countWholeAfterTransform > 0) { + // transform whole to fraction + const wholeDigitsAfterTransform = wholeDigits.substr(0, countWholeAfterTransform); + const wholeDigitsTransformedToFraction = wholeDigits.substr(countWholeAfterTransform); + return `${sign + wholeDigitsAfterTransform}.${wholeDigitsTransformedToFraction}${fractionDigits}`; + } else { + // not enough whole digits: prepend with fractional zeros + + // first e goes to dotted zero + let zeros = '0.'; + e = countWholeAfterTransform; + while (e) { + zeros += '0'; + e += 1; + } + return sign + zeros + wholeDigits + fractionDigits; + } + } else { + // move dot to the right + const countFractionAfterTransform = fractionDigits.length - e; + if (countFractionAfterTransform > 0) { + // transform fraction to whole + // countTransformedFractionToWhole = e + const fractionDigitsAfterTransform = fractionDigits.substr(e); + const fractionDigitsTransformedToWhole = fractionDigits.substr(0, e); + return `${sign + wholeDigits + fractionDigitsTransformedToWhole}.${fractionDigitsAfterTransform}`; + } else { + // not enough fractions: append whole zeros + let zerosCount = -countFractionAfterTransform; + let zeros = ''; + while (zerosCount) { + zeros += '0'; + zerosCount -= 1; + } + return sign + wholeDigits + fractionDigits + zeros; + } + } +} + +function getTag(value) { + if (value == null) { + return value === undefined ? '[object Undefined]' : '[object Null]' + } + return toString.call(value) +} + +export function isString(value) { + const type = typeof value + return type === 'string' || (type === 'object' && value != null && !Array.isArray(value) && getTag(value) == '[object String]') +} + +export function firstNonNull(value, fallbackValue) { + if (value === null || value === undefined) + return fallbackValue; + + return value; +} + +export function verifyRsa(publicKey, content, signature) { + try { + const jsEncrypt = new JSEncrypt(); + jsEncrypt.setPublicKey(publicKey); + + const verified = jsEncrypt.verify(content, signature, sha512); + + if (verified) { + return true; + } + } catch (error) { + console.error(error); + } + + return false; +} + +export function log(message, args) { + console.log(message, args); +} + +export function createEvent(name) { + const e = document.createEvent("Event"); + e.initEvent(name, true, true); + return e; +} + +export function coalesce(value, defaultValue) { + return value === null || value === undefined ? defaultValue : value; +} \ No newline at end of file diff --git a/_content/Blazorise/validators/DateTimeMaskValidator.js b/_content/Blazorise/validators/DateTimeMaskValidator.js new file mode 100755 index 0000000..6c9fa38 --- /dev/null +++ b/_content/Blazorise/validators/DateTimeMaskValidator.js @@ -0,0 +1,16 @@ +export function DateTimeMaskValidator(element, elementId) { + this.elementId = elementId; + this.element = element; + this.regex = function () { + return /^\d{0,4}$|^\d{4}-0?$|^\d{4}-(?:0?[1-9]|1[012])(?:-(?:0?[1-9]?|[12]\d|3[01])?)?$/; + }; + this.carret = function () { + return [this.element.selectionStart, this.element.selectionEnd]; + }; + this.isValid = function (currentValue) { + var value = this.element.value, + selection = this.carret(); + + return value = value.substring(0, selection[0]) + currentValue + value.substring(selection[1]), !!this.regex().test(value); + }; +} \ No newline at end of file diff --git a/_content/Blazorise/validators/NoValidator.js b/_content/Blazorise/validators/NoValidator.js new file mode 100755 index 0000000..baeda38 --- /dev/null +++ b/_content/Blazorise/validators/NoValidator.js @@ -0,0 +1,5 @@ +export function NoValidator() { + this.isValid = function (currentValue) { + return true; + }; +} \ No newline at end of file diff --git a/_content/Blazorise/validators/NumericMaskValidator.js b/_content/Blazorise/validators/NumericMaskValidator.js new file mode 100755 index 0000000..a6a9032 --- /dev/null +++ b/_content/Blazorise/validators/NumericMaskValidator.js @@ -0,0 +1,163 @@ +export function NumericMaskValidator(dotnetAdapter, element, elementId, options) { + options = options || {}; + + this.dotnetAdapter = dotnetAdapter; + this.elementId = elementId; + this.element = element; + this.decimals = options.decimals === null || options.decimals === undefined ? 2 : options.decimals; + this.separator = options.separator || "."; + this.step = options.step || 1; + this.min = options.min; + this.max = options.max; + this.typeMin = options.typeMin; + this.typeMax = options.typeMax; + this.immediate = options.immediate || true; + this.selectAllOnFocus = options.selectAllOnFocus || false; + + this.regex = function () { + var sep = "\\" + this.separator, + dec = this.decimals, + reg = "{0," + dec + "}"; + + return dec ? new RegExp("^(-)?(((\\d+(" + sep + "\\d" + reg + ")?)|(" + sep + "\\d" + reg + ")))?$") : /^(-)?(\d*)$/; + }; + this.carret = function () { + return [this.element.selectionStart, this.element.selectionEnd]; + }; + this.isValid = function (currentValue) { + let value = this.element.value, + selection = this.carret(); + + if (value = value.substring(0, selection[0]) + currentValue + value.substring(selection[1]), !!this.regex().test(value)) { + + value = (value || "").replace(this.separator, "."); + + // Now that we know the number is valid we also need to make sure it can fit in the min-max range ot the TValue type. + let number = Number(value); + let numberOverflow = false; + + if (number > this.typeMax) { + number = Number(this.typeMax); + + numberOverflow = true; + } + else if (number < this.typeMin) { + number = Number(this.typeMin); + + numberOverflow = true; + } + + if (numberOverflow) { + value = this.fromExponential(number); + + // Update input with new value and also make sure that Blazor knows it is changed. + this.element.value = value; + + // Trigger event so that Blazor can pick it up. + let eventName = this.immediate ? 'input' : 'change'; + + if ("createEvent" in document) { + let event = document.createEvent("HTMLEvents"); + event.initEvent(eventName, false, true); + this.element.dispatchEvent(event); + } + else { + this.element.fireEvent("on" + eventName); + } + + return false; // This will make it fail the validation and do the preventDefault(). + } + + return value; + } + + return false; + }; + this.update = function (options) { + if (options.decimals && options.decimals.changed) { + this.decimals = options.decimals.value; + + this.truncate(); + } + }; + this.getExponentialParts = function (num) { + return Array.isArray(num) ? num : String(num).split(/[eE]/); + }; + this.isExponential = function (num) { + const eParts = this.getExponentialParts(num); + return !Number.isNaN(Number(eParts[1])); + }; + this.fromExponential = function (num) { + const eParts = this.getExponentialParts(num); + if (!this.isExponential(eParts)) { + return eParts[0]; + } + + const sign = eParts[0][0] === '-' ? '-' : ''; + const digits = eParts[0].replace(/^-/, ''); + const digitsParts = digits.split('.'); + const wholeDigits = digitsParts[0]; + const fractionDigits = digitsParts[1] || ''; + let e = Number(eParts[1]); + + if (e === 0) { + return `${sign + wholeDigits}.${fractionDigits}`; + } else if (e < 0) { + // move dot to the left + const countWholeAfterTransform = wholeDigits.length + e; + if (countWholeAfterTransform > 0) { + // transform whole to fraction + const wholeDigitsAfterTransform = wholeDigits.substr(0, countWholeAfterTransform); + const wholeDigitsTransformedToFraction = wholeDigits.substr(countWholeAfterTransform); + return `${sign + wholeDigitsAfterTransform}.${wholeDigitsTransformedToFraction}${fractionDigits}`; + } else { + // not enough whole digits: prepend with fractional zeros + + // first e goes to dotted zero + let zeros = '0.'; + e = countWholeAfterTransform; + while (e) { + zeros += '0'; + e += 1; + } + return sign + zeros + wholeDigits + fractionDigits; + } + } else { + // move dot to the right + const countFractionAfterTransform = fractionDigits.length - e; + if (countFractionAfterTransform > 0) { + // transform fraction to whole + // countTransformedFractionToWhole = e + const fractionDigitsAfterTransform = fractionDigits.substr(e); + const fractionDigitsTransformedToWhole = fractionDigits.substr(0, e); + return `${sign + wholeDigits + fractionDigitsTransformedToWhole}.${fractionDigitsAfterTransform}`; + } else { + // not enough fractions: append whole zeros + let zerosCount = -countFractionAfterTransform; + let zeros = ''; + while (zerosCount) { + zeros += '0'; + zerosCount -= 1; + } + return sign + wholeDigits + fractionDigits + zeros; + } + } + }; + this.truncate = function () { + let value = (this.element.value || "").replace(this.separator, "."); + + if (value) { + let number = Number(value); + + number = Math.trunc(number * Math.pow(10, this.decimals)) / Math.pow(10, this.decimals); + + let newValue = number.toString().replace(".", this.separator); + + this.element.value = newValue; + + if (this.dotnetAdapter) { + this.dotnetAdapter.invokeMethodAsync('SetValue', newValue); + } + } + }; +} \ No newline at end of file diff --git a/_content/Blazorise/validators/RegExMaskValidator.js b/_content/Blazorise/validators/RegExMaskValidator.js new file mode 100755 index 0000000..26f1bb0 --- /dev/null +++ b/_content/Blazorise/validators/RegExMaskValidator.js @@ -0,0 +1,17 @@ +export function RegExMaskValidator(element, elementId, editMask) { + this.elementId = elementId; + this.element = element; + this.editMask = editMask; + this.regex = function () { + return new RegExp(this.editMask); + }; + this.carret = function () { + return [this.element.selectionStart, this.element.selectionEnd]; + }; + this.isValid = function (currentValue) { + var value = this.element.value, + selection = this.carret(); + + return value = value.substring(0, selection[0]) + currentValue + value.substring(selection[1]), !!this.regex().test(value); + }; +} \ No newline at end of file diff --git a/_content/Blazorise/vendors/Behave.js b/_content/Blazorise/vendors/Behave.js new file mode 100755 index 0000000..b663cef --- /dev/null +++ b/_content/Blazorise/vendors/Behave.js @@ -0,0 +1 @@ +function BehaveHooks() { var e = {}; return { add: function (t, r) { var n; if ("object" == typeof t) for (n = 0; n < t.length; n++) { var a = t[n]; e[a] || (e[a] = []), e[a].push(r) } else e[t] || (e[t] = []), e[t].push(r) }, get: function (t) { if (e[t]) return e[t] } } } const _hooks = BehaveHooks(); export function Behave(e) { "function" != typeof String.prototype.repeat && (String.prototype.repeat = function (e) { if (e < 1) return ""; if (e % 2) return this.repeat(e - 1) + this; var t = this.repeat(e / 2); return t + t }), "function" != typeof Array.prototype.filter && (Array.prototype.filter = function (e) { if (null === this) throw new TypeError; var t = Object(this), r = t.length >>> 0; if ("function" != typeof e) throw new TypeError; for (var n = [], a = arguments[1], o = 0; o < r; o++)if (o in t) { var s = t[o]; e.call(a, s, o, t) && n.push(s) } return n }); var t, r, n, a = { textarea: null, replaceTab: !0, softTabs: !0, tabSize: 4, autoOpen: !0, overwrite: !0, autoStrip: !0, autoIndent: !0, fence: !1 }, o = { keyMap: [{ open: '"', close: '"', canBreak: !1 }, { open: "'", close: "'", canBreak: !1 }, { open: "(", close: ")", canBreak: !1 }, { open: "[", close: "]", canBreak: !0 }, { open: "{", close: "}", canBreak: !0 }] }, s = { _callHook: function (e, t) { var r = _hooks.get(e); if (t = "boolean" != typeof t || !1 !== t, r) if (t) { var n, o = a.textarea, i = o.value, c = s.cursor.get(); for (n = 0; n < r.length; n++)r[n].call(void 0, { editor: { element: o, text: i, levelsDeep: s.levelsDeep() }, caret: { pos: c }, lines: { current: s.cursor.getLine(i, c), total: s.editor.getLines(i) } }) } else for (n = 0; n < r.length; n++)r[n].call(void 0) }, defineNewLine: function () { var e = document.createElement("textarea"); e.value = "\n", r = 2 == e.value.length ? "\r\n" : "\n" }, defineTabSize: function (e) { void 0 === a.textarea.style.OTabSize ? void 0 === a.textarea.style.MozTabSize ? void 0 === a.textarea.style.tabSize || (a.textarea.style.tabSize = e) : a.textarea.style.MozTabSize = e : a.textarea.style.OTabSize = e }, cursor: { getLine: function (e, t) { return e.substring(0, t).split("\n").length }, get: function () { if ("number" == typeof document.createElement("textarea").selectionStart) return a.textarea.selectionStart; if (document.selection) { var e = 0, t = a.textarea.createTextRange(), r = document.selection.createRange().duplicate().getBookmark(); for (t.moveToBookmark(r); 0 !== t.moveStart("character", -1);)e++; return e } }, set: function (e, t) { if (t || (t = e), a.textarea.setSelectionRange) a.textarea.focus(), a.textarea.setSelectionRange(e, t); else if (a.textarea.createTextRange) { var r = a.textarea.createTextRange(); r.collapse(!0), r.moveEnd("character", t), r.moveStart("character", e), r.select() } }, selection: function () { var e, t, n, o, i, c = a.textarea, l = 0, u = 0; return "number" == typeof c.selectionStart && "number" == typeof c.selectionEnd ? (l = c.selectionStart, u = c.selectionEnd) : (t = document.selection.createRange()) && t.parentElement() == c && (o = (e = s.editor.get()).length, (n = c.createTextRange()).moveToBookmark(t.getBookmark()), (i = c.createTextRange()).collapse(!1), n.compareEndPoints("StartToEnd", i) > -1 ? l = u = o : (l = -n.moveStart("character", -o), l += e.slice(0, l).split(r).length - 1, n.compareEndPoints("EndToEnd", i) > -1 ? u = o : (u = -n.moveEnd("character", -o), u += e.slice(0, u).split(r).length - 1))), l != u && { start: l, end: u } } }, editor: { getLines: function (e) { return e.split("\n").length }, get: function () { return a.textarea.value.replace(/\r/g, "") }, set: function (e, t) { a.textarea.value = e, t && a.textarea.dispatchEvent(new Event("input", { bubbles: !0 })) } }, fenceRange: function () { if ("string" == typeof a.fence) { for (var e = s.editor.get(), t = s.cursor.get(), r = 0, n = e.indexOf(a.fence), o = 0; n >= 0 && (o++, !(t < n + r));)r += n + a.fence.length, n = (e = e.substring(n + a.fence.length)).indexOf(a.fence); return r < t && n + r > t && o % 2 == 0 } return !0 }, isEven: function (e, t) { return t % 2 }, levelsDeep: function () { var e, t, r = s.cursor.get(), n = s.editor.get().substring(0, r), a = 0; for (e = 0; e < n.length; e++)for (t = 0; t < o.keyMap.length; t++)o.keyMap[t].canBreak && (o.keyMap[t].open == n.charAt(e) && a++, o.keyMap[t].close == n.charAt(e) && a--); var i = 0, c = ["'", '"']; for (e = 0; e < o.keyMap.length; e++)if (o.keyMap[e].canBreak) for (t in c) i += n.split(c[t]).filter(s.isEven).join("").split(o.keyMap[e].open).length - 1; var l = a - i; return l >= 0 ? l : 0 }, deepExtend: function (e, t) { for (var r in t) t[r] && t[r].constructor && t[r].constructor === Object ? (e[r] = e[r] || {}, s.deepExtend(e[r], t[r])) : e[r] = t[r]; return e }, addEvent: function (e, t, r) { e.addEventListener ? e.addEventListener(t, r, !1) : e.attachEvent && e.attachEvent("on" + t, r) }, removeEvent: function (e, t, r) { e.addEventListener ? e.removeEventListener(t, r, !1) : e.attachEvent && e.detachEvent("on" + t, r) }, preventDefaultEvent: function (e) { e.preventDefault ? e.preventDefault() : e.returnValue = !1 } }, i = function (e) { if (s.fenceRange()) { if (9 == e.keyCode) { s.preventDefaultEvent(e); var r = !0; s._callHook("tab:before"); var n = s.cursor.selection(), a = s.cursor.get(), o = s.editor.get(); if (n) { for (var i = n.start; i--;)if ("\n" == o.charAt(i)) { n.start = i + 1; break } var c, l = o.substring(n.start, n.end), u = l.split("\n"); if (e.shiftKey) { for (c = 0; c < u.length; c++)u[c].substring(0, t.length) == t && (u[c] = u[c].substring(t.length)); l = u.join("\n"), s.editor.set(o.substring(0, n.start) + l + o.substring(n.end)), s.cursor.set(n.start, n.start + l.length) } else { for (c in u) u[c] = t + u[c]; l = u.join("\n"), s.editor.set(o.substring(0, n.start) + l + o.substring(n.end)), s.cursor.set(n.start, n.start + l.length) } } else { var f = o.substring(0, a), g = o.substring(a), v = f + t + g; e.shiftKey ? o.substring(a - t.length, a) == t && (v = o.substring(0, a - t.length) + g, s.editor.set(v), s.cursor.set(a - t.length)) : (s.editor.set(v), s.cursor.set(a + t.length), r = !1) } s._callHook("tab:after") } return r } }, c = function (e) { if (s.fenceRange() && 13 == e.keyCode) { s.preventDefaultEvent(e), s._callHook("enter:before"); var n, a, i = s.cursor.get(), c = s.editor.get(), l = c.substring(0, i), u = c.substring(i), f = l.charAt(l.length - 1), g = u.charAt(0), v = s.levelsDeep(), p = "", d = ""; if (v) { for (; v--;)p += t; for (n = (p = p).length + 1, a = 0; a < o.keyMap.length; a++)o.keyMap[a].open == f && o.keyMap[a].close == g && (d = r) } else n = 1; var h = l + r + p + d + p.substring(0, p.length - t.length) + u; s.editor.set(h), s.cursor.set(i + n), s._callHook("enter:after") } }, l = function (e) { if (s.fenceRange() && 8 == e.keyCode) { s.preventDefaultEvent(e), s._callHook("delete:before"); var t, r = s.cursor.get(), n = s.editor.get(), a = n.substring(0, r), i = n.substring(r), c = a.charAt(a.length - 1), l = i.charAt(0); if (!1 === s.cursor.selection()) { for (t = 0; t < o.keyMap.length; t++)if (o.keyMap[t].open == c && o.keyMap[t].close == l) { var u = n.substring(0, r - 1) + n.substring(r + 1); return s.editor.set(u), void s.cursor.set(r - 1) } u = n.substring(0, r - 1) + n.substring(r); s.editor.set(u, !0), s.cursor.set(r - 1) } else { var f = s.cursor.selection(); u = n.substring(0, f.start) + n.substring(f.end); s.editor.set(u, !0), s.cursor.set(r) } s._callHook("delete:after") } }, u = function (e, t) { s.preventDefaultEvent(t), s._callHook("openChar:before"); var r = s.cursor.get(), n = s.editor.get(), o = n.substring(0, r), i = n.substring(r), c = o + e.open + e.close + i; a.textarea.value = c, s.cursor.set(r + 1), s._callHook("openChar:after") }, f = function (e, t) { var r = s.cursor.get(); return s.editor.get().substring(r, r + 1) == e.close && (s.preventDefaultEvent(t), s._callHook("closeChar:before"), s.cursor.set(s.cursor.get() + 1), s._callHook("closeChar:after"), !0) }, g = { filter: function (e) { if (s.fenceRange()) { var t = e.which || e.keyCode; if (39 != t && (40 != t || 0 !== e.which)) { var r, n = String.fromCharCode(t); for (r = 0; r < o.keyMap.length; r++) { if (o.keyMap[r].close == n) !(a.overwrite && f(o.keyMap[r], e)) && o.keyMap[r].open == n && a.autoOpen && u(o.keyMap[r], e); else o.keyMap[r].open == n && a.autoOpen && u(o.keyMap[r], e) } } } }, listen: function () { a.replaceTab && s.addEvent(a.textarea, "keydown", i), a.autoIndent && s.addEvent(a.textarea, "keydown", c), a.autoStrip && s.addEvent(a.textarea, "keydown", l), s.addEvent(a.textarea, "keypress", g.filter), s.addEvent(a.textarea, "keydown", function () { s._callHook("keydown") }), s.addEvent(a.textarea, "keyup", function () { s._callHook("keyup") }), s.addEvent(a.textarea, "blur", function () { a.textarea.dispatchEvent(new Event("change", { bubbles: !0 })) }) } }; this.destroy = function () { s.removeEvent(a.textarea, "keydown", i), s.removeEvent(a.textarea, "keydown", c), s.removeEvent(a.textarea, "keydown", l), s.removeEvent(a.textarea, "keypress", g.filter) }, (n = e).textarea && (s._callHook("init:before", !1), s.deepExtend(a, n), s.defineNewLine(), a.softTabs ? t = " ".repeat(a.tabSize) : (t = "\t", s.defineTabSize(a.tabSize)), g.listen(), s._callHook("init:after", !1)) } \ No newline at end of file diff --git a/_content/Blazorise/vendors/Pickr.js b/_content/Blazorise/vendors/Pickr.js new file mode 100755 index 0000000..4b15300 --- /dev/null +++ b/_content/Blazorise/vendors/Pickr.js @@ -0,0 +1,18 @@ +!function (t, e) { "object" == typeof exports && "object" == typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define([], e) : "object" == typeof exports ? exports.Pickr = e() : t.Pickr = e() }(self, (function () { return (() => { "use strict"; var t = { d: (e, o) => { for (var n in o) t.o(o, n) && !t.o(e, n) && Object.defineProperty(e, n, { enumerable: !0, get: o[n] }) }, o: (t, e) => Object.prototype.hasOwnProperty.call(t, e), r: t => { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(t, "__esModule", { value: !0 }) } }, e = {}; t.d(e, { default: () => L }); var o = {}; function n(t, e, o, n, i = {}) { e instanceof HTMLCollection || e instanceof NodeList ? e = Array.from(e) : Array.isArray(e) || (e = [e]), Array.isArray(o) || (o = [o]); for (const s of e) for (const e of o) s[t](e, n, { capture: !1, ...i }); return Array.prototype.slice.call(arguments, 1) } t.r(o), t.d(o, { adjustableInputNumbers: () => p, createElementFromString: () => r, createFromTemplate: () => a, eventPath: () => l, off: () => s, on: () => i, resolveElement: () => c }); const i = n.bind(null, "addEventListener"), s = n.bind(null, "removeEventListener"); function r(t) { const e = document.createElement("div"); return e.innerHTML = t.trim(), e.firstElementChild } function a(t) { const e = (t, e) => { const o = t.getAttribute(e); return t.removeAttribute(e), o }, o = (t, n = {}) => { const i = e(t, ":obj"), s = e(t, ":ref"), r = i ? n[i] = {} : n; s && (n[s] = t); for (const n of Array.from(t.children)) { const t = e(n, ":arr"), i = o(n, t ? {} : r); t && (r[t] || (r[t] = [])).push(Object.keys(i).length ? i : n) } return n }; return o(r(t)) } function l(t) { let e = t.path || t.composedPath && t.composedPath(); if (e) return e; let o = t.target.parentElement; for (e = [t.target, o]; o = o.parentElement;)e.push(o); return e.push(document, window), e } function c(t) { return t instanceof Element ? t : "string" == typeof t ? t.split(/>>/g).reduce(((t, e, o, n) => (t = t.querySelector(e), o < n.length - 1 ? t.shadowRoot : t)), document) : null } function p(t, e = (t => t)) { function o(o) { const n = [.001, .01, .1][Number(o.shiftKey || 2 * o.ctrlKey)] * (o.deltaY < 0 ? 1 : -1); let i = 0, s = t.selectionStart; t.value = t.value.replace(/[\d.]+/g, ((t, o) => o <= s && o + t.length >= s ? (s = o, e(Number(t), n, i)) : (i++, t))), t.focus(), t.setSelectionRange(s, s), o.preventDefault(), t.dispatchEvent(new Event("input")) } i(t, "focus", (() => i(window, "wheel", o, { passive: !1 }))), i(t, "blur", (() => s(window, "wheel", o))) } const { min: u, max: h, floor: d, round: m } = Math; function f(t, e, o) { e /= 100, o /= 100; const n = d(t = t / 360 * 6), i = t - n, s = o * (1 - e), r = o * (1 - i * e), a = o * (1 - (1 - i) * e), l = n % 6; return [255 * [o, r, s, s, a, o][l], 255 * [a, o, o, r, s, s][l], 255 * [s, s, a, o, o, r][l]] } function v(t, e, o) { const n = (2 - (e /= 100)) * (o /= 100) / 2; return 0 !== n && (e = 1 === n ? 0 : n < .5 ? e * o / (2 * n) : e * o / (2 - 2 * n)), [t, 100 * e, 100 * n] } function b(t, e, o) { const n = u(t /= 255, e /= 255, o /= 255), i = h(t, e, o), s = i - n; let r, a; if (0 === s) r = a = 0; else { a = s / i; const n = ((i - t) / 6 + s / 2) / s, l = ((i - e) / 6 + s / 2) / s, c = ((i - o) / 6 + s / 2) / s; t === i ? r = c - l : e === i ? r = 1 / 3 + n - c : o === i && (r = 2 / 3 + l - n), r < 0 ? r += 1 : r > 1 && (r -= 1) } return [360 * r, 100 * a, 100 * i] } function y(t, e, o, n) { e /= 100, o /= 100; return [...b(255 * (1 - u(1, (t /= 100) * (1 - (n /= 100)) + n)), 255 * (1 - u(1, e * (1 - n) + n)), 255 * (1 - u(1, o * (1 - n) + n)))] } function g(t, e, o) { e /= 100; const n = 2 * (e *= (o /= 100) < .5 ? o : 1 - o) / (o + e) * 100, i = 100 * (o + e); return [t, isNaN(n) ? 0 : n, i] } function _(t) { return b(...t.match(/.{2}/g).map((t => parseInt(t, 16)))) } function w(t) { t = t.match(/^[a-zA-Z]+$/) ? function (t) { if ("black" === t.toLowerCase()) return "#000"; const e = document.createElement("canvas").getContext("2d"); return e.fillStyle = t, "#000" === e.fillStyle ? null : e.fillStyle }(t) : t; const e = { cmyk: /^cmyk[\D]+([\d.]+)[\D]+([\d.]+)[\D]+([\d.]+)[\D]+([\d.]+)/i, rgba: /^((rgba)|rgb)[\D]+([\d.]+)[\D]+([\d.]+)[\D]+([\d.]+)[\D]*?([\d.]+|$)/i, hsla: /^((hsla)|hsl)[\D]+([\d.]+)[\D]+([\d.]+)[\D]+([\d.]+)[\D]*?([\d.]+|$)/i, hsva: /^((hsva)|hsv)[\D]+([\d.]+)[\D]+([\d.]+)[\D]+([\d.]+)[\D]*?([\d.]+|$)/i, hexa: /^#?(([\dA-Fa-f]{3,4})|([\dA-Fa-f]{6})|([\dA-Fa-f]{8}))$/i }, o = t => t.map((t => /^(|\d+)\.\d+|\d+$/.test(t) ? Number(t) : void 0)); let n; t: for (const i in e) { if (!(n = e[i].exec(t))) continue; const s = t => !!n[2] == ("number" == typeof t); switch (i) { case "cmyk": { const [, t, e, s, r] = o(n); if (t > 100 || e > 100 || s > 100 || r > 100) break t; return { values: y(t, e, s, r), type: i } } case "rgba": { const [, , , t, e, r, a] = o(n); if (t > 255 || e > 255 || r > 255 || a < 0 || a > 1 || !s(a)) break t; return { values: [...b(t, e, r), a], a, type: i } } case "hexa": { let [, t] = n; 4 !== t.length && 3 !== t.length || (t = t.split("").map((t => t + t)).join("")); const e = t.substring(0, 6); let o = t.substring(6); return o = o ? parseInt(o, 16) / 255 : void 0, { values: [..._(e), o], a: o, type: i } } case "hsla": { const [, , , t, e, r, a] = o(n); if (t > 360 || e > 100 || r > 100 || a < 0 || a > 1 || !s(a)) break t; return { values: [...g(t, e, r), a], a, type: i } } case "hsva": { const [, , , t, e, r, a] = o(n); if (t > 360 || e > 100 || r > 100 || a < 0 || a > 1 || !s(a)) break t; return { values: [t, e, r, a], a, type: i } } } } return { values: null, type: null } } function A(t = 0, e = 0, o = 0, n = 1) { const i = (t, e) => (o = -1) => e(~o ? t.map((t => Number(t.toFixed(o)))) : t), s = { h: t, s: e, v: o, a: n, toHSVA() { const t = [s.h, s.s, s.v, s.a]; return t.toString = i(t, (t => `hsva(${t[0]}, ${t[1]}%, ${t[2]}%, ${s.a})`)), t }, toHSLA() { const t = [...v(s.h, s.s, s.v), s.a]; return t.toString = i(t, (t => `hsla(${t[0]}, ${t[1]}%, ${t[2]}%, ${s.a})`)), t }, toRGBA() { const t = [...f(s.h, s.s, s.v), s.a]; return t.toString = i(t, (t => `rgba(${t[0]}, ${t[1]}, ${t[2]}, ${s.a})`)), t }, toCMYK() { const t = function (t, e, o) { const n = f(t, e, o), i = n[0] / 255, s = n[1] / 255, r = n[2] / 255, a = u(1 - i, 1 - s, 1 - r); return [100 * (1 === a ? 0 : (1 - i - a) / (1 - a)), 100 * (1 === a ? 0 : (1 - s - a) / (1 - a)), 100 * (1 === a ? 0 : (1 - r - a) / (1 - a)), 100 * a] }(s.h, s.s, s.v); return t.toString = i(t, (t => `cmyk(${t[0]}%, ${t[1]}%, ${t[2]}%, ${t[3]}%)`)), t }, toHEXA() { const t = function (t, e, o) { return f(t, e, o).map((t => m(t).toString(16).padStart(2, "0"))) }(s.h, s.s, s.v), e = s.a >= 1 ? "" : Number((255 * s.a).toFixed(0)).toString(16).toUpperCase().padStart(2, "0"); return e && t.push(e), t.toString = () => `#${t.join("").toUpperCase()}`, t }, clone: () => A(s.h, s.s, s.v, s.a) }; return s } const C = t => Math.max(Math.min(t, 1), 0); function $(t) { const e = { options: Object.assign({ lock: null, onchange: () => 0, onstop: () => 0 }, t), _keyboard(t) { const { options: o } = e, { type: n, key: i } = t; if (document.activeElement === o.wrapper) { const { lock: o } = e.options, s = "ArrowUp" === i, r = "ArrowRight" === i, a = "ArrowDown" === i, l = "ArrowLeft" === i; if ("keydown" === n && (s || r || a || l)) { let n = 0, i = 0; "v" === o ? n = s || r ? 1 : -1 : "h" === o ? n = s || r ? -1 : 1 : (i = s ? -1 : a ? 1 : 0, n = l ? -1 : r ? 1 : 0), e.update(C(e.cache.x + .01 * n), C(e.cache.y + .01 * i)), t.preventDefault() } else i.startsWith("Arrow") && (e.options.onstop(), t.preventDefault()) } }, _tapstart(t) { i(document, ["mouseup", "touchend", "touchcancel"], e._tapstop), i(document, ["mousemove", "touchmove"], e._tapmove), t.cancelable && t.preventDefault(), e._tapmove(t) }, _tapmove(t) { const { options: o, cache: n } = e, { lock: i, element: s, wrapper: r } = o, a = r.getBoundingClientRect(); let l = 0, c = 0; if (t) { const e = t && t.touches && t.touches[0]; l = t ? (e || t).clientX : 0, c = t ? (e || t).clientY : 0, l < a.left ? l = a.left : l > a.left + a.width && (l = a.left + a.width), c < a.top ? c = a.top : c > a.top + a.height && (c = a.top + a.height), l -= a.left, c -= a.top } else n && (l = n.x * a.width, c = n.y * a.height); "h" !== i && (s.style.left = `calc(${l / a.width * 100}% - ${s.offsetWidth / 2}px)`), "v" !== i && (s.style.top = `calc(${c / a.height * 100}% - ${s.offsetHeight / 2}px)`), e.cache = { x: l / a.width, y: c / a.height }; const p = C(l / a.width), u = C(c / a.height); switch (i) { case "v": return o.onchange(p); case "h": return o.onchange(u); default: return o.onchange(p, u) } }, _tapstop() { e.options.onstop(), s(document, ["mouseup", "touchend", "touchcancel"], e._tapstop), s(document, ["mousemove", "touchmove"], e._tapmove) }, trigger() { e._tapmove() }, update(t = 0, o = 0) { const { left: n, top: i, width: s, height: r } = e.options.wrapper.getBoundingClientRect(); "h" === e.options.lock && (o = t), e._tapmove({ clientX: n + s * t, clientY: i + r * o }) }, destroy() { const { options: t, _tapstart: o, _keyboard: n } = e; s(document, ["keydown", "keyup"], n), s([t.wrapper, t.element], "mousedown", o), s([t.wrapper, t.element], "touchstart", o, { passive: !1 }) } }, { options: o, _tapstart: n, _keyboard: r } = e; return i([o.wrapper, o.element], "mousedown", n), i([o.wrapper, o.element], "touchstart", n, { passive: !1 }), i(document, ["keydown", "keyup"], r), e } function k(t = {}) { t = Object.assign({ onchange: () => 0, className: "", elements: [] }, t); const e = i(t.elements, "click", (e => { t.elements.forEach((o => o.classList[e.target === o ? "add" : "remove"](t.className))), t.onchange(e), e.stopPropagation() })); return { destroy: () => s(...e) } } const S = { variantFlipOrder: { start: "sme", middle: "mse", end: "ems" }, positionFlipOrder: { top: "tbrl", right: "rltb", bottom: "btrl", left: "lrbt" }, position: "bottom", margin: 8 }, O = (t, e, o) => { const { container: n, margin: i, position: s, variantFlipOrder: r, positionFlipOrder: a } = { container: document.documentElement.getBoundingClientRect(), ...S, ...o }, { left: l, top: c } = e.style; e.style.left = "0", e.style.top = "0"; const p = t.getBoundingClientRect(), u = e.getBoundingClientRect(), h = { t: p.top - u.height - i, b: p.bottom + i, r: p.right + i, l: p.left - u.width - i }, d = { vs: p.left, vm: p.left + p.width / 2 + -u.width / 2, ve: p.left + p.width - u.width, hs: p.top, hm: p.bottom - p.height / 2 - u.height / 2, he: p.bottom - u.height }, [m, f = "middle"] = s.split("-"), v = a[m], b = r[f], { top: y, left: g, bottom: _, right: w } = n; for (const t of v) { const o = "t" === t || "b" === t, n = h[t], [i, s] = o ? ["top", "left"] : ["left", "top"], [r, a] = o ? [u.height, u.width] : [u.width, u.height], [l, c] = o ? [_, w] : [w, _], [p, m] = o ? [y, g] : [g, y]; if (!(n < p || n + r > l)) for (const r of b) { const l = d[(o ? "v" : "h") + r]; if (!(l < m || l + a > c)) return e.style[s] = l - u[s] + "px", e.style[i] = n - u[i] + "px", t + r } } return e.style.left = l, e.style.top = c, null }; function E(t, e, o) { return e in t ? Object.defineProperty(t, e, { value: o, enumerable: !0, configurable: !0, writable: !0 }) : t[e] = o, t } class L { constructor(t) { E(this, "_initializingActive", !0), E(this, "_recalc", !0), E(this, "_nanopop", null), E(this, "_root", null), E(this, "_color", A()), E(this, "_lastColor", A()), E(this, "_swatchColors", []), E(this, "_setupAnimationFrame", null), E(this, "_eventListener", { init: [], save: [], hide: [], show: [], clear: [], change: [], changestop: [], cancel: [], swatchselect: [] }), this.options = t = Object.assign({ ...L.DEFAULT_OPTIONS }, t); const { swatches: e, components: o, theme: n, sliders: i, lockOpacity: s, padding: r } = t;["nano", "monolith"].includes(n) && !i && (t.sliders = "h"), o.interaction || (o.interaction = {}); const { preview: a, opacity: l, hue: c, palette: p } = o; o.opacity = !s && l, o.palette = p || a || l || c, this._preBuild(), this._buildComponents(), this._bindEvents(), this._finalBuild(), e && e.length && e.forEach((t => this.addSwatch(t))); const { button: u, app: h } = this._root; this._nanopop = ((t, e, o) => { const n = "object" != typeof t || t instanceof HTMLElement ? { reference: t, popper: e, ...o } : t; return { update(t = n) { const { reference: e, popper: o } = Object.assign(n, t); if (!o || !e) throw new Error("Popper- or reference-element missing."); return O(e, o, n) } } })(u, h, { margin: r }), u.setAttribute("role", "button"), u.setAttribute("aria-label", this._t("btn:toggle")); const d = this; this._setupAnimationFrame = requestAnimationFrame((function e() { if (!h.offsetWidth) return requestAnimationFrame(e); d.setColor(t.default), d._rePositioningPicker(), t.defaultRepresentation && (d._representation = t.defaultRepresentation, d.setColorRepresentation(d._representation)), t.showAlways && d.show(), d._initializingActive = !1, d._emit("init") })) } _preBuild() { const { options: t } = this; for (const e of ["el", "container"]) t[e] = c(t[e]); this._root = (t => { const { components: e, useAsButton: o, inline: n, appClass: i, theme: s, lockOpacity: r } = t.options, l = t => t ? "" : 'style="display:none" hidden', c = e => t._t(e), p = a(`\n
\n\n ${o ? "" : ''}\n\n
\n
\n
\n \n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n
\n\n
\n
\n
\n
\n
\n\n
\n\n
\n \n\n \n \n \n \n \n\n \n \n \n
\n
\n
\n `), u = p.interaction; return u.options.find((t => !t.hidden && !t.classList.add("active"))), u.type = () => u.options.find((t => t.classList.contains("active"))), p })(this), t.useAsButton && (this._root.button = t.el), t.container.appendChild(this._root.root) } _finalBuild() { const t = this.options, e = this._root; if (t.container.removeChild(e.root), t.inline) { const o = t.el.parentElement; t.el.nextSibling ? o.insertBefore(e.app, t.el.nextSibling) : o.appendChild(e.app) } else t.container.appendChild(e.app); t.useAsButton ? t.inline && t.el.remove() : t.el.parentNode.replaceChild(e.root, t.el), t.disabled && this.disable(), t.comparison || (e.button.style.transition = "none", t.useAsButton || (e.preview.lastColor.style.transition = "none")), this.hide() } _buildComponents() { const t = this, e = this.options.components, o = (t.options.sliders || "v").repeat(2), [n, i] = o.match(/^[vh]+$/g) ? o : [], s = () => this._color || (this._color = this._lastColor.clone()), r = { palette: $({ element: t._root.palette.picker, wrapper: t._root.palette.palette, onstop: () => t._emit("changestop", "slider", t), onchange(o, n) { if (!e.palette) return; const i = s(), { _root: r, options: a } = t, { lastColor: l, currentColor: c } = r.preview; t._recalc && (i.s = 100 * o, i.v = 100 - 100 * n, i.v < 0 && (i.v = 0), t._updateOutput("slider")); const p = i.toRGBA().toString(0); this.element.style.background = p, this.wrapper.style.background = `\n linear-gradient(to top, rgba(0, 0, 0, ${i.a}), transparent),\n linear-gradient(to left, hsla(${i.h}, 100%, 50%, ${i.a}), rgba(255, 255, 255, ${i.a}))\n `, a.comparison ? a.useAsButton || t._lastColor || l.style.setProperty("--pcr-color", p) : (r.button.style.setProperty("--pcr-color", p), r.button.classList.remove("clear")); const u = i.toHEXA().toString(); for (const { el: e, color: o } of t._swatchColors) e.classList[u === o.toHEXA().toString() ? "add" : "remove"]("pcr-active"); c.style.setProperty("--pcr-color", p) } }), hue: $({ lock: "v" === i ? "h" : "v", element: t._root.hue.picker, wrapper: t._root.hue.slider, onstop: () => t._emit("changestop", "slider", t), onchange(o) { if (!e.hue || !e.palette) return; const n = s(); t._recalc && (n.h = 360 * o), this.element.style.backgroundColor = `hsl(${n.h}, 100%, 50%)`, r.palette.trigger() } }), opacity: $({ lock: "v" === n ? "h" : "v", element: t._root.opacity.picker, wrapper: t._root.opacity.slider, onstop: () => t._emit("changestop", "slider", t), onchange(o) { if (!e.opacity || !e.palette) return; const n = s(); t._recalc && (n.a = Math.round(100 * o) / 100), this.element.style.background = `rgba(0, 0, 0, ${n.a})`, r.palette.trigger() } }), selectable: k({ elements: t._root.interaction.options, className: "active", onchange(e) { t._representation = e.target.getAttribute("data-type").toUpperCase(), t._recalc && t._updateOutput("swatch") } }) }; this._components = r } _bindEvents() { const { _root: t, options: e } = this, o = [i(t.interaction.clear, "click", (() => this._clearColor())), i([t.interaction.cancel, t.preview.lastColor], "click", (() => { this.setHSVA(...(this._lastColor || this._color).toHSVA(), !0), this._emit("cancel") })), i(t.interaction.save, "click", (() => { !this.applyColor() && !e.showAlways && this.hide() })), i(t.interaction.result, ["keyup", "input"], (t => { this.setColor(t.target.value, !0) && !this._initializingActive && (this._emit("change", this._color, "input", this), this._emit("changestop", "input", this)), t.stopImmediatePropagation() })), i(t.interaction.result, ["focus", "blur"], (t => { this._recalc = "blur" === t.type, this._recalc && this._updateOutput(null) })), i([t.palette.palette, t.palette.picker, t.hue.slider, t.hue.picker, t.opacity.slider, t.opacity.picker], ["mousedown", "touchstart"], (() => this._recalc = !0), { passive: !0 })]; if (!e.showAlways) { const n = e.closeWithKey; o.push(i(t.button, "click", (() => this.isOpen() ? this.hide() : this.show())), i(document, "keyup", (t => this.isOpen() && (t.key === n || t.code === n) && this.hide())), i(document, ["touchstart", "mousedown"], (e => { this.isOpen() && !l(e).some((e => e === t.app || e === t.button)) && this.hide() }), { capture: !0 })) } if (e.adjustableNumbers) { const e = { rgba: [255, 255, 255, 1], hsva: [360, 100, 100, 1], hsla: [360, 100, 100, 1], cmyk: [100, 100, 100, 100] }; p(t.interaction.result, ((t, o, n) => { const i = e[this.getColorRepresentation().toLowerCase()]; if (i) { const e = i[n], s = t + (e >= 100 ? 1e3 * o : o); return s <= 0 ? 0 : Number((s < e ? s : e).toPrecision(3)) } return t })) } if (e.autoReposition && !e.inline) { let t = null; const n = this; o.push(i(window, ["scroll", "resize"], (() => { n.isOpen() && (e.closeOnScroll && n.hide(), null === t ? (t = setTimeout((() => t = null), 100), requestAnimationFrame((function e() { n._rePositioningPicker(), null !== t && requestAnimationFrame(e) }))) : (clearTimeout(t), t = setTimeout((() => t = null), 100))) }), { capture: !0 })) } this._eventBindings = o } _rePositioningPicker() { const { options: t } = this; if (!t.inline) { if (!this._nanopop.update({ container: document.body.getBoundingClientRect(), position: t.position })) { const t = this._root.app, e = t.getBoundingClientRect(); t.style.top = (window.innerHeight - e.height) / 2 + "px", t.style.left = (window.innerWidth - e.width) / 2 + "px" } } } _updateOutput(t) { const { _root: e, _color: o, options: n } = this; if (e.interaction.type()) { const t = `to${e.interaction.type().getAttribute("data-type")}`; e.interaction.result.value = "function" == typeof o[t] ? o[t]().toString(n.outputPrecision) : "" } !this._initializingActive && this._recalc && this._emit("change", o, t, this) } _clearColor(t = !1) { const { _root: e, options: o } = this; o.useAsButton || e.button.style.setProperty("--pcr-color", "rgba(0, 0, 0, 0.15)"), e.button.classList.add("clear"), o.showAlways || this.hide(), this._lastColor = null, this._initializingActive || t || (this._emit("save", null), this._emit("clear")) } _parseLocalColor(t) { const { values: e, type: o, a: n } = w(t), { lockOpacity: i } = this.options, s = void 0 !== n && 1 !== n; return e && 3 === e.length && (e[3] = void 0), { values: !e || i && s ? null : e, type: o } } _t(t) { return this.options.i18n[t] || L.I18N_DEFAULTS[t] } _emit(t, ...e) { this._eventListener[t].forEach((t => t(...e, this))) } on(t, e) { return this._eventListener[t].push(e), this } off(t, e) { const o = this._eventListener[t] || [], n = o.indexOf(e); return ~n && o.splice(n, 1), this } addSwatch(t) { const { values: e } = this._parseLocalColor(t); if (e) { const { _swatchColors: t, _root: o } = this, n = A(...e), s = r(`