From c125347ee60d0bc6577d6207f828ff887e48b888 Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Mon, 24 Apr 2023 13:00:38 -0400 Subject: [PATCH 01/76] Use MutationSummary to watch for new sidebars --- R/sidebar.R | 27 +++++---------------------- package.json | 3 +++ srcts/src/components/sidebar.ts | 33 +++++++++++++++++++++++++++++++-- yarn.lock | 5 +++++ 4 files changed, 44 insertions(+), 24 deletions(-) diff --git a/R/sidebar.R b/R/sidebar.R index df7779b27..a60467af6 100644 --- a/R/sidebar.R +++ b/R/sidebar.R @@ -201,20 +201,15 @@ layout_sidebar <- function( max_height_mobile <- sidebar$max_height_mobile %||% if (is.null(height)) "250px" else "50%" - if (identical(sidebar$open, "always")) { - # sidebar initialization is only needed if collapsible - sidebar_id <- NULL - sidebar_init_js <- NULL - } else { - sidebar_id <- tagGetAttribute(sidebar$tag, "id") - sidebar_init_js <- sidebar_js_init(sidebar_id) - } + sidebar_init <- if (!identical(sidebar$open, "always")) TRUE + sidebar_border <- if (!is.null(border)) tolower(border) + sidebar_border_radius <- if (!is.null(border_radius)) tolower(border_radius) res <- div( class = "bslib-sidebar-layout", class = if (right) "sidebar-right", class = if (identical(sidebar$open, "closed")) "sidebar-collapsed", - `data-bslib-sidebar-init` = sidebar_id, + `data-bslib-sidebar-init` = sidebar_init, `data-bslib-sidebar-open` = sidebar$open, `data-bslib-sidebar-border` = if (!is.null(border)) tolower(border), `data-bslib-sidebar-border-radius` = if (!is.null(border_radius)) tolower(border_radius), @@ -225,8 +220,7 @@ layout_sidebar <- function( "--bslib-sidebar-max-height-mobile" = max_height_mobile ), !!!contents, - sidebar_dependency(), - sidebar_init_js + sidebar_dependency() ) res <- bindFillRole(res, item = fill) @@ -238,17 +232,6 @@ layout_sidebar <- function( ) } -sidebar_js_init <- function(id) { - # Requires Shiny >= 1.7.2 and works thanks to rstudio/shiny#3630 (2022-05-09) - tags$script( - "document.currentScript.parentElement.removeChild(document.currentScript);\n", - sprintf( - "window.bslib.Sidebar.initCollapsible(document.querySelector('[data-bslib-sidebar-init=\"%s\"]'));", - id - ) - ) -} - #' @describeIn sidebar Toggle a `sidebar()` state during an active Shiny user #' session. #' @param session A Shiny session object (the default should almost always be diff --git a/package.json b/package.json index 042b6e01e..87f5dcd1f 100644 --- a/package.json +++ b/package.json @@ -26,5 +26,8 @@ "checks": "yarn run check_types && yarn run check_lint", "check_lint": "node --eval \"console.log('linting code...')\" && eslint --fix --ext .ts srcts/src", "check_types": "tsc --noEmit -p tsconfig.json" + }, + "dependencies": { + "mutation-summary": "^1.0.0" } } diff --git a/srcts/src/components/sidebar.ts b/srcts/src/components/sidebar.ts index f32abf046..3c99fa2fd 100644 --- a/srcts/src/components/sidebar.ts +++ b/srcts/src/components/sidebar.ts @@ -3,6 +3,7 @@ import { registerBinding, doWindowResizeOnElementResize, } from "./_utils"; +import { MutationSummary } from "mutation-summary"; type SidebarMethod = "close" | "open" | "toggle"; @@ -91,7 +92,7 @@ class Sidebar { private static _initDesktop(container: HTMLElement): void { // If sidebar is marked open='desktop'... - if (container.dataset.bslibSidebarOpen !== "desktop") { + if (container.dataset.bslibSidebarOpen?.trim() !== "desktop") { return; } @@ -100,7 +101,7 @@ class Sidebar { .getComputedStyle(container) .getPropertyValue("--bslib-sidebar-js-init-collapsed"); - if (initCollapsed === "true") { + if (initCollapsed.trim() === "true") { Sidebar.toggle(container, "close"); } } @@ -224,6 +225,34 @@ $(document).on( } ); +document.addEventListener("DOMContentLoaded", () => { + const containers = document.getElementsByClassName( + Sidebar.classes.LAYOUT + ) as HTMLCollectionOf; + + Array.from(containers).forEach((container) => { + if (container.matches("[data-bslib-sidebar-init]")) { + Sidebar.initCollapsible(container); + } + }); +}); + +new MutationSummary({ + callback: (summaries) => { + const sbSummary = summaries[0]; + if (sbSummary.added.length > 0) { + sbSummary.added.forEach((container) => + Sidebar.initCollapsible(container as HTMLElement) + ); + } + }, + queries: [ + { + element: ".bslib-sidebar-layout[data-bslib-sidebar-init]", + }, + ], +}); + // attach Sidebar class to window for global usage (window as any).bslib = (window as any).bslib || {}; (window as any).bslib.Sidebar = Sidebar; diff --git a/yarn.lock b/yarn.lock index 6f14c9ca3..fd0834a54 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1138,6 +1138,11 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +mutation-summary@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/mutation-summary/-/mutation-summary-1.0.0.tgz#488078e8f39becc29450438b24644a3bf81ef7bc" + integrity sha512-6+uYx4BJ9OtHsfQ3NRrcV8xXNZHf2yMU1CYJuM4rTpDA8xt+6SXUbSX4I4zo+5UOXTW4sLMyPG/C0VS35rHK/w== + natural-compare-lite@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" From 61ff86d4ff26253b40b1ef7729d919c6bb8580da Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Mon, 24 Apr 2023 13:14:07 -0400 Subject: [PATCH 02/76] Small code refactor --- R/sidebar.R | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/R/sidebar.R b/R/sidebar.R index a60467af6..aad8e9d9b 100644 --- a/R/sidebar.R +++ b/R/sidebar.R @@ -211,8 +211,8 @@ layout_sidebar <- function( class = if (identical(sidebar$open, "closed")) "sidebar-collapsed", `data-bslib-sidebar-init` = sidebar_init, `data-bslib-sidebar-open` = sidebar$open, - `data-bslib-sidebar-border` = if (!is.null(border)) tolower(border), - `data-bslib-sidebar-border-radius` = if (!is.null(border_radius)) tolower(border_radius), + `data-bslib-sidebar-border` = sidebar_border, + `data-bslib-sidebar-border-radius` = sidebar_border_radius, style = css( "--bslib-sidebar-width" = sidebar$width, "--bs-card-border-color" = border_color, From f013b3cdaaf15309053977ef2f4cce741423209b Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Mon, 24 Apr 2023 15:58:53 -0400 Subject: [PATCH 03/76] Use direct event listeners instead of event delegation Apply click and transition end event listeners directly to the elements that need them instead of applying them to the document and relying on event delegation. We also now use vanilla JS to add and remove event listeners instead of jQuery, and we remove the event listeners if the layouts are removed the page. --- srcts/src/components/sidebar.ts | 91 +++++++++++++++++++++++---------- 1 file changed, 64 insertions(+), 27 deletions(-) diff --git a/srcts/src/components/sidebar.ts b/srcts/src/components/sidebar.ts index 3c99fa2fd..15753ab08 100644 --- a/srcts/src/components/sidebar.ts +++ b/srcts/src/components/sidebar.ts @@ -15,7 +15,9 @@ type SidebarComponents = { container: HTMLElement; main: HTMLElement; sidebar: HTMLElement; - toggle: HTMLElement; + toggle: HTMLElement & { + handlers?: { start: (ev: MouseEvent) => void; end: () => void }; + }; isClosed: boolean; }; @@ -33,10 +35,36 @@ class Sidebar { // Signal that this layout is initialized by removing the init attribute container.removeAttribute("data-bslib-sidebar-init"); + Sidebar._initEventListeners(container); Sidebar._initSidebarCounters(container); Sidebar._initDesktop(container); } + private static _initEventListeners(container: HTMLElement): void { + const { sidebar, toggle } = Sidebar.components(container); + + // We store a reference to the sidebar toggle event handlers on the toggle + // element itself, so that we can remove them later if needed. + toggle.handlers = { + start: (ev) => { + ev.preventDefault(); + Sidebar.toggle(container, "toggle"); + }, + end: () => { + Sidebar.finalizeState(container); + $(sidebar).trigger("toggleCollapse.sidebarInputBinding"); + }, + }; + + toggle.addEventListener("click", toggle.handlers.start); + + // Once the collapse transition completes (on the collapse toggle icon, which is + // always guaranteed to transition), then remove the transitioning class + toggle + .querySelector(".collapse-icon") + ?.addEventListener("transitionend", toggle.handlers.end); + } + private static _initSidebarCounters(container: HTMLElement): void { // This function walks up the DOM tree, adding CSS variables to each // direct parent sidebar layout that count the layout's position in the @@ -168,6 +196,17 @@ class Sidebar { toggle.ariaExpanded = isClosed ? "false" : "true"; return sidebar; } + + public static removeEventListeners(el: HTMLElement): void { + // If a sidebar layout is removed from the page, we should also clean up any + // event listeners that were added to the layout's components. + const { toggle } = Sidebar.components(el); + if (!toggle.handlers) return; + toggle.removeEventListener("click", toggle.handlers.start); + toggle + .querySelector(".collapse-icon") + ?.removeEventListener("transitionend", toggle.handlers.end); + } } class SidebarInputBinding extends InputBinding { @@ -205,26 +244,7 @@ class SidebarInputBinding extends InputBinding { registerBinding(SidebarInputBinding, "sidebar"); -$(document).on( - "click", - `.${Sidebar.classes.LAYOUT} > .collapse-toggle`, - (e) => { - e.preventDefault(); - Sidebar.toggle(e.target, "toggle"); - } -); - -// Once the collapse transition completes (on the collapse toggle icon, which is -// always guaranteed to transition), then remove the transitioning class -$(document).on( - "transitionend", - `.${Sidebar.classes.LAYOUT} > .collapse-toggle > .collapse-icon`, - (e) => { - const sidebar = Sidebar.finalizeState(e.target); - $(sidebar).trigger("toggleCollapse.sidebarInputBinding"); - } -); - +// Initialize sidebars on page load or when added to the page ---------------- document.addEventListener("DOMContentLoaded", () => { const containers = document.getElementsByClassName( Sidebar.classes.LAYOUT @@ -237,14 +257,16 @@ document.addEventListener("DOMContentLoaded", () => { }); }); +// Detect when sidebar layouts that require initialization are added to the page new MutationSummary({ callback: (summaries) => { - const sbSummary = summaries[0]; - if (sbSummary.added.length > 0) { - sbSummary.added.forEach((container) => - Sidebar.initCollapsible(container as HTMLElement) - ); - } + const summary = summaries[0]; + summary.added.forEach((container) => + Sidebar.initCollapsible(container as HTMLElement) + ); + summary.removed.forEach((container) => + Sidebar.removeEventListeners(container as HTMLElement) + ); }, queries: [ { @@ -253,6 +275,21 @@ new MutationSummary({ ], }); +// Remove event listeners when the sidebar layouts are removed from the page +new MutationSummary({ + callback: (summaries) => { + const summary = summaries[0]; + summary.removed.forEach((container) => + Sidebar.removeEventListeners(container as HTMLElement) + ); + }, + queries: [ + { + element: '.bslib-sidebar-layout', + }, + ], +}); + // attach Sidebar class to window for global usage (window as any).bslib = (window as any).bslib || {}; (window as any).bslib.Sidebar = Sidebar; From fad99e6d8574dab1e3fa772338016ac1fb174628 Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Tue, 25 Apr 2023 11:39:14 -0400 Subject: [PATCH 04/76] Switch to `arrive.js` from `mutation-summary` arrive is a lot lighter and can be included in each component directly --- package.json | 3 +- srcts/src/components/sidebar.ts | 62 +++++++++------------------------ yarn.lock | 15 +++++--- 3 files changed, 29 insertions(+), 51 deletions(-) diff --git a/package.json b/package.json index 87f5dcd1f..d1550d65d 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,7 @@ "devDependencies": { "@types/node": "^18.11.18", "@types/rstudio-shiny": "https://github.com/rstudio/shiny#v1.7.4", + "@types/arrive": "^2.4.1", "@typescript-eslint/eslint-plugin": "^5.48.1", "@typescript-eslint/parser": "^5.48.1", "esbuild": "^0.16.14", @@ -28,6 +29,6 @@ "check_types": "tsc --noEmit -p tsconfig.json" }, "dependencies": { - "mutation-summary": "^1.0.0" + "arrive": "^2.4.1" } } diff --git a/srcts/src/components/sidebar.ts b/srcts/src/components/sidebar.ts index 15753ab08..795eb574e 100644 --- a/srcts/src/components/sidebar.ts +++ b/srcts/src/components/sidebar.ts @@ -3,7 +3,8 @@ import { registerBinding, doWindowResizeOnElementResize, } from "./_utils"; -import { MutationSummary } from "mutation-summary"; + +import "arrive"; type SidebarMethod = "close" | "open" | "toggle"; @@ -245,50 +246,21 @@ class SidebarInputBinding extends InputBinding { registerBinding(SidebarInputBinding, "sidebar"); // Initialize sidebars on page load or when added to the page ---------------- -document.addEventListener("DOMContentLoaded", () => { - const containers = document.getElementsByClassName( - Sidebar.classes.LAYOUT - ) as HTMLCollectionOf; - - Array.from(containers).forEach((container) => { - if (container.matches("[data-bslib-sidebar-init]")) { - Sidebar.initCollapsible(container); - } - }); -}); - -// Detect when sidebar layouts that require initialization are added to the page -new MutationSummary({ - callback: (summaries) => { - const summary = summaries[0]; - summary.added.forEach((container) => - Sidebar.initCollapsible(container as HTMLElement) - ); - summary.removed.forEach((container) => - Sidebar.removeEventListeners(container as HTMLElement) - ); - }, - queries: [ - { - element: ".bslib-sidebar-layout[data-bslib-sidebar-init]", - }, - ], -}); - -// Remove event listeners when the sidebar layouts are removed from the page -new MutationSummary({ - callback: (summaries) => { - const summary = summaries[0]; - summary.removed.forEach((container) => - Sidebar.removeEventListeners(container as HTMLElement) - ); - }, - queries: [ - { - element: '.bslib-sidebar-layout', - }, - ], -}); +document.arrive( + `.${Sidebar.classes.LAYOUT}[data-bslib-sidebar-init]`, + (container) => { + console.log("arrive", container); + Sidebar.initCollapsible(container as HTMLElement); + } +); + +document.leave( + `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`, + (container) => { + console.log("leave", container); + Sidebar.removeEventListeners(container as HTMLElement); + } +); // attach Sidebar class to window for global usage (window as any).bslib = (window as any).bslib || {}; diff --git a/yarn.lock b/yarn.lock index fd0834a54..ffad1970a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -233,6 +233,11 @@ resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e" integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== +"@types/arrive@^2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@types/arrive/-/arrive-2.4.1.tgz#996c9046fe83c90e2ba02d3e1e63cad276dbe9f0" + integrity sha512-T4fPI0e3XOCFgS4YDpKf230IVlgMKEk/sGW2yl7UExuIsH0V0FshNjrbVZOogjUaRINsnFJzoJpsTmJ2xoJxFQ== + "@types/bootstrap-datepicker@0.0.14": version "0.0.14" resolved "https://registry.yarnpkg.com/@types/bootstrap-datepicker/-/bootstrap-datepicker-0.0.14.tgz#89bc5816dd0b802bf8d4923cf5461e2c98cbb450" @@ -456,6 +461,11 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== +arrive@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/arrive/-/arrive-2.4.1.tgz#564c87f20bc09b80de781124d9431695004b8020" + integrity sha512-gnpcKdKN4HJAmzpZIxDBJsw/z59sBvh9i4mJyHJCk+enrKnEZ/l1GspM1MGPxMxnRcdt+v/OIWEY5mNQSGisPQ== + balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" @@ -1138,11 +1148,6 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -mutation-summary@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/mutation-summary/-/mutation-summary-1.0.0.tgz#488078e8f39becc29450438b24644a3bf81ef7bc" - integrity sha512-6+uYx4BJ9OtHsfQ3NRrcV8xXNZHf2yMU1CYJuM4rTpDA8xt+6SXUbSX4I4zo+5UOXTW4sLMyPG/C0VS35rHK/w== - natural-compare-lite@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" From c01c4c25666490443a29af375e7bd7811410b52e Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Tue, 25 Apr 2023 11:39:44 -0400 Subject: [PATCH 05/76] Add a small delay before removing transitioning class Improves the transition animation --- srcts/src/components/sidebar.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/srcts/src/components/sidebar.ts b/srcts/src/components/sidebar.ts index 795eb574e..70fdd8364 100644 --- a/srcts/src/components/sidebar.ts +++ b/srcts/src/components/sidebar.ts @@ -190,11 +190,15 @@ class Sidebar { container.classList.toggle(Sidebar.classes.COLLAPSE); } - public static finalizeState(el: HTMLElement): HTMLElement { + public static finalizeState(el: HTMLElement, force = false): HTMLElement { const { container, sidebar, toggle, isClosed } = Sidebar.components(el); - container.classList.remove(Sidebar.classes.TRANSITIONING); - sidebar.hidden = isClosed; - toggle.ariaExpanded = isClosed ? "false" : "true"; + if (isClosed && !force) { + setTimeout(() => Sidebar.finalizeState(el, true), 100); + } else { + container.classList.remove(Sidebar.classes.TRANSITIONING); + sidebar.hidden = isClosed; + toggle.ariaExpanded = isClosed ? "false" : "true"; + } return sidebar; } From 8f0cc1147afb0bc552f8b23e9fb90adf80e05c15 Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Tue, 25 Apr 2023 11:40:58 -0400 Subject: [PATCH 06/76] recompile components --- inst/components/sidebar.min.js | 2 +- inst/components/sidebar.min.js.map | 8 ++++---- inst/css-precompiled/5/bootstrap.min.css | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/inst/components/sidebar.min.js b/inst/components/sidebar.min.js index 22260340d..ecdfbc0e6 100644 --- a/inst/components/sidebar.min.js +++ b/inst/components/sidebar.min.js @@ -1,3 +1,3 @@ /*! bslib 0.4.2.9000 | (c) 2012-2023 RStudio, PBC. | License: MIT + file LICENSE */ -"use strict";(()=>{var u=window.Shiny?Shiny.InputBinding:class{};function b(i,e){window.Shiny&&Shiny.inputBindings.register(new i,"bslib."+e)}function g(i){if($(i).data("window-resize-observer"))return;let e=new Event("resize"),t=new ResizeObserver(()=>{window.dispatchEvent(e)});t.observe(i),$(i).data("window-resize-observer",t)}var n=class{static initCollapsible(e){e.removeAttribute("data-bslib-sidebar-init"),n._initSidebarCounters(e),n._initDesktop(e)}static _initSidebarCounters(e){let t=`.${n.classes.LAYOUT}> .main > .${n.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`;if(!(e.querySelector(t)===null))return;function l(s){return s=s?s.parentElement:null,s&&s.classList.contains("main")&&(s=s.parentElement),s&&s.classList.contains(n.classes.LAYOUT)?s:null}let r=[e],c=l(e);for(;c;)r.unshift(c),c=l(c);let p={left:0,right:0};r.forEach(function(s,m){s.style.setProperty("--bslib-sidebar-counter",m.toString());let L=s.classList.contains("sidebar-right")?p.right++:p.left++;s.style.setProperty("--bslib-sidebar-overlap-counter",L.toString())})}static _initDesktop(e){if(e.dataset.bslibSidebarOpen!=="desktop")return;window.getComputedStyle(e).getPropertyValue("--bslib-sidebar-js-init-collapsed")==="true"&&n.toggle(e,"close")}static _findLayoutContainer(e){let t=e.closest(`.${n.classes.LAYOUT}`);if(!t)throw new Error(`Expected container or direct ancestor with class ${n.classes.LAYOUT}`);return t}static components(e){e=n._findLayoutContainer(e);let t=e.querySelector(":scope > .main"),o=e.querySelector(":scope > .sidebar"),l=e.querySelector(":scope > .collapse-toggle"),r=e.classList.contains(n.classes.COLLAPSE);return{container:e,main:t,sidebar:o,toggle:l,isClosed:r}}static toggle(e,t){let{container:o,main:l,sidebar:r,isClosed:c}=n.components(e);if(["open","close","toggle"].indexOf(t)===-1)throw new Error(`Unknown method ${t}`);t==="toggle"&&(t=c?"open":"close"),!(c&&t==="close"||!c&&t==="open")&&(g(l),t==="open"&&(r.hidden=!1),o.classList.add(n.classes.TRANSITIONING),o.classList.toggle(n.classes.COLLAPSE))}static finalizeState(e){let{container:t,sidebar:o,toggle:l,isClosed:r}=n.components(e);return t.classList.remove(n.classes.TRANSITIONING),o.hidden=r,l.ariaExpanded=r?"false":"true",o}},a=n;a.classes={LAYOUT:"bslib-sidebar-layout",COLLAPSE:"sidebar-collapsed",TRANSITIONING:"transitioning"};var d=class extends u{find(e){return $(e).find(`.${a.classes.LAYOUT} > .bslib-sidebar-input`)}getValue(e){return!$(e).parent().hasClass(a.classes.COLLAPSE)}setValue(e,t){let o=t?"open":"close";this.receiveMessage(e,{method:o})}subscribe(e,t){$(e).on("toggleCollapse.sidebarInputBinding",function(o){t(!0)})}unsubscribe(e){$(e).off(".sidebarInputBinding")}receiveMessage(e,t){a.toggle(e,t.method)}};b(d,"sidebar");$(document).on("click",`.${a.classes.LAYOUT} > .collapse-toggle`,i=>{i.preventDefault(),a.toggle(i.target,"toggle")});$(document).on("transitionend",`.${a.classes.LAYOUT} > .collapse-toggle > .collapse-icon`,i=>{let e=a.finalizeState(i.target);$(e).trigger("toggleCollapse.sidebarInputBinding")});window.bslib=window.bslib||{};window.bslib.Sidebar=a;})(); +"use strict";(()=>{var O=window.Shiny?Shiny.InputBinding:class{};function N(b,t){window.Shiny&&Shiny.inputBindings.register(new b,"bslib."+t)}function B(b){if($(b).data("window-resize-observer"))return;let t=new Event("resize"),r=new ResizeObserver(()=>{window.dispatchEvent(t)});r.observe(b),$(b).data("window-resize-observer",r)}var P=function(b,t,r){"use strict";if(!b.MutationObserver||typeof HTMLElement=="undefined")return;var d=0,l=function(){var f=HTMLElement.prototype.matches||HTMLElement.prototype.webkitMatchesSelector||HTMLElement.prototype.mozMatchesSelector||HTMLElement.prototype.msMatchesSelector;return{matchesSelector:function(s,i){return s instanceof HTMLElement&&f.call(s,i)},addMethod:function(s,i,u){var o=s[i];s[i]=function(){if(u.length==arguments.length)return u.apply(this,arguments);if(typeof o=="function")return o.apply(this,arguments)}},callCallbacks:function(s,i){i&&i.options.onceOnly&&i.firedElems.length==1&&(s=[s[0]]);for(var u=0,o;o=s[u];u++)o&&o.callback&&o.callback.call(o.elem,o.elem);i&&i.options.onceOnly&&i.firedElems.length==1&&i.me.unbindEventWithSelectorAndCallback.call(i.target,i.selector,i.callback)},checkChildNodesRecursively:function(s,i,u,o){for(var n=0,e;e=s[n];n++)u(e,i,o)&&o.push({callback:i.callback,elem:e}),e.childNodes.length>0&&l.checkChildNodesRecursively(e.childNodes,i,u,o)},mergeArrays:function(s,i){var u={},o;for(o in s)s.hasOwnProperty(o)&&(u[o]=s[o]);for(o in i)i.hasOwnProperty(o)&&(u[o]=i[o]);return u},toElementsArray:function(s){return typeof s!="undefined"&&(typeof s.length!="number"||s===b)&&(s=[s]),s}}}(),g=function(){var f=function(){this._eventsBucket=[],this._beforeAdding=null,this._beforeRemoving=null};return f.prototype.addEvent=function(s,i,u,o){var n={target:s,selector:i,options:u,callback:o,firedElems:[]};return this._beforeAdding&&this._beforeAdding(n),this._eventsBucket.push(n),n},f.prototype.removeEvent=function(s){for(var i=this._eventsBucket.length-1,u;u=this._eventsBucket[i];i--)if(s(u)){this._beforeRemoving&&this._beforeRemoving(u);var o=this._eventsBucket.splice(i,1);o&&o.length&&(o[0].callback=null)}},f.prototype.beforeAdding=function(s){this._beforeAdding=s},f.prototype.beforeRemoving=function(s){this._beforeRemoving=s},f}(),E=function(f,s){var i=new g,u=this,o={fireOnAttributesModification:!1};return i.beforeAdding(function(n){var e=n.target,a;(e===b.document||e===b)&&(e=document.getElementsByTagName("html")[0]),a=new MutationObserver(function(c){s.call(this,c,n)});var v=f(n.options);a.observe(e,v),n.observer=a,n.me=u}),i.beforeRemoving(function(n){n.observer.disconnect()}),this.bindEvent=function(n,e,a){e=l.mergeArrays(o,e);for(var v=l.toElementsArray(this),c=0;c0?l.checkChildNodesRecursively(v,e,u,h):a.type==="attributes"&&u(c,e,h)&&h.push({callback:e.callback,elem:c}),l.callCallbacks(h,e)})}function u(n,e,a){return l.matchesSelector(n,e.selector)&&(n._id===r&&(n._id=d++),e.firedElems.indexOf(n._id)==-1)?(e.firedElems.push(n._id),!0):!1}L=new E(s,i);var o=L.bindEvent;return L.bindEvent=function(n,e,a){typeof a=="undefined"?(a=e,e=f):e=l.mergeArrays(f,e);var v=l.toElementsArray(this);if(e.existing){for(var c=[],h=0;h0&&l.checkChildNodesRecursively(v,e,u,c),l.callCallbacks(c,e)})}function u(n,e){return l.matchesSelector(n,e.selector)}M=new E(s,i);var o=M.bindEvent;return M.bindEvent=function(n,e,a){typeof a=="undefined"?(a=e,e=f):e=l.mergeArrays(f,e),o.call(this,n,e,a)},M},L=new w,M=new m;function T(f,s,i){l.addMethod(s,i,f.unbindEvent),l.addMethod(s,i,f.unbindEventWithSelectorOrCallback),l.addMethod(s,i,f.unbindEventWithSelectorAndCallback)}function A(f){f.arrive=L.bindEvent,T(L,f,"unbindArrive"),f.leave=M.bindEvent,T(M,f,"unbindLeave")}t&&A(t.fn),A(HTMLElement.prototype),A(NodeList.prototype),A(HTMLCollection.prototype),A(HTMLDocument.prototype),A(Window.prototype);var H={};return T(L,H,"unbindAllArrive"),T(M,H,"unbindAllLeave"),H}(window,typeof jQuery=="undefined"?null:jQuery,void 0);var p=class{static initCollapsible(t){t.removeAttribute("data-bslib-sidebar-init"),p._initEventListeners(t),p._initSidebarCounters(t),p._initDesktop(t)}static _initEventListeners(t){var l;let{sidebar:r,toggle:d}=p.components(t);d.handlers={start:g=>{g.preventDefault(),p.toggle(t,"toggle")},end:()=>{p.finalizeState(t),$(r).trigger("toggleCollapse.sidebarInputBinding")}},d.addEventListener("click",d.handlers.start),(l=d.querySelector(".collapse-icon"))==null||l.addEventListener("transitionend",d.handlers.end)}static _initSidebarCounters(t){let r=`.${p.classes.LAYOUT}> .main > .${p.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`;if(!(t.querySelector(r)===null))return;function l(m){return m=m?m.parentElement:null,m&&m.classList.contains("main")&&(m=m.parentElement),m&&m.classList.contains(p.classes.LAYOUT)?m:null}let g=[t],E=l(t);for(;E;)g.unshift(E),E=l(E);let w={left:0,right:0};g.forEach(function(m,L){m.style.setProperty("--bslib-sidebar-counter",L.toString());let T=m.classList.contains("sidebar-right")?w.right++:w.left++;m.style.setProperty("--bslib-sidebar-overlap-counter",T.toString())})}static _initDesktop(t){var d;if(((d=t.dataset.bslibSidebarOpen)==null?void 0:d.trim())!=="desktop")return;window.getComputedStyle(t).getPropertyValue("--bslib-sidebar-js-init-collapsed").trim()==="true"&&p.toggle(t,"close")}static _findLayoutContainer(t){let r=t.closest(`.${p.classes.LAYOUT}`);if(!r)throw new Error(`Expected container or direct ancestor with class ${p.classes.LAYOUT}`);return r}static components(t){t=p._findLayoutContainer(t);let r=t.querySelector(":scope > .main"),d=t.querySelector(":scope > .sidebar"),l=t.querySelector(":scope > .collapse-toggle"),g=t.classList.contains(p.classes.COLLAPSE);return{container:t,main:r,sidebar:d,toggle:l,isClosed:g}}static toggle(t,r){let{container:d,main:l,sidebar:g,isClosed:E}=p.components(t);if(["open","close","toggle"].indexOf(r)===-1)throw new Error(`Unknown method ${r}`);r==="toggle"&&(r=E?"open":"close"),!(E&&r==="close"||!E&&r==="open")&&(B(l),r==="open"&&(g.hidden=!1),d.classList.add(p.classes.TRANSITIONING),d.classList.toggle(p.classes.COLLAPSE))}static finalizeState(t,r=!1){let{container:d,sidebar:l,toggle:g,isClosed:E}=p.components(t);return E&&!r?setTimeout(()=>p.finalizeState(t,!0),100):(d.classList.remove(p.classes.TRANSITIONING),l.hidden=E,g.ariaExpanded=E?"false":"true"),l}static removeEventListeners(t){var d;let{toggle:r}=p.components(t);r.handlers&&(r.removeEventListener("click",r.handlers.start),(d=r.querySelector(".collapse-icon"))==null||d.removeEventListener("transitionend",r.handlers.end))}},y=p;y.classes={LAYOUT:"bslib-sidebar-layout",COLLAPSE:"sidebar-collapsed",TRANSITIONING:"transitioning"};var k=class extends O{find(t){return $(t).find(`.${y.classes.LAYOUT} > .bslib-sidebar-input`)}getValue(t){return!$(t).parent().hasClass(y.classes.COLLAPSE)}setValue(t,r){let d=r?"open":"close";this.receiveMessage(t,{method:d})}subscribe(t,r){$(t).on("toggleCollapse.sidebarInputBinding",function(d){r(!0)})}unsubscribe(t){$(t).off(".sidebarInputBinding")}receiveMessage(t,r){y.toggle(t,r.method)}};N(k,"sidebar");document.arrive(`.${y.classes.LAYOUT}[data-bslib-sidebar-init]`,b=>{console.log("arrive",b),y.initCollapsible(b)});document.leave(`.${y.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`,b=>{console.log("leave",b),y.removeEventListeners(b)});window.bslib=window.bslib||{};window.bslib.Sidebar=y;})(); //# sourceMappingURL=sidebar.min.js.map diff --git a/inst/components/sidebar.min.js.map b/inst/components/sidebar.min.js.map index 8557375c2..dc61c2c1c 100644 --- a/inst/components/sidebar.min.js.map +++ b/inst/components/sidebar.min.js.map @@ -1,7 +1,7 @@ { "version": 3, - "sources": ["../../srcts/src/components/_utils.ts", "../../srcts/src/components/sidebar.ts"], - "sourcesContent": ["import type { HtmlDep } from \"rstudio-shiny/srcts/types/src/shiny/render\";\n\nimport type { InputBinding as InputBindingType } from \"rstudio-shiny/srcts/types/src/bindings/input\";\n\n// Exclude undefined from T\ntype NotUndefined = T extends undefined ? never : T;\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst InputBinding = (\n window.Shiny ? Shiny.InputBinding : class {}\n) as typeof InputBindingType;\n\nfunction registerBinding(\n inputBindingClass: new () => InputBindingType,\n name: string\n): void {\n if (window.Shiny) {\n Shiny.inputBindings.register(new inputBindingClass(), \"bslib.\" + name);\n }\n}\n\n// Return true if the key exists on the object and the value is not undefined.\n//\n// This method is mainly used in input bindings' `receiveMessage` method.\n// Since we know that the values are sent by Shiny via `{jsonlite}`,\n// then we know that there are no `undefined` values. `null` is possible, but not `undefined`.\nfunction hasDefinedProperty<\n Prop extends keyof X,\n X extends { [key: string]: any }\n>(\n obj: X,\n prop: Prop\n): obj is X & { [key in NonNullable]: NotUndefined } {\n return (\n Object.prototype.hasOwnProperty.call(obj, prop) && obj[prop] !== undefined\n );\n}\n\n// TODO: Shiny should trigger resize events when the output\n// https://github.com/rstudio/shiny/pull/3682\nfunction doWindowResizeOnElementResize(el: HTMLElement): void {\n if ($(el).data(\"window-resize-observer\")) {\n return;\n }\n const resizeEvent = new Event(\"resize\");\n const ro = new ResizeObserver(() => {\n window.dispatchEvent(resizeEvent);\n });\n ro.observe(el);\n $(el).data(\"window-resize-observer\", ro);\n}\n\nexport {\n InputBinding,\n registerBinding,\n hasDefinedProperty,\n doWindowResizeOnElementResize,\n};\nexport type { HtmlDep };\n", "import {\n InputBinding,\n registerBinding,\n doWindowResizeOnElementResize,\n} from \"./_utils\";\n\ntype SidebarMethod = \"close\" | \"open\" | \"toggle\";\n\ntype MessageData = {\n method: SidebarMethod;\n};\n\ntype SidebarComponents = {\n container: HTMLElement;\n main: HTMLElement;\n sidebar: HTMLElement;\n toggle: HTMLElement;\n isClosed: boolean;\n};\n\nclass Sidebar {\n public static readonly classes = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n LAYOUT: \"bslib-sidebar-layout\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n COLLAPSE: \"sidebar-collapsed\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n TRANSITIONING: \"transitioning\",\n };\n\n public static initCollapsible(container: HTMLElement): void {\n // Signal that this layout is initialized by removing the init attribute\n container.removeAttribute(\"data-bslib-sidebar-init\");\n\n Sidebar._initSidebarCounters(container);\n Sidebar._initDesktop(container);\n }\n\n private static _initSidebarCounters(container: HTMLElement): void {\n // This function walks up the DOM tree, adding CSS variables to each\n // direct parent sidebar layout that count the layout's position in the\n // stack of nested layouts. We use these counters to keep the collapse\n // toggles from overlapping. Note that always-open sidebars that don't\n // have collapse toggles break the chain of nesting.\n\n const selectorChildLayouts =\n `.${Sidebar.classes.LAYOUT}` +\n \"> .main > \" +\n `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open=\"always\"])`;\n\n const isInnermostLayout =\n container.querySelector(selectorChildLayouts) === null;\n\n if (!isInnermostLayout) {\n // There are sidebar layouts nested within this layout; defer to children\n return;\n }\n\n function nextSidebarParent(el: HTMLElement | null): HTMLElement | null {\n el = el ? el.parentElement : null;\n if (el && el.classList.contains(\"main\")) {\n // .bslib-sidebar-layout > .main > .bslib-sidedbar-layout\n el = el.parentElement;\n }\n if (el && el.classList.contains(Sidebar.classes.LAYOUT)) {\n return el;\n }\n return null;\n }\n\n const layouts = [container];\n let parent = nextSidebarParent(container);\n\n while (parent) {\n // Add parent to front of layouts array, so we sort outer -> inner\n layouts.unshift(parent);\n parent = nextSidebarParent(parent);\n }\n\n const count = { left: 0, right: 0 };\n layouts.forEach(function (x: HTMLElement, i: number): void {\n x.style.setProperty(\"--bslib-sidebar-counter\", i.toString());\n const isRight = x.classList.contains(\"sidebar-right\");\n const thisCount = isRight ? count.right++ : count.left++;\n x.style.setProperty(\n \"--bslib-sidebar-overlap-counter\",\n thisCount.toString()\n );\n });\n }\n\n private static _initDesktop(container: HTMLElement): void {\n // If sidebar is marked open='desktop'...\n if (container.dataset.bslibSidebarOpen !== \"desktop\") {\n return;\n }\n\n // then close sidebar on mobile\n const initCollapsed = window\n .getComputedStyle(container)\n .getPropertyValue(\"--bslib-sidebar-js-init-collapsed\");\n\n if (initCollapsed === \"true\") {\n Sidebar.toggle(container, \"close\");\n }\n }\n\n private static _findLayoutContainer(el: HTMLElement): HTMLElement {\n const container = el.closest(`.${Sidebar.classes.LAYOUT}`);\n if (!container) {\n throw new Error(\n `Expected container or direct ancestor with class ${Sidebar.classes.LAYOUT}`\n );\n }\n return container as HTMLElement;\n }\n\n public static components(el: HTMLElement): SidebarComponents {\n el = Sidebar._findLayoutContainer(el);\n\n // sidebar components\n const main = el.querySelector(\":scope > .main\") as HTMLElement;\n const sidebar = el.querySelector(\":scope > .sidebar\") as HTMLElement;\n const toggle = el.querySelector(\":scope > .collapse-toggle\") as HTMLElement;\n\n // sidebar state\n const isClosed = el.classList.contains(Sidebar.classes.COLLAPSE);\n\n return { container: el, main, sidebar, toggle, isClosed };\n }\n\n public static toggle(el: HTMLElement, method: SidebarMethod) {\n const { container, main, sidebar, isClosed } = Sidebar.components(el);\n\n if ([\"open\", \"close\", \"toggle\"].indexOf(method) === -1) {\n throw new Error(`Unknown method ${method}`);\n }\n\n if (method === \"toggle\") {\n method = isClosed ? \"open\" : \"close\";\n }\n\n if ((isClosed && method === \"close\") || (!isClosed && method === \"open\")) {\n // nothing to do, sidebar is already in the desired state\n return;\n }\n\n // Make sure outputs resize properly when the sidebar is opened/closed\n doWindowResizeOnElementResize(main);\n\n if (method === \"open\") {\n // unhide sidebar immediately when opening,\n // otherwise the sidebar is hidden on transitionend\n sidebar.hidden = false;\n }\n\n // Add a transitioning class just before adding COLLAPSE_CLASS since we want\n // some of the transitioning styles to apply before the collapse state\n container.classList.add(Sidebar.classes.TRANSITIONING);\n container.classList.toggle(Sidebar.classes.COLLAPSE);\n }\n\n public static finalizeState(el: HTMLElement): HTMLElement {\n const { container, sidebar, toggle, isClosed } = Sidebar.components(el);\n container.classList.remove(Sidebar.classes.TRANSITIONING);\n sidebar.hidden = isClosed;\n toggle.ariaExpanded = isClosed ? \"false\" : \"true\";\n return sidebar;\n }\n}\n\nclass SidebarInputBinding extends InputBinding {\n find(scope: HTMLElement) {\n return $(scope).find(`.${Sidebar.classes.LAYOUT} > .bslib-sidebar-input`);\n }\n\n getValue(el: HTMLElement): boolean {\n return !$(el).parent().hasClass(Sidebar.classes.COLLAPSE);\n }\n\n setValue(el: HTMLElement, value: boolean): void {\n const method = value ? \"open\" : \"close\";\n this.receiveMessage(el, { method });\n }\n\n subscribe(el: HTMLElement, callback: (x: boolean) => void) {\n $(el).on(\n \"toggleCollapse.sidebarInputBinding\",\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n function (event) {\n callback(true);\n }\n );\n }\n\n unsubscribe(el: HTMLElement) {\n $(el).off(\".sidebarInputBinding\");\n }\n\n receiveMessage(el: HTMLElement, data: MessageData) {\n Sidebar.toggle(el, data.method);\n }\n}\n\nregisterBinding(SidebarInputBinding, \"sidebar\");\n\n$(document).on(\n \"click\",\n `.${Sidebar.classes.LAYOUT} > .collapse-toggle`,\n (e) => {\n e.preventDefault();\n Sidebar.toggle(e.target, \"toggle\");\n }\n);\n\n// Once the collapse transition completes (on the collapse toggle icon, which is\n// always guaranteed to transition), then remove the transitioning class\n$(document).on(\n \"transitionend\",\n `.${Sidebar.classes.LAYOUT} > .collapse-toggle > .collapse-icon`,\n (e) => {\n const sidebar = Sidebar.finalizeState(e.target);\n $(sidebar).trigger(\"toggleCollapse.sidebarInputBinding\");\n }\n);\n\n// attach Sidebar class to window for global usage\n(window as any).bslib = (window as any).bslib || {};\n(window as any).bslib.Sidebar = Sidebar;\n"], - "mappings": "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", - "names": ["InputBinding", "registerBinding", "inputBindingClass", "name", "doWindowResizeOnElementResize", "el", "resizeEvent", "ro", "_Sidebar", "container", "selectorChildLayouts", "nextSidebarParent", "el", "layouts", "parent", "count", "x", "i", "thisCount", "main", "sidebar", "toggle", "isClosed", "method", "doWindowResizeOnElementResize", "Sidebar", "SidebarInputBinding", "InputBinding", "scope", "value", "callback", "event", "data", "registerBinding", "e"] + "sources": ["../../srcts/src/components/_utils.ts", "../../node_modules/arrive/src/arrive.js", "../../srcts/src/components/sidebar.ts"], + "sourcesContent": ["import type { HtmlDep } from \"rstudio-shiny/srcts/types/src/shiny/render\";\n\nimport type { InputBinding as InputBindingType } from \"rstudio-shiny/srcts/types/src/bindings/input\";\n\n// Exclude undefined from T\ntype NotUndefined = T extends undefined ? never : T;\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst InputBinding = (\n window.Shiny ? Shiny.InputBinding : class {}\n) as typeof InputBindingType;\n\nfunction registerBinding(\n inputBindingClass: new () => InputBindingType,\n name: string\n): void {\n if (window.Shiny) {\n Shiny.inputBindings.register(new inputBindingClass(), \"bslib.\" + name);\n }\n}\n\n// Return true if the key exists on the object and the value is not undefined.\n//\n// This method is mainly used in input bindings' `receiveMessage` method.\n// Since we know that the values are sent by Shiny via `{jsonlite}`,\n// then we know that there are no `undefined` values. `null` is possible, but not `undefined`.\nfunction hasDefinedProperty<\n Prop extends keyof X,\n X extends { [key: string]: any }\n>(\n obj: X,\n prop: Prop\n): obj is X & { [key in NonNullable]: NotUndefined } {\n return (\n Object.prototype.hasOwnProperty.call(obj, prop) && obj[prop] !== undefined\n );\n}\n\n// TODO: Shiny should trigger resize events when the output\n// https://github.com/rstudio/shiny/pull/3682\nfunction doWindowResizeOnElementResize(el: HTMLElement): void {\n if ($(el).data(\"window-resize-observer\")) {\n return;\n }\n const resizeEvent = new Event(\"resize\");\n const ro = new ResizeObserver(() => {\n window.dispatchEvent(resizeEvent);\n });\n ro.observe(el);\n $(el).data(\"window-resize-observer\", ro);\n}\n\nexport {\n InputBinding,\n registerBinding,\n hasDefinedProperty,\n doWindowResizeOnElementResize,\n};\nexport type { HtmlDep };\n", "/*globals jQuery,Window,HTMLElement,HTMLDocument,HTMLCollection,NodeList,MutationObserver */\n/*exported Arrive*/\n/*jshint latedef:false */\n\n/*\n * arrive.js\n * v2.4.1\n * https://github.com/uzairfarooq/arrive\n * MIT licensed\n *\n * Copyright (c) 2014-2017 Uzair Farooq\n */\nvar Arrive = (function(window, $, undefined) {\n\n \"use strict\";\n\n if(!window.MutationObserver || typeof HTMLElement === 'undefined'){\n return; //for unsupported browsers\n }\n\n var arriveUniqueId = 0;\n\n var utils = (function() {\n var matches = HTMLElement.prototype.matches || HTMLElement.prototype.webkitMatchesSelector || HTMLElement.prototype.mozMatchesSelector\n || HTMLElement.prototype.msMatchesSelector;\n\n return {\n matchesSelector: function(elem, selector) {\n return elem instanceof HTMLElement && matches.call(elem, selector);\n },\n // to enable function overloading - By John Resig (MIT Licensed)\n addMethod: function (object, name, fn) {\n var old = object[ name ];\n object[ name ] = function(){\n if ( fn.length == arguments.length ) {\n return fn.apply( this, arguments );\n }\n else if ( typeof old == 'function' ) {\n return old.apply( this, arguments );\n }\n };\n },\n callCallbacks: function(callbacksToBeCalled, registrationData) {\n if (registrationData && registrationData.options.onceOnly && registrationData.firedElems.length == 1) {\n // as onlyOnce param is true, make sure we fire the event for only one item\n callbacksToBeCalled = [callbacksToBeCalled[0]];\n }\n\n for (var i = 0, cb; (cb = callbacksToBeCalled[i]); i++) {\n if (cb && cb.callback) {\n cb.callback.call(cb.elem, cb.elem);\n }\n }\n\n if (registrationData && registrationData.options.onceOnly && registrationData.firedElems.length == 1) {\n // unbind event after first callback as onceOnly is true.\n registrationData.me.unbindEventWithSelectorAndCallback.call(\n registrationData.target, registrationData.selector, registrationData.callback);\n }\n },\n // traverse through all descendants of a node to check if event should be fired for any descendant\n checkChildNodesRecursively: function(nodes, registrationData, matchFunc, callbacksToBeCalled) {\n // check each new node if it matches the selector\n for (var i=0, node; (node = nodes[i]); i++) {\n if (matchFunc(node, registrationData, callbacksToBeCalled)) {\n callbacksToBeCalled.push({ callback: registrationData.callback, elem: node });\n }\n\n if (node.childNodes.length > 0) {\n utils.checkChildNodesRecursively(node.childNodes, registrationData, matchFunc, callbacksToBeCalled);\n }\n }\n },\n mergeArrays: function(firstArr, secondArr){\n // Overwrites default options with user-defined options.\n var options = {},\n attrName;\n for (attrName in firstArr) {\n if (firstArr.hasOwnProperty(attrName)) {\n options[attrName] = firstArr[attrName];\n }\n }\n for (attrName in secondArr) {\n if (secondArr.hasOwnProperty(attrName)) {\n options[attrName] = secondArr[attrName];\n }\n }\n return options;\n },\n toElementsArray: function (elements) {\n // check if object is an array (or array like object)\n // Note: window object has .length property but it's not array of elements so don't consider it an array\n if (typeof elements !== \"undefined\" && (typeof elements.length !== \"number\" || elements === window)) {\n elements = [elements];\n }\n return elements;\n }\n };\n })();\n\n\n // Class to maintain state of all registered events of a single type\n var EventsBucket = (function() {\n var EventsBucket = function() {\n // holds all the events\n\n this._eventsBucket = [];\n // function to be called while adding an event, the function should do the event initialization/registration\n this._beforeAdding = null;\n // function to be called while removing an event, the function should do the event destruction\n this._beforeRemoving = null;\n };\n\n EventsBucket.prototype.addEvent = function(target, selector, options, callback) {\n var newEvent = {\n target: target,\n selector: selector,\n options: options,\n callback: callback,\n firedElems: []\n };\n\n if (this._beforeAdding) {\n this._beforeAdding(newEvent);\n }\n\n this._eventsBucket.push(newEvent);\n return newEvent;\n };\n\n EventsBucket.prototype.removeEvent = function(compareFunction) {\n for (var i=this._eventsBucket.length - 1, registeredEvent; (registeredEvent = this._eventsBucket[i]); i--) {\n if (compareFunction(registeredEvent)) {\n if (this._beforeRemoving) {\n this._beforeRemoving(registeredEvent);\n }\n\n // mark callback as null so that even if an event mutation was already triggered it does not call callback\n var removedEvents = this._eventsBucket.splice(i, 1);\n if (removedEvents && removedEvents.length) {\n removedEvents[0].callback = null;\n }\n }\n }\n };\n\n EventsBucket.prototype.beforeAdding = function(beforeAdding) {\n this._beforeAdding = beforeAdding;\n };\n\n EventsBucket.prototype.beforeRemoving = function(beforeRemoving) {\n this._beforeRemoving = beforeRemoving;\n };\n\n return EventsBucket;\n })();\n\n\n /**\n * @constructor\n * General class for binding/unbinding arrive and leave events\n */\n var MutationEvents = function(getObserverConfig, onMutation) {\n var eventsBucket = new EventsBucket(),\n me = this;\n\n var defaultOptions = {\n fireOnAttributesModification: false\n };\n\n // actual event registration before adding it to bucket\n eventsBucket.beforeAdding(function(registrationData) {\n var\n target = registrationData.target,\n observer;\n\n // mutation observer does not work on window or document\n if (target === window.document || target === window) {\n target = document.getElementsByTagName(\"html\")[0];\n }\n\n // Create an observer instance\n observer = new MutationObserver(function(e) {\n onMutation.call(this, e, registrationData);\n });\n\n var config = getObserverConfig(registrationData.options);\n\n observer.observe(target, config);\n\n registrationData.observer = observer;\n registrationData.me = me;\n });\n\n // cleanup/unregister before removing an event\n eventsBucket.beforeRemoving(function (eventData) {\n eventData.observer.disconnect();\n });\n\n this.bindEvent = function(selector, options, callback) {\n options = utils.mergeArrays(defaultOptions, options);\n\n var elements = utils.toElementsArray(this);\n\n for (var i = 0; i < elements.length; i++) {\n eventsBucket.addEvent(elements[i], selector, options, callback);\n }\n };\n\n this.unbindEvent = function() {\n var elements = utils.toElementsArray(this);\n eventsBucket.removeEvent(function(eventObj) {\n for (var i = 0; i < elements.length; i++) {\n if (this === undefined || eventObj.target === elements[i]) {\n return true;\n }\n }\n return false;\n });\n };\n\n this.unbindEventWithSelectorOrCallback = function(selector) {\n var elements = utils.toElementsArray(this),\n callback = selector,\n compareFunction;\n\n if (typeof selector === \"function\") {\n compareFunction = function(eventObj) {\n for (var i = 0; i < elements.length; i++) {\n if ((this === undefined || eventObj.target === elements[i]) && eventObj.callback === callback) {\n return true;\n }\n }\n return false;\n };\n }\n else {\n compareFunction = function(eventObj) {\n for (var i = 0; i < elements.length; i++) {\n if ((this === undefined || eventObj.target === elements[i]) && eventObj.selector === selector) {\n return true;\n }\n }\n return false;\n };\n }\n eventsBucket.removeEvent(compareFunction);\n };\n\n this.unbindEventWithSelectorAndCallback = function(selector, callback) {\n var elements = utils.toElementsArray(this);\n eventsBucket.removeEvent(function(eventObj) {\n for (var i = 0; i < elements.length; i++) {\n if ((this === undefined || eventObj.target === elements[i]) && eventObj.selector === selector && eventObj.callback === callback) {\n return true;\n }\n }\n return false;\n });\n };\n\n return this;\n };\n\n\n /**\n * @constructor\n * Processes 'arrive' events\n */\n var ArriveEvents = function() {\n // Default options for 'arrive' event\n var arriveDefaultOptions = {\n fireOnAttributesModification: false,\n onceOnly: false,\n existing: false\n };\n\n function getArriveObserverConfig(options) {\n var config = {\n attributes: false,\n childList: true,\n subtree: true\n };\n\n if (options.fireOnAttributesModification) {\n config.attributes = true;\n }\n\n return config;\n }\n\n function onArriveMutation(mutations, registrationData) {\n mutations.forEach(function( mutation ) {\n var newNodes = mutation.addedNodes,\n targetNode = mutation.target,\n callbacksToBeCalled = [],\n node;\n\n // If new nodes are added\n if( newNodes !== null && newNodes.length > 0 ) {\n utils.checkChildNodesRecursively(newNodes, registrationData, nodeMatchFunc, callbacksToBeCalled);\n }\n else if (mutation.type === \"attributes\") {\n if (nodeMatchFunc(targetNode, registrationData, callbacksToBeCalled)) {\n callbacksToBeCalled.push({ callback: registrationData.callback, elem: targetNode });\n }\n }\n\n utils.callCallbacks(callbacksToBeCalled, registrationData);\n });\n }\n\n function nodeMatchFunc(node, registrationData, callbacksToBeCalled) {\n // check a single node to see if it matches the selector\n if (utils.matchesSelector(node, registrationData.selector)) {\n if(node._id === undefined) {\n node._id = arriveUniqueId++;\n }\n // make sure the arrive event is not already fired for the element\n if (registrationData.firedElems.indexOf(node._id) == -1) {\n registrationData.firedElems.push(node._id);\n\n return true;\n }\n }\n\n return false;\n }\n\n arriveEvents = new MutationEvents(getArriveObserverConfig, onArriveMutation);\n\n var mutationBindEvent = arriveEvents.bindEvent;\n\n // override bindEvent function\n arriveEvents.bindEvent = function(selector, options, callback) {\n\n if (typeof callback === \"undefined\") {\n callback = options;\n options = arriveDefaultOptions;\n } else {\n options = utils.mergeArrays(arriveDefaultOptions, options);\n }\n\n var elements = utils.toElementsArray(this);\n\n if (options.existing) {\n var existing = [];\n\n for (var i = 0; i < elements.length; i++) {\n var nodes = elements[i].querySelectorAll(selector);\n for (var j = 0; j < nodes.length; j++) {\n existing.push({ callback: callback, elem: nodes[j] });\n }\n }\n\n // no need to bind event if the callback has to be fired only once and we have already found the element\n if (options.onceOnly && existing.length) {\n return callback.call(existing[0].elem, existing[0].elem);\n }\n\n setTimeout(utils.callCallbacks, 1, existing);\n }\n\n mutationBindEvent.call(this, selector, options, callback);\n };\n\n return arriveEvents;\n };\n\n\n /**\n * @constructor\n * Processes 'leave' events\n */\n var LeaveEvents = function() {\n // Default options for 'leave' event\n var leaveDefaultOptions = {};\n\n function getLeaveObserverConfig() {\n var config = {\n childList: true,\n subtree: true\n };\n\n return config;\n }\n\n function onLeaveMutation(mutations, registrationData) {\n mutations.forEach(function( mutation ) {\n var removedNodes = mutation.removedNodes,\n callbacksToBeCalled = [];\n\n if( removedNodes !== null && removedNodes.length > 0 ) {\n utils.checkChildNodesRecursively(removedNodes, registrationData, nodeMatchFunc, callbacksToBeCalled);\n }\n\n utils.callCallbacks(callbacksToBeCalled, registrationData);\n });\n }\n\n function nodeMatchFunc(node, registrationData) {\n return utils.matchesSelector(node, registrationData.selector);\n }\n\n leaveEvents = new MutationEvents(getLeaveObserverConfig, onLeaveMutation);\n\n var mutationBindEvent = leaveEvents.bindEvent;\n\n // override bindEvent function\n leaveEvents.bindEvent = function(selector, options, callback) {\n\n if (typeof callback === \"undefined\") {\n callback = options;\n options = leaveDefaultOptions;\n } else {\n options = utils.mergeArrays(leaveDefaultOptions, options);\n }\n\n mutationBindEvent.call(this, selector, options, callback);\n };\n\n return leaveEvents;\n };\n\n\n var arriveEvents = new ArriveEvents(),\n leaveEvents = new LeaveEvents();\n\n function exposeUnbindApi(eventObj, exposeTo, funcName) {\n // expose unbind function with function overriding\n utils.addMethod(exposeTo, funcName, eventObj.unbindEvent);\n utils.addMethod(exposeTo, funcName, eventObj.unbindEventWithSelectorOrCallback);\n utils.addMethod(exposeTo, funcName, eventObj.unbindEventWithSelectorAndCallback);\n }\n\n /*** expose APIs ***/\n function exposeApi(exposeTo) {\n exposeTo.arrive = arriveEvents.bindEvent;\n exposeUnbindApi(arriveEvents, exposeTo, \"unbindArrive\");\n\n exposeTo.leave = leaveEvents.bindEvent;\n exposeUnbindApi(leaveEvents, exposeTo, \"unbindLeave\");\n }\n\n if ($) {\n exposeApi($.fn);\n }\n exposeApi(HTMLElement.prototype);\n exposeApi(NodeList.prototype);\n exposeApi(HTMLCollection.prototype);\n exposeApi(HTMLDocument.prototype);\n exposeApi(Window.prototype);\n\n var Arrive = {};\n // expose functions to unbind all arrive/leave events\n exposeUnbindApi(arriveEvents, Arrive, \"unbindAllArrive\");\n exposeUnbindApi(leaveEvents, Arrive, \"unbindAllLeave\");\n\n return Arrive;\n\n})(window, typeof jQuery === 'undefined' ? null : jQuery, undefined);", "import {\n InputBinding,\n registerBinding,\n doWindowResizeOnElementResize,\n} from \"./_utils\";\n\nimport \"arrive\";\n\ntype SidebarMethod = \"close\" | \"open\" | \"toggle\";\n\ntype MessageData = {\n method: SidebarMethod;\n};\n\ntype SidebarComponents = {\n container: HTMLElement;\n main: HTMLElement;\n sidebar: HTMLElement;\n toggle: HTMLElement & {\n handlers?: { start: (ev: MouseEvent) => void; end: () => void };\n };\n isClosed: boolean;\n};\n\nclass Sidebar {\n public static readonly classes = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n LAYOUT: \"bslib-sidebar-layout\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n COLLAPSE: \"sidebar-collapsed\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n TRANSITIONING: \"transitioning\",\n };\n\n public static initCollapsible(container: HTMLElement): void {\n // Signal that this layout is initialized by removing the init attribute\n container.removeAttribute(\"data-bslib-sidebar-init\");\n\n Sidebar._initEventListeners(container);\n Sidebar._initSidebarCounters(container);\n Sidebar._initDesktop(container);\n }\n\n private static _initEventListeners(container: HTMLElement): void {\n const { sidebar, toggle } = Sidebar.components(container);\n\n // We store a reference to the sidebar toggle event handlers on the toggle\n // element itself, so that we can remove them later if needed.\n toggle.handlers = {\n start: (ev) => {\n ev.preventDefault();\n Sidebar.toggle(container, \"toggle\");\n },\n end: () => {\n Sidebar.finalizeState(container);\n $(sidebar).trigger(\"toggleCollapse.sidebarInputBinding\");\n },\n };\n\n toggle.addEventListener(\"click\", toggle.handlers.start);\n\n // Once the collapse transition completes (on the collapse toggle icon, which is\n // always guaranteed to transition), then remove the transitioning class\n toggle\n .querySelector(\".collapse-icon\")\n ?.addEventListener(\"transitionend\", toggle.handlers.end);\n }\n\n private static _initSidebarCounters(container: HTMLElement): void {\n // This function walks up the DOM tree, adding CSS variables to each\n // direct parent sidebar layout that count the layout's position in the\n // stack of nested layouts. We use these counters to keep the collapse\n // toggles from overlapping. Note that always-open sidebars that don't\n // have collapse toggles break the chain of nesting.\n\n const selectorChildLayouts =\n `.${Sidebar.classes.LAYOUT}` +\n \"> .main > \" +\n `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open=\"always\"])`;\n\n const isInnermostLayout =\n container.querySelector(selectorChildLayouts) === null;\n\n if (!isInnermostLayout) {\n // There are sidebar layouts nested within this layout; defer to children\n return;\n }\n\n function nextSidebarParent(el: HTMLElement | null): HTMLElement | null {\n el = el ? el.parentElement : null;\n if (el && el.classList.contains(\"main\")) {\n // .bslib-sidebar-layout > .main > .bslib-sidedbar-layout\n el = el.parentElement;\n }\n if (el && el.classList.contains(Sidebar.classes.LAYOUT)) {\n return el;\n }\n return null;\n }\n\n const layouts = [container];\n let parent = nextSidebarParent(container);\n\n while (parent) {\n // Add parent to front of layouts array, so we sort outer -> inner\n layouts.unshift(parent);\n parent = nextSidebarParent(parent);\n }\n\n const count = { left: 0, right: 0 };\n layouts.forEach(function (x: HTMLElement, i: number): void {\n x.style.setProperty(\"--bslib-sidebar-counter\", i.toString());\n const isRight = x.classList.contains(\"sidebar-right\");\n const thisCount = isRight ? count.right++ : count.left++;\n x.style.setProperty(\n \"--bslib-sidebar-overlap-counter\",\n thisCount.toString()\n );\n });\n }\n\n private static _initDesktop(container: HTMLElement): void {\n // If sidebar is marked open='desktop'...\n if (container.dataset.bslibSidebarOpen?.trim() !== \"desktop\") {\n return;\n }\n\n // then close sidebar on mobile\n const initCollapsed = window\n .getComputedStyle(container)\n .getPropertyValue(\"--bslib-sidebar-js-init-collapsed\");\n\n if (initCollapsed.trim() === \"true\") {\n Sidebar.toggle(container, \"close\");\n }\n }\n\n private static _findLayoutContainer(el: HTMLElement): HTMLElement {\n const container = el.closest(`.${Sidebar.classes.LAYOUT}`);\n if (!container) {\n throw new Error(\n `Expected container or direct ancestor with class ${Sidebar.classes.LAYOUT}`\n );\n }\n return container as HTMLElement;\n }\n\n public static components(el: HTMLElement): SidebarComponents {\n el = Sidebar._findLayoutContainer(el);\n\n // sidebar components\n const main = el.querySelector(\":scope > .main\") as HTMLElement;\n const sidebar = el.querySelector(\":scope > .sidebar\") as HTMLElement;\n const toggle = el.querySelector(\":scope > .collapse-toggle\") as HTMLElement;\n\n // sidebar state\n const isClosed = el.classList.contains(Sidebar.classes.COLLAPSE);\n\n return { container: el, main, sidebar, toggle, isClosed };\n }\n\n public static toggle(el: HTMLElement, method: SidebarMethod) {\n const { container, main, sidebar, isClosed } = Sidebar.components(el);\n\n if ([\"open\", \"close\", \"toggle\"].indexOf(method) === -1) {\n throw new Error(`Unknown method ${method}`);\n }\n\n if (method === \"toggle\") {\n method = isClosed ? \"open\" : \"close\";\n }\n\n if ((isClosed && method === \"close\") || (!isClosed && method === \"open\")) {\n // nothing to do, sidebar is already in the desired state\n return;\n }\n\n // Make sure outputs resize properly when the sidebar is opened/closed\n doWindowResizeOnElementResize(main);\n\n if (method === \"open\") {\n // unhide sidebar immediately when opening,\n // otherwise the sidebar is hidden on transitionend\n sidebar.hidden = false;\n }\n\n // Add a transitioning class just before adding COLLAPSE_CLASS since we want\n // some of the transitioning styles to apply before the collapse state\n container.classList.add(Sidebar.classes.TRANSITIONING);\n container.classList.toggle(Sidebar.classes.COLLAPSE);\n }\n\n public static finalizeState(el: HTMLElement, force = false): HTMLElement {\n const { container, sidebar, toggle, isClosed } = Sidebar.components(el);\n if (isClosed && !force) {\n setTimeout(() => Sidebar.finalizeState(el, true), 100);\n } else {\n container.classList.remove(Sidebar.classes.TRANSITIONING);\n sidebar.hidden = isClosed;\n toggle.ariaExpanded = isClosed ? \"false\" : \"true\";\n }\n return sidebar;\n }\n\n public static removeEventListeners(el: HTMLElement): void {\n // If a sidebar layout is removed from the page, we should also clean up any\n // event listeners that were added to the layout's components.\n const { toggle } = Sidebar.components(el);\n if (!toggle.handlers) return;\n toggle.removeEventListener(\"click\", toggle.handlers.start);\n toggle\n .querySelector(\".collapse-icon\")\n ?.removeEventListener(\"transitionend\", toggle.handlers.end);\n }\n}\n\nclass SidebarInputBinding extends InputBinding {\n find(scope: HTMLElement) {\n return $(scope).find(`.${Sidebar.classes.LAYOUT} > .bslib-sidebar-input`);\n }\n\n getValue(el: HTMLElement): boolean {\n return !$(el).parent().hasClass(Sidebar.classes.COLLAPSE);\n }\n\n setValue(el: HTMLElement, value: boolean): void {\n const method = value ? \"open\" : \"close\";\n this.receiveMessage(el, { method });\n }\n\n subscribe(el: HTMLElement, callback: (x: boolean) => void) {\n $(el).on(\n \"toggleCollapse.sidebarInputBinding\",\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n function (event) {\n callback(true);\n }\n );\n }\n\n unsubscribe(el: HTMLElement) {\n $(el).off(\".sidebarInputBinding\");\n }\n\n receiveMessage(el: HTMLElement, data: MessageData) {\n Sidebar.toggle(el, data.method);\n }\n}\n\nregisterBinding(SidebarInputBinding, \"sidebar\");\n\n// Initialize sidebars on page load or when added to the page ----------------\ndocument.arrive(\n `.${Sidebar.classes.LAYOUT}[data-bslib-sidebar-init]`,\n (container) => {\n console.log(\"arrive\", container);\n Sidebar.initCollapsible(container as HTMLElement);\n }\n);\n\ndocument.leave(\n `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open=\"always\"])`,\n (container) => {\n console.log(\"leave\", container);\n Sidebar.removeEventListeners(container as HTMLElement);\n }\n);\n\n// attach Sidebar class to window for global usage\n(window as any).bslib = (window as any).bslib || {};\n(window as any).bslib.Sidebar = Sidebar;\n"], + "mappings": "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", + "names": ["InputBinding", "registerBinding", "inputBindingClass", "name", "doWindowResizeOnElementResize", "el", "resizeEvent", "ro", "Arrive", "window", "$", "undefined", "arriveUniqueId", "utils", "matches", "elem", "selector", "object", "name", "fn", "old", "callbacksToBeCalled", "registrationData", "i", "cb", "nodes", "matchFunc", "node", "firstArr", "secondArr", "options", "attrName", "elements", "EventsBucket", "target", "callback", "newEvent", "compareFunction", "registeredEvent", "removedEvents", "beforeAdding", "beforeRemoving", "MutationEvents", "getObserverConfig", "onMutation", "eventsBucket", "me", "defaultOptions", "observer", "e", "config", "eventData", "eventObj", "ArriveEvents", "arriveDefaultOptions", "getArriveObserverConfig", "onArriveMutation", "mutations", "mutation", "newNodes", "targetNode", "nodeMatchFunc", "arriveEvents", "mutationBindEvent", "existing", "j", "LeaveEvents", "leaveDefaultOptions", "getLeaveObserverConfig", "onLeaveMutation", "removedNodes", "leaveEvents", "exposeUnbindApi", "exposeTo", "funcName", "exposeApi", "_Sidebar", "container", "_a", "sidebar", "toggle", "ev", "selectorChildLayouts", "nextSidebarParent", "el", "layouts", "parent", "count", "x", "i", "thisCount", "main", "isClosed", "method", "doWindowResizeOnElementResize", "force", "Sidebar", "SidebarInputBinding", "InputBinding", "scope", "value", "callback", "event", "data", "registerBinding"] } diff --git a/inst/css-precompiled/5/bootstrap.min.css b/inst/css-precompiled/5/bootstrap.min.css index 388a1f09e..3f7db3d52 100644 --- a/inst/css-precompiled/5/bootstrap.min.css +++ b/inst/css-precompiled/5/bootstrap.min.css @@ -3,4 +3,4 @@ * Copyright 2011-2022 The Bootstrap Authors * Copyright 2011-2022 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */:root{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-default: #dee2e6;--bs-primary: #0d6efd;--bs-secondary: #6c757d;--bs-success: #198754;--bs-info: #0dcaf0;--bs-warning: #ffc107;--bs-danger: #dc3545;--bs-light: #f8f9fa;--bs-dark: #212529;--bs-default-rgb: 222,226,230;--bs-primary-rgb: 13,110,253;--bs-secondary-rgb: 108,117,125;--bs-success-rgb: 25,135,84;--bs-info-rgb: 13,202,240;--bs-warning-rgb: 255,193,7;--bs-danger-rgb: 220,53,69;--bs-light-rgb: 248,249,250;--bs-dark-rgb: 33,37,41;--bs-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", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255,255,255,0.15), rgba(255,255,255,0));--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #212529;--bs-body-bg: #fff;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0,0,0,0.175);--bs-border-radius: .375rem;--bs-border-radius-sm: .25rem;--bs-border-radius-lg: .5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-2xl: 2rem;--bs-border-radius-pill: 50rem;--bs-link-color: #0d6efd;--bs-link-hover-color: #0a58ca;--bs-code-color: #000;--bs-highlight-bg: #fff3cd}*,*::before,*::after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:1px solid;opacity:.25}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:calc(1.325rem + .9vw)}@media (min-width: 1200px){h2,.h2{font-size:2rem}}h3,.h3{font-size:calc(1.3rem + .6vw)}@media (min-width: 1200px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{text-decoration:underline dotted;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;-ms-text-decoration:underline dotted;-o-text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem;padding:.625rem 1.25rem;border-left:.25rem solid #e9ecef}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}b,strong{font-weight:bolder}small,.small{font-size:.875em}mark,.mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--bs-link-color);text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}a:hover{color:var(--bs-link-hover-color)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em;color:#000;background-color:#f6f6f6;padding:.5rem;border:1px solid #dee2e6;border-radius:.375rem}pre code{background-color:transparent;font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);background-color:#f6f6f6;border-radius:.375rem;padding:.125rem .25rem;word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.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]:not([type="date"]):not([type="datetime-local"]):not([type="month"]):not([type="week"]):not([type="time"])::-webkit-calendar-picker-indicator{display:none !important}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button:not(:disabled),[type="button"]:not(:disabled),[type="reset"]:not(:disabled),[type="submit"]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .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}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none !important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.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:.875em;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid var(--bs-border-color);border-radius:.375rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container-sm,.container{max-width:540px}}@media (min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media (min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media (min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}@media (min-width: 1400px){.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1320px}}.row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;-webkit-flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%;-webkit-flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333%}.offset-2{margin-left:16.66667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333%}.offset-5{margin-left:41.66667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333%}.offset-8{margin-left:66.66667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333%}.offset-11{margin-left:91.66667%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: .25rem}.g-1,.gy-1{--bs-gutter-y: .25rem}.g-2,.gx-2{--bs-gutter-x: .5rem}.g-2,.gy-2{--bs-gutter-y: .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%;-webkit-flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-sm-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-sm-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-sm-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-sm-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-sm-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-sm-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-sm-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-sm-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-sm-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-sm-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333%}.offset-sm-2{margin-left:16.66667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333%}.offset-sm-5{margin-left:41.66667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333%}.offset-sm-8{margin-left:66.66667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333%}.offset-sm-11{margin-left:91.66667%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: .25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: .25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: .5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: .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%;-webkit-flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-md-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-md-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-md-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-md-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-md-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-md-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-md-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-md-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-md-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-md-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333%}.offset-md-2{margin-left:16.66667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333%}.offset-md-5{margin-left:41.66667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333%}.offset-md-8{margin-left:66.66667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333%}.offset-md-11{margin-left:91.66667%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: .25rem}.g-md-1,.gy-md-1{--bs-gutter-y: .25rem}.g-md-2,.gx-md-2{--bs-gutter-x: .5rem}.g-md-2,.gy-md-2{--bs-gutter-y: .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%;-webkit-flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-lg-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-lg-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-lg-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-lg-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-lg-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-lg-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-lg-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-lg-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-lg-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-lg-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333%}.offset-lg-2{margin-left:16.66667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333%}.offset-lg-5{margin-left:41.66667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333%}.offset-lg-8{margin-left:66.66667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333%}.offset-lg-11{margin-left:91.66667%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: .25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: .25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: .5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: .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%;-webkit-flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-xl-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-xl-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-xl-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-xl-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-xl-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-xl-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-xl-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-xl-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-xl-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-xl-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333%}.offset-xl-2{margin-left:16.66667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333%}.offset-xl-5{margin-left:41.66667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333%}.offset-xl-8{margin-left:66.66667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333%}.offset-xl-11{margin-left:91.66667%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: .25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: .25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: .5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: .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%;-webkit-flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-xxl-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-xxl-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-xxl-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-xxl-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-xxl-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-xxl-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-xxl-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-xxl-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-xxl-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-xxl-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333%}.offset-xxl-2{margin-left:16.66667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333%}.offset-xxl-5{margin-left:41.66667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333%}.offset-xxl-8{margin-left:66.66667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333%}.offset-xxl-11{margin-left:91.66667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: .25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: .25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: .5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: .5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.table{--bs-table-color: var(--bs-body-color);--bs-table-bg: rgba(0,0,0,0);--bs-table-border-color: var(--bs-border-color);--bs-table-accent-bg: rgba(0,0,0,0);--bs-table-striped-color: var(--bs-body-color);--bs-table-striped-bg: rgba(0,0,0,0.05);--bs-table-active-color: var(--bs-body-color);--bs-table-active-bg: rgba(0,0,0,0.1);--bs-table-hover-color: var(--bs-body-color);--bs-table-hover-bg: rgba(0,0,0,0.075);width:100%;margin-bottom:1rem;color:var(--bs-table-color);vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .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-group-divider{border-top:2px solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .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-striped-columns>:not(caption)>tr>:nth-child(even){--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-color: #000;--bs-table-bg: #cfe2ff;--bs-table-border-color: #bacbe6;--bs-table-striped-bg: #c5d7f2;--bs-table-striped-color: #000;--bs-table-active-bg: #bacbe6;--bs-table-active-color: #000;--bs-table-hover-bg: #bfd1ec;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: #e2e3e5;--bs-table-border-color: #cbccce;--bs-table-striped-bg: #d7d8da;--bs-table-striped-color: #000;--bs-table-active-bg: #cbccce;--bs-table-active-color: #000;--bs-table-hover-bg: #d1d2d4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: #d1e7dd;--bs-table-border-color: #bcd0c7;--bs-table-striped-bg: #c7dbd2;--bs-table-striped-color: #000;--bs-table-active-bg: #bcd0c7;--bs-table-active-color: #000;--bs-table-hover-bg: #c1d6cc;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: #cff4fc;--bs-table-border-color: #badce3;--bs-table-striped-bg: #c5e8ef;--bs-table-striped-color: #000;--bs-table-active-bg: #badce3;--bs-table-active-color: #000;--bs-table-hover-bg: #bfe2e9;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: #fff3cd;--bs-table-border-color: #e6dbb9;--bs-table-striped-bg: #f2e7c3;--bs-table-striped-color: #000;--bs-table-active-bg: #e6dbb9;--bs-table-active-color: #000;--bs-table-hover-bg: #ece1be;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: #f8d7da;--bs-table-border-color: #dfc2c4;--bs-table-striped-bg: #eccccf;--bs-table-striped-color: #000;--bs-table-active-bg: #dfc2c4;--bs-table-active-color: #000;--bs-table-hover-bg: #e5c7ca;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #f8f9fa;--bs-table-border-color: #dfe0e1;--bs-table-striped-bg: #ecedee;--bs-table-striped-color: #000;--bs-table-active-bg: #dfe0e1;--bs-table-active-color: #000;--bs-table-hover-bg: #e5e6e7;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #212529;--bs-table-border-color: #373b3e;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #fff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #fff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label,.shiny-input-container .control-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text,.help-text,.help-block{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;border-radius:.375rem;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:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.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::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:calc(1.5em + .75rem + 2px);padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0 !important;border-radius:.375rem}.form-control-color::-webkit-color-swatch{border-radius:.375rem}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + 2px)}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + 2px)}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(.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 5 6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.375rem;transition:border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media (prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.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:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:.25rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:.5rem}.form-check,.shiny-input-container .checkbox,.shiny-input-container .radio{display:block;min-height:1.5rem;padding-left:0;margin-bottom:.125rem}.form-check .form-check-input,.form-check .shiny-input-container .checkbox input,.form-check .shiny-input-container .radio input,.shiny-input-container .checkbox .form-check-input,.shiny-input-container .checkbox .shiny-input-container .checkbox input,.shiny-input-container .checkbox .shiny-input-container .radio input,.shiny-input-container .radio .form-check-input,.shiny-input-container .radio .shiny-input-container .checkbox input,.shiny-input-container .radio .shiny-input-container .radio input{float:left;margin-left:0}.form-check-reverse{padding-right:0;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:0;margin-left:0}.form-check-input,.shiny-input-container .checkbox input,.shiny-input-container .checkbox-inline input,.shiny-input-container .radio input,.shiny-input-container .radio-inline input{width:1em;height:1em;margin-top:.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);appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;print-color-adjust:exact}.form-check-input[type="checkbox"],.shiny-input-container .checkbox input[type="checkbox"],.shiny-input-container .checkbox-inline input[type="checkbox"],.shiny-input-container .radio input[type="checkbox"],.shiny-input-container .radio-inline input[type="checkbox"]{border-radius:.25em}.form-check-input[type="radio"],.shiny-input-container .checkbox input[type="radio"],.shiny-input-container .checkbox-inline input[type="radio"],.shiny-input-container .radio input[type="radio"],.shiny-input-container .radio-inline input[type="radio"]{border-radius:50%}.form-check-input:active,.shiny-input-container .checkbox input:active,.shiny-input-container .checkbox-inline input:active,.shiny-input-container .radio input:active,.shiny-input-container .radio-inline input:active{filter:brightness(90%)}.form-check-input:focus,.shiny-input-container .checkbox input:focus,.shiny-input-container .checkbox-inline input:focus,.shiny-input-container .radio input:focus,.shiny-input-container .radio-inline input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25)}.form-check-input:checked,.shiny-input-container .checkbox input:checked,.shiny-input-container .checkbox-inline input:checked,.shiny-input-container .radio input:checked,.shiny-input-container .radio-inline input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type="checkbox"],.shiny-input-container .checkbox input:checked[type="checkbox"],.shiny-input-container .checkbox-inline input:checked[type="checkbox"],.shiny-input-container .radio input:checked[type="checkbox"],.shiny-input-container .radio-inline 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 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type="radio"],.shiny-input-container .checkbox input:checked[type="radio"],.shiny-input-container .checkbox-inline input:checked[type="radio"],.shiny-input-container .radio input:checked[type="radio"],.shiny-input-container .radio-inline 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,.shiny-input-container .checkbox input[type="checkbox"]:indeterminate,.shiny-input-container .checkbox-inline input[type="checkbox"]:indeterminate,.shiny-input-container .radio input[type="checkbox"]:indeterminate,.shiny-input-container .radio-inline input[type="checkbox"]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;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,.shiny-input-container .checkbox input:disabled,.shiny-input-container .checkbox-inline input:disabled,.shiny-input-container .radio input:disabled,.shiny-input-container .radio-inline input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input[disabled]~span,.form-check-input:disabled~.form-check-label,.form-check-input:disabled~span,.shiny-input-container .checkbox input[disabled]~.form-check-label,.shiny-input-container .checkbox input[disabled]~span,.shiny-input-container .checkbox input:disabled~.form-check-label,.shiny-input-container .checkbox input:disabled~span,.shiny-input-container .checkbox-inline input[disabled]~.form-check-label,.shiny-input-container .checkbox-inline input[disabled]~span,.shiny-input-container .checkbox-inline input:disabled~.form-check-label,.shiny-input-container .checkbox-inline input:disabled~span,.shiny-input-container .radio input[disabled]~.form-check-label,.shiny-input-container .radio input[disabled]~span,.shiny-input-container .radio input:disabled~.form-check-label,.shiny-input-container .radio input:disabled~span,.shiny-input-container .radio-inline input[disabled]~.form-check-label,.shiny-input-container .radio-inline input[disabled]~span,.shiny-input-container .radio-inline input:disabled~.form-check-label,.shiny-input-container .radio-inline input:disabled~span{cursor:default;opacity:.5}.form-check-label,.shiny-input-container .checkbox label,.shiny-input-container .checkbox-inline label,.shiny-input-container .radio label,.shiny-input-container .radio-inline label{cursor:pointer}.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='%2386b7fe'/%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-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,0.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,0.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.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:#0d6efd;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.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-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;width:100%;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;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,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{opacity:.65;transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control-plaintext~label{border-width:1px 0}.input-group{position:relative;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:stretch;-webkit-align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding:.375rem .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:.375rem}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n + 3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n + 4),.input-group.has-validation>.form-floating:nth-last-child(n + 3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n + 3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,0.9);border-radius:.375rem}.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 + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#198754;box-shadow: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 + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .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 5 6 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.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,0.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3rem + calc(1.5em + .75rem))}.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 .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:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,0.9);border-radius:.375rem}.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 + .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(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#dc3545;box-shadow: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 + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .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 5 6 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 .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,0.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3rem + calc(1.5em + .75rem))}.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 .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:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: .75rem;--bs-btn-padding-y: .375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.5;--bs-btn-color: #212529;--bs-btn-bg: transparent;--bs-btn-border-width: 1px;--bs-btn-border-color: transparent;--bs-btn-border-radius: .375rem;--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075);--bs-btn-disabled-opacity: .65;--bs-btn-focus-box-shadow: 0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show,.btn.in{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn.in:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-default{--bs-btn-color: #000;--bs-btn-bg: #dee2e6;--bs-btn-border-color: #dee2e6;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #e3e6ea;--bs-btn-hover-border-color: #e1e5e9;--bs-btn-focus-shadow-rgb: 189,192,196;--bs-btn-active-color: #000;--bs-btn-active-bg: #e5e8eb;--bs-btn-active-border-color: #e1e5e9;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #dee2e6;--bs-btn-disabled-border-color: #dee2e6}.btn-primary{--bs-btn-color: #fff;--bs-btn-bg: #0d6efd;--bs-btn-border-color: #0d6efd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0b5ed7;--bs-btn-hover-border-color: #0a58ca;--bs-btn-focus-shadow-rgb: 49,132,253;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0a58ca;--bs-btn-active-border-color: #0a53be;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #0d6efd;--bs-btn-disabled-border-color: #0d6efd}.btn-secondary{--bs-btn-color: #fff;--bs-btn-bg: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5c636a;--bs-btn-hover-border-color: #565e64;--bs-btn-focus-shadow-rgb: 130,138,145;--bs-btn-active-color: #fff;--bs-btn-active-bg: #565e64;--bs-btn-active-border-color: #51585e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6c757d;--bs-btn-disabled-border-color: #6c757d}.btn-success{--bs-btn-color: #fff;--bs-btn-bg: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #157347;--bs-btn-hover-border-color: #146c43;--bs-btn-focus-shadow-rgb: 60,153,110;--bs-btn-active-color: #fff;--bs-btn-active-bg: #146c43;--bs-btn-active-border-color: #13653f;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #198754;--bs-btn-disabled-border-color: #198754}.btn-info{--bs-btn-color: #000;--bs-btn-bg: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #31d2f2;--bs-btn-hover-border-color: #25cff2;--bs-btn-focus-shadow-rgb: 11,172,204;--bs-btn-active-color: #000;--bs-btn-active-bg: #3dd5f3;--bs-btn-active-border-color: #25cff2;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #0dcaf0;--bs-btn-disabled-border-color: #0dcaf0}.btn-warning{--bs-btn-color: #000;--bs-btn-bg: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffca2c;--bs-btn-hover-border-color: #ffc720;--bs-btn-focus-shadow-rgb: 217,164,6;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffcd39;--bs-btn-active-border-color: #ffc720;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #ffc107;--bs-btn-disabled-border-color: #ffc107}.btn-danger{--bs-btn-color: #fff;--bs-btn-bg: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #bb2d3b;--bs-btn-hover-border-color: #b02a37;--bs-btn-focus-shadow-rgb: 225,83,97;--bs-btn-active-color: #fff;--bs-btn-active-bg: #b02a37;--bs-btn-active-border-color: #a52834;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #dc3545;--bs-btn-disabled-border-color: #dc3545}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #d3d4d5;--bs-btn-hover-border-color: #c6c7c8;--bs-btn-focus-shadow-rgb: 211,212,213;--bs-btn-active-color: #000;--bs-btn-active-bg: #c6c7c8;--bs-btn-active-border-color: #babbbc;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f8f9fa;--bs-btn-disabled-border-color: #f8f9fa}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #424649;--bs-btn-hover-border-color: #373b3e;--bs-btn-focus-shadow-rgb: 66,70,73;--bs-btn-active-color: #fff;--bs-btn-active-bg: #4d5154;--bs-btn-active-border-color: #373b3e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #212529;--bs-btn-disabled-border-color: #212529}.btn-outline-default{--bs-btn-color: #dee2e6;--bs-btn-border-color: #dee2e6;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #dee2e6;--bs-btn-hover-border-color: #dee2e6;--bs-btn-focus-shadow-rgb: 222,226,230;--bs-btn-active-color: #000;--bs-btn-active-bg: #dee2e6;--bs-btn-active-border-color: #dee2e6;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #dee2e6;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #dee2e6;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-primary{--bs-btn-color: #0d6efd;--bs-btn-border-color: #0d6efd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0d6efd;--bs-btn-hover-border-color: #0d6efd;--bs-btn-focus-shadow-rgb: 13,110,253;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0d6efd;--bs-btn-active-border-color: #0d6efd;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #0d6efd;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0d6efd;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6c757d;--bs-btn-hover-border-color: #6c757d;--bs-btn-focus-shadow-rgb: 108,117,125;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6c757d;--bs-btn-active-border-color: #6c757d;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6c757d;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #198754;--bs-btn-hover-border-color: #198754;--bs-btn-focus-shadow-rgb: 25,135,84;--bs-btn-active-color: #fff;--bs-btn-active-bg: #198754;--bs-btn-active-border-color: #198754;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #198754;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #198754;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #0dcaf0;--bs-btn-focus-shadow-rgb: 13,202,240;--bs-btn-active-color: #000;--bs-btn-active-bg: #0dcaf0;--bs-btn-active-border-color: #0dcaf0;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #0dcaf0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0dcaf0;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffc107;--bs-btn-hover-border-color: #ffc107;--bs-btn-focus-shadow-rgb: 255,193,7;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffc107;--bs-btn-active-border-color: #ffc107;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #ffc107;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #ffc107;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #dc3545;--bs-btn-hover-border-color: #dc3545;--bs-btn-focus-shadow-rgb: 220,53,69;--bs-btn-active-color: #fff;--bs-btn-active-bg: #dc3545;--bs-btn-active-border-color: #dc3545;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #dc3545;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #dc3545;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f8f9fa;--bs-btn-hover-border-color: #f8f9fa;--bs-btn-focus-shadow-rgb: 248,249,250;--bs-btn-active-color: #000;--bs-btn-active-bg: #f8f9fa;--bs-btn-active-border-color: #f8f9fa;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #f8f9fa;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f8f9fa;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #212529;--bs-btn-hover-border-color: #212529;--bs-btn-focus-shadow-rgb: 33,37,41;--bs-btn-active-color: #fff;--bs-btn-active-bg: #212529;--bs-btn-active-border-color: #212529;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #212529;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #212529;--bs-btn-bg: transparent;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: none;--bs-btn-focus-shadow-rgb: 49,132,253;text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: .5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius: .5rem}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: .25rem;--bs-btn-padding-x: .5rem;--bs-btn-font-size:.875rem;--bs-btn-border-radius: .25rem}.fade{transition:opacity 0.15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show):not(.in){opacity:0}.collapse:not(.show):not(.in){display:none}.collapsing{height:0;overflow:hidden;transition:height 0.35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width 0.35s ease}@media (prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: .5rem;--bs-dropdown-spacer: .125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color: #212529;--bs-dropdown-bg: #fff;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: .375rem;--bs-dropdown-border-width: 1px;--bs-dropdown-inner-border-radius: calc(.375rem - 1px);--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: .5rem;--bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);--bs-dropdown-link-color: #212529;--bs-dropdown-link-hover-color: #1e2125;--bs-dropdown-link-hover-bg: #e9ecef;--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: .25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: .5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .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}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider,.dropdown-menu>li.divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item,.dropdown-menu>li>a{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:hover,.dropdown-menu>li>a:hover,.dropdown-item:focus,.dropdown-menu>li>a:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-menu>li>a.active,.dropdown-item:active,.dropdown-menu>li>a:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-menu>li>a.disabled,.dropdown-item:disabled,.dropdown-menu>li>a:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show,.dropdown-menu.in{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255,255,255,0.15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto;-webkit-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;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;justify-content:flex-start;-webkit-justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:.375rem}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n + 3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.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:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;-webkit-flex-direction:column;align-items:flex-start;-webkit-align-items:flex-start;justify-content:center;-webkit-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{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: #6c757d;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link,.nav-tabs>li>a,.nav-pills>li>a,ul.nav.navbar-nav>li>a{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-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,.nav-tabs>li>a,.nav-pills>li>a,ul.nav.navbar-nav>li>a{transition:none}}.nav-link:hover,.nav-tabs>li>a:hover,.nav-pills>li>a:hover,ul.nav.navbar-nav>li>a:hover,.nav-link:focus,.nav-tabs>li>a:focus,.nav-pills>li>a:focus,ul.nav.navbar-nav>li>a:focus{color:var(--bs-nav-link-hover-color)}.nav-link.disabled,.nav-tabs>li>a.disabled,.nav-pills>li>a.disabled,ul.nav.navbar-nav>li>a.disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: 1px;--bs-nav-tabs-border-color: #dee2e6;--bs-nav-tabs-border-radius: .375rem;--bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #dee2e6;--bs-nav-tabs-link-active-color: #495057;--bs-nav-tabs-link-active-bg: #fff;--bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #fff;border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link,.nav-tabs>li>a,.nav-tabs .nav-pills>li>a,.nav-tabs ul.nav.navbar-nav>li>a{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));background:none;border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs>li>a:hover,.nav-tabs .nav-pills>li>a:hover,.nav-tabs ul.nav.navbar-nav>li>a:hover,.nav-tabs .nav-link:focus,.nav-tabs>li>a:focus,.nav-tabs .nav-pills>li>a:focus,.nav-tabs ul.nav.navbar-nav>li>a:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.disabled,.nav-tabs>li>a.disabled,.nav-tabs .nav-pills>li>a.disabled,.nav-tabs ul.nav.navbar-nav>li>a.disabled,.nav-tabs .nav-link:disabled,.nav-tabs>li>a:disabled,.nav-tabs .nav-pills>li>a:disabled,.nav-tabs ul.nav.navbar-nav>li>a:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs>li>a.active,.nav-tabs .nav-pills>li>a.active,.nav-tabs ul.nav.navbar-nav>li>a.active,.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-item.in .nav-link,.nav-tabs .nav-item.show .nav-tabs>li>a,.nav-tabs .nav-item.in .nav-tabs>li>a,.nav-tabs .nav-item.show .nav-pills>li>a,.nav-tabs .nav-item.in .nav-pills>li>a,.nav-tabs>li.show .nav-link,.nav-tabs>li.in .nav-link,.nav-tabs>li.show .nav-tabs>li>a,.nav-tabs>li.in .nav-tabs>li>a,.nav-tabs>li.show .nav-pills>li>a,.nav-tabs>li.in .nav-pills>li>a,.nav-tabs .nav-pills>li.show .nav-link,.nav-tabs .nav-pills>li.in .nav-link,.nav-tabs .nav-pills>li.show .nav-tabs>li>a,.nav-tabs .nav-pills>li.in .nav-tabs>li>a,.nav-tabs .nav-pills>li.show .nav-pills>li>a,.nav-tabs .nav-pills>li.in .nav-pills>li>a,.nav-tabs .nav-item.show ul.nav.navbar-nav>li>a,.nav-tabs .nav-item.in ul.nav.navbar-nav>li>a,.nav-tabs>li.show ul.nav.navbar-nav>li>a,.nav-tabs>li.in ul.nav.navbar-nav>li>a,.nav-tabs .nav-pills>li.show ul.nav.navbar-nav>li>a,.nav-tabs .nav-pills>li.in ul.nav.navbar-nav>li>a,.nav-tabs ul.nav.navbar-nav>li.show:not(.dropdown) .nav-link,.nav-tabs ul.nav.navbar-nav>li.in:not(.dropdown) .nav-link,.nav-tabs ul.nav.navbar-nav>li.show:not(.dropdown) .nav-tabs>li>a,.nav-tabs ul.nav.navbar-nav>li.in:not(.dropdown) .nav-tabs>li>a,.nav-tabs ul.nav.navbar-nav>li.show:not(.dropdown) .nav-pills>li>a,.nav-tabs ul.nav.navbar-nav>li.in:not(.dropdown) .nav-pills>li>a,.nav-tabs ul.nav.navbar-nav>li.show:not(.dropdown) ul.nav.navbar-nav>li>a,.nav-tabs ul.nav.navbar-nav>li.in:not(.dropdown) ul.nav.navbar-nav>li>a{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius: .375rem;--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}.nav-pills .nav-link,.nav-pills .nav-tabs>li>a,.nav-pills>li>a,.nav-pills ul.nav.navbar-nav>li>a{background:none;border:0;border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link:disabled,.nav-pills .nav-tabs>li>a:disabled,.nav-pills>li>a:disabled,.nav-pills ul.nav.navbar-nav>li>a:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-pills .nav-link.active,.nav-pills .nav-tabs>li>a.active,.nav-pills>li>a.active,.nav-pills ul.nav.navbar-nav>li>a.active,.nav-pills .show>.nav-link,.nav-pills .in>.nav-link,.nav-pills .nav-tabs>li.show>a,.nav-pills .nav-tabs>li.in>a,.nav-pills>li.show>a,.nav-pills>li.in>a,.nav-pills ul.nav.navbar-nav>li.show>a,.nav-pills ul.nav.navbar-nav>li.in>a{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-fill>.nav-link,.nav-tabs>li.nav-fill>a,.nav-pills>li.nav-fill>a,ul.nav.navbar-nav>li.nav-fill>a,.nav-fill .nav-item,.nav-fill .nav-tabs>li,.nav-fill .nav-pills>li,.nav-fill ul.nav.navbar-nav>li:not(.dropdown){flex:1 1 auto;-webkit-flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-tabs>li.nav-justified>a,.nav-pills>li.nav-justified>a,ul.nav.navbar-nav>li.nav-justified>a,.nav-justified .nav-item,.nav-justified .nav-tabs>li,.nav-justified .nav-pills>li,.nav-justified ul.nav.navbar-nav>li:not(.dropdown){flex-basis:0;-webkit-flex-basis:0;flex-grow:1;-webkit-flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-fill .nav-tabs>li .nav-link,.nav-fill .nav-tabs>li>a,.nav-fill .nav-pills>li .nav-link,.nav-fill .nav-pills>li>a,.nav-fill .nav-item ul.nav.navbar-nav>li>a,.nav-fill .nav-tabs>li ul.nav.navbar-nav>li>a,.nav-fill .nav-pills>li ul.nav.navbar-nav>li>a,.nav-fill ul.nav.navbar-nav>li:not(.dropdown) .nav-link,.nav-fill ul.nav.navbar-nav>li:not(.dropdown) .nav-tabs>li>a,.nav-fill ul.nav.navbar-nav>li:not(.dropdown) .nav-pills>li>a,.nav-fill ul.nav.navbar-nav>li:not(.dropdown) ul.nav.navbar-nav>li>a,.nav-justified .nav-item .nav-link,.nav-justified .nav-tabs>li .nav-link,.nav-justified .nav-tabs>li>a,.nav-justified .nav-pills>li .nav-link,.nav-justified .nav-pills>li>a,.nav-justified .nav-item ul.nav.navbar-nav>li>a,.nav-justified .nav-tabs>li ul.nav.navbar-nav>li>a,.nav-justified .nav-pills>li ul.nav.navbar-nav>li>a,.nav-justified ul.nav.navbar-nav>li:not(.dropdown) .nav-link,.nav-justified ul.nav.navbar-nav>li:not(.dropdown) .nav-tabs>li>a,.nav-justified ul.nav.navbar-nav>li:not(.dropdown) .nav-pills>li>a,.nav-justified ul.nav.navbar-nav>li:not(.dropdown) ul.nav.navbar-nav>li>a{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(0,0,0,0.55);--bs-navbar-hover-color: rgba(0,0,0,0.7);--bs-navbar-disabled-color: rgba(0,0,0,0.3);--bs-navbar-active-color: rgba(0,0,0,0.9);--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(0,0,0,0.9);--bs-navbar-brand-hover-color: rgba(0,0,0,0.9);--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280,0,0,0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(0,0,0,0.1);--bs-navbar-toggler-border-radius: .375rem;--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;position:relative;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;display:-webkit-flex;flex-wrap:inherit;-webkit-flex-wrap:inherit;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .show>.nav-link,.navbar-nav .in>.nav-link,.navbar-nav .nav-tabs>li.show>a,.navbar-nav .nav-tabs>li.in>a,.navbar-nav .nav-pills>li.show>a,.navbar-nav .nav-pills>li.in>a,ul.nav.navbar-nav>li.show>a,ul.nav.navbar-nav>li.in>a,.navbar-nav .active>.nav-link,.navbar-nav .nav-tabs>li.active>a,.navbar-nav .nav-pills>li.active>a,ul.nav.navbar-nav>li.active>a,.navbar-nav .nav-link.active,.navbar-nav .nav-tabs>li>a.active,.navbar-nav .nav-pills>li>a.active,ul.nav.navbar-nav>li>a.active{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;-webkit-flex-basis:100%;flex-grow:1;-webkit-flex-grow:1;align-items:center;-webkit-align-items:center}.navbar-toggler,.navbar-toggle{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion: reduce){.navbar-toggler,.navbar-toggle{transition:none}}.navbar-toggler:hover,.navbar-toggle:hover{text-decoration:none}.navbar-toggler:focus,.navbar-toggle:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon,.navbar-toggle>.icon-bar:last-child{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 576px){.navbar-expand-sm,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl){flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-sm .navbar-nav,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link,.navbar-expand-sm .navbar-nav .nav-tabs>li>a,.navbar-expand-sm .navbar-nav .nav-pills>li>a,.navbar-expand-sm ul.nav.navbar-nav>li>a,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav .nav-link,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav .nav-tabs>li>a,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav .nav-pills>li>a,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) ul.nav.navbar-nav>li>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-sm .navbar-toggler,.navbar-expand-sm .navbar-toggle,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-toggler,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-toggle{display:none}.navbar-expand-sm .offcanvas,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link,.navbar-expand-md .navbar-nav .nav-tabs>li>a,.navbar-expand-md .navbar-nav .nav-pills>li>a,.navbar-expand-md ul.nav.navbar-nav>li>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-md .navbar-toggler,.navbar-expand-md .navbar-toggle{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link,.navbar-expand-lg .navbar-nav .nav-tabs>li>a,.navbar-expand-lg .navbar-nav .nav-pills>li>a,.navbar-expand-lg ul.nav.navbar-nav>li>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-lg .navbar-toggler,.navbar-expand-lg .navbar-toggle{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link,.navbar-expand-xl .navbar-nav .nav-tabs>li>a,.navbar-expand-xl .navbar-nav .nav-pills>li>a,.navbar-expand-xl ul.nav.navbar-nav>li>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-xl .navbar-toggler,.navbar-expand-xl .navbar-toggle{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link,.navbar-expand-xxl .navbar-nav .nav-tabs>li>a,.navbar-expand-xxl .navbar-nav .nav-pills>li>a,.navbar-expand-xxl ul.nav.navbar-nav>li>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-xxl .navbar-toggler,.navbar-expand-xxl .navbar-toggle{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link,.navbar-expand .navbar-nav .nav-tabs>li>a,.navbar-expand .navbar-nav .nav-pills>li>a,.navbar-expand ul.nav.navbar-nav>li>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand .navbar-toggler,.navbar-expand .navbar-toggle{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}.navbar-light,.navbar.navbar-default{background-color:#f8f9fa}.navbar-dark,.navbar.navbar-inverse{background-color:#212529;--bs-navbar-color: rgba(255,255,255,0.55);--bs-navbar-hover-color: rgba(255,255,255,0.75);--bs-navbar-disabled-color: rgba(255,255,255,0.25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255,255,255,0.1);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card,.well{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: .5rem;--bs-card-border-width: 1px;--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: .375rem;--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(.375rem - 1px);--bs-card-cap-padding-y: .5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(0,0,0,0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: #fff;--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: .75rem;position:relative;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;min-width:0;height:var(--bs-card-height);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr,.well>hr{margin-right:0;margin-left:0}.card>.list-group,.well>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child,.well>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child,.well>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.well>.card-header+.list-group,.card>.list-group+.card-footer,.well>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;-webkit-flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active,.card-header-tabs .nav-tabs>li>a.active,.card-header-tabs .nav-pills>li>a.active,.card-header-tabs ul.nav.navbar-nav>li>a.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card,.card-group>.well{margin-bottom:var(--bs-card-group-margin)}@media (min-width: 576px){.card-group{display:flex;display:-webkit-flex;flex-flow:row wrap;-webkit-flex-flow:row wrap}.card-group>.card,.card-group>.well{flex:1 0 0%;-webkit-flex:1 0 0%;margin-bottom:0}.card-group>.card+.card,.card-group>.well+.card,.card-group>.card+.well,.card-group>.well+.well{margin-left:0;border-left:0}.card-group>.card:not(:last-child),.card-group>.well:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.well:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header,.card-group>.well:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.well:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer,.card-group>.well:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child),.card-group>.well:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.well:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header,.card-group>.well:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.well:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer,.card-group>.well:not(:first-child) .card-footer{border-bottom-left-radius:0}}.accordion{--bs-accordion-color: #212529;--bs-accordion-bg: #fff;--bs-accordion-transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: 1px;--bs-accordion-border-radius: .375rem;--bs-accordion-inner-border-radius: calc(.375rem - 1px);--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: #212529;--bs-accordion-btn-bg: var(--bs-accordion-bg);--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill=''%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color: #86b7fe;--bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(13,110,253,0.25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: ;--bs-accordion-active-bg: }.accordion-button{position:relative;display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;-webkit-flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion: reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse,.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-collapse{border-width:0}.accordion-flush .accordion-item,.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child,.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child,.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}.breadcrumb{--bs-breadcrumb-padding-x: 0;--bs-breadcrumb-padding-y: 0;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color: #6c757d;--bs-breadcrumb-item-padding-x: .5rem;--bs-breadcrumb-item-active-color: #6c757d;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x: .75rem;--bs-pagination-padding-y: .375rem;--bs-pagination-font-size:1rem;--bs-pagination-color: var(--bs-link-color);--bs-pagination-bg: #fff;--bs-pagination-border-width: 1px;--bs-pagination-border-color: #dee2e6;--bs-pagination-border-radius: .375rem;--bs-pagination-hover-color: var(--bs-link-hover-color);--bs-pagination-hover-bg: #e9ecef;--bs-pagination-hover-border-color: #dee2e6;--bs-pagination-focus-color: var(--bs-link-hover-color);--bs-pagination-focus-bg: #e9ecef;--bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(13,110,253,0.25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #0d6efd;--bs-pagination-active-border-color: #0d6efd;--bs-pagination-disabled-color: #6c757d;--bs-pagination-disabled-bg: #fff;--bs-pagination-disabled-border-color: #dee2e6;display:flex;display:-webkit-flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: .75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius: .5rem}.pagination-sm{--bs-pagination-padding-x: .5rem;--bs-pagination-padding-y: .25rem;--bs-pagination-font-size:.875rem;--bs-pagination-border-radius: .25rem}.badge{--bs-badge-padding-x: .65em;--bs-badge-padding-y: .35em;--bs-badge-font-size:.75em;--bs-badge-font-weight: 700;--bs-badge-color: #fff;--bs-badge-border-radius: .375rem;display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: 1px solid var(--bs-alert-border-color);--bs-alert-border-radius: .375rem;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-default{--bs-alert-color: #595a5c;--bs-alert-bg: #f8f9fa;--bs-alert-border-color: #f5f6f8}.alert-default .alert-link{color:#47484a}.alert-primary{--bs-alert-color: #084298;--bs-alert-bg: #cfe2ff;--bs-alert-border-color: #b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{--bs-alert-color: #41464b;--bs-alert-bg: #e2e3e5;--bs-alert-border-color: #d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{--bs-alert-color: #0f5132;--bs-alert-bg: #d1e7dd;--bs-alert-border-color: #badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{--bs-alert-color: #055160;--bs-alert-bg: #cff4fc;--bs-alert-border-color: #b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{--bs-alert-color: #664d03;--bs-alert-bg: #fff3cd;--bs-alert-border-color: #ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{--bs-alert-color: #842029;--bs-alert-bg: #f8d7da;--bs-alert-border-color: #f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{--bs-alert-color: #636464;--bs-alert-bg: #fefefe;--bs-alert-border-color: #fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{--bs-alert-color: #141619;--bs-alert-bg: #d3d3d4;--bs-alert-border-color: #bcbebf}.alert-dark .alert-link{color:#101214}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{--bs-progress-height: 1rem;--bs-progress-font-size:.75rem;--bs-progress-bg: #e9ecef;--bs-progress-border-radius: .375rem;--bs-progress-box-shadow: inset 0 1px 2px rgba(0,0,0,0.075);--bs-progress-bar-color: #fff;--bs-progress-bar-bg: #0d6efd;--bs-progress-bar-transition: width 0.6s ease;display:flex;display:-webkit-flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;justify-content:center;-webkit-justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color: #212529;--bs-list-group-bg: #fff;--bs-list-group-border-color: rgba(0,0,0,0.125);--bs-list-group-border-width: 1px;--bs-list-group-border-radius: .375rem;--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: .5rem;--bs-list-group-action-color: #495057;--bs-list-group-action-hover-color: #495057;--bs-list-group-action-hover-bg: #f8f9fa;--bs-list-group-action-active-color: #212529;--bs-list-group-action-active-bg: #e9ecef;--bs-list-group-disabled-color: #6c757d;--bs-list-group-disabled-bg: #fff;--bs-list-group-active-color: #fff;--bs-list-group-active-bg: #0d6efd;--bs-list-group-active-border-color: #0d6efd;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-default{color:#595a5c;background-color:#f8f9fa}.list-group-item-default.list-group-item-action:hover,.list-group-item-default.list-group-item-action:focus{color:#595a5c;background-color:#dfe0e1}.list-group-item-default.list-group-item-action.active{color:#fff;background-color:#595a5c;border-color:#595a5c}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.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:.25em .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 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25);opacity:1}.btn-close:disabled,.btn-close.disabled{pointer-events:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: .75rem;--bs-toast-padding-y: .5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size:.875rem;--bs-toast-color: ;--bs-toast-bg: rgba(255,255,255,0.85);--bs-toast-border-width: 1px;--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: .375rem;--bs-toast-box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);--bs-toast-header-color: #6c757d;--bs-toast-header-bg: rgba(255,255,255,0.85);--bs-toast-header-border-color: rgba(0,0,0,0.05);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show):not(.in){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;width:-webkit-max-content;width:-moz-max-content;width:-ms-max-content;width:-o-max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: .5rem;--bs-modal-color: ;--bs-modal-bg: #fff;--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: 1px;--bs-modal-border-radius: .5rem;--bs-modal-box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075);--bs-modal-inner-border-radius: calc(.5rem - 1px);--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: 1px;--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: .5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: 1px;position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform 0.3s ease-out;transform:translate(0, -50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog,.modal.in .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show,.modal-backdrop.in{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;display:-webkit-flex;flex-shrink:0;-webkit-flex-shrink:0;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;display:-webkit-flex;flex-shrink:0;-webkit-flex-shrink:0;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:center;-webkit-align-items:center;justify-content:flex-end;-webkit-justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media (min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media (min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: .5rem;--bs-tooltip-padding-y: .25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:.875rem;--bs-tooltip-color: #fff;--bs-tooltip-bg: #000;--bs-tooltip-border-radius: .375rem;--bs-tooltip-opacity: .9;--bs-tooltip-arrow-width: .8rem;--bs-tooltip-arrow-height: .4rem;z-index:var(--bs-tooltip-zindex);display:block;padding:var(--bs-tooltip-arrow-height);margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show,.tooltip.in{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow{bottom:0}.bs-tooltip-top .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow{left:0;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.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 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow{right:0;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size:.875rem;--bs-popover-bg: #fff;--bs-popover-border-width: 1px;--bs-popover-border-color: var(--bs-border-color-translucent);--bs-popover-border-radius: .5rem;--bs-popover-inner-border-radius: calc(.5rem - 1px);--bs-popover-box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: .5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color: ;--bs-popover-header-bg: #f0f0f0;--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: #212529;--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: .5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::before,.popover .popover-arrow::after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::after{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header::before,.bs-popover-auto[data-popper-placement^="bottom"] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y;-webkit-touch-action:pan-y;-moz-touch-action:pan-y;-ms-touch-action:pan-y;-o-touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-o-backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .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;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:center;-webkit-justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.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:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.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;display:-webkit-flex;justify-content:center;-webkit-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;-webkit-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:.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}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg) /* rtl:ignore */}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-border-width: .25em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: .2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.offcanvas,.offcanvas-xxl,.offcanvas-xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: ;--bs-offcanvas-bg: #fff;--bs-offcanvas-border-width: 1px;--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075)}@media (max-width: 575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 575.98px) and (prefers-reduced-motion: reduce){.offcanvas-sm{transition:none}}@media (max-width: 575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding),.offcanvas-sm.in:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.in{visibility:visible}}@media (min-width: 576px){.offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}@media (max-width: 767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 767.98px) and (prefers-reduced-motion: reduce){.offcanvas-md{transition:none}}@media (max-width: 767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding),.offcanvas-md.in:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.in{visibility:visible}}@media (min-width: 768px){.offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}@media (max-width: 991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 991.98px) and (prefers-reduced-motion: reduce){.offcanvas-lg{transition:none}}@media (max-width: 991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding),.offcanvas-lg.in:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.in{visibility:visible}}@media (min-width: 992px){.offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}@media (max-width: 1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce){.offcanvas-xl{transition:none}}@media (max-width: 1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding),.offcanvas-xl.in:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.in{visibility:visible}}@media (min-width: 1200px){.offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}@media (max-width: 1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce){.offcanvas-xxl{transition:none}}@media (max-width: 1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.in:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.in{visibility:visible}}@media (min-width: 1400px){.offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding),.offcanvas.in:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show,.offcanvas.in{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,.offcanvas-backdrop.in{opacity:.5}.offcanvas-header{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;-webkit-flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{mask-image:linear-gradient(130deg, #000 55%, rgba(0,0,0,0.8) 75%, #000 95%);-webkit-mask-image:linear-gradient(130deg, #000 55%, rgba(0,0,0,0.8) 75%, #000 95%);mask-size:200% 100%;-webkit-mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{mask-position:-200% 0%;-webkit-mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-default{color:#000 !important;background-color:RGBA(222,226,230, var(--bs-bg-opacity, 1)) !important}.text-bg-primary{color:#fff !important;background-color:RGBA(13,110,253, var(--bs-bg-opacity, 1)) !important}.text-bg-secondary{color:#fff !important;background-color:RGBA(108,117,125, var(--bs-bg-opacity, 1)) !important}.text-bg-success{color:#fff !important;background-color:RGBA(25,135,84, var(--bs-bg-opacity, 1)) !important}.text-bg-info{color:#000 !important;background-color:RGBA(13,202,240, var(--bs-bg-opacity, 1)) !important}.text-bg-warning{color:#000 !important;background-color:RGBA(255,193,7, var(--bs-bg-opacity, 1)) !important}.text-bg-danger{color:#fff !important;background-color:RGBA(220,53,69, var(--bs-bg-opacity, 1)) !important}.text-bg-light{color:#000 !important;background-color:RGBA(248,249,250, var(--bs-bg-opacity, 1)) !important}.text-bg-dark{color:#fff !important;background-color:RGBA(33,37,41, var(--bs-bg-opacity, 1)) !important}.link-default{color:#dee2e6 !important}.link-default:hover,.link-default:focus{color:#e5e8eb !important}.link-primary{color:#0d6efd !important}.link-primary:hover,.link-primary:focus{color:#0a58ca !important}.link-secondary{color:#6c757d !important}.link-secondary:hover,.link-secondary:focus{color:#565e64 !important}.link-success{color:#198754 !important}.link-success:hover,.link-success:focus{color:#146c43 !important}.link-info{color:#0dcaf0 !important}.link-info:hover,.link-info:focus{color:#3dd5f3 !important}.link-warning{color:#ffc107 !important}.link-warning:hover,.link-warning:focus{color:#ffcd39 !important}.link-danger{color:#dc3545 !important}.link-danger:hover,.link-danger:focus{color:#b02a37 !important}.link-light{color:#f8f9fa !important}.link-light:hover,.link-light:focus{color:#f9fafb !important}.link-dark{color:#212529 !important}.link-dark:hover,.link-dark:focus{color:#1a1e21 !important}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: calc(3 / 4 * 100%)}.ratio-16x9{--bs-aspect-ratio: calc(9 / 16 * 100%)}.ratio-21x9{--bs-aspect-ratio: calc(9 / 21 * 100%)}.fixed-top,.navbar-fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom,.navbar-fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top,.navbar-sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;display:-webkit-flex;flex-direction:row;-webkit-flex-direction:row;align-items:center;-webkit-align-items:center;align-self:stretch;-webkit-align-self:stretch}.vstack{display:flex;display:-webkit-flex;flex:1 1 auto;-webkit-flex:1 1 auto;flex-direction:column;-webkit-flex-direction:column;align-self:stretch;-webkit-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;-webkit-align-self:stretch;width:1px;min-height:1em;background-color:currentcolor;opacity:.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{float:left !important}.float-end,.float-right{float:right !important}.float-none{float:none !important}.opacity-0{opacity:0 !important}.opacity-25{opacity:.25 !important}.opacity-50{opacity:.5 !important}.opacity-75{opacity:.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:sticky !important}.top-0{top:0 !important}.top-50{top:50% !important}.top-100{top:100% !important}.bottom-0{bottom:0 !important}.bottom-50{bottom:50% !important}.bottom-100{bottom:100% !important}.start-0{left:0 !important}.start-50{left:50% !important}.start-100{left:100% !important}.end-0{right:0 !important}.end-50{right:50% !important}.end-100{right:100% !important}.translate-middle{transform:translate(-50%, -50%) !important}.translate-middle-x{transform:translateX(-50%) !important}.translate-middle-y{transform:translateY(-50%) !important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-0{border:0 !important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-top-0{border-top:0 !important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-end-0{border-right:0 !important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-bottom-0{border-bottom:0 !important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-start-0{border-left:0 !important}.border-default{--bs-border-opacity: 1;border-color:rgba(var(--bs-default-rgb), var(--bs-border-opacity)) !important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important}.border-1{--bs-border-width: 1px}.border-2{--bs-border-width: 2px}.border-3{--bs-border-width: 3px}.border-4{--bs-border-width: 4px}.border-5{--bs-border-width: 5px}.border-opacity-10{--bs-border-opacity: .1}.border-opacity-25{--bs-border-opacity: .25}.border-opacity-50{--bs-border-opacity: .5}.border-opacity-75{--bs-border-opacity: .75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.mw-100{max-width:100% !important}.vw-100{width:100vw !important}.min-vw-100{min-width:100vw !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mh-100{max-height:100% !important}.vh-100{height:100vh !important}.min-vh-100{min-height:100vh !important}.flex-fill{flex:1 1 auto !important}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.justify-content-evenly{justify-content:space-evenly !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}.order-first{order:-1 !important}.order-0{order:0 !important}.order-1{order:1 !important}.order-2{order:2 !important}.order-3{order:3 !important}.order-4{order:4 !important}.order-5{order:5 !important}.order-last{order:6 !important}.m-0{margin:0 !important}.m-1{margin:.25rem !important}.m-2{margin:.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:.25rem !important;margin-left:.25rem !important}.mx-2{margin-right:.5rem !important;margin-left:.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:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.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:.25rem !important}.mt-2{margin-top:.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:.25rem !important}.me-2{margin-right:.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:.25rem !important}.mb-2{margin-bottom:.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:.25rem !important}.ms-2{margin-left:.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:.25rem !important}.p-2{padding:.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:.25rem !important;padding-left:.25rem !important}.px-2{padding-right:.5rem !important;padding-left:.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:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.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:.25rem !important}.pt-2{padding-top:.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:.25rem !important}.pe-2{padding-right:.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:.25rem !important}.pb-2{padding-bottom:.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:.25rem !important}.ps-2{padding-left:.5rem !important}.ps-3{padding-left:1rem !important}.ps-4{padding-left:1.5rem !important}.ps-5{padding-left:3rem !important}.gap-0{gap:0 !important}.gap-1{gap:.25rem !important}.gap-2{gap:.5rem !important}.gap-3{gap:1rem !important}.gap-4{gap:1.5rem !important}.gap-5{gap:3rem !important}.font-monospace{font-family:var(--bs-font-monospace) !important}.fs-1{font-size:calc(1.375rem + 1.5vw) !important}.fs-2{font-size:calc(1.325rem + .9vw) !important}.fs-3{font-size:calc(1.3rem + .6vw) !important}.fs-4{font-size:calc(1.275rem + .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-semibold{font-weight:600 !important}.fw-bolder{font-weight:bolder !important}.lh-1{line-height:1 !important}.lh-sm{line-height:1.25 !important}.lh-base{line-height:1.5 !important}.lh-lg{line-height:2 !important}.text-start{text-align:left !important}.text-end{text-align:right !important}.text-center{text-align:center !important}.text-decoration-none{text-decoration:none !important}.text-decoration-underline{text-decoration:underline !important}.text-decoration-line-through{text-decoration:line-through !important}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-break{word-wrap:break-word !important;word-break:break-word !important}.text-default{--bs-text-opacity: 1;color:rgba(var(--bs-default-rgb), var(--bs-text-opacity)) !important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important}.text-muted,.help-text,.help-block{--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: .25}.text-opacity-50{--bs-text-opacity: .5}.text-opacity-75{--bs-text-opacity: .75}.text-opacity-100{--bs-text-opacity: 1}.bg-default{--bs-bg-opacity: 1;background-color:rgba(var(--bs-default-rgb), var(--bs-bg-opacity)) !important}.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:rgba(0,0,0,0) !important}.bg-opacity-10{--bs-bg-opacity: .1}.bg-opacity-25{--bs-bg-opacity: .25}.bg-opacity-50{--bs-bg-opacity: .5}.bg-opacity-75{--bs-bg-opacity: .75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-gradient{background-image:var(--bs-gradient) !important}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.pe-none{pointer-events:none !important}.pe-auto{pointer-events:auto !important}.rounded{border-radius:var(--bs-border-radius) !important}.rounded-0{border-radius:0 !important}.rounded-1{border-radius:var(--bs-border-radius-sm) !important}.rounded-2{border-radius:var(--bs-border-radius) !important}.rounded-3{border-radius:var(--bs-border-radius-lg) !important}.rounded-4{border-radius:var(--bs-border-radius-xl) !important}.rounded-5{border-radius:var(--bs-border-radius-2xl) !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:var(--bs-border-radius-pill) !important}.rounded-top{border-top-left-radius:var(--bs-border-radius) !important;border-top-right-radius:var(--bs-border-radius) !important}.rounded-end{border-top-right-radius:var(--bs-border-radius) !important;border-bottom-right-radius:var(--bs-border-radius) !important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius) !important;border-bottom-left-radius:var(--bs-border-radius) !important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius) !important;border-top-left-radius:var(--bs-border-radius) !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}.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:.25rem !important}.m-sm-2{margin:.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:.25rem !important;margin-left:.25rem !important}.mx-sm-2{margin-right:.5rem !important;margin-left:.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:.25rem !important;margin-bottom:.25rem !important}.my-sm-2{margin-top:.5rem !important;margin-bottom:.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:.25rem !important}.mt-sm-2{margin-top:.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:.25rem !important}.me-sm-2{margin-right:.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:.25rem !important}.mb-sm-2{margin-bottom:.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:.25rem !important}.ms-sm-2{margin-left:.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:.25rem !important}.p-sm-2{padding:.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:.25rem !important;padding-left:.25rem !important}.px-sm-2{padding-right:.5rem !important;padding-left:.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:.25rem !important;padding-bottom:.25rem !important}.py-sm-2{padding-top:.5rem !important;padding-bottom:.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:.25rem !important}.pt-sm-2{padding-top:.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:.25rem !important}.pe-sm-2{padding-right:.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:.25rem !important}.pb-sm-2{padding-bottom:.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:.25rem !important}.ps-sm-2{padding-left:.5rem !important}.ps-sm-3{padding-left:1rem !important}.ps-sm-4{padding-left:1.5rem !important}.ps-sm-5{padding-left:3rem !important}.gap-sm-0{gap:0 !important}.gap-sm-1{gap:.25rem !important}.gap-sm-2{gap:.5rem !important}.gap-sm-3{gap:1rem !important}.gap-sm-4{gap:1.5rem !important}.gap-sm-5{gap:3rem !important}.text-sm-start{text-align:left !important}.text-sm-end{text-align:right !important}.text-sm-center{text-align:center !important}}@media (min-width: 768px){.float-md-start{float:left !important}.float-md-end{float:right !important}.float-md-none{float:none !important}.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}.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:.25rem !important}.m-md-2{margin:.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:.25rem !important;margin-left:.25rem !important}.mx-md-2{margin-right:.5rem !important;margin-left:.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:.25rem !important;margin-bottom:.25rem !important}.my-md-2{margin-top:.5rem !important;margin-bottom:.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:.25rem !important}.mt-md-2{margin-top:.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:.25rem !important}.me-md-2{margin-right:.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:.25rem !important}.mb-md-2{margin-bottom:.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:.25rem !important}.ms-md-2{margin-left:.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:.25rem !important}.p-md-2{padding:.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:.25rem !important;padding-left:.25rem !important}.px-md-2{padding-right:.5rem !important;padding-left:.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:.25rem !important;padding-bottom:.25rem !important}.py-md-2{padding-top:.5rem !important;padding-bottom:.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:.25rem !important}.pt-md-2{padding-top:.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:.25rem !important}.pe-md-2{padding-right:.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:.25rem !important}.pb-md-2{padding-bottom:.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:.25rem !important}.ps-md-2{padding-left:.5rem !important}.ps-md-3{padding-left:1rem !important}.ps-md-4{padding-left:1.5rem !important}.ps-md-5{padding-left:3rem !important}.gap-md-0{gap:0 !important}.gap-md-1{gap:.25rem !important}.gap-md-2{gap:.5rem !important}.gap-md-3{gap:1rem !important}.gap-md-4{gap:1.5rem !important}.gap-md-5{gap:3rem !important}.text-md-start{text-align:left !important}.text-md-end{text-align:right !important}.text-md-center{text-align:center !important}}@media (min-width: 992px){.float-lg-start{float:left !important}.float-lg-end{float:right !important}.float-lg-none{float:none !important}.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}.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:.25rem !important}.m-lg-2{margin:.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:.25rem !important;margin-left:.25rem !important}.mx-lg-2{margin-right:.5rem !important;margin-left:.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:.25rem !important;margin-bottom:.25rem !important}.my-lg-2{margin-top:.5rem !important;margin-bottom:.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:.25rem !important}.mt-lg-2{margin-top:.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:.25rem !important}.me-lg-2{margin-right:.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:.25rem !important}.mb-lg-2{margin-bottom:.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:.25rem !important}.ms-lg-2{margin-left:.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:.25rem !important}.p-lg-2{padding:.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:.25rem !important;padding-left:.25rem !important}.px-lg-2{padding-right:.5rem !important;padding-left:.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:.25rem !important;padding-bottom:.25rem !important}.py-lg-2{padding-top:.5rem !important;padding-bottom:.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:.25rem !important}.pt-lg-2{padding-top:.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:.25rem !important}.pe-lg-2{padding-right:.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:.25rem !important}.pb-lg-2{padding-bottom:.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:.25rem !important}.ps-lg-2{padding-left:.5rem !important}.ps-lg-3{padding-left:1rem !important}.ps-lg-4{padding-left:1.5rem !important}.ps-lg-5{padding-left:3rem !important}.gap-lg-0{gap:0 !important}.gap-lg-1{gap:.25rem !important}.gap-lg-2{gap:.5rem !important}.gap-lg-3{gap:1rem !important}.gap-lg-4{gap:1.5rem !important}.gap-lg-5{gap:3rem !important}.text-lg-start{text-align:left !important}.text-lg-end{text-align:right !important}.text-lg-center{text-align:center !important}}@media (min-width: 1200px){.float-xl-start{float:left !important}.float-xl-end{float:right !important}.float-xl-none{float:none !important}.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}.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:.25rem !important}.m-xl-2{margin:.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:.25rem !important;margin-left:.25rem !important}.mx-xl-2{margin-right:.5rem !important;margin-left:.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:.25rem !important;margin-bottom:.25rem !important}.my-xl-2{margin-top:.5rem !important;margin-bottom:.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:.25rem !important}.mt-xl-2{margin-top:.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:.25rem !important}.me-xl-2{margin-right:.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:.25rem !important}.mb-xl-2{margin-bottom:.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:.25rem !important}.ms-xl-2{margin-left:.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:.25rem !important}.p-xl-2{padding:.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:.25rem !important;padding-left:.25rem !important}.px-xl-2{padding-right:.5rem !important;padding-left:.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:.25rem !important;padding-bottom:.25rem !important}.py-xl-2{padding-top:.5rem !important;padding-bottom:.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:.25rem !important}.pt-xl-2{padding-top:.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:.25rem !important}.pe-xl-2{padding-right:.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:.25rem !important}.pb-xl-2{padding-bottom:.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:.25rem !important}.ps-xl-2{padding-left:.5rem !important}.ps-xl-3{padding-left:1rem !important}.ps-xl-4{padding-left:1.5rem !important}.ps-xl-5{padding-left:3rem !important}.gap-xl-0{gap:0 !important}.gap-xl-1{gap:.25rem !important}.gap-xl-2{gap:.5rem !important}.gap-xl-3{gap:1rem !important}.gap-xl-4{gap:1.5rem !important}.gap-xl-5{gap:3rem !important}.text-xl-start{text-align:left !important}.text-xl-end{text-align:right !important}.text-xl-center{text-align:center !important}}@media (min-width: 1400px){.float-xxl-start{float:left !important}.float-xxl-end{float:right !important}.float-xxl-none{float:none !important}.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}.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:.25rem !important}.m-xxl-2{margin:.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:.25rem !important;margin-left:.25rem !important}.mx-xxl-2{margin-right:.5rem !important;margin-left:.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:.25rem !important;margin-bottom:.25rem !important}.my-xxl-2{margin-top:.5rem !important;margin-bottom:.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:.25rem !important}.mt-xxl-2{margin-top:.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:.25rem !important}.me-xxl-2{margin-right:.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:.25rem !important}.mb-xxl-2{margin-bottom:.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:.25rem !important}.ms-xxl-2{margin-left:.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:.25rem !important}.p-xxl-2{padding:.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:.25rem !important;padding-left:.25rem !important}.px-xxl-2{padding-right:.5rem !important;padding-left:.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:.25rem !important;padding-bottom:.25rem !important}.py-xxl-2{padding-top:.5rem !important;padding-bottom:.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:.25rem !important}.pt-xxl-2{padding-top:.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:.25rem !important}.pe-xxl-2{padding-right:.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:.25rem !important}.pb-xxl-2{padding-bottom:.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:.25rem !important}.ps-xxl-2{padding-left:.5rem !important}.ps-xxl-3{padding-left:1rem !important}.ps-xxl-4{padding-left:1.5rem !important}.ps-xxl-5{padding-left:3rem !important}.gap-xxl-0{gap:0 !important}.gap-xxl-1{gap:.25rem !important}.gap-xxl-2{gap:.5rem !important}.gap-xxl-3{gap:1rem !important}.gap-xxl-4{gap:1.5rem !important}.gap-xxl-5{gap:3rem !important}.text-xxl-start{text-align:left !important}.text-xxl-end{text-align:right !important}.text-xxl-center{text-align:center !important}}.bg-default{color:#000}.bg-primary{color:#fff}.bg-secondary{color:#fff}.bg-success{color:#fff}.bg-info{color:#000}.bg-warning{color:#000}.bg-danger{color:#fff}.bg-light{color:#000}.bg-dark{color:#fff}@media (min-width: 1200px){.fs-1{font-size:2.5rem !important}.fs-2{font-size:2rem !important}.fs-3{font-size:1.75rem !important}.fs-4{font-size:1.5rem !important}}@media print{.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-grid{display:grid !important}.d-print-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}}.table th[align=left]{text-align:left}.table th[align=right]{text-align:right}.table th[align=center]{text-align:center}.well{display:block;background-color:rgba(0,0,0,0.03);color:#212529;padding:1rem;border-radius:.375rem}.well-lg{padding:1.5rem;border-radius:.5rem}.well-sm{padding:0.5rem;border-radius:.25rem}.draggable .well{background-color:#f7f7f7}.dropdown-menu>li.active>a{color:#fff;text-decoration:none;background-color:#0d6efd}.navbar:not(.fixed-bottom):not(.navbar-fixed-bottom):not(.navbar-fixed-bottom)+div>.tab-content>.tab-pane{--bslib-navbar-margin: 20px;margin-top:var(--bslib-navbar-margin)}ul.nav.navbar-nav{flex:1;-webkit-flex:1}ul.nav.navbar-nav.navbar-right{flex:unset;-webkit-flex:unset;display:flex;display:-webkit-flex;justify-content:flex-end;-webkit-justify-content:flex-end}.navbar.navbar-default{background-color:#f8f9fa !important}.navbar.navbar-inverse{background-color:#212529 !important}.navbar-toggle>.icon-bar{display:none}@media (max-width: 575.98px){.navbar-header{width:100%}.navbar-header .navbar-toggle{float:right}}.nav-tabs>li.active>a{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-pills>li.active>a{color:#fff;background-color:#0d6efd}.nav-stacked{flex-direction:column;-webkit-flex-direction:column}.progress-bar-default{background-color:#dee2e6;color:#000}.progress-bar-primary{background-color:#0d6efd;color:#fff}.progress-bar-secondary{background-color:#6c757d;color:#fff}.progress-bar-success{background-color:#198754;color:#fff}.progress-bar-info{background-color:#0dcaf0;color:#000}.progress-bar-warning{background-color:#ffc107;color:#000}.progress-bar-danger{background-color:#dc3545;color:#fff}.progress-bar-light{background-color:#f8f9fa;color:#000}.progress-bar-dark{background-color:#212529;color:#fff}@font-face{font-family:'Glyphicons Halflings';src:url("fonts/bootstrap/glyphicons-halflings-regular.eot");src:url("fonts/bootstrap/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"),url("fonts/bootstrap/glyphicons-halflings-regular.woff2") format("woff2"),url("fonts/bootstrap/glyphicons-halflings-regular.woff") format("woff"),url("fonts/bootstrap/glyphicons-halflings-regular.ttf") format("truetype"),url("fonts/bootstrap/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg")}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}.form-group{margin-bottom:1rem}.input-daterange .input-group-addon.input-group-prepend.input-group-append{padding:inherit;line-height:inherit;text-shadow:inherit;border-width:0}.input-daterange .input-group-addon.input-group-prepend.input-group-append .input-group-text{border-radius:0}pre.shiny-code{padding:0.5rem}.section.level1,.section.level2,.section.level3,section.level1,section.level2,section.level3{margin-top:1.5rem}.section.level4,.section.level5,.section.level6,section.level4,section.level5,section.level6{margin-top:1rem}.accordion .accordion-icon:not(:empty){margin-right:0.25rem;display:flex}.accordion .accordion-button:not(.collapsed){box-shadow:none}.accordion .accordion-button:not(.collapsed):focus{box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.bslib-card .card-body+.card-body{padding-top:0}.bslib-card .card-body{overflow:auto}.bslib-card .card-body p{margin-top:0}.bslib-card .card-body p:last-child{margin-bottom:0}.bslib-card .card-body{max-height:var(--bslib-card-body-max-height, none)}.bslib-card.bslib-full-screen>.card-body{max-height:var(--bslib-card-body-max-height-full-screen, none)}.bslib-card .card-header .form-group{margin-bottom:0}.bslib-card .card-header .selectize-control{margin-bottom:0}.bslib-card .card-header .selectize-control .item{margin-right:1.15rem}.bslib-card .card-footer{margin-top:auto}.bslib-card .bslib-navs-card-title{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center}.bslib-card .bslib-navs-card-title .nav{margin-left:auto}.bslib-card .bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]){border:none}.bslib-card .bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]){border-top-left-radius:0;border-top-right-radius:0}.bslib-full-screen{position:fixed;inset:3.5rem 1rem 1rem;height:auto !important;max-height:none !important;width:auto !important;z-index:1070}.bslib-full-screen-enter{display:none;position:absolute;bottom:1px;right:3px;margin:0.5rem;padding:0.55rem !important;font-size:.8rem;cursor:pointer;opacity:.6;color:rgba(var(--bs-body-bg-rgb), 1);z-index:1070}.bslib-full-screen-enter:hover{opacity:1}.card:hover:not(.bslib-full-screen) .bslib-full-screen-enter,.well:hover:not(.bslib-full-screen) .bslib-full-screen-enter{display:block}@media (max-width: 575.98px){.bslib-full-screen-enter{display:none !important}}.bslib-full-screen-exit{position:relative;top:1.35rem;font-size:0.9rem;cursor:pointer;text-decoration:none;display:flex;float:right;margin-right:2.15rem;align-items:center;color:rgba(var(--bs-body-bg-rgb), 0.8)}.bslib-full-screen-exit:hover{color:rgba(var(--bs-body-bg-rgb), 1)}.bslib-full-screen-exit svg{margin-left:0.5rem;font-size:1.5rem}#bslib-full-screen-overlay{position:fixed;inset:0;background-color:rgba(var(--bs-body-color-rgb), 0.6);z-index:1069}.tab-content>.tab-pane.html-fill-container{display:none}.tab-content>.active.html-fill-container{display:flex}.tab-content.html-fill-container{padding:0}.bslib-page-fill{width:100%;height:100%;margin:0;padding:1rem;gap:1rem}@media (max-width: 575.98px){.bslib-page-fill{height:var(--bslib-page-fill-mobile-height, auto)}}.bslib-column-wrap{display:grid !important;gap:1rem;height:var(--bslib-column-wrap-height)}.bslib-column-wrap .card,.bslib-column-wrap .well{margin-bottom:0}@media (max-width: 575.98px){.bslib-column-wrap{grid-template-columns:1fr !important;height:var(--bslib-column-wrap-height-mobile)}}.bslib-sidebar-layout{--bslib-sidebar-transition: grid-template-columns ease-in-out 0.5s;--bslib-sidebar-border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, var(--bs-border-color-translucent));--bslib-sidebar-border-radius: var(--bs-border-radius);--bslib-sidebar-vert-border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, var(--bs-border-color-translucent));--bslib-collapse-toggle-border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, var(--bs-border-color-translucent));--bslib-collapse-toggle-transform: 90deg;--bslib-collapse-toggle-right-transform: -90deg;display:grid !important;grid-template-columns:Min(calc(100% - 1rem), var(--bslib-sidebar-width, 250px)) minmax(0, 1fr);position:relative;transition:var(--bslib-sidebar-transition);border:var(--bslib-sidebar-border);border-radius:var(--bslib-sidebar-border-radius)}@media (prefers-reduced-motion: reduce){.bslib-sidebar-layout{transition:none}}.bslib-sidebar-layout[data-bslib-sidebar-border="false"]{border:none}.bslib-sidebar-layout[data-bslib-sidebar-border-radius="false"]{border-radius:initial}.bslib-sidebar-layout>.main,.bslib-sidebar-layout>.sidebar{grid-row:1 / 2;border-radius:inherit;overflow:auto}.bslib-sidebar-layout>.main{grid-column:2 / 3;border-top-left-radius:0;border-bottom-left-radius:0;padding:1.5rem}.bslib-sidebar-layout>.sidebar{grid-column:1 / 2;width:100%;height:100%;border-right:var(--bslib-sidebar-vert-border);border-top-right-radius:0;border-bottom-right-radius:0;background-color:#f8f9fa;color:#000}.bslib-sidebar-layout>.sidebar>.sidebar-content{display:flex;flex-direction:column;padding:1.5rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>:last-child:not(.sidebar-title){margin-bottom:0}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion{margin-left:-1.5rem;margin-right:-1.5rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:first-child{margin-top:-1.5rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:last-child{margin-bottom:-1.5rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:last-child){margin-bottom:1rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-body{display:flex;flex-direction:column}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:first-child) .accordion-item:first-child{border-top:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:last-child) .accordion-item:last-child{border-bottom:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.bslib-sidebar-layout>.sidebar>.sidebar-content>.sidebar-title+.accordion{margin-top:calc(-1rem - var(--bs-card-border-width, 1px))}.bslib-sidebar-layout>.sidebar>.sidebar-content>.sidebar-title:has(+.accordion){border-bottom:none}.bslib-sidebar-layout>.sidebar .shiny-input-container{width:100%}.bslib-sidebar-layout>.collapse-toggle{grid-row:1 / 2;grid-column:1 / 2;display:inline-flex;align-items:center;position:absolute;right:-1rem;bottom:calc(1.5rem + var(--bslib-sidebar-overlap-counter, 0) * calc(1rem + 1.5rem));border:var(--bslib-collapse-toggle-border);border-left:none;border-radius:0 var(--bs-border-radius) var(--bs-border-radius) 0;padding:7px 0;background-color:#f8f9fa;color:#000}.bslib-sidebar-layout>.collapse-toggle>.collapse-icon{opacity:0.8;width:1rem;height:1rem;transform:rotate(var(--bslib-collapse-toggle-transform));transition:transform ease-in-out 0.35s}.bslib-sidebar-layout>.collapse-toggle:hover>.collapse-icon{opacity:1}.bslib-sidebar-layout .sidebar-title{font-size:1.25rem;line-height:1.25;margin-top:0;margin-bottom:1rem;padding-bottom:1rem;border-bottom:var(--bslib-sidebar-border)}.bslib-sidebar-layout.sidebar-right{grid-template-columns:minmax(0, 1fr) Min(calc(100% - 1rem), var(--bslib-sidebar-width, 250px))}.bslib-sidebar-layout.sidebar-right>.main{grid-column:1 / 2;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:inherit;border-bottom-left-radius:inherit}.bslib-sidebar-layout.sidebar-right>.sidebar{grid-column:2 / 3;border-right:none;border-left:var(--bslib-sidebar-vert-border);border-top-left-radius:0;border-bottom-left-radius:0}.bslib-sidebar-layout.sidebar-right>.collapse-toggle{grid-column:2 / 3;left:-1rem;right:unset;border-radius:var(--bs-border-radius) 0 0 var(--bs-border-radius);border-right:none;border-left:var(--bslib-collapse-toggle-border)}.bslib-sidebar-layout.sidebar-right>.collapse-toggle>.collapse-icon{transform:rotate(var(--bslib-collapse-toggle-right-transform))}.bslib-sidebar-layout.sidebar-collapsed{--bslib-collapse-toggle-transform: -90deg;--bslib-collapse-toggle-right-transform: 90deg;--bslib-sidebar-vert-border: none;grid-template-columns:0 minmax(0, 1fr)}.bslib-sidebar-layout.sidebar-collapsed.sidebar-right{grid-template-columns:minmax(0, 1fr) 0}.bslib-sidebar-layout.sidebar-collapsed:not(.transitioning)>.sidebar>*{display:none}.bslib-sidebar-layout.sidebar-collapsed>.main{border-radius:inherit}.bslib-sidebar-layout.sidebar-collapsed>.collapse-toggle{right:calc(-1rem - var(--bs-card-border-width, 1px))}.bslib-sidebar-layout.sidebar-collapsed.sidebar-right>.collapse-toggle{left:calc(-1rem - var(--bs-card-border-width, 1px));right:unset}@media (min-width: 576px){.bslib-sidebar-layout.transitioning>.sidebar>.sidebar-content{display:none}}@media (max-width: 575.98px){.bslib-sidebar-layout,.bslib-sidebar-layout.sidebar-right{--bslib-sidebar-vert-border: none;--bslib-sidebar-horiz-border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, var(--bs-border-color-translucent));--bslib-collapse-toggle-transform: -180deg;--bslib-collapse-toggle-right-transform: -180deg;grid-template-columns:1fr !important;grid-template-rows:fit-content(var(--bslib-sidebar-max-height-mobile, auto)) minmax(0, 1fr)}.bslib-sidebar-layout[data-sidebar-init-auto-collapse],.bslib-sidebar-layout.sidebar-right[data-sidebar-init-auto-collapse]{--bslib-sidebar-js-init-collapsed: true}.bslib-sidebar-layout>.sidebar,.bslib-sidebar-layout.sidebar-right>.sidebar{grid-row:1 / 2;grid-column:1 / 2;width:100%;border:none;border-bottom:var(--bslib-sidebar-horiz-border);border-radius:0}.bslib-sidebar-layout>.main,.bslib-sidebar-layout.sidebar-right>.main{grid-row:2 / 3;grid-column:1 / 2;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.bslib-sidebar-layout>.collapse-toggle,.bslib-sidebar-layout.sidebar-right>.collapse-toggle{grid-row:2 / 3;grid-column:1 / 2;border-top:none !important;border:var(--bslib-collapse-toggle-border);border-radius:0 0 var(--bs-border-radius) var(--bs-border-radius);padding:0 4px}.bslib-sidebar-layout>.collapse-toggle,.bslib-sidebar-layout.sidebar-right>.collapse-toggle,.bslib-sidebar-layout.sidebar-right>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-right>.collapse-toggle{top:calc(-1 * var(--bs-card-border-width, 1px))}.bslib-sidebar-layout.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-right.sidebar-collapsed>.collapse-toggle{top:0}.bslib-sidebar-layout>.collapse-toggle,.bslib-sidebar-layout.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-right>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-right.sidebar-collapsed>.collapse-toggle{right:calc(1.5rem + var(--bslib-sidebar-counter, 0) * calc(1rem + 1.5rem));bottom:initial;left:initial}.bslib-sidebar-layout.sidebar-collapsed,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed{--bslib-collapse-toggle-transform: 0deg;--bslib-collapse-toggle-right-transform: 0deg;grid-template-rows:0 minmax(0, 1fr)}.bslib-sidebar-layout.sidebar-collapsed>.main,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.main{border-top-left-radius:inherit;border-top-right-radius:inherit}.bslib-sidebar-layout.sidebar-collapsed>.sidebar,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.sidebar{border-bottom:none}}.navbar+.container-fluid:has(>.tab-content>.tab-pane.active>.bslib-sidebar-layout),.navbar+.container-sm:has(>.tab-content>.tab-pane.active>.bslib-sidebar-layout),.navbar+.container-md:has(>.tab-content>.tab-pane.active>.bslib-sidebar-layout),.navbar+.container-lg:has(>.tab-content>.tab-pane.active>.bslib-sidebar-layout),.navbar+.container-xl:has(>.tab-content>.tab-pane.active>.bslib-sidebar-layout),.navbar+.container-xxl:has(>.tab-content>.tab-pane.active>.bslib-sidebar-layout){padding-left:0;padding-right:0}.navbar+.container-fluid>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]),.navbar+.container-sm>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]),.navbar+.container-md>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]),.navbar+.container-lg>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]),.navbar+.container-xl>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]),.navbar+.container-xxl>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]){border:none}.navbar+.container-fluid>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]),.navbar+.container-sm>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]),.navbar+.container-md>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]),.navbar+.container-lg>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]),.navbar+.container-xl>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]),.navbar+.container-xxl>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]){border-radius:0}.bslib-value-box .value-box-grid{grid-template-columns:var(--bslib-value-box-widths)}.bslib-value-box .value-box-showcase{align-items:center;justify-content:center;margin-top:auto;margin-bottom:auto;padding:1rem;max-height:var(--bslib-value-box-max-height)}.bslib-value-box .value-box-showcase .bi,.bslib-value-box .value-box-showcase .fa{opacity:.85}.bslib-value-box .value-box-showcase .bi{font-size:5rem}.bslib-value-box .value-box-showcase .fa{font-size:4rem}.bslib-value-box .value-box-showcase.showcase-top-right{align-items:end;padding-left:0;padding-bottom:0}.bslib-value-box .value-box-area{justify-content:center;padding:1.5rem 1rem;font-size:.9rem;font-weight:500}.bslib-value-box .value-box-area *{color:inherit;margin-bottom:0;margin-top:0}.bslib-value-box .value-box-area.border-start{border-color:rgba(222,226,230,0.3) !important}.bslib-value-box.bslib-full-screen .value-box-grid{grid-template-columns:var(--bslib-value-box-widths-full-screen)}.bslib-value-box.bslib-full-screen .value-box-showcase{max-height:var(--bslib-value-box-max-height-full-screen)}.bslib-value-box:not(.bslib-full-screen) .value-box-showcase.showcase-top-right{margin-top:0}@media (max-width: 575.98px){.bslib-value-box .value-box-grid{grid-template-columns:var(--bslib-value-box-widths) !important}}@media (min-width: 576px){.nav:not(.nav-hidden){display:flex !important;display:-webkit-flex !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column){float:none !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column)>.bslib-nav-spacer{margin-left:auto !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column)>.form-inline{margin-top:auto;margin-bottom:auto}.nav:not(.nav-hidden).nav-stacked{flex-direction:column;-webkit-flex-direction:column;height:100%}.nav:not(.nav-hidden).nav-stacked>.bslib-nav-spacer{margin-top:auto !important}} + */:root{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-default: #dee2e6;--bs-primary: #0d6efd;--bs-secondary: #6c757d;--bs-success: #198754;--bs-info: #0dcaf0;--bs-warning: #ffc107;--bs-danger: #dc3545;--bs-light: #f8f9fa;--bs-dark: #212529;--bs-default-rgb: 222,226,230;--bs-primary-rgb: 13,110,253;--bs-secondary-rgb: 108,117,125;--bs-success-rgb: 25,135,84;--bs-info-rgb: 13,202,240;--bs-warning-rgb: 255,193,7;--bs-danger-rgb: 220,53,69;--bs-light-rgb: 248,249,250;--bs-dark-rgb: 33,37,41;--bs-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", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255,255,255,0.15), rgba(255,255,255,0));--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #212529;--bs-body-bg: #fff;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0,0,0,0.175);--bs-border-radius: .375rem;--bs-border-radius-sm: .25rem;--bs-border-radius-lg: .5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-2xl: 2rem;--bs-border-radius-pill: 50rem;--bs-link-color: #0d6efd;--bs-link-hover-color: #0a58ca;--bs-code-color: #000;--bs-highlight-bg: #fff3cd}*,*::before,*::after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:1px solid;opacity:.25}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:calc(1.325rem + .9vw)}@media (min-width: 1200px){h2,.h2{font-size:2rem}}h3,.h3{font-size:calc(1.3rem + .6vw)}@media (min-width: 1200px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{text-decoration:underline dotted;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;-ms-text-decoration:underline dotted;-o-text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem;padding:.625rem 1.25rem;border-left:.25rem solid #e9ecef}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}b,strong{font-weight:bolder}small,.small{font-size:.875em}mark,.mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--bs-link-color);text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}a:hover{color:var(--bs-link-hover-color)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em;color:#000;background-color:#f6f6f6;padding:.5rem;border:1px solid #dee2e6;border-radius:.375rem}pre code{background-color:transparent;font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);background-color:#f6f6f6;border-radius:.375rem;padding:.125rem .25rem;word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.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]:not([type="date"]):not([type="datetime-local"]):not([type="month"]):not([type="week"]):not([type="time"])::-webkit-calendar-picker-indicator{display:none !important}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button:not(:disabled),[type="button"]:not(:disabled),[type="reset"]:not(:disabled),[type="submit"]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .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}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none !important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.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:.875em;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid var(--bs-border-color);border-radius:.375rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container-sm,.container{max-width:540px}}@media (min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media (min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media (min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}@media (min-width: 1400px){.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1320px}}.row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;-webkit-flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%;-webkit-flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333%}.offset-2{margin-left:16.66667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333%}.offset-5{margin-left:41.66667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333%}.offset-8{margin-left:66.66667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333%}.offset-11{margin-left:91.66667%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: .25rem}.g-1,.gy-1{--bs-gutter-y: .25rem}.g-2,.gx-2{--bs-gutter-x: .5rem}.g-2,.gy-2{--bs-gutter-y: .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%;-webkit-flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-sm-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-sm-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-sm-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-sm-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-sm-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-sm-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-sm-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-sm-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-sm-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-sm-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333%}.offset-sm-2{margin-left:16.66667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333%}.offset-sm-5{margin-left:41.66667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333%}.offset-sm-8{margin-left:66.66667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333%}.offset-sm-11{margin-left:91.66667%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: .25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: .25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: .5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: .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%;-webkit-flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-md-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-md-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-md-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-md-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-md-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-md-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-md-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-md-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-md-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-md-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333%}.offset-md-2{margin-left:16.66667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333%}.offset-md-5{margin-left:41.66667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333%}.offset-md-8{margin-left:66.66667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333%}.offset-md-11{margin-left:91.66667%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: .25rem}.g-md-1,.gy-md-1{--bs-gutter-y: .25rem}.g-md-2,.gx-md-2{--bs-gutter-x: .5rem}.g-md-2,.gy-md-2{--bs-gutter-y: .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%;-webkit-flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-lg-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-lg-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-lg-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-lg-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-lg-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-lg-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-lg-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-lg-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-lg-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-lg-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333%}.offset-lg-2{margin-left:16.66667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333%}.offset-lg-5{margin-left:41.66667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333%}.offset-lg-8{margin-left:66.66667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333%}.offset-lg-11{margin-left:91.66667%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: .25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: .25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: .5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: .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%;-webkit-flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-xl-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-xl-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-xl-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-xl-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-xl-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-xl-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-xl-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-xl-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-xl-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-xl-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333%}.offset-xl-2{margin-left:16.66667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333%}.offset-xl-5{margin-left:41.66667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333%}.offset-xl-8{margin-left:66.66667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333%}.offset-xl-11{margin-left:91.66667%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: .25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: .25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: .5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: .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%;-webkit-flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-xxl-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-xxl-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-xxl-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-xxl-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-xxl-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-xxl-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-xxl-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-xxl-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-xxl-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-xxl-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333%}.offset-xxl-2{margin-left:16.66667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333%}.offset-xxl-5{margin-left:41.66667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333%}.offset-xxl-8{margin-left:66.66667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333%}.offset-xxl-11{margin-left:91.66667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: .25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: .25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: .5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: .5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.table{--bs-table-color: var(--bs-body-color);--bs-table-bg: rgba(0,0,0,0);--bs-table-border-color: var(--bs-border-color);--bs-table-accent-bg: rgba(0,0,0,0);--bs-table-striped-color: var(--bs-body-color);--bs-table-striped-bg: rgba(0,0,0,0.05);--bs-table-active-color: var(--bs-body-color);--bs-table-active-bg: rgba(0,0,0,0.1);--bs-table-hover-color: var(--bs-body-color);--bs-table-hover-bg: rgba(0,0,0,0.075);width:100%;margin-bottom:1rem;color:var(--bs-table-color);vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .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-group-divider{border-top:2px solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .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-striped-columns>:not(caption)>tr>:nth-child(even){--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-color: #000;--bs-table-bg: #cfe2ff;--bs-table-border-color: #bacbe6;--bs-table-striped-bg: #c5d7f2;--bs-table-striped-color: #000;--bs-table-active-bg: #bacbe6;--bs-table-active-color: #000;--bs-table-hover-bg: #bfd1ec;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: #e2e3e5;--bs-table-border-color: #cbccce;--bs-table-striped-bg: #d7d8da;--bs-table-striped-color: #000;--bs-table-active-bg: #cbccce;--bs-table-active-color: #000;--bs-table-hover-bg: #d1d2d4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: #d1e7dd;--bs-table-border-color: #bcd0c7;--bs-table-striped-bg: #c7dbd2;--bs-table-striped-color: #000;--bs-table-active-bg: #bcd0c7;--bs-table-active-color: #000;--bs-table-hover-bg: #c1d6cc;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: #cff4fc;--bs-table-border-color: #badce3;--bs-table-striped-bg: #c5e8ef;--bs-table-striped-color: #000;--bs-table-active-bg: #badce3;--bs-table-active-color: #000;--bs-table-hover-bg: #bfe2e9;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: #fff3cd;--bs-table-border-color: #e6dbb9;--bs-table-striped-bg: #f2e7c3;--bs-table-striped-color: #000;--bs-table-active-bg: #e6dbb9;--bs-table-active-color: #000;--bs-table-hover-bg: #ece1be;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: #f8d7da;--bs-table-border-color: #dfc2c4;--bs-table-striped-bg: #eccccf;--bs-table-striped-color: #000;--bs-table-active-bg: #dfc2c4;--bs-table-active-color: #000;--bs-table-hover-bg: #e5c7ca;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #f8f9fa;--bs-table-border-color: #dfe0e1;--bs-table-striped-bg: #ecedee;--bs-table-striped-color: #000;--bs-table-active-bg: #dfe0e1;--bs-table-active-color: #000;--bs-table-hover-bg: #e5e6e7;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #212529;--bs-table-border-color: #373b3e;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #fff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #fff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label,.shiny-input-container .control-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text,.help-text,.help-block{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;border-radius:.375rem;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:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.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::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:calc(1.5em + .75rem + 2px);padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0 !important;border-radius:.375rem}.form-control-color::-webkit-color-swatch{border-radius:.375rem}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + 2px)}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + 2px)}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(.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 5 6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.375rem;transition:border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media (prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.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:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:.25rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:.5rem}.form-check,.shiny-input-container .checkbox,.shiny-input-container .radio{display:block;min-height:1.5rem;padding-left:0;margin-bottom:.125rem}.form-check .form-check-input,.form-check .shiny-input-container .checkbox input,.form-check .shiny-input-container .radio input,.shiny-input-container .checkbox .form-check-input,.shiny-input-container .checkbox .shiny-input-container .checkbox input,.shiny-input-container .checkbox .shiny-input-container .radio input,.shiny-input-container .radio .form-check-input,.shiny-input-container .radio .shiny-input-container .checkbox input,.shiny-input-container .radio .shiny-input-container .radio input{float:left;margin-left:0}.form-check-reverse{padding-right:0;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:0;margin-left:0}.form-check-input,.shiny-input-container .checkbox input,.shiny-input-container .checkbox-inline input,.shiny-input-container .radio input,.shiny-input-container .radio-inline input{width:1em;height:1em;margin-top:.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);appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;print-color-adjust:exact}.form-check-input[type="checkbox"],.shiny-input-container .checkbox input[type="checkbox"],.shiny-input-container .checkbox-inline input[type="checkbox"],.shiny-input-container .radio input[type="checkbox"],.shiny-input-container .radio-inline input[type="checkbox"]{border-radius:.25em}.form-check-input[type="radio"],.shiny-input-container .checkbox input[type="radio"],.shiny-input-container .checkbox-inline input[type="radio"],.shiny-input-container .radio input[type="radio"],.shiny-input-container .radio-inline input[type="radio"]{border-radius:50%}.form-check-input:active,.shiny-input-container .checkbox input:active,.shiny-input-container .checkbox-inline input:active,.shiny-input-container .radio input:active,.shiny-input-container .radio-inline input:active{filter:brightness(90%)}.form-check-input:focus,.shiny-input-container .checkbox input:focus,.shiny-input-container .checkbox-inline input:focus,.shiny-input-container .radio input:focus,.shiny-input-container .radio-inline input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25)}.form-check-input:checked,.shiny-input-container .checkbox input:checked,.shiny-input-container .checkbox-inline input:checked,.shiny-input-container .radio input:checked,.shiny-input-container .radio-inline input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type="checkbox"],.shiny-input-container .checkbox input:checked[type="checkbox"],.shiny-input-container .checkbox-inline input:checked[type="checkbox"],.shiny-input-container .radio input:checked[type="checkbox"],.shiny-input-container .radio-inline 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 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type="radio"],.shiny-input-container .checkbox input:checked[type="radio"],.shiny-input-container .checkbox-inline input:checked[type="radio"],.shiny-input-container .radio input:checked[type="radio"],.shiny-input-container .radio-inline 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,.shiny-input-container .checkbox input[type="checkbox"]:indeterminate,.shiny-input-container .checkbox-inline input[type="checkbox"]:indeterminate,.shiny-input-container .radio input[type="checkbox"]:indeterminate,.shiny-input-container .radio-inline input[type="checkbox"]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;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,.shiny-input-container .checkbox input:disabled,.shiny-input-container .checkbox-inline input:disabled,.shiny-input-container .radio input:disabled,.shiny-input-container .radio-inline input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input[disabled]~span,.form-check-input:disabled~.form-check-label,.form-check-input:disabled~span,.shiny-input-container .checkbox input[disabled]~.form-check-label,.shiny-input-container .checkbox input[disabled]~span,.shiny-input-container .checkbox input:disabled~.form-check-label,.shiny-input-container .checkbox input:disabled~span,.shiny-input-container .checkbox-inline input[disabled]~.form-check-label,.shiny-input-container .checkbox-inline input[disabled]~span,.shiny-input-container .checkbox-inline input:disabled~.form-check-label,.shiny-input-container .checkbox-inline input:disabled~span,.shiny-input-container .radio input[disabled]~.form-check-label,.shiny-input-container .radio input[disabled]~span,.shiny-input-container .radio input:disabled~.form-check-label,.shiny-input-container .radio input:disabled~span,.shiny-input-container .radio-inline input[disabled]~.form-check-label,.shiny-input-container .radio-inline input[disabled]~span,.shiny-input-container .radio-inline input:disabled~.form-check-label,.shiny-input-container .radio-inline input:disabled~span{cursor:default;opacity:.5}.form-check-label,.shiny-input-container .checkbox label,.shiny-input-container .checkbox-inline label,.shiny-input-container .radio label,.shiny-input-container .radio-inline label{cursor:pointer}.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='%2386b7fe'/%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-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,0.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,0.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.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:#0d6efd;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.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-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;width:100%;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;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,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{opacity:.65;transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control-plaintext~label{border-width:1px 0}.input-group{position:relative;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:stretch;-webkit-align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding:.375rem .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:.375rem}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n + 3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n + 4),.input-group.has-validation>.form-floating:nth-last-child(n + 3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n + 3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,0.9);border-radius:.375rem}.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 + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#198754;box-shadow: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 + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .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 5 6 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.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,0.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3rem + calc(1.5em + .75rem))}.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 .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:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,0.9);border-radius:.375rem}.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 + .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(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#dc3545;box-shadow: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 + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .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 5 6 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 .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,0.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3rem + calc(1.5em + .75rem))}.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 .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:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: .75rem;--bs-btn-padding-y: .375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.5;--bs-btn-color: #212529;--bs-btn-bg: transparent;--bs-btn-border-width: 1px;--bs-btn-border-color: transparent;--bs-btn-border-radius: .375rem;--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075);--bs-btn-disabled-opacity: .65;--bs-btn-focus-box-shadow: 0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show,.btn.in{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn.in:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-default{--bs-btn-color: #000;--bs-btn-bg: #dee2e6;--bs-btn-border-color: #dee2e6;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #e3e6ea;--bs-btn-hover-border-color: #e1e5e9;--bs-btn-focus-shadow-rgb: 189,192,196;--bs-btn-active-color: #000;--bs-btn-active-bg: #e5e8eb;--bs-btn-active-border-color: #e1e5e9;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #dee2e6;--bs-btn-disabled-border-color: #dee2e6}.btn-primary{--bs-btn-color: #fff;--bs-btn-bg: #0d6efd;--bs-btn-border-color: #0d6efd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0b5ed7;--bs-btn-hover-border-color: #0a58ca;--bs-btn-focus-shadow-rgb: 49,132,253;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0a58ca;--bs-btn-active-border-color: #0a53be;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #0d6efd;--bs-btn-disabled-border-color: #0d6efd}.btn-secondary{--bs-btn-color: #fff;--bs-btn-bg: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5c636a;--bs-btn-hover-border-color: #565e64;--bs-btn-focus-shadow-rgb: 130,138,145;--bs-btn-active-color: #fff;--bs-btn-active-bg: #565e64;--bs-btn-active-border-color: #51585e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6c757d;--bs-btn-disabled-border-color: #6c757d}.btn-success{--bs-btn-color: #fff;--bs-btn-bg: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #157347;--bs-btn-hover-border-color: #146c43;--bs-btn-focus-shadow-rgb: 60,153,110;--bs-btn-active-color: #fff;--bs-btn-active-bg: #146c43;--bs-btn-active-border-color: #13653f;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #198754;--bs-btn-disabled-border-color: #198754}.btn-info{--bs-btn-color: #000;--bs-btn-bg: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #31d2f2;--bs-btn-hover-border-color: #25cff2;--bs-btn-focus-shadow-rgb: 11,172,204;--bs-btn-active-color: #000;--bs-btn-active-bg: #3dd5f3;--bs-btn-active-border-color: #25cff2;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #0dcaf0;--bs-btn-disabled-border-color: #0dcaf0}.btn-warning{--bs-btn-color: #000;--bs-btn-bg: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffca2c;--bs-btn-hover-border-color: #ffc720;--bs-btn-focus-shadow-rgb: 217,164,6;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffcd39;--bs-btn-active-border-color: #ffc720;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #ffc107;--bs-btn-disabled-border-color: #ffc107}.btn-danger{--bs-btn-color: #fff;--bs-btn-bg: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #bb2d3b;--bs-btn-hover-border-color: #b02a37;--bs-btn-focus-shadow-rgb: 225,83,97;--bs-btn-active-color: #fff;--bs-btn-active-bg: #b02a37;--bs-btn-active-border-color: #a52834;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #dc3545;--bs-btn-disabled-border-color: #dc3545}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #d3d4d5;--bs-btn-hover-border-color: #c6c7c8;--bs-btn-focus-shadow-rgb: 211,212,213;--bs-btn-active-color: #000;--bs-btn-active-bg: #c6c7c8;--bs-btn-active-border-color: #babbbc;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f8f9fa;--bs-btn-disabled-border-color: #f8f9fa}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #424649;--bs-btn-hover-border-color: #373b3e;--bs-btn-focus-shadow-rgb: 66,70,73;--bs-btn-active-color: #fff;--bs-btn-active-bg: #4d5154;--bs-btn-active-border-color: #373b3e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #212529;--bs-btn-disabled-border-color: #212529}.btn-outline-default{--bs-btn-color: #dee2e6;--bs-btn-border-color: #dee2e6;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #dee2e6;--bs-btn-hover-border-color: #dee2e6;--bs-btn-focus-shadow-rgb: 222,226,230;--bs-btn-active-color: #000;--bs-btn-active-bg: #dee2e6;--bs-btn-active-border-color: #dee2e6;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #dee2e6;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #dee2e6;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-primary{--bs-btn-color: #0d6efd;--bs-btn-border-color: #0d6efd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0d6efd;--bs-btn-hover-border-color: #0d6efd;--bs-btn-focus-shadow-rgb: 13,110,253;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0d6efd;--bs-btn-active-border-color: #0d6efd;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #0d6efd;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0d6efd;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6c757d;--bs-btn-hover-border-color: #6c757d;--bs-btn-focus-shadow-rgb: 108,117,125;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6c757d;--bs-btn-active-border-color: #6c757d;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6c757d;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #198754;--bs-btn-hover-border-color: #198754;--bs-btn-focus-shadow-rgb: 25,135,84;--bs-btn-active-color: #fff;--bs-btn-active-bg: #198754;--bs-btn-active-border-color: #198754;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #198754;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #198754;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #0dcaf0;--bs-btn-focus-shadow-rgb: 13,202,240;--bs-btn-active-color: #000;--bs-btn-active-bg: #0dcaf0;--bs-btn-active-border-color: #0dcaf0;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #0dcaf0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0dcaf0;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffc107;--bs-btn-hover-border-color: #ffc107;--bs-btn-focus-shadow-rgb: 255,193,7;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffc107;--bs-btn-active-border-color: #ffc107;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #ffc107;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #ffc107;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #dc3545;--bs-btn-hover-border-color: #dc3545;--bs-btn-focus-shadow-rgb: 220,53,69;--bs-btn-active-color: #fff;--bs-btn-active-bg: #dc3545;--bs-btn-active-border-color: #dc3545;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #dc3545;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #dc3545;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f8f9fa;--bs-btn-hover-border-color: #f8f9fa;--bs-btn-focus-shadow-rgb: 248,249,250;--bs-btn-active-color: #000;--bs-btn-active-bg: #f8f9fa;--bs-btn-active-border-color: #f8f9fa;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #f8f9fa;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f8f9fa;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #212529;--bs-btn-hover-border-color: #212529;--bs-btn-focus-shadow-rgb: 33,37,41;--bs-btn-active-color: #fff;--bs-btn-active-bg: #212529;--bs-btn-active-border-color: #212529;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #212529;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #212529;--bs-btn-bg: transparent;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: none;--bs-btn-focus-shadow-rgb: 49,132,253;text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: .5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius: .5rem}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: .25rem;--bs-btn-padding-x: .5rem;--bs-btn-font-size:.875rem;--bs-btn-border-radius: .25rem}.fade{transition:opacity 0.15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show):not(.in){opacity:0}.collapse:not(.show):not(.in){display:none}.collapsing{height:0;overflow:hidden;transition:height 0.35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width 0.35s ease}@media (prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: .5rem;--bs-dropdown-spacer: .125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color: #212529;--bs-dropdown-bg: #fff;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: .375rem;--bs-dropdown-border-width: 1px;--bs-dropdown-inner-border-radius: calc(.375rem - 1px);--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: .5rem;--bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);--bs-dropdown-link-color: #212529;--bs-dropdown-link-hover-color: #1e2125;--bs-dropdown-link-hover-bg: #e9ecef;--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: .25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: .5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .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}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider,.dropdown-menu>li.divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item,.dropdown-menu>li>a{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:hover,.dropdown-menu>li>a:hover,.dropdown-item:focus,.dropdown-menu>li>a:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-menu>li>a.active,.dropdown-item:active,.dropdown-menu>li>a:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-menu>li>a.disabled,.dropdown-item:disabled,.dropdown-menu>li>a:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show,.dropdown-menu.in{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255,255,255,0.15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto;-webkit-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;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;justify-content:flex-start;-webkit-justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:.375rem}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n + 3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.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:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;-webkit-flex-direction:column;align-items:flex-start;-webkit-align-items:flex-start;justify-content:center;-webkit-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{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: #6c757d;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link,.nav-tabs>li>a,.nav-pills>li>a,ul.nav.navbar-nav>li>a{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-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,.nav-tabs>li>a,.nav-pills>li>a,ul.nav.navbar-nav>li>a{transition:none}}.nav-link:hover,.nav-tabs>li>a:hover,.nav-pills>li>a:hover,ul.nav.navbar-nav>li>a:hover,.nav-link:focus,.nav-tabs>li>a:focus,.nav-pills>li>a:focus,ul.nav.navbar-nav>li>a:focus{color:var(--bs-nav-link-hover-color)}.nav-link.disabled,.nav-tabs>li>a.disabled,.nav-pills>li>a.disabled,ul.nav.navbar-nav>li>a.disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: 1px;--bs-nav-tabs-border-color: #dee2e6;--bs-nav-tabs-border-radius: .375rem;--bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #dee2e6;--bs-nav-tabs-link-active-color: #495057;--bs-nav-tabs-link-active-bg: #fff;--bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #fff;border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link,.nav-tabs>li>a,.nav-tabs .nav-pills>li>a,.nav-tabs ul.nav.navbar-nav>li>a{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));background:none;border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs>li>a:hover,.nav-tabs .nav-pills>li>a:hover,.nav-tabs ul.nav.navbar-nav>li>a:hover,.nav-tabs .nav-link:focus,.nav-tabs>li>a:focus,.nav-tabs .nav-pills>li>a:focus,.nav-tabs ul.nav.navbar-nav>li>a:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.disabled,.nav-tabs>li>a.disabled,.nav-tabs .nav-pills>li>a.disabled,.nav-tabs ul.nav.navbar-nav>li>a.disabled,.nav-tabs .nav-link:disabled,.nav-tabs>li>a:disabled,.nav-tabs .nav-pills>li>a:disabled,.nav-tabs ul.nav.navbar-nav>li>a:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs>li>a.active,.nav-tabs .nav-pills>li>a.active,.nav-tabs ul.nav.navbar-nav>li>a.active,.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-item.in .nav-link,.nav-tabs .nav-item.show .nav-tabs>li>a,.nav-tabs .nav-item.in .nav-tabs>li>a,.nav-tabs .nav-item.show .nav-pills>li>a,.nav-tabs .nav-item.in .nav-pills>li>a,.nav-tabs>li.show .nav-link,.nav-tabs>li.in .nav-link,.nav-tabs>li.show .nav-tabs>li>a,.nav-tabs>li.in .nav-tabs>li>a,.nav-tabs>li.show .nav-pills>li>a,.nav-tabs>li.in .nav-pills>li>a,.nav-tabs .nav-pills>li.show .nav-link,.nav-tabs .nav-pills>li.in .nav-link,.nav-tabs .nav-pills>li.show .nav-tabs>li>a,.nav-tabs .nav-pills>li.in .nav-tabs>li>a,.nav-tabs .nav-pills>li.show .nav-pills>li>a,.nav-tabs .nav-pills>li.in .nav-pills>li>a,.nav-tabs .nav-item.show ul.nav.navbar-nav>li>a,.nav-tabs .nav-item.in ul.nav.navbar-nav>li>a,.nav-tabs>li.show ul.nav.navbar-nav>li>a,.nav-tabs>li.in ul.nav.navbar-nav>li>a,.nav-tabs .nav-pills>li.show ul.nav.navbar-nav>li>a,.nav-tabs .nav-pills>li.in ul.nav.navbar-nav>li>a,.nav-tabs ul.nav.navbar-nav>li.show:not(.dropdown) .nav-link,.nav-tabs ul.nav.navbar-nav>li.in:not(.dropdown) .nav-link,.nav-tabs ul.nav.navbar-nav>li.show:not(.dropdown) .nav-tabs>li>a,.nav-tabs ul.nav.navbar-nav>li.in:not(.dropdown) .nav-tabs>li>a,.nav-tabs ul.nav.navbar-nav>li.show:not(.dropdown) .nav-pills>li>a,.nav-tabs ul.nav.navbar-nav>li.in:not(.dropdown) .nav-pills>li>a,.nav-tabs ul.nav.navbar-nav>li.show:not(.dropdown) ul.nav.navbar-nav>li>a,.nav-tabs ul.nav.navbar-nav>li.in:not(.dropdown) ul.nav.navbar-nav>li>a{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius: .375rem;--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}.nav-pills .nav-link,.nav-pills .nav-tabs>li>a,.nav-pills>li>a,.nav-pills ul.nav.navbar-nav>li>a{background:none;border:0;border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link:disabled,.nav-pills .nav-tabs>li>a:disabled,.nav-pills>li>a:disabled,.nav-pills ul.nav.navbar-nav>li>a:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-pills .nav-link.active,.nav-pills .nav-tabs>li>a.active,.nav-pills>li>a.active,.nav-pills ul.nav.navbar-nav>li>a.active,.nav-pills .show>.nav-link,.nav-pills .in>.nav-link,.nav-pills .nav-tabs>li.show>a,.nav-pills .nav-tabs>li.in>a,.nav-pills>li.show>a,.nav-pills>li.in>a,.nav-pills ul.nav.navbar-nav>li.show>a,.nav-pills ul.nav.navbar-nav>li.in>a{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-fill>.nav-link,.nav-tabs>li.nav-fill>a,.nav-pills>li.nav-fill>a,ul.nav.navbar-nav>li.nav-fill>a,.nav-fill .nav-item,.nav-fill .nav-tabs>li,.nav-fill .nav-pills>li,.nav-fill ul.nav.navbar-nav>li:not(.dropdown){flex:1 1 auto;-webkit-flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-tabs>li.nav-justified>a,.nav-pills>li.nav-justified>a,ul.nav.navbar-nav>li.nav-justified>a,.nav-justified .nav-item,.nav-justified .nav-tabs>li,.nav-justified .nav-pills>li,.nav-justified ul.nav.navbar-nav>li:not(.dropdown){flex-basis:0;-webkit-flex-basis:0;flex-grow:1;-webkit-flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-fill .nav-tabs>li .nav-link,.nav-fill .nav-tabs>li>a,.nav-fill .nav-pills>li .nav-link,.nav-fill .nav-pills>li>a,.nav-fill .nav-item ul.nav.navbar-nav>li>a,.nav-fill .nav-tabs>li ul.nav.navbar-nav>li>a,.nav-fill .nav-pills>li ul.nav.navbar-nav>li>a,.nav-fill ul.nav.navbar-nav>li:not(.dropdown) .nav-link,.nav-fill ul.nav.navbar-nav>li:not(.dropdown) .nav-tabs>li>a,.nav-fill ul.nav.navbar-nav>li:not(.dropdown) .nav-pills>li>a,.nav-fill ul.nav.navbar-nav>li:not(.dropdown) ul.nav.navbar-nav>li>a,.nav-justified .nav-item .nav-link,.nav-justified .nav-tabs>li .nav-link,.nav-justified .nav-tabs>li>a,.nav-justified .nav-pills>li .nav-link,.nav-justified .nav-pills>li>a,.nav-justified .nav-item ul.nav.navbar-nav>li>a,.nav-justified .nav-tabs>li ul.nav.navbar-nav>li>a,.nav-justified .nav-pills>li ul.nav.navbar-nav>li>a,.nav-justified ul.nav.navbar-nav>li:not(.dropdown) .nav-link,.nav-justified ul.nav.navbar-nav>li:not(.dropdown) .nav-tabs>li>a,.nav-justified ul.nav.navbar-nav>li:not(.dropdown) .nav-pills>li>a,.nav-justified ul.nav.navbar-nav>li:not(.dropdown) ul.nav.navbar-nav>li>a{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(0,0,0,0.55);--bs-navbar-hover-color: rgba(0,0,0,0.7);--bs-navbar-disabled-color: rgba(0,0,0,0.3);--bs-navbar-active-color: rgba(0,0,0,0.9);--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(0,0,0,0.9);--bs-navbar-brand-hover-color: rgba(0,0,0,0.9);--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280,0,0,0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(0,0,0,0.1);--bs-navbar-toggler-border-radius: .375rem;--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;position:relative;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;display:-webkit-flex;flex-wrap:inherit;-webkit-flex-wrap:inherit;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .show>.nav-link,.navbar-nav .in>.nav-link,.navbar-nav .nav-tabs>li.show>a,.navbar-nav .nav-tabs>li.in>a,.navbar-nav .nav-pills>li.show>a,.navbar-nav .nav-pills>li.in>a,ul.nav.navbar-nav>li.show>a,ul.nav.navbar-nav>li.in>a,.navbar-nav .active>.nav-link,.navbar-nav .nav-tabs>li.active>a,.navbar-nav .nav-pills>li.active>a,ul.nav.navbar-nav>li.active>a,.navbar-nav .nav-link.active,.navbar-nav .nav-tabs>li>a.active,.navbar-nav .nav-pills>li>a.active,ul.nav.navbar-nav>li>a.active{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;-webkit-flex-basis:100%;flex-grow:1;-webkit-flex-grow:1;align-items:center;-webkit-align-items:center}.navbar-toggler,.navbar-toggle{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion: reduce){.navbar-toggler,.navbar-toggle{transition:none}}.navbar-toggler:hover,.navbar-toggle:hover{text-decoration:none}.navbar-toggler:focus,.navbar-toggle:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon,.navbar-toggle>.icon-bar:last-child{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 576px){.navbar-expand-sm,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl){flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-sm .navbar-nav,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link,.navbar-expand-sm .navbar-nav .nav-tabs>li>a,.navbar-expand-sm .navbar-nav .nav-pills>li>a,.navbar-expand-sm ul.nav.navbar-nav>li>a,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav .nav-link,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav .nav-tabs>li>a,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav .nav-pills>li>a,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) ul.nav.navbar-nav>li>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-sm .navbar-toggler,.navbar-expand-sm .navbar-toggle,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-toggler,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-toggle{display:none}.navbar-expand-sm .offcanvas,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link,.navbar-expand-md .navbar-nav .nav-tabs>li>a,.navbar-expand-md .navbar-nav .nav-pills>li>a,.navbar-expand-md ul.nav.navbar-nav>li>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-md .navbar-toggler,.navbar-expand-md .navbar-toggle{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link,.navbar-expand-lg .navbar-nav .nav-tabs>li>a,.navbar-expand-lg .navbar-nav .nav-pills>li>a,.navbar-expand-lg ul.nav.navbar-nav>li>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-lg .navbar-toggler,.navbar-expand-lg .navbar-toggle{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link,.navbar-expand-xl .navbar-nav .nav-tabs>li>a,.navbar-expand-xl .navbar-nav .nav-pills>li>a,.navbar-expand-xl ul.nav.navbar-nav>li>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-xl .navbar-toggler,.navbar-expand-xl .navbar-toggle{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link,.navbar-expand-xxl .navbar-nav .nav-tabs>li>a,.navbar-expand-xxl .navbar-nav .nav-pills>li>a,.navbar-expand-xxl ul.nav.navbar-nav>li>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-xxl .navbar-toggler,.navbar-expand-xxl .navbar-toggle{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link,.navbar-expand .navbar-nav .nav-tabs>li>a,.navbar-expand .navbar-nav .nav-pills>li>a,.navbar-expand ul.nav.navbar-nav>li>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand .navbar-toggler,.navbar-expand .navbar-toggle{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}.navbar-light,.navbar.navbar-default{background-color:#f8f9fa}.navbar-dark,.navbar.navbar-inverse{background-color:#212529;--bs-navbar-color: rgba(255,255,255,0.55);--bs-navbar-hover-color: rgba(255,255,255,0.75);--bs-navbar-disabled-color: rgba(255,255,255,0.25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255,255,255,0.1);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card,.well{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: .5rem;--bs-card-border-width: 1px;--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: .375rem;--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(.375rem - 1px);--bs-card-cap-padding-y: .5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(0,0,0,0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: #fff;--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: .75rem;position:relative;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;min-width:0;height:var(--bs-card-height);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr,.well>hr{margin-right:0;margin-left:0}.card>.list-group,.well>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child,.well>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child,.well>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.well>.card-header+.list-group,.card>.list-group+.card-footer,.well>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;-webkit-flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active,.card-header-tabs .nav-tabs>li>a.active,.card-header-tabs .nav-pills>li>a.active,.card-header-tabs ul.nav.navbar-nav>li>a.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card,.card-group>.well{margin-bottom:var(--bs-card-group-margin)}@media (min-width: 576px){.card-group{display:flex;display:-webkit-flex;flex-flow:row wrap;-webkit-flex-flow:row wrap}.card-group>.card,.card-group>.well{flex:1 0 0%;-webkit-flex:1 0 0%;margin-bottom:0}.card-group>.card+.card,.card-group>.well+.card,.card-group>.card+.well,.card-group>.well+.well{margin-left:0;border-left:0}.card-group>.card:not(:last-child),.card-group>.well:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.well:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header,.card-group>.well:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.well:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer,.card-group>.well:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child),.card-group>.well:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.well:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header,.card-group>.well:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.well:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer,.card-group>.well:not(:first-child) .card-footer{border-bottom-left-radius:0}}.accordion{--bs-accordion-color: #212529;--bs-accordion-bg: #fff;--bs-accordion-transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: 1px;--bs-accordion-border-radius: .375rem;--bs-accordion-inner-border-radius: calc(.375rem - 1px);--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: #212529;--bs-accordion-btn-bg: var(--bs-accordion-bg);--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill=''%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color: #86b7fe;--bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(13,110,253,0.25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: ;--bs-accordion-active-bg: }.accordion-button{position:relative;display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;-webkit-flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion: reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse,.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-collapse{border-width:0}.accordion-flush .accordion-item,.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child,.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child,.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}.breadcrumb{--bs-breadcrumb-padding-x: 0;--bs-breadcrumb-padding-y: 0;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color: #6c757d;--bs-breadcrumb-item-padding-x: .5rem;--bs-breadcrumb-item-active-color: #6c757d;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x: .75rem;--bs-pagination-padding-y: .375rem;--bs-pagination-font-size:1rem;--bs-pagination-color: var(--bs-link-color);--bs-pagination-bg: #fff;--bs-pagination-border-width: 1px;--bs-pagination-border-color: #dee2e6;--bs-pagination-border-radius: .375rem;--bs-pagination-hover-color: var(--bs-link-hover-color);--bs-pagination-hover-bg: #e9ecef;--bs-pagination-hover-border-color: #dee2e6;--bs-pagination-focus-color: var(--bs-link-hover-color);--bs-pagination-focus-bg: #e9ecef;--bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(13,110,253,0.25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #0d6efd;--bs-pagination-active-border-color: #0d6efd;--bs-pagination-disabled-color: #6c757d;--bs-pagination-disabled-bg: #fff;--bs-pagination-disabled-border-color: #dee2e6;display:flex;display:-webkit-flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: .75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius: .5rem}.pagination-sm{--bs-pagination-padding-x: .5rem;--bs-pagination-padding-y: .25rem;--bs-pagination-font-size:.875rem;--bs-pagination-border-radius: .25rem}.badge{--bs-badge-padding-x: .65em;--bs-badge-padding-y: .35em;--bs-badge-font-size:.75em;--bs-badge-font-weight: 700;--bs-badge-color: #fff;--bs-badge-border-radius: .375rem;display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: 1px solid var(--bs-alert-border-color);--bs-alert-border-radius: .375rem;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-default{--bs-alert-color: #595a5c;--bs-alert-bg: #f8f9fa;--bs-alert-border-color: #f5f6f8}.alert-default .alert-link{color:#47484a}.alert-primary{--bs-alert-color: #084298;--bs-alert-bg: #cfe2ff;--bs-alert-border-color: #b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{--bs-alert-color: #41464b;--bs-alert-bg: #e2e3e5;--bs-alert-border-color: #d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{--bs-alert-color: #0f5132;--bs-alert-bg: #d1e7dd;--bs-alert-border-color: #badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{--bs-alert-color: #055160;--bs-alert-bg: #cff4fc;--bs-alert-border-color: #b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{--bs-alert-color: #664d03;--bs-alert-bg: #fff3cd;--bs-alert-border-color: #ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{--bs-alert-color: #842029;--bs-alert-bg: #f8d7da;--bs-alert-border-color: #f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{--bs-alert-color: #636464;--bs-alert-bg: #fefefe;--bs-alert-border-color: #fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{--bs-alert-color: #141619;--bs-alert-bg: #d3d3d4;--bs-alert-border-color: #bcbebf}.alert-dark .alert-link{color:#101214}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{--bs-progress-height: 1rem;--bs-progress-font-size:.75rem;--bs-progress-bg: #e9ecef;--bs-progress-border-radius: .375rem;--bs-progress-box-shadow: inset 0 1px 2px rgba(0,0,0,0.075);--bs-progress-bar-color: #fff;--bs-progress-bar-bg: #0d6efd;--bs-progress-bar-transition: width 0.6s ease;display:flex;display:-webkit-flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;justify-content:center;-webkit-justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color: #212529;--bs-list-group-bg: #fff;--bs-list-group-border-color: rgba(0,0,0,0.125);--bs-list-group-border-width: 1px;--bs-list-group-border-radius: .375rem;--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: .5rem;--bs-list-group-action-color: #495057;--bs-list-group-action-hover-color: #495057;--bs-list-group-action-hover-bg: #f8f9fa;--bs-list-group-action-active-color: #212529;--bs-list-group-action-active-bg: #e9ecef;--bs-list-group-disabled-color: #6c757d;--bs-list-group-disabled-bg: #fff;--bs-list-group-active-color: #fff;--bs-list-group-active-bg: #0d6efd;--bs-list-group-active-border-color: #0d6efd;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-default{color:#595a5c;background-color:#f8f9fa}.list-group-item-default.list-group-item-action:hover,.list-group-item-default.list-group-item-action:focus{color:#595a5c;background-color:#dfe0e1}.list-group-item-default.list-group-item-action.active{color:#fff;background-color:#595a5c;border-color:#595a5c}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.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:.25em .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 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25);opacity:1}.btn-close:disabled,.btn-close.disabled{pointer-events:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: .75rem;--bs-toast-padding-y: .5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size:.875rem;--bs-toast-color: ;--bs-toast-bg: rgba(255,255,255,0.85);--bs-toast-border-width: 1px;--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: .375rem;--bs-toast-box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);--bs-toast-header-color: #6c757d;--bs-toast-header-bg: rgba(255,255,255,0.85);--bs-toast-header-border-color: rgba(0,0,0,0.05);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show):not(.in){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;width:-webkit-max-content;width:-moz-max-content;width:-ms-max-content;width:-o-max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: .5rem;--bs-modal-color: ;--bs-modal-bg: #fff;--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: 1px;--bs-modal-border-radius: .5rem;--bs-modal-box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075);--bs-modal-inner-border-radius: calc(.5rem - 1px);--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: 1px;--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: .5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: 1px;position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform 0.3s ease-out;transform:translate(0, -50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog,.modal.in .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show,.modal-backdrop.in{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;display:-webkit-flex;flex-shrink:0;-webkit-flex-shrink:0;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;display:-webkit-flex;flex-shrink:0;-webkit-flex-shrink:0;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:center;-webkit-align-items:center;justify-content:flex-end;-webkit-justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media (min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media (min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: .5rem;--bs-tooltip-padding-y: .25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:.875rem;--bs-tooltip-color: #fff;--bs-tooltip-bg: #000;--bs-tooltip-border-radius: .375rem;--bs-tooltip-opacity: .9;--bs-tooltip-arrow-width: .8rem;--bs-tooltip-arrow-height: .4rem;z-index:var(--bs-tooltip-zindex);display:block;padding:var(--bs-tooltip-arrow-height);margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show,.tooltip.in{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow{bottom:0}.bs-tooltip-top .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow{left:0;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.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 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow{right:0;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size:.875rem;--bs-popover-bg: #fff;--bs-popover-border-width: 1px;--bs-popover-border-color: var(--bs-border-color-translucent);--bs-popover-border-radius: .5rem;--bs-popover-inner-border-radius: calc(.5rem - 1px);--bs-popover-box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: .5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color: ;--bs-popover-header-bg: #f0f0f0;--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: #212529;--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: .5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::before,.popover .popover-arrow::after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::after{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header::before,.bs-popover-auto[data-popper-placement^="bottom"] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y;-webkit-touch-action:pan-y;-moz-touch-action:pan-y;-ms-touch-action:pan-y;-o-touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-o-backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .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;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:center;-webkit-justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.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:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.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;display:-webkit-flex;justify-content:center;-webkit-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;-webkit-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:.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}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg) /* rtl:ignore */}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-border-width: .25em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: .2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.offcanvas,.offcanvas-xxl,.offcanvas-xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: ;--bs-offcanvas-bg: #fff;--bs-offcanvas-border-width: 1px;--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075)}@media (max-width: 575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 575.98px) and (prefers-reduced-motion: reduce){.offcanvas-sm{transition:none}}@media (max-width: 575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding),.offcanvas-sm.in:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.in{visibility:visible}}@media (min-width: 576px){.offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}@media (max-width: 767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 767.98px) and (prefers-reduced-motion: reduce){.offcanvas-md{transition:none}}@media (max-width: 767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding),.offcanvas-md.in:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.in{visibility:visible}}@media (min-width: 768px){.offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}@media (max-width: 991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 991.98px) and (prefers-reduced-motion: reduce){.offcanvas-lg{transition:none}}@media (max-width: 991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding),.offcanvas-lg.in:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.in{visibility:visible}}@media (min-width: 992px){.offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}@media (max-width: 1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce){.offcanvas-xl{transition:none}}@media (max-width: 1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding),.offcanvas-xl.in:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.in{visibility:visible}}@media (min-width: 1200px){.offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}@media (max-width: 1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce){.offcanvas-xxl{transition:none}}@media (max-width: 1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.in:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.in{visibility:visible}}@media (min-width: 1400px){.offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding),.offcanvas.in:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show,.offcanvas.in{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,.offcanvas-backdrop.in{opacity:.5}.offcanvas-header{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;-webkit-flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{mask-image:linear-gradient(130deg, #000 55%, rgba(0,0,0,0.8) 75%, #000 95%);-webkit-mask-image:linear-gradient(130deg, #000 55%, rgba(0,0,0,0.8) 75%, #000 95%);mask-size:200% 100%;-webkit-mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{mask-position:-200% 0%;-webkit-mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-default{color:#000 !important;background-color:RGBA(222,226,230, var(--bs-bg-opacity, 1)) !important}.text-bg-primary{color:#fff !important;background-color:RGBA(13,110,253, var(--bs-bg-opacity, 1)) !important}.text-bg-secondary{color:#fff !important;background-color:RGBA(108,117,125, var(--bs-bg-opacity, 1)) !important}.text-bg-success{color:#fff !important;background-color:RGBA(25,135,84, var(--bs-bg-opacity, 1)) !important}.text-bg-info{color:#000 !important;background-color:RGBA(13,202,240, var(--bs-bg-opacity, 1)) !important}.text-bg-warning{color:#000 !important;background-color:RGBA(255,193,7, var(--bs-bg-opacity, 1)) !important}.text-bg-danger{color:#fff !important;background-color:RGBA(220,53,69, var(--bs-bg-opacity, 1)) !important}.text-bg-light{color:#000 !important;background-color:RGBA(248,249,250, var(--bs-bg-opacity, 1)) !important}.text-bg-dark{color:#fff !important;background-color:RGBA(33,37,41, var(--bs-bg-opacity, 1)) !important}.link-default{color:#dee2e6 !important}.link-default:hover,.link-default:focus{color:#e5e8eb !important}.link-primary{color:#0d6efd !important}.link-primary:hover,.link-primary:focus{color:#0a58ca !important}.link-secondary{color:#6c757d !important}.link-secondary:hover,.link-secondary:focus{color:#565e64 !important}.link-success{color:#198754 !important}.link-success:hover,.link-success:focus{color:#146c43 !important}.link-info{color:#0dcaf0 !important}.link-info:hover,.link-info:focus{color:#3dd5f3 !important}.link-warning{color:#ffc107 !important}.link-warning:hover,.link-warning:focus{color:#ffcd39 !important}.link-danger{color:#dc3545 !important}.link-danger:hover,.link-danger:focus{color:#b02a37 !important}.link-light{color:#f8f9fa !important}.link-light:hover,.link-light:focus{color:#f9fafb !important}.link-dark{color:#212529 !important}.link-dark:hover,.link-dark:focus{color:#1a1e21 !important}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: calc(3 / 4 * 100%)}.ratio-16x9{--bs-aspect-ratio: calc(9 / 16 * 100%)}.ratio-21x9{--bs-aspect-ratio: calc(9 / 21 * 100%)}.fixed-top,.navbar-fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom,.navbar-fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top,.navbar-sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;display:-webkit-flex;flex-direction:row;-webkit-flex-direction:row;align-items:center;-webkit-align-items:center;align-self:stretch;-webkit-align-self:stretch}.vstack{display:flex;display:-webkit-flex;flex:1 1 auto;-webkit-flex:1 1 auto;flex-direction:column;-webkit-flex-direction:column;align-self:stretch;-webkit-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;-webkit-align-self:stretch;width:1px;min-height:1em;background-color:currentcolor;opacity:.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{float:left !important}.float-end,.float-right{float:right !important}.float-none{float:none !important}.opacity-0{opacity:0 !important}.opacity-25{opacity:.25 !important}.opacity-50{opacity:.5 !important}.opacity-75{opacity:.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:sticky !important}.top-0{top:0 !important}.top-50{top:50% !important}.top-100{top:100% !important}.bottom-0{bottom:0 !important}.bottom-50{bottom:50% !important}.bottom-100{bottom:100% !important}.start-0{left:0 !important}.start-50{left:50% !important}.start-100{left:100% !important}.end-0{right:0 !important}.end-50{right:50% !important}.end-100{right:100% !important}.translate-middle{transform:translate(-50%, -50%) !important}.translate-middle-x{transform:translateX(-50%) !important}.translate-middle-y{transform:translateY(-50%) !important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-0{border:0 !important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-top-0{border-top:0 !important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-end-0{border-right:0 !important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-bottom-0{border-bottom:0 !important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-start-0{border-left:0 !important}.border-default{--bs-border-opacity: 1;border-color:rgba(var(--bs-default-rgb), var(--bs-border-opacity)) !important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important}.border-1{--bs-border-width: 1px}.border-2{--bs-border-width: 2px}.border-3{--bs-border-width: 3px}.border-4{--bs-border-width: 4px}.border-5{--bs-border-width: 5px}.border-opacity-10{--bs-border-opacity: .1}.border-opacity-25{--bs-border-opacity: .25}.border-opacity-50{--bs-border-opacity: .5}.border-opacity-75{--bs-border-opacity: .75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.mw-100{max-width:100% !important}.vw-100{width:100vw !important}.min-vw-100{min-width:100vw !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mh-100{max-height:100% !important}.vh-100{height:100vh !important}.min-vh-100{min-height:100vh !important}.flex-fill{flex:1 1 auto !important}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.justify-content-evenly{justify-content:space-evenly !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}.order-first{order:-1 !important}.order-0{order:0 !important}.order-1{order:1 !important}.order-2{order:2 !important}.order-3{order:3 !important}.order-4{order:4 !important}.order-5{order:5 !important}.order-last{order:6 !important}.m-0{margin:0 !important}.m-1{margin:.25rem !important}.m-2{margin:.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:.25rem !important;margin-left:.25rem !important}.mx-2{margin-right:.5rem !important;margin-left:.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:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.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:.25rem !important}.mt-2{margin-top:.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:.25rem !important}.me-2{margin-right:.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:.25rem !important}.mb-2{margin-bottom:.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:.25rem !important}.ms-2{margin-left:.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:.25rem !important}.p-2{padding:.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:.25rem !important;padding-left:.25rem !important}.px-2{padding-right:.5rem !important;padding-left:.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:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.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:.25rem !important}.pt-2{padding-top:.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:.25rem !important}.pe-2{padding-right:.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:.25rem !important}.pb-2{padding-bottom:.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:.25rem !important}.ps-2{padding-left:.5rem !important}.ps-3{padding-left:1rem !important}.ps-4{padding-left:1.5rem !important}.ps-5{padding-left:3rem !important}.gap-0{gap:0 !important}.gap-1{gap:.25rem !important}.gap-2{gap:.5rem !important}.gap-3{gap:1rem !important}.gap-4{gap:1.5rem !important}.gap-5{gap:3rem !important}.font-monospace{font-family:var(--bs-font-monospace) !important}.fs-1{font-size:calc(1.375rem + 1.5vw) !important}.fs-2{font-size:calc(1.325rem + .9vw) !important}.fs-3{font-size:calc(1.3rem + .6vw) !important}.fs-4{font-size:calc(1.275rem + .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-semibold{font-weight:600 !important}.fw-bolder{font-weight:bolder !important}.lh-1{line-height:1 !important}.lh-sm{line-height:1.25 !important}.lh-base{line-height:1.5 !important}.lh-lg{line-height:2 !important}.text-start{text-align:left !important}.text-end{text-align:right !important}.text-center{text-align:center !important}.text-decoration-none{text-decoration:none !important}.text-decoration-underline{text-decoration:underline !important}.text-decoration-line-through{text-decoration:line-through !important}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-break{word-wrap:break-word !important;word-break:break-word !important}.text-default{--bs-text-opacity: 1;color:rgba(var(--bs-default-rgb), var(--bs-text-opacity)) !important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important}.text-muted,.help-text,.help-block{--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: .25}.text-opacity-50{--bs-text-opacity: .5}.text-opacity-75{--bs-text-opacity: .75}.text-opacity-100{--bs-text-opacity: 1}.bg-default{--bs-bg-opacity: 1;background-color:rgba(var(--bs-default-rgb), var(--bs-bg-opacity)) !important}.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:rgba(0,0,0,0) !important}.bg-opacity-10{--bs-bg-opacity: .1}.bg-opacity-25{--bs-bg-opacity: .25}.bg-opacity-50{--bs-bg-opacity: .5}.bg-opacity-75{--bs-bg-opacity: .75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-gradient{background-image:var(--bs-gradient) !important}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.pe-none{pointer-events:none !important}.pe-auto{pointer-events:auto !important}.rounded{border-radius:var(--bs-border-radius) !important}.rounded-0{border-radius:0 !important}.rounded-1{border-radius:var(--bs-border-radius-sm) !important}.rounded-2{border-radius:var(--bs-border-radius) !important}.rounded-3{border-radius:var(--bs-border-radius-lg) !important}.rounded-4{border-radius:var(--bs-border-radius-xl) !important}.rounded-5{border-radius:var(--bs-border-radius-2xl) !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:var(--bs-border-radius-pill) !important}.rounded-top{border-top-left-radius:var(--bs-border-radius) !important;border-top-right-radius:var(--bs-border-radius) !important}.rounded-end{border-top-right-radius:var(--bs-border-radius) !important;border-bottom-right-radius:var(--bs-border-radius) !important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius) !important;border-bottom-left-radius:var(--bs-border-radius) !important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius) !important;border-top-left-radius:var(--bs-border-radius) !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}.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:.25rem !important}.m-sm-2{margin:.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:.25rem !important;margin-left:.25rem !important}.mx-sm-2{margin-right:.5rem !important;margin-left:.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:.25rem !important;margin-bottom:.25rem !important}.my-sm-2{margin-top:.5rem !important;margin-bottom:.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:.25rem !important}.mt-sm-2{margin-top:.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:.25rem !important}.me-sm-2{margin-right:.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:.25rem !important}.mb-sm-2{margin-bottom:.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:.25rem !important}.ms-sm-2{margin-left:.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:.25rem !important}.p-sm-2{padding:.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:.25rem !important;padding-left:.25rem !important}.px-sm-2{padding-right:.5rem !important;padding-left:.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:.25rem !important;padding-bottom:.25rem !important}.py-sm-2{padding-top:.5rem !important;padding-bottom:.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:.25rem !important}.pt-sm-2{padding-top:.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:.25rem !important}.pe-sm-2{padding-right:.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:.25rem !important}.pb-sm-2{padding-bottom:.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:.25rem !important}.ps-sm-2{padding-left:.5rem !important}.ps-sm-3{padding-left:1rem !important}.ps-sm-4{padding-left:1.5rem !important}.ps-sm-5{padding-left:3rem !important}.gap-sm-0{gap:0 !important}.gap-sm-1{gap:.25rem !important}.gap-sm-2{gap:.5rem !important}.gap-sm-3{gap:1rem !important}.gap-sm-4{gap:1.5rem !important}.gap-sm-5{gap:3rem !important}.text-sm-start{text-align:left !important}.text-sm-end{text-align:right !important}.text-sm-center{text-align:center !important}}@media (min-width: 768px){.float-md-start{float:left !important}.float-md-end{float:right !important}.float-md-none{float:none !important}.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}.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:.25rem !important}.m-md-2{margin:.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:.25rem !important;margin-left:.25rem !important}.mx-md-2{margin-right:.5rem !important;margin-left:.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:.25rem !important;margin-bottom:.25rem !important}.my-md-2{margin-top:.5rem !important;margin-bottom:.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:.25rem !important}.mt-md-2{margin-top:.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:.25rem !important}.me-md-2{margin-right:.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:.25rem !important}.mb-md-2{margin-bottom:.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:.25rem !important}.ms-md-2{margin-left:.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:.25rem !important}.p-md-2{padding:.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:.25rem !important;padding-left:.25rem !important}.px-md-2{padding-right:.5rem !important;padding-left:.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:.25rem !important;padding-bottom:.25rem !important}.py-md-2{padding-top:.5rem !important;padding-bottom:.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:.25rem !important}.pt-md-2{padding-top:.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:.25rem !important}.pe-md-2{padding-right:.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:.25rem !important}.pb-md-2{padding-bottom:.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:.25rem !important}.ps-md-2{padding-left:.5rem !important}.ps-md-3{padding-left:1rem !important}.ps-md-4{padding-left:1.5rem !important}.ps-md-5{padding-left:3rem !important}.gap-md-0{gap:0 !important}.gap-md-1{gap:.25rem !important}.gap-md-2{gap:.5rem !important}.gap-md-3{gap:1rem !important}.gap-md-4{gap:1.5rem !important}.gap-md-5{gap:3rem !important}.text-md-start{text-align:left !important}.text-md-end{text-align:right !important}.text-md-center{text-align:center !important}}@media (min-width: 992px){.float-lg-start{float:left !important}.float-lg-end{float:right !important}.float-lg-none{float:none !important}.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}.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:.25rem !important}.m-lg-2{margin:.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:.25rem !important;margin-left:.25rem !important}.mx-lg-2{margin-right:.5rem !important;margin-left:.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:.25rem !important;margin-bottom:.25rem !important}.my-lg-2{margin-top:.5rem !important;margin-bottom:.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:.25rem !important}.mt-lg-2{margin-top:.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:.25rem !important}.me-lg-2{margin-right:.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:.25rem !important}.mb-lg-2{margin-bottom:.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:.25rem !important}.ms-lg-2{margin-left:.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:.25rem !important}.p-lg-2{padding:.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:.25rem !important;padding-left:.25rem !important}.px-lg-2{padding-right:.5rem !important;padding-left:.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:.25rem !important;padding-bottom:.25rem !important}.py-lg-2{padding-top:.5rem !important;padding-bottom:.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:.25rem !important}.pt-lg-2{padding-top:.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:.25rem !important}.pe-lg-2{padding-right:.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:.25rem !important}.pb-lg-2{padding-bottom:.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:.25rem !important}.ps-lg-2{padding-left:.5rem !important}.ps-lg-3{padding-left:1rem !important}.ps-lg-4{padding-left:1.5rem !important}.ps-lg-5{padding-left:3rem !important}.gap-lg-0{gap:0 !important}.gap-lg-1{gap:.25rem !important}.gap-lg-2{gap:.5rem !important}.gap-lg-3{gap:1rem !important}.gap-lg-4{gap:1.5rem !important}.gap-lg-5{gap:3rem !important}.text-lg-start{text-align:left !important}.text-lg-end{text-align:right !important}.text-lg-center{text-align:center !important}}@media (min-width: 1200px){.float-xl-start{float:left !important}.float-xl-end{float:right !important}.float-xl-none{float:none !important}.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}.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:.25rem !important}.m-xl-2{margin:.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:.25rem !important;margin-left:.25rem !important}.mx-xl-2{margin-right:.5rem !important;margin-left:.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:.25rem !important;margin-bottom:.25rem !important}.my-xl-2{margin-top:.5rem !important;margin-bottom:.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:.25rem !important}.mt-xl-2{margin-top:.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:.25rem !important}.me-xl-2{margin-right:.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:.25rem !important}.mb-xl-2{margin-bottom:.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:.25rem !important}.ms-xl-2{margin-left:.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:.25rem !important}.p-xl-2{padding:.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:.25rem !important;padding-left:.25rem !important}.px-xl-2{padding-right:.5rem !important;padding-left:.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:.25rem !important;padding-bottom:.25rem !important}.py-xl-2{padding-top:.5rem !important;padding-bottom:.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:.25rem !important}.pt-xl-2{padding-top:.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:.25rem !important}.pe-xl-2{padding-right:.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:.25rem !important}.pb-xl-2{padding-bottom:.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:.25rem !important}.ps-xl-2{padding-left:.5rem !important}.ps-xl-3{padding-left:1rem !important}.ps-xl-4{padding-left:1.5rem !important}.ps-xl-5{padding-left:3rem !important}.gap-xl-0{gap:0 !important}.gap-xl-1{gap:.25rem !important}.gap-xl-2{gap:.5rem !important}.gap-xl-3{gap:1rem !important}.gap-xl-4{gap:1.5rem !important}.gap-xl-5{gap:3rem !important}.text-xl-start{text-align:left !important}.text-xl-end{text-align:right !important}.text-xl-center{text-align:center !important}}@media (min-width: 1400px){.float-xxl-start{float:left !important}.float-xxl-end{float:right !important}.float-xxl-none{float:none !important}.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}.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:.25rem !important}.m-xxl-2{margin:.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:.25rem !important;margin-left:.25rem !important}.mx-xxl-2{margin-right:.5rem !important;margin-left:.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:.25rem !important;margin-bottom:.25rem !important}.my-xxl-2{margin-top:.5rem !important;margin-bottom:.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:.25rem !important}.mt-xxl-2{margin-top:.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:.25rem !important}.me-xxl-2{margin-right:.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:.25rem !important}.mb-xxl-2{margin-bottom:.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:.25rem !important}.ms-xxl-2{margin-left:.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:.25rem !important}.p-xxl-2{padding:.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:.25rem !important;padding-left:.25rem !important}.px-xxl-2{padding-right:.5rem !important;padding-left:.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:.25rem !important;padding-bottom:.25rem !important}.py-xxl-2{padding-top:.5rem !important;padding-bottom:.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:.25rem !important}.pt-xxl-2{padding-top:.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:.25rem !important}.pe-xxl-2{padding-right:.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:.25rem !important}.pb-xxl-2{padding-bottom:.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:.25rem !important}.ps-xxl-2{padding-left:.5rem !important}.ps-xxl-3{padding-left:1rem !important}.ps-xxl-4{padding-left:1.5rem !important}.ps-xxl-5{padding-left:3rem !important}.gap-xxl-0{gap:0 !important}.gap-xxl-1{gap:.25rem !important}.gap-xxl-2{gap:.5rem !important}.gap-xxl-3{gap:1rem !important}.gap-xxl-4{gap:1.5rem !important}.gap-xxl-5{gap:3rem !important}.text-xxl-start{text-align:left !important}.text-xxl-end{text-align:right !important}.text-xxl-center{text-align:center !important}}.bg-default{color:#000}.bg-primary{color:#fff}.bg-secondary{color:#fff}.bg-success{color:#fff}.bg-info{color:#000}.bg-warning{color:#000}.bg-danger{color:#fff}.bg-light{color:#000}.bg-dark{color:#fff}@media (min-width: 1200px){.fs-1{font-size:2.5rem !important}.fs-2{font-size:2rem !important}.fs-3{font-size:1.75rem !important}.fs-4{font-size:1.5rem !important}}@media print{.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-grid{display:grid !important}.d-print-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}}.table th[align=left]{text-align:left}.table th[align=right]{text-align:right}.table th[align=center]{text-align:center}.well{display:block;background-color:rgba(0,0,0,0.03);color:#212529;padding:1rem;border-radius:.375rem}.well-lg{padding:1.5rem;border-radius:.5rem}.well-sm{padding:0.5rem;border-radius:.25rem}.draggable .well{background-color:#f7f7f7}.dropdown-menu>li.active>a{color:#fff;text-decoration:none;background-color:#0d6efd}.navbar:not(.fixed-bottom):not(.navbar-fixed-bottom):not(.navbar-fixed-bottom)+div>.tab-content>.tab-pane{--bslib-navbar-margin: 20px;margin-top:var(--bslib-navbar-margin)}ul.nav.navbar-nav{flex:1;-webkit-flex:1}ul.nav.navbar-nav.navbar-right{flex:unset;-webkit-flex:unset;display:flex;display:-webkit-flex;justify-content:flex-end;-webkit-justify-content:flex-end}.navbar.navbar-default{background-color:#f8f9fa !important}.navbar.navbar-inverse{background-color:#212529 !important}.navbar-toggle>.icon-bar{display:none}@media (max-width: 575.98px){.navbar-header{width:100%}.navbar-header .navbar-toggle{float:right}}.nav-tabs>li.active>a{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-pills>li.active>a{color:#fff;background-color:#0d6efd}.nav-stacked{flex-direction:column;-webkit-flex-direction:column}.progress-bar-default{background-color:#dee2e6;color:#000}.progress-bar-primary{background-color:#0d6efd;color:#fff}.progress-bar-secondary{background-color:#6c757d;color:#fff}.progress-bar-success{background-color:#198754;color:#fff}.progress-bar-info{background-color:#0dcaf0;color:#000}.progress-bar-warning{background-color:#ffc107;color:#000}.progress-bar-danger{background-color:#dc3545;color:#fff}.progress-bar-light{background-color:#f8f9fa;color:#000}.progress-bar-dark{background-color:#212529;color:#fff}@font-face{font-family:'Glyphicons Halflings';src:url("fonts/bootstrap/glyphicons-halflings-regular.eot");src:url("fonts/bootstrap/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"),url("fonts/bootstrap/glyphicons-halflings-regular.woff2") format("woff2"),url("fonts/bootstrap/glyphicons-halflings-regular.woff") format("woff"),url("fonts/bootstrap/glyphicons-halflings-regular.ttf") format("truetype"),url("fonts/bootstrap/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg")}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}.form-group{margin-bottom:1rem}.input-daterange .input-group-addon.input-group-prepend.input-group-append{padding:inherit;line-height:inherit;text-shadow:inherit;border-width:0}.input-daterange .input-group-addon.input-group-prepend.input-group-append .input-group-text{border-radius:0}pre.shiny-code{padding:0.5rem}.section.level1,.section.level2,.section.level3,section.level1,section.level2,section.level3{margin-top:1.5rem}.section.level4,.section.level5,.section.level6,section.level4,section.level5,section.level6{margin-top:1rem}.accordion .accordion-icon:not(:empty){margin-right:0.25rem;display:flex}.accordion .accordion-button:not(.collapsed){box-shadow:none}.accordion .accordion-button:not(.collapsed):focus{box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.bslib-card .card-body+.card-body{padding-top:0}.bslib-card .card-body{overflow:auto}.bslib-card .card-body p{margin-top:0}.bslib-card .card-body p:last-child{margin-bottom:0}.bslib-card .card-body{max-height:var(--bslib-card-body-max-height, none)}.bslib-card.bslib-full-screen>.card-body{max-height:var(--bslib-card-body-max-height-full-screen, none)}.bslib-card .card-header .form-group{margin-bottom:0}.bslib-card .card-header .selectize-control{margin-bottom:0}.bslib-card .card-header .selectize-control .item{margin-right:1.15rem}.bslib-card .card-footer{margin-top:auto}.bslib-card .bslib-navs-card-title{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center}.bslib-card .bslib-navs-card-title .nav{margin-left:auto}.bslib-card .bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]){border:none}.bslib-card .bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]){border-top-left-radius:0;border-top-right-radius:0}.bslib-full-screen{position:fixed;inset:3.5rem 1rem 1rem;height:auto !important;max-height:none !important;width:auto !important;z-index:1070}.bslib-full-screen-enter{display:none;position:absolute;bottom:1px;right:3px;margin:0.5rem;padding:0.55rem !important;font-size:.8rem;cursor:pointer;opacity:.6;color:rgba(var(--bs-body-bg-rgb), 1);z-index:1070}.bslib-full-screen-enter:hover{opacity:1}.card:hover:not(.bslib-full-screen) .bslib-full-screen-enter,.well:hover:not(.bslib-full-screen) .bslib-full-screen-enter{display:block}@media (max-width: 575.98px){.bslib-full-screen-enter{display:none !important}}.bslib-full-screen-exit{position:relative;top:1.35rem;font-size:0.9rem;cursor:pointer;text-decoration:none;display:flex;float:right;margin-right:2.15rem;align-items:center;color:rgba(var(--bs-body-bg-rgb), 0.8)}.bslib-full-screen-exit:hover{color:rgba(var(--bs-body-bg-rgb), 1)}.bslib-full-screen-exit svg{margin-left:0.5rem;font-size:1.5rem}#bslib-full-screen-overlay{position:fixed;inset:0;background-color:rgba(var(--bs-body-color-rgb), 0.6);z-index:1069}.tab-content>.tab-pane.html-fill-container{display:none}.tab-content>.active.html-fill-container{display:flex}.tab-content.html-fill-container{padding:0}.bslib-page-fill{width:100%;height:100%;margin:0;padding:1rem;gap:1rem}@media (max-width: 575.98px){.bslib-page-fill{height:var(--bslib-page-fill-mobile-height, auto)}}.bslib-column-wrap{display:grid !important;gap:1rem;height:var(--bslib-column-wrap-height)}.bslib-column-wrap .card,.bslib-column-wrap .well{margin-bottom:0}@media (max-width: 575.98px){.bslib-column-wrap{grid-template-columns:1fr !important;height:var(--bslib-column-wrap-height-mobile)}}.bslib-sidebar-layout{--bslib-sidebar-transition: grid-template-columns ease-in-out 0.5s;--bslib-sidebar-border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, var(--bs-border-color-translucent));--bslib-sidebar-border-radius: var(--bs-border-radius);--bslib-sidebar-vert-border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, var(--bs-border-color-translucent));--bslib-collapse-toggle-border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, var(--bs-border-color-translucent));--bslib-collapse-toggle-transform: 90deg;--bslib-collapse-toggle-right-transform: -90deg;display:grid !important;grid-template-columns:Min(calc(100% - 1rem), var(--bslib-sidebar-width, 250px)) minmax(0, 1fr);position:relative;transition:var(--bslib-sidebar-transition);border:var(--bslib-sidebar-border);border-radius:var(--bslib-sidebar-border-radius)}@media (prefers-reduced-motion: reduce){.bslib-sidebar-layout{transition:none}}.bslib-sidebar-layout[data-bslib-sidebar-border="false"]{border:none}.bslib-sidebar-layout[data-bslib-sidebar-border-radius="false"]{border-radius:initial}.bslib-sidebar-layout>.main,.bslib-sidebar-layout>.sidebar{grid-row:1 / 2;border-radius:inherit;overflow:auto}.bslib-sidebar-layout>.main{grid-column:2 / 3;border-top-left-radius:0;border-bottom-left-radius:0;padding:1.5rem}.bslib-sidebar-layout>.sidebar{grid-column:1 / 2;width:100%;height:100%;border-right:var(--bslib-sidebar-vert-border);border-top-right-radius:0;border-bottom-right-radius:0;background-color:#f8f9fa;color:#000}.bslib-sidebar-layout>.sidebar>.sidebar-content{display:flex;flex-direction:column;padding:1.5rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>:last-child:not(.sidebar-title){margin-bottom:0}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion{margin-left:-1.5rem;margin-right:-1.5rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:first-child{margin-top:-1.5rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:last-child{margin-bottom:-1.5rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:last-child){margin-bottom:1rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-body{display:flex;flex-direction:column}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:first-child) .accordion-item:first-child{border-top:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:last-child) .accordion-item:last-child{border-bottom:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.bslib-sidebar-layout>.sidebar>.sidebar-content>.sidebar-title+.accordion{margin-top:calc(-1rem - var(--bs-card-border-width, 1px))}.bslib-sidebar-layout>.sidebar>.sidebar-content>.sidebar-title:has(+.accordion){border-bottom:none}.bslib-sidebar-layout>.sidebar .shiny-input-container{width:100%}.bslib-sidebar-layout>.collapse-toggle{grid-row:1 / 2;grid-column:1 / 2;display:inline-flex;align-items:center;position:absolute;right:-1rem;bottom:calc(1.5rem + var(--bslib-sidebar-overlap-counter, 0) * calc(1rem + 1.5rem));border:var(--bslib-collapse-toggle-border);border-left:none;border-radius:0 var(--bs-border-radius) var(--bs-border-radius) 0;padding:7px 0;background-color:#f8f9fa;color:#000}.bslib-sidebar-layout>.collapse-toggle>.collapse-icon{opacity:0.8;width:1rem;height:1rem;transform:rotate(var(--bslib-collapse-toggle-transform));transition:transform ease-in-out 0.35s}.bslib-sidebar-layout>.collapse-toggle:hover>.collapse-icon{opacity:1}.bslib-sidebar-layout .sidebar-title{font-size:1.25rem;line-height:1.25;margin-top:0;margin-bottom:1rem;padding-bottom:1rem;border-bottom:var(--bslib-sidebar-border)}.bslib-sidebar-layout.sidebar-right{grid-template-columns:minmax(0, 1fr) Min(calc(100% - 1rem), var(--bslib-sidebar-width, 250px))}.bslib-sidebar-layout.sidebar-right>.main{grid-column:1 / 2;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:inherit;border-bottom-left-radius:inherit}.bslib-sidebar-layout.sidebar-right>.sidebar{grid-column:2 / 3;border-right:none;border-left:var(--bslib-sidebar-vert-border);border-top-left-radius:0;border-bottom-left-radius:0}.bslib-sidebar-layout.sidebar-right>.collapse-toggle{grid-column:2 / 3;left:-1rem;right:unset;border-radius:var(--bs-border-radius) 0 0 var(--bs-border-radius);border-right:none;border-left:var(--bslib-collapse-toggle-border)}.bslib-sidebar-layout.sidebar-right>.collapse-toggle>.collapse-icon{transform:rotate(var(--bslib-collapse-toggle-right-transform))}.bslib-sidebar-layout.sidebar-collapsed{--bslib-collapse-toggle-transform: -90deg;--bslib-collapse-toggle-right-transform: 90deg;--bslib-sidebar-vert-border: none;grid-template-columns:0 minmax(0, 1fr)}.bslib-sidebar-layout.sidebar-collapsed.sidebar-right{grid-template-columns:minmax(0, 1fr) 0}.bslib-sidebar-layout.sidebar-collapsed:not(.transitioning)>.sidebar>*{display:none}.bslib-sidebar-layout.sidebar-collapsed>.main{border-radius:inherit}.bslib-sidebar-layout.sidebar-collapsed>.collapse-toggle{right:calc(-1rem - var(--bs-card-border-width, 1px))}.bslib-sidebar-layout.sidebar-collapsed.sidebar-right>.collapse-toggle{left:calc(-1rem - var(--bs-card-border-width, 1px));right:unset}@media (min-width: 576px){.bslib-sidebar-layout.transitioning>.sidebar>.sidebar-content{display:none}}@media (max-width: 575.98px){.bslib-sidebar-layout,.bslib-sidebar-layout.sidebar-right{--bslib-sidebar-vert-border: none;--bslib-sidebar-horiz-border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, var(--bs-border-color-translucent));--bslib-collapse-toggle-transform: -180deg;--bslib-collapse-toggle-right-transform: -180deg;grid-template-columns:1fr !important;grid-template-rows:fit-content(var(--bslib-sidebar-max-height-mobile, auto)) minmax(0, 1fr)}.bslib-sidebar-layout[data-bslib-sidebar-open="desktop"],.bslib-sidebar-layout.sidebar-right[data-bslib-sidebar-open="desktop"]{--bslib-sidebar-js-init-collapsed: true}.bslib-sidebar-layout>.sidebar,.bslib-sidebar-layout.sidebar-right>.sidebar{grid-row:1 / 2;grid-column:1 / 2;width:100%;border:none;border-bottom:var(--bslib-sidebar-horiz-border);border-radius:0}.bslib-sidebar-layout>.main,.bslib-sidebar-layout.sidebar-right>.main{grid-row:2 / 3;grid-column:1 / 2;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.bslib-sidebar-layout>.collapse-toggle,.bslib-sidebar-layout.sidebar-right>.collapse-toggle{grid-row:2 / 3;grid-column:1 / 2;border-top:none !important;border:var(--bslib-collapse-toggle-border);border-radius:0 0 var(--bs-border-radius) var(--bs-border-radius);padding:0 4px}.bslib-sidebar-layout>.collapse-toggle,.bslib-sidebar-layout.sidebar-right>.collapse-toggle,.bslib-sidebar-layout.sidebar-right>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-right>.collapse-toggle{top:calc(-1 * var(--bs-card-border-width, 1px))}.bslib-sidebar-layout.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-right.sidebar-collapsed>.collapse-toggle{top:0}.bslib-sidebar-layout>.collapse-toggle,.bslib-sidebar-layout.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-right>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-right.sidebar-collapsed>.collapse-toggle{right:calc(1.5rem + var(--bslib-sidebar-counter, 0) * calc(1rem + 1.5rem));bottom:initial;left:initial}.bslib-sidebar-layout.sidebar-collapsed,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed{--bslib-collapse-toggle-transform: 0deg;--bslib-collapse-toggle-right-transform: 0deg;grid-template-rows:0 minmax(0, 1fr)}.bslib-sidebar-layout.sidebar-collapsed>.main,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.main{border-top-left-radius:inherit;border-top-right-radius:inherit}.bslib-sidebar-layout.sidebar-collapsed>.sidebar,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.sidebar{border-bottom:none}}.navbar+.container-fluid:has(>.tab-content>.tab-pane.active>.bslib-sidebar-layout),.navbar+.container-sm:has(>.tab-content>.tab-pane.active>.bslib-sidebar-layout),.navbar+.container-md:has(>.tab-content>.tab-pane.active>.bslib-sidebar-layout),.navbar+.container-lg:has(>.tab-content>.tab-pane.active>.bslib-sidebar-layout),.navbar+.container-xl:has(>.tab-content>.tab-pane.active>.bslib-sidebar-layout),.navbar+.container-xxl:has(>.tab-content>.tab-pane.active>.bslib-sidebar-layout){padding-left:0;padding-right:0}.navbar+.container-fluid>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]),.navbar+.container-sm>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]),.navbar+.container-md>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]),.navbar+.container-lg>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]),.navbar+.container-xl>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]),.navbar+.container-xxl>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]){border:none}.navbar+.container-fluid>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]),.navbar+.container-sm>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]),.navbar+.container-md>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]),.navbar+.container-lg>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]),.navbar+.container-xl>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]),.navbar+.container-xxl>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]){border-radius:0}.bslib-value-box .value-box-grid{grid-template-columns:var(--bslib-value-box-widths)}.bslib-value-box .value-box-showcase{align-items:center;justify-content:center;margin-top:auto;margin-bottom:auto;padding:1rem;max-height:var(--bslib-value-box-max-height)}.bslib-value-box .value-box-showcase .bi,.bslib-value-box .value-box-showcase .fa{opacity:.85}.bslib-value-box .value-box-showcase .bi{font-size:5rem}.bslib-value-box .value-box-showcase .fa{font-size:4rem}.bslib-value-box .value-box-showcase.showcase-top-right{align-items:end;padding-left:0;padding-bottom:0}.bslib-value-box .value-box-area{justify-content:center;padding:1.5rem 1rem;font-size:.9rem;font-weight:500}.bslib-value-box .value-box-area *{color:inherit;margin-bottom:0;margin-top:0}.bslib-value-box .value-box-area.border-start{border-color:rgba(222,226,230,0.3) !important}.bslib-value-box.bslib-full-screen .value-box-grid{grid-template-columns:var(--bslib-value-box-widths-full-screen)}.bslib-value-box.bslib-full-screen .value-box-showcase{max-height:var(--bslib-value-box-max-height-full-screen)}.bslib-value-box:not(.bslib-full-screen) .value-box-showcase.showcase-top-right{margin-top:0}@media (max-width: 575.98px){.bslib-value-box .value-box-grid{grid-template-columns:var(--bslib-value-box-widths) !important}}@media (min-width: 576px){.nav:not(.nav-hidden){display:flex !important;display:-webkit-flex !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column){float:none !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column)>.bslib-nav-spacer{margin-left:auto !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column)>.form-inline{margin-top:auto;margin-bottom:auto}.nav:not(.nav-hidden).nav-stacked{flex-direction:column;-webkit-flex-direction:column;height:100%}.nav:not(.nav-hidden).nav-stacked>.bslib-nav-spacer{margin-top:auto !important}} From 3b5d911bbdeef4ab6fd65ed5c4ab9bd68b075f78 Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Tue, 25 Apr 2023 14:05:18 -0400 Subject: [PATCH 07/76] Use hand-crafted DocumentObserver instead of arrive.js --- package.json | 4 -- srcts/src/components/_documentObserver.ts | 80 +++++++++++++++++++++++ srcts/src/components/sidebar.ts | 34 +++++----- yarn.lock | 10 --- 4 files changed, 98 insertions(+), 30 deletions(-) create mode 100644 srcts/src/components/_documentObserver.ts diff --git a/package.json b/package.json index d1550d65d..042b6e01e 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,6 @@ "devDependencies": { "@types/node": "^18.11.18", "@types/rstudio-shiny": "https://github.com/rstudio/shiny#v1.7.4", - "@types/arrive": "^2.4.1", "@typescript-eslint/eslint-plugin": "^5.48.1", "@typescript-eslint/parser": "^5.48.1", "esbuild": "^0.16.14", @@ -27,8 +26,5 @@ "checks": "yarn run check_types && yarn run check_lint", "check_lint": "node --eval \"console.log('linting code...')\" && eslint --fix --ext .ts srcts/src", "check_types": "tsc --noEmit -p tsconfig.json" - }, - "dependencies": { - "arrive": "^2.4.1" } } diff --git a/srcts/src/components/_documentObserver.ts b/srcts/src/components/_documentObserver.ts new file mode 100644 index 000000000..0697e9e19 --- /dev/null +++ b/srcts/src/components/_documentObserver.ts @@ -0,0 +1,80 @@ +/** + * The DocumentObserver class creates an observer detecting all DOM changes, + * watching for added or removed elements (or their children) that match + * the specified selectors. When a matching element is added or removed, the + * respective callback function is called. The DocumentObserver is insensitive + * to when it's instantiated; it always runs `added.callback()` once on the + * document body (waiting for DOMContentLoaded if necessary) and then starts + * watching the DOM for added/removed elements. + */ + +interface DocumentObserverConfig { + added: { + selector: string; + callback: (node: HTMLElement) => void; + }; + removed: { + selector: string; + callback: (node: HTMLElement) => void; + }; +} + +class DocumentObserver { + private observer: MutationObserver; + private config: DocumentObserverConfig; + + constructor(config: DocumentObserverConfig) { + const mutationObserverCallback = (mutationsList: MutationRecord[]) => { + for (const mutation of mutationsList) { + if (mutation.type === "childList") { + for (const addedNode of mutation.addedNodes) { + if (addedNode.nodeType !== Node.ELEMENT_NODE) continue; + this._callback(addedNode as HTMLElement, this.config.added); + } + for (const removedNode of mutation.removedNodes) { + if (removedNode.nodeType !== Node.ELEMENT_NODE) continue; + this._callback(removedNode as HTMLElement, this.config.removed); + } + } + } + }; + + this.config = config; + this.observer = new MutationObserver(mutationObserverCallback); + if (document.readyState === "complete") { + this.connect(); + } else { + document.addEventListener("DOMContentLoaded", () => this.connect()); + } + } + + private _callback( + el: HTMLElement, + { + selector, + callback, + }: { selector: string; callback: (node: HTMLElement) => void } + ) { + const elMatches = el.matches(selector); + const hasMatchingChild = el.querySelector(selector); + if (!elMatches && !hasMatchingChild) return; + if (elMatches) callback(el); + if (!hasMatchingChild) return; + el.querySelectorAll(selector).forEach((node) => + callback(node as HTMLElement) + ); + } + + connect(): void { + this._callback(document.body, this.config.added); + console.log("connecting observer"); + this.observer.observe(document, { childList: true, subtree: true }); + } + + disconnect(): void { + this.observer.disconnect(); + } +} + +export { DocumentObserver }; +export type { DocumentObserverConfig }; diff --git a/srcts/src/components/sidebar.ts b/srcts/src/components/sidebar.ts index 70fdd8364..80e14536d 100644 --- a/srcts/src/components/sidebar.ts +++ b/srcts/src/components/sidebar.ts @@ -4,7 +4,7 @@ import { doWindowResizeOnElementResize, } from "./_utils"; -import "arrive"; +import { DocumentObserver } from "./_documentObserver"; type SidebarMethod = "close" | "open" | "toggle"; @@ -250,22 +250,24 @@ class SidebarInputBinding extends InputBinding { registerBinding(SidebarInputBinding, "sidebar"); // Initialize sidebars on page load or when added to the page ---------------- -document.arrive( - `.${Sidebar.classes.LAYOUT}[data-bslib-sidebar-init]`, - (container) => { - console.log("arrive", container); - Sidebar.initCollapsible(container as HTMLElement); - } -); - -document.leave( - `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`, - (container) => { - console.log("leave", container); - Sidebar.removeEventListeners(container as HTMLElement); - } -); +const observer = new DocumentObserver({ + added: { + selector: `.${Sidebar.classes.LAYOUT}[data-bslib-sidebar-init]`, + callback: (container) => { + console.log("added", container); + Sidebar.initCollapsible(container as HTMLElement); + }, + }, + removed: { + selector: `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`, + callback: (container) => { + console.log("removed", container); + Sidebar.removeEventListeners(container as HTMLElement); + }, + }, +}); // attach Sidebar class to window for global usage (window as any).bslib = (window as any).bslib || {}; (window as any).bslib.Sidebar = Sidebar; +(window as any).bslib.SidebarObserver = observer; diff --git a/yarn.lock b/yarn.lock index ffad1970a..6f14c9ca3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -233,11 +233,6 @@ resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e" integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== -"@types/arrive@^2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@types/arrive/-/arrive-2.4.1.tgz#996c9046fe83c90e2ba02d3e1e63cad276dbe9f0" - integrity sha512-T4fPI0e3XOCFgS4YDpKf230IVlgMKEk/sGW2yl7UExuIsH0V0FshNjrbVZOogjUaRINsnFJzoJpsTmJ2xoJxFQ== - "@types/bootstrap-datepicker@0.0.14": version "0.0.14" resolved "https://registry.yarnpkg.com/@types/bootstrap-datepicker/-/bootstrap-datepicker-0.0.14.tgz#89bc5816dd0b802bf8d4923cf5461e2c98cbb450" @@ -461,11 +456,6 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -arrive@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/arrive/-/arrive-2.4.1.tgz#564c87f20bc09b80de781124d9431695004b8020" - integrity sha512-gnpcKdKN4HJAmzpZIxDBJsw/z59sBvh9i4mJyHJCk+enrKnEZ/l1GspM1MGPxMxnRcdt+v/OIWEY5mNQSGisPQ== - balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" From cef77ac9aba2dbe12ae134188feb30ffbcfac6b0 Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Tue, 25 Apr 2023 14:05:33 -0400 Subject: [PATCH 08/76] rebuild components --- inst/components/sidebar.min.js | 2 +- inst/components/sidebar.min.js.map | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/inst/components/sidebar.min.js b/inst/components/sidebar.min.js index ecdfbc0e6..f746441aa 100644 --- a/inst/components/sidebar.min.js +++ b/inst/components/sidebar.min.js @@ -1,3 +1,3 @@ /*! bslib 0.4.2.9000 | (c) 2012-2023 RStudio, PBC. | License: MIT + file LICENSE */ -"use strict";(()=>{var O=window.Shiny?Shiny.InputBinding:class{};function N(b,t){window.Shiny&&Shiny.inputBindings.register(new b,"bslib."+t)}function B(b){if($(b).data("window-resize-observer"))return;let t=new Event("resize"),r=new ResizeObserver(()=>{window.dispatchEvent(t)});r.observe(b),$(b).data("window-resize-observer",r)}var P=function(b,t,r){"use strict";if(!b.MutationObserver||typeof HTMLElement=="undefined")return;var d=0,l=function(){var f=HTMLElement.prototype.matches||HTMLElement.prototype.webkitMatchesSelector||HTMLElement.prototype.mozMatchesSelector||HTMLElement.prototype.msMatchesSelector;return{matchesSelector:function(s,i){return s instanceof HTMLElement&&f.call(s,i)},addMethod:function(s,i,u){var o=s[i];s[i]=function(){if(u.length==arguments.length)return u.apply(this,arguments);if(typeof o=="function")return o.apply(this,arguments)}},callCallbacks:function(s,i){i&&i.options.onceOnly&&i.firedElems.length==1&&(s=[s[0]]);for(var u=0,o;o=s[u];u++)o&&o.callback&&o.callback.call(o.elem,o.elem);i&&i.options.onceOnly&&i.firedElems.length==1&&i.me.unbindEventWithSelectorAndCallback.call(i.target,i.selector,i.callback)},checkChildNodesRecursively:function(s,i,u,o){for(var n=0,e;e=s[n];n++)u(e,i,o)&&o.push({callback:i.callback,elem:e}),e.childNodes.length>0&&l.checkChildNodesRecursively(e.childNodes,i,u,o)},mergeArrays:function(s,i){var u={},o;for(o in s)s.hasOwnProperty(o)&&(u[o]=s[o]);for(o in i)i.hasOwnProperty(o)&&(u[o]=i[o]);return u},toElementsArray:function(s){return typeof s!="undefined"&&(typeof s.length!="number"||s===b)&&(s=[s]),s}}}(),g=function(){var f=function(){this._eventsBucket=[],this._beforeAdding=null,this._beforeRemoving=null};return f.prototype.addEvent=function(s,i,u,o){var n={target:s,selector:i,options:u,callback:o,firedElems:[]};return this._beforeAdding&&this._beforeAdding(n),this._eventsBucket.push(n),n},f.prototype.removeEvent=function(s){for(var i=this._eventsBucket.length-1,u;u=this._eventsBucket[i];i--)if(s(u)){this._beforeRemoving&&this._beforeRemoving(u);var o=this._eventsBucket.splice(i,1);o&&o.length&&(o[0].callback=null)}},f.prototype.beforeAdding=function(s){this._beforeAdding=s},f.prototype.beforeRemoving=function(s){this._beforeRemoving=s},f}(),E=function(f,s){var i=new g,u=this,o={fireOnAttributesModification:!1};return i.beforeAdding(function(n){var e=n.target,a;(e===b.document||e===b)&&(e=document.getElementsByTagName("html")[0]),a=new MutationObserver(function(c){s.call(this,c,n)});var v=f(n.options);a.observe(e,v),n.observer=a,n.me=u}),i.beforeRemoving(function(n){n.observer.disconnect()}),this.bindEvent=function(n,e,a){e=l.mergeArrays(o,e);for(var v=l.toElementsArray(this),c=0;c0?l.checkChildNodesRecursively(v,e,u,h):a.type==="attributes"&&u(c,e,h)&&h.push({callback:e.callback,elem:c}),l.callCallbacks(h,e)})}function u(n,e,a){return l.matchesSelector(n,e.selector)&&(n._id===r&&(n._id=d++),e.firedElems.indexOf(n._id)==-1)?(e.firedElems.push(n._id),!0):!1}L=new E(s,i);var o=L.bindEvent;return L.bindEvent=function(n,e,a){typeof a=="undefined"?(a=e,e=f):e=l.mergeArrays(f,e);var v=l.toElementsArray(this);if(e.existing){for(var c=[],h=0;h0&&l.checkChildNodesRecursively(v,e,u,c),l.callCallbacks(c,e)})}function u(n,e){return l.matchesSelector(n,e.selector)}M=new E(s,i);var o=M.bindEvent;return M.bindEvent=function(n,e,a){typeof a=="undefined"?(a=e,e=f):e=l.mergeArrays(f,e),o.call(this,n,e,a)},M},L=new w,M=new m;function T(f,s,i){l.addMethod(s,i,f.unbindEvent),l.addMethod(s,i,f.unbindEventWithSelectorOrCallback),l.addMethod(s,i,f.unbindEventWithSelectorAndCallback)}function A(f){f.arrive=L.bindEvent,T(L,f,"unbindArrive"),f.leave=M.bindEvent,T(M,f,"unbindLeave")}t&&A(t.fn),A(HTMLElement.prototype),A(NodeList.prototype),A(HTMLCollection.prototype),A(HTMLDocument.prototype),A(Window.prototype);var H={};return T(L,H,"unbindAllArrive"),T(M,H,"unbindAllLeave"),H}(window,typeof jQuery=="undefined"?null:jQuery,void 0);var p=class{static initCollapsible(t){t.removeAttribute("data-bslib-sidebar-init"),p._initEventListeners(t),p._initSidebarCounters(t),p._initDesktop(t)}static _initEventListeners(t){var l;let{sidebar:r,toggle:d}=p.components(t);d.handlers={start:g=>{g.preventDefault(),p.toggle(t,"toggle")},end:()=>{p.finalizeState(t),$(r).trigger("toggleCollapse.sidebarInputBinding")}},d.addEventListener("click",d.handlers.start),(l=d.querySelector(".collapse-icon"))==null||l.addEventListener("transitionend",d.handlers.end)}static _initSidebarCounters(t){let r=`.${p.classes.LAYOUT}> .main > .${p.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`;if(!(t.querySelector(r)===null))return;function l(m){return m=m?m.parentElement:null,m&&m.classList.contains("main")&&(m=m.parentElement),m&&m.classList.contains(p.classes.LAYOUT)?m:null}let g=[t],E=l(t);for(;E;)g.unshift(E),E=l(E);let w={left:0,right:0};g.forEach(function(m,L){m.style.setProperty("--bslib-sidebar-counter",L.toString());let T=m.classList.contains("sidebar-right")?w.right++:w.left++;m.style.setProperty("--bslib-sidebar-overlap-counter",T.toString())})}static _initDesktop(t){var d;if(((d=t.dataset.bslibSidebarOpen)==null?void 0:d.trim())!=="desktop")return;window.getComputedStyle(t).getPropertyValue("--bslib-sidebar-js-init-collapsed").trim()==="true"&&p.toggle(t,"close")}static _findLayoutContainer(t){let r=t.closest(`.${p.classes.LAYOUT}`);if(!r)throw new Error(`Expected container or direct ancestor with class ${p.classes.LAYOUT}`);return r}static components(t){t=p._findLayoutContainer(t);let r=t.querySelector(":scope > .main"),d=t.querySelector(":scope > .sidebar"),l=t.querySelector(":scope > .collapse-toggle"),g=t.classList.contains(p.classes.COLLAPSE);return{container:t,main:r,sidebar:d,toggle:l,isClosed:g}}static toggle(t,r){let{container:d,main:l,sidebar:g,isClosed:E}=p.components(t);if(["open","close","toggle"].indexOf(r)===-1)throw new Error(`Unknown method ${r}`);r==="toggle"&&(r=E?"open":"close"),!(E&&r==="close"||!E&&r==="open")&&(B(l),r==="open"&&(g.hidden=!1),d.classList.add(p.classes.TRANSITIONING),d.classList.toggle(p.classes.COLLAPSE))}static finalizeState(t,r=!1){let{container:d,sidebar:l,toggle:g,isClosed:E}=p.components(t);return E&&!r?setTimeout(()=>p.finalizeState(t,!0),100):(d.classList.remove(p.classes.TRANSITIONING),l.hidden=E,g.ariaExpanded=E?"false":"true"),l}static removeEventListeners(t){var d;let{toggle:r}=p.components(t);r.handlers&&(r.removeEventListener("click",r.handlers.start),(d=r.querySelector(".collapse-icon"))==null||d.removeEventListener("transitionend",r.handlers.end))}},y=p;y.classes={LAYOUT:"bslib-sidebar-layout",COLLAPSE:"sidebar-collapsed",TRANSITIONING:"transitioning"};var k=class extends O{find(t){return $(t).find(`.${y.classes.LAYOUT} > .bslib-sidebar-input`)}getValue(t){return!$(t).parent().hasClass(y.classes.COLLAPSE)}setValue(t,r){let d=r?"open":"close";this.receiveMessage(t,{method:d})}subscribe(t,r){$(t).on("toggleCollapse.sidebarInputBinding",function(d){r(!0)})}unsubscribe(t){$(t).off(".sidebarInputBinding")}receiveMessage(t,r){y.toggle(t,r.method)}};N(k,"sidebar");document.arrive(`.${y.classes.LAYOUT}[data-bslib-sidebar-init]`,b=>{console.log("arrive",b),y.initCollapsible(b)});document.leave(`.${y.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`,b=>{console.log("leave",b),y.removeEventListeners(b)});window.bslib=window.bslib||{};window.bslib.Sidebar=y;})(); +"use strict";(()=>{var p=window.Shiny?Shiny.InputBinding:class{};function m(l,e){window.Shiny&&Shiny.inputBindings.register(new l,"bslib."+e)}function g(l){if($(l).data("window-resize-observer"))return;let e=new Event("resize"),t=new ResizeObserver(()=>{window.dispatchEvent(e)});t.observe(l),$(l).data("window-resize-observer",t)}var c=class{constructor(e){let t=n=>{for(let i of n)if(i.type==="childList"){for(let o of i.addedNodes)o.nodeType===Node.ELEMENT_NODE&&this._callback(o,this.config.added);for(let o of i.removedNodes)o.nodeType===Node.ELEMENT_NODE&&this._callback(o,this.config.removed)}};this.config=e,this.observer=new MutationObserver(t),document.readyState==="complete"?this.connect():document.addEventListener("DOMContentLoaded",()=>this.connect())}_callback(e,{selector:t,callback:n}){let i=e.matches(t),o=e.querySelector(t);!i&&!o||(i&&n(e),o&&e.querySelectorAll(t).forEach(r=>n(r)))}connect(){this._callback(document.body,this.config.added),console.log("connecting observer"),this.observer.observe(document,{childList:!0,subtree:!0})}disconnect(){this.observer.disconnect()}};var s=class{static initCollapsible(e){e.removeAttribute("data-bslib-sidebar-init"),s._initEventListeners(e),s._initSidebarCounters(e),s._initDesktop(e)}static _initEventListeners(e){var i;let{sidebar:t,toggle:n}=s.components(e);n.handlers={start:o=>{o.preventDefault(),s.toggle(e,"toggle")},end:()=>{s.finalizeState(e),$(t).trigger("toggleCollapse.sidebarInputBinding")}},n.addEventListener("click",n.handlers.start),(i=n.querySelector(".collapse-icon"))==null||i.addEventListener("transitionend",n.handlers.end)}static _initSidebarCounters(e){let t=`.${s.classes.LAYOUT}> .main > .${s.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`;if(!(e.querySelector(t)===null))return;function i(a){return a=a?a.parentElement:null,a&&a.classList.contains("main")&&(a=a.parentElement),a&&a.classList.contains(s.classes.LAYOUT)?a:null}let o=[e],r=i(e);for(;r;)o.unshift(r),r=i(r);let u={left:0,right:0};o.forEach(function(a,L){a.style.setProperty("--bslib-sidebar-counter",L.toString());let v=a.classList.contains("sidebar-right")?u.right++:u.left++;a.style.setProperty("--bslib-sidebar-overlap-counter",v.toString())})}static _initDesktop(e){var n;if(((n=e.dataset.bslibSidebarOpen)==null?void 0:n.trim())!=="desktop")return;window.getComputedStyle(e).getPropertyValue("--bslib-sidebar-js-init-collapsed").trim()==="true"&&s.toggle(e,"close")}static _findLayoutContainer(e){let t=e.closest(`.${s.classes.LAYOUT}`);if(!t)throw new Error(`Expected container or direct ancestor with class ${s.classes.LAYOUT}`);return t}static components(e){e=s._findLayoutContainer(e);let t=e.querySelector(":scope > .main"),n=e.querySelector(":scope > .sidebar"),i=e.querySelector(":scope > .collapse-toggle"),o=e.classList.contains(s.classes.COLLAPSE);return{container:e,main:t,sidebar:n,toggle:i,isClosed:o}}static toggle(e,t){let{container:n,main:i,sidebar:o,isClosed:r}=s.components(e);if(["open","close","toggle"].indexOf(t)===-1)throw new Error(`Unknown method ${t}`);t==="toggle"&&(t=r?"open":"close"),!(r&&t==="close"||!r&&t==="open")&&(g(i),t==="open"&&(o.hidden=!1),n.classList.add(s.classes.TRANSITIONING),n.classList.toggle(s.classes.COLLAPSE))}static finalizeState(e,t=!1){let{container:n,sidebar:i,toggle:o,isClosed:r}=s.components(e);return r&&!t?setTimeout(()=>s.finalizeState(e,!0),100):(n.classList.remove(s.classes.TRANSITIONING),i.hidden=r,o.ariaExpanded=r?"false":"true"),i}static removeEventListeners(e){var n;let{toggle:t}=s.components(e);t.handlers&&(t.removeEventListener("click",t.handlers.start),(n=t.querySelector(".collapse-icon"))==null||n.removeEventListener("transitionend",t.handlers.end))}},d=s;d.classes={LAYOUT:"bslib-sidebar-layout",COLLAPSE:"sidebar-collapsed",TRANSITIONING:"transitioning"};var b=class extends p{find(e){return $(e).find(`.${d.classes.LAYOUT} > .bslib-sidebar-input`)}getValue(e){return!$(e).parent().hasClass(d.classes.COLLAPSE)}setValue(e,t){let n=t?"open":"close";this.receiveMessage(e,{method:n})}subscribe(e,t){$(e).on("toggleCollapse.sidebarInputBinding",function(n){t(!0)})}unsubscribe(e){$(e).off(".sidebarInputBinding")}receiveMessage(e,t){d.toggle(e,t.method)}};m(b,"sidebar");var f=new c({added:{selector:`.${d.classes.LAYOUT}[data-bslib-sidebar-init]`,callback:l=>{console.log("added",l),d.initCollapsible(l)}},removed:{selector:`.${d.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`,callback:l=>{console.log("removed",l),d.removeEventListeners(l)}}});window.bslib=window.bslib||{};window.bslib.Sidebar=d;window.bslib.SidebarObserver=f;})(); //# sourceMappingURL=sidebar.min.js.map diff --git a/inst/components/sidebar.min.js.map b/inst/components/sidebar.min.js.map index dc61c2c1c..d8433a0cf 100644 --- a/inst/components/sidebar.min.js.map +++ b/inst/components/sidebar.min.js.map @@ -1,7 +1,7 @@ { "version": 3, - "sources": ["../../srcts/src/components/_utils.ts", "../../node_modules/arrive/src/arrive.js", "../../srcts/src/components/sidebar.ts"], - "sourcesContent": ["import type { HtmlDep } from \"rstudio-shiny/srcts/types/src/shiny/render\";\n\nimport type { InputBinding as InputBindingType } from \"rstudio-shiny/srcts/types/src/bindings/input\";\n\n// Exclude undefined from T\ntype NotUndefined = T extends undefined ? never : T;\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst InputBinding = (\n window.Shiny ? Shiny.InputBinding : class {}\n) as typeof InputBindingType;\n\nfunction registerBinding(\n inputBindingClass: new () => InputBindingType,\n name: string\n): void {\n if (window.Shiny) {\n Shiny.inputBindings.register(new inputBindingClass(), \"bslib.\" + name);\n }\n}\n\n// Return true if the key exists on the object and the value is not undefined.\n//\n// This method is mainly used in input bindings' `receiveMessage` method.\n// Since we know that the values are sent by Shiny via `{jsonlite}`,\n// then we know that there are no `undefined` values. `null` is possible, but not `undefined`.\nfunction hasDefinedProperty<\n Prop extends keyof X,\n X extends { [key: string]: any }\n>(\n obj: X,\n prop: Prop\n): obj is X & { [key in NonNullable]: NotUndefined } {\n return (\n Object.prototype.hasOwnProperty.call(obj, prop) && obj[prop] !== undefined\n );\n}\n\n// TODO: Shiny should trigger resize events when the output\n// https://github.com/rstudio/shiny/pull/3682\nfunction doWindowResizeOnElementResize(el: HTMLElement): void {\n if ($(el).data(\"window-resize-observer\")) {\n return;\n }\n const resizeEvent = new Event(\"resize\");\n const ro = new ResizeObserver(() => {\n window.dispatchEvent(resizeEvent);\n });\n ro.observe(el);\n $(el).data(\"window-resize-observer\", ro);\n}\n\nexport {\n InputBinding,\n registerBinding,\n hasDefinedProperty,\n doWindowResizeOnElementResize,\n};\nexport type { HtmlDep };\n", "/*globals jQuery,Window,HTMLElement,HTMLDocument,HTMLCollection,NodeList,MutationObserver */\n/*exported Arrive*/\n/*jshint latedef:false */\n\n/*\n * arrive.js\n * v2.4.1\n * https://github.com/uzairfarooq/arrive\n * MIT licensed\n *\n * Copyright (c) 2014-2017 Uzair Farooq\n */\nvar Arrive = (function(window, $, undefined) {\n\n \"use strict\";\n\n if(!window.MutationObserver || typeof HTMLElement === 'undefined'){\n return; //for unsupported browsers\n }\n\n var arriveUniqueId = 0;\n\n var utils = (function() {\n var matches = HTMLElement.prototype.matches || HTMLElement.prototype.webkitMatchesSelector || HTMLElement.prototype.mozMatchesSelector\n || HTMLElement.prototype.msMatchesSelector;\n\n return {\n matchesSelector: function(elem, selector) {\n return elem instanceof HTMLElement && matches.call(elem, selector);\n },\n // to enable function overloading - By John Resig (MIT Licensed)\n addMethod: function (object, name, fn) {\n var old = object[ name ];\n object[ name ] = function(){\n if ( fn.length == arguments.length ) {\n return fn.apply( this, arguments );\n }\n else if ( typeof old == 'function' ) {\n return old.apply( this, arguments );\n }\n };\n },\n callCallbacks: function(callbacksToBeCalled, registrationData) {\n if (registrationData && registrationData.options.onceOnly && registrationData.firedElems.length == 1) {\n // as onlyOnce param is true, make sure we fire the event for only one item\n callbacksToBeCalled = [callbacksToBeCalled[0]];\n }\n\n for (var i = 0, cb; (cb = callbacksToBeCalled[i]); i++) {\n if (cb && cb.callback) {\n cb.callback.call(cb.elem, cb.elem);\n }\n }\n\n if (registrationData && registrationData.options.onceOnly && registrationData.firedElems.length == 1) {\n // unbind event after first callback as onceOnly is true.\n registrationData.me.unbindEventWithSelectorAndCallback.call(\n registrationData.target, registrationData.selector, registrationData.callback);\n }\n },\n // traverse through all descendants of a node to check if event should be fired for any descendant\n checkChildNodesRecursively: function(nodes, registrationData, matchFunc, callbacksToBeCalled) {\n // check each new node if it matches the selector\n for (var i=0, node; (node = nodes[i]); i++) {\n if (matchFunc(node, registrationData, callbacksToBeCalled)) {\n callbacksToBeCalled.push({ callback: registrationData.callback, elem: node });\n }\n\n if (node.childNodes.length > 0) {\n utils.checkChildNodesRecursively(node.childNodes, registrationData, matchFunc, callbacksToBeCalled);\n }\n }\n },\n mergeArrays: function(firstArr, secondArr){\n // Overwrites default options with user-defined options.\n var options = {},\n attrName;\n for (attrName in firstArr) {\n if (firstArr.hasOwnProperty(attrName)) {\n options[attrName] = firstArr[attrName];\n }\n }\n for (attrName in secondArr) {\n if (secondArr.hasOwnProperty(attrName)) {\n options[attrName] = secondArr[attrName];\n }\n }\n return options;\n },\n toElementsArray: function (elements) {\n // check if object is an array (or array like object)\n // Note: window object has .length property but it's not array of elements so don't consider it an array\n if (typeof elements !== \"undefined\" && (typeof elements.length !== \"number\" || elements === window)) {\n elements = [elements];\n }\n return elements;\n }\n };\n })();\n\n\n // Class to maintain state of all registered events of a single type\n var EventsBucket = (function() {\n var EventsBucket = function() {\n // holds all the events\n\n this._eventsBucket = [];\n // function to be called while adding an event, the function should do the event initialization/registration\n this._beforeAdding = null;\n // function to be called while removing an event, the function should do the event destruction\n this._beforeRemoving = null;\n };\n\n EventsBucket.prototype.addEvent = function(target, selector, options, callback) {\n var newEvent = {\n target: target,\n selector: selector,\n options: options,\n callback: callback,\n firedElems: []\n };\n\n if (this._beforeAdding) {\n this._beforeAdding(newEvent);\n }\n\n this._eventsBucket.push(newEvent);\n return newEvent;\n };\n\n EventsBucket.prototype.removeEvent = function(compareFunction) {\n for (var i=this._eventsBucket.length - 1, registeredEvent; (registeredEvent = this._eventsBucket[i]); i--) {\n if (compareFunction(registeredEvent)) {\n if (this._beforeRemoving) {\n this._beforeRemoving(registeredEvent);\n }\n\n // mark callback as null so that even if an event mutation was already triggered it does not call callback\n var removedEvents = this._eventsBucket.splice(i, 1);\n if (removedEvents && removedEvents.length) {\n removedEvents[0].callback = null;\n }\n }\n }\n };\n\n EventsBucket.prototype.beforeAdding = function(beforeAdding) {\n this._beforeAdding = beforeAdding;\n };\n\n EventsBucket.prototype.beforeRemoving = function(beforeRemoving) {\n this._beforeRemoving = beforeRemoving;\n };\n\n return EventsBucket;\n })();\n\n\n /**\n * @constructor\n * General class for binding/unbinding arrive and leave events\n */\n var MutationEvents = function(getObserverConfig, onMutation) {\n var eventsBucket = new EventsBucket(),\n me = this;\n\n var defaultOptions = {\n fireOnAttributesModification: false\n };\n\n // actual event registration before adding it to bucket\n eventsBucket.beforeAdding(function(registrationData) {\n var\n target = registrationData.target,\n observer;\n\n // mutation observer does not work on window or document\n if (target === window.document || target === window) {\n target = document.getElementsByTagName(\"html\")[0];\n }\n\n // Create an observer instance\n observer = new MutationObserver(function(e) {\n onMutation.call(this, e, registrationData);\n });\n\n var config = getObserverConfig(registrationData.options);\n\n observer.observe(target, config);\n\n registrationData.observer = observer;\n registrationData.me = me;\n });\n\n // cleanup/unregister before removing an event\n eventsBucket.beforeRemoving(function (eventData) {\n eventData.observer.disconnect();\n });\n\n this.bindEvent = function(selector, options, callback) {\n options = utils.mergeArrays(defaultOptions, options);\n\n var elements = utils.toElementsArray(this);\n\n for (var i = 0; i < elements.length; i++) {\n eventsBucket.addEvent(elements[i], selector, options, callback);\n }\n };\n\n this.unbindEvent = function() {\n var elements = utils.toElementsArray(this);\n eventsBucket.removeEvent(function(eventObj) {\n for (var i = 0; i < elements.length; i++) {\n if (this === undefined || eventObj.target === elements[i]) {\n return true;\n }\n }\n return false;\n });\n };\n\n this.unbindEventWithSelectorOrCallback = function(selector) {\n var elements = utils.toElementsArray(this),\n callback = selector,\n compareFunction;\n\n if (typeof selector === \"function\") {\n compareFunction = function(eventObj) {\n for (var i = 0; i < elements.length; i++) {\n if ((this === undefined || eventObj.target === elements[i]) && eventObj.callback === callback) {\n return true;\n }\n }\n return false;\n };\n }\n else {\n compareFunction = function(eventObj) {\n for (var i = 0; i < elements.length; i++) {\n if ((this === undefined || eventObj.target === elements[i]) && eventObj.selector === selector) {\n return true;\n }\n }\n return false;\n };\n }\n eventsBucket.removeEvent(compareFunction);\n };\n\n this.unbindEventWithSelectorAndCallback = function(selector, callback) {\n var elements = utils.toElementsArray(this);\n eventsBucket.removeEvent(function(eventObj) {\n for (var i = 0; i < elements.length; i++) {\n if ((this === undefined || eventObj.target === elements[i]) && eventObj.selector === selector && eventObj.callback === callback) {\n return true;\n }\n }\n return false;\n });\n };\n\n return this;\n };\n\n\n /**\n * @constructor\n * Processes 'arrive' events\n */\n var ArriveEvents = function() {\n // Default options for 'arrive' event\n var arriveDefaultOptions = {\n fireOnAttributesModification: false,\n onceOnly: false,\n existing: false\n };\n\n function getArriveObserverConfig(options) {\n var config = {\n attributes: false,\n childList: true,\n subtree: true\n };\n\n if (options.fireOnAttributesModification) {\n config.attributes = true;\n }\n\n return config;\n }\n\n function onArriveMutation(mutations, registrationData) {\n mutations.forEach(function( mutation ) {\n var newNodes = mutation.addedNodes,\n targetNode = mutation.target,\n callbacksToBeCalled = [],\n node;\n\n // If new nodes are added\n if( newNodes !== null && newNodes.length > 0 ) {\n utils.checkChildNodesRecursively(newNodes, registrationData, nodeMatchFunc, callbacksToBeCalled);\n }\n else if (mutation.type === \"attributes\") {\n if (nodeMatchFunc(targetNode, registrationData, callbacksToBeCalled)) {\n callbacksToBeCalled.push({ callback: registrationData.callback, elem: targetNode });\n }\n }\n\n utils.callCallbacks(callbacksToBeCalled, registrationData);\n });\n }\n\n function nodeMatchFunc(node, registrationData, callbacksToBeCalled) {\n // check a single node to see if it matches the selector\n if (utils.matchesSelector(node, registrationData.selector)) {\n if(node._id === undefined) {\n node._id = arriveUniqueId++;\n }\n // make sure the arrive event is not already fired for the element\n if (registrationData.firedElems.indexOf(node._id) == -1) {\n registrationData.firedElems.push(node._id);\n\n return true;\n }\n }\n\n return false;\n }\n\n arriveEvents = new MutationEvents(getArriveObserverConfig, onArriveMutation);\n\n var mutationBindEvent = arriveEvents.bindEvent;\n\n // override bindEvent function\n arriveEvents.bindEvent = function(selector, options, callback) {\n\n if (typeof callback === \"undefined\") {\n callback = options;\n options = arriveDefaultOptions;\n } else {\n options = utils.mergeArrays(arriveDefaultOptions, options);\n }\n\n var elements = utils.toElementsArray(this);\n\n if (options.existing) {\n var existing = [];\n\n for (var i = 0; i < elements.length; i++) {\n var nodes = elements[i].querySelectorAll(selector);\n for (var j = 0; j < nodes.length; j++) {\n existing.push({ callback: callback, elem: nodes[j] });\n }\n }\n\n // no need to bind event if the callback has to be fired only once and we have already found the element\n if (options.onceOnly && existing.length) {\n return callback.call(existing[0].elem, existing[0].elem);\n }\n\n setTimeout(utils.callCallbacks, 1, existing);\n }\n\n mutationBindEvent.call(this, selector, options, callback);\n };\n\n return arriveEvents;\n };\n\n\n /**\n * @constructor\n * Processes 'leave' events\n */\n var LeaveEvents = function() {\n // Default options for 'leave' event\n var leaveDefaultOptions = {};\n\n function getLeaveObserverConfig() {\n var config = {\n childList: true,\n subtree: true\n };\n\n return config;\n }\n\n function onLeaveMutation(mutations, registrationData) {\n mutations.forEach(function( mutation ) {\n var removedNodes = mutation.removedNodes,\n callbacksToBeCalled = [];\n\n if( removedNodes !== null && removedNodes.length > 0 ) {\n utils.checkChildNodesRecursively(removedNodes, registrationData, nodeMatchFunc, callbacksToBeCalled);\n }\n\n utils.callCallbacks(callbacksToBeCalled, registrationData);\n });\n }\n\n function nodeMatchFunc(node, registrationData) {\n return utils.matchesSelector(node, registrationData.selector);\n }\n\n leaveEvents = new MutationEvents(getLeaveObserverConfig, onLeaveMutation);\n\n var mutationBindEvent = leaveEvents.bindEvent;\n\n // override bindEvent function\n leaveEvents.bindEvent = function(selector, options, callback) {\n\n if (typeof callback === \"undefined\") {\n callback = options;\n options = leaveDefaultOptions;\n } else {\n options = utils.mergeArrays(leaveDefaultOptions, options);\n }\n\n mutationBindEvent.call(this, selector, options, callback);\n };\n\n return leaveEvents;\n };\n\n\n var arriveEvents = new ArriveEvents(),\n leaveEvents = new LeaveEvents();\n\n function exposeUnbindApi(eventObj, exposeTo, funcName) {\n // expose unbind function with function overriding\n utils.addMethod(exposeTo, funcName, eventObj.unbindEvent);\n utils.addMethod(exposeTo, funcName, eventObj.unbindEventWithSelectorOrCallback);\n utils.addMethod(exposeTo, funcName, eventObj.unbindEventWithSelectorAndCallback);\n }\n\n /*** expose APIs ***/\n function exposeApi(exposeTo) {\n exposeTo.arrive = arriveEvents.bindEvent;\n exposeUnbindApi(arriveEvents, exposeTo, \"unbindArrive\");\n\n exposeTo.leave = leaveEvents.bindEvent;\n exposeUnbindApi(leaveEvents, exposeTo, \"unbindLeave\");\n }\n\n if ($) {\n exposeApi($.fn);\n }\n exposeApi(HTMLElement.prototype);\n exposeApi(NodeList.prototype);\n exposeApi(HTMLCollection.prototype);\n exposeApi(HTMLDocument.prototype);\n exposeApi(Window.prototype);\n\n var Arrive = {};\n // expose functions to unbind all arrive/leave events\n exposeUnbindApi(arriveEvents, Arrive, \"unbindAllArrive\");\n exposeUnbindApi(leaveEvents, Arrive, \"unbindAllLeave\");\n\n return Arrive;\n\n})(window, typeof jQuery === 'undefined' ? null : jQuery, undefined);", "import {\n InputBinding,\n registerBinding,\n doWindowResizeOnElementResize,\n} from \"./_utils\";\n\nimport \"arrive\";\n\ntype SidebarMethod = \"close\" | \"open\" | \"toggle\";\n\ntype MessageData = {\n method: SidebarMethod;\n};\n\ntype SidebarComponents = {\n container: HTMLElement;\n main: HTMLElement;\n sidebar: HTMLElement;\n toggle: HTMLElement & {\n handlers?: { start: (ev: MouseEvent) => void; end: () => void };\n };\n isClosed: boolean;\n};\n\nclass Sidebar {\n public static readonly classes = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n LAYOUT: \"bslib-sidebar-layout\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n COLLAPSE: \"sidebar-collapsed\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n TRANSITIONING: \"transitioning\",\n };\n\n public static initCollapsible(container: HTMLElement): void {\n // Signal that this layout is initialized by removing the init attribute\n container.removeAttribute(\"data-bslib-sidebar-init\");\n\n Sidebar._initEventListeners(container);\n Sidebar._initSidebarCounters(container);\n Sidebar._initDesktop(container);\n }\n\n private static _initEventListeners(container: HTMLElement): void {\n const { sidebar, toggle } = Sidebar.components(container);\n\n // We store a reference to the sidebar toggle event handlers on the toggle\n // element itself, so that we can remove them later if needed.\n toggle.handlers = {\n start: (ev) => {\n ev.preventDefault();\n Sidebar.toggle(container, \"toggle\");\n },\n end: () => {\n Sidebar.finalizeState(container);\n $(sidebar).trigger(\"toggleCollapse.sidebarInputBinding\");\n },\n };\n\n toggle.addEventListener(\"click\", toggle.handlers.start);\n\n // Once the collapse transition completes (on the collapse toggle icon, which is\n // always guaranteed to transition), then remove the transitioning class\n toggle\n .querySelector(\".collapse-icon\")\n ?.addEventListener(\"transitionend\", toggle.handlers.end);\n }\n\n private static _initSidebarCounters(container: HTMLElement): void {\n // This function walks up the DOM tree, adding CSS variables to each\n // direct parent sidebar layout that count the layout's position in the\n // stack of nested layouts. We use these counters to keep the collapse\n // toggles from overlapping. Note that always-open sidebars that don't\n // have collapse toggles break the chain of nesting.\n\n const selectorChildLayouts =\n `.${Sidebar.classes.LAYOUT}` +\n \"> .main > \" +\n `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open=\"always\"])`;\n\n const isInnermostLayout =\n container.querySelector(selectorChildLayouts) === null;\n\n if (!isInnermostLayout) {\n // There are sidebar layouts nested within this layout; defer to children\n return;\n }\n\n function nextSidebarParent(el: HTMLElement | null): HTMLElement | null {\n el = el ? el.parentElement : null;\n if (el && el.classList.contains(\"main\")) {\n // .bslib-sidebar-layout > .main > .bslib-sidedbar-layout\n el = el.parentElement;\n }\n if (el && el.classList.contains(Sidebar.classes.LAYOUT)) {\n return el;\n }\n return null;\n }\n\n const layouts = [container];\n let parent = nextSidebarParent(container);\n\n while (parent) {\n // Add parent to front of layouts array, so we sort outer -> inner\n layouts.unshift(parent);\n parent = nextSidebarParent(parent);\n }\n\n const count = { left: 0, right: 0 };\n layouts.forEach(function (x: HTMLElement, i: number): void {\n x.style.setProperty(\"--bslib-sidebar-counter\", i.toString());\n const isRight = x.classList.contains(\"sidebar-right\");\n const thisCount = isRight ? count.right++ : count.left++;\n x.style.setProperty(\n \"--bslib-sidebar-overlap-counter\",\n thisCount.toString()\n );\n });\n }\n\n private static _initDesktop(container: HTMLElement): void {\n // If sidebar is marked open='desktop'...\n if (container.dataset.bslibSidebarOpen?.trim() !== \"desktop\") {\n return;\n }\n\n // then close sidebar on mobile\n const initCollapsed = window\n .getComputedStyle(container)\n .getPropertyValue(\"--bslib-sidebar-js-init-collapsed\");\n\n if (initCollapsed.trim() === \"true\") {\n Sidebar.toggle(container, \"close\");\n }\n }\n\n private static _findLayoutContainer(el: HTMLElement): HTMLElement {\n const container = el.closest(`.${Sidebar.classes.LAYOUT}`);\n if (!container) {\n throw new Error(\n `Expected container or direct ancestor with class ${Sidebar.classes.LAYOUT}`\n );\n }\n return container as HTMLElement;\n }\n\n public static components(el: HTMLElement): SidebarComponents {\n el = Sidebar._findLayoutContainer(el);\n\n // sidebar components\n const main = el.querySelector(\":scope > .main\") as HTMLElement;\n const sidebar = el.querySelector(\":scope > .sidebar\") as HTMLElement;\n const toggle = el.querySelector(\":scope > .collapse-toggle\") as HTMLElement;\n\n // sidebar state\n const isClosed = el.classList.contains(Sidebar.classes.COLLAPSE);\n\n return { container: el, main, sidebar, toggle, isClosed };\n }\n\n public static toggle(el: HTMLElement, method: SidebarMethod) {\n const { container, main, sidebar, isClosed } = Sidebar.components(el);\n\n if ([\"open\", \"close\", \"toggle\"].indexOf(method) === -1) {\n throw new Error(`Unknown method ${method}`);\n }\n\n if (method === \"toggle\") {\n method = isClosed ? \"open\" : \"close\";\n }\n\n if ((isClosed && method === \"close\") || (!isClosed && method === \"open\")) {\n // nothing to do, sidebar is already in the desired state\n return;\n }\n\n // Make sure outputs resize properly when the sidebar is opened/closed\n doWindowResizeOnElementResize(main);\n\n if (method === \"open\") {\n // unhide sidebar immediately when opening,\n // otherwise the sidebar is hidden on transitionend\n sidebar.hidden = false;\n }\n\n // Add a transitioning class just before adding COLLAPSE_CLASS since we want\n // some of the transitioning styles to apply before the collapse state\n container.classList.add(Sidebar.classes.TRANSITIONING);\n container.classList.toggle(Sidebar.classes.COLLAPSE);\n }\n\n public static finalizeState(el: HTMLElement, force = false): HTMLElement {\n const { container, sidebar, toggle, isClosed } = Sidebar.components(el);\n if (isClosed && !force) {\n setTimeout(() => Sidebar.finalizeState(el, true), 100);\n } else {\n container.classList.remove(Sidebar.classes.TRANSITIONING);\n sidebar.hidden = isClosed;\n toggle.ariaExpanded = isClosed ? \"false\" : \"true\";\n }\n return sidebar;\n }\n\n public static removeEventListeners(el: HTMLElement): void {\n // If a sidebar layout is removed from the page, we should also clean up any\n // event listeners that were added to the layout's components.\n const { toggle } = Sidebar.components(el);\n if (!toggle.handlers) return;\n toggle.removeEventListener(\"click\", toggle.handlers.start);\n toggle\n .querySelector(\".collapse-icon\")\n ?.removeEventListener(\"transitionend\", toggle.handlers.end);\n }\n}\n\nclass SidebarInputBinding extends InputBinding {\n find(scope: HTMLElement) {\n return $(scope).find(`.${Sidebar.classes.LAYOUT} > .bslib-sidebar-input`);\n }\n\n getValue(el: HTMLElement): boolean {\n return !$(el).parent().hasClass(Sidebar.classes.COLLAPSE);\n }\n\n setValue(el: HTMLElement, value: boolean): void {\n const method = value ? \"open\" : \"close\";\n this.receiveMessage(el, { method });\n }\n\n subscribe(el: HTMLElement, callback: (x: boolean) => void) {\n $(el).on(\n \"toggleCollapse.sidebarInputBinding\",\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n function (event) {\n callback(true);\n }\n );\n }\n\n unsubscribe(el: HTMLElement) {\n $(el).off(\".sidebarInputBinding\");\n }\n\n receiveMessage(el: HTMLElement, data: MessageData) {\n Sidebar.toggle(el, data.method);\n }\n}\n\nregisterBinding(SidebarInputBinding, \"sidebar\");\n\n// Initialize sidebars on page load or when added to the page ----------------\ndocument.arrive(\n `.${Sidebar.classes.LAYOUT}[data-bslib-sidebar-init]`,\n (container) => {\n console.log(\"arrive\", container);\n Sidebar.initCollapsible(container as HTMLElement);\n }\n);\n\ndocument.leave(\n `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open=\"always\"])`,\n (container) => {\n console.log(\"leave\", container);\n Sidebar.removeEventListeners(container as HTMLElement);\n }\n);\n\n// attach Sidebar class to window for global usage\n(window as any).bslib = (window as any).bslib || {};\n(window as any).bslib.Sidebar = Sidebar;\n"], - "mappings": "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", - "names": ["InputBinding", "registerBinding", "inputBindingClass", "name", "doWindowResizeOnElementResize", "el", "resizeEvent", "ro", "Arrive", "window", "$", "undefined", "arriveUniqueId", "utils", "matches", "elem", "selector", "object", "name", "fn", "old", "callbacksToBeCalled", "registrationData", "i", "cb", "nodes", "matchFunc", "node", "firstArr", "secondArr", "options", "attrName", "elements", "EventsBucket", "target", "callback", "newEvent", "compareFunction", "registeredEvent", "removedEvents", "beforeAdding", "beforeRemoving", "MutationEvents", "getObserverConfig", "onMutation", "eventsBucket", "me", "defaultOptions", "observer", "e", "config", "eventData", "eventObj", "ArriveEvents", "arriveDefaultOptions", "getArriveObserverConfig", "onArriveMutation", "mutations", "mutation", "newNodes", "targetNode", "nodeMatchFunc", "arriveEvents", "mutationBindEvent", "existing", "j", "LeaveEvents", "leaveDefaultOptions", "getLeaveObserverConfig", "onLeaveMutation", "removedNodes", "leaveEvents", "exposeUnbindApi", "exposeTo", "funcName", "exposeApi", "_Sidebar", "container", "_a", "sidebar", "toggle", "ev", "selectorChildLayouts", "nextSidebarParent", "el", "layouts", "parent", "count", "x", "i", "thisCount", "main", "isClosed", "method", "doWindowResizeOnElementResize", "force", "Sidebar", "SidebarInputBinding", "InputBinding", "scope", "value", "callback", "event", "data", "registerBinding"] + "sources": ["../../srcts/src/components/_utils.ts", "../../srcts/src/components/_documentObserver.ts", "../../srcts/src/components/sidebar.ts"], + "sourcesContent": ["import type { HtmlDep } from \"rstudio-shiny/srcts/types/src/shiny/render\";\n\nimport type { InputBinding as InputBindingType } from \"rstudio-shiny/srcts/types/src/bindings/input\";\n\n// Exclude undefined from T\ntype NotUndefined = T extends undefined ? never : T;\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst InputBinding = (\n window.Shiny ? Shiny.InputBinding : class {}\n) as typeof InputBindingType;\n\nfunction registerBinding(\n inputBindingClass: new () => InputBindingType,\n name: string\n): void {\n if (window.Shiny) {\n Shiny.inputBindings.register(new inputBindingClass(), \"bslib.\" + name);\n }\n}\n\n// Return true if the key exists on the object and the value is not undefined.\n//\n// This method is mainly used in input bindings' `receiveMessage` method.\n// Since we know that the values are sent by Shiny via `{jsonlite}`,\n// then we know that there are no `undefined` values. `null` is possible, but not `undefined`.\nfunction hasDefinedProperty<\n Prop extends keyof X,\n X extends { [key: string]: any }\n>(\n obj: X,\n prop: Prop\n): obj is X & { [key in NonNullable]: NotUndefined } {\n return (\n Object.prototype.hasOwnProperty.call(obj, prop) && obj[prop] !== undefined\n );\n}\n\n// TODO: Shiny should trigger resize events when the output\n// https://github.com/rstudio/shiny/pull/3682\nfunction doWindowResizeOnElementResize(el: HTMLElement): void {\n if ($(el).data(\"window-resize-observer\")) {\n return;\n }\n const resizeEvent = new Event(\"resize\");\n const ro = new ResizeObserver(() => {\n window.dispatchEvent(resizeEvent);\n });\n ro.observe(el);\n $(el).data(\"window-resize-observer\", ro);\n}\n\nexport {\n InputBinding,\n registerBinding,\n hasDefinedProperty,\n doWindowResizeOnElementResize,\n};\nexport type { HtmlDep };\n", "/**\n * The DocumentObserver class creates an observer detecting all DOM changes,\n * watching for added or removed elements (or their children) that match\n * the specified selectors. When a matching element is added or removed, the\n * respective callback function is called. The DocumentObserver is insensitive\n * to when it's instantiated; it always runs `added.callback()` once on the\n * document body (waiting for DOMContentLoaded if necessary) and then starts\n * watching the DOM for added/removed elements.\n */\n\ninterface DocumentObserverConfig {\n added: {\n selector: string;\n callback: (node: HTMLElement) => void;\n };\n removed: {\n selector: string;\n callback: (node: HTMLElement) => void;\n };\n}\n\nclass DocumentObserver {\n private observer: MutationObserver;\n private config: DocumentObserverConfig;\n\n constructor(config: DocumentObserverConfig) {\n const mutationObserverCallback = (mutationsList: MutationRecord[]) => {\n for (const mutation of mutationsList) {\n if (mutation.type === \"childList\") {\n for (const addedNode of mutation.addedNodes) {\n if (addedNode.nodeType !== Node.ELEMENT_NODE) continue;\n this._callback(addedNode as HTMLElement, this.config.added);\n }\n for (const removedNode of mutation.removedNodes) {\n if (removedNode.nodeType !== Node.ELEMENT_NODE) continue;\n this._callback(removedNode as HTMLElement, this.config.removed);\n }\n }\n }\n };\n\n this.config = config;\n this.observer = new MutationObserver(mutationObserverCallback);\n if (document.readyState === \"complete\") {\n this.connect();\n } else {\n document.addEventListener(\"DOMContentLoaded\", () => this.connect());\n }\n }\n\n private _callback(\n el: HTMLElement,\n {\n selector,\n callback,\n }: { selector: string; callback: (node: HTMLElement) => void }\n ) {\n const elMatches = el.matches(selector);\n const hasMatchingChild = el.querySelector(selector);\n if (!elMatches && !hasMatchingChild) return;\n if (elMatches) callback(el);\n if (!hasMatchingChild) return;\n el.querySelectorAll(selector).forEach((node) =>\n callback(node as HTMLElement)\n );\n }\n\n connect(): void {\n this._callback(document.body, this.config.added);\n console.log(\"connecting observer\");\n this.observer.observe(document, { childList: true, subtree: true });\n }\n\n disconnect(): void {\n this.observer.disconnect();\n }\n}\n\nexport { DocumentObserver };\nexport type { DocumentObserverConfig };\n", "import {\n InputBinding,\n registerBinding,\n doWindowResizeOnElementResize,\n} from \"./_utils\";\n\nimport { DocumentObserver } from \"./_documentObserver\";\n\ntype SidebarMethod = \"close\" | \"open\" | \"toggle\";\n\ntype MessageData = {\n method: SidebarMethod;\n};\n\ntype SidebarComponents = {\n container: HTMLElement;\n main: HTMLElement;\n sidebar: HTMLElement;\n toggle: HTMLElement & {\n handlers?: { start: (ev: MouseEvent) => void; end: () => void };\n };\n isClosed: boolean;\n};\n\nclass Sidebar {\n public static readonly classes = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n LAYOUT: \"bslib-sidebar-layout\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n COLLAPSE: \"sidebar-collapsed\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n TRANSITIONING: \"transitioning\",\n };\n\n public static initCollapsible(container: HTMLElement): void {\n // Signal that this layout is initialized by removing the init attribute\n container.removeAttribute(\"data-bslib-sidebar-init\");\n\n Sidebar._initEventListeners(container);\n Sidebar._initSidebarCounters(container);\n Sidebar._initDesktop(container);\n }\n\n private static _initEventListeners(container: HTMLElement): void {\n const { sidebar, toggle } = Sidebar.components(container);\n\n // We store a reference to the sidebar toggle event handlers on the toggle\n // element itself, so that we can remove them later if needed.\n toggle.handlers = {\n start: (ev) => {\n ev.preventDefault();\n Sidebar.toggle(container, \"toggle\");\n },\n end: () => {\n Sidebar.finalizeState(container);\n $(sidebar).trigger(\"toggleCollapse.sidebarInputBinding\");\n },\n };\n\n toggle.addEventListener(\"click\", toggle.handlers.start);\n\n // Once the collapse transition completes (on the collapse toggle icon, which is\n // always guaranteed to transition), then remove the transitioning class\n toggle\n .querySelector(\".collapse-icon\")\n ?.addEventListener(\"transitionend\", toggle.handlers.end);\n }\n\n private static _initSidebarCounters(container: HTMLElement): void {\n // This function walks up the DOM tree, adding CSS variables to each\n // direct parent sidebar layout that count the layout's position in the\n // stack of nested layouts. We use these counters to keep the collapse\n // toggles from overlapping. Note that always-open sidebars that don't\n // have collapse toggles break the chain of nesting.\n\n const selectorChildLayouts =\n `.${Sidebar.classes.LAYOUT}` +\n \"> .main > \" +\n `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open=\"always\"])`;\n\n const isInnermostLayout =\n container.querySelector(selectorChildLayouts) === null;\n\n if (!isInnermostLayout) {\n // There are sidebar layouts nested within this layout; defer to children\n return;\n }\n\n function nextSidebarParent(el: HTMLElement | null): HTMLElement | null {\n el = el ? el.parentElement : null;\n if (el && el.classList.contains(\"main\")) {\n // .bslib-sidebar-layout > .main > .bslib-sidedbar-layout\n el = el.parentElement;\n }\n if (el && el.classList.contains(Sidebar.classes.LAYOUT)) {\n return el;\n }\n return null;\n }\n\n const layouts = [container];\n let parent = nextSidebarParent(container);\n\n while (parent) {\n // Add parent to front of layouts array, so we sort outer -> inner\n layouts.unshift(parent);\n parent = nextSidebarParent(parent);\n }\n\n const count = { left: 0, right: 0 };\n layouts.forEach(function (x: HTMLElement, i: number): void {\n x.style.setProperty(\"--bslib-sidebar-counter\", i.toString());\n const isRight = x.classList.contains(\"sidebar-right\");\n const thisCount = isRight ? count.right++ : count.left++;\n x.style.setProperty(\n \"--bslib-sidebar-overlap-counter\",\n thisCount.toString()\n );\n });\n }\n\n private static _initDesktop(container: HTMLElement): void {\n // If sidebar is marked open='desktop'...\n if (container.dataset.bslibSidebarOpen?.trim() !== \"desktop\") {\n return;\n }\n\n // then close sidebar on mobile\n const initCollapsed = window\n .getComputedStyle(container)\n .getPropertyValue(\"--bslib-sidebar-js-init-collapsed\");\n\n if (initCollapsed.trim() === \"true\") {\n Sidebar.toggle(container, \"close\");\n }\n }\n\n private static _findLayoutContainer(el: HTMLElement): HTMLElement {\n const container = el.closest(`.${Sidebar.classes.LAYOUT}`);\n if (!container) {\n throw new Error(\n `Expected container or direct ancestor with class ${Sidebar.classes.LAYOUT}`\n );\n }\n return container as HTMLElement;\n }\n\n public static components(el: HTMLElement): SidebarComponents {\n el = Sidebar._findLayoutContainer(el);\n\n // sidebar components\n const main = el.querySelector(\":scope > .main\") as HTMLElement;\n const sidebar = el.querySelector(\":scope > .sidebar\") as HTMLElement;\n const toggle = el.querySelector(\":scope > .collapse-toggle\") as HTMLElement;\n\n // sidebar state\n const isClosed = el.classList.contains(Sidebar.classes.COLLAPSE);\n\n return { container: el, main, sidebar, toggle, isClosed };\n }\n\n public static toggle(el: HTMLElement, method: SidebarMethod) {\n const { container, main, sidebar, isClosed } = Sidebar.components(el);\n\n if ([\"open\", \"close\", \"toggle\"].indexOf(method) === -1) {\n throw new Error(`Unknown method ${method}`);\n }\n\n if (method === \"toggle\") {\n method = isClosed ? \"open\" : \"close\";\n }\n\n if ((isClosed && method === \"close\") || (!isClosed && method === \"open\")) {\n // nothing to do, sidebar is already in the desired state\n return;\n }\n\n // Make sure outputs resize properly when the sidebar is opened/closed\n doWindowResizeOnElementResize(main);\n\n if (method === \"open\") {\n // unhide sidebar immediately when opening,\n // otherwise the sidebar is hidden on transitionend\n sidebar.hidden = false;\n }\n\n // Add a transitioning class just before adding COLLAPSE_CLASS since we want\n // some of the transitioning styles to apply before the collapse state\n container.classList.add(Sidebar.classes.TRANSITIONING);\n container.classList.toggle(Sidebar.classes.COLLAPSE);\n }\n\n public static finalizeState(el: HTMLElement, force = false): HTMLElement {\n const { container, sidebar, toggle, isClosed } = Sidebar.components(el);\n if (isClosed && !force) {\n setTimeout(() => Sidebar.finalizeState(el, true), 100);\n } else {\n container.classList.remove(Sidebar.classes.TRANSITIONING);\n sidebar.hidden = isClosed;\n toggle.ariaExpanded = isClosed ? \"false\" : \"true\";\n }\n return sidebar;\n }\n\n public static removeEventListeners(el: HTMLElement): void {\n // If a sidebar layout is removed from the page, we should also clean up any\n // event listeners that were added to the layout's components.\n const { toggle } = Sidebar.components(el);\n if (!toggle.handlers) return;\n toggle.removeEventListener(\"click\", toggle.handlers.start);\n toggle\n .querySelector(\".collapse-icon\")\n ?.removeEventListener(\"transitionend\", toggle.handlers.end);\n }\n}\n\nclass SidebarInputBinding extends InputBinding {\n find(scope: HTMLElement) {\n return $(scope).find(`.${Sidebar.classes.LAYOUT} > .bslib-sidebar-input`);\n }\n\n getValue(el: HTMLElement): boolean {\n return !$(el).parent().hasClass(Sidebar.classes.COLLAPSE);\n }\n\n setValue(el: HTMLElement, value: boolean): void {\n const method = value ? \"open\" : \"close\";\n this.receiveMessage(el, { method });\n }\n\n subscribe(el: HTMLElement, callback: (x: boolean) => void) {\n $(el).on(\n \"toggleCollapse.sidebarInputBinding\",\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n function (event) {\n callback(true);\n }\n );\n }\n\n unsubscribe(el: HTMLElement) {\n $(el).off(\".sidebarInputBinding\");\n }\n\n receiveMessage(el: HTMLElement, data: MessageData) {\n Sidebar.toggle(el, data.method);\n }\n}\n\nregisterBinding(SidebarInputBinding, \"sidebar\");\n\n// Initialize sidebars on page load or when added to the page ----------------\nconst observer = new DocumentObserver({\n added: {\n selector: `.${Sidebar.classes.LAYOUT}[data-bslib-sidebar-init]`,\n callback: (container) => {\n console.log(\"added\", container);\n Sidebar.initCollapsible(container as HTMLElement);\n },\n },\n removed: {\n selector: `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open=\"always\"])`,\n callback: (container) => {\n console.log(\"removed\", container);\n Sidebar.removeEventListeners(container as HTMLElement);\n },\n },\n});\n\n// attach Sidebar class to window for global usage\n(window as any).bslib = (window as any).bslib || {};\n(window as any).bslib.Sidebar = Sidebar;\n(window as any).bslib.SidebarObserver = observer;\n"], + "mappings": "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", + "names": ["InputBinding", "registerBinding", "inputBindingClass", "name", "doWindowResizeOnElementResize", "el", "resizeEvent", "ro", "DocumentObserver", "config", "mutationObserverCallback", "mutationsList", "mutation", "addedNode", "removedNode", "el", "selector", "callback", "elMatches", "hasMatchingChild", "node", "_Sidebar", "container", "_a", "sidebar", "toggle", "ev", "selectorChildLayouts", "nextSidebarParent", "el", "layouts", "parent", "count", "x", "i", "thisCount", "main", "isClosed", "method", "doWindowResizeOnElementResize", "force", "Sidebar", "SidebarInputBinding", "InputBinding", "scope", "value", "callback", "event", "data", "registerBinding", "observer", "DocumentObserver"] } From b930cb2bd6d9b8d386f9d4c2c492af229f72a38c Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Tue, 25 Apr 2023 14:14:17 -0400 Subject: [PATCH 09/76] remove debugging console.logs --- inst/components/sidebar.min.js | 2 +- inst/components/sidebar.min.js.map | 4 ++-- srcts/src/components/_documentObserver.ts | 1 - srcts/src/components/sidebar.ts | 2 -- 4 files changed, 3 insertions(+), 6 deletions(-) diff --git a/inst/components/sidebar.min.js b/inst/components/sidebar.min.js index f746441aa..fe24dea41 100644 --- a/inst/components/sidebar.min.js +++ b/inst/components/sidebar.min.js @@ -1,3 +1,3 @@ /*! bslib 0.4.2.9000 | (c) 2012-2023 RStudio, PBC. | License: MIT + file LICENSE */ -"use strict";(()=>{var p=window.Shiny?Shiny.InputBinding:class{};function m(l,e){window.Shiny&&Shiny.inputBindings.register(new l,"bslib."+e)}function g(l){if($(l).data("window-resize-observer"))return;let e=new Event("resize"),t=new ResizeObserver(()=>{window.dispatchEvent(e)});t.observe(l),$(l).data("window-resize-observer",t)}var c=class{constructor(e){let t=n=>{for(let i of n)if(i.type==="childList"){for(let o of i.addedNodes)o.nodeType===Node.ELEMENT_NODE&&this._callback(o,this.config.added);for(let o of i.removedNodes)o.nodeType===Node.ELEMENT_NODE&&this._callback(o,this.config.removed)}};this.config=e,this.observer=new MutationObserver(t),document.readyState==="complete"?this.connect():document.addEventListener("DOMContentLoaded",()=>this.connect())}_callback(e,{selector:t,callback:n}){let i=e.matches(t),o=e.querySelector(t);!i&&!o||(i&&n(e),o&&e.querySelectorAll(t).forEach(r=>n(r)))}connect(){this._callback(document.body,this.config.added),console.log("connecting observer"),this.observer.observe(document,{childList:!0,subtree:!0})}disconnect(){this.observer.disconnect()}};var s=class{static initCollapsible(e){e.removeAttribute("data-bslib-sidebar-init"),s._initEventListeners(e),s._initSidebarCounters(e),s._initDesktop(e)}static _initEventListeners(e){var i;let{sidebar:t,toggle:n}=s.components(e);n.handlers={start:o=>{o.preventDefault(),s.toggle(e,"toggle")},end:()=>{s.finalizeState(e),$(t).trigger("toggleCollapse.sidebarInputBinding")}},n.addEventListener("click",n.handlers.start),(i=n.querySelector(".collapse-icon"))==null||i.addEventListener("transitionend",n.handlers.end)}static _initSidebarCounters(e){let t=`.${s.classes.LAYOUT}> .main > .${s.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`;if(!(e.querySelector(t)===null))return;function i(a){return a=a?a.parentElement:null,a&&a.classList.contains("main")&&(a=a.parentElement),a&&a.classList.contains(s.classes.LAYOUT)?a:null}let o=[e],r=i(e);for(;r;)o.unshift(r),r=i(r);let u={left:0,right:0};o.forEach(function(a,L){a.style.setProperty("--bslib-sidebar-counter",L.toString());let v=a.classList.contains("sidebar-right")?u.right++:u.left++;a.style.setProperty("--bslib-sidebar-overlap-counter",v.toString())})}static _initDesktop(e){var n;if(((n=e.dataset.bslibSidebarOpen)==null?void 0:n.trim())!=="desktop")return;window.getComputedStyle(e).getPropertyValue("--bslib-sidebar-js-init-collapsed").trim()==="true"&&s.toggle(e,"close")}static _findLayoutContainer(e){let t=e.closest(`.${s.classes.LAYOUT}`);if(!t)throw new Error(`Expected container or direct ancestor with class ${s.classes.LAYOUT}`);return t}static components(e){e=s._findLayoutContainer(e);let t=e.querySelector(":scope > .main"),n=e.querySelector(":scope > .sidebar"),i=e.querySelector(":scope > .collapse-toggle"),o=e.classList.contains(s.classes.COLLAPSE);return{container:e,main:t,sidebar:n,toggle:i,isClosed:o}}static toggle(e,t){let{container:n,main:i,sidebar:o,isClosed:r}=s.components(e);if(["open","close","toggle"].indexOf(t)===-1)throw new Error(`Unknown method ${t}`);t==="toggle"&&(t=r?"open":"close"),!(r&&t==="close"||!r&&t==="open")&&(g(i),t==="open"&&(o.hidden=!1),n.classList.add(s.classes.TRANSITIONING),n.classList.toggle(s.classes.COLLAPSE))}static finalizeState(e,t=!1){let{container:n,sidebar:i,toggle:o,isClosed:r}=s.components(e);return r&&!t?setTimeout(()=>s.finalizeState(e,!0),100):(n.classList.remove(s.classes.TRANSITIONING),i.hidden=r,o.ariaExpanded=r?"false":"true"),i}static removeEventListeners(e){var n;let{toggle:t}=s.components(e);t.handlers&&(t.removeEventListener("click",t.handlers.start),(n=t.querySelector(".collapse-icon"))==null||n.removeEventListener("transitionend",t.handlers.end))}},d=s;d.classes={LAYOUT:"bslib-sidebar-layout",COLLAPSE:"sidebar-collapsed",TRANSITIONING:"transitioning"};var b=class extends p{find(e){return $(e).find(`.${d.classes.LAYOUT} > .bslib-sidebar-input`)}getValue(e){return!$(e).parent().hasClass(d.classes.COLLAPSE)}setValue(e,t){let n=t?"open":"close";this.receiveMessage(e,{method:n})}subscribe(e,t){$(e).on("toggleCollapse.sidebarInputBinding",function(n){t(!0)})}unsubscribe(e){$(e).off(".sidebarInputBinding")}receiveMessage(e,t){d.toggle(e,t.method)}};m(b,"sidebar");var f=new c({added:{selector:`.${d.classes.LAYOUT}[data-bslib-sidebar-init]`,callback:l=>{console.log("added",l),d.initCollapsible(l)}},removed:{selector:`.${d.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`,callback:l=>{console.log("removed",l),d.removeEventListeners(l)}}});window.bslib=window.bslib||{};window.bslib.Sidebar=d;window.bslib.SidebarObserver=f;})(); +"use strict";(()=>{var p=window.Shiny?Shiny.InputBinding:class{};function m(l,e){window.Shiny&&Shiny.inputBindings.register(new l,"bslib."+e)}function g(l){if($(l).data("window-resize-observer"))return;let e=new Event("resize"),t=new ResizeObserver(()=>{window.dispatchEvent(e)});t.observe(l),$(l).data("window-resize-observer",t)}var c=class{constructor(e){let t=n=>{for(let i of n)if(i.type==="childList"){for(let o of i.addedNodes)o.nodeType===Node.ELEMENT_NODE&&this._callback(o,this.config.added);for(let o of i.removedNodes)o.nodeType===Node.ELEMENT_NODE&&this._callback(o,this.config.removed)}};this.config=e,this.observer=new MutationObserver(t),document.readyState==="complete"?this.connect():document.addEventListener("DOMContentLoaded",()=>this.connect())}_callback(e,{selector:t,callback:n}){let i=e.matches(t),o=e.querySelector(t);!i&&!o||(i&&n(e),o&&e.querySelectorAll(t).forEach(r=>n(r)))}connect(){this._callback(document.body,this.config.added),this.observer.observe(document,{childList:!0,subtree:!0})}disconnect(){this.observer.disconnect()}};var s=class{static initCollapsible(e){e.removeAttribute("data-bslib-sidebar-init"),s._initEventListeners(e),s._initSidebarCounters(e),s._initDesktop(e)}static _initEventListeners(e){var i;let{sidebar:t,toggle:n}=s.components(e);n.handlers={start:o=>{o.preventDefault(),s.toggle(e,"toggle")},end:()=>{s.finalizeState(e),$(t).trigger("toggleCollapse.sidebarInputBinding")}},n.addEventListener("click",n.handlers.start),(i=n.querySelector(".collapse-icon"))==null||i.addEventListener("transitionend",n.handlers.end)}static _initSidebarCounters(e){let t=`.${s.classes.LAYOUT}> .main > .${s.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`;if(!(e.querySelector(t)===null))return;function i(a){return a=a?a.parentElement:null,a&&a.classList.contains("main")&&(a=a.parentElement),a&&a.classList.contains(s.classes.LAYOUT)?a:null}let o=[e],r=i(e);for(;r;)o.unshift(r),r=i(r);let u={left:0,right:0};o.forEach(function(a,L){a.style.setProperty("--bslib-sidebar-counter",L.toString());let f=a.classList.contains("sidebar-right")?u.right++:u.left++;a.style.setProperty("--bslib-sidebar-overlap-counter",f.toString())})}static _initDesktop(e){var n;if(((n=e.dataset.bslibSidebarOpen)==null?void 0:n.trim())!=="desktop")return;window.getComputedStyle(e).getPropertyValue("--bslib-sidebar-js-init-collapsed").trim()==="true"&&s.toggle(e,"close")}static _findLayoutContainer(e){let t=e.closest(`.${s.classes.LAYOUT}`);if(!t)throw new Error(`Expected container or direct ancestor with class ${s.classes.LAYOUT}`);return t}static components(e){e=s._findLayoutContainer(e);let t=e.querySelector(":scope > .main"),n=e.querySelector(":scope > .sidebar"),i=e.querySelector(":scope > .collapse-toggle"),o=e.classList.contains(s.classes.COLLAPSE);return{container:e,main:t,sidebar:n,toggle:i,isClosed:o}}static toggle(e,t){let{container:n,main:i,sidebar:o,isClosed:r}=s.components(e);if(["open","close","toggle"].indexOf(t)===-1)throw new Error(`Unknown method ${t}`);t==="toggle"&&(t=r?"open":"close"),!(r&&t==="close"||!r&&t==="open")&&(g(i),t==="open"&&(o.hidden=!1),n.classList.add(s.classes.TRANSITIONING),n.classList.toggle(s.classes.COLLAPSE))}static finalizeState(e,t=!1){let{container:n,sidebar:i,toggle:o,isClosed:r}=s.components(e);return r&&!t?setTimeout(()=>s.finalizeState(e,!0),100):(n.classList.remove(s.classes.TRANSITIONING),i.hidden=r,o.ariaExpanded=r?"false":"true"),i}static removeEventListeners(e){var n;let{toggle:t}=s.components(e);t.handlers&&(t.removeEventListener("click",t.handlers.start),(n=t.querySelector(".collapse-icon"))==null||n.removeEventListener("transitionend",t.handlers.end))}},d=s;d.classes={LAYOUT:"bslib-sidebar-layout",COLLAPSE:"sidebar-collapsed",TRANSITIONING:"transitioning"};var b=class extends p{find(e){return $(e).find(`.${d.classes.LAYOUT} > .bslib-sidebar-input`)}getValue(e){return!$(e).parent().hasClass(d.classes.COLLAPSE)}setValue(e,t){let n=t?"open":"close";this.receiveMessage(e,{method:n})}subscribe(e,t){$(e).on("toggleCollapse.sidebarInputBinding",function(n){t(!0)})}unsubscribe(e){$(e).off(".sidebarInputBinding")}receiveMessage(e,t){d.toggle(e,t.method)}};m(b,"sidebar");var v=new c({added:{selector:`.${d.classes.LAYOUT}[data-bslib-sidebar-init]`,callback:l=>{d.initCollapsible(l)}},removed:{selector:`.${d.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`,callback:l=>{d.removeEventListeners(l)}}});window.bslib=window.bslib||{};window.bslib.Sidebar=d;window.bslib.SidebarObserver=v;})(); //# sourceMappingURL=sidebar.min.js.map diff --git a/inst/components/sidebar.min.js.map b/inst/components/sidebar.min.js.map index d8433a0cf..f95087196 100644 --- a/inst/components/sidebar.min.js.map +++ b/inst/components/sidebar.min.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": ["../../srcts/src/components/_utils.ts", "../../srcts/src/components/_documentObserver.ts", "../../srcts/src/components/sidebar.ts"], - "sourcesContent": ["import type { HtmlDep } from \"rstudio-shiny/srcts/types/src/shiny/render\";\n\nimport type { InputBinding as InputBindingType } from \"rstudio-shiny/srcts/types/src/bindings/input\";\n\n// Exclude undefined from T\ntype NotUndefined = T extends undefined ? never : T;\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst InputBinding = (\n window.Shiny ? Shiny.InputBinding : class {}\n) as typeof InputBindingType;\n\nfunction registerBinding(\n inputBindingClass: new () => InputBindingType,\n name: string\n): void {\n if (window.Shiny) {\n Shiny.inputBindings.register(new inputBindingClass(), \"bslib.\" + name);\n }\n}\n\n// Return true if the key exists on the object and the value is not undefined.\n//\n// This method is mainly used in input bindings' `receiveMessage` method.\n// Since we know that the values are sent by Shiny via `{jsonlite}`,\n// then we know that there are no `undefined` values. `null` is possible, but not `undefined`.\nfunction hasDefinedProperty<\n Prop extends keyof X,\n X extends { [key: string]: any }\n>(\n obj: X,\n prop: Prop\n): obj is X & { [key in NonNullable]: NotUndefined } {\n return (\n Object.prototype.hasOwnProperty.call(obj, prop) && obj[prop] !== undefined\n );\n}\n\n// TODO: Shiny should trigger resize events when the output\n// https://github.com/rstudio/shiny/pull/3682\nfunction doWindowResizeOnElementResize(el: HTMLElement): void {\n if ($(el).data(\"window-resize-observer\")) {\n return;\n }\n const resizeEvent = new Event(\"resize\");\n const ro = new ResizeObserver(() => {\n window.dispatchEvent(resizeEvent);\n });\n ro.observe(el);\n $(el).data(\"window-resize-observer\", ro);\n}\n\nexport {\n InputBinding,\n registerBinding,\n hasDefinedProperty,\n doWindowResizeOnElementResize,\n};\nexport type { HtmlDep };\n", "/**\n * The DocumentObserver class creates an observer detecting all DOM changes,\n * watching for added or removed elements (or their children) that match\n * the specified selectors. When a matching element is added or removed, the\n * respective callback function is called. The DocumentObserver is insensitive\n * to when it's instantiated; it always runs `added.callback()` once on the\n * document body (waiting for DOMContentLoaded if necessary) and then starts\n * watching the DOM for added/removed elements.\n */\n\ninterface DocumentObserverConfig {\n added: {\n selector: string;\n callback: (node: HTMLElement) => void;\n };\n removed: {\n selector: string;\n callback: (node: HTMLElement) => void;\n };\n}\n\nclass DocumentObserver {\n private observer: MutationObserver;\n private config: DocumentObserverConfig;\n\n constructor(config: DocumentObserverConfig) {\n const mutationObserverCallback = (mutationsList: MutationRecord[]) => {\n for (const mutation of mutationsList) {\n if (mutation.type === \"childList\") {\n for (const addedNode of mutation.addedNodes) {\n if (addedNode.nodeType !== Node.ELEMENT_NODE) continue;\n this._callback(addedNode as HTMLElement, this.config.added);\n }\n for (const removedNode of mutation.removedNodes) {\n if (removedNode.nodeType !== Node.ELEMENT_NODE) continue;\n this._callback(removedNode as HTMLElement, this.config.removed);\n }\n }\n }\n };\n\n this.config = config;\n this.observer = new MutationObserver(mutationObserverCallback);\n if (document.readyState === \"complete\") {\n this.connect();\n } else {\n document.addEventListener(\"DOMContentLoaded\", () => this.connect());\n }\n }\n\n private _callback(\n el: HTMLElement,\n {\n selector,\n callback,\n }: { selector: string; callback: (node: HTMLElement) => void }\n ) {\n const elMatches = el.matches(selector);\n const hasMatchingChild = el.querySelector(selector);\n if (!elMatches && !hasMatchingChild) return;\n if (elMatches) callback(el);\n if (!hasMatchingChild) return;\n el.querySelectorAll(selector).forEach((node) =>\n callback(node as HTMLElement)\n );\n }\n\n connect(): void {\n this._callback(document.body, this.config.added);\n console.log(\"connecting observer\");\n this.observer.observe(document, { childList: true, subtree: true });\n }\n\n disconnect(): void {\n this.observer.disconnect();\n }\n}\n\nexport { DocumentObserver };\nexport type { DocumentObserverConfig };\n", "import {\n InputBinding,\n registerBinding,\n doWindowResizeOnElementResize,\n} from \"./_utils\";\n\nimport { DocumentObserver } from \"./_documentObserver\";\n\ntype SidebarMethod = \"close\" | \"open\" | \"toggle\";\n\ntype MessageData = {\n method: SidebarMethod;\n};\n\ntype SidebarComponents = {\n container: HTMLElement;\n main: HTMLElement;\n sidebar: HTMLElement;\n toggle: HTMLElement & {\n handlers?: { start: (ev: MouseEvent) => void; end: () => void };\n };\n isClosed: boolean;\n};\n\nclass Sidebar {\n public static readonly classes = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n LAYOUT: \"bslib-sidebar-layout\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n COLLAPSE: \"sidebar-collapsed\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n TRANSITIONING: \"transitioning\",\n };\n\n public static initCollapsible(container: HTMLElement): void {\n // Signal that this layout is initialized by removing the init attribute\n container.removeAttribute(\"data-bslib-sidebar-init\");\n\n Sidebar._initEventListeners(container);\n Sidebar._initSidebarCounters(container);\n Sidebar._initDesktop(container);\n }\n\n private static _initEventListeners(container: HTMLElement): void {\n const { sidebar, toggle } = Sidebar.components(container);\n\n // We store a reference to the sidebar toggle event handlers on the toggle\n // element itself, so that we can remove them later if needed.\n toggle.handlers = {\n start: (ev) => {\n ev.preventDefault();\n Sidebar.toggle(container, \"toggle\");\n },\n end: () => {\n Sidebar.finalizeState(container);\n $(sidebar).trigger(\"toggleCollapse.sidebarInputBinding\");\n },\n };\n\n toggle.addEventListener(\"click\", toggle.handlers.start);\n\n // Once the collapse transition completes (on the collapse toggle icon, which is\n // always guaranteed to transition), then remove the transitioning class\n toggle\n .querySelector(\".collapse-icon\")\n ?.addEventListener(\"transitionend\", toggle.handlers.end);\n }\n\n private static _initSidebarCounters(container: HTMLElement): void {\n // This function walks up the DOM tree, adding CSS variables to each\n // direct parent sidebar layout that count the layout's position in the\n // stack of nested layouts. We use these counters to keep the collapse\n // toggles from overlapping. Note that always-open sidebars that don't\n // have collapse toggles break the chain of nesting.\n\n const selectorChildLayouts =\n `.${Sidebar.classes.LAYOUT}` +\n \"> .main > \" +\n `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open=\"always\"])`;\n\n const isInnermostLayout =\n container.querySelector(selectorChildLayouts) === null;\n\n if (!isInnermostLayout) {\n // There are sidebar layouts nested within this layout; defer to children\n return;\n }\n\n function nextSidebarParent(el: HTMLElement | null): HTMLElement | null {\n el = el ? el.parentElement : null;\n if (el && el.classList.contains(\"main\")) {\n // .bslib-sidebar-layout > .main > .bslib-sidedbar-layout\n el = el.parentElement;\n }\n if (el && el.classList.contains(Sidebar.classes.LAYOUT)) {\n return el;\n }\n return null;\n }\n\n const layouts = [container];\n let parent = nextSidebarParent(container);\n\n while (parent) {\n // Add parent to front of layouts array, so we sort outer -> inner\n layouts.unshift(parent);\n parent = nextSidebarParent(parent);\n }\n\n const count = { left: 0, right: 0 };\n layouts.forEach(function (x: HTMLElement, i: number): void {\n x.style.setProperty(\"--bslib-sidebar-counter\", i.toString());\n const isRight = x.classList.contains(\"sidebar-right\");\n const thisCount = isRight ? count.right++ : count.left++;\n x.style.setProperty(\n \"--bslib-sidebar-overlap-counter\",\n thisCount.toString()\n );\n });\n }\n\n private static _initDesktop(container: HTMLElement): void {\n // If sidebar is marked open='desktop'...\n if (container.dataset.bslibSidebarOpen?.trim() !== \"desktop\") {\n return;\n }\n\n // then close sidebar on mobile\n const initCollapsed = window\n .getComputedStyle(container)\n .getPropertyValue(\"--bslib-sidebar-js-init-collapsed\");\n\n if (initCollapsed.trim() === \"true\") {\n Sidebar.toggle(container, \"close\");\n }\n }\n\n private static _findLayoutContainer(el: HTMLElement): HTMLElement {\n const container = el.closest(`.${Sidebar.classes.LAYOUT}`);\n if (!container) {\n throw new Error(\n `Expected container or direct ancestor with class ${Sidebar.classes.LAYOUT}`\n );\n }\n return container as HTMLElement;\n }\n\n public static components(el: HTMLElement): SidebarComponents {\n el = Sidebar._findLayoutContainer(el);\n\n // sidebar components\n const main = el.querySelector(\":scope > .main\") as HTMLElement;\n const sidebar = el.querySelector(\":scope > .sidebar\") as HTMLElement;\n const toggle = el.querySelector(\":scope > .collapse-toggle\") as HTMLElement;\n\n // sidebar state\n const isClosed = el.classList.contains(Sidebar.classes.COLLAPSE);\n\n return { container: el, main, sidebar, toggle, isClosed };\n }\n\n public static toggle(el: HTMLElement, method: SidebarMethod) {\n const { container, main, sidebar, isClosed } = Sidebar.components(el);\n\n if ([\"open\", \"close\", \"toggle\"].indexOf(method) === -1) {\n throw new Error(`Unknown method ${method}`);\n }\n\n if (method === \"toggle\") {\n method = isClosed ? \"open\" : \"close\";\n }\n\n if ((isClosed && method === \"close\") || (!isClosed && method === \"open\")) {\n // nothing to do, sidebar is already in the desired state\n return;\n }\n\n // Make sure outputs resize properly when the sidebar is opened/closed\n doWindowResizeOnElementResize(main);\n\n if (method === \"open\") {\n // unhide sidebar immediately when opening,\n // otherwise the sidebar is hidden on transitionend\n sidebar.hidden = false;\n }\n\n // Add a transitioning class just before adding COLLAPSE_CLASS since we want\n // some of the transitioning styles to apply before the collapse state\n container.classList.add(Sidebar.classes.TRANSITIONING);\n container.classList.toggle(Sidebar.classes.COLLAPSE);\n }\n\n public static finalizeState(el: HTMLElement, force = false): HTMLElement {\n const { container, sidebar, toggle, isClosed } = Sidebar.components(el);\n if (isClosed && !force) {\n setTimeout(() => Sidebar.finalizeState(el, true), 100);\n } else {\n container.classList.remove(Sidebar.classes.TRANSITIONING);\n sidebar.hidden = isClosed;\n toggle.ariaExpanded = isClosed ? \"false\" : \"true\";\n }\n return sidebar;\n }\n\n public static removeEventListeners(el: HTMLElement): void {\n // If a sidebar layout is removed from the page, we should also clean up any\n // event listeners that were added to the layout's components.\n const { toggle } = Sidebar.components(el);\n if (!toggle.handlers) return;\n toggle.removeEventListener(\"click\", toggle.handlers.start);\n toggle\n .querySelector(\".collapse-icon\")\n ?.removeEventListener(\"transitionend\", toggle.handlers.end);\n }\n}\n\nclass SidebarInputBinding extends InputBinding {\n find(scope: HTMLElement) {\n return $(scope).find(`.${Sidebar.classes.LAYOUT} > .bslib-sidebar-input`);\n }\n\n getValue(el: HTMLElement): boolean {\n return !$(el).parent().hasClass(Sidebar.classes.COLLAPSE);\n }\n\n setValue(el: HTMLElement, value: boolean): void {\n const method = value ? \"open\" : \"close\";\n this.receiveMessage(el, { method });\n }\n\n subscribe(el: HTMLElement, callback: (x: boolean) => void) {\n $(el).on(\n \"toggleCollapse.sidebarInputBinding\",\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n function (event) {\n callback(true);\n }\n );\n }\n\n unsubscribe(el: HTMLElement) {\n $(el).off(\".sidebarInputBinding\");\n }\n\n receiveMessage(el: HTMLElement, data: MessageData) {\n Sidebar.toggle(el, data.method);\n }\n}\n\nregisterBinding(SidebarInputBinding, \"sidebar\");\n\n// Initialize sidebars on page load or when added to the page ----------------\nconst observer = new DocumentObserver({\n added: {\n selector: `.${Sidebar.classes.LAYOUT}[data-bslib-sidebar-init]`,\n callback: (container) => {\n console.log(\"added\", container);\n Sidebar.initCollapsible(container as HTMLElement);\n },\n },\n removed: {\n selector: `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open=\"always\"])`,\n callback: (container) => {\n console.log(\"removed\", container);\n Sidebar.removeEventListeners(container as HTMLElement);\n },\n },\n});\n\n// attach Sidebar class to window for global usage\n(window as any).bslib = (window as any).bslib || {};\n(window as any).bslib.Sidebar = Sidebar;\n(window as any).bslib.SidebarObserver = observer;\n"], - "mappings": "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", + "sourcesContent": ["import type { HtmlDep } from \"rstudio-shiny/srcts/types/src/shiny/render\";\n\nimport type { InputBinding as InputBindingType } from \"rstudio-shiny/srcts/types/src/bindings/input\";\n\n// Exclude undefined from T\ntype NotUndefined = T extends undefined ? never : T;\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst InputBinding = (\n window.Shiny ? Shiny.InputBinding : class {}\n) as typeof InputBindingType;\n\nfunction registerBinding(\n inputBindingClass: new () => InputBindingType,\n name: string\n): void {\n if (window.Shiny) {\n Shiny.inputBindings.register(new inputBindingClass(), \"bslib.\" + name);\n }\n}\n\n// Return true if the key exists on the object and the value is not undefined.\n//\n// This method is mainly used in input bindings' `receiveMessage` method.\n// Since we know that the values are sent by Shiny via `{jsonlite}`,\n// then we know that there are no `undefined` values. `null` is possible, but not `undefined`.\nfunction hasDefinedProperty<\n Prop extends keyof X,\n X extends { [key: string]: any }\n>(\n obj: X,\n prop: Prop\n): obj is X & { [key in NonNullable]: NotUndefined } {\n return (\n Object.prototype.hasOwnProperty.call(obj, prop) && obj[prop] !== undefined\n );\n}\n\n// TODO: Shiny should trigger resize events when the output\n// https://github.com/rstudio/shiny/pull/3682\nfunction doWindowResizeOnElementResize(el: HTMLElement): void {\n if ($(el).data(\"window-resize-observer\")) {\n return;\n }\n const resizeEvent = new Event(\"resize\");\n const ro = new ResizeObserver(() => {\n window.dispatchEvent(resizeEvent);\n });\n ro.observe(el);\n $(el).data(\"window-resize-observer\", ro);\n}\n\nexport {\n InputBinding,\n registerBinding,\n hasDefinedProperty,\n doWindowResizeOnElementResize,\n};\nexport type { HtmlDep };\n", "/**\n * The DocumentObserver class creates an observer detecting all DOM changes,\n * watching for added or removed elements (or their children) that match\n * the specified selectors. When a matching element is added or removed, the\n * respective callback function is called. The DocumentObserver is insensitive\n * to when it's instantiated; it always runs `added.callback()` once on the\n * document body (waiting for DOMContentLoaded if necessary) and then starts\n * watching the DOM for added/removed elements.\n */\n\ninterface DocumentObserverConfig {\n added: {\n selector: string;\n callback: (node: HTMLElement) => void;\n };\n removed: {\n selector: string;\n callback: (node: HTMLElement) => void;\n };\n}\n\nclass DocumentObserver {\n private observer: MutationObserver;\n private config: DocumentObserverConfig;\n\n constructor(config: DocumentObserverConfig) {\n const mutationObserverCallback = (mutationsList: MutationRecord[]) => {\n for (const mutation of mutationsList) {\n if (mutation.type === \"childList\") {\n for (const addedNode of mutation.addedNodes) {\n if (addedNode.nodeType !== Node.ELEMENT_NODE) continue;\n this._callback(addedNode as HTMLElement, this.config.added);\n }\n for (const removedNode of mutation.removedNodes) {\n if (removedNode.nodeType !== Node.ELEMENT_NODE) continue;\n this._callback(removedNode as HTMLElement, this.config.removed);\n }\n }\n }\n };\n\n this.config = config;\n this.observer = new MutationObserver(mutationObserverCallback);\n if (document.readyState === \"complete\") {\n this.connect();\n } else {\n document.addEventListener(\"DOMContentLoaded\", () => this.connect());\n }\n }\n\n private _callback(\n el: HTMLElement,\n {\n selector,\n callback,\n }: { selector: string; callback: (node: HTMLElement) => void }\n ) {\n const elMatches = el.matches(selector);\n const hasMatchingChild = el.querySelector(selector);\n if (!elMatches && !hasMatchingChild) return;\n if (elMatches) callback(el);\n if (!hasMatchingChild) return;\n el.querySelectorAll(selector).forEach((node) =>\n callback(node as HTMLElement)\n );\n }\n\n connect(): void {\n this._callback(document.body, this.config.added);\n this.observer.observe(document, { childList: true, subtree: true });\n }\n\n disconnect(): void {\n this.observer.disconnect();\n }\n}\n\nexport { DocumentObserver };\nexport type { DocumentObserverConfig };\n", "import {\n InputBinding,\n registerBinding,\n doWindowResizeOnElementResize,\n} from \"./_utils\";\n\nimport { DocumentObserver } from \"./_documentObserver\";\n\ntype SidebarMethod = \"close\" | \"open\" | \"toggle\";\n\ntype MessageData = {\n method: SidebarMethod;\n};\n\ntype SidebarComponents = {\n container: HTMLElement;\n main: HTMLElement;\n sidebar: HTMLElement;\n toggle: HTMLElement & {\n handlers?: { start: (ev: MouseEvent) => void; end: () => void };\n };\n isClosed: boolean;\n};\n\nclass Sidebar {\n public static readonly classes = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n LAYOUT: \"bslib-sidebar-layout\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n COLLAPSE: \"sidebar-collapsed\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n TRANSITIONING: \"transitioning\",\n };\n\n public static initCollapsible(container: HTMLElement): void {\n // Signal that this layout is initialized by removing the init attribute\n container.removeAttribute(\"data-bslib-sidebar-init\");\n\n Sidebar._initEventListeners(container);\n Sidebar._initSidebarCounters(container);\n Sidebar._initDesktop(container);\n }\n\n private static _initEventListeners(container: HTMLElement): void {\n const { sidebar, toggle } = Sidebar.components(container);\n\n // We store a reference to the sidebar toggle event handlers on the toggle\n // element itself, so that we can remove them later if needed.\n toggle.handlers = {\n start: (ev) => {\n ev.preventDefault();\n Sidebar.toggle(container, \"toggle\");\n },\n end: () => {\n Sidebar.finalizeState(container);\n $(sidebar).trigger(\"toggleCollapse.sidebarInputBinding\");\n },\n };\n\n toggle.addEventListener(\"click\", toggle.handlers.start);\n\n // Once the collapse transition completes (on the collapse toggle icon, which is\n // always guaranteed to transition), then remove the transitioning class\n toggle\n .querySelector(\".collapse-icon\")\n ?.addEventListener(\"transitionend\", toggle.handlers.end);\n }\n\n private static _initSidebarCounters(container: HTMLElement): void {\n // This function walks up the DOM tree, adding CSS variables to each\n // direct parent sidebar layout that count the layout's position in the\n // stack of nested layouts. We use these counters to keep the collapse\n // toggles from overlapping. Note that always-open sidebars that don't\n // have collapse toggles break the chain of nesting.\n\n const selectorChildLayouts =\n `.${Sidebar.classes.LAYOUT}` +\n \"> .main > \" +\n `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open=\"always\"])`;\n\n const isInnermostLayout =\n container.querySelector(selectorChildLayouts) === null;\n\n if (!isInnermostLayout) {\n // There are sidebar layouts nested within this layout; defer to children\n return;\n }\n\n function nextSidebarParent(el: HTMLElement | null): HTMLElement | null {\n el = el ? el.parentElement : null;\n if (el && el.classList.contains(\"main\")) {\n // .bslib-sidebar-layout > .main > .bslib-sidedbar-layout\n el = el.parentElement;\n }\n if (el && el.classList.contains(Sidebar.classes.LAYOUT)) {\n return el;\n }\n return null;\n }\n\n const layouts = [container];\n let parent = nextSidebarParent(container);\n\n while (parent) {\n // Add parent to front of layouts array, so we sort outer -> inner\n layouts.unshift(parent);\n parent = nextSidebarParent(parent);\n }\n\n const count = { left: 0, right: 0 };\n layouts.forEach(function (x: HTMLElement, i: number): void {\n x.style.setProperty(\"--bslib-sidebar-counter\", i.toString());\n const isRight = x.classList.contains(\"sidebar-right\");\n const thisCount = isRight ? count.right++ : count.left++;\n x.style.setProperty(\n \"--bslib-sidebar-overlap-counter\",\n thisCount.toString()\n );\n });\n }\n\n private static _initDesktop(container: HTMLElement): void {\n // If sidebar is marked open='desktop'...\n if (container.dataset.bslibSidebarOpen?.trim() !== \"desktop\") {\n return;\n }\n\n // then close sidebar on mobile\n const initCollapsed = window\n .getComputedStyle(container)\n .getPropertyValue(\"--bslib-sidebar-js-init-collapsed\");\n\n if (initCollapsed.trim() === \"true\") {\n Sidebar.toggle(container, \"close\");\n }\n }\n\n private static _findLayoutContainer(el: HTMLElement): HTMLElement {\n const container = el.closest(`.${Sidebar.classes.LAYOUT}`);\n if (!container) {\n throw new Error(\n `Expected container or direct ancestor with class ${Sidebar.classes.LAYOUT}`\n );\n }\n return container as HTMLElement;\n }\n\n public static components(el: HTMLElement): SidebarComponents {\n el = Sidebar._findLayoutContainer(el);\n\n // sidebar components\n const main = el.querySelector(\":scope > .main\") as HTMLElement;\n const sidebar = el.querySelector(\":scope > .sidebar\") as HTMLElement;\n const toggle = el.querySelector(\":scope > .collapse-toggle\") as HTMLElement;\n\n // sidebar state\n const isClosed = el.classList.contains(Sidebar.classes.COLLAPSE);\n\n return { container: el, main, sidebar, toggle, isClosed };\n }\n\n public static toggle(el: HTMLElement, method: SidebarMethod) {\n const { container, main, sidebar, isClosed } = Sidebar.components(el);\n\n if ([\"open\", \"close\", \"toggle\"].indexOf(method) === -1) {\n throw new Error(`Unknown method ${method}`);\n }\n\n if (method === \"toggle\") {\n method = isClosed ? \"open\" : \"close\";\n }\n\n if ((isClosed && method === \"close\") || (!isClosed && method === \"open\")) {\n // nothing to do, sidebar is already in the desired state\n return;\n }\n\n // Make sure outputs resize properly when the sidebar is opened/closed\n doWindowResizeOnElementResize(main);\n\n if (method === \"open\") {\n // unhide sidebar immediately when opening,\n // otherwise the sidebar is hidden on transitionend\n sidebar.hidden = false;\n }\n\n // Add a transitioning class just before adding COLLAPSE_CLASS since we want\n // some of the transitioning styles to apply before the collapse state\n container.classList.add(Sidebar.classes.TRANSITIONING);\n container.classList.toggle(Sidebar.classes.COLLAPSE);\n }\n\n public static finalizeState(el: HTMLElement, force = false): HTMLElement {\n const { container, sidebar, toggle, isClosed } = Sidebar.components(el);\n if (isClosed && !force) {\n setTimeout(() => Sidebar.finalizeState(el, true), 100);\n } else {\n container.classList.remove(Sidebar.classes.TRANSITIONING);\n sidebar.hidden = isClosed;\n toggle.ariaExpanded = isClosed ? \"false\" : \"true\";\n }\n return sidebar;\n }\n\n public static removeEventListeners(el: HTMLElement): void {\n // If a sidebar layout is removed from the page, we should also clean up any\n // event listeners that were added to the layout's components.\n const { toggle } = Sidebar.components(el);\n if (!toggle.handlers) return;\n toggle.removeEventListener(\"click\", toggle.handlers.start);\n toggle\n .querySelector(\".collapse-icon\")\n ?.removeEventListener(\"transitionend\", toggle.handlers.end);\n }\n}\n\nclass SidebarInputBinding extends InputBinding {\n find(scope: HTMLElement) {\n return $(scope).find(`.${Sidebar.classes.LAYOUT} > .bslib-sidebar-input`);\n }\n\n getValue(el: HTMLElement): boolean {\n return !$(el).parent().hasClass(Sidebar.classes.COLLAPSE);\n }\n\n setValue(el: HTMLElement, value: boolean): void {\n const method = value ? \"open\" : \"close\";\n this.receiveMessage(el, { method });\n }\n\n subscribe(el: HTMLElement, callback: (x: boolean) => void) {\n $(el).on(\n \"toggleCollapse.sidebarInputBinding\",\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n function (event) {\n callback(true);\n }\n );\n }\n\n unsubscribe(el: HTMLElement) {\n $(el).off(\".sidebarInputBinding\");\n }\n\n receiveMessage(el: HTMLElement, data: MessageData) {\n Sidebar.toggle(el, data.method);\n }\n}\n\nregisterBinding(SidebarInputBinding, \"sidebar\");\n\n// Initialize sidebars on page load or when added to the page ----------------\nconst observer = new DocumentObserver({\n added: {\n selector: `.${Sidebar.classes.LAYOUT}[data-bslib-sidebar-init]`,\n callback: (container) => {\n Sidebar.initCollapsible(container as HTMLElement);\n },\n },\n removed: {\n selector: `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open=\"always\"])`,\n callback: (container) => {\n Sidebar.removeEventListeners(container as HTMLElement);\n },\n },\n});\n\n// attach Sidebar class to window for global usage\n(window as any).bslib = (window as any).bslib || {};\n(window as any).bslib.Sidebar = Sidebar;\n(window as any).bslib.SidebarObserver = observer;\n"], + "mappings": "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", "names": ["InputBinding", "registerBinding", "inputBindingClass", "name", "doWindowResizeOnElementResize", "el", "resizeEvent", "ro", "DocumentObserver", "config", "mutationObserverCallback", "mutationsList", "mutation", "addedNode", "removedNode", "el", "selector", "callback", "elMatches", "hasMatchingChild", "node", "_Sidebar", "container", "_a", "sidebar", "toggle", "ev", "selectorChildLayouts", "nextSidebarParent", "el", "layouts", "parent", "count", "x", "i", "thisCount", "main", "isClosed", "method", "doWindowResizeOnElementResize", "force", "Sidebar", "SidebarInputBinding", "InputBinding", "scope", "value", "callback", "event", "data", "registerBinding", "observer", "DocumentObserver"] } diff --git a/srcts/src/components/_documentObserver.ts b/srcts/src/components/_documentObserver.ts index 0697e9e19..4d418e9f2 100644 --- a/srcts/src/components/_documentObserver.ts +++ b/srcts/src/components/_documentObserver.ts @@ -67,7 +67,6 @@ class DocumentObserver { connect(): void { this._callback(document.body, this.config.added); - console.log("connecting observer"); this.observer.observe(document, { childList: true, subtree: true }); } diff --git a/srcts/src/components/sidebar.ts b/srcts/src/components/sidebar.ts index 80e14536d..0ae50ad47 100644 --- a/srcts/src/components/sidebar.ts +++ b/srcts/src/components/sidebar.ts @@ -254,14 +254,12 @@ const observer = new DocumentObserver({ added: { selector: `.${Sidebar.classes.LAYOUT}[data-bslib-sidebar-init]`, callback: (container) => { - console.log("added", container); Sidebar.initCollapsible(container as HTMLElement); }, }, removed: { selector: `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`, callback: (container) => { - console.log("removed", container); Sidebar.removeEventListeners(container as HTMLElement); }, }, From 6364ecc583fe807f1a435e8a9daa77c270243e4b Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Tue, 25 Apr 2023 14:19:11 -0400 Subject: [PATCH 10/76] Fold DocumentObserver into Sidebar class --- inst/components/sidebar.min.js | 2 +- inst/components/sidebar.min.js.map | 6 +++--- srcts/src/components/sidebar.ts | 32 ++++++++++++++---------------- 3 files changed, 19 insertions(+), 21 deletions(-) diff --git a/inst/components/sidebar.min.js b/inst/components/sidebar.min.js index fe24dea41..063b38275 100644 --- a/inst/components/sidebar.min.js +++ b/inst/components/sidebar.min.js @@ -1,3 +1,3 @@ /*! bslib 0.4.2.9000 | (c) 2012-2023 RStudio, PBC. | License: MIT + file LICENSE */ -"use strict";(()=>{var p=window.Shiny?Shiny.InputBinding:class{};function m(l,e){window.Shiny&&Shiny.inputBindings.register(new l,"bslib."+e)}function g(l){if($(l).data("window-resize-observer"))return;let e=new Event("resize"),t=new ResizeObserver(()=>{window.dispatchEvent(e)});t.observe(l),$(l).data("window-resize-observer",t)}var c=class{constructor(e){let t=n=>{for(let i of n)if(i.type==="childList"){for(let o of i.addedNodes)o.nodeType===Node.ELEMENT_NODE&&this._callback(o,this.config.added);for(let o of i.removedNodes)o.nodeType===Node.ELEMENT_NODE&&this._callback(o,this.config.removed)}};this.config=e,this.observer=new MutationObserver(t),document.readyState==="complete"?this.connect():document.addEventListener("DOMContentLoaded",()=>this.connect())}_callback(e,{selector:t,callback:n}){let i=e.matches(t),o=e.querySelector(t);!i&&!o||(i&&n(e),o&&e.querySelectorAll(t).forEach(r=>n(r)))}connect(){this._callback(document.body,this.config.added),this.observer.observe(document,{childList:!0,subtree:!0})}disconnect(){this.observer.disconnect()}};var s=class{static initCollapsible(e){e.removeAttribute("data-bslib-sidebar-init"),s._initEventListeners(e),s._initSidebarCounters(e),s._initDesktop(e)}static _initEventListeners(e){var i;let{sidebar:t,toggle:n}=s.components(e);n.handlers={start:o=>{o.preventDefault(),s.toggle(e,"toggle")},end:()=>{s.finalizeState(e),$(t).trigger("toggleCollapse.sidebarInputBinding")}},n.addEventListener("click",n.handlers.start),(i=n.querySelector(".collapse-icon"))==null||i.addEventListener("transitionend",n.handlers.end)}static _initSidebarCounters(e){let t=`.${s.classes.LAYOUT}> .main > .${s.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`;if(!(e.querySelector(t)===null))return;function i(a){return a=a?a.parentElement:null,a&&a.classList.contains("main")&&(a=a.parentElement),a&&a.classList.contains(s.classes.LAYOUT)?a:null}let o=[e],r=i(e);for(;r;)o.unshift(r),r=i(r);let u={left:0,right:0};o.forEach(function(a,L){a.style.setProperty("--bslib-sidebar-counter",L.toString());let f=a.classList.contains("sidebar-right")?u.right++:u.left++;a.style.setProperty("--bslib-sidebar-overlap-counter",f.toString())})}static _initDesktop(e){var n;if(((n=e.dataset.bslibSidebarOpen)==null?void 0:n.trim())!=="desktop")return;window.getComputedStyle(e).getPropertyValue("--bslib-sidebar-js-init-collapsed").trim()==="true"&&s.toggle(e,"close")}static _findLayoutContainer(e){let t=e.closest(`.${s.classes.LAYOUT}`);if(!t)throw new Error(`Expected container or direct ancestor with class ${s.classes.LAYOUT}`);return t}static components(e){e=s._findLayoutContainer(e);let t=e.querySelector(":scope > .main"),n=e.querySelector(":scope > .sidebar"),i=e.querySelector(":scope > .collapse-toggle"),o=e.classList.contains(s.classes.COLLAPSE);return{container:e,main:t,sidebar:n,toggle:i,isClosed:o}}static toggle(e,t){let{container:n,main:i,sidebar:o,isClosed:r}=s.components(e);if(["open","close","toggle"].indexOf(t)===-1)throw new Error(`Unknown method ${t}`);t==="toggle"&&(t=r?"open":"close"),!(r&&t==="close"||!r&&t==="open")&&(g(i),t==="open"&&(o.hidden=!1),n.classList.add(s.classes.TRANSITIONING),n.classList.toggle(s.classes.COLLAPSE))}static finalizeState(e,t=!1){let{container:n,sidebar:i,toggle:o,isClosed:r}=s.components(e);return r&&!t?setTimeout(()=>s.finalizeState(e,!0),100):(n.classList.remove(s.classes.TRANSITIONING),i.hidden=r,o.ariaExpanded=r?"false":"true"),i}static removeEventListeners(e){var n;let{toggle:t}=s.components(e);t.handlers&&(t.removeEventListener("click",t.handlers.start),(n=t.querySelector(".collapse-icon"))==null||n.removeEventListener("transitionend",t.handlers.end))}},d=s;d.classes={LAYOUT:"bslib-sidebar-layout",COLLAPSE:"sidebar-collapsed",TRANSITIONING:"transitioning"};var b=class extends p{find(e){return $(e).find(`.${d.classes.LAYOUT} > .bslib-sidebar-input`)}getValue(e){return!$(e).parent().hasClass(d.classes.COLLAPSE)}setValue(e,t){let n=t?"open":"close";this.receiveMessage(e,{method:n})}subscribe(e,t){$(e).on("toggleCollapse.sidebarInputBinding",function(n){t(!0)})}unsubscribe(e){$(e).off(".sidebarInputBinding")}receiveMessage(e,t){d.toggle(e,t.method)}};m(b,"sidebar");var v=new c({added:{selector:`.${d.classes.LAYOUT}[data-bslib-sidebar-init]`,callback:l=>{d.initCollapsible(l)}},removed:{selector:`.${d.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`,callback:l=>{d.removeEventListeners(l)}}});window.bslib=window.bslib||{};window.bslib.Sidebar=d;window.bslib.SidebarObserver=v;})(); +"use strict";(()=>{var p=window.Shiny?Shiny.InputBinding:class{};function m(d,e){window.Shiny&&Shiny.inputBindings.register(new d,"bslib."+e)}function g(d){if($(d).data("window-resize-observer"))return;let e=new Event("resize"),t=new ResizeObserver(()=>{window.dispatchEvent(e)});t.observe(d),$(d).data("window-resize-observer",t)}var c=class{constructor(e){let t=n=>{for(let i of n)if(i.type==="childList"){for(let o of i.addedNodes)o.nodeType===Node.ELEMENT_NODE&&this._callback(o,this.config.added);for(let o of i.removedNodes)o.nodeType===Node.ELEMENT_NODE&&this._callback(o,this.config.removed)}};this.config=e,this.observer=new MutationObserver(t),document.readyState==="complete"?this.connect():document.addEventListener("DOMContentLoaded",()=>this.connect())}_callback(e,{selector:t,callback:n}){let i=e.matches(t),o=e.querySelector(t);!i&&!o||(i&&n(e),o&&e.querySelectorAll(t).forEach(r=>n(r)))}connect(){this._callback(document.body,this.config.added),this.observer.observe(document,{childList:!0,subtree:!0})}disconnect(){this.observer.disconnect()}};var s=class{static initCollapsible(e){e.removeAttribute("data-bslib-sidebar-init"),s._initEventListeners(e),s._initSidebarCounters(e),s._initDesktop(e)}static _initEventListeners(e){var i;let{sidebar:t,toggle:n}=s.components(e);n.handlers={start:o=>{o.preventDefault(),s.toggle(e,"toggle")},end:()=>{s.finalizeState(e),$(t).trigger("toggleCollapse.sidebarInputBinding")}},n.addEventListener("click",n.handlers.start),(i=n.querySelector(".collapse-icon"))==null||i.addEventListener("transitionend",n.handlers.end)}static _initSidebarCounters(e){let t=`.${s.classes.LAYOUT}> .main > .${s.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`;if(!(e.querySelector(t)===null))return;function i(a){return a=a?a.parentElement:null,a&&a.classList.contains("main")&&(a=a.parentElement),a&&a.classList.contains(s.classes.LAYOUT)?a:null}let o=[e],r=i(e);for(;r;)o.unshift(r),r=i(r);let b={left:0,right:0};o.forEach(function(a,L){a.style.setProperty("--bslib-sidebar-counter",L.toString());let f=a.classList.contains("sidebar-right")?b.right++:b.left++;a.style.setProperty("--bslib-sidebar-overlap-counter",f.toString())})}static _initDesktop(e){var n;if(((n=e.dataset.bslibSidebarOpen)==null?void 0:n.trim())!=="desktop")return;window.getComputedStyle(e).getPropertyValue("--bslib-sidebar-js-init-collapsed").trim()==="true"&&s.toggle(e,"close")}static _findLayoutContainer(e){let t=e.closest(`.${s.classes.LAYOUT}`);if(!t)throw new Error(`Expected container or direct ancestor with class ${s.classes.LAYOUT}`);return t}static components(e){e=s._findLayoutContainer(e);let t=e.querySelector(":scope > .main"),n=e.querySelector(":scope > .sidebar"),i=e.querySelector(":scope > .collapse-toggle"),o=e.classList.contains(s.classes.COLLAPSE);return{container:e,main:t,sidebar:n,toggle:i,isClosed:o}}static toggle(e,t){let{container:n,main:i,sidebar:o,isClosed:r}=s.components(e);if(["open","close","toggle"].indexOf(t)===-1)throw new Error(`Unknown method ${t}`);t==="toggle"&&(t=r?"open":"close"),!(r&&t==="close"||!r&&t==="open")&&(g(i),t==="open"&&(o.hidden=!1),n.classList.add(s.classes.TRANSITIONING),n.classList.toggle(s.classes.COLLAPSE))}static finalizeState(e,t=!1){let{container:n,sidebar:i,toggle:o,isClosed:r}=s.components(e);return r&&!t?setTimeout(()=>s.finalizeState(e,!0),100):(n.classList.remove(s.classes.TRANSITIONING),i.hidden=r,o.ariaExpanded=r?"false":"true"),i}static removeEventListeners(e){var n;let{toggle:t}=s.components(e);t.handlers&&(t.removeEventListener("click",t.handlers.start),(n=t.querySelector(".collapse-icon"))==null||n.removeEventListener("transitionend",t.handlers.end))}},l=s;l.classes={LAYOUT:"bslib-sidebar-layout",COLLAPSE:"sidebar-collapsed",TRANSITIONING:"transitioning"},l.observer=new c({added:{selector:`.${s.classes.LAYOUT}[data-bslib-sidebar-init]`,callback:e=>{s.initCollapsible(e)}},removed:{selector:`.${s.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`,callback:e=>{s.removeEventListeners(e)}}});var u=class extends p{find(e){return $(e).find(`.${l.classes.LAYOUT} > .bslib-sidebar-input`)}getValue(e){return!$(e).parent().hasClass(l.classes.COLLAPSE)}setValue(e,t){let n=t?"open":"close";this.receiveMessage(e,{method:n})}subscribe(e,t){$(e).on("toggleCollapse.sidebarInputBinding",function(n){t(!0)})}unsubscribe(e){$(e).off(".sidebarInputBinding")}receiveMessage(e,t){l.toggle(e,t.method)}};m(u,"sidebar");window.bslib=window.bslib||{};window.bslib.Sidebar=l;})(); //# sourceMappingURL=sidebar.min.js.map diff --git a/inst/components/sidebar.min.js.map b/inst/components/sidebar.min.js.map index f95087196..c5a7bc604 100644 --- a/inst/components/sidebar.min.js.map +++ b/inst/components/sidebar.min.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": ["../../srcts/src/components/_utils.ts", "../../srcts/src/components/_documentObserver.ts", "../../srcts/src/components/sidebar.ts"], - "sourcesContent": ["import type { HtmlDep } from \"rstudio-shiny/srcts/types/src/shiny/render\";\n\nimport type { InputBinding as InputBindingType } from \"rstudio-shiny/srcts/types/src/bindings/input\";\n\n// Exclude undefined from T\ntype NotUndefined = T extends undefined ? never : T;\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst InputBinding = (\n window.Shiny ? Shiny.InputBinding : class {}\n) as typeof InputBindingType;\n\nfunction registerBinding(\n inputBindingClass: new () => InputBindingType,\n name: string\n): void {\n if (window.Shiny) {\n Shiny.inputBindings.register(new inputBindingClass(), \"bslib.\" + name);\n }\n}\n\n// Return true if the key exists on the object and the value is not undefined.\n//\n// This method is mainly used in input bindings' `receiveMessage` method.\n// Since we know that the values are sent by Shiny via `{jsonlite}`,\n// then we know that there are no `undefined` values. `null` is possible, but not `undefined`.\nfunction hasDefinedProperty<\n Prop extends keyof X,\n X extends { [key: string]: any }\n>(\n obj: X,\n prop: Prop\n): obj is X & { [key in NonNullable]: NotUndefined } {\n return (\n Object.prototype.hasOwnProperty.call(obj, prop) && obj[prop] !== undefined\n );\n}\n\n// TODO: Shiny should trigger resize events when the output\n// https://github.com/rstudio/shiny/pull/3682\nfunction doWindowResizeOnElementResize(el: HTMLElement): void {\n if ($(el).data(\"window-resize-observer\")) {\n return;\n }\n const resizeEvent = new Event(\"resize\");\n const ro = new ResizeObserver(() => {\n window.dispatchEvent(resizeEvent);\n });\n ro.observe(el);\n $(el).data(\"window-resize-observer\", ro);\n}\n\nexport {\n InputBinding,\n registerBinding,\n hasDefinedProperty,\n doWindowResizeOnElementResize,\n};\nexport type { HtmlDep };\n", "/**\n * The DocumentObserver class creates an observer detecting all DOM changes,\n * watching for added or removed elements (or their children) that match\n * the specified selectors. When a matching element is added or removed, the\n * respective callback function is called. The DocumentObserver is insensitive\n * to when it's instantiated; it always runs `added.callback()` once on the\n * document body (waiting for DOMContentLoaded if necessary) and then starts\n * watching the DOM for added/removed elements.\n */\n\ninterface DocumentObserverConfig {\n added: {\n selector: string;\n callback: (node: HTMLElement) => void;\n };\n removed: {\n selector: string;\n callback: (node: HTMLElement) => void;\n };\n}\n\nclass DocumentObserver {\n private observer: MutationObserver;\n private config: DocumentObserverConfig;\n\n constructor(config: DocumentObserverConfig) {\n const mutationObserverCallback = (mutationsList: MutationRecord[]) => {\n for (const mutation of mutationsList) {\n if (mutation.type === \"childList\") {\n for (const addedNode of mutation.addedNodes) {\n if (addedNode.nodeType !== Node.ELEMENT_NODE) continue;\n this._callback(addedNode as HTMLElement, this.config.added);\n }\n for (const removedNode of mutation.removedNodes) {\n if (removedNode.nodeType !== Node.ELEMENT_NODE) continue;\n this._callback(removedNode as HTMLElement, this.config.removed);\n }\n }\n }\n };\n\n this.config = config;\n this.observer = new MutationObserver(mutationObserverCallback);\n if (document.readyState === \"complete\") {\n this.connect();\n } else {\n document.addEventListener(\"DOMContentLoaded\", () => this.connect());\n }\n }\n\n private _callback(\n el: HTMLElement,\n {\n selector,\n callback,\n }: { selector: string; callback: (node: HTMLElement) => void }\n ) {\n const elMatches = el.matches(selector);\n const hasMatchingChild = el.querySelector(selector);\n if (!elMatches && !hasMatchingChild) return;\n if (elMatches) callback(el);\n if (!hasMatchingChild) return;\n el.querySelectorAll(selector).forEach((node) =>\n callback(node as HTMLElement)\n );\n }\n\n connect(): void {\n this._callback(document.body, this.config.added);\n this.observer.observe(document, { childList: true, subtree: true });\n }\n\n disconnect(): void {\n this.observer.disconnect();\n }\n}\n\nexport { DocumentObserver };\nexport type { DocumentObserverConfig };\n", "import {\n InputBinding,\n registerBinding,\n doWindowResizeOnElementResize,\n} from \"./_utils\";\n\nimport { DocumentObserver } from \"./_documentObserver\";\n\ntype SidebarMethod = \"close\" | \"open\" | \"toggle\";\n\ntype MessageData = {\n method: SidebarMethod;\n};\n\ntype SidebarComponents = {\n container: HTMLElement;\n main: HTMLElement;\n sidebar: HTMLElement;\n toggle: HTMLElement & {\n handlers?: { start: (ev: MouseEvent) => void; end: () => void };\n };\n isClosed: boolean;\n};\n\nclass Sidebar {\n public static readonly classes = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n LAYOUT: \"bslib-sidebar-layout\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n COLLAPSE: \"sidebar-collapsed\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n TRANSITIONING: \"transitioning\",\n };\n\n public static initCollapsible(container: HTMLElement): void {\n // Signal that this layout is initialized by removing the init attribute\n container.removeAttribute(\"data-bslib-sidebar-init\");\n\n Sidebar._initEventListeners(container);\n Sidebar._initSidebarCounters(container);\n Sidebar._initDesktop(container);\n }\n\n private static _initEventListeners(container: HTMLElement): void {\n const { sidebar, toggle } = Sidebar.components(container);\n\n // We store a reference to the sidebar toggle event handlers on the toggle\n // element itself, so that we can remove them later if needed.\n toggle.handlers = {\n start: (ev) => {\n ev.preventDefault();\n Sidebar.toggle(container, \"toggle\");\n },\n end: () => {\n Sidebar.finalizeState(container);\n $(sidebar).trigger(\"toggleCollapse.sidebarInputBinding\");\n },\n };\n\n toggle.addEventListener(\"click\", toggle.handlers.start);\n\n // Once the collapse transition completes (on the collapse toggle icon, which is\n // always guaranteed to transition), then remove the transitioning class\n toggle\n .querySelector(\".collapse-icon\")\n ?.addEventListener(\"transitionend\", toggle.handlers.end);\n }\n\n private static _initSidebarCounters(container: HTMLElement): void {\n // This function walks up the DOM tree, adding CSS variables to each\n // direct parent sidebar layout that count the layout's position in the\n // stack of nested layouts. We use these counters to keep the collapse\n // toggles from overlapping. Note that always-open sidebars that don't\n // have collapse toggles break the chain of nesting.\n\n const selectorChildLayouts =\n `.${Sidebar.classes.LAYOUT}` +\n \"> .main > \" +\n `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open=\"always\"])`;\n\n const isInnermostLayout =\n container.querySelector(selectorChildLayouts) === null;\n\n if (!isInnermostLayout) {\n // There are sidebar layouts nested within this layout; defer to children\n return;\n }\n\n function nextSidebarParent(el: HTMLElement | null): HTMLElement | null {\n el = el ? el.parentElement : null;\n if (el && el.classList.contains(\"main\")) {\n // .bslib-sidebar-layout > .main > .bslib-sidedbar-layout\n el = el.parentElement;\n }\n if (el && el.classList.contains(Sidebar.classes.LAYOUT)) {\n return el;\n }\n return null;\n }\n\n const layouts = [container];\n let parent = nextSidebarParent(container);\n\n while (parent) {\n // Add parent to front of layouts array, so we sort outer -> inner\n layouts.unshift(parent);\n parent = nextSidebarParent(parent);\n }\n\n const count = { left: 0, right: 0 };\n layouts.forEach(function (x: HTMLElement, i: number): void {\n x.style.setProperty(\"--bslib-sidebar-counter\", i.toString());\n const isRight = x.classList.contains(\"sidebar-right\");\n const thisCount = isRight ? count.right++ : count.left++;\n x.style.setProperty(\n \"--bslib-sidebar-overlap-counter\",\n thisCount.toString()\n );\n });\n }\n\n private static _initDesktop(container: HTMLElement): void {\n // If sidebar is marked open='desktop'...\n if (container.dataset.bslibSidebarOpen?.trim() !== \"desktop\") {\n return;\n }\n\n // then close sidebar on mobile\n const initCollapsed = window\n .getComputedStyle(container)\n .getPropertyValue(\"--bslib-sidebar-js-init-collapsed\");\n\n if (initCollapsed.trim() === \"true\") {\n Sidebar.toggle(container, \"close\");\n }\n }\n\n private static _findLayoutContainer(el: HTMLElement): HTMLElement {\n const container = el.closest(`.${Sidebar.classes.LAYOUT}`);\n if (!container) {\n throw new Error(\n `Expected container or direct ancestor with class ${Sidebar.classes.LAYOUT}`\n );\n }\n return container as HTMLElement;\n }\n\n public static components(el: HTMLElement): SidebarComponents {\n el = Sidebar._findLayoutContainer(el);\n\n // sidebar components\n const main = el.querySelector(\":scope > .main\") as HTMLElement;\n const sidebar = el.querySelector(\":scope > .sidebar\") as HTMLElement;\n const toggle = el.querySelector(\":scope > .collapse-toggle\") as HTMLElement;\n\n // sidebar state\n const isClosed = el.classList.contains(Sidebar.classes.COLLAPSE);\n\n return { container: el, main, sidebar, toggle, isClosed };\n }\n\n public static toggle(el: HTMLElement, method: SidebarMethod) {\n const { container, main, sidebar, isClosed } = Sidebar.components(el);\n\n if ([\"open\", \"close\", \"toggle\"].indexOf(method) === -1) {\n throw new Error(`Unknown method ${method}`);\n }\n\n if (method === \"toggle\") {\n method = isClosed ? \"open\" : \"close\";\n }\n\n if ((isClosed && method === \"close\") || (!isClosed && method === \"open\")) {\n // nothing to do, sidebar is already in the desired state\n return;\n }\n\n // Make sure outputs resize properly when the sidebar is opened/closed\n doWindowResizeOnElementResize(main);\n\n if (method === \"open\") {\n // unhide sidebar immediately when opening,\n // otherwise the sidebar is hidden on transitionend\n sidebar.hidden = false;\n }\n\n // Add a transitioning class just before adding COLLAPSE_CLASS since we want\n // some of the transitioning styles to apply before the collapse state\n container.classList.add(Sidebar.classes.TRANSITIONING);\n container.classList.toggle(Sidebar.classes.COLLAPSE);\n }\n\n public static finalizeState(el: HTMLElement, force = false): HTMLElement {\n const { container, sidebar, toggle, isClosed } = Sidebar.components(el);\n if (isClosed && !force) {\n setTimeout(() => Sidebar.finalizeState(el, true), 100);\n } else {\n container.classList.remove(Sidebar.classes.TRANSITIONING);\n sidebar.hidden = isClosed;\n toggle.ariaExpanded = isClosed ? \"false\" : \"true\";\n }\n return sidebar;\n }\n\n public static removeEventListeners(el: HTMLElement): void {\n // If a sidebar layout is removed from the page, we should also clean up any\n // event listeners that were added to the layout's components.\n const { toggle } = Sidebar.components(el);\n if (!toggle.handlers) return;\n toggle.removeEventListener(\"click\", toggle.handlers.start);\n toggle\n .querySelector(\".collapse-icon\")\n ?.removeEventListener(\"transitionend\", toggle.handlers.end);\n }\n}\n\nclass SidebarInputBinding extends InputBinding {\n find(scope: HTMLElement) {\n return $(scope).find(`.${Sidebar.classes.LAYOUT} > .bslib-sidebar-input`);\n }\n\n getValue(el: HTMLElement): boolean {\n return !$(el).parent().hasClass(Sidebar.classes.COLLAPSE);\n }\n\n setValue(el: HTMLElement, value: boolean): void {\n const method = value ? \"open\" : \"close\";\n this.receiveMessage(el, { method });\n }\n\n subscribe(el: HTMLElement, callback: (x: boolean) => void) {\n $(el).on(\n \"toggleCollapse.sidebarInputBinding\",\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n function (event) {\n callback(true);\n }\n );\n }\n\n unsubscribe(el: HTMLElement) {\n $(el).off(\".sidebarInputBinding\");\n }\n\n receiveMessage(el: HTMLElement, data: MessageData) {\n Sidebar.toggle(el, data.method);\n }\n}\n\nregisterBinding(SidebarInputBinding, \"sidebar\");\n\n// Initialize sidebars on page load or when added to the page ----------------\nconst observer = new DocumentObserver({\n added: {\n selector: `.${Sidebar.classes.LAYOUT}[data-bslib-sidebar-init]`,\n callback: (container) => {\n Sidebar.initCollapsible(container as HTMLElement);\n },\n },\n removed: {\n selector: `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open=\"always\"])`,\n callback: (container) => {\n Sidebar.removeEventListeners(container as HTMLElement);\n },\n },\n});\n\n// attach Sidebar class to window for global usage\n(window as any).bslib = (window as any).bslib || {};\n(window as any).bslib.Sidebar = Sidebar;\n(window as any).bslib.SidebarObserver = observer;\n"], - "mappings": "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", - "names": ["InputBinding", "registerBinding", "inputBindingClass", "name", "doWindowResizeOnElementResize", "el", "resizeEvent", "ro", "DocumentObserver", "config", "mutationObserverCallback", "mutationsList", "mutation", "addedNode", "removedNode", "el", "selector", "callback", "elMatches", "hasMatchingChild", "node", "_Sidebar", "container", "_a", "sidebar", "toggle", "ev", "selectorChildLayouts", "nextSidebarParent", "el", "layouts", "parent", "count", "x", "i", "thisCount", "main", "isClosed", "method", "doWindowResizeOnElementResize", "force", "Sidebar", "SidebarInputBinding", "InputBinding", "scope", "value", "callback", "event", "data", "registerBinding", "observer", "DocumentObserver"] + "sourcesContent": ["import type { HtmlDep } from \"rstudio-shiny/srcts/types/src/shiny/render\";\n\nimport type { InputBinding as InputBindingType } from \"rstudio-shiny/srcts/types/src/bindings/input\";\n\n// Exclude undefined from T\ntype NotUndefined = T extends undefined ? never : T;\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst InputBinding = (\n window.Shiny ? Shiny.InputBinding : class {}\n) as typeof InputBindingType;\n\nfunction registerBinding(\n inputBindingClass: new () => InputBindingType,\n name: string\n): void {\n if (window.Shiny) {\n Shiny.inputBindings.register(new inputBindingClass(), \"bslib.\" + name);\n }\n}\n\n// Return true if the key exists on the object and the value is not undefined.\n//\n// This method is mainly used in input bindings' `receiveMessage` method.\n// Since we know that the values are sent by Shiny via `{jsonlite}`,\n// then we know that there are no `undefined` values. `null` is possible, but not `undefined`.\nfunction hasDefinedProperty<\n Prop extends keyof X,\n X extends { [key: string]: any }\n>(\n obj: X,\n prop: Prop\n): obj is X & { [key in NonNullable]: NotUndefined } {\n return (\n Object.prototype.hasOwnProperty.call(obj, prop) && obj[prop] !== undefined\n );\n}\n\n// TODO: Shiny should trigger resize events when the output\n// https://github.com/rstudio/shiny/pull/3682\nfunction doWindowResizeOnElementResize(el: HTMLElement): void {\n if ($(el).data(\"window-resize-observer\")) {\n return;\n }\n const resizeEvent = new Event(\"resize\");\n const ro = new ResizeObserver(() => {\n window.dispatchEvent(resizeEvent);\n });\n ro.observe(el);\n $(el).data(\"window-resize-observer\", ro);\n}\n\nexport {\n InputBinding,\n registerBinding,\n hasDefinedProperty,\n doWindowResizeOnElementResize,\n};\nexport type { HtmlDep };\n", "/**\n * The DocumentObserver class creates an observer detecting all DOM changes,\n * watching for added or removed elements (or their children) that match\n * the specified selectors. When a matching element is added or removed, the\n * respective callback function is called. The DocumentObserver is insensitive\n * to when it's instantiated; it always runs `added.callback()` once on the\n * document body (waiting for DOMContentLoaded if necessary) and then starts\n * watching the DOM for added/removed elements.\n */\n\ninterface DocumentObserverConfig {\n added: {\n selector: string;\n callback: (node: HTMLElement) => void;\n };\n removed: {\n selector: string;\n callback: (node: HTMLElement) => void;\n };\n}\n\nclass DocumentObserver {\n private observer: MutationObserver;\n private config: DocumentObserverConfig;\n\n constructor(config: DocumentObserverConfig) {\n const mutationObserverCallback = (mutationsList: MutationRecord[]) => {\n for (const mutation of mutationsList) {\n if (mutation.type === \"childList\") {\n for (const addedNode of mutation.addedNodes) {\n if (addedNode.nodeType !== Node.ELEMENT_NODE) continue;\n this._callback(addedNode as HTMLElement, this.config.added);\n }\n for (const removedNode of mutation.removedNodes) {\n if (removedNode.nodeType !== Node.ELEMENT_NODE) continue;\n this._callback(removedNode as HTMLElement, this.config.removed);\n }\n }\n }\n };\n\n this.config = config;\n this.observer = new MutationObserver(mutationObserverCallback);\n if (document.readyState === \"complete\") {\n this.connect();\n } else {\n document.addEventListener(\"DOMContentLoaded\", () => this.connect());\n }\n }\n\n private _callback(\n el: HTMLElement,\n {\n selector,\n callback,\n }: { selector: string; callback: (node: HTMLElement) => void }\n ) {\n const elMatches = el.matches(selector);\n const hasMatchingChild = el.querySelector(selector);\n if (!elMatches && !hasMatchingChild) return;\n if (elMatches) callback(el);\n if (!hasMatchingChild) return;\n el.querySelectorAll(selector).forEach((node) =>\n callback(node as HTMLElement)\n );\n }\n\n connect(): void {\n this._callback(document.body, this.config.added);\n this.observer.observe(document, { childList: true, subtree: true });\n }\n\n disconnect(): void {\n this.observer.disconnect();\n }\n}\n\nexport { DocumentObserver };\nexport type { DocumentObserverConfig };\n", "import {\n InputBinding,\n registerBinding,\n doWindowResizeOnElementResize,\n} from \"./_utils\";\n\nimport { DocumentObserver } from \"./_documentObserver\";\n\ntype SidebarMethod = \"close\" | \"open\" | \"toggle\";\n\ntype MessageData = {\n method: SidebarMethod;\n};\n\ntype SidebarComponents = {\n container: HTMLElement;\n main: HTMLElement;\n sidebar: HTMLElement;\n toggle: HTMLElement & {\n handlers?: { start: (ev: MouseEvent) => void; end: () => void };\n };\n isClosed: boolean;\n};\n\nclass Sidebar {\n public static readonly classes = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n LAYOUT: \"bslib-sidebar-layout\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n COLLAPSE: \"sidebar-collapsed\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n TRANSITIONING: \"transitioning\",\n };\n\n public static observer: DocumentObserver = new DocumentObserver({\n added: {\n selector: `.${Sidebar.classes.LAYOUT}[data-bslib-sidebar-init]`,\n callback: (container) => {\n Sidebar.initCollapsible(container as HTMLElement);\n },\n },\n removed: {\n selector: `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open=\"always\"])`,\n callback: (container) => {\n Sidebar.removeEventListeners(container as HTMLElement);\n },\n },\n });\n\n public static initCollapsible(container: HTMLElement): void {\n // Signal that this layout is initialized by removing the init attribute\n container.removeAttribute(\"data-bslib-sidebar-init\");\n\n Sidebar._initEventListeners(container);\n Sidebar._initSidebarCounters(container);\n Sidebar._initDesktop(container);\n }\n\n private static _initEventListeners(container: HTMLElement): void {\n const { sidebar, toggle } = Sidebar.components(container);\n\n // We store a reference to the sidebar toggle event handlers on the toggle\n // element itself, so that we can remove them later if needed.\n toggle.handlers = {\n start: (ev) => {\n ev.preventDefault();\n Sidebar.toggle(container, \"toggle\");\n },\n end: () => {\n Sidebar.finalizeState(container);\n $(sidebar).trigger(\"toggleCollapse.sidebarInputBinding\");\n },\n };\n\n toggle.addEventListener(\"click\", toggle.handlers.start);\n\n // Once the collapse transition completes (on the collapse toggle icon, which is\n // always guaranteed to transition), then remove the transitioning class\n toggle\n .querySelector(\".collapse-icon\")\n ?.addEventListener(\"transitionend\", toggle.handlers.end);\n }\n\n private static _initSidebarCounters(container: HTMLElement): void {\n // This function walks up the DOM tree, adding CSS variables to each\n // direct parent sidebar layout that count the layout's position in the\n // stack of nested layouts. We use these counters to keep the collapse\n // toggles from overlapping. Note that always-open sidebars that don't\n // have collapse toggles break the chain of nesting.\n\n const selectorChildLayouts =\n `.${Sidebar.classes.LAYOUT}` +\n \"> .main > \" +\n `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open=\"always\"])`;\n\n const isInnermostLayout =\n container.querySelector(selectorChildLayouts) === null;\n\n if (!isInnermostLayout) {\n // There are sidebar layouts nested within this layout; defer to children\n return;\n }\n\n function nextSidebarParent(el: HTMLElement | null): HTMLElement | null {\n el = el ? el.parentElement : null;\n if (el && el.classList.contains(\"main\")) {\n // .bslib-sidebar-layout > .main > .bslib-sidedbar-layout\n el = el.parentElement;\n }\n if (el && el.classList.contains(Sidebar.classes.LAYOUT)) {\n return el;\n }\n return null;\n }\n\n const layouts = [container];\n let parent = nextSidebarParent(container);\n\n while (parent) {\n // Add parent to front of layouts array, so we sort outer -> inner\n layouts.unshift(parent);\n parent = nextSidebarParent(parent);\n }\n\n const count = { left: 0, right: 0 };\n layouts.forEach(function (x: HTMLElement, i: number): void {\n x.style.setProperty(\"--bslib-sidebar-counter\", i.toString());\n const isRight = x.classList.contains(\"sidebar-right\");\n const thisCount = isRight ? count.right++ : count.left++;\n x.style.setProperty(\n \"--bslib-sidebar-overlap-counter\",\n thisCount.toString()\n );\n });\n }\n\n private static _initDesktop(container: HTMLElement): void {\n // If sidebar is marked open='desktop'...\n if (container.dataset.bslibSidebarOpen?.trim() !== \"desktop\") {\n return;\n }\n\n // then close sidebar on mobile\n const initCollapsed = window\n .getComputedStyle(container)\n .getPropertyValue(\"--bslib-sidebar-js-init-collapsed\");\n\n if (initCollapsed.trim() === \"true\") {\n Sidebar.toggle(container, \"close\");\n }\n }\n\n private static _findLayoutContainer(el: HTMLElement): HTMLElement {\n const container = el.closest(`.${Sidebar.classes.LAYOUT}`);\n if (!container) {\n throw new Error(\n `Expected container or direct ancestor with class ${Sidebar.classes.LAYOUT}`\n );\n }\n return container as HTMLElement;\n }\n\n public static components(el: HTMLElement): SidebarComponents {\n el = Sidebar._findLayoutContainer(el);\n\n // sidebar components\n const main = el.querySelector(\":scope > .main\") as HTMLElement;\n const sidebar = el.querySelector(\":scope > .sidebar\") as HTMLElement;\n const toggle = el.querySelector(\":scope > .collapse-toggle\") as HTMLElement;\n\n // sidebar state\n const isClosed = el.classList.contains(Sidebar.classes.COLLAPSE);\n\n return { container: el, main, sidebar, toggle, isClosed };\n }\n\n public static toggle(el: HTMLElement, method: SidebarMethod) {\n const { container, main, sidebar, isClosed } = Sidebar.components(el);\n\n if ([\"open\", \"close\", \"toggle\"].indexOf(method) === -1) {\n throw new Error(`Unknown method ${method}`);\n }\n\n if (method === \"toggle\") {\n method = isClosed ? \"open\" : \"close\";\n }\n\n if ((isClosed && method === \"close\") || (!isClosed && method === \"open\")) {\n // nothing to do, sidebar is already in the desired state\n return;\n }\n\n // Make sure outputs resize properly when the sidebar is opened/closed\n doWindowResizeOnElementResize(main);\n\n if (method === \"open\") {\n // unhide sidebar immediately when opening,\n // otherwise the sidebar is hidden on transitionend\n sidebar.hidden = false;\n }\n\n // Add a transitioning class just before adding COLLAPSE_CLASS since we want\n // some of the transitioning styles to apply before the collapse state\n container.classList.add(Sidebar.classes.TRANSITIONING);\n container.classList.toggle(Sidebar.classes.COLLAPSE);\n }\n\n public static finalizeState(el: HTMLElement, force = false): HTMLElement {\n const { container, sidebar, toggle, isClosed } = Sidebar.components(el);\n if (isClosed && !force) {\n setTimeout(() => Sidebar.finalizeState(el, true), 100);\n } else {\n container.classList.remove(Sidebar.classes.TRANSITIONING);\n sidebar.hidden = isClosed;\n toggle.ariaExpanded = isClosed ? \"false\" : \"true\";\n }\n return sidebar;\n }\n\n public static removeEventListeners(el: HTMLElement): void {\n // If a sidebar layout is removed from the page, we should also clean up any\n // event listeners that were added to the layout's components.\n const { toggle } = Sidebar.components(el);\n if (!toggle.handlers) return;\n toggle.removeEventListener(\"click\", toggle.handlers.start);\n toggle\n .querySelector(\".collapse-icon\")\n ?.removeEventListener(\"transitionend\", toggle.handlers.end);\n }\n}\n\nclass SidebarInputBinding extends InputBinding {\n find(scope: HTMLElement) {\n return $(scope).find(`.${Sidebar.classes.LAYOUT} > .bslib-sidebar-input`);\n }\n\n getValue(el: HTMLElement): boolean {\n return !$(el).parent().hasClass(Sidebar.classes.COLLAPSE);\n }\n\n setValue(el: HTMLElement, value: boolean): void {\n const method = value ? \"open\" : \"close\";\n this.receiveMessage(el, { method });\n }\n\n subscribe(el: HTMLElement, callback: (x: boolean) => void) {\n $(el).on(\n \"toggleCollapse.sidebarInputBinding\",\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n function (event) {\n callback(true);\n }\n );\n }\n\n unsubscribe(el: HTMLElement) {\n $(el).off(\".sidebarInputBinding\");\n }\n\n receiveMessage(el: HTMLElement, data: MessageData) {\n Sidebar.toggle(el, data.method);\n }\n}\n\nregisterBinding(SidebarInputBinding, \"sidebar\");\n\n// attach Sidebar class to window for global usage\n(window as any).bslib = (window as any).bslib || {};\n(window as any).bslib.Sidebar = Sidebar;\n"], + "mappings": "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", + "names": ["InputBinding", "registerBinding", "inputBindingClass", "name", "doWindowResizeOnElementResize", "el", "resizeEvent", "ro", "DocumentObserver", "config", "mutationObserverCallback", "mutationsList", "mutation", "addedNode", "removedNode", "el", "selector", "callback", "elMatches", "hasMatchingChild", "node", "_Sidebar", "container", "_a", "sidebar", "toggle", "ev", "selectorChildLayouts", "nextSidebarParent", "el", "layouts", "parent", "count", "x", "i", "thisCount", "main", "isClosed", "method", "doWindowResizeOnElementResize", "force", "Sidebar", "DocumentObserver", "SidebarInputBinding", "InputBinding", "scope", "value", "callback", "event", "data", "registerBinding"] } diff --git a/srcts/src/components/sidebar.ts b/srcts/src/components/sidebar.ts index 0ae50ad47..7131914f3 100644 --- a/srcts/src/components/sidebar.ts +++ b/srcts/src/components/sidebar.ts @@ -32,6 +32,21 @@ class Sidebar { TRANSITIONING: "transitioning", }; + public static observer: DocumentObserver = new DocumentObserver({ + added: { + selector: `.${Sidebar.classes.LAYOUT}[data-bslib-sidebar-init]`, + callback: (container) => { + Sidebar.initCollapsible(container as HTMLElement); + }, + }, + removed: { + selector: `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`, + callback: (container) => { + Sidebar.removeEventListeners(container as HTMLElement); + }, + }, + }); + public static initCollapsible(container: HTMLElement): void { // Signal that this layout is initialized by removing the init attribute container.removeAttribute("data-bslib-sidebar-init"); @@ -249,23 +264,6 @@ class SidebarInputBinding extends InputBinding { registerBinding(SidebarInputBinding, "sidebar"); -// Initialize sidebars on page load or when added to the page ---------------- -const observer = new DocumentObserver({ - added: { - selector: `.${Sidebar.classes.LAYOUT}[data-bslib-sidebar-init]`, - callback: (container) => { - Sidebar.initCollapsible(container as HTMLElement); - }, - }, - removed: { - selector: `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`, - callback: (container) => { - Sidebar.removeEventListeners(container as HTMLElement); - }, - }, -}); - // attach Sidebar class to window for global usage (window as any).bslib = (window as any).bslib || {}; (window as any).bslib.Sidebar = Sidebar; -(window as any).bslib.SidebarObserver = observer; From 041ca8f1a78ca5371718bc60bb53690cc9db0c18 Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Tue, 25 Apr 2023 14:56:27 -0400 Subject: [PATCH 11/76] Add delay in the `transitionend` handler --- inst/components/sidebar.min.js | 2 +- inst/components/sidebar.min.js.map | 6 +++--- srcts/src/components/sidebar.ts | 25 ++++++++++++++----------- 3 files changed, 18 insertions(+), 15 deletions(-) diff --git a/inst/components/sidebar.min.js b/inst/components/sidebar.min.js index 063b38275..58ca3cab9 100644 --- a/inst/components/sidebar.min.js +++ b/inst/components/sidebar.min.js @@ -1,3 +1,3 @@ /*! bslib 0.4.2.9000 | (c) 2012-2023 RStudio, PBC. | License: MIT + file LICENSE */ -"use strict";(()=>{var p=window.Shiny?Shiny.InputBinding:class{};function m(d,e){window.Shiny&&Shiny.inputBindings.register(new d,"bslib."+e)}function g(d){if($(d).data("window-resize-observer"))return;let e=new Event("resize"),t=new ResizeObserver(()=>{window.dispatchEvent(e)});t.observe(d),$(d).data("window-resize-observer",t)}var c=class{constructor(e){let t=n=>{for(let i of n)if(i.type==="childList"){for(let o of i.addedNodes)o.nodeType===Node.ELEMENT_NODE&&this._callback(o,this.config.added);for(let o of i.removedNodes)o.nodeType===Node.ELEMENT_NODE&&this._callback(o,this.config.removed)}};this.config=e,this.observer=new MutationObserver(t),document.readyState==="complete"?this.connect():document.addEventListener("DOMContentLoaded",()=>this.connect())}_callback(e,{selector:t,callback:n}){let i=e.matches(t),o=e.querySelector(t);!i&&!o||(i&&n(e),o&&e.querySelectorAll(t).forEach(r=>n(r)))}connect(){this._callback(document.body,this.config.added),this.observer.observe(document,{childList:!0,subtree:!0})}disconnect(){this.observer.disconnect()}};var s=class{static initCollapsible(e){e.removeAttribute("data-bslib-sidebar-init"),s._initEventListeners(e),s._initSidebarCounters(e),s._initDesktop(e)}static _initEventListeners(e){var i;let{sidebar:t,toggle:n}=s.components(e);n.handlers={start:o=>{o.preventDefault(),s.toggle(e,"toggle")},end:()=>{s.finalizeState(e),$(t).trigger("toggleCollapse.sidebarInputBinding")}},n.addEventListener("click",n.handlers.start),(i=n.querySelector(".collapse-icon"))==null||i.addEventListener("transitionend",n.handlers.end)}static _initSidebarCounters(e){let t=`.${s.classes.LAYOUT}> .main > .${s.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`;if(!(e.querySelector(t)===null))return;function i(a){return a=a?a.parentElement:null,a&&a.classList.contains("main")&&(a=a.parentElement),a&&a.classList.contains(s.classes.LAYOUT)?a:null}let o=[e],r=i(e);for(;r;)o.unshift(r),r=i(r);let b={left:0,right:0};o.forEach(function(a,L){a.style.setProperty("--bslib-sidebar-counter",L.toString());let f=a.classList.contains("sidebar-right")?b.right++:b.left++;a.style.setProperty("--bslib-sidebar-overlap-counter",f.toString())})}static _initDesktop(e){var n;if(((n=e.dataset.bslibSidebarOpen)==null?void 0:n.trim())!=="desktop")return;window.getComputedStyle(e).getPropertyValue("--bslib-sidebar-js-init-collapsed").trim()==="true"&&s.toggle(e,"close")}static _findLayoutContainer(e){let t=e.closest(`.${s.classes.LAYOUT}`);if(!t)throw new Error(`Expected container or direct ancestor with class ${s.classes.LAYOUT}`);return t}static components(e){e=s._findLayoutContainer(e);let t=e.querySelector(":scope > .main"),n=e.querySelector(":scope > .sidebar"),i=e.querySelector(":scope > .collapse-toggle"),o=e.classList.contains(s.classes.COLLAPSE);return{container:e,main:t,sidebar:n,toggle:i,isClosed:o}}static toggle(e,t){let{container:n,main:i,sidebar:o,isClosed:r}=s.components(e);if(["open","close","toggle"].indexOf(t)===-1)throw new Error(`Unknown method ${t}`);t==="toggle"&&(t=r?"open":"close"),!(r&&t==="close"||!r&&t==="open")&&(g(i),t==="open"&&(o.hidden=!1),n.classList.add(s.classes.TRANSITIONING),n.classList.toggle(s.classes.COLLAPSE))}static finalizeState(e,t=!1){let{container:n,sidebar:i,toggle:o,isClosed:r}=s.components(e);return r&&!t?setTimeout(()=>s.finalizeState(e,!0),100):(n.classList.remove(s.classes.TRANSITIONING),i.hidden=r,o.ariaExpanded=r?"false":"true"),i}static removeEventListeners(e){var n;let{toggle:t}=s.components(e);t.handlers&&(t.removeEventListener("click",t.handlers.start),(n=t.querySelector(".collapse-icon"))==null||n.removeEventListener("transitionend",t.handlers.end))}},l=s;l.classes={LAYOUT:"bslib-sidebar-layout",COLLAPSE:"sidebar-collapsed",TRANSITIONING:"transitioning"},l.observer=new c({added:{selector:`.${s.classes.LAYOUT}[data-bslib-sidebar-init]`,callback:e=>{s.initCollapsible(e)}},removed:{selector:`.${s.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`,callback:e=>{s.removeEventListeners(e)}}});var u=class extends p{find(e){return $(e).find(`.${l.classes.LAYOUT} > .bslib-sidebar-input`)}getValue(e){return!$(e).parent().hasClass(l.classes.COLLAPSE)}setValue(e,t){let n=t?"open":"close";this.receiveMessage(e,{method:n})}subscribe(e,t){$(e).on("toggleCollapse.sidebarInputBinding",function(n){t(!0)})}unsubscribe(e){$(e).off(".sidebarInputBinding")}receiveMessage(e,t){l.toggle(e,t.method)}};m(u,"sidebar");window.bslib=window.bslib||{};window.bslib.Sidebar=l;})(); +"use strict";(()=>{var u=window.Shiny?Shiny.InputBinding:class{};function m(d,e){window.Shiny&&Shiny.inputBindings.register(new d,"bslib."+e)}function g(d){if($(d).data("window-resize-observer"))return;let e=new Event("resize"),t=new ResizeObserver(()=>{window.dispatchEvent(e)});t.observe(d),$(d).data("window-resize-observer",t)}var c=class{constructor(e){let t=n=>{for(let o of n)if(o.type==="childList"){for(let i of o.addedNodes)i.nodeType===Node.ELEMENT_NODE&&this._callback(i,this.config.added);for(let i of o.removedNodes)i.nodeType===Node.ELEMENT_NODE&&this._callback(i,this.config.removed)}};this.config=e,this.observer=new MutationObserver(t),document.readyState==="complete"?this.connect():document.addEventListener("DOMContentLoaded",()=>this.connect())}_callback(e,{selector:t,callback:n}){let o=e.matches(t),i=e.querySelector(t);!o&&!i||(o&&n(e),i&&e.querySelectorAll(t).forEach(a=>n(a)))}connect(){this._callback(document.body,this.config.added),this.observer.observe(document,{childList:!0,subtree:!0})}disconnect(){this.observer.disconnect()}};var s=class{static initCollapsible(e){e.removeAttribute("data-bslib-sidebar-init"),s._initEventListeners(e),s._initSidebarCounters(e),s._initDesktop(e)}static _initEventListeners(e){var o;let{sidebar:t,toggle:n}=s.components(e);n.handlers={start:i=>{i.preventDefault(),s.toggle(e,"toggle")},end:()=>{let{isClosed:i}=s.components(e);setTimeout(()=>{s.finalizeState(e),$(t).trigger("toggleCollapse.sidebarInputBinding")},i?100:0)}},n.addEventListener("click",n.handlers.start),(o=n.querySelector(".collapse-icon"))==null||o.addEventListener("transitionend",n.handlers.end)}static _initSidebarCounters(e){let t=`.${s.classes.LAYOUT}> .main > .${s.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`;if(!(e.querySelector(t)===null))return;function o(r){return r=r?r.parentElement:null,r&&r.classList.contains("main")&&(r=r.parentElement),r&&r.classList.contains(s.classes.LAYOUT)?r:null}let i=[e],a=o(e);for(;a;)i.unshift(a),a=o(a);let p={left:0,right:0};i.forEach(function(r,L){r.style.setProperty("--bslib-sidebar-counter",L.toString());let v=r.classList.contains("sidebar-right")?p.right++:p.left++;r.style.setProperty("--bslib-sidebar-overlap-counter",v.toString())})}static _initDesktop(e){var n;if(((n=e.dataset.bslibSidebarOpen)==null?void 0:n.trim())!=="desktop")return;window.getComputedStyle(e).getPropertyValue("--bslib-sidebar-js-init-collapsed").trim()==="true"&&s.toggle(e,"close")}static _findLayoutContainer(e){let t=e.closest(`.${s.classes.LAYOUT}`);if(!t)throw new Error(`Expected container or direct ancestor with class ${s.classes.LAYOUT}`);return t}static components(e){e=s._findLayoutContainer(e);let t=e.querySelector(":scope > .main"),n=e.querySelector(":scope > .sidebar"),o=e.querySelector(":scope > .collapse-toggle"),i=e.classList.contains(s.classes.COLLAPSE);return{container:e,main:t,sidebar:n,toggle:o,isClosed:i}}static toggle(e,t){let{container:n,main:o,sidebar:i,isClosed:a}=s.components(e);if(["open","close","toggle"].indexOf(t)===-1)throw new Error(`Unknown method ${t}`);t==="toggle"&&(t=a?"open":"close"),!(a&&t==="close"||!a&&t==="open")&&(g(o),t==="open"&&(i.hidden=!1),n.classList.add(s.classes.TRANSITIONING),n.classList.toggle(s.classes.COLLAPSE))}static finalizeState(e,t=!1){let{container:n,sidebar:o,toggle:i,isClosed:a}=s.components(e);n.classList.remove(s.classes.TRANSITIONING),o.hidden=a,i.ariaExpanded=a?"false":"true"}static removeEventListeners(e){var n;let{toggle:t}=s.components(e);t.handlers&&(t.removeEventListener("click",t.handlers.start),(n=t.querySelector(".collapse-icon"))==null||n.removeEventListener("transitionend",t.handlers.end))}},l=s;l.classes={LAYOUT:"bslib-sidebar-layout",COLLAPSE:"sidebar-collapsed",TRANSITIONING:"transitioning"},l.observer=new c({added:{selector:`.${s.classes.LAYOUT}[data-bslib-sidebar-init]`,callback:e=>{s.initCollapsible(e)}},removed:{selector:`.${s.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`,callback:e=>{s.removeEventListeners(e)}}});var b=class extends u{find(e){return $(e).find(`.${l.classes.LAYOUT} > .bslib-sidebar-input`)}getValue(e){return!$(e).parent().hasClass(l.classes.COLLAPSE)}setValue(e,t){let n=t?"open":"close";this.receiveMessage(e,{method:n})}subscribe(e,t){$(e).on("toggleCollapse.sidebarInputBinding",function(n){t(!0)})}unsubscribe(e){$(e).off(".sidebarInputBinding")}receiveMessage(e,t){l.toggle(e,t.method)}};m(b,"sidebar");window.bslib=window.bslib||{};window.bslib.Sidebar=l;})(); //# sourceMappingURL=sidebar.min.js.map diff --git a/inst/components/sidebar.min.js.map b/inst/components/sidebar.min.js.map index c5a7bc604..8713ae725 100644 --- a/inst/components/sidebar.min.js.map +++ b/inst/components/sidebar.min.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": ["../../srcts/src/components/_utils.ts", "../../srcts/src/components/_documentObserver.ts", "../../srcts/src/components/sidebar.ts"], - "sourcesContent": ["import type { HtmlDep } from \"rstudio-shiny/srcts/types/src/shiny/render\";\n\nimport type { InputBinding as InputBindingType } from \"rstudio-shiny/srcts/types/src/bindings/input\";\n\n// Exclude undefined from T\ntype NotUndefined = T extends undefined ? never : T;\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst InputBinding = (\n window.Shiny ? Shiny.InputBinding : class {}\n) as typeof InputBindingType;\n\nfunction registerBinding(\n inputBindingClass: new () => InputBindingType,\n name: string\n): void {\n if (window.Shiny) {\n Shiny.inputBindings.register(new inputBindingClass(), \"bslib.\" + name);\n }\n}\n\n// Return true if the key exists on the object and the value is not undefined.\n//\n// This method is mainly used in input bindings' `receiveMessage` method.\n// Since we know that the values are sent by Shiny via `{jsonlite}`,\n// then we know that there are no `undefined` values. `null` is possible, but not `undefined`.\nfunction hasDefinedProperty<\n Prop extends keyof X,\n X extends { [key: string]: any }\n>(\n obj: X,\n prop: Prop\n): obj is X & { [key in NonNullable]: NotUndefined } {\n return (\n Object.prototype.hasOwnProperty.call(obj, prop) && obj[prop] !== undefined\n );\n}\n\n// TODO: Shiny should trigger resize events when the output\n// https://github.com/rstudio/shiny/pull/3682\nfunction doWindowResizeOnElementResize(el: HTMLElement): void {\n if ($(el).data(\"window-resize-observer\")) {\n return;\n }\n const resizeEvent = new Event(\"resize\");\n const ro = new ResizeObserver(() => {\n window.dispatchEvent(resizeEvent);\n });\n ro.observe(el);\n $(el).data(\"window-resize-observer\", ro);\n}\n\nexport {\n InputBinding,\n registerBinding,\n hasDefinedProperty,\n doWindowResizeOnElementResize,\n};\nexport type { HtmlDep };\n", "/**\n * The DocumentObserver class creates an observer detecting all DOM changes,\n * watching for added or removed elements (or their children) that match\n * the specified selectors. When a matching element is added or removed, the\n * respective callback function is called. The DocumentObserver is insensitive\n * to when it's instantiated; it always runs `added.callback()` once on the\n * document body (waiting for DOMContentLoaded if necessary) and then starts\n * watching the DOM for added/removed elements.\n */\n\ninterface DocumentObserverConfig {\n added: {\n selector: string;\n callback: (node: HTMLElement) => void;\n };\n removed: {\n selector: string;\n callback: (node: HTMLElement) => void;\n };\n}\n\nclass DocumentObserver {\n private observer: MutationObserver;\n private config: DocumentObserverConfig;\n\n constructor(config: DocumentObserverConfig) {\n const mutationObserverCallback = (mutationsList: MutationRecord[]) => {\n for (const mutation of mutationsList) {\n if (mutation.type === \"childList\") {\n for (const addedNode of mutation.addedNodes) {\n if (addedNode.nodeType !== Node.ELEMENT_NODE) continue;\n this._callback(addedNode as HTMLElement, this.config.added);\n }\n for (const removedNode of mutation.removedNodes) {\n if (removedNode.nodeType !== Node.ELEMENT_NODE) continue;\n this._callback(removedNode as HTMLElement, this.config.removed);\n }\n }\n }\n };\n\n this.config = config;\n this.observer = new MutationObserver(mutationObserverCallback);\n if (document.readyState === \"complete\") {\n this.connect();\n } else {\n document.addEventListener(\"DOMContentLoaded\", () => this.connect());\n }\n }\n\n private _callback(\n el: HTMLElement,\n {\n selector,\n callback,\n }: { selector: string; callback: (node: HTMLElement) => void }\n ) {\n const elMatches = el.matches(selector);\n const hasMatchingChild = el.querySelector(selector);\n if (!elMatches && !hasMatchingChild) return;\n if (elMatches) callback(el);\n if (!hasMatchingChild) return;\n el.querySelectorAll(selector).forEach((node) =>\n callback(node as HTMLElement)\n );\n }\n\n connect(): void {\n this._callback(document.body, this.config.added);\n this.observer.observe(document, { childList: true, subtree: true });\n }\n\n disconnect(): void {\n this.observer.disconnect();\n }\n}\n\nexport { DocumentObserver };\nexport type { DocumentObserverConfig };\n", "import {\n InputBinding,\n registerBinding,\n doWindowResizeOnElementResize,\n} from \"./_utils\";\n\nimport { DocumentObserver } from \"./_documentObserver\";\n\ntype SidebarMethod = \"close\" | \"open\" | \"toggle\";\n\ntype MessageData = {\n method: SidebarMethod;\n};\n\ntype SidebarComponents = {\n container: HTMLElement;\n main: HTMLElement;\n sidebar: HTMLElement;\n toggle: HTMLElement & {\n handlers?: { start: (ev: MouseEvent) => void; end: () => void };\n };\n isClosed: boolean;\n};\n\nclass Sidebar {\n public static readonly classes = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n LAYOUT: \"bslib-sidebar-layout\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n COLLAPSE: \"sidebar-collapsed\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n TRANSITIONING: \"transitioning\",\n };\n\n public static observer: DocumentObserver = new DocumentObserver({\n added: {\n selector: `.${Sidebar.classes.LAYOUT}[data-bslib-sidebar-init]`,\n callback: (container) => {\n Sidebar.initCollapsible(container as HTMLElement);\n },\n },\n removed: {\n selector: `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open=\"always\"])`,\n callback: (container) => {\n Sidebar.removeEventListeners(container as HTMLElement);\n },\n },\n });\n\n public static initCollapsible(container: HTMLElement): void {\n // Signal that this layout is initialized by removing the init attribute\n container.removeAttribute(\"data-bslib-sidebar-init\");\n\n Sidebar._initEventListeners(container);\n Sidebar._initSidebarCounters(container);\n Sidebar._initDesktop(container);\n }\n\n private static _initEventListeners(container: HTMLElement): void {\n const { sidebar, toggle } = Sidebar.components(container);\n\n // We store a reference to the sidebar toggle event handlers on the toggle\n // element itself, so that we can remove them later if needed.\n toggle.handlers = {\n start: (ev) => {\n ev.preventDefault();\n Sidebar.toggle(container, \"toggle\");\n },\n end: () => {\n Sidebar.finalizeState(container);\n $(sidebar).trigger(\"toggleCollapse.sidebarInputBinding\");\n },\n };\n\n toggle.addEventListener(\"click\", toggle.handlers.start);\n\n // Once the collapse transition completes (on the collapse toggle icon, which is\n // always guaranteed to transition), then remove the transitioning class\n toggle\n .querySelector(\".collapse-icon\")\n ?.addEventListener(\"transitionend\", toggle.handlers.end);\n }\n\n private static _initSidebarCounters(container: HTMLElement): void {\n // This function walks up the DOM tree, adding CSS variables to each\n // direct parent sidebar layout that count the layout's position in the\n // stack of nested layouts. We use these counters to keep the collapse\n // toggles from overlapping. Note that always-open sidebars that don't\n // have collapse toggles break the chain of nesting.\n\n const selectorChildLayouts =\n `.${Sidebar.classes.LAYOUT}` +\n \"> .main > \" +\n `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open=\"always\"])`;\n\n const isInnermostLayout =\n container.querySelector(selectorChildLayouts) === null;\n\n if (!isInnermostLayout) {\n // There are sidebar layouts nested within this layout; defer to children\n return;\n }\n\n function nextSidebarParent(el: HTMLElement | null): HTMLElement | null {\n el = el ? el.parentElement : null;\n if (el && el.classList.contains(\"main\")) {\n // .bslib-sidebar-layout > .main > .bslib-sidedbar-layout\n el = el.parentElement;\n }\n if (el && el.classList.contains(Sidebar.classes.LAYOUT)) {\n return el;\n }\n return null;\n }\n\n const layouts = [container];\n let parent = nextSidebarParent(container);\n\n while (parent) {\n // Add parent to front of layouts array, so we sort outer -> inner\n layouts.unshift(parent);\n parent = nextSidebarParent(parent);\n }\n\n const count = { left: 0, right: 0 };\n layouts.forEach(function (x: HTMLElement, i: number): void {\n x.style.setProperty(\"--bslib-sidebar-counter\", i.toString());\n const isRight = x.classList.contains(\"sidebar-right\");\n const thisCount = isRight ? count.right++ : count.left++;\n x.style.setProperty(\n \"--bslib-sidebar-overlap-counter\",\n thisCount.toString()\n );\n });\n }\n\n private static _initDesktop(container: HTMLElement): void {\n // If sidebar is marked open='desktop'...\n if (container.dataset.bslibSidebarOpen?.trim() !== \"desktop\") {\n return;\n }\n\n // then close sidebar on mobile\n const initCollapsed = window\n .getComputedStyle(container)\n .getPropertyValue(\"--bslib-sidebar-js-init-collapsed\");\n\n if (initCollapsed.trim() === \"true\") {\n Sidebar.toggle(container, \"close\");\n }\n }\n\n private static _findLayoutContainer(el: HTMLElement): HTMLElement {\n const container = el.closest(`.${Sidebar.classes.LAYOUT}`);\n if (!container) {\n throw new Error(\n `Expected container or direct ancestor with class ${Sidebar.classes.LAYOUT}`\n );\n }\n return container as HTMLElement;\n }\n\n public static components(el: HTMLElement): SidebarComponents {\n el = Sidebar._findLayoutContainer(el);\n\n // sidebar components\n const main = el.querySelector(\":scope > .main\") as HTMLElement;\n const sidebar = el.querySelector(\":scope > .sidebar\") as HTMLElement;\n const toggle = el.querySelector(\":scope > .collapse-toggle\") as HTMLElement;\n\n // sidebar state\n const isClosed = el.classList.contains(Sidebar.classes.COLLAPSE);\n\n return { container: el, main, sidebar, toggle, isClosed };\n }\n\n public static toggle(el: HTMLElement, method: SidebarMethod) {\n const { container, main, sidebar, isClosed } = Sidebar.components(el);\n\n if ([\"open\", \"close\", \"toggle\"].indexOf(method) === -1) {\n throw new Error(`Unknown method ${method}`);\n }\n\n if (method === \"toggle\") {\n method = isClosed ? \"open\" : \"close\";\n }\n\n if ((isClosed && method === \"close\") || (!isClosed && method === \"open\")) {\n // nothing to do, sidebar is already in the desired state\n return;\n }\n\n // Make sure outputs resize properly when the sidebar is opened/closed\n doWindowResizeOnElementResize(main);\n\n if (method === \"open\") {\n // unhide sidebar immediately when opening,\n // otherwise the sidebar is hidden on transitionend\n sidebar.hidden = false;\n }\n\n // Add a transitioning class just before adding COLLAPSE_CLASS since we want\n // some of the transitioning styles to apply before the collapse state\n container.classList.add(Sidebar.classes.TRANSITIONING);\n container.classList.toggle(Sidebar.classes.COLLAPSE);\n }\n\n public static finalizeState(el: HTMLElement, force = false): HTMLElement {\n const { container, sidebar, toggle, isClosed } = Sidebar.components(el);\n if (isClosed && !force) {\n setTimeout(() => Sidebar.finalizeState(el, true), 100);\n } else {\n container.classList.remove(Sidebar.classes.TRANSITIONING);\n sidebar.hidden = isClosed;\n toggle.ariaExpanded = isClosed ? \"false\" : \"true\";\n }\n return sidebar;\n }\n\n public static removeEventListeners(el: HTMLElement): void {\n // If a sidebar layout is removed from the page, we should also clean up any\n // event listeners that were added to the layout's components.\n const { toggle } = Sidebar.components(el);\n if (!toggle.handlers) return;\n toggle.removeEventListener(\"click\", toggle.handlers.start);\n toggle\n .querySelector(\".collapse-icon\")\n ?.removeEventListener(\"transitionend\", toggle.handlers.end);\n }\n}\n\nclass SidebarInputBinding extends InputBinding {\n find(scope: HTMLElement) {\n return $(scope).find(`.${Sidebar.classes.LAYOUT} > .bslib-sidebar-input`);\n }\n\n getValue(el: HTMLElement): boolean {\n return !$(el).parent().hasClass(Sidebar.classes.COLLAPSE);\n }\n\n setValue(el: HTMLElement, value: boolean): void {\n const method = value ? \"open\" : \"close\";\n this.receiveMessage(el, { method });\n }\n\n subscribe(el: HTMLElement, callback: (x: boolean) => void) {\n $(el).on(\n \"toggleCollapse.sidebarInputBinding\",\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n function (event) {\n callback(true);\n }\n );\n }\n\n unsubscribe(el: HTMLElement) {\n $(el).off(\".sidebarInputBinding\");\n }\n\n receiveMessage(el: HTMLElement, data: MessageData) {\n Sidebar.toggle(el, data.method);\n }\n}\n\nregisterBinding(SidebarInputBinding, \"sidebar\");\n\n// attach Sidebar class to window for global usage\n(window as any).bslib = (window as any).bslib || {};\n(window as any).bslib.Sidebar = Sidebar;\n"], - "mappings": "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", - "names": ["InputBinding", "registerBinding", "inputBindingClass", "name", "doWindowResizeOnElementResize", "el", "resizeEvent", "ro", "DocumentObserver", "config", "mutationObserverCallback", "mutationsList", "mutation", "addedNode", "removedNode", "el", "selector", "callback", "elMatches", "hasMatchingChild", "node", "_Sidebar", "container", "_a", "sidebar", "toggle", "ev", "selectorChildLayouts", "nextSidebarParent", "el", "layouts", "parent", "count", "x", "i", "thisCount", "main", "isClosed", "method", "doWindowResizeOnElementResize", "force", "Sidebar", "DocumentObserver", "SidebarInputBinding", "InputBinding", "scope", "value", "callback", "event", "data", "registerBinding"] + "sourcesContent": ["import type { HtmlDep } from \"rstudio-shiny/srcts/types/src/shiny/render\";\n\nimport type { InputBinding as InputBindingType } from \"rstudio-shiny/srcts/types/src/bindings/input\";\n\n// Exclude undefined from T\ntype NotUndefined = T extends undefined ? never : T;\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst InputBinding = (\n window.Shiny ? Shiny.InputBinding : class {}\n) as typeof InputBindingType;\n\nfunction registerBinding(\n inputBindingClass: new () => InputBindingType,\n name: string\n): void {\n if (window.Shiny) {\n Shiny.inputBindings.register(new inputBindingClass(), \"bslib.\" + name);\n }\n}\n\n// Return true if the key exists on the object and the value is not undefined.\n//\n// This method is mainly used in input bindings' `receiveMessage` method.\n// Since we know that the values are sent by Shiny via `{jsonlite}`,\n// then we know that there are no `undefined` values. `null` is possible, but not `undefined`.\nfunction hasDefinedProperty<\n Prop extends keyof X,\n X extends { [key: string]: any }\n>(\n obj: X,\n prop: Prop\n): obj is X & { [key in NonNullable]: NotUndefined } {\n return (\n Object.prototype.hasOwnProperty.call(obj, prop) && obj[prop] !== undefined\n );\n}\n\n// TODO: Shiny should trigger resize events when the output\n// https://github.com/rstudio/shiny/pull/3682\nfunction doWindowResizeOnElementResize(el: HTMLElement): void {\n if ($(el).data(\"window-resize-observer\")) {\n return;\n }\n const resizeEvent = new Event(\"resize\");\n const ro = new ResizeObserver(() => {\n window.dispatchEvent(resizeEvent);\n });\n ro.observe(el);\n $(el).data(\"window-resize-observer\", ro);\n}\n\nexport {\n InputBinding,\n registerBinding,\n hasDefinedProperty,\n doWindowResizeOnElementResize,\n};\nexport type { HtmlDep };\n", "/**\n * The DocumentObserver class creates an observer detecting all DOM changes,\n * watching for added or removed elements (or their children) that match\n * the specified selectors. When a matching element is added or removed, the\n * respective callback function is called. The DocumentObserver is insensitive\n * to when it's instantiated; it always runs `added.callback()` once on the\n * document body (waiting for DOMContentLoaded if necessary) and then starts\n * watching the DOM for added/removed elements.\n */\n\ninterface DocumentObserverConfig {\n added: {\n selector: string;\n callback: (node: HTMLElement) => void;\n };\n removed: {\n selector: string;\n callback: (node: HTMLElement) => void;\n };\n}\n\nclass DocumentObserver {\n private observer: MutationObserver;\n private config: DocumentObserverConfig;\n\n constructor(config: DocumentObserverConfig) {\n const mutationObserverCallback = (mutationsList: MutationRecord[]) => {\n for (const mutation of mutationsList) {\n if (mutation.type === \"childList\") {\n for (const addedNode of mutation.addedNodes) {\n if (addedNode.nodeType !== Node.ELEMENT_NODE) continue;\n this._callback(addedNode as HTMLElement, this.config.added);\n }\n for (const removedNode of mutation.removedNodes) {\n if (removedNode.nodeType !== Node.ELEMENT_NODE) continue;\n this._callback(removedNode as HTMLElement, this.config.removed);\n }\n }\n }\n };\n\n this.config = config;\n this.observer = new MutationObserver(mutationObserverCallback);\n if (document.readyState === \"complete\") {\n this.connect();\n } else {\n document.addEventListener(\"DOMContentLoaded\", () => this.connect());\n }\n }\n\n private _callback(\n el: HTMLElement,\n {\n selector,\n callback,\n }: { selector: string; callback: (node: HTMLElement) => void }\n ) {\n const elMatches = el.matches(selector);\n const hasMatchingChild = el.querySelector(selector);\n if (!elMatches && !hasMatchingChild) return;\n if (elMatches) callback(el);\n if (!hasMatchingChild) return;\n el.querySelectorAll(selector).forEach((node) =>\n callback(node as HTMLElement)\n );\n }\n\n connect(): void {\n this._callback(document.body, this.config.added);\n this.observer.observe(document, { childList: true, subtree: true });\n }\n\n disconnect(): void {\n this.observer.disconnect();\n }\n}\n\nexport { DocumentObserver };\nexport type { DocumentObserverConfig };\n", "import {\n InputBinding,\n registerBinding,\n doWindowResizeOnElementResize,\n} from \"./_utils\";\n\nimport { DocumentObserver } from \"./_documentObserver\";\n\ntype SidebarMethod = \"close\" | \"open\" | \"toggle\";\n\ntype MessageData = {\n method: SidebarMethod;\n};\n\ntype SidebarComponents = {\n container: HTMLElement;\n main: HTMLElement;\n sidebar: HTMLElement;\n toggle: HTMLElement & {\n handlers?: { start: (ev: MouseEvent) => void; end: () => void };\n };\n isClosed: boolean;\n};\n\nclass Sidebar {\n public static readonly classes = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n LAYOUT: \"bslib-sidebar-layout\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n COLLAPSE: \"sidebar-collapsed\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n TRANSITIONING: \"transitioning\",\n };\n\n public static observer: DocumentObserver = new DocumentObserver({\n added: {\n selector: `.${Sidebar.classes.LAYOUT}[data-bslib-sidebar-init]`,\n callback: (container) => {\n Sidebar.initCollapsible(container as HTMLElement);\n },\n },\n removed: {\n selector: `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open=\"always\"])`,\n callback: (container) => {\n Sidebar.removeEventListeners(container as HTMLElement);\n },\n },\n });\n\n public static initCollapsible(container: HTMLElement): void {\n // Signal that this layout is initialized by removing the init attribute\n container.removeAttribute(\"data-bslib-sidebar-init\");\n\n Sidebar._initEventListeners(container);\n Sidebar._initSidebarCounters(container);\n Sidebar._initDesktop(container);\n }\n\n private static _initEventListeners(container: HTMLElement): void {\n const { sidebar, toggle } = Sidebar.components(container);\n\n // We store a reference to the sidebar toggle event handlers on the toggle\n // element itself, so that we can remove them later if needed.\n toggle.handlers = {\n start: (ev) => {\n ev.preventDefault();\n Sidebar.toggle(container, \"toggle\");\n },\n end: () => {\n const {isClosed} = Sidebar.components(container);\n setTimeout(\n () => {\n Sidebar.finalizeState(container);\n $(sidebar).trigger(\"toggleCollapse.sidebarInputBinding\");\n },\n // Add a small delay before finalizing the closed state, otherwise\n // this happens just before the sidebar reaches the final state and\n // the sidebar disappears abruptly.\n isClosed ? 100 : 0);\n },\n };\n\n toggle.addEventListener(\"click\", toggle.handlers.start);\n\n // Once the collapse transition completes (on the collapse toggle icon, which is\n // always guaranteed to transition), then remove the transitioning class\n toggle\n .querySelector(\".collapse-icon\")\n ?.addEventListener(\"transitionend\", toggle.handlers.end);\n }\n\n private static _initSidebarCounters(container: HTMLElement): void {\n // This function walks up the DOM tree, adding CSS variables to each\n // direct parent sidebar layout that count the layout's position in the\n // stack of nested layouts. We use these counters to keep the collapse\n // toggles from overlapping. Note that always-open sidebars that don't\n // have collapse toggles break the chain of nesting.\n\n const selectorChildLayouts =\n `.${Sidebar.classes.LAYOUT}` +\n \"> .main > \" +\n `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open=\"always\"])`;\n\n const isInnermostLayout =\n container.querySelector(selectorChildLayouts) === null;\n\n if (!isInnermostLayout) {\n // There are sidebar layouts nested within this layout; defer to children\n return;\n }\n\n function nextSidebarParent(el: HTMLElement | null): HTMLElement | null {\n el = el ? el.parentElement : null;\n if (el && el.classList.contains(\"main\")) {\n // .bslib-sidebar-layout > .main > .bslib-sidedbar-layout\n el = el.parentElement;\n }\n if (el && el.classList.contains(Sidebar.classes.LAYOUT)) {\n return el;\n }\n return null;\n }\n\n const layouts = [container];\n let parent = nextSidebarParent(container);\n\n while (parent) {\n // Add parent to front of layouts array, so we sort outer -> inner\n layouts.unshift(parent);\n parent = nextSidebarParent(parent);\n }\n\n const count = { left: 0, right: 0 };\n layouts.forEach(function (x: HTMLElement, i: number): void {\n x.style.setProperty(\"--bslib-sidebar-counter\", i.toString());\n const isRight = x.classList.contains(\"sidebar-right\");\n const thisCount = isRight ? count.right++ : count.left++;\n x.style.setProperty(\n \"--bslib-sidebar-overlap-counter\",\n thisCount.toString()\n );\n });\n }\n\n private static _initDesktop(container: HTMLElement): void {\n // If sidebar is marked open='desktop'...\n if (container.dataset.bslibSidebarOpen?.trim() !== \"desktop\") {\n return;\n }\n\n // then close sidebar on mobile\n const initCollapsed = window\n .getComputedStyle(container)\n .getPropertyValue(\"--bslib-sidebar-js-init-collapsed\");\n\n if (initCollapsed.trim() === \"true\") {\n Sidebar.toggle(container, \"close\");\n }\n }\n\n private static _findLayoutContainer(el: HTMLElement): HTMLElement {\n const container = el.closest(`.${Sidebar.classes.LAYOUT}`);\n if (!container) {\n throw new Error(\n `Expected container or direct ancestor with class ${Sidebar.classes.LAYOUT}`\n );\n }\n return container as HTMLElement;\n }\n\n public static components(el: HTMLElement): SidebarComponents {\n el = Sidebar._findLayoutContainer(el);\n\n // sidebar components\n const main = el.querySelector(\":scope > .main\") as HTMLElement;\n const sidebar = el.querySelector(\":scope > .sidebar\") as HTMLElement;\n const toggle = el.querySelector(\":scope > .collapse-toggle\") as HTMLElement;\n\n // sidebar state\n const isClosed = el.classList.contains(Sidebar.classes.COLLAPSE);\n\n return { container: el, main, sidebar, toggle, isClosed };\n }\n\n public static toggle(el: HTMLElement, method: SidebarMethod) {\n const { container, main, sidebar, isClosed } = Sidebar.components(el);\n\n if ([\"open\", \"close\", \"toggle\"].indexOf(method) === -1) {\n throw new Error(`Unknown method ${method}`);\n }\n\n if (method === \"toggle\") {\n method = isClosed ? \"open\" : \"close\";\n }\n\n if ((isClosed && method === \"close\") || (!isClosed && method === \"open\")) {\n // nothing to do, sidebar is already in the desired state\n return;\n }\n\n // Make sure outputs resize properly when the sidebar is opened/closed\n doWindowResizeOnElementResize(main);\n\n if (method === \"open\") {\n // unhide sidebar immediately when opening,\n // otherwise the sidebar is hidden on transitionend\n sidebar.hidden = false;\n }\n\n // Add a transitioning class just before adding COLLAPSE_CLASS since we want\n // some of the transitioning styles to apply before the collapse state\n container.classList.add(Sidebar.classes.TRANSITIONING);\n container.classList.toggle(Sidebar.classes.COLLAPSE);\n }\n\n public static finalizeState(el: HTMLElement, force = false): void {\n const { container, sidebar, toggle, isClosed } = Sidebar.components(el);\n container.classList.remove(Sidebar.classes.TRANSITIONING);\n sidebar.hidden = isClosed;\n toggle.ariaExpanded = isClosed ? \"false\" : \"true\";\n }\n\n public static removeEventListeners(el: HTMLElement): void {\n // If a sidebar layout is removed from the page, we should also clean up any\n // event listeners that were added to the layout's components.\n const { toggle } = Sidebar.components(el);\n if (!toggle.handlers) return;\n toggle.removeEventListener(\"click\", toggle.handlers.start);\n toggle\n .querySelector(\".collapse-icon\")\n ?.removeEventListener(\"transitionend\", toggle.handlers.end);\n }\n}\n\nclass SidebarInputBinding extends InputBinding {\n find(scope: HTMLElement) {\n return $(scope).find(`.${Sidebar.classes.LAYOUT} > .bslib-sidebar-input`);\n }\n\n getValue(el: HTMLElement): boolean {\n return !$(el).parent().hasClass(Sidebar.classes.COLLAPSE);\n }\n\n setValue(el: HTMLElement, value: boolean): void {\n const method = value ? \"open\" : \"close\";\n this.receiveMessage(el, { method });\n }\n\n subscribe(el: HTMLElement, callback: (x: boolean) => void) {\n $(el).on(\n \"toggleCollapse.sidebarInputBinding\",\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n function (event) {\n callback(true);\n }\n );\n }\n\n unsubscribe(el: HTMLElement) {\n $(el).off(\".sidebarInputBinding\");\n }\n\n receiveMessage(el: HTMLElement, data: MessageData) {\n Sidebar.toggle(el, data.method);\n }\n}\n\nregisterBinding(SidebarInputBinding, \"sidebar\");\n\n// attach Sidebar class to window for global usage\n(window as any).bslib = (window as any).bslib || {};\n(window as any).bslib.Sidebar = Sidebar;\n"], + "mappings": "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", + "names": ["InputBinding", "registerBinding", "inputBindingClass", "name", "doWindowResizeOnElementResize", "el", "resizeEvent", "ro", "DocumentObserver", "config", "mutationObserverCallback", "mutationsList", "mutation", "addedNode", "removedNode", "el", "selector", "callback", "elMatches", "hasMatchingChild", "node", "_Sidebar", "container", "_a", "sidebar", "toggle", "ev", "isClosed", "selectorChildLayouts", "nextSidebarParent", "el", "layouts", "parent", "count", "x", "i", "thisCount", "main", "method", "doWindowResizeOnElementResize", "force", "Sidebar", "DocumentObserver", "SidebarInputBinding", "InputBinding", "scope", "value", "callback", "event", "data", "registerBinding"] } diff --git a/srcts/src/components/sidebar.ts b/srcts/src/components/sidebar.ts index 7131914f3..a7cf7a977 100644 --- a/srcts/src/components/sidebar.ts +++ b/srcts/src/components/sidebar.ts @@ -67,8 +67,16 @@ class Sidebar { Sidebar.toggle(container, "toggle"); }, end: () => { - Sidebar.finalizeState(container); - $(sidebar).trigger("toggleCollapse.sidebarInputBinding"); + const {isClosed} = Sidebar.components(container); + setTimeout( + () => { + Sidebar.finalizeState(container); + $(sidebar).trigger("toggleCollapse.sidebarInputBinding"); + }, + // Add a small delay before finalizing the closed state, otherwise + // this happens just before the sidebar reaches the final state and + // the sidebar disappears abruptly. + isClosed ? 100 : 0); }, }; @@ -205,16 +213,11 @@ class Sidebar { container.classList.toggle(Sidebar.classes.COLLAPSE); } - public static finalizeState(el: HTMLElement, force = false): HTMLElement { + public static finalizeState(el: HTMLElement, force = false): void { const { container, sidebar, toggle, isClosed } = Sidebar.components(el); - if (isClosed && !force) { - setTimeout(() => Sidebar.finalizeState(el, true), 100); - } else { - container.classList.remove(Sidebar.classes.TRANSITIONING); - sidebar.hidden = isClosed; - toggle.ariaExpanded = isClosed ? "false" : "true"; - } - return sidebar; + container.classList.remove(Sidebar.classes.TRANSITIONING); + sidebar.hidden = isClosed; + toggle.ariaExpanded = isClosed ? "false" : "true"; } public static removeEventListeners(el: HTMLElement): void { From f6712ceefbe16cd21d04f1fe27a0633a3bd81493 Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Wed, 26 Apr 2023 10:14:14 -0400 Subject: [PATCH 12/76] Remove unused argument --- inst/components/sidebar.min.js | 2 +- inst/components/sidebar.min.js.map | 6 +++--- srcts/src/components/sidebar.ts | 7 ++++--- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/inst/components/sidebar.min.js b/inst/components/sidebar.min.js index 58ca3cab9..3463b335d 100644 --- a/inst/components/sidebar.min.js +++ b/inst/components/sidebar.min.js @@ -1,3 +1,3 @@ /*! bslib 0.4.2.9000 | (c) 2012-2023 RStudio, PBC. | License: MIT + file LICENSE */ -"use strict";(()=>{var u=window.Shiny?Shiny.InputBinding:class{};function m(d,e){window.Shiny&&Shiny.inputBindings.register(new d,"bslib."+e)}function g(d){if($(d).data("window-resize-observer"))return;let e=new Event("resize"),t=new ResizeObserver(()=>{window.dispatchEvent(e)});t.observe(d),$(d).data("window-resize-observer",t)}var c=class{constructor(e){let t=n=>{for(let o of n)if(o.type==="childList"){for(let i of o.addedNodes)i.nodeType===Node.ELEMENT_NODE&&this._callback(i,this.config.added);for(let i of o.removedNodes)i.nodeType===Node.ELEMENT_NODE&&this._callback(i,this.config.removed)}};this.config=e,this.observer=new MutationObserver(t),document.readyState==="complete"?this.connect():document.addEventListener("DOMContentLoaded",()=>this.connect())}_callback(e,{selector:t,callback:n}){let o=e.matches(t),i=e.querySelector(t);!o&&!i||(o&&n(e),i&&e.querySelectorAll(t).forEach(a=>n(a)))}connect(){this._callback(document.body,this.config.added),this.observer.observe(document,{childList:!0,subtree:!0})}disconnect(){this.observer.disconnect()}};var s=class{static initCollapsible(e){e.removeAttribute("data-bslib-sidebar-init"),s._initEventListeners(e),s._initSidebarCounters(e),s._initDesktop(e)}static _initEventListeners(e){var o;let{sidebar:t,toggle:n}=s.components(e);n.handlers={start:i=>{i.preventDefault(),s.toggle(e,"toggle")},end:()=>{let{isClosed:i}=s.components(e);setTimeout(()=>{s.finalizeState(e),$(t).trigger("toggleCollapse.sidebarInputBinding")},i?100:0)}},n.addEventListener("click",n.handlers.start),(o=n.querySelector(".collapse-icon"))==null||o.addEventListener("transitionend",n.handlers.end)}static _initSidebarCounters(e){let t=`.${s.classes.LAYOUT}> .main > .${s.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`;if(!(e.querySelector(t)===null))return;function o(r){return r=r?r.parentElement:null,r&&r.classList.contains("main")&&(r=r.parentElement),r&&r.classList.contains(s.classes.LAYOUT)?r:null}let i=[e],a=o(e);for(;a;)i.unshift(a),a=o(a);let p={left:0,right:0};i.forEach(function(r,L){r.style.setProperty("--bslib-sidebar-counter",L.toString());let v=r.classList.contains("sidebar-right")?p.right++:p.left++;r.style.setProperty("--bslib-sidebar-overlap-counter",v.toString())})}static _initDesktop(e){var n;if(((n=e.dataset.bslibSidebarOpen)==null?void 0:n.trim())!=="desktop")return;window.getComputedStyle(e).getPropertyValue("--bslib-sidebar-js-init-collapsed").trim()==="true"&&s.toggle(e,"close")}static _findLayoutContainer(e){let t=e.closest(`.${s.classes.LAYOUT}`);if(!t)throw new Error(`Expected container or direct ancestor with class ${s.classes.LAYOUT}`);return t}static components(e){e=s._findLayoutContainer(e);let t=e.querySelector(":scope > .main"),n=e.querySelector(":scope > .sidebar"),o=e.querySelector(":scope > .collapse-toggle"),i=e.classList.contains(s.classes.COLLAPSE);return{container:e,main:t,sidebar:n,toggle:o,isClosed:i}}static toggle(e,t){let{container:n,main:o,sidebar:i,isClosed:a}=s.components(e);if(["open","close","toggle"].indexOf(t)===-1)throw new Error(`Unknown method ${t}`);t==="toggle"&&(t=a?"open":"close"),!(a&&t==="close"||!a&&t==="open")&&(g(o),t==="open"&&(i.hidden=!1),n.classList.add(s.classes.TRANSITIONING),n.classList.toggle(s.classes.COLLAPSE))}static finalizeState(e,t=!1){let{container:n,sidebar:o,toggle:i,isClosed:a}=s.components(e);n.classList.remove(s.classes.TRANSITIONING),o.hidden=a,i.ariaExpanded=a?"false":"true"}static removeEventListeners(e){var n;let{toggle:t}=s.components(e);t.handlers&&(t.removeEventListener("click",t.handlers.start),(n=t.querySelector(".collapse-icon"))==null||n.removeEventListener("transitionend",t.handlers.end))}},l=s;l.classes={LAYOUT:"bslib-sidebar-layout",COLLAPSE:"sidebar-collapsed",TRANSITIONING:"transitioning"},l.observer=new c({added:{selector:`.${s.classes.LAYOUT}[data-bslib-sidebar-init]`,callback:e=>{s.initCollapsible(e)}},removed:{selector:`.${s.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`,callback:e=>{s.removeEventListeners(e)}}});var b=class extends u{find(e){return $(e).find(`.${l.classes.LAYOUT} > .bslib-sidebar-input`)}getValue(e){return!$(e).parent().hasClass(l.classes.COLLAPSE)}setValue(e,t){let n=t?"open":"close";this.receiveMessage(e,{method:n})}subscribe(e,t){$(e).on("toggleCollapse.sidebarInputBinding",function(n){t(!0)})}unsubscribe(e){$(e).off(".sidebarInputBinding")}receiveMessage(e,t){l.toggle(e,t.method)}};m(b,"sidebar");window.bslib=window.bslib||{};window.bslib.Sidebar=l;})(); +"use strict";(()=>{var u=window.Shiny?Shiny.InputBinding:class{};function m(d,e){window.Shiny&&Shiny.inputBindings.register(new d,"bslib."+e)}function g(d){if($(d).data("window-resize-observer"))return;let e=new Event("resize"),t=new ResizeObserver(()=>{window.dispatchEvent(e)});t.observe(d),$(d).data("window-resize-observer",t)}var c=class{constructor(e){let t=n=>{for(let o of n)if(o.type==="childList"){for(let i of o.addedNodes)i.nodeType===Node.ELEMENT_NODE&&this._callback(i,this.config.added);for(let i of o.removedNodes)i.nodeType===Node.ELEMENT_NODE&&this._callback(i,this.config.removed)}};this.config=e,this.observer=new MutationObserver(t),document.readyState==="complete"?this.connect():document.addEventListener("DOMContentLoaded",()=>this.connect())}_callback(e,{selector:t,callback:n}){let o=e.matches(t),i=e.querySelector(t);!o&&!i||(o&&n(e),i&&e.querySelectorAll(t).forEach(a=>n(a)))}connect(){this._callback(document.body,this.config.added),this.observer.observe(document,{childList:!0,subtree:!0})}disconnect(){this.observer.disconnect()}};var s=class{static initCollapsible(e){e.removeAttribute("data-bslib-sidebar-init"),s._initEventListeners(e),s._initSidebarCounters(e),s._initDesktop(e)}static _initEventListeners(e){var o;let{sidebar:t,toggle:n}=s.components(e);n.handlers={start:i=>{i.preventDefault(),s.toggle(e,"toggle")},end:()=>{let{isClosed:i}=s.components(e);setTimeout(()=>{s.finalizeState(e),$(t).trigger("toggleCollapse.sidebarInputBinding")},i?100:0)}},n.addEventListener("click",n.handlers.start),(o=n.querySelector(".collapse-icon"))==null||o.addEventListener("transitionend",n.handlers.end)}static _initSidebarCounters(e){let t=`.${s.classes.LAYOUT}> .main > .${s.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`;if(!(e.querySelector(t)===null))return;function o(r){return r=r?r.parentElement:null,r&&r.classList.contains("main")&&(r=r.parentElement),r&&r.classList.contains(s.classes.LAYOUT)?r:null}let i=[e],a=o(e);for(;a;)i.unshift(a),a=o(a);let p={left:0,right:0};i.forEach(function(r,L){r.style.setProperty("--bslib-sidebar-counter",L.toString());let v=r.classList.contains("sidebar-right")?p.right++:p.left++;r.style.setProperty("--bslib-sidebar-overlap-counter",v.toString())})}static _initDesktop(e){var n;if(((n=e.dataset.bslibSidebarOpen)==null?void 0:n.trim())!=="desktop")return;window.getComputedStyle(e).getPropertyValue("--bslib-sidebar-js-init-collapsed").trim()==="true"&&s.toggle(e,"close")}static _findLayoutContainer(e){let t=e.closest(`.${s.classes.LAYOUT}`);if(!t)throw new Error(`Expected container or direct ancestor with class ${s.classes.LAYOUT}`);return t}static components(e){e=s._findLayoutContainer(e);let t=e.querySelector(":scope > .main"),n=e.querySelector(":scope > .sidebar"),o=e.querySelector(":scope > .collapse-toggle"),i=e.classList.contains(s.classes.COLLAPSE);return{container:e,main:t,sidebar:n,toggle:o,isClosed:i}}static toggle(e,t){let{container:n,main:o,sidebar:i,isClosed:a}=s.components(e);if(["open","close","toggle"].indexOf(t)===-1)throw new Error(`Unknown method ${t}`);t==="toggle"&&(t=a?"open":"close"),!(a&&t==="close"||!a&&t==="open")&&(g(o),t==="open"&&(i.hidden=!1),n.classList.add(s.classes.TRANSITIONING),n.classList.toggle(s.classes.COLLAPSE))}static finalizeState(e){let{container:t,sidebar:n,toggle:o,isClosed:i}=s.components(e);t.classList.remove(s.classes.TRANSITIONING),n.hidden=i,o.ariaExpanded=i?"false":"true"}static removeEventListeners(e){var n;let{toggle:t}=s.components(e);t.handlers&&(t.removeEventListener("click",t.handlers.start),(n=t.querySelector(".collapse-icon"))==null||n.removeEventListener("transitionend",t.handlers.end))}},l=s;l.classes={LAYOUT:"bslib-sidebar-layout",COLLAPSE:"sidebar-collapsed",TRANSITIONING:"transitioning"},l.observer=new c({added:{selector:`.${s.classes.LAYOUT}[data-bslib-sidebar-init]`,callback:e=>{s.initCollapsible(e)}},removed:{selector:`.${s.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`,callback:e=>{s.removeEventListeners(e)}}});var b=class extends u{find(e){return $(e).find(`.${l.classes.LAYOUT} > .bslib-sidebar-input`)}getValue(e){return!$(e).parent().hasClass(l.classes.COLLAPSE)}setValue(e,t){let n=t?"open":"close";this.receiveMessage(e,{method:n})}subscribe(e,t){$(e).on("toggleCollapse.sidebarInputBinding",function(n){t(!0)})}unsubscribe(e){$(e).off(".sidebarInputBinding")}receiveMessage(e,t){l.toggle(e,t.method)}};m(b,"sidebar");window.bslib=window.bslib||{};window.bslib.Sidebar=l;})(); //# sourceMappingURL=sidebar.min.js.map diff --git a/inst/components/sidebar.min.js.map b/inst/components/sidebar.min.js.map index 8713ae725..17227124a 100644 --- a/inst/components/sidebar.min.js.map +++ b/inst/components/sidebar.min.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": ["../../srcts/src/components/_utils.ts", "../../srcts/src/components/_documentObserver.ts", "../../srcts/src/components/sidebar.ts"], - "sourcesContent": ["import type { HtmlDep } from \"rstudio-shiny/srcts/types/src/shiny/render\";\n\nimport type { InputBinding as InputBindingType } from \"rstudio-shiny/srcts/types/src/bindings/input\";\n\n// Exclude undefined from T\ntype NotUndefined = T extends undefined ? never : T;\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst InputBinding = (\n window.Shiny ? Shiny.InputBinding : class {}\n) as typeof InputBindingType;\n\nfunction registerBinding(\n inputBindingClass: new () => InputBindingType,\n name: string\n): void {\n if (window.Shiny) {\n Shiny.inputBindings.register(new inputBindingClass(), \"bslib.\" + name);\n }\n}\n\n// Return true if the key exists on the object and the value is not undefined.\n//\n// This method is mainly used in input bindings' `receiveMessage` method.\n// Since we know that the values are sent by Shiny via `{jsonlite}`,\n// then we know that there are no `undefined` values. `null` is possible, but not `undefined`.\nfunction hasDefinedProperty<\n Prop extends keyof X,\n X extends { [key: string]: any }\n>(\n obj: X,\n prop: Prop\n): obj is X & { [key in NonNullable]: NotUndefined } {\n return (\n Object.prototype.hasOwnProperty.call(obj, prop) && obj[prop] !== undefined\n );\n}\n\n// TODO: Shiny should trigger resize events when the output\n// https://github.com/rstudio/shiny/pull/3682\nfunction doWindowResizeOnElementResize(el: HTMLElement): void {\n if ($(el).data(\"window-resize-observer\")) {\n return;\n }\n const resizeEvent = new Event(\"resize\");\n const ro = new ResizeObserver(() => {\n window.dispatchEvent(resizeEvent);\n });\n ro.observe(el);\n $(el).data(\"window-resize-observer\", ro);\n}\n\nexport {\n InputBinding,\n registerBinding,\n hasDefinedProperty,\n doWindowResizeOnElementResize,\n};\nexport type { HtmlDep };\n", "/**\n * The DocumentObserver class creates an observer detecting all DOM changes,\n * watching for added or removed elements (or their children) that match\n * the specified selectors. When a matching element is added or removed, the\n * respective callback function is called. The DocumentObserver is insensitive\n * to when it's instantiated; it always runs `added.callback()` once on the\n * document body (waiting for DOMContentLoaded if necessary) and then starts\n * watching the DOM for added/removed elements.\n */\n\ninterface DocumentObserverConfig {\n added: {\n selector: string;\n callback: (node: HTMLElement) => void;\n };\n removed: {\n selector: string;\n callback: (node: HTMLElement) => void;\n };\n}\n\nclass DocumentObserver {\n private observer: MutationObserver;\n private config: DocumentObserverConfig;\n\n constructor(config: DocumentObserverConfig) {\n const mutationObserverCallback = (mutationsList: MutationRecord[]) => {\n for (const mutation of mutationsList) {\n if (mutation.type === \"childList\") {\n for (const addedNode of mutation.addedNodes) {\n if (addedNode.nodeType !== Node.ELEMENT_NODE) continue;\n this._callback(addedNode as HTMLElement, this.config.added);\n }\n for (const removedNode of mutation.removedNodes) {\n if (removedNode.nodeType !== Node.ELEMENT_NODE) continue;\n this._callback(removedNode as HTMLElement, this.config.removed);\n }\n }\n }\n };\n\n this.config = config;\n this.observer = new MutationObserver(mutationObserverCallback);\n if (document.readyState === \"complete\") {\n this.connect();\n } else {\n document.addEventListener(\"DOMContentLoaded\", () => this.connect());\n }\n }\n\n private _callback(\n el: HTMLElement,\n {\n selector,\n callback,\n }: { selector: string; callback: (node: HTMLElement) => void }\n ) {\n const elMatches = el.matches(selector);\n const hasMatchingChild = el.querySelector(selector);\n if (!elMatches && !hasMatchingChild) return;\n if (elMatches) callback(el);\n if (!hasMatchingChild) return;\n el.querySelectorAll(selector).forEach((node) =>\n callback(node as HTMLElement)\n );\n }\n\n connect(): void {\n this._callback(document.body, this.config.added);\n this.observer.observe(document, { childList: true, subtree: true });\n }\n\n disconnect(): void {\n this.observer.disconnect();\n }\n}\n\nexport { DocumentObserver };\nexport type { DocumentObserverConfig };\n", "import {\n InputBinding,\n registerBinding,\n doWindowResizeOnElementResize,\n} from \"./_utils\";\n\nimport { DocumentObserver } from \"./_documentObserver\";\n\ntype SidebarMethod = \"close\" | \"open\" | \"toggle\";\n\ntype MessageData = {\n method: SidebarMethod;\n};\n\ntype SidebarComponents = {\n container: HTMLElement;\n main: HTMLElement;\n sidebar: HTMLElement;\n toggle: HTMLElement & {\n handlers?: { start: (ev: MouseEvent) => void; end: () => void };\n };\n isClosed: boolean;\n};\n\nclass Sidebar {\n public static readonly classes = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n LAYOUT: \"bslib-sidebar-layout\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n COLLAPSE: \"sidebar-collapsed\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n TRANSITIONING: \"transitioning\",\n };\n\n public static observer: DocumentObserver = new DocumentObserver({\n added: {\n selector: `.${Sidebar.classes.LAYOUT}[data-bslib-sidebar-init]`,\n callback: (container) => {\n Sidebar.initCollapsible(container as HTMLElement);\n },\n },\n removed: {\n selector: `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open=\"always\"])`,\n callback: (container) => {\n Sidebar.removeEventListeners(container as HTMLElement);\n },\n },\n });\n\n public static initCollapsible(container: HTMLElement): void {\n // Signal that this layout is initialized by removing the init attribute\n container.removeAttribute(\"data-bslib-sidebar-init\");\n\n Sidebar._initEventListeners(container);\n Sidebar._initSidebarCounters(container);\n Sidebar._initDesktop(container);\n }\n\n private static _initEventListeners(container: HTMLElement): void {\n const { sidebar, toggle } = Sidebar.components(container);\n\n // We store a reference to the sidebar toggle event handlers on the toggle\n // element itself, so that we can remove them later if needed.\n toggle.handlers = {\n start: (ev) => {\n ev.preventDefault();\n Sidebar.toggle(container, \"toggle\");\n },\n end: () => {\n const {isClosed} = Sidebar.components(container);\n setTimeout(\n () => {\n Sidebar.finalizeState(container);\n $(sidebar).trigger(\"toggleCollapse.sidebarInputBinding\");\n },\n // Add a small delay before finalizing the closed state, otherwise\n // this happens just before the sidebar reaches the final state and\n // the sidebar disappears abruptly.\n isClosed ? 100 : 0);\n },\n };\n\n toggle.addEventListener(\"click\", toggle.handlers.start);\n\n // Once the collapse transition completes (on the collapse toggle icon, which is\n // always guaranteed to transition), then remove the transitioning class\n toggle\n .querySelector(\".collapse-icon\")\n ?.addEventListener(\"transitionend\", toggle.handlers.end);\n }\n\n private static _initSidebarCounters(container: HTMLElement): void {\n // This function walks up the DOM tree, adding CSS variables to each\n // direct parent sidebar layout that count the layout's position in the\n // stack of nested layouts. We use these counters to keep the collapse\n // toggles from overlapping. Note that always-open sidebars that don't\n // have collapse toggles break the chain of nesting.\n\n const selectorChildLayouts =\n `.${Sidebar.classes.LAYOUT}` +\n \"> .main > \" +\n `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open=\"always\"])`;\n\n const isInnermostLayout =\n container.querySelector(selectorChildLayouts) === null;\n\n if (!isInnermostLayout) {\n // There are sidebar layouts nested within this layout; defer to children\n return;\n }\n\n function nextSidebarParent(el: HTMLElement | null): HTMLElement | null {\n el = el ? el.parentElement : null;\n if (el && el.classList.contains(\"main\")) {\n // .bslib-sidebar-layout > .main > .bslib-sidedbar-layout\n el = el.parentElement;\n }\n if (el && el.classList.contains(Sidebar.classes.LAYOUT)) {\n return el;\n }\n return null;\n }\n\n const layouts = [container];\n let parent = nextSidebarParent(container);\n\n while (parent) {\n // Add parent to front of layouts array, so we sort outer -> inner\n layouts.unshift(parent);\n parent = nextSidebarParent(parent);\n }\n\n const count = { left: 0, right: 0 };\n layouts.forEach(function (x: HTMLElement, i: number): void {\n x.style.setProperty(\"--bslib-sidebar-counter\", i.toString());\n const isRight = x.classList.contains(\"sidebar-right\");\n const thisCount = isRight ? count.right++ : count.left++;\n x.style.setProperty(\n \"--bslib-sidebar-overlap-counter\",\n thisCount.toString()\n );\n });\n }\n\n private static _initDesktop(container: HTMLElement): void {\n // If sidebar is marked open='desktop'...\n if (container.dataset.bslibSidebarOpen?.trim() !== \"desktop\") {\n return;\n }\n\n // then close sidebar on mobile\n const initCollapsed = window\n .getComputedStyle(container)\n .getPropertyValue(\"--bslib-sidebar-js-init-collapsed\");\n\n if (initCollapsed.trim() === \"true\") {\n Sidebar.toggle(container, \"close\");\n }\n }\n\n private static _findLayoutContainer(el: HTMLElement): HTMLElement {\n const container = el.closest(`.${Sidebar.classes.LAYOUT}`);\n if (!container) {\n throw new Error(\n `Expected container or direct ancestor with class ${Sidebar.classes.LAYOUT}`\n );\n }\n return container as HTMLElement;\n }\n\n public static components(el: HTMLElement): SidebarComponents {\n el = Sidebar._findLayoutContainer(el);\n\n // sidebar components\n const main = el.querySelector(\":scope > .main\") as HTMLElement;\n const sidebar = el.querySelector(\":scope > .sidebar\") as HTMLElement;\n const toggle = el.querySelector(\":scope > .collapse-toggle\") as HTMLElement;\n\n // sidebar state\n const isClosed = el.classList.contains(Sidebar.classes.COLLAPSE);\n\n return { container: el, main, sidebar, toggle, isClosed };\n }\n\n public static toggle(el: HTMLElement, method: SidebarMethod) {\n const { container, main, sidebar, isClosed } = Sidebar.components(el);\n\n if ([\"open\", \"close\", \"toggle\"].indexOf(method) === -1) {\n throw new Error(`Unknown method ${method}`);\n }\n\n if (method === \"toggle\") {\n method = isClosed ? \"open\" : \"close\";\n }\n\n if ((isClosed && method === \"close\") || (!isClosed && method === \"open\")) {\n // nothing to do, sidebar is already in the desired state\n return;\n }\n\n // Make sure outputs resize properly when the sidebar is opened/closed\n doWindowResizeOnElementResize(main);\n\n if (method === \"open\") {\n // unhide sidebar immediately when opening,\n // otherwise the sidebar is hidden on transitionend\n sidebar.hidden = false;\n }\n\n // Add a transitioning class just before adding COLLAPSE_CLASS since we want\n // some of the transitioning styles to apply before the collapse state\n container.classList.add(Sidebar.classes.TRANSITIONING);\n container.classList.toggle(Sidebar.classes.COLLAPSE);\n }\n\n public static finalizeState(el: HTMLElement, force = false): void {\n const { container, sidebar, toggle, isClosed } = Sidebar.components(el);\n container.classList.remove(Sidebar.classes.TRANSITIONING);\n sidebar.hidden = isClosed;\n toggle.ariaExpanded = isClosed ? \"false\" : \"true\";\n }\n\n public static removeEventListeners(el: HTMLElement): void {\n // If a sidebar layout is removed from the page, we should also clean up any\n // event listeners that were added to the layout's components.\n const { toggle } = Sidebar.components(el);\n if (!toggle.handlers) return;\n toggle.removeEventListener(\"click\", toggle.handlers.start);\n toggle\n .querySelector(\".collapse-icon\")\n ?.removeEventListener(\"transitionend\", toggle.handlers.end);\n }\n}\n\nclass SidebarInputBinding extends InputBinding {\n find(scope: HTMLElement) {\n return $(scope).find(`.${Sidebar.classes.LAYOUT} > .bslib-sidebar-input`);\n }\n\n getValue(el: HTMLElement): boolean {\n return !$(el).parent().hasClass(Sidebar.classes.COLLAPSE);\n }\n\n setValue(el: HTMLElement, value: boolean): void {\n const method = value ? \"open\" : \"close\";\n this.receiveMessage(el, { method });\n }\n\n subscribe(el: HTMLElement, callback: (x: boolean) => void) {\n $(el).on(\n \"toggleCollapse.sidebarInputBinding\",\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n function (event) {\n callback(true);\n }\n );\n }\n\n unsubscribe(el: HTMLElement) {\n $(el).off(\".sidebarInputBinding\");\n }\n\n receiveMessage(el: HTMLElement, data: MessageData) {\n Sidebar.toggle(el, data.method);\n }\n}\n\nregisterBinding(SidebarInputBinding, \"sidebar\");\n\n// attach Sidebar class to window for global usage\n(window as any).bslib = (window as any).bslib || {};\n(window as any).bslib.Sidebar = Sidebar;\n"], - "mappings": "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", - "names": ["InputBinding", "registerBinding", "inputBindingClass", "name", "doWindowResizeOnElementResize", "el", "resizeEvent", "ro", "DocumentObserver", "config", "mutationObserverCallback", "mutationsList", "mutation", "addedNode", "removedNode", "el", "selector", "callback", "elMatches", "hasMatchingChild", "node", "_Sidebar", "container", "_a", "sidebar", "toggle", "ev", "isClosed", "selectorChildLayouts", "nextSidebarParent", "el", "layouts", "parent", "count", "x", "i", "thisCount", "main", "method", "doWindowResizeOnElementResize", "force", "Sidebar", "DocumentObserver", "SidebarInputBinding", "InputBinding", "scope", "value", "callback", "event", "data", "registerBinding"] + "sourcesContent": ["import type { HtmlDep } from \"rstudio-shiny/srcts/types/src/shiny/render\";\n\nimport type { InputBinding as InputBindingType } from \"rstudio-shiny/srcts/types/src/bindings/input\";\n\n// Exclude undefined from T\ntype NotUndefined = T extends undefined ? never : T;\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst InputBinding = (\n window.Shiny ? Shiny.InputBinding : class {}\n) as typeof InputBindingType;\n\nfunction registerBinding(\n inputBindingClass: new () => InputBindingType,\n name: string\n): void {\n if (window.Shiny) {\n Shiny.inputBindings.register(new inputBindingClass(), \"bslib.\" + name);\n }\n}\n\n// Return true if the key exists on the object and the value is not undefined.\n//\n// This method is mainly used in input bindings' `receiveMessage` method.\n// Since we know that the values are sent by Shiny via `{jsonlite}`,\n// then we know that there are no `undefined` values. `null` is possible, but not `undefined`.\nfunction hasDefinedProperty<\n Prop extends keyof X,\n X extends { [key: string]: any }\n>(\n obj: X,\n prop: Prop\n): obj is X & { [key in NonNullable]: NotUndefined } {\n return (\n Object.prototype.hasOwnProperty.call(obj, prop) && obj[prop] !== undefined\n );\n}\n\n// TODO: Shiny should trigger resize events when the output\n// https://github.com/rstudio/shiny/pull/3682\nfunction doWindowResizeOnElementResize(el: HTMLElement): void {\n if ($(el).data(\"window-resize-observer\")) {\n return;\n }\n const resizeEvent = new Event(\"resize\");\n const ro = new ResizeObserver(() => {\n window.dispatchEvent(resizeEvent);\n });\n ro.observe(el);\n $(el).data(\"window-resize-observer\", ro);\n}\n\nexport {\n InputBinding,\n registerBinding,\n hasDefinedProperty,\n doWindowResizeOnElementResize,\n};\nexport type { HtmlDep };\n", "/**\n * The DocumentObserver class creates an observer detecting all DOM changes,\n * watching for added or removed elements (or their children) that match\n * the specified selectors. When a matching element is added or removed, the\n * respective callback function is called. The DocumentObserver is insensitive\n * to when it's instantiated; it always runs `added.callback()` once on the\n * document body (waiting for DOMContentLoaded if necessary) and then starts\n * watching the DOM for added/removed elements.\n */\n\ninterface DocumentObserverConfig {\n added: {\n selector: string;\n callback: (node: HTMLElement) => void;\n };\n removed: {\n selector: string;\n callback: (node: HTMLElement) => void;\n };\n}\n\nclass DocumentObserver {\n private observer: MutationObserver;\n private config: DocumentObserverConfig;\n\n constructor(config: DocumentObserverConfig) {\n const mutationObserverCallback = (mutationsList: MutationRecord[]) => {\n for (const mutation of mutationsList) {\n if (mutation.type === \"childList\") {\n for (const addedNode of mutation.addedNodes) {\n if (addedNode.nodeType !== Node.ELEMENT_NODE) continue;\n this._callback(addedNode as HTMLElement, this.config.added);\n }\n for (const removedNode of mutation.removedNodes) {\n if (removedNode.nodeType !== Node.ELEMENT_NODE) continue;\n this._callback(removedNode as HTMLElement, this.config.removed);\n }\n }\n }\n };\n\n this.config = config;\n this.observer = new MutationObserver(mutationObserverCallback);\n if (document.readyState === \"complete\") {\n this.connect();\n } else {\n document.addEventListener(\"DOMContentLoaded\", () => this.connect());\n }\n }\n\n private _callback(\n el: HTMLElement,\n {\n selector,\n callback,\n }: { selector: string; callback: (node: HTMLElement) => void }\n ) {\n const elMatches = el.matches(selector);\n const hasMatchingChild = el.querySelector(selector);\n if (!elMatches && !hasMatchingChild) return;\n if (elMatches) callback(el);\n if (!hasMatchingChild) return;\n el.querySelectorAll(selector).forEach((node) =>\n callback(node as HTMLElement)\n );\n }\n\n connect(): void {\n this._callback(document.body, this.config.added);\n this.observer.observe(document, { childList: true, subtree: true });\n }\n\n disconnect(): void {\n this.observer.disconnect();\n }\n}\n\nexport { DocumentObserver };\nexport type { DocumentObserverConfig };\n", "import {\n InputBinding,\n registerBinding,\n doWindowResizeOnElementResize,\n} from \"./_utils\";\n\nimport { DocumentObserver } from \"./_documentObserver\";\n\ntype SidebarMethod = \"close\" | \"open\" | \"toggle\";\n\ntype MessageData = {\n method: SidebarMethod;\n};\n\ntype SidebarComponents = {\n container: HTMLElement;\n main: HTMLElement;\n sidebar: HTMLElement;\n toggle: HTMLElement & {\n handlers?: { start: (ev: MouseEvent) => void; end: () => void };\n };\n isClosed: boolean;\n};\n\nclass Sidebar {\n public static readonly classes = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n LAYOUT: \"bslib-sidebar-layout\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n COLLAPSE: \"sidebar-collapsed\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n TRANSITIONING: \"transitioning\",\n };\n\n public static observer: DocumentObserver = new DocumentObserver({\n added: {\n selector: `.${Sidebar.classes.LAYOUT}[data-bslib-sidebar-init]`,\n callback: (container) => {\n Sidebar.initCollapsible(container as HTMLElement);\n },\n },\n removed: {\n selector: `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open=\"always\"])`,\n callback: (container) => {\n Sidebar.removeEventListeners(container as HTMLElement);\n },\n },\n });\n\n public static initCollapsible(container: HTMLElement): void {\n // Signal that this layout is initialized by removing the init attribute\n container.removeAttribute(\"data-bslib-sidebar-init\");\n\n Sidebar._initEventListeners(container);\n Sidebar._initSidebarCounters(container);\n Sidebar._initDesktop(container);\n }\n\n private static _initEventListeners(container: HTMLElement): void {\n const { sidebar, toggle } = Sidebar.components(container);\n\n // We store a reference to the sidebar toggle event handlers on the toggle\n // element itself, so that we can remove them later if needed.\n toggle.handlers = {\n start: (ev) => {\n ev.preventDefault();\n Sidebar.toggle(container, \"toggle\");\n },\n end: () => {\n const { isClosed } = Sidebar.components(container);\n setTimeout(\n () => {\n Sidebar.finalizeState(container);\n $(sidebar).trigger(\"toggleCollapse.sidebarInputBinding\");\n },\n // Add a small delay before finalizing the closed state, otherwise\n // this happens just before the sidebar reaches the final state and\n // the sidebar disappears abruptly.\n isClosed ? 100 : 0\n );\n },\n };\n\n toggle.addEventListener(\"click\", toggle.handlers.start);\n\n // Once the collapse transition completes (on the collapse toggle icon, which is\n // always guaranteed to transition), then remove the transitioning class\n toggle\n .querySelector(\".collapse-icon\")\n ?.addEventListener(\"transitionend\", toggle.handlers.end);\n }\n\n private static _initSidebarCounters(container: HTMLElement): void {\n // This function walks up the DOM tree, adding CSS variables to each\n // direct parent sidebar layout that count the layout's position in the\n // stack of nested layouts. We use these counters to keep the collapse\n // toggles from overlapping. Note that always-open sidebars that don't\n // have collapse toggles break the chain of nesting.\n\n const selectorChildLayouts =\n `.${Sidebar.classes.LAYOUT}` +\n \"> .main > \" +\n `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open=\"always\"])`;\n\n const isInnermostLayout =\n container.querySelector(selectorChildLayouts) === null;\n\n if (!isInnermostLayout) {\n // There are sidebar layouts nested within this layout; defer to children\n return;\n }\n\n function nextSidebarParent(el: HTMLElement | null): HTMLElement | null {\n el = el ? el.parentElement : null;\n if (el && el.classList.contains(\"main\")) {\n // .bslib-sidebar-layout > .main > .bslib-sidedbar-layout\n el = el.parentElement;\n }\n if (el && el.classList.contains(Sidebar.classes.LAYOUT)) {\n return el;\n }\n return null;\n }\n\n const layouts = [container];\n let parent = nextSidebarParent(container);\n\n while (parent) {\n // Add parent to front of layouts array, so we sort outer -> inner\n layouts.unshift(parent);\n parent = nextSidebarParent(parent);\n }\n\n const count = { left: 0, right: 0 };\n layouts.forEach(function (x: HTMLElement, i: number): void {\n x.style.setProperty(\"--bslib-sidebar-counter\", i.toString());\n const isRight = x.classList.contains(\"sidebar-right\");\n const thisCount = isRight ? count.right++ : count.left++;\n x.style.setProperty(\n \"--bslib-sidebar-overlap-counter\",\n thisCount.toString()\n );\n });\n }\n\n private static _initDesktop(container: HTMLElement): void {\n // If sidebar is marked open='desktop'...\n if (container.dataset.bslibSidebarOpen?.trim() !== \"desktop\") {\n return;\n }\n\n // then close sidebar on mobile\n const initCollapsed = window\n .getComputedStyle(container)\n .getPropertyValue(\"--bslib-sidebar-js-init-collapsed\");\n\n if (initCollapsed.trim() === \"true\") {\n Sidebar.toggle(container, \"close\");\n }\n }\n\n private static _findLayoutContainer(el: HTMLElement): HTMLElement {\n const container = el.closest(`.${Sidebar.classes.LAYOUT}`);\n if (!container) {\n throw new Error(\n `Expected container or direct ancestor with class ${Sidebar.classes.LAYOUT}`\n );\n }\n return container as HTMLElement;\n }\n\n public static components(el: HTMLElement): SidebarComponents {\n el = Sidebar._findLayoutContainer(el);\n\n // sidebar components\n const main = el.querySelector(\":scope > .main\") as HTMLElement;\n const sidebar = el.querySelector(\":scope > .sidebar\") as HTMLElement;\n const toggle = el.querySelector(\":scope > .collapse-toggle\") as HTMLElement;\n\n // sidebar state\n const isClosed = el.classList.contains(Sidebar.classes.COLLAPSE);\n\n return { container: el, main, sidebar, toggle, isClosed };\n }\n\n public static toggle(el: HTMLElement, method: SidebarMethod) {\n const { container, main, sidebar, isClosed } = Sidebar.components(el);\n\n if ([\"open\", \"close\", \"toggle\"].indexOf(method) === -1) {\n throw new Error(`Unknown method ${method}`);\n }\n\n if (method === \"toggle\") {\n method = isClosed ? \"open\" : \"close\";\n }\n\n if ((isClosed && method === \"close\") || (!isClosed && method === \"open\")) {\n // nothing to do, sidebar is already in the desired state\n return;\n }\n\n // Make sure outputs resize properly when the sidebar is opened/closed\n doWindowResizeOnElementResize(main);\n\n if (method === \"open\") {\n // unhide sidebar immediately when opening,\n // otherwise the sidebar is hidden on transitionend\n sidebar.hidden = false;\n }\n\n // Add a transitioning class just before adding COLLAPSE_CLASS since we want\n // some of the transitioning styles to apply before the collapse state\n container.classList.add(Sidebar.classes.TRANSITIONING);\n container.classList.toggle(Sidebar.classes.COLLAPSE);\n }\n\n public static finalizeState(el: HTMLElement): void {\n const { container, sidebar, toggle, isClosed } = Sidebar.components(el);\n container.classList.remove(Sidebar.classes.TRANSITIONING);\n sidebar.hidden = isClosed;\n toggle.ariaExpanded = isClosed ? \"false\" : \"true\";\n }\n\n public static removeEventListeners(el: HTMLElement): void {\n // If a sidebar layout is removed from the page, we should also clean up any\n // event listeners that were added to the layout's components.\n const { toggle } = Sidebar.components(el);\n if (!toggle.handlers) return;\n toggle.removeEventListener(\"click\", toggle.handlers.start);\n toggle\n .querySelector(\".collapse-icon\")\n ?.removeEventListener(\"transitionend\", toggle.handlers.end);\n }\n}\n\nclass SidebarInputBinding extends InputBinding {\n find(scope: HTMLElement) {\n return $(scope).find(`.${Sidebar.classes.LAYOUT} > .bslib-sidebar-input`);\n }\n\n getValue(el: HTMLElement): boolean {\n return !$(el).parent().hasClass(Sidebar.classes.COLLAPSE);\n }\n\n setValue(el: HTMLElement, value: boolean): void {\n const method = value ? \"open\" : \"close\";\n this.receiveMessage(el, { method });\n }\n\n subscribe(el: HTMLElement, callback: (x: boolean) => void) {\n $(el).on(\n \"toggleCollapse.sidebarInputBinding\",\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n function (event) {\n callback(true);\n }\n );\n }\n\n unsubscribe(el: HTMLElement) {\n $(el).off(\".sidebarInputBinding\");\n }\n\n receiveMessage(el: HTMLElement, data: MessageData) {\n Sidebar.toggle(el, data.method);\n }\n}\n\nregisterBinding(SidebarInputBinding, \"sidebar\");\n\n// attach Sidebar class to window for global usage\n(window as any).bslib = (window as any).bslib || {};\n(window as any).bslib.Sidebar = Sidebar;\n"], + "mappings": "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", + "names": ["InputBinding", "registerBinding", "inputBindingClass", "name", "doWindowResizeOnElementResize", "el", "resizeEvent", "ro", "DocumentObserver", "config", "mutationObserverCallback", "mutationsList", "mutation", "addedNode", "removedNode", "el", "selector", "callback", "elMatches", "hasMatchingChild", "node", "_Sidebar", "container", "_a", "sidebar", "toggle", "ev", "isClosed", "selectorChildLayouts", "nextSidebarParent", "el", "layouts", "parent", "count", "x", "i", "thisCount", "main", "method", "doWindowResizeOnElementResize", "Sidebar", "DocumentObserver", "SidebarInputBinding", "InputBinding", "scope", "value", "callback", "event", "data", "registerBinding"] } diff --git a/srcts/src/components/sidebar.ts b/srcts/src/components/sidebar.ts index a7cf7a977..4472056bb 100644 --- a/srcts/src/components/sidebar.ts +++ b/srcts/src/components/sidebar.ts @@ -67,7 +67,7 @@ class Sidebar { Sidebar.toggle(container, "toggle"); }, end: () => { - const {isClosed} = Sidebar.components(container); + const { isClosed } = Sidebar.components(container); setTimeout( () => { Sidebar.finalizeState(container); @@ -76,7 +76,8 @@ class Sidebar { // Add a small delay before finalizing the closed state, otherwise // this happens just before the sidebar reaches the final state and // the sidebar disappears abruptly. - isClosed ? 100 : 0); + isClosed ? 100 : 0 + ); }, }; @@ -213,7 +214,7 @@ class Sidebar { container.classList.toggle(Sidebar.classes.COLLAPSE); } - public static finalizeState(el: HTMLElement, force = false): void { + public static finalizeState(el: HTMLElement): void { const { container, sidebar, toggle, isClosed } = Sidebar.components(el); container.classList.remove(Sidebar.classes.TRANSITIONING); sidebar.hidden = isClosed; From 7a706cc760b2a3d8b28bc89f9d6d35a022152119 Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Wed, 26 Apr 2023 10:12:24 -0400 Subject: [PATCH 13/76] Initial setup of Card class --- package.json | 1 + srcts/src/components/card.ts | 94 ++++++++++++++++++++++++++++++++++++ yarn.lock | 12 +++++ 3 files changed, 107 insertions(+) create mode 100644 srcts/src/components/card.ts diff --git a/package.json b/package.json index 042b6e01e..5cad6d75a 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,7 @@ "devDependencies": { "@types/node": "^18.11.18", "@types/rstudio-shiny": "https://github.com/rstudio/shiny#v1.7.4", + "@types/bootstrap": "5.2.2", "@typescript-eslint/eslint-plugin": "^5.48.1", "@typescript-eslint/parser": "^5.48.1", "esbuild": "^0.16.14", diff --git a/srcts/src/components/card.ts b/srcts/src/components/card.ts new file mode 100644 index 000000000..e60dc2a53 --- /dev/null +++ b/srcts/src/components/card.ts @@ -0,0 +1,94 @@ +import { Tooltip } from "bootstrap"; +import type { ShinyEventValue } from "rstudio-shiny/srcts/types/src/events/shinyEvents"; +import { DocumentObserver } from "./_documentObserver"; + +class Card { + private static instanceMap: WeakMap = new WeakMap(); + + private container: HTMLElement; + cardResizeObserver: ResizeObserver; + shinyOutputResizeObserver: ResizeObserver | undefined; + + constructor(el: HTMLElement) { + el.removeAttribute("data-bslib-card-needs-init"); + + this.container = el; + Card.instanceMap.set(el, this); + + // Let Shiny know to trigger resize when the card size changes + // TODO: shiny could/should do this itself (rstudio/shiny#3682) + // rstudio/shiny#3682 + const resizeEvent = new Event("resize"); + this.cardResizeObserver = new ResizeObserver(() => { + window.dispatchEvent(resizeEvent); + }); + this.cardResizeObserver.observe(this.container); + + this._enableTooltips(); + this._startShinyOutputResizeObserver(); + } + + private _enableTooltips() { + if (!this.container.querySelector('[data-bs-toggle="tooltip"]')) { + return; + } + const tooltipList = this.container.querySelectorAll( + '[data-bs-toggle="tooltip"]' + ); + tooltipList.forEach((tt) => new Tooltip(tt)); + } + + private _startShinyOutputResizeObserver() { + // In some complex fill-based layouts with multiple outputs (e.g., plotly), + // shiny initializes with the correct sizing, but in-between the 1st and last + // renderValue(), the size of the output containers can change, meaning every + // output but the 1st gets initialized with the wrong size during their + // renderValue(); and then after the render phase, shiny won't know trigger a + // resize since all the widgets will return to their original size + // (and thus, Shiny thinks there isn't any resizing to do). + // We workaround that situation by manually triggering a resize on the binding + // when the output container changes (this way, if the size is different during + // the render phase, Shiny will know about it) + + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore; Type definitions are not found. This occurs when `strict: true` + $(document).on("shiny:value", (x: ShinyEventValue) => { + const el = x.binding.el; + if (!this.container.contains(el)) return; + if (el.dataset.bslibOutputObserver) return; + + this.shinyOutputResizeObserver = new ResizeObserver(x.binding.onResize); + this.shinyOutputResizeObserver.observe(el); + el.dataset.bslibOutputObserver = "true"; + }); + } + + destroy(): void { + this.cardResizeObserver.disconnect(); + if (this.shinyOutputResizeObserver) { + this.shinyOutputResizeObserver.disconnect(); + } + Card.instanceMap.delete(this.container); + } + + public static getInstance(el: HTMLElement): Card | undefined { + return Card.instanceMap.get(el); + } + + public static observer: DocumentObserver = new DocumentObserver({ + added: { + selector: ".bslib-card[data-bslib-card-needs-init]", + callback: (card: HTMLElement) => { + new Card(card); + }, + }, + removed: { + selector: ".bslib-card", + callback: (card: HTMLElement) => { + Card.getInstance(card)?.destroy(); + }, + }, + }); +} + +export { Card }; diff --git a/yarn.lock b/yarn.lock index 6f14c9ca3..8669f3935 100644 --- a/yarn.lock +++ b/yarn.lock @@ -213,6 +213,11 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@popperjs/core@^2.9.2": + version "2.11.7" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.7.tgz#ccab5c8f7dc557a52ca3288c10075c9ccd37fff7" + integrity sha512-Cr4OjIkipTtcXKjAsm8agyleBuDHvxzeBoa1v543lbv1YaIwQjESsVcmjiWiPEbC1FIeHOG/Op9kdCmAmiS3Kw== + "@tsconfig/node10@^1.0.7": version "1.0.9" resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" @@ -247,6 +252,13 @@ dependencies: "@types/jquery" "*" +"@types/bootstrap@5.2.2": + version "5.2.2" + resolved "https://registry.yarnpkg.com/@types/bootstrap/-/bootstrap-5.2.2.tgz#74c7b37383909a7658a0eaf8992a5ec6a64c8a8d" + integrity sha512-Vzsa2RWFE9emGSlbFp9zgIhzBQ0gsWHD6oD0Qy/N1mPmMbm2yumAYfcaTMj3iHJhWBAshJWHJsscY3KbkKEu5w== + dependencies: + "@popperjs/core" "^2.9.2" + "@types/datatables.net@^1.10.19": version "1.10.24" resolved "https://registry.yarnpkg.com/@types/datatables.net/-/datatables.net-1.10.24.tgz#8b432218d72b012448dbf18ce18ee900a3f2f1ec" From 2c0d3efdbc722e1954fa883e04226bbe4bacf554 Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Thu, 27 Apr 2023 11:26:22 -0400 Subject: [PATCH 14/76] typescript: skipLIbCheck to avoid checking types of recursive dependencies --- tsconfig.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tsconfig.json b/tsconfig.json index 3a68d2c2f..14b1783ae 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,6 +2,7 @@ "declaration": true, "compilerOptions": { "target": "ES6", + "skipLibCheck": true, "isolatedModules": true, "esModuleInterop": true, "moduleResolution": "node", @@ -13,4 +14,4 @@ "exclude": [ "node_modules" ] -} \ No newline at end of file +} From 9e819c8f0808941ad20e4627adf198cc04f3d12a Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Thu, 27 Apr 2023 11:27:16 -0400 Subject: [PATCH 15/76] esbuild: don't try to bundle bootstrap we just use it for the types in bslib components --- srcts/build/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/srcts/build/index.ts b/srcts/build/index.ts index 6ea535f21..e06b92c71 100644 --- a/srcts/build/index.ts +++ b/srcts/build/index.ts @@ -11,6 +11,7 @@ const opts: BuildOptions = { bundle: true, sourcemap: true, minify: true, + external: ["bootstrap"], }; // TODO: build all components? From 5b5b24d2612b5f414bdbbdbf635e7fbd5a575b5f Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Thu, 27 Apr 2023 11:27:33 -0400 Subject: [PATCH 16/76] esbuild: build card.ts --- srcts/build/index.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/srcts/build/index.ts b/srcts/build/index.ts index e06b92c71..3df8c9f4c 100644 --- a/srcts/build/index.ts +++ b/srcts/build/index.ts @@ -26,3 +26,9 @@ build({ entryPoints: ["srcts/src/components/sidebar.ts"], outfile: "inst/components/sidebar.min.js", }); + +build({ + ...opts, + entryPoints: ["srcts/src/components/card.ts"], + outfile: "inst/components/card.min.js", +}); From cd2e113238aeb7830a390fe65ddf2feb53d0d9da Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Thu, 27 Apr 2023 11:28:33 -0400 Subject: [PATCH 17/76] Fix `Tooltip` and `TooltipType` --- srcts/src/components/card.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/srcts/src/components/card.ts b/srcts/src/components/card.ts index e60dc2a53..d7ff2101f 100644 --- a/srcts/src/components/card.ts +++ b/srcts/src/components/card.ts @@ -1,7 +1,12 @@ -import { Tooltip } from "bootstrap"; +import type { Tooltip as TooltipType } from "bootstrap"; import type { ShinyEventValue } from "rstudio-shiny/srcts/types/src/events/shinyEvents"; import { DocumentObserver } from "./_documentObserver"; +// eslint-disable-next-line @typescript-eslint/naming-convention +const Tooltip = ( + window.bootstrap ? window.bootstrap.Tooltip : class {} +) as typeof TooltipType; + class Card { private static instanceMap: WeakMap = new WeakMap(); @@ -17,7 +22,6 @@ class Card { // Let Shiny know to trigger resize when the card size changes // TODO: shiny could/should do this itself (rstudio/shiny#3682) - // rstudio/shiny#3682 const resizeEvent = new Event("resize"); this.cardResizeObserver = new ResizeObserver(() => { window.dispatchEvent(resizeEvent); From 223270963d96a72b7663007a9b4723330e3eee40 Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Thu, 27 Apr 2023 11:29:06 -0400 Subject: [PATCH 18/76] Expose Card via `window.bslib` --- srcts/src/components/card.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/srcts/src/components/card.ts b/srcts/src/components/card.ts index d7ff2101f..7f85b43e8 100644 --- a/srcts/src/components/card.ts +++ b/srcts/src/components/card.ts @@ -95,4 +95,8 @@ class Card { }); } +// attach Sidebar class to window for global usage +(window as any).bslib = (window as any).bslib || {}; +(window as any).bslib.Card = Card; + export { Card }; From 8a009eb42a94ca95d59f8ff8545aabf8772d6c8f Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Thu, 27 Apr 2023 11:29:56 -0400 Subject: [PATCH 19/76] Add `card_dependency()` and remove inline init script --- R/card.R | 53 +++++++++-------------------------------------------- 1 file changed, 9 insertions(+), 44 deletions(-) diff --git a/R/card.R b/R/card.R index de1bac473..5d9169977 100644 --- a/R/card.R +++ b/R/card.R @@ -69,7 +69,7 @@ card <- function(..., full_screen = FALSE, height = NULL, max_height = NULL, fil !!!attribs, !!!children, if (full_screen) full_screen_toggle(), - card_js_init() + card_dependency() ) tag <- bindFillRole(tag, container = TRUE, item = fill) @@ -282,49 +282,14 @@ full_screen_toggle <- function() { ) } - -card_js_init <- function() { - tags$script("data-bslib-card-needs-init" = NA, HTML( - " - var thisScript = document.querySelector('script[data-bslib-card-needs-init]'); - if (!thisScript) throw new Error('Failed to register card() resize observer'); - - thisScript.removeAttribute('data-bslib-card-needs-init'); - - var card = $(thisScript).parents('.card').last(); - if (!card) throw new Error('Failed to register card() resize observer'); - - // Let Shiny know to trigger resize when the card size changes - // TODO: shiny could/should do this itself (rstudio/shiny#3682) - var resizeEvent = window.document.createEvent('UIEvents'); - resizeEvent.initUIEvent('resize', true, false, window, 0); - var ro = new ResizeObserver(() => { window.dispatchEvent(resizeEvent); }); - ro.observe(card[0]); - - // Enable tooltips (for the expand icon) - var tooltipList = card[0].querySelectorAll('[data-bs-toggle=\"tooltip\"]'); - tooltipList.forEach(function(x) { new bootstrap.Tooltip(x); }); - - // In some complex fill-based layouts with multiple outputs (e.g., plotly), - // shiny initializes with the correct sizing, but in-between the 1st and last - // renderValue(), the size of the output containers can change, meaning every - // output but the 1st gets initialized with the wrong size during their - // renderValue(); and then after the render phase, shiny won't know trigger a - // resize since all the widgets will return to their original size - // (and thus, Shiny thinks there isn't any resizing to do). - // We workaround that situation by manually triggering a resize on the binding - // when the output container changes (this way, if the size is different during - // the render phase, Shiny will know about it) - $(document).on('shiny:value', function(x) { - var el = x.binding.el; - if (card[0].contains(el) && !$(el).data('bslib-output-observer')) { - var roo = new ResizeObserver(x.binding.onResize); - roo.observe(el); - $(el).data('bslib-output-observer', true); - } - }); - " - )) +card_dependency <- function() { + htmlDependency( + name = "bslib-card", + version = get_package_version("bslib"), + package = "bslib", + src = "components", + script = "card.min.js" + ) } # via bsicons::bs_icon("arrows-fullscreen") From b75a25655202af6f23ada0282c7b4544c6719cf5 Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Thu, 27 Apr 2023 11:30:14 -0400 Subject: [PATCH 20/76] `card()` needs `data-bslib-card-needs-init` attribute --- R/card.R | 1 + 1 file changed, 1 insertion(+) diff --git a/R/card.R b/R/card.R index 5d9169977..398028ca5 100644 --- a/R/card.R +++ b/R/card.R @@ -66,6 +66,7 @@ card <- function(..., full_screen = FALSE, height = NULL, max_height = NULL, fil height = validateCssUnit(height), max_height = validateCssUnit(max_height) ), + "data-bslib-card-needs-init" = NA, !!!attribs, !!!children, if (full_screen) full_screen_toggle(), From 3138722579e4b522b800aaf1fd809d8efa1fc46c Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Thu, 27 Apr 2023 12:28:50 -0400 Subject: [PATCH 21/76] Merge enter/exit full screen into Card class --- R/card.R | 9 +---- srcts/src/components/card.ts | 74 +++++++++++++++++++++++++++++++++++- 2 files changed, 73 insertions(+), 10 deletions(-) diff --git a/R/card.R b/R/card.R index 398028ca5..792704441 100644 --- a/R/card.R +++ b/R/card.R @@ -272,14 +272,7 @@ full_screen_toggle <- function() { "data-bs-toggle" = "tooltip", "data-bs-placement" = "bottom", title = "Expand", - full_screen_toggle_icon(), - htmlDependency( - name = "bslib-card-full-screen", - version = get_package_version("bslib"), - package = "bslib", - src = "components", - script = "card-full-screen.js" - ) + full_screen_toggle_icon() ) } diff --git a/srcts/src/components/card.ts b/srcts/src/components/card.ts index 7f85b43e8..e59a59965 100644 --- a/srcts/src/components/card.ts +++ b/srcts/src/components/card.ts @@ -28,11 +28,30 @@ class Card { }); this.cardResizeObserver.observe(this.container); + this._addEventListeners(); this._enableTooltips(); this._startShinyOutputResizeObserver(); } - private _enableTooltips() { + private _addEventListeners(): void { + const btnFullScreen = this.container.querySelector( + ".bslib-full-screen-enter" + ); + if (!btnFullScreen) return; + btnFullScreen.addEventListener("click", (ev) => this.enterFullScreen(ev)); + } + + private _removeEventListeners(): void { + const btnFullScreen = this.container.querySelector( + ".bslib-full-screen-enter" + ); + if (!btnFullScreen) return; + btnFullScreen.removeEventListener("click", (ev) => + this.enterFullScreen(ev) + ); + } + + private _enableTooltips(): void { if (!this.container.querySelector('[data-bs-toggle="tooltip"]')) { return; } @@ -42,7 +61,7 @@ class Card { tooltipList.forEach((tt) => new Tooltip(tt)); } - private _startShinyOutputResizeObserver() { + private _startShinyOutputResizeObserver(): void { // In some complex fill-based layouts with multiple outputs (e.g., plotly), // shiny initializes with the correct sizing, but in-between the 1st and last // renderValue(), the size of the output containers can change, meaning every @@ -67,7 +86,34 @@ class Card { }); } + enterFullScreen(event?: Event): void { + if (event) event.preventDefault(); + + const overlay = this._createOverlay(); + overlay.addEventListener("click", () => this.exitFullScreen()); + document.addEventListener("keyup", this._exitFullScreenOnEscape, false); + + this.container.classList.add("bslib-full-screen"); + this.container.insertAdjacentElement("beforebegin", overlay); + } + + exitFullScreen(): void { + const overlay = document.getElementById("bslib-full-screen-overlay"); + overlay?.removeEventListener("click", () => this.exitFullScreen()); + document.removeEventListener("keyup", this._exitFullScreenOnEscape, false); + overlay ? overlay.remove() : null; + + this.container.classList.remove("bslib-full-screen"); + } + + private _exitFullScreenOnEscape(event: KeyboardEvent): void { + if (event.key === "Escape") { + this.exitFullScreen(); + } + } + destroy(): void { + this._removeEventListeners(); this.cardResizeObserver.disconnect(); if (this.shinyOutputResizeObserver) { this.shinyOutputResizeObserver.disconnect(); @@ -75,6 +121,30 @@ class Card { Card.instanceMap.delete(this.container); } + private _createOverlay(): HTMLElement { + const overlay = document.createElement("div"); + overlay.id = "bslib-full-screen-overlay"; + overlay.classList.add("bslib-full-screen-overlay"); + + const overlayAnchor = document.createElement("a"); + overlayAnchor.classList.add("bslib-full-screen-exit"); + overlayAnchor.innerHTML = this._overlayCloseHtml(); + + overlay.appendChild(overlayAnchor); + return overlay; + } + + private _overlayCloseHtml(): string { + return ( + "Close " + + "" + + "" + ); + } + public static getInstance(el: HTMLElement): Card | undefined { return Card.instanceMap.get(el); } From ce543372fc526e14d4d51f7f2dc02ac398aa32c5 Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Thu, 27 Apr 2023 12:29:21 -0400 Subject: [PATCH 22/76] Add blur and subtle animation to full screen overlay --- inst/components/card.scss | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/inst/components/card.scss b/inst/components/card.scss index 9ca76ec6f..ff66ea200 100644 --- a/inst/components/card.scss +++ b/inst/components/card.scss @@ -126,5 +126,16 @@ position: fixed; inset: 0; background-color: rgba(var(--bs-body-color-rgb), 0.6); + backdrop-filter: blur(2px); z-index: $zindex-popover - 1; + animation: bslib-full-screen-overlay-enter 400ms cubic-bezier(.6,.02,.65,1) forwards; +} + +@keyframes bslib-full-screen-overlay-enter { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } } From 70489087c534876640c8dfac35fcdde3a2406824 Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Thu, 27 Apr 2023 12:30:40 -0400 Subject: [PATCH 23/76] Remove card-full-screen.js It's now a part of Card class --- inst/components/card-full-screen.js | 23 ----------------------- 1 file changed, 23 deletions(-) delete mode 100644 inst/components/card-full-screen.js diff --git a/inst/components/card-full-screen.js b/inst/components/card-full-screen.js deleted file mode 100644 index 480ec1d6a..000000000 --- a/inst/components/card-full-screen.js +++ /dev/null @@ -1,23 +0,0 @@ -$(document).on('click', '.bslib-full-screen-enter', function(e) { - const $card = $(e.target).parents('.card').last(); - // Re-size/position the card (and add an overlay behind it) - $card.addClass("bslib-full-screen"); - const overlay = $(""); - $card[0].insertAdjacentElement("beforebegin", overlay[0]); -}); - -$(document).on('click', '.bslib-full-screen-exit', function(e) { - exitFullScreen(); -}); - -document.addEventListener('keyup', function(e) { - if (e.key === 'Escape') exitFullScreen(); -}, false); - -function exitFullScreen() { - const $card = $('.bslib-full-screen'); - if ($card) { - $('#bslib-full-screen-overlay').remove(); - $card.removeClass('bslib-full-screen'); - } -} From 3453cbf05aed59f476329801c28c604d207bd892 Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Thu, 27 Apr 2023 12:33:31 -0400 Subject: [PATCH 24/76] Use {bsicons} if available for full screen toggle icon --- R/card.R | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/R/card.R b/R/card.R index 792704441..21e03bed0 100644 --- a/R/card.R +++ b/R/card.R @@ -286,8 +286,10 @@ card_dependency <- function() { ) } -# via bsicons::bs_icon("arrows-fullscreen") full_screen_toggle_icon <- function() { + if (is_installed("bsicons")) { + return(bsicons::bs_icon("arrows-fullscreen")) + } HTML('') } From f41aec8a1759b269ebf6f9abe2d898b6fd82f0f9 Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Thu, 27 Apr 2023 14:23:38 -0400 Subject: [PATCH 25/76] Remove exit fullscren event listeners after updating DOM --- srcts/src/components/card.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/srcts/src/components/card.ts b/srcts/src/components/card.ts index e59a59965..3cab998a2 100644 --- a/srcts/src/components/card.ts +++ b/srcts/src/components/card.ts @@ -99,11 +99,12 @@ class Card { exitFullScreen(): void { const overlay = document.getElementById("bslib-full-screen-overlay"); - overlay?.removeEventListener("click", () => this.exitFullScreen()); - document.removeEventListener("keyup", this._exitFullScreenOnEscape, false); - overlay ? overlay.remove() : null; + overlay ? overlay.remove() : null; this.container.classList.remove("bslib-full-screen"); + + overlay?.removeEventListener("click", () => this.exitFullScreen()); + document.removeEventListener("keyup", this._exitFullScreenOnEscape, false); } private _exitFullScreenOnEscape(event: KeyboardEvent): void { From 04daa74df31bf9cb2f08279cb27590fae6bd575f Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Thu, 27 Apr 2023 14:37:00 -0400 Subject: [PATCH 26/76] Tidy up Card class code 1. Properties 2. Constructor 3. Public methods 4. Private methods 5. Static methods --- srcts/src/components/card.ts | 70 +++++++++++++++++++----------------- 1 file changed, 37 insertions(+), 33 deletions(-) diff --git a/srcts/src/components/card.ts b/srcts/src/components/card.ts index 3cab998a2..ce0d48728 100644 --- a/srcts/src/components/card.ts +++ b/srcts/src/components/card.ts @@ -8,8 +8,6 @@ const Tooltip = ( ) as typeof TooltipType; class Card { - private static instanceMap: WeakMap = new WeakMap(); - private container: HTMLElement; cardResizeObserver: ResizeObserver; shinyOutputResizeObserver: ResizeObserver | undefined; @@ -33,6 +31,36 @@ class Card { this._startShinyOutputResizeObserver(); } + enterFullScreen(event?: Event): void { + if (event) event.preventDefault(); + + const overlay = this._createOverlay(); + overlay.addEventListener("click", () => this.exitFullScreen()); + document.addEventListener("keyup", this._exitFullScreenOnEscape, false); + + this.container.classList.add("bslib-full-screen"); + this.container.insertAdjacentElement("beforebegin", overlay); + } + + exitFullScreen(): void { + const overlay = document.getElementById("bslib-full-screen-overlay"); + + overlay ? overlay.remove() : null; + this.container.classList.remove("bslib-full-screen"); + + overlay?.removeEventListener("click", () => this.exitFullScreen()); + document.removeEventListener("keyup", this._exitFullScreenOnEscape, false); + } + + destroy(): void { + this._removeEventListeners(); + this.cardResizeObserver.disconnect(); + if (this.shinyOutputResizeObserver) { + this.shinyOutputResizeObserver.disconnect(); + } + Card.instanceMap.delete(this.container); + } + private _addEventListeners(): void { const btnFullScreen = this.container.querySelector( ".bslib-full-screen-enter" @@ -86,42 +114,12 @@ class Card { }); } - enterFullScreen(event?: Event): void { - if (event) event.preventDefault(); - - const overlay = this._createOverlay(); - overlay.addEventListener("click", () => this.exitFullScreen()); - document.addEventListener("keyup", this._exitFullScreenOnEscape, false); - - this.container.classList.add("bslib-full-screen"); - this.container.insertAdjacentElement("beforebegin", overlay); - } - - exitFullScreen(): void { - const overlay = document.getElementById("bslib-full-screen-overlay"); - - overlay ? overlay.remove() : null; - this.container.classList.remove("bslib-full-screen"); - - overlay?.removeEventListener("click", () => this.exitFullScreen()); - document.removeEventListener("keyup", this._exitFullScreenOnEscape, false); - } - private _exitFullScreenOnEscape(event: KeyboardEvent): void { if (event.key === "Escape") { this.exitFullScreen(); } } - destroy(): void { - this._removeEventListeners(); - this.cardResizeObserver.disconnect(); - if (this.shinyOutputResizeObserver) { - this.shinyOutputResizeObserver.disconnect(); - } - Card.instanceMap.delete(this.container); - } - private _createOverlay(): HTMLElement { const overlay = document.createElement("div"); overlay.id = "bslib-full-screen-overlay"; @@ -146,11 +144,13 @@ class Card { ); } + private static instanceMap: WeakMap = new WeakMap(); + public static getInstance(el: HTMLElement): Card | undefined { return Card.instanceMap.get(el); } - public static observer: DocumentObserver = new DocumentObserver({ + private static documentObserver: DocumentObserver = new DocumentObserver({ added: { selector: ".bslib-card[data-bslib-card-needs-init]", callback: (card: HTMLElement) => { @@ -164,6 +164,10 @@ class Card { }, }, }); + + static get observer(): DocumentObserver { + return Card.documentObserver; + } } // attach Sidebar class to window for global usage From bbddc8174ce71a20fe24ce0b61f706a8eae12132 Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Thu, 27 Apr 2023 15:54:05 -0400 Subject: [PATCH 27/76] Add `id` to all cards in example cards app Makes it easier to test without using overly complex selectors --- inst/examples/card/app.R | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/inst/examples/card/app.R b/inst/examples/card/app.R index 5e82b52f8..321a91ce4 100644 --- a/inst/examples/card/app.R +++ b/inst/examples/card/app.R @@ -16,12 +16,14 @@ lorem_ipsum_dolor_sit_amet <- "Lorem ipsum dolor sit amet, consectetur adipiscin main_grid <- layout_column_wrap( width = 1/3, heights_equal = "row", card( + id = "card-dt", full_screen = TRUE, card_header("DT::dataTableOutput()"), DT::dataTableOutput("DT") ), navs_pill_card( title = "Shiny outputs", + id = "card-navset-pill", full_screen = TRUE, nav( "plotOutput", @@ -34,11 +36,13 @@ main_grid <- layout_column_wrap( nav("imageOutput", plotOutput("image")) ), card( + id = "card-leaflet", full_screen = TRUE, card_header("leaflet (via uiOutput())"), uiOutput("leaflet", fill = TRUE) ), card( + id = "card-plotly", full_screen = TRUE, card_header("plotly::plotlyOutput()"), layout_column_wrap( @@ -49,6 +53,7 @@ main_grid <- layout_column_wrap( plotlyOutput("price") ), card( + id = "card-plotly-static", full_screen = TRUE, card_header("Static plotly"), plot_hist("price"), @@ -61,6 +66,7 @@ main_grid <- layout_column_wrap( layout_column_wrap( width = 1, card( + id = "card-image", full_screen = TRUE, card_header("card_image()"), card_image( @@ -70,6 +76,7 @@ main_grid <- layout_column_wrap( ) ), card( + id = "card-gt", full_screen = TRUE, card_header("Scrollable gt()"), card_body( From 7bafb3976bad6252ec77d4d42c280dfa52c3ae56 Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Thu, 27 Apr 2023 16:19:08 -0400 Subject: [PATCH 28/76] Add TODO comment for dependent shiny PR --- srcts/src/components/card.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/srcts/src/components/card.ts b/srcts/src/components/card.ts index ce0d48728..c0855495e 100644 --- a/srcts/src/components/card.ts +++ b/srcts/src/components/card.ts @@ -101,6 +101,7 @@ class Card { // when the output container changes (this way, if the size is different during // the render phase, Shiny will know about it) + // TODO: Remove disable/ignore comments when rstudio/shiny#3815 is available // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore; Type definitions are not found. This occurs when `strict: true` $(document).on("shiny:value", (x: ShinyEventValue) => { From 53d121ddbeb35213dc7557bcfaea365f6c9d07b9 Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Thu, 27 Apr 2023 16:04:22 -0400 Subject: [PATCH 29/76] Build card component --- inst/components/card.min.js | 3 +++ inst/components/card.min.js.map | 7 +++++++ 2 files changed, 10 insertions(+) create mode 100644 inst/components/card.min.js create mode 100644 inst/components/card.min.js.map diff --git a/inst/components/card.min.js b/inst/components/card.min.js new file mode 100644 index 000000000..687ef2081 --- /dev/null +++ b/inst/components/card.min.js @@ -0,0 +1,3 @@ +/*! bslib 0.4.2.9000 | (c) 2012-2023 RStudio, PBC. | License: MIT + file LICENSE */ +"use strict";(()=>{var c=class{constructor(e){let t=o=>{for(let i of o)if(i.type==="childList"){for(let n of i.addedNodes)n.nodeType===Node.ELEMENT_NODE&&this._callback(n,this.config.added);for(let n of i.removedNodes)n.nodeType===Node.ELEMENT_NODE&&this._callback(n,this.config.removed)}};this.config=e,this.observer=new MutationObserver(t),document.readyState==="complete"?this.connect():document.addEventListener("DOMContentLoaded",()=>this.connect())}_callback(e,{selector:t,callback:o}){let i=e.matches(t),n=e.querySelector(t);!i&&!n||(i&&o(e),n&&e.querySelectorAll(t).forEach(a=>o(a)))}connect(){this._callback(document.body,this.config.added),this.observer.observe(document,{childList:!0,subtree:!0})}disconnect(){this.observer.disconnect()}};var l=window.bootstrap?window.bootstrap.Tooltip:class{},s=class{constructor(e){e.removeAttribute("data-bslib-card-needs-init"),this.container=e,s.instanceMap.set(e,this);let t=new Event("resize");this.cardResizeObserver=new ResizeObserver(()=>{window.dispatchEvent(t)}),this.cardResizeObserver.observe(this.container),this._addEventListeners(),this._enableTooltips(),this._startShinyOutputResizeObserver()}enterFullScreen(e){e&&e.preventDefault();let t=this._createOverlay();t.addEventListener("click",()=>this.exitFullScreen()),document.addEventListener("keyup",this._exitFullScreenOnEscape,!1),this.container.classList.add("bslib-full-screen"),this.container.insertAdjacentElement("beforebegin",t)}exitFullScreen(){let e=document.getElementById("bslib-full-screen-overlay");e&&e.remove(),this.container.classList.remove("bslib-full-screen"),e==null||e.removeEventListener("click",()=>this.exitFullScreen()),document.removeEventListener("keyup",this._exitFullScreenOnEscape,!1)}destroy(){this._removeEventListeners(),this.cardResizeObserver.disconnect(),this.shinyOutputResizeObserver&&this.shinyOutputResizeObserver.disconnect(),s.instanceMap.delete(this.container)}_addEventListeners(){let e=this.container.querySelector(".bslib-full-screen-enter");e&&e.addEventListener("click",t=>this.enterFullScreen(t))}_removeEventListeners(){let e=this.container.querySelector(".bslib-full-screen-enter");e&&e.removeEventListener("click",t=>this.enterFullScreen(t))}_enableTooltips(){if(!this.container.querySelector('[data-bs-toggle="tooltip"]'))return;this.container.querySelectorAll('[data-bs-toggle="tooltip"]').forEach(t=>new l(t))}_startShinyOutputResizeObserver(){$(document).on("shiny:value",e=>{let t=e.binding.el;this.container.contains(t)&&(t.dataset.bslibOutputObserver||(this.shinyOutputResizeObserver=new ResizeObserver(e.binding.onResize),this.shinyOutputResizeObserver.observe(t),t.dataset.bslibOutputObserver="true"))})}_exitFullScreenOnEscape(e){e.key==="Escape"&&this.exitFullScreen()}_createOverlay(){let e=document.createElement("div");e.id="bslib-full-screen-overlay",e.classList.add("bslib-full-screen-overlay");let t=document.createElement("a");return t.classList.add("bslib-full-screen-exit"),t.innerHTML=this._overlayCloseHtml(),e.appendChild(t),e}_overlayCloseHtml(){return"Close "}static getInstance(e){return s.instanceMap.get(e)}static get observer(){return s.documentObserver}},r=s;r.instanceMap=new WeakMap,r.documentObserver=new c({added:{selector:".bslib-card[data-bslib-card-needs-init]",callback:e=>{new s(e)}},removed:{selector:".bslib-card",callback:e=>{var t;(t=s.getInstance(e))==null||t.destroy()}}});window.bslib=window.bslib||{};window.bslib.Card=r;})(); +//# sourceMappingURL=card.min.js.map diff --git a/inst/components/card.min.js.map b/inst/components/card.min.js.map new file mode 100644 index 000000000..3e617f619 --- /dev/null +++ b/inst/components/card.min.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../../srcts/src/components/_documentObserver.ts", "../../srcts/src/components/card.ts"], + "sourcesContent": ["/**\n * The DocumentObserver class creates an observer detecting all DOM changes,\n * watching for added or removed elements (or their children) that match\n * the specified selectors. When a matching element is added or removed, the\n * respective callback function is called. The DocumentObserver is insensitive\n * to when it's instantiated; it always runs `added.callback()` once on the\n * document body (waiting for DOMContentLoaded if necessary) and then starts\n * watching the DOM for added/removed elements.\n */\n\ninterface DocumentObserverConfig {\n added: {\n selector: string;\n callback: (node: HTMLElement) => void;\n };\n removed: {\n selector: string;\n callback: (node: HTMLElement) => void;\n };\n}\n\nclass DocumentObserver {\n private observer: MutationObserver;\n private config: DocumentObserverConfig;\n\n constructor(config: DocumentObserverConfig) {\n const mutationObserverCallback = (mutationsList: MutationRecord[]) => {\n for (const mutation of mutationsList) {\n if (mutation.type === \"childList\") {\n for (const addedNode of mutation.addedNodes) {\n if (addedNode.nodeType !== Node.ELEMENT_NODE) continue;\n this._callback(addedNode as HTMLElement, this.config.added);\n }\n for (const removedNode of mutation.removedNodes) {\n if (removedNode.nodeType !== Node.ELEMENT_NODE) continue;\n this._callback(removedNode as HTMLElement, this.config.removed);\n }\n }\n }\n };\n\n this.config = config;\n this.observer = new MutationObserver(mutationObserverCallback);\n if (document.readyState === \"complete\") {\n this.connect();\n } else {\n document.addEventListener(\"DOMContentLoaded\", () => this.connect());\n }\n }\n\n private _callback(\n el: HTMLElement,\n {\n selector,\n callback,\n }: { selector: string; callback: (node: HTMLElement) => void }\n ) {\n const elMatches = el.matches(selector);\n const hasMatchingChild = el.querySelector(selector);\n if (!elMatches && !hasMatchingChild) return;\n if (elMatches) callback(el);\n if (!hasMatchingChild) return;\n el.querySelectorAll(selector).forEach((node) =>\n callback(node as HTMLElement)\n );\n }\n\n connect(): void {\n this._callback(document.body, this.config.added);\n this.observer.observe(document, { childList: true, subtree: true });\n }\n\n disconnect(): void {\n this.observer.disconnect();\n }\n}\n\nexport { DocumentObserver };\nexport type { DocumentObserverConfig };\n", "import type { Tooltip as TooltipType } from \"bootstrap\";\nimport type { ShinyEventValue } from \"rstudio-shiny/srcts/types/src/events/shinyEvents\";\nimport { DocumentObserver } from \"./_documentObserver\";\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst Tooltip = (\n window.bootstrap ? window.bootstrap.Tooltip : class {}\n) as typeof TooltipType;\n\nclass Card {\n private container: HTMLElement;\n cardResizeObserver: ResizeObserver;\n shinyOutputResizeObserver: ResizeObserver | undefined;\n\n constructor(el: HTMLElement) {\n el.removeAttribute(\"data-bslib-card-needs-init\");\n\n this.container = el;\n Card.instanceMap.set(el, this);\n\n // Let Shiny know to trigger resize when the card size changes\n // TODO: shiny could/should do this itself (rstudio/shiny#3682)\n const resizeEvent = new Event(\"resize\");\n this.cardResizeObserver = new ResizeObserver(() => {\n window.dispatchEvent(resizeEvent);\n });\n this.cardResizeObserver.observe(this.container);\n\n this._addEventListeners();\n this._enableTooltips();\n this._startShinyOutputResizeObserver();\n }\n\n enterFullScreen(event?: Event): void {\n if (event) event.preventDefault();\n\n const overlay = this._createOverlay();\n overlay.addEventListener(\"click\", () => this.exitFullScreen());\n document.addEventListener(\"keyup\", this._exitFullScreenOnEscape, false);\n\n this.container.classList.add(\"bslib-full-screen\");\n this.container.insertAdjacentElement(\"beforebegin\", overlay);\n }\n\n exitFullScreen(): void {\n const overlay = document.getElementById(\"bslib-full-screen-overlay\");\n\n overlay ? overlay.remove() : null;\n this.container.classList.remove(\"bslib-full-screen\");\n\n overlay?.removeEventListener(\"click\", () => this.exitFullScreen());\n document.removeEventListener(\"keyup\", this._exitFullScreenOnEscape, false);\n }\n\n destroy(): void {\n this._removeEventListeners();\n this.cardResizeObserver.disconnect();\n if (this.shinyOutputResizeObserver) {\n this.shinyOutputResizeObserver.disconnect();\n }\n Card.instanceMap.delete(this.container);\n }\n\n private _addEventListeners(): void {\n const btnFullScreen = this.container.querySelector(\n \".bslib-full-screen-enter\"\n );\n if (!btnFullScreen) return;\n btnFullScreen.addEventListener(\"click\", (ev) => this.enterFullScreen(ev));\n }\n\n private _removeEventListeners(): void {\n const btnFullScreen = this.container.querySelector(\n \".bslib-full-screen-enter\"\n );\n if (!btnFullScreen) return;\n btnFullScreen.removeEventListener(\"click\", (ev) =>\n this.enterFullScreen(ev)\n );\n }\n\n private _enableTooltips(): void {\n if (!this.container.querySelector('[data-bs-toggle=\"tooltip\"]')) {\n return;\n }\n const tooltipList = this.container.querySelectorAll(\n '[data-bs-toggle=\"tooltip\"]'\n );\n tooltipList.forEach((tt) => new Tooltip(tt));\n }\n\n private _startShinyOutputResizeObserver(): void {\n // In some complex fill-based layouts with multiple outputs (e.g., plotly),\n // shiny initializes with the correct sizing, but in-between the 1st and last\n // renderValue(), the size of the output containers can change, meaning every\n // output but the 1st gets initialized with the wrong size during their\n // renderValue(); and then after the render phase, shiny won't know trigger a\n // resize since all the widgets will return to their original size\n // (and thus, Shiny thinks there isn't any resizing to do).\n // We workaround that situation by manually triggering a resize on the binding\n // when the output container changes (this way, if the size is different during\n // the render phase, Shiny will know about it)\n\n // TODO: Remove disable/ignore comments when rstudio/shiny#3815 is available\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore; Type definitions are not found. This occurs when `strict: true`\n $(document).on(\"shiny:value\", (x: ShinyEventValue) => {\n const el = x.binding.el;\n if (!this.container.contains(el)) return;\n if (el.dataset.bslibOutputObserver) return;\n\n this.shinyOutputResizeObserver = new ResizeObserver(x.binding.onResize);\n this.shinyOutputResizeObserver.observe(el);\n el.dataset.bslibOutputObserver = \"true\";\n });\n }\n\n private _exitFullScreenOnEscape(event: KeyboardEvent): void {\n if (event.key === \"Escape\") {\n this.exitFullScreen();\n }\n }\n\n private _createOverlay(): HTMLElement {\n const overlay = document.createElement(\"div\");\n overlay.id = \"bslib-full-screen-overlay\";\n overlay.classList.add(\"bslib-full-screen-overlay\");\n\n const overlayAnchor = document.createElement(\"a\");\n overlayAnchor.classList.add(\"bslib-full-screen-exit\");\n overlayAnchor.innerHTML = this._overlayCloseHtml();\n\n overlay.appendChild(overlayAnchor);\n return overlay;\n }\n\n private _overlayCloseHtml(): string {\n return (\n \"Close \" +\n \"\" +\n \"\"\n );\n }\n\n private static instanceMap: WeakMap = new WeakMap();\n\n public static getInstance(el: HTMLElement): Card | undefined {\n return Card.instanceMap.get(el);\n }\n\n private static documentObserver: DocumentObserver = new DocumentObserver({\n added: {\n selector: \".bslib-card[data-bslib-card-needs-init]\",\n callback: (card: HTMLElement) => {\n new Card(card);\n },\n },\n removed: {\n selector: \".bslib-card\",\n callback: (card: HTMLElement) => {\n Card.getInstance(card)?.destroy();\n },\n },\n });\n\n static get observer(): DocumentObserver {\n return Card.documentObserver;\n }\n}\n\n// attach Sidebar class to window for global usage\n(window as any).bslib = (window as any).bslib || {};\n(window as any).bslib.Card = Card;\n\nexport { Card };\n"], + "mappings": "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", + "names": ["DocumentObserver", "config", "mutationObserverCallback", "mutationsList", "mutation", "addedNode", "removedNode", "el", "selector", "callback", "elMatches", "hasMatchingChild", "node", "Tooltip", "_Card", "el", "resizeEvent", "event", "overlay", "btnFullScreen", "ev", "tt", "x", "overlayAnchor", "Card", "DocumentObserver", "card", "_a"] +} From f4e5bd1621615bfd977e6e46d9bd9fb2c3536de6 Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Tue, 2 May 2023 11:55:58 -0400 Subject: [PATCH 30/76] Full screen buttons are direct descendants of `.bslib-card` Fixes #558 --- srcts/src/components/card.ts | 44 ++++++++++++++++++++++++------------ 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/srcts/src/components/card.ts b/srcts/src/components/card.ts index c0855495e..4546cf0ff 100644 --- a/srcts/src/components/card.ts +++ b/srcts/src/components/card.ts @@ -12,8 +12,23 @@ class Card { cardResizeObserver: ResizeObserver; shinyOutputResizeObserver: ResizeObserver | undefined; + private static attr = { + // eslint-disable-next-line @typescript-eslint/naming-convention + ATTR_INIT: "data-bslib-card-needs-init", + // eslint-disable-next-line @typescript-eslint/naming-convention + CLASS_CARD: "bslib-card", + // eslint-disable-next-line @typescript-eslint/naming-convention + CLASS_FULL_SCREEN: "bslib-full-screen", + // eslint-disable-next-line @typescript-eslint/naming-convention + CLASS_FULL_SCREEN_ENTER: "bslib-full-screen-enter", + // eslint-disable-next-line @typescript-eslint/naming-convention + CLASS_FULL_SCREEN_EXIT: "bslib-full-screen-exit", + // eslint-disable-next-line @typescript-eslint/naming-convention + ID_FULL_SCREEN_OVERLAY: "bslib-full-screen-overlay", + }; + constructor(el: HTMLElement) { - el.removeAttribute("data-bslib-card-needs-init"); + el.removeAttribute(Card.attr.ATTR_INIT); this.container = el; Card.instanceMap.set(el, this); @@ -38,15 +53,15 @@ class Card { overlay.addEventListener("click", () => this.exitFullScreen()); document.addEventListener("keyup", this._exitFullScreenOnEscape, false); - this.container.classList.add("bslib-full-screen"); + this.container.classList.add(Card.attr.CLASS_FULL_SCREEN); this.container.insertAdjacentElement("beforebegin", overlay); } exitFullScreen(): void { - const overlay = document.getElementById("bslib-full-screen-overlay"); + const overlay = document.getElementById(Card.attr.ID_FULL_SCREEN_OVERLAY); overlay ? overlay.remove() : null; - this.container.classList.remove("bslib-full-screen"); + this.container.classList.remove(Card.attr.CLASS_FULL_SCREEN); overlay?.removeEventListener("click", () => this.exitFullScreen()); document.removeEventListener("keyup", this._exitFullScreenOnEscape, false); @@ -63,7 +78,7 @@ class Card { private _addEventListeners(): void { const btnFullScreen = this.container.querySelector( - ".bslib-full-screen-enter" + `:scope > .${Card.attr.CLASS_FULL_SCREEN_ENTER}` ); if (!btnFullScreen) return; btnFullScreen.addEventListener("click", (ev) => this.enterFullScreen(ev)); @@ -71,7 +86,7 @@ class Card { private _removeEventListeners(): void { const btnFullScreen = this.container.querySelector( - ".bslib-full-screen-enter" + `:scope > .${Card.attr.CLASS_FULL_SCREEN_ENTER}` ); if (!btnFullScreen) return; btnFullScreen.removeEventListener("click", (ev) => @@ -80,12 +95,11 @@ class Card { } private _enableTooltips(): void { - if (!this.container.querySelector('[data-bs-toggle="tooltip"]')) { + const selector = `.${Card.attr.CLASS_FULL_SCREEN_ENTER}[data-bs-toggle='tooltip']`; + if (!this.container.querySelector(selector)) { return; } - const tooltipList = this.container.querySelectorAll( - '[data-bs-toggle="tooltip"]' - ); + const tooltipList = this.container.querySelectorAll(selector); tooltipList.forEach((tt) => new Tooltip(tt)); } @@ -123,11 +137,11 @@ class Card { private _createOverlay(): HTMLElement { const overlay = document.createElement("div"); - overlay.id = "bslib-full-screen-overlay"; - overlay.classList.add("bslib-full-screen-overlay"); + overlay.id = Card.attr.ID_FULL_SCREEN_OVERLAY; + overlay.classList.add(Card.attr.ID_FULL_SCREEN_OVERLAY); const overlayAnchor = document.createElement("a"); - overlayAnchor.classList.add("bslib-full-screen-exit"); + overlayAnchor.classList.add(Card.attr.CLASS_FULL_SCREEN_EXIT); overlayAnchor.innerHTML = this._overlayCloseHtml(); overlay.appendChild(overlayAnchor); @@ -153,13 +167,13 @@ class Card { private static documentObserver: DocumentObserver = new DocumentObserver({ added: { - selector: ".bslib-card[data-bslib-card-needs-init]", + selector: `.${Card.attr.CLASS_CARD}[data-bslib-card-needs-init]`, callback: (card: HTMLElement) => { new Card(card); }, }, removed: { - selector: ".bslib-card", + selector: `.${Card.attr.CLASS_CARD}`, callback: (card: HTMLElement) => { Card.getInstance(card)?.destroy(); }, From 187e4fdb297437f0a636159341d95de13ad670da Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Tue, 2 May 2023 12:05:57 -0400 Subject: [PATCH 31/76] Add/remove body-level class when entering/exiting full screen So we can hide all bslib-full-screen-enter buttons when a card is in full screen mode. --- inst/components/card.scss | 7 ++++++- srcts/src/components/card.ts | 4 ++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/inst/components/card.scss b/inst/components/card.scss index ff66ea200..2b32840fa 100644 --- a/inst/components/card.scss +++ b/inst/components/card.scss @@ -93,10 +93,15 @@ z-index: $zindex-popover; } -.card:hover:not(.bslib-full-screen) .bslib-full-screen-enter { +.card:hover:not(.bslib-full-screen) > .bslib-full-screen-enter { display: block; } +// Hide all enter-full-screen buttons when *any* card is full-screenified +.bslib-has-full-screen .card:hover > .bslib-full-screen-enter { + display: none; +} + // Only allow full_screen on desktop screens @include media-breakpoint-down(sm) { .bslib-full-screen-enter { display: none !important; } diff --git a/srcts/src/components/card.ts b/srcts/src/components/card.ts index 4546cf0ff..14c406fef 100644 --- a/srcts/src/components/card.ts +++ b/srcts/src/components/card.ts @@ -20,6 +20,8 @@ class Card { // eslint-disable-next-line @typescript-eslint/naming-convention CLASS_FULL_SCREEN: "bslib-full-screen", // eslint-disable-next-line @typescript-eslint/naming-convention + CLASS_HAS_FULL_SCREEN: "bslib-has-full-screen", + // eslint-disable-next-line @typescript-eslint/naming-convention CLASS_FULL_SCREEN_ENTER: "bslib-full-screen-enter", // eslint-disable-next-line @typescript-eslint/naming-convention CLASS_FULL_SCREEN_EXIT: "bslib-full-screen-exit", @@ -54,6 +56,7 @@ class Card { document.addEventListener("keyup", this._exitFullScreenOnEscape, false); this.container.classList.add(Card.attr.CLASS_FULL_SCREEN); + document.body.classList.add(Card.attr.CLASS_HAS_FULL_SCREEN); this.container.insertAdjacentElement("beforebegin", overlay); } @@ -62,6 +65,7 @@ class Card { overlay ? overlay.remove() : null; this.container.classList.remove(Card.attr.CLASS_FULL_SCREEN); + document.body.classList.remove(Card.attr.CLASS_HAS_FULL_SCREEN); overlay?.removeEventListener("click", () => this.exitFullScreen()); document.removeEventListener("keyup", this._exitFullScreenOnEscape, false); From 2530e082415b0035d3e1204335da94c5d289e09a Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Tue, 2 May 2023 12:06:09 -0400 Subject: [PATCH 32/76] rebuild card component js --- inst/components/card.min.js | 2 +- inst/components/card.min.js.map | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/inst/components/card.min.js b/inst/components/card.min.js index 687ef2081..908766c9b 100644 --- a/inst/components/card.min.js +++ b/inst/components/card.min.js @@ -1,3 +1,3 @@ /*! bslib 0.4.2.9000 | (c) 2012-2023 RStudio, PBC. | License: MIT + file LICENSE */ -"use strict";(()=>{var c=class{constructor(e){let t=o=>{for(let i of o)if(i.type==="childList"){for(let n of i.addedNodes)n.nodeType===Node.ELEMENT_NODE&&this._callback(n,this.config.added);for(let n of i.removedNodes)n.nodeType===Node.ELEMENT_NODE&&this._callback(n,this.config.removed)}};this.config=e,this.observer=new MutationObserver(t),document.readyState==="complete"?this.connect():document.addEventListener("DOMContentLoaded",()=>this.connect())}_callback(e,{selector:t,callback:o}){let i=e.matches(t),n=e.querySelector(t);!i&&!n||(i&&o(e),n&&e.querySelectorAll(t).forEach(a=>o(a)))}connect(){this._callback(document.body,this.config.added),this.observer.observe(document,{childList:!0,subtree:!0})}disconnect(){this.observer.disconnect()}};var l=window.bootstrap?window.bootstrap.Tooltip:class{},s=class{constructor(e){e.removeAttribute("data-bslib-card-needs-init"),this.container=e,s.instanceMap.set(e,this);let t=new Event("resize");this.cardResizeObserver=new ResizeObserver(()=>{window.dispatchEvent(t)}),this.cardResizeObserver.observe(this.container),this._addEventListeners(),this._enableTooltips(),this._startShinyOutputResizeObserver()}enterFullScreen(e){e&&e.preventDefault();let t=this._createOverlay();t.addEventListener("click",()=>this.exitFullScreen()),document.addEventListener("keyup",this._exitFullScreenOnEscape,!1),this.container.classList.add("bslib-full-screen"),this.container.insertAdjacentElement("beforebegin",t)}exitFullScreen(){let e=document.getElementById("bslib-full-screen-overlay");e&&e.remove(),this.container.classList.remove("bslib-full-screen"),e==null||e.removeEventListener("click",()=>this.exitFullScreen()),document.removeEventListener("keyup",this._exitFullScreenOnEscape,!1)}destroy(){this._removeEventListeners(),this.cardResizeObserver.disconnect(),this.shinyOutputResizeObserver&&this.shinyOutputResizeObserver.disconnect(),s.instanceMap.delete(this.container)}_addEventListeners(){let e=this.container.querySelector(".bslib-full-screen-enter");e&&e.addEventListener("click",t=>this.enterFullScreen(t))}_removeEventListeners(){let e=this.container.querySelector(".bslib-full-screen-enter");e&&e.removeEventListener("click",t=>this.enterFullScreen(t))}_enableTooltips(){if(!this.container.querySelector('[data-bs-toggle="tooltip"]'))return;this.container.querySelectorAll('[data-bs-toggle="tooltip"]').forEach(t=>new l(t))}_startShinyOutputResizeObserver(){$(document).on("shiny:value",e=>{let t=e.binding.el;this.container.contains(t)&&(t.dataset.bslibOutputObserver||(this.shinyOutputResizeObserver=new ResizeObserver(e.binding.onResize),this.shinyOutputResizeObserver.observe(t),t.dataset.bslibOutputObserver="true"))})}_exitFullScreenOnEscape(e){e.key==="Escape"&&this.exitFullScreen()}_createOverlay(){let e=document.createElement("div");e.id="bslib-full-screen-overlay",e.classList.add("bslib-full-screen-overlay");let t=document.createElement("a");return t.classList.add("bslib-full-screen-exit"),t.innerHTML=this._overlayCloseHtml(),e.appendChild(t),e}_overlayCloseHtml(){return"Close "}static getInstance(e){return s.instanceMap.get(e)}static get observer(){return s.documentObserver}},r=s;r.instanceMap=new WeakMap,r.documentObserver=new c({added:{selector:".bslib-card[data-bslib-card-needs-init]",callback:e=>{new s(e)}},removed:{selector:".bslib-card",callback:e=>{var t;(t=s.getInstance(e))==null||t.destroy()}}});window.bslib=window.bslib||{};window.bslib.Card=r;})(); +"use strict";(()=>{var a=class{constructor(e){let t=r=>{for(let i of r)if(i.type==="childList"){for(let n of i.addedNodes)n.nodeType===Node.ELEMENT_NODE&&this._callback(n,this.config.added);for(let n of i.removedNodes)n.nodeType===Node.ELEMENT_NODE&&this._callback(n,this.config.removed)}};this.config=e,this.observer=new MutationObserver(t),document.readyState==="complete"?this.connect():document.addEventListener("DOMContentLoaded",()=>this.connect())}_callback(e,{selector:t,callback:r}){let i=e.matches(t),n=e.querySelector(t);!i&&!n||(i&&r(e),n&&e.querySelectorAll(t).forEach(c=>r(c)))}connect(){this._callback(document.body,this.config.added),this.observer.observe(document,{childList:!0,subtree:!0})}disconnect(){this.observer.disconnect()}};var l=window.bootstrap?window.bootstrap.Tooltip:class{},s=class{constructor(e){e.removeAttribute(s.attr.ATTR_INIT),this.container=e,s.instanceMap.set(e,this);let t=new Event("resize");this.cardResizeObserver=new ResizeObserver(()=>{window.dispatchEvent(t)}),this.cardResizeObserver.observe(this.container),this._addEventListeners(),this._enableTooltips(),this._startShinyOutputResizeObserver()}enterFullScreen(e){e&&e.preventDefault();let t=this._createOverlay();t.addEventListener("click",()=>this.exitFullScreen()),document.addEventListener("keyup",this._exitFullScreenOnEscape,!1),this.container.classList.add(s.attr.CLASS_FULL_SCREEN),document.body.classList.add(s.attr.CLASS_HAS_FULL_SCREEN),this.container.insertAdjacentElement("beforebegin",t)}exitFullScreen(){let e=document.getElementById(s.attr.ID_FULL_SCREEN_OVERLAY);e&&e.remove(),this.container.classList.remove(s.attr.CLASS_FULL_SCREEN),document.body.classList.remove(s.attr.CLASS_HAS_FULL_SCREEN),e==null||e.removeEventListener("click",()=>this.exitFullScreen()),document.removeEventListener("keyup",this._exitFullScreenOnEscape,!1)}destroy(){this._removeEventListeners(),this.cardResizeObserver.disconnect(),this.shinyOutputResizeObserver&&this.shinyOutputResizeObserver.disconnect(),s.instanceMap.delete(this.container)}_addEventListeners(){let e=this.container.querySelector(`:scope > .${s.attr.CLASS_FULL_SCREEN_ENTER}`);e&&e.addEventListener("click",t=>this.enterFullScreen(t))}_removeEventListeners(){let e=this.container.querySelector(`:scope > .${s.attr.CLASS_FULL_SCREEN_ENTER}`);e&&e.removeEventListener("click",t=>this.enterFullScreen(t))}_enableTooltips(){let e=`.${s.attr.CLASS_FULL_SCREEN_ENTER}[data-bs-toggle='tooltip']`;if(!this.container.querySelector(e))return;this.container.querySelectorAll(e).forEach(r=>new l(r))}_startShinyOutputResizeObserver(){$(document).on("shiny:value",e=>{let t=e.binding.el;this.container.contains(t)&&(t.dataset.bslibOutputObserver||(this.shinyOutputResizeObserver=new ResizeObserver(e.binding.onResize),this.shinyOutputResizeObserver.observe(t),t.dataset.bslibOutputObserver="true"))})}_exitFullScreenOnEscape(e){e.key==="Escape"&&this.exitFullScreen()}_createOverlay(){let e=document.createElement("div");e.id=s.attr.ID_FULL_SCREEN_OVERLAY,e.classList.add(s.attr.ID_FULL_SCREEN_OVERLAY);let t=document.createElement("a");return t.classList.add(s.attr.CLASS_FULL_SCREEN_EXIT),t.innerHTML=this._overlayCloseHtml(),e.appendChild(t),e}_overlayCloseHtml(){return"Close "}static getInstance(e){return s.instanceMap.get(e)}static get observer(){return s.documentObserver}},o=s;o.attr={ATTR_INIT:"data-bslib-card-needs-init",CLASS_CARD:"bslib-card",CLASS_FULL_SCREEN:"bslib-full-screen",CLASS_HAS_FULL_SCREEN:"bslib-has-full-screen",CLASS_FULL_SCREEN_ENTER:"bslib-full-screen-enter",CLASS_FULL_SCREEN_EXIT:"bslib-full-screen-exit",ID_FULL_SCREEN_OVERLAY:"bslib-full-screen-overlay"},o.instanceMap=new WeakMap,o.documentObserver=new a({added:{selector:`.${s.attr.CLASS_CARD}[data-bslib-card-needs-init]`,callback:e=>{new s(e)}},removed:{selector:`.${s.attr.CLASS_CARD}`,callback:e=>{var t;(t=s.getInstance(e))==null||t.destroy()}}});window.bslib=window.bslib||{};window.bslib.Card=o;})(); //# sourceMappingURL=card.min.js.map diff --git a/inst/components/card.min.js.map b/inst/components/card.min.js.map index 3e617f619..f16c36b3b 100644 --- a/inst/components/card.min.js.map +++ b/inst/components/card.min.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": ["../../srcts/src/components/_documentObserver.ts", "../../srcts/src/components/card.ts"], - "sourcesContent": ["/**\n * The DocumentObserver class creates an observer detecting all DOM changes,\n * watching for added or removed elements (or their children) that match\n * the specified selectors. When a matching element is added or removed, the\n * respective callback function is called. The DocumentObserver is insensitive\n * to when it's instantiated; it always runs `added.callback()` once on the\n * document body (waiting for DOMContentLoaded if necessary) and then starts\n * watching the DOM for added/removed elements.\n */\n\ninterface DocumentObserverConfig {\n added: {\n selector: string;\n callback: (node: HTMLElement) => void;\n };\n removed: {\n selector: string;\n callback: (node: HTMLElement) => void;\n };\n}\n\nclass DocumentObserver {\n private observer: MutationObserver;\n private config: DocumentObserverConfig;\n\n constructor(config: DocumentObserverConfig) {\n const mutationObserverCallback = (mutationsList: MutationRecord[]) => {\n for (const mutation of mutationsList) {\n if (mutation.type === \"childList\") {\n for (const addedNode of mutation.addedNodes) {\n if (addedNode.nodeType !== Node.ELEMENT_NODE) continue;\n this._callback(addedNode as HTMLElement, this.config.added);\n }\n for (const removedNode of mutation.removedNodes) {\n if (removedNode.nodeType !== Node.ELEMENT_NODE) continue;\n this._callback(removedNode as HTMLElement, this.config.removed);\n }\n }\n }\n };\n\n this.config = config;\n this.observer = new MutationObserver(mutationObserverCallback);\n if (document.readyState === \"complete\") {\n this.connect();\n } else {\n document.addEventListener(\"DOMContentLoaded\", () => this.connect());\n }\n }\n\n private _callback(\n el: HTMLElement,\n {\n selector,\n callback,\n }: { selector: string; callback: (node: HTMLElement) => void }\n ) {\n const elMatches = el.matches(selector);\n const hasMatchingChild = el.querySelector(selector);\n if (!elMatches && !hasMatchingChild) return;\n if (elMatches) callback(el);\n if (!hasMatchingChild) return;\n el.querySelectorAll(selector).forEach((node) =>\n callback(node as HTMLElement)\n );\n }\n\n connect(): void {\n this._callback(document.body, this.config.added);\n this.observer.observe(document, { childList: true, subtree: true });\n }\n\n disconnect(): void {\n this.observer.disconnect();\n }\n}\n\nexport { DocumentObserver };\nexport type { DocumentObserverConfig };\n", "import type { Tooltip as TooltipType } from \"bootstrap\";\nimport type { ShinyEventValue } from \"rstudio-shiny/srcts/types/src/events/shinyEvents\";\nimport { DocumentObserver } from \"./_documentObserver\";\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst Tooltip = (\n window.bootstrap ? window.bootstrap.Tooltip : class {}\n) as typeof TooltipType;\n\nclass Card {\n private container: HTMLElement;\n cardResizeObserver: ResizeObserver;\n shinyOutputResizeObserver: ResizeObserver | undefined;\n\n constructor(el: HTMLElement) {\n el.removeAttribute(\"data-bslib-card-needs-init\");\n\n this.container = el;\n Card.instanceMap.set(el, this);\n\n // Let Shiny know to trigger resize when the card size changes\n // TODO: shiny could/should do this itself (rstudio/shiny#3682)\n const resizeEvent = new Event(\"resize\");\n this.cardResizeObserver = new ResizeObserver(() => {\n window.dispatchEvent(resizeEvent);\n });\n this.cardResizeObserver.observe(this.container);\n\n this._addEventListeners();\n this._enableTooltips();\n this._startShinyOutputResizeObserver();\n }\n\n enterFullScreen(event?: Event): void {\n if (event) event.preventDefault();\n\n const overlay = this._createOverlay();\n overlay.addEventListener(\"click\", () => this.exitFullScreen());\n document.addEventListener(\"keyup\", this._exitFullScreenOnEscape, false);\n\n this.container.classList.add(\"bslib-full-screen\");\n this.container.insertAdjacentElement(\"beforebegin\", overlay);\n }\n\n exitFullScreen(): void {\n const overlay = document.getElementById(\"bslib-full-screen-overlay\");\n\n overlay ? overlay.remove() : null;\n this.container.classList.remove(\"bslib-full-screen\");\n\n overlay?.removeEventListener(\"click\", () => this.exitFullScreen());\n document.removeEventListener(\"keyup\", this._exitFullScreenOnEscape, false);\n }\n\n destroy(): void {\n this._removeEventListeners();\n this.cardResizeObserver.disconnect();\n if (this.shinyOutputResizeObserver) {\n this.shinyOutputResizeObserver.disconnect();\n }\n Card.instanceMap.delete(this.container);\n }\n\n private _addEventListeners(): void {\n const btnFullScreen = this.container.querySelector(\n \".bslib-full-screen-enter\"\n );\n if (!btnFullScreen) return;\n btnFullScreen.addEventListener(\"click\", (ev) => this.enterFullScreen(ev));\n }\n\n private _removeEventListeners(): void {\n const btnFullScreen = this.container.querySelector(\n \".bslib-full-screen-enter\"\n );\n if (!btnFullScreen) return;\n btnFullScreen.removeEventListener(\"click\", (ev) =>\n this.enterFullScreen(ev)\n );\n }\n\n private _enableTooltips(): void {\n if (!this.container.querySelector('[data-bs-toggle=\"tooltip\"]')) {\n return;\n }\n const tooltipList = this.container.querySelectorAll(\n '[data-bs-toggle=\"tooltip\"]'\n );\n tooltipList.forEach((tt) => new Tooltip(tt));\n }\n\n private _startShinyOutputResizeObserver(): void {\n // In some complex fill-based layouts with multiple outputs (e.g., plotly),\n // shiny initializes with the correct sizing, but in-between the 1st and last\n // renderValue(), the size of the output containers can change, meaning every\n // output but the 1st gets initialized with the wrong size during their\n // renderValue(); and then after the render phase, shiny won't know trigger a\n // resize since all the widgets will return to their original size\n // (and thus, Shiny thinks there isn't any resizing to do).\n // We workaround that situation by manually triggering a resize on the binding\n // when the output container changes (this way, if the size is different during\n // the render phase, Shiny will know about it)\n\n // TODO: Remove disable/ignore comments when rstudio/shiny#3815 is available\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore; Type definitions are not found. This occurs when `strict: true`\n $(document).on(\"shiny:value\", (x: ShinyEventValue) => {\n const el = x.binding.el;\n if (!this.container.contains(el)) return;\n if (el.dataset.bslibOutputObserver) return;\n\n this.shinyOutputResizeObserver = new ResizeObserver(x.binding.onResize);\n this.shinyOutputResizeObserver.observe(el);\n el.dataset.bslibOutputObserver = \"true\";\n });\n }\n\n private _exitFullScreenOnEscape(event: KeyboardEvent): void {\n if (event.key === \"Escape\") {\n this.exitFullScreen();\n }\n }\n\n private _createOverlay(): HTMLElement {\n const overlay = document.createElement(\"div\");\n overlay.id = \"bslib-full-screen-overlay\";\n overlay.classList.add(\"bslib-full-screen-overlay\");\n\n const overlayAnchor = document.createElement(\"a\");\n overlayAnchor.classList.add(\"bslib-full-screen-exit\");\n overlayAnchor.innerHTML = this._overlayCloseHtml();\n\n overlay.appendChild(overlayAnchor);\n return overlay;\n }\n\n private _overlayCloseHtml(): string {\n return (\n \"Close \" +\n \"\" +\n \"\"\n );\n }\n\n private static instanceMap: WeakMap = new WeakMap();\n\n public static getInstance(el: HTMLElement): Card | undefined {\n return Card.instanceMap.get(el);\n }\n\n private static documentObserver: DocumentObserver = new DocumentObserver({\n added: {\n selector: \".bslib-card[data-bslib-card-needs-init]\",\n callback: (card: HTMLElement) => {\n new Card(card);\n },\n },\n removed: {\n selector: \".bslib-card\",\n callback: (card: HTMLElement) => {\n Card.getInstance(card)?.destroy();\n },\n },\n });\n\n static get observer(): DocumentObserver {\n return Card.documentObserver;\n }\n}\n\n// attach Sidebar class to window for global usage\n(window as any).bslib = (window as any).bslib || {};\n(window as any).bslib.Card = Card;\n\nexport { Card };\n"], - "mappings": "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", - "names": ["DocumentObserver", "config", "mutationObserverCallback", "mutationsList", "mutation", "addedNode", "removedNode", "el", "selector", "callback", "elMatches", "hasMatchingChild", "node", "Tooltip", "_Card", "el", "resizeEvent", "event", "overlay", "btnFullScreen", "ev", "tt", "x", "overlayAnchor", "Card", "DocumentObserver", "card", "_a"] + "sourcesContent": ["/**\n * The DocumentObserver class creates an observer detecting all DOM changes,\n * watching for added or removed elements (or their children) that match\n * the specified selectors. When a matching element is added or removed, the\n * respective callback function is called. The DocumentObserver is insensitive\n * to when it's instantiated; it always runs `added.callback()` once on the\n * document body (waiting for DOMContentLoaded if necessary) and then starts\n * watching the DOM for added/removed elements.\n */\n\ninterface DocumentObserverConfig {\n added: {\n selector: string;\n callback: (node: HTMLElement) => void;\n };\n removed: {\n selector: string;\n callback: (node: HTMLElement) => void;\n };\n}\n\nclass DocumentObserver {\n private observer: MutationObserver;\n private config: DocumentObserverConfig;\n\n constructor(config: DocumentObserverConfig) {\n const mutationObserverCallback = (mutationsList: MutationRecord[]) => {\n for (const mutation of mutationsList) {\n if (mutation.type === \"childList\") {\n for (const addedNode of mutation.addedNodes) {\n if (addedNode.nodeType !== Node.ELEMENT_NODE) continue;\n this._callback(addedNode as HTMLElement, this.config.added);\n }\n for (const removedNode of mutation.removedNodes) {\n if (removedNode.nodeType !== Node.ELEMENT_NODE) continue;\n this._callback(removedNode as HTMLElement, this.config.removed);\n }\n }\n }\n };\n\n this.config = config;\n this.observer = new MutationObserver(mutationObserverCallback);\n if (document.readyState === \"complete\") {\n this.connect();\n } else {\n document.addEventListener(\"DOMContentLoaded\", () => this.connect());\n }\n }\n\n private _callback(\n el: HTMLElement,\n {\n selector,\n callback,\n }: { selector: string; callback: (node: HTMLElement) => void }\n ) {\n const elMatches = el.matches(selector);\n const hasMatchingChild = el.querySelector(selector);\n if (!elMatches && !hasMatchingChild) return;\n if (elMatches) callback(el);\n if (!hasMatchingChild) return;\n el.querySelectorAll(selector).forEach((node) =>\n callback(node as HTMLElement)\n );\n }\n\n connect(): void {\n this._callback(document.body, this.config.added);\n this.observer.observe(document, { childList: true, subtree: true });\n }\n\n disconnect(): void {\n this.observer.disconnect();\n }\n}\n\nexport { DocumentObserver };\nexport type { DocumentObserverConfig };\n", "import type { Tooltip as TooltipType } from \"bootstrap\";\nimport type { ShinyEventValue } from \"rstudio-shiny/srcts/types/src/events/shinyEvents\";\nimport { DocumentObserver } from \"./_documentObserver\";\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst Tooltip = (\n window.bootstrap ? window.bootstrap.Tooltip : class {}\n) as typeof TooltipType;\n\nclass Card {\n private container: HTMLElement;\n cardResizeObserver: ResizeObserver;\n shinyOutputResizeObserver: ResizeObserver | undefined;\n\n private static attr = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n ATTR_INIT: \"data-bslib-card-needs-init\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n CLASS_CARD: \"bslib-card\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n CLASS_FULL_SCREEN: \"bslib-full-screen\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n CLASS_HAS_FULL_SCREEN: \"bslib-has-full-screen\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n CLASS_FULL_SCREEN_ENTER: \"bslib-full-screen-enter\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n CLASS_FULL_SCREEN_EXIT: \"bslib-full-screen-exit\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n ID_FULL_SCREEN_OVERLAY: \"bslib-full-screen-overlay\",\n };\n\n constructor(el: HTMLElement) {\n el.removeAttribute(Card.attr.ATTR_INIT);\n\n this.container = el;\n Card.instanceMap.set(el, this);\n\n // Let Shiny know to trigger resize when the card size changes\n // TODO: shiny could/should do this itself (rstudio/shiny#3682)\n const resizeEvent = new Event(\"resize\");\n this.cardResizeObserver = new ResizeObserver(() => {\n window.dispatchEvent(resizeEvent);\n });\n this.cardResizeObserver.observe(this.container);\n\n this._addEventListeners();\n this._enableTooltips();\n this._startShinyOutputResizeObserver();\n }\n\n enterFullScreen(event?: Event): void {\n if (event) event.preventDefault();\n\n const overlay = this._createOverlay();\n overlay.addEventListener(\"click\", () => this.exitFullScreen());\n document.addEventListener(\"keyup\", this._exitFullScreenOnEscape, false);\n\n this.container.classList.add(Card.attr.CLASS_FULL_SCREEN);\n document.body.classList.add(Card.attr.CLASS_HAS_FULL_SCREEN);\n this.container.insertAdjacentElement(\"beforebegin\", overlay);\n }\n\n exitFullScreen(): void {\n const overlay = document.getElementById(Card.attr.ID_FULL_SCREEN_OVERLAY);\n\n overlay ? overlay.remove() : null;\n this.container.classList.remove(Card.attr.CLASS_FULL_SCREEN);\n document.body.classList.remove(Card.attr.CLASS_HAS_FULL_SCREEN);\n\n overlay?.removeEventListener(\"click\", () => this.exitFullScreen());\n document.removeEventListener(\"keyup\", this._exitFullScreenOnEscape, false);\n }\n\n destroy(): void {\n this._removeEventListeners();\n this.cardResizeObserver.disconnect();\n if (this.shinyOutputResizeObserver) {\n this.shinyOutputResizeObserver.disconnect();\n }\n Card.instanceMap.delete(this.container);\n }\n\n private _addEventListeners(): void {\n const btnFullScreen = this.container.querySelector(\n `:scope > .${Card.attr.CLASS_FULL_SCREEN_ENTER}`\n );\n if (!btnFullScreen) return;\n btnFullScreen.addEventListener(\"click\", (ev) => this.enterFullScreen(ev));\n }\n\n private _removeEventListeners(): void {\n const btnFullScreen = this.container.querySelector(\n `:scope > .${Card.attr.CLASS_FULL_SCREEN_ENTER}`\n );\n if (!btnFullScreen) return;\n btnFullScreen.removeEventListener(\"click\", (ev) =>\n this.enterFullScreen(ev)\n );\n }\n\n private _enableTooltips(): void {\n const selector = `.${Card.attr.CLASS_FULL_SCREEN_ENTER}[data-bs-toggle='tooltip']`;\n if (!this.container.querySelector(selector)) {\n return;\n }\n const tooltipList = this.container.querySelectorAll(selector);\n tooltipList.forEach((tt) => new Tooltip(tt));\n }\n\n private _startShinyOutputResizeObserver(): void {\n // In some complex fill-based layouts with multiple outputs (e.g., plotly),\n // shiny initializes with the correct sizing, but in-between the 1st and last\n // renderValue(), the size of the output containers can change, meaning every\n // output but the 1st gets initialized with the wrong size during their\n // renderValue(); and then after the render phase, shiny won't know trigger a\n // resize since all the widgets will return to their original size\n // (and thus, Shiny thinks there isn't any resizing to do).\n // We workaround that situation by manually triggering a resize on the binding\n // when the output container changes (this way, if the size is different during\n // the render phase, Shiny will know about it)\n\n // TODO: Remove disable/ignore comments when rstudio/shiny#3815 is available\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore; Type definitions are not found. This occurs when `strict: true`\n $(document).on(\"shiny:value\", (x: ShinyEventValue) => {\n const el = x.binding.el;\n if (!this.container.contains(el)) return;\n if (el.dataset.bslibOutputObserver) return;\n\n this.shinyOutputResizeObserver = new ResizeObserver(x.binding.onResize);\n this.shinyOutputResizeObserver.observe(el);\n el.dataset.bslibOutputObserver = \"true\";\n });\n }\n\n private _exitFullScreenOnEscape(event: KeyboardEvent): void {\n if (event.key === \"Escape\") {\n this.exitFullScreen();\n }\n }\n\n private _createOverlay(): HTMLElement {\n const overlay = document.createElement(\"div\");\n overlay.id = Card.attr.ID_FULL_SCREEN_OVERLAY;\n overlay.classList.add(Card.attr.ID_FULL_SCREEN_OVERLAY);\n\n const overlayAnchor = document.createElement(\"a\");\n overlayAnchor.classList.add(Card.attr.CLASS_FULL_SCREEN_EXIT);\n overlayAnchor.innerHTML = this._overlayCloseHtml();\n\n overlay.appendChild(overlayAnchor);\n return overlay;\n }\n\n private _overlayCloseHtml(): string {\n return (\n \"Close \" +\n \"\" +\n \"\"\n );\n }\n\n private static instanceMap: WeakMap = new WeakMap();\n\n public static getInstance(el: HTMLElement): Card | undefined {\n return Card.instanceMap.get(el);\n }\n\n private static documentObserver: DocumentObserver = new DocumentObserver({\n added: {\n selector: `.${Card.attr.CLASS_CARD}[data-bslib-card-needs-init]`,\n callback: (card: HTMLElement) => {\n new Card(card);\n },\n },\n removed: {\n selector: `.${Card.attr.CLASS_CARD}`,\n callback: (card: HTMLElement) => {\n Card.getInstance(card)?.destroy();\n },\n },\n });\n\n static get observer(): DocumentObserver {\n return Card.documentObserver;\n }\n}\n\n// attach Sidebar class to window for global usage\n(window as any).bslib = (window as any).bslib || {};\n(window as any).bslib.Card = Card;\n\nexport { Card };\n"], + "mappings": "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", + "names": ["DocumentObserver", "config", "mutationObserverCallback", "mutationsList", "mutation", "addedNode", "removedNode", "el", "selector", "callback", "elMatches", "hasMatchingChild", "node", "Tooltip", "_Card", "el", "resizeEvent", "event", "overlay", "btnFullScreen", "ev", "selector", "tt", "x", "overlayAnchor", "Card", "DocumentObserver", "card", "_a"] } From a703f90235539f672b3dd55d65352adc52d07a51 Mon Sep 17 00:00:00 2001 From: gadenbuie Date: Tue, 2 May 2023 16:12:12 +0000 Subject: [PATCH 33/76] Resave distributed files (GitHub Action) --- inst/css-precompiled/5/bootstrap.min.css | 2 +- inst/fonts/pe03MImSLYBIv1o4X1M8cc9iB_5p.woff | Bin 57736 -> 0 bytes inst/fonts/pe0qMImSLYBIv1o4X1M8cfe5.woff | Bin 57420 -> 0 bytes inst/lib/bsw4/dist/lux/font.css | 6 ++++-- inst/lib/bsw5/dist/lux/font.css | 6 ++++-- 5 files changed, 9 insertions(+), 5 deletions(-) delete mode 100644 inst/fonts/pe03MImSLYBIv1o4X1M8cc9iB_5p.woff delete mode 100644 inst/fonts/pe0qMImSLYBIv1o4X1M8cfe5.woff diff --git a/inst/css-precompiled/5/bootstrap.min.css b/inst/css-precompiled/5/bootstrap.min.css index 3f7db3d52..b369320b8 100644 --- a/inst/css-precompiled/5/bootstrap.min.css +++ b/inst/css-precompiled/5/bootstrap.min.css @@ -3,4 +3,4 @@ * Copyright 2011-2022 The Bootstrap Authors * Copyright 2011-2022 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */:root{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-default: #dee2e6;--bs-primary: #0d6efd;--bs-secondary: #6c757d;--bs-success: #198754;--bs-info: #0dcaf0;--bs-warning: #ffc107;--bs-danger: #dc3545;--bs-light: #f8f9fa;--bs-dark: #212529;--bs-default-rgb: 222,226,230;--bs-primary-rgb: 13,110,253;--bs-secondary-rgb: 108,117,125;--bs-success-rgb: 25,135,84;--bs-info-rgb: 13,202,240;--bs-warning-rgb: 255,193,7;--bs-danger-rgb: 220,53,69;--bs-light-rgb: 248,249,250;--bs-dark-rgb: 33,37,41;--bs-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", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255,255,255,0.15), rgba(255,255,255,0));--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #212529;--bs-body-bg: #fff;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0,0,0,0.175);--bs-border-radius: .375rem;--bs-border-radius-sm: .25rem;--bs-border-radius-lg: .5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-2xl: 2rem;--bs-border-radius-pill: 50rem;--bs-link-color: #0d6efd;--bs-link-hover-color: #0a58ca;--bs-code-color: #000;--bs-highlight-bg: #fff3cd}*,*::before,*::after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:1px solid;opacity:.25}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:calc(1.325rem + .9vw)}@media (min-width: 1200px){h2,.h2{font-size:2rem}}h3,.h3{font-size:calc(1.3rem + .6vw)}@media (min-width: 1200px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{text-decoration:underline dotted;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;-ms-text-decoration:underline dotted;-o-text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem;padding:.625rem 1.25rem;border-left:.25rem solid #e9ecef}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}b,strong{font-weight:bolder}small,.small{font-size:.875em}mark,.mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--bs-link-color);text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}a:hover{color:var(--bs-link-hover-color)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em;color:#000;background-color:#f6f6f6;padding:.5rem;border:1px solid #dee2e6;border-radius:.375rem}pre code{background-color:transparent;font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);background-color:#f6f6f6;border-radius:.375rem;padding:.125rem .25rem;word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.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]:not([type="date"]):not([type="datetime-local"]):not([type="month"]):not([type="week"]):not([type="time"])::-webkit-calendar-picker-indicator{display:none !important}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button:not(:disabled),[type="button"]:not(:disabled),[type="reset"]:not(:disabled),[type="submit"]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .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}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none !important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.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:.875em;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid var(--bs-border-color);border-radius:.375rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container-sm,.container{max-width:540px}}@media (min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media (min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media (min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}@media (min-width: 1400px){.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1320px}}.row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;-webkit-flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%;-webkit-flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333%}.offset-2{margin-left:16.66667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333%}.offset-5{margin-left:41.66667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333%}.offset-8{margin-left:66.66667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333%}.offset-11{margin-left:91.66667%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: .25rem}.g-1,.gy-1{--bs-gutter-y: .25rem}.g-2,.gx-2{--bs-gutter-x: .5rem}.g-2,.gy-2{--bs-gutter-y: .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%;-webkit-flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-sm-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-sm-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-sm-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-sm-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-sm-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-sm-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-sm-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-sm-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-sm-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-sm-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333%}.offset-sm-2{margin-left:16.66667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333%}.offset-sm-5{margin-left:41.66667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333%}.offset-sm-8{margin-left:66.66667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333%}.offset-sm-11{margin-left:91.66667%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: .25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: .25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: .5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: .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%;-webkit-flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-md-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-md-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-md-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-md-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-md-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-md-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-md-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-md-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-md-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-md-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333%}.offset-md-2{margin-left:16.66667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333%}.offset-md-5{margin-left:41.66667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333%}.offset-md-8{margin-left:66.66667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333%}.offset-md-11{margin-left:91.66667%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: .25rem}.g-md-1,.gy-md-1{--bs-gutter-y: .25rem}.g-md-2,.gx-md-2{--bs-gutter-x: .5rem}.g-md-2,.gy-md-2{--bs-gutter-y: .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%;-webkit-flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-lg-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-lg-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-lg-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-lg-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-lg-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-lg-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-lg-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-lg-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-lg-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-lg-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333%}.offset-lg-2{margin-left:16.66667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333%}.offset-lg-5{margin-left:41.66667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333%}.offset-lg-8{margin-left:66.66667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333%}.offset-lg-11{margin-left:91.66667%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: .25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: .25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: .5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: .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%;-webkit-flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-xl-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-xl-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-xl-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-xl-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-xl-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-xl-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-xl-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-xl-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-xl-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-xl-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333%}.offset-xl-2{margin-left:16.66667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333%}.offset-xl-5{margin-left:41.66667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333%}.offset-xl-8{margin-left:66.66667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333%}.offset-xl-11{margin-left:91.66667%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: .25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: .25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: .5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: .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%;-webkit-flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-xxl-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-xxl-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-xxl-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-xxl-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-xxl-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-xxl-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-xxl-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-xxl-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-xxl-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-xxl-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333%}.offset-xxl-2{margin-left:16.66667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333%}.offset-xxl-5{margin-left:41.66667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333%}.offset-xxl-8{margin-left:66.66667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333%}.offset-xxl-11{margin-left:91.66667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: .25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: .25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: .5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: .5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.table{--bs-table-color: var(--bs-body-color);--bs-table-bg: rgba(0,0,0,0);--bs-table-border-color: var(--bs-border-color);--bs-table-accent-bg: rgba(0,0,0,0);--bs-table-striped-color: var(--bs-body-color);--bs-table-striped-bg: rgba(0,0,0,0.05);--bs-table-active-color: var(--bs-body-color);--bs-table-active-bg: rgba(0,0,0,0.1);--bs-table-hover-color: var(--bs-body-color);--bs-table-hover-bg: rgba(0,0,0,0.075);width:100%;margin-bottom:1rem;color:var(--bs-table-color);vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .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-group-divider{border-top:2px solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .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-striped-columns>:not(caption)>tr>:nth-child(even){--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-color: #000;--bs-table-bg: #cfe2ff;--bs-table-border-color: #bacbe6;--bs-table-striped-bg: #c5d7f2;--bs-table-striped-color: #000;--bs-table-active-bg: #bacbe6;--bs-table-active-color: #000;--bs-table-hover-bg: #bfd1ec;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: #e2e3e5;--bs-table-border-color: #cbccce;--bs-table-striped-bg: #d7d8da;--bs-table-striped-color: #000;--bs-table-active-bg: #cbccce;--bs-table-active-color: #000;--bs-table-hover-bg: #d1d2d4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: #d1e7dd;--bs-table-border-color: #bcd0c7;--bs-table-striped-bg: #c7dbd2;--bs-table-striped-color: #000;--bs-table-active-bg: #bcd0c7;--bs-table-active-color: #000;--bs-table-hover-bg: #c1d6cc;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: #cff4fc;--bs-table-border-color: #badce3;--bs-table-striped-bg: #c5e8ef;--bs-table-striped-color: #000;--bs-table-active-bg: #badce3;--bs-table-active-color: #000;--bs-table-hover-bg: #bfe2e9;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: #fff3cd;--bs-table-border-color: #e6dbb9;--bs-table-striped-bg: #f2e7c3;--bs-table-striped-color: #000;--bs-table-active-bg: #e6dbb9;--bs-table-active-color: #000;--bs-table-hover-bg: #ece1be;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: #f8d7da;--bs-table-border-color: #dfc2c4;--bs-table-striped-bg: #eccccf;--bs-table-striped-color: #000;--bs-table-active-bg: #dfc2c4;--bs-table-active-color: #000;--bs-table-hover-bg: #e5c7ca;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #f8f9fa;--bs-table-border-color: #dfe0e1;--bs-table-striped-bg: #ecedee;--bs-table-striped-color: #000;--bs-table-active-bg: #dfe0e1;--bs-table-active-color: #000;--bs-table-hover-bg: #e5e6e7;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #212529;--bs-table-border-color: #373b3e;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #fff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #fff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label,.shiny-input-container .control-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text,.help-text,.help-block{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;border-radius:.375rem;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:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.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::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:calc(1.5em + .75rem + 2px);padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0 !important;border-radius:.375rem}.form-control-color::-webkit-color-swatch{border-radius:.375rem}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + 2px)}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + 2px)}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(.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 5 6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.375rem;transition:border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media (prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.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:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:.25rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:.5rem}.form-check,.shiny-input-container .checkbox,.shiny-input-container .radio{display:block;min-height:1.5rem;padding-left:0;margin-bottom:.125rem}.form-check .form-check-input,.form-check .shiny-input-container .checkbox input,.form-check .shiny-input-container .radio input,.shiny-input-container .checkbox .form-check-input,.shiny-input-container .checkbox .shiny-input-container .checkbox input,.shiny-input-container .checkbox .shiny-input-container .radio input,.shiny-input-container .radio .form-check-input,.shiny-input-container .radio .shiny-input-container .checkbox input,.shiny-input-container .radio .shiny-input-container .radio input{float:left;margin-left:0}.form-check-reverse{padding-right:0;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:0;margin-left:0}.form-check-input,.shiny-input-container .checkbox input,.shiny-input-container .checkbox-inline input,.shiny-input-container .radio input,.shiny-input-container .radio-inline input{width:1em;height:1em;margin-top:.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);appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;print-color-adjust:exact}.form-check-input[type="checkbox"],.shiny-input-container .checkbox input[type="checkbox"],.shiny-input-container .checkbox-inline input[type="checkbox"],.shiny-input-container .radio input[type="checkbox"],.shiny-input-container .radio-inline input[type="checkbox"]{border-radius:.25em}.form-check-input[type="radio"],.shiny-input-container .checkbox input[type="radio"],.shiny-input-container .checkbox-inline input[type="radio"],.shiny-input-container .radio input[type="radio"],.shiny-input-container .radio-inline input[type="radio"]{border-radius:50%}.form-check-input:active,.shiny-input-container .checkbox input:active,.shiny-input-container .checkbox-inline input:active,.shiny-input-container .radio input:active,.shiny-input-container .radio-inline input:active{filter:brightness(90%)}.form-check-input:focus,.shiny-input-container .checkbox input:focus,.shiny-input-container .checkbox-inline input:focus,.shiny-input-container .radio input:focus,.shiny-input-container .radio-inline input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25)}.form-check-input:checked,.shiny-input-container .checkbox input:checked,.shiny-input-container .checkbox-inline input:checked,.shiny-input-container .radio input:checked,.shiny-input-container .radio-inline input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type="checkbox"],.shiny-input-container .checkbox input:checked[type="checkbox"],.shiny-input-container .checkbox-inline input:checked[type="checkbox"],.shiny-input-container .radio input:checked[type="checkbox"],.shiny-input-container .radio-inline 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 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type="radio"],.shiny-input-container .checkbox input:checked[type="radio"],.shiny-input-container .checkbox-inline input:checked[type="radio"],.shiny-input-container .radio input:checked[type="radio"],.shiny-input-container .radio-inline 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,.shiny-input-container .checkbox input[type="checkbox"]:indeterminate,.shiny-input-container .checkbox-inline input[type="checkbox"]:indeterminate,.shiny-input-container .radio input[type="checkbox"]:indeterminate,.shiny-input-container .radio-inline input[type="checkbox"]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;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,.shiny-input-container .checkbox input:disabled,.shiny-input-container .checkbox-inline input:disabled,.shiny-input-container .radio input:disabled,.shiny-input-container .radio-inline input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input[disabled]~span,.form-check-input:disabled~.form-check-label,.form-check-input:disabled~span,.shiny-input-container .checkbox input[disabled]~.form-check-label,.shiny-input-container .checkbox input[disabled]~span,.shiny-input-container .checkbox input:disabled~.form-check-label,.shiny-input-container .checkbox input:disabled~span,.shiny-input-container .checkbox-inline input[disabled]~.form-check-label,.shiny-input-container .checkbox-inline input[disabled]~span,.shiny-input-container .checkbox-inline input:disabled~.form-check-label,.shiny-input-container .checkbox-inline input:disabled~span,.shiny-input-container .radio input[disabled]~.form-check-label,.shiny-input-container .radio input[disabled]~span,.shiny-input-container .radio input:disabled~.form-check-label,.shiny-input-container .radio input:disabled~span,.shiny-input-container .radio-inline input[disabled]~.form-check-label,.shiny-input-container .radio-inline input[disabled]~span,.shiny-input-container .radio-inline input:disabled~.form-check-label,.shiny-input-container .radio-inline input:disabled~span{cursor:default;opacity:.5}.form-check-label,.shiny-input-container .checkbox label,.shiny-input-container .checkbox-inline label,.shiny-input-container .radio label,.shiny-input-container .radio-inline label{cursor:pointer}.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='%2386b7fe'/%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-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,0.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,0.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.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:#0d6efd;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.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-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;width:100%;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;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,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{opacity:.65;transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control-plaintext~label{border-width:1px 0}.input-group{position:relative;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:stretch;-webkit-align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding:.375rem .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:.375rem}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n + 3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n + 4),.input-group.has-validation>.form-floating:nth-last-child(n + 3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n + 3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,0.9);border-radius:.375rem}.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 + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#198754;box-shadow: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 + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .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 5 6 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.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,0.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3rem + calc(1.5em + .75rem))}.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 .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:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,0.9);border-radius:.375rem}.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 + .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(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#dc3545;box-shadow: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 + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .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 5 6 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 .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,0.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3rem + calc(1.5em + .75rem))}.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 .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:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: .75rem;--bs-btn-padding-y: .375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.5;--bs-btn-color: #212529;--bs-btn-bg: transparent;--bs-btn-border-width: 1px;--bs-btn-border-color: transparent;--bs-btn-border-radius: .375rem;--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075);--bs-btn-disabled-opacity: .65;--bs-btn-focus-box-shadow: 0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show,.btn.in{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn.in:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-default{--bs-btn-color: #000;--bs-btn-bg: #dee2e6;--bs-btn-border-color: #dee2e6;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #e3e6ea;--bs-btn-hover-border-color: #e1e5e9;--bs-btn-focus-shadow-rgb: 189,192,196;--bs-btn-active-color: #000;--bs-btn-active-bg: #e5e8eb;--bs-btn-active-border-color: #e1e5e9;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #dee2e6;--bs-btn-disabled-border-color: #dee2e6}.btn-primary{--bs-btn-color: #fff;--bs-btn-bg: #0d6efd;--bs-btn-border-color: #0d6efd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0b5ed7;--bs-btn-hover-border-color: #0a58ca;--bs-btn-focus-shadow-rgb: 49,132,253;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0a58ca;--bs-btn-active-border-color: #0a53be;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #0d6efd;--bs-btn-disabled-border-color: #0d6efd}.btn-secondary{--bs-btn-color: #fff;--bs-btn-bg: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5c636a;--bs-btn-hover-border-color: #565e64;--bs-btn-focus-shadow-rgb: 130,138,145;--bs-btn-active-color: #fff;--bs-btn-active-bg: #565e64;--bs-btn-active-border-color: #51585e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6c757d;--bs-btn-disabled-border-color: #6c757d}.btn-success{--bs-btn-color: #fff;--bs-btn-bg: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #157347;--bs-btn-hover-border-color: #146c43;--bs-btn-focus-shadow-rgb: 60,153,110;--bs-btn-active-color: #fff;--bs-btn-active-bg: #146c43;--bs-btn-active-border-color: #13653f;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #198754;--bs-btn-disabled-border-color: #198754}.btn-info{--bs-btn-color: #000;--bs-btn-bg: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #31d2f2;--bs-btn-hover-border-color: #25cff2;--bs-btn-focus-shadow-rgb: 11,172,204;--bs-btn-active-color: #000;--bs-btn-active-bg: #3dd5f3;--bs-btn-active-border-color: #25cff2;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #0dcaf0;--bs-btn-disabled-border-color: #0dcaf0}.btn-warning{--bs-btn-color: #000;--bs-btn-bg: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffca2c;--bs-btn-hover-border-color: #ffc720;--bs-btn-focus-shadow-rgb: 217,164,6;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffcd39;--bs-btn-active-border-color: #ffc720;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #ffc107;--bs-btn-disabled-border-color: #ffc107}.btn-danger{--bs-btn-color: #fff;--bs-btn-bg: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #bb2d3b;--bs-btn-hover-border-color: #b02a37;--bs-btn-focus-shadow-rgb: 225,83,97;--bs-btn-active-color: #fff;--bs-btn-active-bg: #b02a37;--bs-btn-active-border-color: #a52834;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #dc3545;--bs-btn-disabled-border-color: #dc3545}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #d3d4d5;--bs-btn-hover-border-color: #c6c7c8;--bs-btn-focus-shadow-rgb: 211,212,213;--bs-btn-active-color: #000;--bs-btn-active-bg: #c6c7c8;--bs-btn-active-border-color: #babbbc;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f8f9fa;--bs-btn-disabled-border-color: #f8f9fa}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #424649;--bs-btn-hover-border-color: #373b3e;--bs-btn-focus-shadow-rgb: 66,70,73;--bs-btn-active-color: #fff;--bs-btn-active-bg: #4d5154;--bs-btn-active-border-color: #373b3e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #212529;--bs-btn-disabled-border-color: #212529}.btn-outline-default{--bs-btn-color: #dee2e6;--bs-btn-border-color: #dee2e6;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #dee2e6;--bs-btn-hover-border-color: #dee2e6;--bs-btn-focus-shadow-rgb: 222,226,230;--bs-btn-active-color: #000;--bs-btn-active-bg: #dee2e6;--bs-btn-active-border-color: #dee2e6;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #dee2e6;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #dee2e6;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-primary{--bs-btn-color: #0d6efd;--bs-btn-border-color: #0d6efd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0d6efd;--bs-btn-hover-border-color: #0d6efd;--bs-btn-focus-shadow-rgb: 13,110,253;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0d6efd;--bs-btn-active-border-color: #0d6efd;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #0d6efd;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0d6efd;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6c757d;--bs-btn-hover-border-color: #6c757d;--bs-btn-focus-shadow-rgb: 108,117,125;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6c757d;--bs-btn-active-border-color: #6c757d;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6c757d;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #198754;--bs-btn-hover-border-color: #198754;--bs-btn-focus-shadow-rgb: 25,135,84;--bs-btn-active-color: #fff;--bs-btn-active-bg: #198754;--bs-btn-active-border-color: #198754;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #198754;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #198754;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #0dcaf0;--bs-btn-focus-shadow-rgb: 13,202,240;--bs-btn-active-color: #000;--bs-btn-active-bg: #0dcaf0;--bs-btn-active-border-color: #0dcaf0;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #0dcaf0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0dcaf0;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffc107;--bs-btn-hover-border-color: #ffc107;--bs-btn-focus-shadow-rgb: 255,193,7;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffc107;--bs-btn-active-border-color: #ffc107;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #ffc107;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #ffc107;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #dc3545;--bs-btn-hover-border-color: #dc3545;--bs-btn-focus-shadow-rgb: 220,53,69;--bs-btn-active-color: #fff;--bs-btn-active-bg: #dc3545;--bs-btn-active-border-color: #dc3545;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #dc3545;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #dc3545;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f8f9fa;--bs-btn-hover-border-color: #f8f9fa;--bs-btn-focus-shadow-rgb: 248,249,250;--bs-btn-active-color: #000;--bs-btn-active-bg: #f8f9fa;--bs-btn-active-border-color: #f8f9fa;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #f8f9fa;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f8f9fa;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #212529;--bs-btn-hover-border-color: #212529;--bs-btn-focus-shadow-rgb: 33,37,41;--bs-btn-active-color: #fff;--bs-btn-active-bg: #212529;--bs-btn-active-border-color: #212529;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #212529;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #212529;--bs-btn-bg: transparent;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: none;--bs-btn-focus-shadow-rgb: 49,132,253;text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: .5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius: .5rem}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: .25rem;--bs-btn-padding-x: .5rem;--bs-btn-font-size:.875rem;--bs-btn-border-radius: .25rem}.fade{transition:opacity 0.15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show):not(.in){opacity:0}.collapse:not(.show):not(.in){display:none}.collapsing{height:0;overflow:hidden;transition:height 0.35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width 0.35s ease}@media (prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: .5rem;--bs-dropdown-spacer: .125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color: #212529;--bs-dropdown-bg: #fff;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: .375rem;--bs-dropdown-border-width: 1px;--bs-dropdown-inner-border-radius: calc(.375rem - 1px);--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: .5rem;--bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);--bs-dropdown-link-color: #212529;--bs-dropdown-link-hover-color: #1e2125;--bs-dropdown-link-hover-bg: #e9ecef;--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: .25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: .5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .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}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider,.dropdown-menu>li.divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item,.dropdown-menu>li>a{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:hover,.dropdown-menu>li>a:hover,.dropdown-item:focus,.dropdown-menu>li>a:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-menu>li>a.active,.dropdown-item:active,.dropdown-menu>li>a:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-menu>li>a.disabled,.dropdown-item:disabled,.dropdown-menu>li>a:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show,.dropdown-menu.in{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255,255,255,0.15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto;-webkit-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;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;justify-content:flex-start;-webkit-justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:.375rem}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n + 3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.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:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;-webkit-flex-direction:column;align-items:flex-start;-webkit-align-items:flex-start;justify-content:center;-webkit-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{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: #6c757d;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link,.nav-tabs>li>a,.nav-pills>li>a,ul.nav.navbar-nav>li>a{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-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,.nav-tabs>li>a,.nav-pills>li>a,ul.nav.navbar-nav>li>a{transition:none}}.nav-link:hover,.nav-tabs>li>a:hover,.nav-pills>li>a:hover,ul.nav.navbar-nav>li>a:hover,.nav-link:focus,.nav-tabs>li>a:focus,.nav-pills>li>a:focus,ul.nav.navbar-nav>li>a:focus{color:var(--bs-nav-link-hover-color)}.nav-link.disabled,.nav-tabs>li>a.disabled,.nav-pills>li>a.disabled,ul.nav.navbar-nav>li>a.disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: 1px;--bs-nav-tabs-border-color: #dee2e6;--bs-nav-tabs-border-radius: .375rem;--bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #dee2e6;--bs-nav-tabs-link-active-color: #495057;--bs-nav-tabs-link-active-bg: #fff;--bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #fff;border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link,.nav-tabs>li>a,.nav-tabs .nav-pills>li>a,.nav-tabs ul.nav.navbar-nav>li>a{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));background:none;border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs>li>a:hover,.nav-tabs .nav-pills>li>a:hover,.nav-tabs ul.nav.navbar-nav>li>a:hover,.nav-tabs .nav-link:focus,.nav-tabs>li>a:focus,.nav-tabs .nav-pills>li>a:focus,.nav-tabs ul.nav.navbar-nav>li>a:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.disabled,.nav-tabs>li>a.disabled,.nav-tabs .nav-pills>li>a.disabled,.nav-tabs ul.nav.navbar-nav>li>a.disabled,.nav-tabs .nav-link:disabled,.nav-tabs>li>a:disabled,.nav-tabs .nav-pills>li>a:disabled,.nav-tabs ul.nav.navbar-nav>li>a:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs>li>a.active,.nav-tabs .nav-pills>li>a.active,.nav-tabs ul.nav.navbar-nav>li>a.active,.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-item.in .nav-link,.nav-tabs .nav-item.show .nav-tabs>li>a,.nav-tabs .nav-item.in .nav-tabs>li>a,.nav-tabs .nav-item.show .nav-pills>li>a,.nav-tabs .nav-item.in .nav-pills>li>a,.nav-tabs>li.show .nav-link,.nav-tabs>li.in .nav-link,.nav-tabs>li.show .nav-tabs>li>a,.nav-tabs>li.in .nav-tabs>li>a,.nav-tabs>li.show .nav-pills>li>a,.nav-tabs>li.in .nav-pills>li>a,.nav-tabs .nav-pills>li.show .nav-link,.nav-tabs .nav-pills>li.in .nav-link,.nav-tabs .nav-pills>li.show .nav-tabs>li>a,.nav-tabs .nav-pills>li.in .nav-tabs>li>a,.nav-tabs .nav-pills>li.show .nav-pills>li>a,.nav-tabs .nav-pills>li.in .nav-pills>li>a,.nav-tabs .nav-item.show ul.nav.navbar-nav>li>a,.nav-tabs .nav-item.in ul.nav.navbar-nav>li>a,.nav-tabs>li.show ul.nav.navbar-nav>li>a,.nav-tabs>li.in ul.nav.navbar-nav>li>a,.nav-tabs .nav-pills>li.show ul.nav.navbar-nav>li>a,.nav-tabs .nav-pills>li.in ul.nav.navbar-nav>li>a,.nav-tabs ul.nav.navbar-nav>li.show:not(.dropdown) .nav-link,.nav-tabs ul.nav.navbar-nav>li.in:not(.dropdown) .nav-link,.nav-tabs ul.nav.navbar-nav>li.show:not(.dropdown) .nav-tabs>li>a,.nav-tabs ul.nav.navbar-nav>li.in:not(.dropdown) .nav-tabs>li>a,.nav-tabs ul.nav.navbar-nav>li.show:not(.dropdown) .nav-pills>li>a,.nav-tabs ul.nav.navbar-nav>li.in:not(.dropdown) .nav-pills>li>a,.nav-tabs ul.nav.navbar-nav>li.show:not(.dropdown) ul.nav.navbar-nav>li>a,.nav-tabs ul.nav.navbar-nav>li.in:not(.dropdown) ul.nav.navbar-nav>li>a{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius: .375rem;--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}.nav-pills .nav-link,.nav-pills .nav-tabs>li>a,.nav-pills>li>a,.nav-pills ul.nav.navbar-nav>li>a{background:none;border:0;border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link:disabled,.nav-pills .nav-tabs>li>a:disabled,.nav-pills>li>a:disabled,.nav-pills ul.nav.navbar-nav>li>a:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-pills .nav-link.active,.nav-pills .nav-tabs>li>a.active,.nav-pills>li>a.active,.nav-pills ul.nav.navbar-nav>li>a.active,.nav-pills .show>.nav-link,.nav-pills .in>.nav-link,.nav-pills .nav-tabs>li.show>a,.nav-pills .nav-tabs>li.in>a,.nav-pills>li.show>a,.nav-pills>li.in>a,.nav-pills ul.nav.navbar-nav>li.show>a,.nav-pills ul.nav.navbar-nav>li.in>a{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-fill>.nav-link,.nav-tabs>li.nav-fill>a,.nav-pills>li.nav-fill>a,ul.nav.navbar-nav>li.nav-fill>a,.nav-fill .nav-item,.nav-fill .nav-tabs>li,.nav-fill .nav-pills>li,.nav-fill ul.nav.navbar-nav>li:not(.dropdown){flex:1 1 auto;-webkit-flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-tabs>li.nav-justified>a,.nav-pills>li.nav-justified>a,ul.nav.navbar-nav>li.nav-justified>a,.nav-justified .nav-item,.nav-justified .nav-tabs>li,.nav-justified .nav-pills>li,.nav-justified ul.nav.navbar-nav>li:not(.dropdown){flex-basis:0;-webkit-flex-basis:0;flex-grow:1;-webkit-flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-fill .nav-tabs>li .nav-link,.nav-fill .nav-tabs>li>a,.nav-fill .nav-pills>li .nav-link,.nav-fill .nav-pills>li>a,.nav-fill .nav-item ul.nav.navbar-nav>li>a,.nav-fill .nav-tabs>li ul.nav.navbar-nav>li>a,.nav-fill .nav-pills>li ul.nav.navbar-nav>li>a,.nav-fill ul.nav.navbar-nav>li:not(.dropdown) .nav-link,.nav-fill ul.nav.navbar-nav>li:not(.dropdown) .nav-tabs>li>a,.nav-fill ul.nav.navbar-nav>li:not(.dropdown) .nav-pills>li>a,.nav-fill ul.nav.navbar-nav>li:not(.dropdown) ul.nav.navbar-nav>li>a,.nav-justified .nav-item .nav-link,.nav-justified .nav-tabs>li .nav-link,.nav-justified .nav-tabs>li>a,.nav-justified .nav-pills>li .nav-link,.nav-justified .nav-pills>li>a,.nav-justified .nav-item ul.nav.navbar-nav>li>a,.nav-justified .nav-tabs>li ul.nav.navbar-nav>li>a,.nav-justified .nav-pills>li ul.nav.navbar-nav>li>a,.nav-justified ul.nav.navbar-nav>li:not(.dropdown) .nav-link,.nav-justified ul.nav.navbar-nav>li:not(.dropdown) .nav-tabs>li>a,.nav-justified ul.nav.navbar-nav>li:not(.dropdown) .nav-pills>li>a,.nav-justified ul.nav.navbar-nav>li:not(.dropdown) ul.nav.navbar-nav>li>a{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(0,0,0,0.55);--bs-navbar-hover-color: rgba(0,0,0,0.7);--bs-navbar-disabled-color: rgba(0,0,0,0.3);--bs-navbar-active-color: rgba(0,0,0,0.9);--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(0,0,0,0.9);--bs-navbar-brand-hover-color: rgba(0,0,0,0.9);--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280,0,0,0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(0,0,0,0.1);--bs-navbar-toggler-border-radius: .375rem;--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;position:relative;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;display:-webkit-flex;flex-wrap:inherit;-webkit-flex-wrap:inherit;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .show>.nav-link,.navbar-nav .in>.nav-link,.navbar-nav .nav-tabs>li.show>a,.navbar-nav .nav-tabs>li.in>a,.navbar-nav .nav-pills>li.show>a,.navbar-nav .nav-pills>li.in>a,ul.nav.navbar-nav>li.show>a,ul.nav.navbar-nav>li.in>a,.navbar-nav .active>.nav-link,.navbar-nav .nav-tabs>li.active>a,.navbar-nav .nav-pills>li.active>a,ul.nav.navbar-nav>li.active>a,.navbar-nav .nav-link.active,.navbar-nav .nav-tabs>li>a.active,.navbar-nav .nav-pills>li>a.active,ul.nav.navbar-nav>li>a.active{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;-webkit-flex-basis:100%;flex-grow:1;-webkit-flex-grow:1;align-items:center;-webkit-align-items:center}.navbar-toggler,.navbar-toggle{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion: reduce){.navbar-toggler,.navbar-toggle{transition:none}}.navbar-toggler:hover,.navbar-toggle:hover{text-decoration:none}.navbar-toggler:focus,.navbar-toggle:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon,.navbar-toggle>.icon-bar:last-child{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 576px){.navbar-expand-sm,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl){flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-sm .navbar-nav,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link,.navbar-expand-sm .navbar-nav .nav-tabs>li>a,.navbar-expand-sm .navbar-nav .nav-pills>li>a,.navbar-expand-sm ul.nav.navbar-nav>li>a,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav .nav-link,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav .nav-tabs>li>a,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav .nav-pills>li>a,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) ul.nav.navbar-nav>li>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-sm .navbar-toggler,.navbar-expand-sm .navbar-toggle,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-toggler,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-toggle{display:none}.navbar-expand-sm .offcanvas,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link,.navbar-expand-md .navbar-nav .nav-tabs>li>a,.navbar-expand-md .navbar-nav .nav-pills>li>a,.navbar-expand-md ul.nav.navbar-nav>li>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-md .navbar-toggler,.navbar-expand-md .navbar-toggle{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link,.navbar-expand-lg .navbar-nav .nav-tabs>li>a,.navbar-expand-lg .navbar-nav .nav-pills>li>a,.navbar-expand-lg ul.nav.navbar-nav>li>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-lg .navbar-toggler,.navbar-expand-lg .navbar-toggle{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link,.navbar-expand-xl .navbar-nav .nav-tabs>li>a,.navbar-expand-xl .navbar-nav .nav-pills>li>a,.navbar-expand-xl ul.nav.navbar-nav>li>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-xl .navbar-toggler,.navbar-expand-xl .navbar-toggle{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link,.navbar-expand-xxl .navbar-nav .nav-tabs>li>a,.navbar-expand-xxl .navbar-nav .nav-pills>li>a,.navbar-expand-xxl ul.nav.navbar-nav>li>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-xxl .navbar-toggler,.navbar-expand-xxl .navbar-toggle{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link,.navbar-expand .navbar-nav .nav-tabs>li>a,.navbar-expand .navbar-nav .nav-pills>li>a,.navbar-expand ul.nav.navbar-nav>li>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand .navbar-toggler,.navbar-expand .navbar-toggle{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}.navbar-light,.navbar.navbar-default{background-color:#f8f9fa}.navbar-dark,.navbar.navbar-inverse{background-color:#212529;--bs-navbar-color: rgba(255,255,255,0.55);--bs-navbar-hover-color: rgba(255,255,255,0.75);--bs-navbar-disabled-color: rgba(255,255,255,0.25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255,255,255,0.1);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card,.well{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: .5rem;--bs-card-border-width: 1px;--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: .375rem;--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(.375rem - 1px);--bs-card-cap-padding-y: .5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(0,0,0,0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: #fff;--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: .75rem;position:relative;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;min-width:0;height:var(--bs-card-height);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr,.well>hr{margin-right:0;margin-left:0}.card>.list-group,.well>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child,.well>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child,.well>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.well>.card-header+.list-group,.card>.list-group+.card-footer,.well>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;-webkit-flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active,.card-header-tabs .nav-tabs>li>a.active,.card-header-tabs .nav-pills>li>a.active,.card-header-tabs ul.nav.navbar-nav>li>a.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card,.card-group>.well{margin-bottom:var(--bs-card-group-margin)}@media (min-width: 576px){.card-group{display:flex;display:-webkit-flex;flex-flow:row wrap;-webkit-flex-flow:row wrap}.card-group>.card,.card-group>.well{flex:1 0 0%;-webkit-flex:1 0 0%;margin-bottom:0}.card-group>.card+.card,.card-group>.well+.card,.card-group>.card+.well,.card-group>.well+.well{margin-left:0;border-left:0}.card-group>.card:not(:last-child),.card-group>.well:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.well:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header,.card-group>.well:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.well:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer,.card-group>.well:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child),.card-group>.well:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.well:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header,.card-group>.well:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.well:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer,.card-group>.well:not(:first-child) .card-footer{border-bottom-left-radius:0}}.accordion{--bs-accordion-color: #212529;--bs-accordion-bg: #fff;--bs-accordion-transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: 1px;--bs-accordion-border-radius: .375rem;--bs-accordion-inner-border-radius: calc(.375rem - 1px);--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: #212529;--bs-accordion-btn-bg: var(--bs-accordion-bg);--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill=''%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color: #86b7fe;--bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(13,110,253,0.25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: ;--bs-accordion-active-bg: }.accordion-button{position:relative;display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;-webkit-flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion: reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse,.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-collapse{border-width:0}.accordion-flush .accordion-item,.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child,.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child,.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}.breadcrumb{--bs-breadcrumb-padding-x: 0;--bs-breadcrumb-padding-y: 0;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color: #6c757d;--bs-breadcrumb-item-padding-x: .5rem;--bs-breadcrumb-item-active-color: #6c757d;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x: .75rem;--bs-pagination-padding-y: .375rem;--bs-pagination-font-size:1rem;--bs-pagination-color: var(--bs-link-color);--bs-pagination-bg: #fff;--bs-pagination-border-width: 1px;--bs-pagination-border-color: #dee2e6;--bs-pagination-border-radius: .375rem;--bs-pagination-hover-color: var(--bs-link-hover-color);--bs-pagination-hover-bg: #e9ecef;--bs-pagination-hover-border-color: #dee2e6;--bs-pagination-focus-color: var(--bs-link-hover-color);--bs-pagination-focus-bg: #e9ecef;--bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(13,110,253,0.25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #0d6efd;--bs-pagination-active-border-color: #0d6efd;--bs-pagination-disabled-color: #6c757d;--bs-pagination-disabled-bg: #fff;--bs-pagination-disabled-border-color: #dee2e6;display:flex;display:-webkit-flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: .75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius: .5rem}.pagination-sm{--bs-pagination-padding-x: .5rem;--bs-pagination-padding-y: .25rem;--bs-pagination-font-size:.875rem;--bs-pagination-border-radius: .25rem}.badge{--bs-badge-padding-x: .65em;--bs-badge-padding-y: .35em;--bs-badge-font-size:.75em;--bs-badge-font-weight: 700;--bs-badge-color: #fff;--bs-badge-border-radius: .375rem;display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: 1px solid var(--bs-alert-border-color);--bs-alert-border-radius: .375rem;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-default{--bs-alert-color: #595a5c;--bs-alert-bg: #f8f9fa;--bs-alert-border-color: #f5f6f8}.alert-default .alert-link{color:#47484a}.alert-primary{--bs-alert-color: #084298;--bs-alert-bg: #cfe2ff;--bs-alert-border-color: #b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{--bs-alert-color: #41464b;--bs-alert-bg: #e2e3e5;--bs-alert-border-color: #d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{--bs-alert-color: #0f5132;--bs-alert-bg: #d1e7dd;--bs-alert-border-color: #badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{--bs-alert-color: #055160;--bs-alert-bg: #cff4fc;--bs-alert-border-color: #b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{--bs-alert-color: #664d03;--bs-alert-bg: #fff3cd;--bs-alert-border-color: #ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{--bs-alert-color: #842029;--bs-alert-bg: #f8d7da;--bs-alert-border-color: #f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{--bs-alert-color: #636464;--bs-alert-bg: #fefefe;--bs-alert-border-color: #fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{--bs-alert-color: #141619;--bs-alert-bg: #d3d3d4;--bs-alert-border-color: #bcbebf}.alert-dark .alert-link{color:#101214}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{--bs-progress-height: 1rem;--bs-progress-font-size:.75rem;--bs-progress-bg: #e9ecef;--bs-progress-border-radius: .375rem;--bs-progress-box-shadow: inset 0 1px 2px rgba(0,0,0,0.075);--bs-progress-bar-color: #fff;--bs-progress-bar-bg: #0d6efd;--bs-progress-bar-transition: width 0.6s ease;display:flex;display:-webkit-flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;justify-content:center;-webkit-justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color: #212529;--bs-list-group-bg: #fff;--bs-list-group-border-color: rgba(0,0,0,0.125);--bs-list-group-border-width: 1px;--bs-list-group-border-radius: .375rem;--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: .5rem;--bs-list-group-action-color: #495057;--bs-list-group-action-hover-color: #495057;--bs-list-group-action-hover-bg: #f8f9fa;--bs-list-group-action-active-color: #212529;--bs-list-group-action-active-bg: #e9ecef;--bs-list-group-disabled-color: #6c757d;--bs-list-group-disabled-bg: #fff;--bs-list-group-active-color: #fff;--bs-list-group-active-bg: #0d6efd;--bs-list-group-active-border-color: #0d6efd;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-default{color:#595a5c;background-color:#f8f9fa}.list-group-item-default.list-group-item-action:hover,.list-group-item-default.list-group-item-action:focus{color:#595a5c;background-color:#dfe0e1}.list-group-item-default.list-group-item-action.active{color:#fff;background-color:#595a5c;border-color:#595a5c}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.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:.25em .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 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25);opacity:1}.btn-close:disabled,.btn-close.disabled{pointer-events:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: .75rem;--bs-toast-padding-y: .5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size:.875rem;--bs-toast-color: ;--bs-toast-bg: rgba(255,255,255,0.85);--bs-toast-border-width: 1px;--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: .375rem;--bs-toast-box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);--bs-toast-header-color: #6c757d;--bs-toast-header-bg: rgba(255,255,255,0.85);--bs-toast-header-border-color: rgba(0,0,0,0.05);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show):not(.in){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;width:-webkit-max-content;width:-moz-max-content;width:-ms-max-content;width:-o-max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: .5rem;--bs-modal-color: ;--bs-modal-bg: #fff;--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: 1px;--bs-modal-border-radius: .5rem;--bs-modal-box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075);--bs-modal-inner-border-radius: calc(.5rem - 1px);--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: 1px;--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: .5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: 1px;position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform 0.3s ease-out;transform:translate(0, -50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog,.modal.in .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show,.modal-backdrop.in{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;display:-webkit-flex;flex-shrink:0;-webkit-flex-shrink:0;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;display:-webkit-flex;flex-shrink:0;-webkit-flex-shrink:0;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:center;-webkit-align-items:center;justify-content:flex-end;-webkit-justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media (min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media (min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: .5rem;--bs-tooltip-padding-y: .25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:.875rem;--bs-tooltip-color: #fff;--bs-tooltip-bg: #000;--bs-tooltip-border-radius: .375rem;--bs-tooltip-opacity: .9;--bs-tooltip-arrow-width: .8rem;--bs-tooltip-arrow-height: .4rem;z-index:var(--bs-tooltip-zindex);display:block;padding:var(--bs-tooltip-arrow-height);margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show,.tooltip.in{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow{bottom:0}.bs-tooltip-top .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow{left:0;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.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 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow{right:0;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size:.875rem;--bs-popover-bg: #fff;--bs-popover-border-width: 1px;--bs-popover-border-color: var(--bs-border-color-translucent);--bs-popover-border-radius: .5rem;--bs-popover-inner-border-radius: calc(.5rem - 1px);--bs-popover-box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: .5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color: ;--bs-popover-header-bg: #f0f0f0;--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: #212529;--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: .5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::before,.popover .popover-arrow::after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::after{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header::before,.bs-popover-auto[data-popper-placement^="bottom"] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y;-webkit-touch-action:pan-y;-moz-touch-action:pan-y;-ms-touch-action:pan-y;-o-touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-o-backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .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;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:center;-webkit-justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.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:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.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;display:-webkit-flex;justify-content:center;-webkit-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;-webkit-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:.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}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg) /* rtl:ignore */}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-border-width: .25em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: .2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.offcanvas,.offcanvas-xxl,.offcanvas-xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: ;--bs-offcanvas-bg: #fff;--bs-offcanvas-border-width: 1px;--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075)}@media (max-width: 575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 575.98px) and (prefers-reduced-motion: reduce){.offcanvas-sm{transition:none}}@media (max-width: 575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding),.offcanvas-sm.in:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.in{visibility:visible}}@media (min-width: 576px){.offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}@media (max-width: 767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 767.98px) and (prefers-reduced-motion: reduce){.offcanvas-md{transition:none}}@media (max-width: 767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding),.offcanvas-md.in:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.in{visibility:visible}}@media (min-width: 768px){.offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}@media (max-width: 991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 991.98px) and (prefers-reduced-motion: reduce){.offcanvas-lg{transition:none}}@media (max-width: 991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding),.offcanvas-lg.in:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.in{visibility:visible}}@media (min-width: 992px){.offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}@media (max-width: 1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce){.offcanvas-xl{transition:none}}@media (max-width: 1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding),.offcanvas-xl.in:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.in{visibility:visible}}@media (min-width: 1200px){.offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}@media (max-width: 1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce){.offcanvas-xxl{transition:none}}@media (max-width: 1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.in:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.in{visibility:visible}}@media (min-width: 1400px){.offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding),.offcanvas.in:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show,.offcanvas.in{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,.offcanvas-backdrop.in{opacity:.5}.offcanvas-header{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;-webkit-flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{mask-image:linear-gradient(130deg, #000 55%, rgba(0,0,0,0.8) 75%, #000 95%);-webkit-mask-image:linear-gradient(130deg, #000 55%, rgba(0,0,0,0.8) 75%, #000 95%);mask-size:200% 100%;-webkit-mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{mask-position:-200% 0%;-webkit-mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-default{color:#000 !important;background-color:RGBA(222,226,230, var(--bs-bg-opacity, 1)) !important}.text-bg-primary{color:#fff !important;background-color:RGBA(13,110,253, var(--bs-bg-opacity, 1)) !important}.text-bg-secondary{color:#fff !important;background-color:RGBA(108,117,125, var(--bs-bg-opacity, 1)) !important}.text-bg-success{color:#fff !important;background-color:RGBA(25,135,84, var(--bs-bg-opacity, 1)) !important}.text-bg-info{color:#000 !important;background-color:RGBA(13,202,240, var(--bs-bg-opacity, 1)) !important}.text-bg-warning{color:#000 !important;background-color:RGBA(255,193,7, var(--bs-bg-opacity, 1)) !important}.text-bg-danger{color:#fff !important;background-color:RGBA(220,53,69, var(--bs-bg-opacity, 1)) !important}.text-bg-light{color:#000 !important;background-color:RGBA(248,249,250, var(--bs-bg-opacity, 1)) !important}.text-bg-dark{color:#fff !important;background-color:RGBA(33,37,41, var(--bs-bg-opacity, 1)) !important}.link-default{color:#dee2e6 !important}.link-default:hover,.link-default:focus{color:#e5e8eb !important}.link-primary{color:#0d6efd !important}.link-primary:hover,.link-primary:focus{color:#0a58ca !important}.link-secondary{color:#6c757d !important}.link-secondary:hover,.link-secondary:focus{color:#565e64 !important}.link-success{color:#198754 !important}.link-success:hover,.link-success:focus{color:#146c43 !important}.link-info{color:#0dcaf0 !important}.link-info:hover,.link-info:focus{color:#3dd5f3 !important}.link-warning{color:#ffc107 !important}.link-warning:hover,.link-warning:focus{color:#ffcd39 !important}.link-danger{color:#dc3545 !important}.link-danger:hover,.link-danger:focus{color:#b02a37 !important}.link-light{color:#f8f9fa !important}.link-light:hover,.link-light:focus{color:#f9fafb !important}.link-dark{color:#212529 !important}.link-dark:hover,.link-dark:focus{color:#1a1e21 !important}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: calc(3 / 4 * 100%)}.ratio-16x9{--bs-aspect-ratio: calc(9 / 16 * 100%)}.ratio-21x9{--bs-aspect-ratio: calc(9 / 21 * 100%)}.fixed-top,.navbar-fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom,.navbar-fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top,.navbar-sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;display:-webkit-flex;flex-direction:row;-webkit-flex-direction:row;align-items:center;-webkit-align-items:center;align-self:stretch;-webkit-align-self:stretch}.vstack{display:flex;display:-webkit-flex;flex:1 1 auto;-webkit-flex:1 1 auto;flex-direction:column;-webkit-flex-direction:column;align-self:stretch;-webkit-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;-webkit-align-self:stretch;width:1px;min-height:1em;background-color:currentcolor;opacity:.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{float:left !important}.float-end,.float-right{float:right !important}.float-none{float:none !important}.opacity-0{opacity:0 !important}.opacity-25{opacity:.25 !important}.opacity-50{opacity:.5 !important}.opacity-75{opacity:.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:sticky !important}.top-0{top:0 !important}.top-50{top:50% !important}.top-100{top:100% !important}.bottom-0{bottom:0 !important}.bottom-50{bottom:50% !important}.bottom-100{bottom:100% !important}.start-0{left:0 !important}.start-50{left:50% !important}.start-100{left:100% !important}.end-0{right:0 !important}.end-50{right:50% !important}.end-100{right:100% !important}.translate-middle{transform:translate(-50%, -50%) !important}.translate-middle-x{transform:translateX(-50%) !important}.translate-middle-y{transform:translateY(-50%) !important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-0{border:0 !important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-top-0{border-top:0 !important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-end-0{border-right:0 !important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-bottom-0{border-bottom:0 !important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-start-0{border-left:0 !important}.border-default{--bs-border-opacity: 1;border-color:rgba(var(--bs-default-rgb), var(--bs-border-opacity)) !important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important}.border-1{--bs-border-width: 1px}.border-2{--bs-border-width: 2px}.border-3{--bs-border-width: 3px}.border-4{--bs-border-width: 4px}.border-5{--bs-border-width: 5px}.border-opacity-10{--bs-border-opacity: .1}.border-opacity-25{--bs-border-opacity: .25}.border-opacity-50{--bs-border-opacity: .5}.border-opacity-75{--bs-border-opacity: .75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.mw-100{max-width:100% !important}.vw-100{width:100vw !important}.min-vw-100{min-width:100vw !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mh-100{max-height:100% !important}.vh-100{height:100vh !important}.min-vh-100{min-height:100vh !important}.flex-fill{flex:1 1 auto !important}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.justify-content-evenly{justify-content:space-evenly !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}.order-first{order:-1 !important}.order-0{order:0 !important}.order-1{order:1 !important}.order-2{order:2 !important}.order-3{order:3 !important}.order-4{order:4 !important}.order-5{order:5 !important}.order-last{order:6 !important}.m-0{margin:0 !important}.m-1{margin:.25rem !important}.m-2{margin:.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:.25rem !important;margin-left:.25rem !important}.mx-2{margin-right:.5rem !important;margin-left:.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:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.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:.25rem !important}.mt-2{margin-top:.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:.25rem !important}.me-2{margin-right:.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:.25rem !important}.mb-2{margin-bottom:.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:.25rem !important}.ms-2{margin-left:.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:.25rem !important}.p-2{padding:.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:.25rem !important;padding-left:.25rem !important}.px-2{padding-right:.5rem !important;padding-left:.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:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.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:.25rem !important}.pt-2{padding-top:.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:.25rem !important}.pe-2{padding-right:.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:.25rem !important}.pb-2{padding-bottom:.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:.25rem !important}.ps-2{padding-left:.5rem !important}.ps-3{padding-left:1rem !important}.ps-4{padding-left:1.5rem !important}.ps-5{padding-left:3rem !important}.gap-0{gap:0 !important}.gap-1{gap:.25rem !important}.gap-2{gap:.5rem !important}.gap-3{gap:1rem !important}.gap-4{gap:1.5rem !important}.gap-5{gap:3rem !important}.font-monospace{font-family:var(--bs-font-monospace) !important}.fs-1{font-size:calc(1.375rem + 1.5vw) !important}.fs-2{font-size:calc(1.325rem + .9vw) !important}.fs-3{font-size:calc(1.3rem + .6vw) !important}.fs-4{font-size:calc(1.275rem + .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-semibold{font-weight:600 !important}.fw-bolder{font-weight:bolder !important}.lh-1{line-height:1 !important}.lh-sm{line-height:1.25 !important}.lh-base{line-height:1.5 !important}.lh-lg{line-height:2 !important}.text-start{text-align:left !important}.text-end{text-align:right !important}.text-center{text-align:center !important}.text-decoration-none{text-decoration:none !important}.text-decoration-underline{text-decoration:underline !important}.text-decoration-line-through{text-decoration:line-through !important}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-break{word-wrap:break-word !important;word-break:break-word !important}.text-default{--bs-text-opacity: 1;color:rgba(var(--bs-default-rgb), var(--bs-text-opacity)) !important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important}.text-muted,.help-text,.help-block{--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: .25}.text-opacity-50{--bs-text-opacity: .5}.text-opacity-75{--bs-text-opacity: .75}.text-opacity-100{--bs-text-opacity: 1}.bg-default{--bs-bg-opacity: 1;background-color:rgba(var(--bs-default-rgb), var(--bs-bg-opacity)) !important}.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:rgba(0,0,0,0) !important}.bg-opacity-10{--bs-bg-opacity: .1}.bg-opacity-25{--bs-bg-opacity: .25}.bg-opacity-50{--bs-bg-opacity: .5}.bg-opacity-75{--bs-bg-opacity: .75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-gradient{background-image:var(--bs-gradient) !important}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.pe-none{pointer-events:none !important}.pe-auto{pointer-events:auto !important}.rounded{border-radius:var(--bs-border-radius) !important}.rounded-0{border-radius:0 !important}.rounded-1{border-radius:var(--bs-border-radius-sm) !important}.rounded-2{border-radius:var(--bs-border-radius) !important}.rounded-3{border-radius:var(--bs-border-radius-lg) !important}.rounded-4{border-radius:var(--bs-border-radius-xl) !important}.rounded-5{border-radius:var(--bs-border-radius-2xl) !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:var(--bs-border-radius-pill) !important}.rounded-top{border-top-left-radius:var(--bs-border-radius) !important;border-top-right-radius:var(--bs-border-radius) !important}.rounded-end{border-top-right-radius:var(--bs-border-radius) !important;border-bottom-right-radius:var(--bs-border-radius) !important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius) !important;border-bottom-left-radius:var(--bs-border-radius) !important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius) !important;border-top-left-radius:var(--bs-border-radius) !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}.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:.25rem !important}.m-sm-2{margin:.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:.25rem !important;margin-left:.25rem !important}.mx-sm-2{margin-right:.5rem !important;margin-left:.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:.25rem !important;margin-bottom:.25rem !important}.my-sm-2{margin-top:.5rem !important;margin-bottom:.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:.25rem !important}.mt-sm-2{margin-top:.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:.25rem !important}.me-sm-2{margin-right:.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:.25rem !important}.mb-sm-2{margin-bottom:.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:.25rem !important}.ms-sm-2{margin-left:.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:.25rem !important}.p-sm-2{padding:.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:.25rem !important;padding-left:.25rem !important}.px-sm-2{padding-right:.5rem !important;padding-left:.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:.25rem !important;padding-bottom:.25rem !important}.py-sm-2{padding-top:.5rem !important;padding-bottom:.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:.25rem !important}.pt-sm-2{padding-top:.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:.25rem !important}.pe-sm-2{padding-right:.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:.25rem !important}.pb-sm-2{padding-bottom:.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:.25rem !important}.ps-sm-2{padding-left:.5rem !important}.ps-sm-3{padding-left:1rem !important}.ps-sm-4{padding-left:1.5rem !important}.ps-sm-5{padding-left:3rem !important}.gap-sm-0{gap:0 !important}.gap-sm-1{gap:.25rem !important}.gap-sm-2{gap:.5rem !important}.gap-sm-3{gap:1rem !important}.gap-sm-4{gap:1.5rem !important}.gap-sm-5{gap:3rem !important}.text-sm-start{text-align:left !important}.text-sm-end{text-align:right !important}.text-sm-center{text-align:center !important}}@media (min-width: 768px){.float-md-start{float:left !important}.float-md-end{float:right !important}.float-md-none{float:none !important}.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}.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:.25rem !important}.m-md-2{margin:.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:.25rem !important;margin-left:.25rem !important}.mx-md-2{margin-right:.5rem !important;margin-left:.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:.25rem !important;margin-bottom:.25rem !important}.my-md-2{margin-top:.5rem !important;margin-bottom:.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:.25rem !important}.mt-md-2{margin-top:.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:.25rem !important}.me-md-2{margin-right:.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:.25rem !important}.mb-md-2{margin-bottom:.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:.25rem !important}.ms-md-2{margin-left:.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:.25rem !important}.p-md-2{padding:.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:.25rem !important;padding-left:.25rem !important}.px-md-2{padding-right:.5rem !important;padding-left:.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:.25rem !important;padding-bottom:.25rem !important}.py-md-2{padding-top:.5rem !important;padding-bottom:.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:.25rem !important}.pt-md-2{padding-top:.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:.25rem !important}.pe-md-2{padding-right:.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:.25rem !important}.pb-md-2{padding-bottom:.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:.25rem !important}.ps-md-2{padding-left:.5rem !important}.ps-md-3{padding-left:1rem !important}.ps-md-4{padding-left:1.5rem !important}.ps-md-5{padding-left:3rem !important}.gap-md-0{gap:0 !important}.gap-md-1{gap:.25rem !important}.gap-md-2{gap:.5rem !important}.gap-md-3{gap:1rem !important}.gap-md-4{gap:1.5rem !important}.gap-md-5{gap:3rem !important}.text-md-start{text-align:left !important}.text-md-end{text-align:right !important}.text-md-center{text-align:center !important}}@media (min-width: 992px){.float-lg-start{float:left !important}.float-lg-end{float:right !important}.float-lg-none{float:none !important}.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}.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:.25rem !important}.m-lg-2{margin:.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:.25rem !important;margin-left:.25rem !important}.mx-lg-2{margin-right:.5rem !important;margin-left:.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:.25rem !important;margin-bottom:.25rem !important}.my-lg-2{margin-top:.5rem !important;margin-bottom:.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:.25rem !important}.mt-lg-2{margin-top:.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:.25rem !important}.me-lg-2{margin-right:.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:.25rem !important}.mb-lg-2{margin-bottom:.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:.25rem !important}.ms-lg-2{margin-left:.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:.25rem !important}.p-lg-2{padding:.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:.25rem !important;padding-left:.25rem !important}.px-lg-2{padding-right:.5rem !important;padding-left:.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:.25rem !important;padding-bottom:.25rem !important}.py-lg-2{padding-top:.5rem !important;padding-bottom:.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:.25rem !important}.pt-lg-2{padding-top:.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:.25rem !important}.pe-lg-2{padding-right:.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:.25rem !important}.pb-lg-2{padding-bottom:.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:.25rem !important}.ps-lg-2{padding-left:.5rem !important}.ps-lg-3{padding-left:1rem !important}.ps-lg-4{padding-left:1.5rem !important}.ps-lg-5{padding-left:3rem !important}.gap-lg-0{gap:0 !important}.gap-lg-1{gap:.25rem !important}.gap-lg-2{gap:.5rem !important}.gap-lg-3{gap:1rem !important}.gap-lg-4{gap:1.5rem !important}.gap-lg-5{gap:3rem !important}.text-lg-start{text-align:left !important}.text-lg-end{text-align:right !important}.text-lg-center{text-align:center !important}}@media (min-width: 1200px){.float-xl-start{float:left !important}.float-xl-end{float:right !important}.float-xl-none{float:none !important}.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}.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:.25rem !important}.m-xl-2{margin:.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:.25rem !important;margin-left:.25rem !important}.mx-xl-2{margin-right:.5rem !important;margin-left:.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:.25rem !important;margin-bottom:.25rem !important}.my-xl-2{margin-top:.5rem !important;margin-bottom:.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:.25rem !important}.mt-xl-2{margin-top:.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:.25rem !important}.me-xl-2{margin-right:.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:.25rem !important}.mb-xl-2{margin-bottom:.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:.25rem !important}.ms-xl-2{margin-left:.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:.25rem !important}.p-xl-2{padding:.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:.25rem !important;padding-left:.25rem !important}.px-xl-2{padding-right:.5rem !important;padding-left:.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:.25rem !important;padding-bottom:.25rem !important}.py-xl-2{padding-top:.5rem !important;padding-bottom:.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:.25rem !important}.pt-xl-2{padding-top:.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:.25rem !important}.pe-xl-2{padding-right:.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:.25rem !important}.pb-xl-2{padding-bottom:.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:.25rem !important}.ps-xl-2{padding-left:.5rem !important}.ps-xl-3{padding-left:1rem !important}.ps-xl-4{padding-left:1.5rem !important}.ps-xl-5{padding-left:3rem !important}.gap-xl-0{gap:0 !important}.gap-xl-1{gap:.25rem !important}.gap-xl-2{gap:.5rem !important}.gap-xl-3{gap:1rem !important}.gap-xl-4{gap:1.5rem !important}.gap-xl-5{gap:3rem !important}.text-xl-start{text-align:left !important}.text-xl-end{text-align:right !important}.text-xl-center{text-align:center !important}}@media (min-width: 1400px){.float-xxl-start{float:left !important}.float-xxl-end{float:right !important}.float-xxl-none{float:none !important}.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}.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:.25rem !important}.m-xxl-2{margin:.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:.25rem !important;margin-left:.25rem !important}.mx-xxl-2{margin-right:.5rem !important;margin-left:.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:.25rem !important;margin-bottom:.25rem !important}.my-xxl-2{margin-top:.5rem !important;margin-bottom:.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:.25rem !important}.mt-xxl-2{margin-top:.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:.25rem !important}.me-xxl-2{margin-right:.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:.25rem !important}.mb-xxl-2{margin-bottom:.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:.25rem !important}.ms-xxl-2{margin-left:.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:.25rem !important}.p-xxl-2{padding:.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:.25rem !important;padding-left:.25rem !important}.px-xxl-2{padding-right:.5rem !important;padding-left:.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:.25rem !important;padding-bottom:.25rem !important}.py-xxl-2{padding-top:.5rem !important;padding-bottom:.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:.25rem !important}.pt-xxl-2{padding-top:.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:.25rem !important}.pe-xxl-2{padding-right:.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:.25rem !important}.pb-xxl-2{padding-bottom:.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:.25rem !important}.ps-xxl-2{padding-left:.5rem !important}.ps-xxl-3{padding-left:1rem !important}.ps-xxl-4{padding-left:1.5rem !important}.ps-xxl-5{padding-left:3rem !important}.gap-xxl-0{gap:0 !important}.gap-xxl-1{gap:.25rem !important}.gap-xxl-2{gap:.5rem !important}.gap-xxl-3{gap:1rem !important}.gap-xxl-4{gap:1.5rem !important}.gap-xxl-5{gap:3rem !important}.text-xxl-start{text-align:left !important}.text-xxl-end{text-align:right !important}.text-xxl-center{text-align:center !important}}.bg-default{color:#000}.bg-primary{color:#fff}.bg-secondary{color:#fff}.bg-success{color:#fff}.bg-info{color:#000}.bg-warning{color:#000}.bg-danger{color:#fff}.bg-light{color:#000}.bg-dark{color:#fff}@media (min-width: 1200px){.fs-1{font-size:2.5rem !important}.fs-2{font-size:2rem !important}.fs-3{font-size:1.75rem !important}.fs-4{font-size:1.5rem !important}}@media print{.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-grid{display:grid !important}.d-print-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}}.table th[align=left]{text-align:left}.table th[align=right]{text-align:right}.table th[align=center]{text-align:center}.well{display:block;background-color:rgba(0,0,0,0.03);color:#212529;padding:1rem;border-radius:.375rem}.well-lg{padding:1.5rem;border-radius:.5rem}.well-sm{padding:0.5rem;border-radius:.25rem}.draggable .well{background-color:#f7f7f7}.dropdown-menu>li.active>a{color:#fff;text-decoration:none;background-color:#0d6efd}.navbar:not(.fixed-bottom):not(.navbar-fixed-bottom):not(.navbar-fixed-bottom)+div>.tab-content>.tab-pane{--bslib-navbar-margin: 20px;margin-top:var(--bslib-navbar-margin)}ul.nav.navbar-nav{flex:1;-webkit-flex:1}ul.nav.navbar-nav.navbar-right{flex:unset;-webkit-flex:unset;display:flex;display:-webkit-flex;justify-content:flex-end;-webkit-justify-content:flex-end}.navbar.navbar-default{background-color:#f8f9fa !important}.navbar.navbar-inverse{background-color:#212529 !important}.navbar-toggle>.icon-bar{display:none}@media (max-width: 575.98px){.navbar-header{width:100%}.navbar-header .navbar-toggle{float:right}}.nav-tabs>li.active>a{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-pills>li.active>a{color:#fff;background-color:#0d6efd}.nav-stacked{flex-direction:column;-webkit-flex-direction:column}.progress-bar-default{background-color:#dee2e6;color:#000}.progress-bar-primary{background-color:#0d6efd;color:#fff}.progress-bar-secondary{background-color:#6c757d;color:#fff}.progress-bar-success{background-color:#198754;color:#fff}.progress-bar-info{background-color:#0dcaf0;color:#000}.progress-bar-warning{background-color:#ffc107;color:#000}.progress-bar-danger{background-color:#dc3545;color:#fff}.progress-bar-light{background-color:#f8f9fa;color:#000}.progress-bar-dark{background-color:#212529;color:#fff}@font-face{font-family:'Glyphicons Halflings';src:url("fonts/bootstrap/glyphicons-halflings-regular.eot");src:url("fonts/bootstrap/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"),url("fonts/bootstrap/glyphicons-halflings-regular.woff2") format("woff2"),url("fonts/bootstrap/glyphicons-halflings-regular.woff") format("woff"),url("fonts/bootstrap/glyphicons-halflings-regular.ttf") format("truetype"),url("fonts/bootstrap/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg")}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}.form-group{margin-bottom:1rem}.input-daterange .input-group-addon.input-group-prepend.input-group-append{padding:inherit;line-height:inherit;text-shadow:inherit;border-width:0}.input-daterange .input-group-addon.input-group-prepend.input-group-append .input-group-text{border-radius:0}pre.shiny-code{padding:0.5rem}.section.level1,.section.level2,.section.level3,section.level1,section.level2,section.level3{margin-top:1.5rem}.section.level4,.section.level5,.section.level6,section.level4,section.level5,section.level6{margin-top:1rem}.accordion .accordion-icon:not(:empty){margin-right:0.25rem;display:flex}.accordion .accordion-button:not(.collapsed){box-shadow:none}.accordion .accordion-button:not(.collapsed):focus{box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.bslib-card .card-body+.card-body{padding-top:0}.bslib-card .card-body{overflow:auto}.bslib-card .card-body p{margin-top:0}.bslib-card .card-body p:last-child{margin-bottom:0}.bslib-card .card-body{max-height:var(--bslib-card-body-max-height, none)}.bslib-card.bslib-full-screen>.card-body{max-height:var(--bslib-card-body-max-height-full-screen, none)}.bslib-card .card-header .form-group{margin-bottom:0}.bslib-card .card-header .selectize-control{margin-bottom:0}.bslib-card .card-header .selectize-control .item{margin-right:1.15rem}.bslib-card .card-footer{margin-top:auto}.bslib-card .bslib-navs-card-title{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center}.bslib-card .bslib-navs-card-title .nav{margin-left:auto}.bslib-card .bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]){border:none}.bslib-card .bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]){border-top-left-radius:0;border-top-right-radius:0}.bslib-full-screen{position:fixed;inset:3.5rem 1rem 1rem;height:auto !important;max-height:none !important;width:auto !important;z-index:1070}.bslib-full-screen-enter{display:none;position:absolute;bottom:1px;right:3px;margin:0.5rem;padding:0.55rem !important;font-size:.8rem;cursor:pointer;opacity:.6;color:rgba(var(--bs-body-bg-rgb), 1);z-index:1070}.bslib-full-screen-enter:hover{opacity:1}.card:hover:not(.bslib-full-screen) .bslib-full-screen-enter,.well:hover:not(.bslib-full-screen) .bslib-full-screen-enter{display:block}@media (max-width: 575.98px){.bslib-full-screen-enter{display:none !important}}.bslib-full-screen-exit{position:relative;top:1.35rem;font-size:0.9rem;cursor:pointer;text-decoration:none;display:flex;float:right;margin-right:2.15rem;align-items:center;color:rgba(var(--bs-body-bg-rgb), 0.8)}.bslib-full-screen-exit:hover{color:rgba(var(--bs-body-bg-rgb), 1)}.bslib-full-screen-exit svg{margin-left:0.5rem;font-size:1.5rem}#bslib-full-screen-overlay{position:fixed;inset:0;background-color:rgba(var(--bs-body-color-rgb), 0.6);z-index:1069}.tab-content>.tab-pane.html-fill-container{display:none}.tab-content>.active.html-fill-container{display:flex}.tab-content.html-fill-container{padding:0}.bslib-page-fill{width:100%;height:100%;margin:0;padding:1rem;gap:1rem}@media (max-width: 575.98px){.bslib-page-fill{height:var(--bslib-page-fill-mobile-height, auto)}}.bslib-column-wrap{display:grid !important;gap:1rem;height:var(--bslib-column-wrap-height)}.bslib-column-wrap .card,.bslib-column-wrap .well{margin-bottom:0}@media (max-width: 575.98px){.bslib-column-wrap{grid-template-columns:1fr !important;height:var(--bslib-column-wrap-height-mobile)}}.bslib-sidebar-layout{--bslib-sidebar-transition: grid-template-columns ease-in-out 0.5s;--bslib-sidebar-border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, var(--bs-border-color-translucent));--bslib-sidebar-border-radius: var(--bs-border-radius);--bslib-sidebar-vert-border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, var(--bs-border-color-translucent));--bslib-collapse-toggle-border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, var(--bs-border-color-translucent));--bslib-collapse-toggle-transform: 90deg;--bslib-collapse-toggle-right-transform: -90deg;display:grid !important;grid-template-columns:Min(calc(100% - 1rem), var(--bslib-sidebar-width, 250px)) minmax(0, 1fr);position:relative;transition:var(--bslib-sidebar-transition);border:var(--bslib-sidebar-border);border-radius:var(--bslib-sidebar-border-radius)}@media (prefers-reduced-motion: reduce){.bslib-sidebar-layout{transition:none}}.bslib-sidebar-layout[data-bslib-sidebar-border="false"]{border:none}.bslib-sidebar-layout[data-bslib-sidebar-border-radius="false"]{border-radius:initial}.bslib-sidebar-layout>.main,.bslib-sidebar-layout>.sidebar{grid-row:1 / 2;border-radius:inherit;overflow:auto}.bslib-sidebar-layout>.main{grid-column:2 / 3;border-top-left-radius:0;border-bottom-left-radius:0;padding:1.5rem}.bslib-sidebar-layout>.sidebar{grid-column:1 / 2;width:100%;height:100%;border-right:var(--bslib-sidebar-vert-border);border-top-right-radius:0;border-bottom-right-radius:0;background-color:#f8f9fa;color:#000}.bslib-sidebar-layout>.sidebar>.sidebar-content{display:flex;flex-direction:column;padding:1.5rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>:last-child:not(.sidebar-title){margin-bottom:0}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion{margin-left:-1.5rem;margin-right:-1.5rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:first-child{margin-top:-1.5rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:last-child{margin-bottom:-1.5rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:last-child){margin-bottom:1rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-body{display:flex;flex-direction:column}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:first-child) .accordion-item:first-child{border-top:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:last-child) .accordion-item:last-child{border-bottom:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.bslib-sidebar-layout>.sidebar>.sidebar-content>.sidebar-title+.accordion{margin-top:calc(-1rem - var(--bs-card-border-width, 1px))}.bslib-sidebar-layout>.sidebar>.sidebar-content>.sidebar-title:has(+.accordion){border-bottom:none}.bslib-sidebar-layout>.sidebar .shiny-input-container{width:100%}.bslib-sidebar-layout>.collapse-toggle{grid-row:1 / 2;grid-column:1 / 2;display:inline-flex;align-items:center;position:absolute;right:-1rem;bottom:calc(1.5rem + var(--bslib-sidebar-overlap-counter, 0) * calc(1rem + 1.5rem));border:var(--bslib-collapse-toggle-border);border-left:none;border-radius:0 var(--bs-border-radius) var(--bs-border-radius) 0;padding:7px 0;background-color:#f8f9fa;color:#000}.bslib-sidebar-layout>.collapse-toggle>.collapse-icon{opacity:0.8;width:1rem;height:1rem;transform:rotate(var(--bslib-collapse-toggle-transform));transition:transform ease-in-out 0.35s}.bslib-sidebar-layout>.collapse-toggle:hover>.collapse-icon{opacity:1}.bslib-sidebar-layout .sidebar-title{font-size:1.25rem;line-height:1.25;margin-top:0;margin-bottom:1rem;padding-bottom:1rem;border-bottom:var(--bslib-sidebar-border)}.bslib-sidebar-layout.sidebar-right{grid-template-columns:minmax(0, 1fr) Min(calc(100% - 1rem), var(--bslib-sidebar-width, 250px))}.bslib-sidebar-layout.sidebar-right>.main{grid-column:1 / 2;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:inherit;border-bottom-left-radius:inherit}.bslib-sidebar-layout.sidebar-right>.sidebar{grid-column:2 / 3;border-right:none;border-left:var(--bslib-sidebar-vert-border);border-top-left-radius:0;border-bottom-left-radius:0}.bslib-sidebar-layout.sidebar-right>.collapse-toggle{grid-column:2 / 3;left:-1rem;right:unset;border-radius:var(--bs-border-radius) 0 0 var(--bs-border-radius);border-right:none;border-left:var(--bslib-collapse-toggle-border)}.bslib-sidebar-layout.sidebar-right>.collapse-toggle>.collapse-icon{transform:rotate(var(--bslib-collapse-toggle-right-transform))}.bslib-sidebar-layout.sidebar-collapsed{--bslib-collapse-toggle-transform: -90deg;--bslib-collapse-toggle-right-transform: 90deg;--bslib-sidebar-vert-border: none;grid-template-columns:0 minmax(0, 1fr)}.bslib-sidebar-layout.sidebar-collapsed.sidebar-right{grid-template-columns:minmax(0, 1fr) 0}.bslib-sidebar-layout.sidebar-collapsed:not(.transitioning)>.sidebar>*{display:none}.bslib-sidebar-layout.sidebar-collapsed>.main{border-radius:inherit}.bslib-sidebar-layout.sidebar-collapsed>.collapse-toggle{right:calc(-1rem - var(--bs-card-border-width, 1px))}.bslib-sidebar-layout.sidebar-collapsed.sidebar-right>.collapse-toggle{left:calc(-1rem - var(--bs-card-border-width, 1px));right:unset}@media (min-width: 576px){.bslib-sidebar-layout.transitioning>.sidebar>.sidebar-content{display:none}}@media (max-width: 575.98px){.bslib-sidebar-layout,.bslib-sidebar-layout.sidebar-right{--bslib-sidebar-vert-border: none;--bslib-sidebar-horiz-border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, var(--bs-border-color-translucent));--bslib-collapse-toggle-transform: -180deg;--bslib-collapse-toggle-right-transform: -180deg;grid-template-columns:1fr !important;grid-template-rows:fit-content(var(--bslib-sidebar-max-height-mobile, auto)) minmax(0, 1fr)}.bslib-sidebar-layout[data-bslib-sidebar-open="desktop"],.bslib-sidebar-layout.sidebar-right[data-bslib-sidebar-open="desktop"]{--bslib-sidebar-js-init-collapsed: true}.bslib-sidebar-layout>.sidebar,.bslib-sidebar-layout.sidebar-right>.sidebar{grid-row:1 / 2;grid-column:1 / 2;width:100%;border:none;border-bottom:var(--bslib-sidebar-horiz-border);border-radius:0}.bslib-sidebar-layout>.main,.bslib-sidebar-layout.sidebar-right>.main{grid-row:2 / 3;grid-column:1 / 2;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.bslib-sidebar-layout>.collapse-toggle,.bslib-sidebar-layout.sidebar-right>.collapse-toggle{grid-row:2 / 3;grid-column:1 / 2;border-top:none !important;border:var(--bslib-collapse-toggle-border);border-radius:0 0 var(--bs-border-radius) var(--bs-border-radius);padding:0 4px}.bslib-sidebar-layout>.collapse-toggle,.bslib-sidebar-layout.sidebar-right>.collapse-toggle,.bslib-sidebar-layout.sidebar-right>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-right>.collapse-toggle{top:calc(-1 * var(--bs-card-border-width, 1px))}.bslib-sidebar-layout.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-right.sidebar-collapsed>.collapse-toggle{top:0}.bslib-sidebar-layout>.collapse-toggle,.bslib-sidebar-layout.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-right>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-right.sidebar-collapsed>.collapse-toggle{right:calc(1.5rem + var(--bslib-sidebar-counter, 0) * calc(1rem + 1.5rem));bottom:initial;left:initial}.bslib-sidebar-layout.sidebar-collapsed,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed{--bslib-collapse-toggle-transform: 0deg;--bslib-collapse-toggle-right-transform: 0deg;grid-template-rows:0 minmax(0, 1fr)}.bslib-sidebar-layout.sidebar-collapsed>.main,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.main{border-top-left-radius:inherit;border-top-right-radius:inherit}.bslib-sidebar-layout.sidebar-collapsed>.sidebar,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.sidebar{border-bottom:none}}.navbar+.container-fluid:has(>.tab-content>.tab-pane.active>.bslib-sidebar-layout),.navbar+.container-sm:has(>.tab-content>.tab-pane.active>.bslib-sidebar-layout),.navbar+.container-md:has(>.tab-content>.tab-pane.active>.bslib-sidebar-layout),.navbar+.container-lg:has(>.tab-content>.tab-pane.active>.bslib-sidebar-layout),.navbar+.container-xl:has(>.tab-content>.tab-pane.active>.bslib-sidebar-layout),.navbar+.container-xxl:has(>.tab-content>.tab-pane.active>.bslib-sidebar-layout){padding-left:0;padding-right:0}.navbar+.container-fluid>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]),.navbar+.container-sm>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]),.navbar+.container-md>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]),.navbar+.container-lg>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]),.navbar+.container-xl>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]),.navbar+.container-xxl>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]){border:none}.navbar+.container-fluid>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]),.navbar+.container-sm>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]),.navbar+.container-md>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]),.navbar+.container-lg>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]),.navbar+.container-xl>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]),.navbar+.container-xxl>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]){border-radius:0}.bslib-value-box .value-box-grid{grid-template-columns:var(--bslib-value-box-widths)}.bslib-value-box .value-box-showcase{align-items:center;justify-content:center;margin-top:auto;margin-bottom:auto;padding:1rem;max-height:var(--bslib-value-box-max-height)}.bslib-value-box .value-box-showcase .bi,.bslib-value-box .value-box-showcase .fa{opacity:.85}.bslib-value-box .value-box-showcase .bi{font-size:5rem}.bslib-value-box .value-box-showcase .fa{font-size:4rem}.bslib-value-box .value-box-showcase.showcase-top-right{align-items:end;padding-left:0;padding-bottom:0}.bslib-value-box .value-box-area{justify-content:center;padding:1.5rem 1rem;font-size:.9rem;font-weight:500}.bslib-value-box .value-box-area *{color:inherit;margin-bottom:0;margin-top:0}.bslib-value-box .value-box-area.border-start{border-color:rgba(222,226,230,0.3) !important}.bslib-value-box.bslib-full-screen .value-box-grid{grid-template-columns:var(--bslib-value-box-widths-full-screen)}.bslib-value-box.bslib-full-screen .value-box-showcase{max-height:var(--bslib-value-box-max-height-full-screen)}.bslib-value-box:not(.bslib-full-screen) .value-box-showcase.showcase-top-right{margin-top:0}@media (max-width: 575.98px){.bslib-value-box .value-box-grid{grid-template-columns:var(--bslib-value-box-widths) !important}}@media (min-width: 576px){.nav:not(.nav-hidden){display:flex !important;display:-webkit-flex !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column){float:none !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column)>.bslib-nav-spacer{margin-left:auto !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column)>.form-inline{margin-top:auto;margin-bottom:auto}.nav:not(.nav-hidden).nav-stacked{flex-direction:column;-webkit-flex-direction:column;height:100%}.nav:not(.nav-hidden).nav-stacked>.bslib-nav-spacer{margin-top:auto !important}} + */:root{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: #dc3545;--bs-orange: #fd7e14;--bs-yellow: #ffc107;--bs-green: #198754;--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-default: #dee2e6;--bs-primary: #0d6efd;--bs-secondary: #6c757d;--bs-success: #198754;--bs-info: #0dcaf0;--bs-warning: #ffc107;--bs-danger: #dc3545;--bs-light: #f8f9fa;--bs-dark: #212529;--bs-default-rgb: 222,226,230;--bs-primary-rgb: 13,110,253;--bs-secondary-rgb: 108,117,125;--bs-success-rgb: 25,135,84;--bs-info-rgb: 13,202,240;--bs-warning-rgb: 255,193,7;--bs-danger-rgb: 220,53,69;--bs-light-rgb: 248,249,250;--bs-dark-rgb: 33,37,41;--bs-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", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255,255,255,0.15), rgba(255,255,255,0));--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight: 400;--bs-body-line-height: 1.5;--bs-body-color: #212529;--bs-body-bg: #fff;--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0,0,0,0.175);--bs-border-radius: .375rem;--bs-border-radius-sm: .25rem;--bs-border-radius-lg: .5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-2xl: 2rem;--bs-border-radius-pill: 50rem;--bs-link-color: #0d6efd;--bs-link-hover-color: #0a58ca;--bs-code-color: #000;--bs-highlight-bg: #fff3cd}*,*::before,*::after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:1px solid;opacity:.25}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:calc(1.325rem + .9vw)}@media (min-width: 1200px){h2,.h2{font-size:2rem}}h3,.h3{font-size:calc(1.3rem + .6vw)}@media (min-width: 1200px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{text-decoration:underline dotted;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;-ms-text-decoration:underline dotted;-o-text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem;padding:.625rem 1.25rem;border-left:.25rem solid #e9ecef}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}b,strong{font-weight:bolder}small,.small{font-size:.875em}mark,.mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--bs-link-color);text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}a:hover{color:var(--bs-link-hover-color)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em;color:#000;background-color:#f6f6f6;padding:.5rem;border:1px solid #dee2e6;border-radius:.375rem}pre code{background-color:transparent;font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);background-color:#f6f6f6;border-radius:.375rem;padding:.125rem .25rem;word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.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]:not([type="date"]):not([type="datetime-local"]):not([type="month"]):not([type="week"]):not([type="time"])::-webkit-calendar-picker-indicator{display:none !important}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button:not(:disabled),[type="button"]:not(:disabled),[type="reset"]:not(:disabled),[type="submit"]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .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}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none !important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.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:.875em;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid var(--bs-border-color);border-radius:.375rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-xxl,.container-xl,.container-lg,.container-md,.container-sm{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.container-sm,.container{max-width:540px}}@media (min-width: 768px){.container-md,.container-sm,.container{max-width:720px}}@media (min-width: 992px){.container-lg,.container-md,.container-sm,.container{max-width:960px}}@media (min-width: 1200px){.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1140px}}@media (min-width: 1400px){.container-xxl,.container-xl,.container-lg,.container-md,.container-sm,.container{max-width:1320px}}.row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;-webkit-flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%;-webkit-flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333%}.offset-2{margin-left:16.66667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333%}.offset-5{margin-left:41.66667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333%}.offset-8{margin-left:66.66667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333%}.offset-11{margin-left:91.66667%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: .25rem}.g-1,.gy-1{--bs-gutter-y: .25rem}.g-2,.gx-2{--bs-gutter-x: .5rem}.g-2,.gy-2{--bs-gutter-y: .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%;-webkit-flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-sm-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-sm-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-sm-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-sm-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-sm-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-sm-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-sm-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-sm-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-sm-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-sm-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333%}.offset-sm-2{margin-left:16.66667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333%}.offset-sm-5{margin-left:41.66667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333%}.offset-sm-8{margin-left:66.66667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333%}.offset-sm-11{margin-left:91.66667%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: .25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: .25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: .5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: .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%;-webkit-flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-md-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-md-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-md-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-md-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-md-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-md-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-md-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-md-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-md-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-md-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333%}.offset-md-2{margin-left:16.66667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333%}.offset-md-5{margin-left:41.66667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333%}.offset-md-8{margin-left:66.66667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333%}.offset-md-11{margin-left:91.66667%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: .25rem}.g-md-1,.gy-md-1{--bs-gutter-y: .25rem}.g-md-2,.gx-md-2{--bs-gutter-x: .5rem}.g-md-2,.gy-md-2{--bs-gutter-y: .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%;-webkit-flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-lg-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-lg-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-lg-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-lg-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-lg-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-lg-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-lg-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-lg-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-lg-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-lg-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333%}.offset-lg-2{margin-left:16.66667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333%}.offset-lg-5{margin-left:41.66667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333%}.offset-lg-8{margin-left:66.66667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333%}.offset-lg-11{margin-left:91.66667%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: .25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: .25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: .5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: .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%;-webkit-flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-xl-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-xl-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-xl-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-xl-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-xl-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-xl-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-xl-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-xl-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-xl-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-xl-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333%}.offset-xl-2{margin-left:16.66667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333%}.offset-xl-5{margin-left:41.66667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333%}.offset-xl-8{margin-left:66.66667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333%}.offset-xl-11{margin-left:91.66667%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: .25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: .25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: .5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: .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%;-webkit-flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.row-cols-xxl-4>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-xxl-auto{flex:0 0 auto;-webkit-flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;-webkit-flex:0 0 auto;width:8.33333%}.col-xxl-2{flex:0 0 auto;-webkit-flex:0 0 auto;width:16.66667%}.col-xxl-3{flex:0 0 auto;-webkit-flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;-webkit-flex:0 0 auto;width:33.33333%}.col-xxl-5{flex:0 0 auto;-webkit-flex:0 0 auto;width:41.66667%}.col-xxl-6{flex:0 0 auto;-webkit-flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;-webkit-flex:0 0 auto;width:58.33333%}.col-xxl-8{flex:0 0 auto;-webkit-flex:0 0 auto;width:66.66667%}.col-xxl-9{flex:0 0 auto;-webkit-flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;-webkit-flex:0 0 auto;width:83.33333%}.col-xxl-11{flex:0 0 auto;-webkit-flex:0 0 auto;width:91.66667%}.col-xxl-12{flex:0 0 auto;-webkit-flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333%}.offset-xxl-2{margin-left:16.66667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333%}.offset-xxl-5{margin-left:41.66667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333%}.offset-xxl-8{margin-left:66.66667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333%}.offset-xxl-11{margin-left:91.66667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: .25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: .25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: .5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: .5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.table{--bs-table-color: var(--bs-body-color);--bs-table-bg: rgba(0,0,0,0);--bs-table-border-color: var(--bs-border-color);--bs-table-accent-bg: rgba(0,0,0,0);--bs-table-striped-color: var(--bs-body-color);--bs-table-striped-bg: rgba(0,0,0,0.05);--bs-table-active-color: var(--bs-body-color);--bs-table-active-bg: rgba(0,0,0,0.1);--bs-table-hover-color: var(--bs-body-color);--bs-table-hover-bg: rgba(0,0,0,0.075);width:100%;margin-bottom:1rem;color:var(--bs-table-color);vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .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-group-divider{border-top:2px solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .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-striped-columns>:not(caption)>tr>:nth-child(even){--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-color: #000;--bs-table-bg: #cfe2ff;--bs-table-border-color: #bacbe6;--bs-table-striped-bg: #c5d7f2;--bs-table-striped-color: #000;--bs-table-active-bg: #bacbe6;--bs-table-active-color: #000;--bs-table-hover-bg: #bfd1ec;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: #e2e3e5;--bs-table-border-color: #cbccce;--bs-table-striped-bg: #d7d8da;--bs-table-striped-color: #000;--bs-table-active-bg: #cbccce;--bs-table-active-color: #000;--bs-table-hover-bg: #d1d2d4;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: #d1e7dd;--bs-table-border-color: #bcd0c7;--bs-table-striped-bg: #c7dbd2;--bs-table-striped-color: #000;--bs-table-active-bg: #bcd0c7;--bs-table-active-color: #000;--bs-table-hover-bg: #c1d6cc;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: #cff4fc;--bs-table-border-color: #badce3;--bs-table-striped-bg: #c5e8ef;--bs-table-striped-color: #000;--bs-table-active-bg: #badce3;--bs-table-active-color: #000;--bs-table-hover-bg: #bfe2e9;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: #fff3cd;--bs-table-border-color: #e6dbb9;--bs-table-striped-bg: #f2e7c3;--bs-table-striped-color: #000;--bs-table-active-bg: #e6dbb9;--bs-table-active-color: #000;--bs-table-hover-bg: #ece1be;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: #f8d7da;--bs-table-border-color: #dfc2c4;--bs-table-striped-bg: #eccccf;--bs-table-striped-color: #000;--bs-table-active-bg: #dfc2c4;--bs-table-active-color: #000;--bs-table-hover-bg: #e5c7ca;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #f8f9fa;--bs-table-border-color: #dfe0e1;--bs-table-striped-bg: #ecedee;--bs-table-striped-color: #000;--bs-table-active-bg: #dfe0e1;--bs-table-active-color: #000;--bs-table-hover-bg: #e5e6e7;--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #212529;--bs-table-border-color: #373b3e;--bs-table-striped-bg: #2c3034;--bs-table-striped-color: #fff;--bs-table-active-bg: #373b3e;--bs-table-active-color: #fff;--bs-table-hover-bg: #323539;--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label,.shiny-input-container .control-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text,.help-text,.help-block{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;border-radius:.375rem;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:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled{background-color:#e9ecef;opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.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::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:calc(1.5em + .75rem + 2px);padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0 !important;border-radius:.375rem}.form-control-color::-webkit-color-swatch{border-radius:.375rem}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + 2px)}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + 2px)}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(.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 5 6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.375rem;transition:border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media (prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.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:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:.25rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:.5rem}.form-check,.shiny-input-container .checkbox,.shiny-input-container .radio{display:block;min-height:1.5rem;padding-left:0;margin-bottom:.125rem}.form-check .form-check-input,.form-check .shiny-input-container .checkbox input,.form-check .shiny-input-container .radio input,.shiny-input-container .checkbox .form-check-input,.shiny-input-container .checkbox .shiny-input-container .checkbox input,.shiny-input-container .checkbox .shiny-input-container .radio input,.shiny-input-container .radio .form-check-input,.shiny-input-container .radio .shiny-input-container .checkbox input,.shiny-input-container .radio .shiny-input-container .radio input{float:left;margin-left:0}.form-check-reverse{padding-right:0;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:0;margin-left:0}.form-check-input,.shiny-input-container .checkbox input,.shiny-input-container .checkbox-inline input,.shiny-input-container .radio input,.shiny-input-container .radio-inline input{width:1em;height:1em;margin-top:.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);appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none;print-color-adjust:exact}.form-check-input[type="checkbox"],.shiny-input-container .checkbox input[type="checkbox"],.shiny-input-container .checkbox-inline input[type="checkbox"],.shiny-input-container .radio input[type="checkbox"],.shiny-input-container .radio-inline input[type="checkbox"]{border-radius:.25em}.form-check-input[type="radio"],.shiny-input-container .checkbox input[type="radio"],.shiny-input-container .checkbox-inline input[type="radio"],.shiny-input-container .radio input[type="radio"],.shiny-input-container .radio-inline input[type="radio"]{border-radius:50%}.form-check-input:active,.shiny-input-container .checkbox input:active,.shiny-input-container .checkbox-inline input:active,.shiny-input-container .radio input:active,.shiny-input-container .radio-inline input:active{filter:brightness(90%)}.form-check-input:focus,.shiny-input-container .checkbox input:focus,.shiny-input-container .checkbox-inline input:focus,.shiny-input-container .radio input:focus,.shiny-input-container .radio-inline input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25)}.form-check-input:checked,.shiny-input-container .checkbox input:checked,.shiny-input-container .checkbox-inline input:checked,.shiny-input-container .radio input:checked,.shiny-input-container .radio-inline input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type="checkbox"],.shiny-input-container .checkbox input:checked[type="checkbox"],.shiny-input-container .checkbox-inline input:checked[type="checkbox"],.shiny-input-container .radio input:checked[type="checkbox"],.shiny-input-container .radio-inline 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 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type="radio"],.shiny-input-container .checkbox input:checked[type="radio"],.shiny-input-container .checkbox-inline input:checked[type="radio"],.shiny-input-container .radio input:checked[type="radio"],.shiny-input-container .radio-inline 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,.shiny-input-container .checkbox input[type="checkbox"]:indeterminate,.shiny-input-container .checkbox-inline input[type="checkbox"]:indeterminate,.shiny-input-container .radio input[type="checkbox"]:indeterminate,.shiny-input-container .radio-inline input[type="checkbox"]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;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,.shiny-input-container .checkbox input:disabled,.shiny-input-container .checkbox-inline input:disabled,.shiny-input-container .radio input:disabled,.shiny-input-container .radio-inline input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input[disabled]~span,.form-check-input:disabled~.form-check-label,.form-check-input:disabled~span,.shiny-input-container .checkbox input[disabled]~.form-check-label,.shiny-input-container .checkbox input[disabled]~span,.shiny-input-container .checkbox input:disabled~.form-check-label,.shiny-input-container .checkbox input:disabled~span,.shiny-input-container .checkbox-inline input[disabled]~.form-check-label,.shiny-input-container .checkbox-inline input[disabled]~span,.shiny-input-container .checkbox-inline input:disabled~.form-check-label,.shiny-input-container .checkbox-inline input:disabled~span,.shiny-input-container .radio input[disabled]~.form-check-label,.shiny-input-container .radio input[disabled]~span,.shiny-input-container .radio input:disabled~.form-check-label,.shiny-input-container .radio input:disabled~span,.shiny-input-container .radio-inline input[disabled]~.form-check-label,.shiny-input-container .radio-inline input[disabled]~span,.shiny-input-container .radio-inline input:disabled~.form-check-label,.shiny-input-container .radio-inline input:disabled~span{cursor:default;opacity:.5}.form-check-label,.shiny-input-container .checkbox label,.shiny-input-container .checkbox-inline label,.shiny-input-container .radio label,.shiny-input-container .radio-inline label{cursor:pointer}.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='%2386b7fe'/%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-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,0.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,0.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.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:#0d6efd;border:0;border-radius:1rem;transition:background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;appearance:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;-o-appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.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-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;width:100%;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;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,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{opacity:.65;transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(0.85) translateY(-0.5rem) translateX(0.15rem)}.form-floating>.form-control-plaintext~label{border-width:1px 0}.input-group{position:relative;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:stretch;-webkit-align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding:.375rem .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:.375rem}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n + 3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n + 4),.input-group.has-validation>.form-floating:nth-last-child(n + 3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n + 3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,0.9);border-radius:.375rem}.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 + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:#198754;box-shadow: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 + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .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 5 6 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.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,0.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3rem + calc(1.5em + .75rem))}.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 .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:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,0.9);border-radius:.375rem}.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 + .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(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#dc3545;box-shadow: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 + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .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 5 6 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 .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,0.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3rem + calc(1.5em + .75rem))}.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 .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:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: .75rem;--bs-btn-padding-y: .375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.5;--bs-btn-color: #212529;--bs-btn-bg: transparent;--bs-btn-border-width: 1px;--bs-btn-border-color: transparent;--bs-btn-border-radius: .375rem;--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255,255,255,0.15),0 1px 1px rgba(0,0,0,0.075);--bs-btn-disabled-opacity: .65;--bs-btn-focus-box-shadow: 0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show,.btn.in{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn.in:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-default{--bs-btn-color: #000;--bs-btn-bg: #dee2e6;--bs-btn-border-color: #dee2e6;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #e3e6ea;--bs-btn-hover-border-color: #e1e5e9;--bs-btn-focus-shadow-rgb: 189,192,196;--bs-btn-active-color: #000;--bs-btn-active-bg: #e5e8eb;--bs-btn-active-border-color: #e1e5e9;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #dee2e6;--bs-btn-disabled-border-color: #dee2e6}.btn-primary{--bs-btn-color: #fff;--bs-btn-bg: #0d6efd;--bs-btn-border-color: #0d6efd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0b5ed7;--bs-btn-hover-border-color: #0a58ca;--bs-btn-focus-shadow-rgb: 49,132,253;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0a58ca;--bs-btn-active-border-color: #0a53be;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #0d6efd;--bs-btn-disabled-border-color: #0d6efd}.btn-secondary{--bs-btn-color: #fff;--bs-btn-bg: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #5c636a;--bs-btn-hover-border-color: #565e64;--bs-btn-focus-shadow-rgb: 130,138,145;--bs-btn-active-color: #fff;--bs-btn-active-bg: #565e64;--bs-btn-active-border-color: #51585e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #6c757d;--bs-btn-disabled-border-color: #6c757d}.btn-success{--bs-btn-color: #fff;--bs-btn-bg: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #157347;--bs-btn-hover-border-color: #146c43;--bs-btn-focus-shadow-rgb: 60,153,110;--bs-btn-active-color: #fff;--bs-btn-active-bg: #146c43;--bs-btn-active-border-color: #13653f;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #198754;--bs-btn-disabled-border-color: #198754}.btn-info{--bs-btn-color: #000;--bs-btn-bg: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #31d2f2;--bs-btn-hover-border-color: #25cff2;--bs-btn-focus-shadow-rgb: 11,172,204;--bs-btn-active-color: #000;--bs-btn-active-bg: #3dd5f3;--bs-btn-active-border-color: #25cff2;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #0dcaf0;--bs-btn-disabled-border-color: #0dcaf0}.btn-warning{--bs-btn-color: #000;--bs-btn-bg: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffca2c;--bs-btn-hover-border-color: #ffc720;--bs-btn-focus-shadow-rgb: 217,164,6;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffcd39;--bs-btn-active-border-color: #ffc720;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #ffc107;--bs-btn-disabled-border-color: #ffc107}.btn-danger{--bs-btn-color: #fff;--bs-btn-bg: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #bb2d3b;--bs-btn-hover-border-color: #b02a37;--bs-btn-focus-shadow-rgb: 225,83,97;--bs-btn-active-color: #fff;--bs-btn-active-bg: #b02a37;--bs-btn-active-border-color: #a52834;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #dc3545;--bs-btn-disabled-border-color: #dc3545}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #d3d4d5;--bs-btn-hover-border-color: #c6c7c8;--bs-btn-focus-shadow-rgb: 211,212,213;--bs-btn-active-color: #000;--bs-btn-active-bg: #c6c7c8;--bs-btn-active-border-color: #babbbc;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f8f9fa;--bs-btn-disabled-border-color: #f8f9fa}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #424649;--bs-btn-hover-border-color: #373b3e;--bs-btn-focus-shadow-rgb: 66,70,73;--bs-btn-active-color: #fff;--bs-btn-active-bg: #4d5154;--bs-btn-active-border-color: #373b3e;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #212529;--bs-btn-disabled-border-color: #212529}.btn-outline-default{--bs-btn-color: #dee2e6;--bs-btn-border-color: #dee2e6;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #dee2e6;--bs-btn-hover-border-color: #dee2e6;--bs-btn-focus-shadow-rgb: 222,226,230;--bs-btn-active-color: #000;--bs-btn-active-bg: #dee2e6;--bs-btn-active-border-color: #dee2e6;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #dee2e6;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #dee2e6;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-primary{--bs-btn-color: #0d6efd;--bs-btn-border-color: #0d6efd;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #0d6efd;--bs-btn-hover-border-color: #0d6efd;--bs-btn-focus-shadow-rgb: 13,110,253;--bs-btn-active-color: #fff;--bs-btn-active-bg: #0d6efd;--bs-btn-active-border-color: #0d6efd;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #0d6efd;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0d6efd;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: #6c757d;--bs-btn-border-color: #6c757d;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #6c757d;--bs-btn-hover-border-color: #6c757d;--bs-btn-focus-shadow-rgb: 108,117,125;--bs-btn-active-color: #fff;--bs-btn-active-bg: #6c757d;--bs-btn-active-border-color: #6c757d;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #6c757d;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-success{--bs-btn-color: #198754;--bs-btn-border-color: #198754;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #198754;--bs-btn-hover-border-color: #198754;--bs-btn-focus-shadow-rgb: 25,135,84;--bs-btn-active-color: #fff;--bs-btn-active-bg: #198754;--bs-btn-active-border-color: #198754;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #198754;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #198754;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-info{--bs-btn-color: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #0dcaf0;--bs-btn-focus-shadow-rgb: 13,202,240;--bs-btn-active-color: #000;--bs-btn-active-bg: #0dcaf0;--bs-btn-active-border-color: #0dcaf0;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #0dcaf0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0dcaf0;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: #ffc107;--bs-btn-border-color: #ffc107;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #ffc107;--bs-btn-hover-border-color: #ffc107;--bs-btn-focus-shadow-rgb: 255,193,7;--bs-btn-active-color: #000;--bs-btn-active-bg: #ffc107;--bs-btn-active-border-color: #ffc107;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #ffc107;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #ffc107;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-danger{--bs-btn-color: #dc3545;--bs-btn-border-color: #dc3545;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #dc3545;--bs-btn-hover-border-color: #dc3545;--bs-btn-focus-shadow-rgb: 220,53,69;--bs-btn-active-color: #fff;--bs-btn-active-bg: #dc3545;--bs-btn-active-border-color: #dc3545;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #dc3545;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #dc3545;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-light{--bs-btn-color: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f8f9fa;--bs-btn-hover-border-color: #f8f9fa;--bs-btn-focus-shadow-rgb: 248,249,250;--bs-btn-active-color: #000;--bs-btn-active-bg: #f8f9fa;--bs-btn-active-border-color: #f8f9fa;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #f8f9fa;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f8f9fa;--bs-btn-bg: transparent;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #212529;--bs-btn-hover-border-color: #212529;--bs-btn-focus-shadow-rgb: 33,37,41;--bs-btn-active-color: #fff;--bs-btn-active-bg: #212529;--bs-btn-active-border-color: #212529;--bs-btn-active-shadow: inset 0 3px 5px rgba(0,0,0,0.125);--bs-btn-disabled-color: #212529;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #212529;--bs-btn-bg: transparent;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: none;--bs-btn-focus-shadow-rgb: 49,132,253;text-decoration:underline;-webkit-text-decoration:underline;-moz-text-decoration:underline;-ms-text-decoration:underline;-o-text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg,.btn-group-lg>.btn{--bs-btn-padding-y: .5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius: .5rem}.btn-sm,.btn-group-sm>.btn{--bs-btn-padding-y: .25rem;--bs-btn-padding-x: .5rem;--bs-btn-font-size:.875rem;--bs-btn-border-radius: .25rem}.fade{transition:opacity 0.15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show):not(.in){opacity:0}.collapse:not(.show):not(.in){display:none}.collapsing{height:0;overflow:hidden;transition:height 0.35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width 0.35s ease}@media (prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: .5rem;--bs-dropdown-spacer: .125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color: #212529;--bs-dropdown-bg: #fff;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: .375rem;--bs-dropdown-border-width: 1px;--bs-dropdown-inner-border-radius: calc(.375rem - 1px);--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: .5rem;--bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);--bs-dropdown-link-color: #212529;--bs-dropdown-link-hover-color: #1e2125;--bs-dropdown-link-hover-bg: #e9ecef;--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: .25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: .5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .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}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider,.dropdown-menu>li.divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item,.dropdown-menu>li>a{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:hover,.dropdown-menu>li>a:hover,.dropdown-item:focus,.dropdown-menu>li>a:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-menu>li>a.active,.dropdown-item:active,.dropdown-menu>li>a:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-menu>li>a.disabled,.dropdown-item:disabled,.dropdown-menu>li>a:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show,.dropdown-menu.in{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255,255,255,0.15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;flex:1 1 auto;-webkit-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;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;justify-content:flex-start;-webkit-justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:.375rem}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n + 3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.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:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;-webkit-flex-direction:column;align-items:flex-start;-webkit-align-items:flex-start;justify-content:center;-webkit-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{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: #6c757d;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link,.nav-tabs>li>a,.nav-pills>li>a,ul.nav.navbar-nav>li>a{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-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,.nav-tabs>li>a,.nav-pills>li>a,ul.nav.navbar-nav>li>a{transition:none}}.nav-link:hover,.nav-tabs>li>a:hover,.nav-pills>li>a:hover,ul.nav.navbar-nav>li>a:hover,.nav-link:focus,.nav-tabs>li>a:focus,.nav-pills>li>a:focus,ul.nav.navbar-nav>li>a:focus{color:var(--bs-nav-link-hover-color)}.nav-link.disabled,.nav-tabs>li>a.disabled,.nav-pills>li>a.disabled,ul.nav.navbar-nav>li>a.disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width: 1px;--bs-nav-tabs-border-color: #dee2e6;--bs-nav-tabs-border-radius: .375rem;--bs-nav-tabs-link-hover-border-color: #e9ecef #e9ecef #dee2e6;--bs-nav-tabs-link-active-color: #495057;--bs-nav-tabs-link-active-bg: #fff;--bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #fff;border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link,.nav-tabs>li>a,.nav-tabs .nav-pills>li>a,.nav-tabs ul.nav.navbar-nav>li>a{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));background:none;border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs>li>a:hover,.nav-tabs .nav-pills>li>a:hover,.nav-tabs ul.nav.navbar-nav>li>a:hover,.nav-tabs .nav-link:focus,.nav-tabs>li>a:focus,.nav-tabs .nav-pills>li>a:focus,.nav-tabs ul.nav.navbar-nav>li>a:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.disabled,.nav-tabs>li>a.disabled,.nav-tabs .nav-pills>li>a.disabled,.nav-tabs ul.nav.navbar-nav>li>a.disabled,.nav-tabs .nav-link:disabled,.nav-tabs>li>a:disabled,.nav-tabs .nav-pills>li>a:disabled,.nav-tabs ul.nav.navbar-nav>li>a:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs>li>a.active,.nav-tabs .nav-pills>li>a.active,.nav-tabs ul.nav.navbar-nav>li>a.active,.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-item.in .nav-link,.nav-tabs .nav-item.show .nav-tabs>li>a,.nav-tabs .nav-item.in .nav-tabs>li>a,.nav-tabs .nav-item.show .nav-pills>li>a,.nav-tabs .nav-item.in .nav-pills>li>a,.nav-tabs>li.show .nav-link,.nav-tabs>li.in .nav-link,.nav-tabs>li.show .nav-tabs>li>a,.nav-tabs>li.in .nav-tabs>li>a,.nav-tabs>li.show .nav-pills>li>a,.nav-tabs>li.in .nav-pills>li>a,.nav-tabs .nav-pills>li.show .nav-link,.nav-tabs .nav-pills>li.in .nav-link,.nav-tabs .nav-pills>li.show .nav-tabs>li>a,.nav-tabs .nav-pills>li.in .nav-tabs>li>a,.nav-tabs .nav-pills>li.show .nav-pills>li>a,.nav-tabs .nav-pills>li.in .nav-pills>li>a,.nav-tabs .nav-item.show ul.nav.navbar-nav>li>a,.nav-tabs .nav-item.in ul.nav.navbar-nav>li>a,.nav-tabs>li.show ul.nav.navbar-nav>li>a,.nav-tabs>li.in ul.nav.navbar-nav>li>a,.nav-tabs .nav-pills>li.show ul.nav.navbar-nav>li>a,.nav-tabs .nav-pills>li.in ul.nav.navbar-nav>li>a,.nav-tabs ul.nav.navbar-nav>li.show:not(.dropdown) .nav-link,.nav-tabs ul.nav.navbar-nav>li.in:not(.dropdown) .nav-link,.nav-tabs ul.nav.navbar-nav>li.show:not(.dropdown) .nav-tabs>li>a,.nav-tabs ul.nav.navbar-nav>li.in:not(.dropdown) .nav-tabs>li>a,.nav-tabs ul.nav.navbar-nav>li.show:not(.dropdown) .nav-pills>li>a,.nav-tabs ul.nav.navbar-nav>li.in:not(.dropdown) .nav-pills>li>a,.nav-tabs ul.nav.navbar-nav>li.show:not(.dropdown) ul.nav.navbar-nav>li>a,.nav-tabs ul.nav.navbar-nav>li.in:not(.dropdown) ul.nav.navbar-nav>li>a{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius: .375rem;--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}.nav-pills .nav-link,.nav-pills .nav-tabs>li>a,.nav-pills>li>a,.nav-pills ul.nav.navbar-nav>li>a{background:none;border:0;border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link:disabled,.nav-pills .nav-tabs>li>a:disabled,.nav-pills>li>a:disabled,.nav-pills ul.nav.navbar-nav>li>a:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-pills .nav-link.active,.nav-pills .nav-tabs>li>a.active,.nav-pills>li>a.active,.nav-pills ul.nav.navbar-nav>li>a.active,.nav-pills .show>.nav-link,.nav-pills .in>.nav-link,.nav-pills .nav-tabs>li.show>a,.nav-pills .nav-tabs>li.in>a,.nav-pills>li.show>a,.nav-pills>li.in>a,.nav-pills ul.nav.navbar-nav>li.show>a,.nav-pills ul.nav.navbar-nav>li.in>a{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-fill>.nav-link,.nav-tabs>li.nav-fill>a,.nav-pills>li.nav-fill>a,ul.nav.navbar-nav>li.nav-fill>a,.nav-fill .nav-item,.nav-fill .nav-tabs>li,.nav-fill .nav-pills>li,.nav-fill ul.nav.navbar-nav>li:not(.dropdown){flex:1 1 auto;-webkit-flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-tabs>li.nav-justified>a,.nav-pills>li.nav-justified>a,ul.nav.navbar-nav>li.nav-justified>a,.nav-justified .nav-item,.nav-justified .nav-tabs>li,.nav-justified .nav-pills>li,.nav-justified ul.nav.navbar-nav>li:not(.dropdown){flex-basis:0;-webkit-flex-basis:0;flex-grow:1;-webkit-flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-fill .nav-tabs>li .nav-link,.nav-fill .nav-tabs>li>a,.nav-fill .nav-pills>li .nav-link,.nav-fill .nav-pills>li>a,.nav-fill .nav-item ul.nav.navbar-nav>li>a,.nav-fill .nav-tabs>li ul.nav.navbar-nav>li>a,.nav-fill .nav-pills>li ul.nav.navbar-nav>li>a,.nav-fill ul.nav.navbar-nav>li:not(.dropdown) .nav-link,.nav-fill ul.nav.navbar-nav>li:not(.dropdown) .nav-tabs>li>a,.nav-fill ul.nav.navbar-nav>li:not(.dropdown) .nav-pills>li>a,.nav-fill ul.nav.navbar-nav>li:not(.dropdown) ul.nav.navbar-nav>li>a,.nav-justified .nav-item .nav-link,.nav-justified .nav-tabs>li .nav-link,.nav-justified .nav-tabs>li>a,.nav-justified .nav-pills>li .nav-link,.nav-justified .nav-pills>li>a,.nav-justified .nav-item ul.nav.navbar-nav>li>a,.nav-justified .nav-tabs>li ul.nav.navbar-nav>li>a,.nav-justified .nav-pills>li ul.nav.navbar-nav>li>a,.nav-justified ul.nav.navbar-nav>li:not(.dropdown) .nav-link,.nav-justified ul.nav.navbar-nav>li:not(.dropdown) .nav-tabs>li>a,.nav-justified ul.nav.navbar-nav>li:not(.dropdown) .nav-pills>li>a,.nav-justified ul.nav.navbar-nav>li:not(.dropdown) ul.nav.navbar-nav>li>a{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(0,0,0,0.55);--bs-navbar-hover-color: rgba(0,0,0,0.7);--bs-navbar-disabled-color: rgba(0,0,0,0.3);--bs-navbar-active-color: rgba(0,0,0,0.9);--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(0,0,0,0.9);--bs-navbar-brand-hover-color: rgba(0,0,0,0.9);--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280,0,0,0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color: rgba(0,0,0,0.1);--bs-navbar-toggler-border-radius: .375rem;--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;position:relative;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-sm,.navbar>.container-md,.navbar>.container-lg,.navbar>.container-xl,.navbar>.container-xxl{display:flex;display:-webkit-flex;flex-wrap:inherit;-webkit-flex-wrap:inherit;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .show>.nav-link,.navbar-nav .in>.nav-link,.navbar-nav .nav-tabs>li.show>a,.navbar-nav .nav-tabs>li.in>a,.navbar-nav .nav-pills>li.show>a,.navbar-nav .nav-pills>li.in>a,ul.nav.navbar-nav>li.show>a,ul.nav.navbar-nav>li.in>a,.navbar-nav .active>.nav-link,.navbar-nav .nav-tabs>li.active>a,.navbar-nav .nav-pills>li.active>a,ul.nav.navbar-nav>li.active>a,.navbar-nav .nav-link.active,.navbar-nav .nav-tabs>li>a.active,.navbar-nav .nav-pills>li>a.active,ul.nav.navbar-nav>li>a.active{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:hover,.navbar-text a:focus{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;-webkit-flex-basis:100%;flex-grow:1;-webkit-flex-grow:1;align-items:center;-webkit-align-items:center}.navbar-toggler,.navbar-toggle{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion: reduce){.navbar-toggler,.navbar-toggle{transition:none}}.navbar-toggler:hover,.navbar-toggle:hover{text-decoration:none}.navbar-toggler:focus,.navbar-toggle:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon,.navbar-toggle>.icon-bar:last-child{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width: 576px){.navbar-expand-sm,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl){flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-sm .navbar-nav,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link,.navbar-expand-sm .navbar-nav .nav-tabs>li>a,.navbar-expand-sm .navbar-nav .nav-pills>li>a,.navbar-expand-sm ul.nav.navbar-nav>li>a,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav .nav-link,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav .nav-tabs>li>a,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav .nav-pills>li>a,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) ul.nav.navbar-nav>li>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-sm .navbar-toggler,.navbar-expand-sm .navbar-toggle,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-toggler,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .navbar-toggle{display:none}.navbar-expand-sm .offcanvas,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body,.navbar:not(.navbar-expand):not(.navbar-expand-sm):not(.navbar-expand-md):not(.navbar-expand-lg):not(.navbar-expand-xl) .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 768px){.navbar-expand-md{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link,.navbar-expand-md .navbar-nav .nav-tabs>li>a,.navbar-expand-md .navbar-nav .nav-pills>li>a,.navbar-expand-md ul.nav.navbar-nav>li>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-md .navbar-toggler,.navbar-expand-md .navbar-toggle{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 992px){.navbar-expand-lg{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link,.navbar-expand-lg .navbar-nav .nav-tabs>li>a,.navbar-expand-lg .navbar-nav .nav-pills>li>a,.navbar-expand-lg ul.nav.navbar-nav>li>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-lg .navbar-toggler,.navbar-expand-lg .navbar-toggle{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1200px){.navbar-expand-xl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link,.navbar-expand-xl .navbar-nav .nav-tabs>li>a,.navbar-expand-xl .navbar-nav .nav-pills>li>a,.navbar-expand-xl ul.nav.navbar-nav>li>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-xl .navbar-toggler,.navbar-expand-xl .navbar-toggle{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}@media (min-width: 1400px){.navbar-expand-xxl{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link,.navbar-expand-xxl .navbar-nav .nav-tabs>li>a,.navbar-expand-xxl .navbar-nav .nav-pills>li>a,.navbar-expand-xxl ul.nav.navbar-nav>li>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand-xxl .navbar-toggler,.navbar-expand-xxl .navbar-toggle{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;-webkit-flex-wrap:nowrap;justify-content:flex-start;-webkit-justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row;-webkit-flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link,.navbar-expand .navbar-nav .nav-tabs>li>a,.navbar-expand .navbar-nav .nav-pills>li>a,.navbar-expand ul.nav.navbar-nav>li>a{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex !important;display:-webkit-flex !important;flex-basis:auto;-webkit-flex-basis:auto}.navbar-expand .navbar-toggler,.navbar-expand .navbar-toggle{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;-webkit-flex-grow:1;width:auto !important;height:auto !important;visibility:visible !important;background-color:transparent !important;border:0 !important;transform:none !important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible}.navbar-light,.navbar.navbar-default{background-color:#f8f9fa}.navbar-dark,.navbar.navbar-inverse{background-color:#212529;--bs-navbar-color: rgba(255,255,255,0.55);--bs-navbar-hover-color: rgba(255,255,255,0.75);--bs-navbar-disabled-color: rgba(255,255,255,0.25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255,255,255,0.1);--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card,.well{--bs-card-spacer-y: 1rem;--bs-card-spacer-x: 1rem;--bs-card-title-spacer-y: .5rem;--bs-card-border-width: 1px;--bs-card-border-color: var(--bs-border-color-translucent);--bs-card-border-radius: .375rem;--bs-card-box-shadow: ;--bs-card-inner-border-radius: calc(.375rem - 1px);--bs-card-cap-padding-y: .5rem;--bs-card-cap-padding-x: 1rem;--bs-card-cap-bg: rgba(0,0,0,0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg: #fff;--bs-card-img-overlay-padding: 1rem;--bs-card-group-margin: .75rem;position:relative;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;min-width:0;height:var(--bs-card-height);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr,.well>hr{margin-right:0;margin-left:0}.card>.list-group,.well>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child,.well>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child,.well>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.well>.card-header+.list-group,.card>.list-group+.card-footer,.well>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;-webkit-flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active,.card-header-tabs .nav-tabs>li>a.active,.card-header-tabs .nav-pills>li>a.active,.card-header-tabs ul.nav.navbar-nav>li>a.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-top,.card-img-bottom{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card,.card-group>.well{margin-bottom:var(--bs-card-group-margin)}@media (min-width: 576px){.card-group{display:flex;display:-webkit-flex;flex-flow:row wrap;-webkit-flex-flow:row wrap}.card-group>.card,.card-group>.well{flex:1 0 0%;-webkit-flex:1 0 0%;margin-bottom:0}.card-group>.card+.card,.card-group>.well+.card,.card-group>.card+.well,.card-group>.well+.well{margin-left:0;border-left:0}.card-group>.card:not(:last-child),.card-group>.well:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-img-top,.card-group>.well:not(:last-child) .card-img-top,.card-group>.card:not(:last-child) .card-header,.card-group>.well:not(:last-child) .card-header{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-img-bottom,.card-group>.well:not(:last-child) .card-img-bottom,.card-group>.card:not(:last-child) .card-footer,.card-group>.well:not(:last-child) .card-footer{border-bottom-right-radius:0}.card-group>.card:not(:first-child),.card-group>.well:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-img-top,.card-group>.well:not(:first-child) .card-img-top,.card-group>.card:not(:first-child) .card-header,.card-group>.well:not(:first-child) .card-header{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-img-bottom,.card-group>.well:not(:first-child) .card-img-bottom,.card-group>.card:not(:first-child) .card-footer,.card-group>.well:not(:first-child) .card-footer{border-bottom-left-radius:0}}.accordion{--bs-accordion-color: #212529;--bs-accordion-bg: #fff;--bs-accordion-transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color: var(--bs-border-color);--bs-accordion-border-width: 1px;--bs-accordion-border-radius: .375rem;--bs-accordion-inner-border-radius: calc(.375rem - 1px);--bs-accordion-btn-padding-x: 1.25rem;--bs-accordion-btn-padding-y: 1rem;--bs-accordion-btn-color: #212529;--bs-accordion-btn-bg: var(--bs-accordion-bg);--bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width: 1.25rem;--bs-accordion-btn-icon-transform: rotate(-180deg);--bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill=''%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color: #86b7fe;--bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(13,110,253,0.25);--bs-accordion-body-padding-x: 1.25rem;--bs-accordion-body-padding-y: 1rem;--bs-accordion-active-color: ;--bs-accordion-active-bg: }.accordion-button{position:relative;display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion: reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;-webkit-flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion: reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse,.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-collapse{border-width:0}.accordion-flush .accordion-item,.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child,.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child,.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}.breadcrumb{--bs-breadcrumb-padding-x: 0;--bs-breadcrumb-padding-y: 0;--bs-breadcrumb-margin-bottom: 1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color: #6c757d;--bs-breadcrumb-item-padding-x: .5rem;--bs-breadcrumb-item-active-color: #6c757d;display:flex;display:-webkit-flex;flex-wrap:wrap;-webkit-flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x: .75rem;--bs-pagination-padding-y: .375rem;--bs-pagination-font-size:1rem;--bs-pagination-color: var(--bs-link-color);--bs-pagination-bg: #fff;--bs-pagination-border-width: 1px;--bs-pagination-border-color: #dee2e6;--bs-pagination-border-radius: .375rem;--bs-pagination-hover-color: var(--bs-link-hover-color);--bs-pagination-hover-bg: #e9ecef;--bs-pagination-hover-border-color: #dee2e6;--bs-pagination-focus-color: var(--bs-link-hover-color);--bs-pagination-focus-bg: #e9ecef;--bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(13,110,253,0.25);--bs-pagination-active-color: #fff;--bs-pagination-active-bg: #0d6efd;--bs-pagination-active-border-color: #0d6efd;--bs-pagination-disabled-color: #6c757d;--bs-pagination-disabled-bg: #fff;--bs-pagination-disabled-border-color: #dee2e6;display:flex;display:-webkit-flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.page-link.active,.active>.page-link{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x: 1.5rem;--bs-pagination-padding-y: .75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius: .5rem}.pagination-sm{--bs-pagination-padding-x: .5rem;--bs-pagination-padding-y: .25rem;--bs-pagination-font-size:.875rem;--bs-pagination-border-radius: .25rem}.badge{--bs-badge-padding-x: .65em;--bs-badge-padding-y: .35em;--bs-badge-font-size:.75em;--bs-badge-font-weight: 700;--bs-badge-color: #fff;--bs-badge-border-radius: .375rem;display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: 1px solid var(--bs-alert-border-color);--bs-alert-border-radius: .375rem;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-default{--bs-alert-color: #595a5c;--bs-alert-bg: #f8f9fa;--bs-alert-border-color: #f5f6f8}.alert-default .alert-link{color:#47484a}.alert-primary{--bs-alert-color: #084298;--bs-alert-bg: #cfe2ff;--bs-alert-border-color: #b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{--bs-alert-color: #41464b;--bs-alert-bg: #e2e3e5;--bs-alert-border-color: #d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{--bs-alert-color: #0f5132;--bs-alert-bg: #d1e7dd;--bs-alert-border-color: #badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{--bs-alert-color: #055160;--bs-alert-bg: #cff4fc;--bs-alert-border-color: #b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{--bs-alert-color: #664d03;--bs-alert-bg: #fff3cd;--bs-alert-border-color: #ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{--bs-alert-color: #842029;--bs-alert-bg: #f8d7da;--bs-alert-border-color: #f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{--bs-alert-color: #636464;--bs-alert-bg: #fefefe;--bs-alert-border-color: #fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{--bs-alert-color: #141619;--bs-alert-bg: #d3d3d4;--bs-alert-border-color: #bcbebf}.alert-dark .alert-link{color:#101214}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{--bs-progress-height: 1rem;--bs-progress-font-size:.75rem;--bs-progress-bg: #e9ecef;--bs-progress-border-radius: .375rem;--bs-progress-box-shadow: inset 0 1px 2px rgba(0,0,0,0.075);--bs-progress-bar-color: #fff;--bs-progress-bar-bg: #0d6efd;--bs-progress-bar-transition: width 0.6s ease;display:flex;display:-webkit-flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;justify-content:center;-webkit-justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion: reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color: #212529;--bs-list-group-bg: #fff;--bs-list-group-border-color: rgba(0,0,0,0.125);--bs-list-group-border-width: 1px;--bs-list-group-border-radius: .375rem;--bs-list-group-item-padding-x: 1rem;--bs-list-group-item-padding-y: .5rem;--bs-list-group-action-color: #495057;--bs-list-group-action-hover-color: #495057;--bs-list-group-action-hover-bg: #f8f9fa;--bs-list-group-action-active-color: #212529;--bs-list-group-action-active-bg: #e9ecef;--bs-list-group-disabled-color: #6c757d;--bs-list-group-disabled-bg: #fff;--bs-list-group-active-color: #fff;--bs-list-group-active-bg: #0d6efd;--bs-list-group-active-border-color: #0d6efd;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;-webkit-text-decoration:none;-moz-text-decoration:none;-ms-text-decoration:none;-o-text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width: 576px){.list-group-horizontal-sm{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 768px){.list-group-horizontal-md{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 992px){.list-group-horizontal-lg{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1200px){.list-group-horizontal-xl{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width: 1400px){.list-group-horizontal-xxl{flex-direction:row;-webkit-flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-default{color:#595a5c;background-color:#f8f9fa}.list-group-item-default.list-group-item-action:hover,.list-group-item-default.list-group-item-action:focus{color:#595a5c;background-color:#dfe0e1}.list-group-item-default.list-group-item-action.active{color:#fff;background-color:#595a5c;border-color:#595a5c}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.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:.25em .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 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25);opacity:1}.btn-close:disabled,.btn-close.disabled{pointer-events:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: .75rem;--bs-toast-padding-y: .5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size:.875rem;--bs-toast-color: ;--bs-toast-bg: rgba(255,255,255,0.85);--bs-toast-border-width: 1px;--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: .375rem;--bs-toast-box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);--bs-toast-header-color: #6c757d;--bs-toast-header-bg: rgba(255,255,255,0.85);--bs-toast-header-border-color: rgba(0,0,0,0.05);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show):not(.in){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;width:-webkit-max-content;width:-moz-max-content;width:-ms-max-content;width:-o-max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: .5rem;--bs-modal-color: ;--bs-modal-bg: #fff;--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: 1px;--bs-modal-border-radius: .5rem;--bs-modal-box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075);--bs-modal-inner-border-radius: calc(.5rem - 1px);--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: 1px;--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: .5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: 1px;position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform 0.3s ease-out;transform:translate(0, -50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog,.modal.in .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show,.modal-backdrop.in{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;display:-webkit-flex;flex-shrink:0;-webkit-flex-shrink:0;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;-webkit-flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;display:-webkit-flex;flex-shrink:0;-webkit-flex-shrink:0;flex-wrap:wrap;-webkit-flex-wrap:wrap;align-items:center;-webkit-align-items:center;justify-content:flex-end;-webkit-justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media (min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media (min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: .5rem;--bs-tooltip-padding-y: .25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:.875rem;--bs-tooltip-color: #fff;--bs-tooltip-bg: #000;--bs-tooltip-border-radius: .375rem;--bs-tooltip-opacity: .9;--bs-tooltip-arrow-width: .8rem;--bs-tooltip-arrow-height: .4rem;z-index:var(--bs-tooltip-zindex);display:block;padding:var(--bs-tooltip-arrow-height);margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show,.tooltip.in{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow{bottom:0}.bs-tooltip-top .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow{left:0;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.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 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow{right:0;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow::before,.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex: 1070;--bs-popover-max-width: 276px;--bs-popover-font-size:.875rem;--bs-popover-bg: #fff;--bs-popover-border-width: 1px;--bs-popover-border-color: var(--bs-border-color-translucent);--bs-popover-border-radius: .5rem;--bs-popover-inner-border-radius: calc(.5rem - 1px);--bs-popover-box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);--bs-popover-header-padding-x: 1rem;--bs-popover-header-padding-y: .5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color: ;--bs-popover-header-bg: #f0f0f0;--bs-popover-body-padding-x: 1rem;--bs-popover-body-padding-y: 1rem;--bs-popover-body-color: #212529;--bs-popover-arrow-width: 1rem;--bs-popover-arrow-height: .5rem;--bs-popover-arrow-border: var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::before,.popover .popover-arrow::after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-top>.popover-arrow,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::after{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-top>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-top>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="top"]>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-end>.popover-arrow,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-end>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-end>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="right"]>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-bottom>.popover-arrow,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::after{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-bottom>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-bottom>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="bottom"]>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-bottom .popover-header::before,.bs-popover-auto[data-popper-placement^="bottom"] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-start>.popover-arrow,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::after{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-start>.popover-arrow::before,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-start>.popover-arrow::after,.bs-popover-auto[data-popper-placement^="left"]>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y;-webkit-touch-action:pan-y;-moz-touch-action:pan-y;-ms-touch-action:pan-y;-o-touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-o-backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion: reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translateX(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end{z-index:1;opacity:1}.carousel-fade .active.carousel-item-start,.carousel-fade .active.carousel-item-end{z-index:0;opacity:0;transition:opacity 0s .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;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:center;-webkit-justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:none;border:0;opacity:.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:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.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;display:-webkit-flex;justify-content:center;-webkit-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;-webkit-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:.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}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg) /* rtl:ignore */}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-border-width: .25em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: .2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.offcanvas,.offcanvas-xxl,.offcanvas-xl,.offcanvas-lg,.offcanvas-md,.offcanvas-sm{--bs-offcanvas-zindex: 1045;--bs-offcanvas-width: 400px;--bs-offcanvas-height: 30vh;--bs-offcanvas-padding-x: 1rem;--bs-offcanvas-padding-y: 1rem;--bs-offcanvas-color: ;--bs-offcanvas-bg: #fff;--bs-offcanvas-border-width: 1px;--bs-offcanvas-border-color: var(--bs-border-color-translucent);--bs-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075)}@media (max-width: 575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 575.98px) and (prefers-reduced-motion: reduce){.offcanvas-sm{transition:none}}@media (max-width: 575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.showing,.offcanvas-sm.show:not(.hiding),.offcanvas-sm.in:not(.hiding){transform:none}.offcanvas-sm.showing,.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.in{visibility:visible}}@media (min-width: 576px){.offcanvas-sm{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}@media (max-width: 767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 767.98px) and (prefers-reduced-motion: reduce){.offcanvas-md{transition:none}}@media (max-width: 767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.showing,.offcanvas-md.show:not(.hiding),.offcanvas-md.in:not(.hiding){transform:none}.offcanvas-md.showing,.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.in{visibility:visible}}@media (min-width: 768px){.offcanvas-md{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}@media (max-width: 991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 991.98px) and (prefers-reduced-motion: reduce){.offcanvas-lg{transition:none}}@media (max-width: 991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.showing,.offcanvas-lg.show:not(.hiding),.offcanvas-lg.in:not(.hiding){transform:none}.offcanvas-lg.showing,.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.in{visibility:visible}}@media (min-width: 992px){.offcanvas-lg{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}@media (max-width: 1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce){.offcanvas-xl{transition:none}}@media (max-width: 1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.showing,.offcanvas-xl.show:not(.hiding),.offcanvas-xl.in:not(.hiding){transform:none}.offcanvas-xl.showing,.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.in{visibility:visible}}@media (min-width: 1200px){.offcanvas-xl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}@media (max-width: 1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce){.offcanvas-xxl{transition:none}}@media (max-width: 1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.showing,.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.in:not(.hiding){transform:none}.offcanvas-xxl.showing,.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.in{visibility:visible}}@media (min-width: 1400px){.offcanvas-xxl{--bs-offcanvas-height: auto;--bs-offcanvas-border-width: 0;background-color:transparent !important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;display:-webkit-flex;flex-grow:0;-webkit-flex-grow:0;padding:0;overflow-y:visible;background-color:transparent !important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;display:-webkit-flex;flex-direction:column;-webkit-flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion: reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.showing,.offcanvas.show:not(.hiding),.offcanvas.in:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show,.offcanvas.in{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,.offcanvas-backdrop.in{opacity:.5}.offcanvas-header{display:flex;display:-webkit-flex;align-items:center;-webkit-align-items:center;justify-content:space-between;-webkit-justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;-webkit-flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{mask-image:linear-gradient(130deg, #000 55%, rgba(0,0,0,0.8) 75%, #000 95%);-webkit-mask-image:linear-gradient(130deg, #000 55%, rgba(0,0,0,0.8) 75%, #000 95%);mask-size:200% 100%;-webkit-mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{mask-position:-200% 0%;-webkit-mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-default{color:#000 !important;background-color:RGBA(222,226,230, var(--bs-bg-opacity, 1)) !important}.text-bg-primary{color:#fff !important;background-color:RGBA(13,110,253, var(--bs-bg-opacity, 1)) !important}.text-bg-secondary{color:#fff !important;background-color:RGBA(108,117,125, var(--bs-bg-opacity, 1)) !important}.text-bg-success{color:#fff !important;background-color:RGBA(25,135,84, var(--bs-bg-opacity, 1)) !important}.text-bg-info{color:#000 !important;background-color:RGBA(13,202,240, var(--bs-bg-opacity, 1)) !important}.text-bg-warning{color:#000 !important;background-color:RGBA(255,193,7, var(--bs-bg-opacity, 1)) !important}.text-bg-danger{color:#fff !important;background-color:RGBA(220,53,69, var(--bs-bg-opacity, 1)) !important}.text-bg-light{color:#000 !important;background-color:RGBA(248,249,250, var(--bs-bg-opacity, 1)) !important}.text-bg-dark{color:#fff !important;background-color:RGBA(33,37,41, var(--bs-bg-opacity, 1)) !important}.link-default{color:#dee2e6 !important}.link-default:hover,.link-default:focus{color:#e5e8eb !important}.link-primary{color:#0d6efd !important}.link-primary:hover,.link-primary:focus{color:#0a58ca !important}.link-secondary{color:#6c757d !important}.link-secondary:hover,.link-secondary:focus{color:#565e64 !important}.link-success{color:#198754 !important}.link-success:hover,.link-success:focus{color:#146c43 !important}.link-info{color:#0dcaf0 !important}.link-info:hover,.link-info:focus{color:#3dd5f3 !important}.link-warning{color:#ffc107 !important}.link-warning:hover,.link-warning:focus{color:#ffcd39 !important}.link-danger{color:#dc3545 !important}.link-danger:hover,.link-danger:focus{color:#b02a37 !important}.link-light{color:#f8f9fa !important}.link-light:hover,.link-light:focus{color:#f9fafb !important}.link-dark{color:#212529 !important}.link-dark:hover,.link-dark:focus{color:#1a1e21 !important}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: calc(3 / 4 * 100%)}.ratio-16x9{--bs-aspect-ratio: calc(9 / 16 * 100%)}.ratio-21x9{--bs-aspect-ratio: calc(9 / 21 * 100%)}.fixed-top,.navbar-fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom,.navbar-fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top,.navbar-sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;display:-webkit-flex;flex-direction:row;-webkit-flex-direction:row;align-items:center;-webkit-align-items:center;align-self:stretch;-webkit-align-self:stretch}.vstack{display:flex;display:-webkit-flex;flex:1 1 auto;-webkit-flex:1 1 auto;flex-direction:column;-webkit-flex-direction:column;align-self:stretch;-webkit-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;-webkit-align-self:stretch;width:1px;min-height:1em;background-color:currentcolor;opacity:.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{float:left !important}.float-end,.float-right{float:right !important}.float-none{float:none !important}.opacity-0{opacity:0 !important}.opacity-25{opacity:.25 !important}.opacity-50{opacity:.5 !important}.opacity-75{opacity:.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:sticky !important}.top-0{top:0 !important}.top-50{top:50% !important}.top-100{top:100% !important}.bottom-0{bottom:0 !important}.bottom-50{bottom:50% !important}.bottom-100{bottom:100% !important}.start-0{left:0 !important}.start-50{left:50% !important}.start-100{left:100% !important}.end-0{right:0 !important}.end-50{right:50% !important}.end-100{right:100% !important}.translate-middle{transform:translate(-50%, -50%) !important}.translate-middle-x{transform:translateX(-50%) !important}.translate-middle-y{transform:translateY(-50%) !important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-0{border:0 !important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-top-0{border-top:0 !important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-end-0{border-right:0 !important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-bottom-0{border-bottom:0 !important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important}.border-start-0{border-left:0 !important}.border-default{--bs-border-opacity: 1;border-color:rgba(var(--bs-default-rgb), var(--bs-border-opacity)) !important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important}.border-1{--bs-border-width: 1px}.border-2{--bs-border-width: 2px}.border-3{--bs-border-width: 3px}.border-4{--bs-border-width: 4px}.border-5{--bs-border-width: 5px}.border-opacity-10{--bs-border-opacity: .1}.border-opacity-25{--bs-border-opacity: .25}.border-opacity-50{--bs-border-opacity: .5}.border-opacity-75{--bs-border-opacity: .75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.mw-100{max-width:100% !important}.vw-100{width:100vw !important}.min-vw-100{min-width:100vw !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mh-100{max-height:100% !important}.vh-100{height:100vh !important}.min-vh-100{min-height:100vh !important}.flex-fill{flex:1 1 auto !important}.flex-row{flex-direction:row !important}.flex-column{flex-direction:column !important}.flex-row-reverse{flex-direction:row-reverse !important}.flex-column-reverse{flex-direction:column-reverse !important}.flex-grow-0{flex-grow:0 !important}.flex-grow-1{flex-grow:1 !important}.flex-shrink-0{flex-shrink:0 !important}.flex-shrink-1{flex-shrink:1 !important}.flex-wrap{flex-wrap:wrap !important}.flex-nowrap{flex-wrap:nowrap !important}.flex-wrap-reverse{flex-wrap:wrap-reverse !important}.justify-content-start{justify-content:flex-start !important}.justify-content-end{justify-content:flex-end !important}.justify-content-center{justify-content:center !important}.justify-content-between{justify-content:space-between !important}.justify-content-around{justify-content:space-around !important}.justify-content-evenly{justify-content:space-evenly !important}.align-items-start{align-items:flex-start !important}.align-items-end{align-items:flex-end !important}.align-items-center{align-items:center !important}.align-items-baseline{align-items:baseline !important}.align-items-stretch{align-items:stretch !important}.align-content-start{align-content:flex-start !important}.align-content-end{align-content:flex-end !important}.align-content-center{align-content:center !important}.align-content-between{align-content:space-between !important}.align-content-around{align-content:space-around !important}.align-content-stretch{align-content:stretch !important}.align-self-auto{align-self:auto !important}.align-self-start{align-self:flex-start !important}.align-self-end{align-self:flex-end !important}.align-self-center{align-self:center !important}.align-self-baseline{align-self:baseline !important}.align-self-stretch{align-self:stretch !important}.order-first{order:-1 !important}.order-0{order:0 !important}.order-1{order:1 !important}.order-2{order:2 !important}.order-3{order:3 !important}.order-4{order:4 !important}.order-5{order:5 !important}.order-last{order:6 !important}.m-0{margin:0 !important}.m-1{margin:.25rem !important}.m-2{margin:.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:.25rem !important;margin-left:.25rem !important}.mx-2{margin-right:.5rem !important;margin-left:.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:.25rem !important;margin-bottom:.25rem !important}.my-2{margin-top:.5rem !important;margin-bottom:.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:.25rem !important}.mt-2{margin-top:.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:.25rem !important}.me-2{margin-right:.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:.25rem !important}.mb-2{margin-bottom:.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:.25rem !important}.ms-2{margin-left:.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:.25rem !important}.p-2{padding:.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:.25rem !important;padding-left:.25rem !important}.px-2{padding-right:.5rem !important;padding-left:.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:.25rem !important;padding-bottom:.25rem !important}.py-2{padding-top:.5rem !important;padding-bottom:.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:.25rem !important}.pt-2{padding-top:.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:.25rem !important}.pe-2{padding-right:.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:.25rem !important}.pb-2{padding-bottom:.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:.25rem !important}.ps-2{padding-left:.5rem !important}.ps-3{padding-left:1rem !important}.ps-4{padding-left:1.5rem !important}.ps-5{padding-left:3rem !important}.gap-0{gap:0 !important}.gap-1{gap:.25rem !important}.gap-2{gap:.5rem !important}.gap-3{gap:1rem !important}.gap-4{gap:1.5rem !important}.gap-5{gap:3rem !important}.font-monospace{font-family:var(--bs-font-monospace) !important}.fs-1{font-size:calc(1.375rem + 1.5vw) !important}.fs-2{font-size:calc(1.325rem + .9vw) !important}.fs-3{font-size:calc(1.3rem + .6vw) !important}.fs-4{font-size:calc(1.275rem + .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-semibold{font-weight:600 !important}.fw-bolder{font-weight:bolder !important}.lh-1{line-height:1 !important}.lh-sm{line-height:1.25 !important}.lh-base{line-height:1.5 !important}.lh-lg{line-height:2 !important}.text-start{text-align:left !important}.text-end{text-align:right !important}.text-center{text-align:center !important}.text-decoration-none{text-decoration:none !important}.text-decoration-underline{text-decoration:underline !important}.text-decoration-line-through{text-decoration:line-through !important}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.text-wrap{white-space:normal !important}.text-nowrap{white-space:nowrap !important}.text-break{word-wrap:break-word !important;word-break:break-word !important}.text-default{--bs-text-opacity: 1;color:rgba(var(--bs-default-rgb), var(--bs-text-opacity)) !important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important}.text-muted,.help-text,.help-block{--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: .25}.text-opacity-50{--bs-text-opacity: .5}.text-opacity-75{--bs-text-opacity: .75}.text-opacity-100{--bs-text-opacity: 1}.bg-default{--bs-bg-opacity: 1;background-color:rgba(var(--bs-default-rgb), var(--bs-bg-opacity)) !important}.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:rgba(0,0,0,0) !important}.bg-opacity-10{--bs-bg-opacity: .1}.bg-opacity-25{--bs-bg-opacity: .25}.bg-opacity-50{--bs-bg-opacity: .5}.bg-opacity-75{--bs-bg-opacity: .75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-gradient{background-image:var(--bs-gradient) !important}.user-select-all{user-select:all !important}.user-select-auto{user-select:auto !important}.user-select-none{user-select:none !important}.pe-none{pointer-events:none !important}.pe-auto{pointer-events:auto !important}.rounded{border-radius:var(--bs-border-radius) !important}.rounded-0{border-radius:0 !important}.rounded-1{border-radius:var(--bs-border-radius-sm) !important}.rounded-2{border-radius:var(--bs-border-radius) !important}.rounded-3{border-radius:var(--bs-border-radius-lg) !important}.rounded-4{border-radius:var(--bs-border-radius-xl) !important}.rounded-5{border-radius:var(--bs-border-radius-2xl) !important}.rounded-circle{border-radius:50% !important}.rounded-pill{border-radius:var(--bs-border-radius-pill) !important}.rounded-top{border-top-left-radius:var(--bs-border-radius) !important;border-top-right-radius:var(--bs-border-radius) !important}.rounded-end{border-top-right-radius:var(--bs-border-radius) !important;border-bottom-right-radius:var(--bs-border-radius) !important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius) !important;border-bottom-left-radius:var(--bs-border-radius) !important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius) !important;border-top-left-radius:var(--bs-border-radius) !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}.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:.25rem !important}.m-sm-2{margin:.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:.25rem !important;margin-left:.25rem !important}.mx-sm-2{margin-right:.5rem !important;margin-left:.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:.25rem !important;margin-bottom:.25rem !important}.my-sm-2{margin-top:.5rem !important;margin-bottom:.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:.25rem !important}.mt-sm-2{margin-top:.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:.25rem !important}.me-sm-2{margin-right:.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:.25rem !important}.mb-sm-2{margin-bottom:.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:.25rem !important}.ms-sm-2{margin-left:.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:.25rem !important}.p-sm-2{padding:.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:.25rem !important;padding-left:.25rem !important}.px-sm-2{padding-right:.5rem !important;padding-left:.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:.25rem !important;padding-bottom:.25rem !important}.py-sm-2{padding-top:.5rem !important;padding-bottom:.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:.25rem !important}.pt-sm-2{padding-top:.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:.25rem !important}.pe-sm-2{padding-right:.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:.25rem !important}.pb-sm-2{padding-bottom:.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:.25rem !important}.ps-sm-2{padding-left:.5rem !important}.ps-sm-3{padding-left:1rem !important}.ps-sm-4{padding-left:1.5rem !important}.ps-sm-5{padding-left:3rem !important}.gap-sm-0{gap:0 !important}.gap-sm-1{gap:.25rem !important}.gap-sm-2{gap:.5rem !important}.gap-sm-3{gap:1rem !important}.gap-sm-4{gap:1.5rem !important}.gap-sm-5{gap:3rem !important}.text-sm-start{text-align:left !important}.text-sm-end{text-align:right !important}.text-sm-center{text-align:center !important}}@media (min-width: 768px){.float-md-start{float:left !important}.float-md-end{float:right !important}.float-md-none{float:none !important}.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}.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:.25rem !important}.m-md-2{margin:.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:.25rem !important;margin-left:.25rem !important}.mx-md-2{margin-right:.5rem !important;margin-left:.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:.25rem !important;margin-bottom:.25rem !important}.my-md-2{margin-top:.5rem !important;margin-bottom:.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:.25rem !important}.mt-md-2{margin-top:.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:.25rem !important}.me-md-2{margin-right:.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:.25rem !important}.mb-md-2{margin-bottom:.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:.25rem !important}.ms-md-2{margin-left:.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:.25rem !important}.p-md-2{padding:.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:.25rem !important;padding-left:.25rem !important}.px-md-2{padding-right:.5rem !important;padding-left:.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:.25rem !important;padding-bottom:.25rem !important}.py-md-2{padding-top:.5rem !important;padding-bottom:.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:.25rem !important}.pt-md-2{padding-top:.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:.25rem !important}.pe-md-2{padding-right:.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:.25rem !important}.pb-md-2{padding-bottom:.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:.25rem !important}.ps-md-2{padding-left:.5rem !important}.ps-md-3{padding-left:1rem !important}.ps-md-4{padding-left:1.5rem !important}.ps-md-5{padding-left:3rem !important}.gap-md-0{gap:0 !important}.gap-md-1{gap:.25rem !important}.gap-md-2{gap:.5rem !important}.gap-md-3{gap:1rem !important}.gap-md-4{gap:1.5rem !important}.gap-md-5{gap:3rem !important}.text-md-start{text-align:left !important}.text-md-end{text-align:right !important}.text-md-center{text-align:center !important}}@media (min-width: 992px){.float-lg-start{float:left !important}.float-lg-end{float:right !important}.float-lg-none{float:none !important}.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}.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:.25rem !important}.m-lg-2{margin:.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:.25rem !important;margin-left:.25rem !important}.mx-lg-2{margin-right:.5rem !important;margin-left:.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:.25rem !important;margin-bottom:.25rem !important}.my-lg-2{margin-top:.5rem !important;margin-bottom:.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:.25rem !important}.mt-lg-2{margin-top:.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:.25rem !important}.me-lg-2{margin-right:.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:.25rem !important}.mb-lg-2{margin-bottom:.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:.25rem !important}.ms-lg-2{margin-left:.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:.25rem !important}.p-lg-2{padding:.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:.25rem !important;padding-left:.25rem !important}.px-lg-2{padding-right:.5rem !important;padding-left:.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:.25rem !important;padding-bottom:.25rem !important}.py-lg-2{padding-top:.5rem !important;padding-bottom:.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:.25rem !important}.pt-lg-2{padding-top:.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:.25rem !important}.pe-lg-2{padding-right:.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:.25rem !important}.pb-lg-2{padding-bottom:.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:.25rem !important}.ps-lg-2{padding-left:.5rem !important}.ps-lg-3{padding-left:1rem !important}.ps-lg-4{padding-left:1.5rem !important}.ps-lg-5{padding-left:3rem !important}.gap-lg-0{gap:0 !important}.gap-lg-1{gap:.25rem !important}.gap-lg-2{gap:.5rem !important}.gap-lg-3{gap:1rem !important}.gap-lg-4{gap:1.5rem !important}.gap-lg-5{gap:3rem !important}.text-lg-start{text-align:left !important}.text-lg-end{text-align:right !important}.text-lg-center{text-align:center !important}}@media (min-width: 1200px){.float-xl-start{float:left !important}.float-xl-end{float:right !important}.float-xl-none{float:none !important}.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}.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:.25rem !important}.m-xl-2{margin:.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:.25rem !important;margin-left:.25rem !important}.mx-xl-2{margin-right:.5rem !important;margin-left:.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:.25rem !important;margin-bottom:.25rem !important}.my-xl-2{margin-top:.5rem !important;margin-bottom:.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:.25rem !important}.mt-xl-2{margin-top:.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:.25rem !important}.me-xl-2{margin-right:.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:.25rem !important}.mb-xl-2{margin-bottom:.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:.25rem !important}.ms-xl-2{margin-left:.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:.25rem !important}.p-xl-2{padding:.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:.25rem !important;padding-left:.25rem !important}.px-xl-2{padding-right:.5rem !important;padding-left:.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:.25rem !important;padding-bottom:.25rem !important}.py-xl-2{padding-top:.5rem !important;padding-bottom:.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:.25rem !important}.pt-xl-2{padding-top:.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:.25rem !important}.pe-xl-2{padding-right:.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:.25rem !important}.pb-xl-2{padding-bottom:.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:.25rem !important}.ps-xl-2{padding-left:.5rem !important}.ps-xl-3{padding-left:1rem !important}.ps-xl-4{padding-left:1.5rem !important}.ps-xl-5{padding-left:3rem !important}.gap-xl-0{gap:0 !important}.gap-xl-1{gap:.25rem !important}.gap-xl-2{gap:.5rem !important}.gap-xl-3{gap:1rem !important}.gap-xl-4{gap:1.5rem !important}.gap-xl-5{gap:3rem !important}.text-xl-start{text-align:left !important}.text-xl-end{text-align:right !important}.text-xl-center{text-align:center !important}}@media (min-width: 1400px){.float-xxl-start{float:left !important}.float-xxl-end{float:right !important}.float-xxl-none{float:none !important}.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}.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:.25rem !important}.m-xxl-2{margin:.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:.25rem !important;margin-left:.25rem !important}.mx-xxl-2{margin-right:.5rem !important;margin-left:.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:.25rem !important;margin-bottom:.25rem !important}.my-xxl-2{margin-top:.5rem !important;margin-bottom:.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:.25rem !important}.mt-xxl-2{margin-top:.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:.25rem !important}.me-xxl-2{margin-right:.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:.25rem !important}.mb-xxl-2{margin-bottom:.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:.25rem !important}.ms-xxl-2{margin-left:.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:.25rem !important}.p-xxl-2{padding:.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:.25rem !important;padding-left:.25rem !important}.px-xxl-2{padding-right:.5rem !important;padding-left:.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:.25rem !important;padding-bottom:.25rem !important}.py-xxl-2{padding-top:.5rem !important;padding-bottom:.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:.25rem !important}.pt-xxl-2{padding-top:.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:.25rem !important}.pe-xxl-2{padding-right:.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:.25rem !important}.pb-xxl-2{padding-bottom:.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:.25rem !important}.ps-xxl-2{padding-left:.5rem !important}.ps-xxl-3{padding-left:1rem !important}.ps-xxl-4{padding-left:1.5rem !important}.ps-xxl-5{padding-left:3rem !important}.gap-xxl-0{gap:0 !important}.gap-xxl-1{gap:.25rem !important}.gap-xxl-2{gap:.5rem !important}.gap-xxl-3{gap:1rem !important}.gap-xxl-4{gap:1.5rem !important}.gap-xxl-5{gap:3rem !important}.text-xxl-start{text-align:left !important}.text-xxl-end{text-align:right !important}.text-xxl-center{text-align:center !important}}.bg-default{color:#000}.bg-primary{color:#fff}.bg-secondary{color:#fff}.bg-success{color:#fff}.bg-info{color:#000}.bg-warning{color:#000}.bg-danger{color:#fff}.bg-light{color:#000}.bg-dark{color:#fff}@media (min-width: 1200px){.fs-1{font-size:2.5rem !important}.fs-2{font-size:2rem !important}.fs-3{font-size:1.75rem !important}.fs-4{font-size:1.5rem !important}}@media print{.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-grid{display:grid !important}.d-print-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}}.table th[align=left]{text-align:left}.table th[align=right]{text-align:right}.table th[align=center]{text-align:center}.well{display:block;background-color:rgba(0,0,0,0.03);color:#212529;padding:1rem;border-radius:.375rem}.well-lg{padding:1.5rem;border-radius:.5rem}.well-sm{padding:0.5rem;border-radius:.25rem}.draggable .well{background-color:#f7f7f7}.dropdown-menu>li.active>a{color:#fff;text-decoration:none;background-color:#0d6efd}.navbar:not(.fixed-bottom):not(.navbar-fixed-bottom):not(.navbar-fixed-bottom)+div>.tab-content>.tab-pane{--bslib-navbar-margin: 20px;margin-top:var(--bslib-navbar-margin)}ul.nav.navbar-nav{flex:1;-webkit-flex:1}ul.nav.navbar-nav.navbar-right{flex:unset;-webkit-flex:unset;display:flex;display:-webkit-flex;justify-content:flex-end;-webkit-justify-content:flex-end}.navbar.navbar-default{background-color:#f8f9fa !important}.navbar.navbar-inverse{background-color:#212529 !important}.navbar-toggle>.icon-bar{display:none}@media (max-width: 575.98px){.navbar-header{width:100%}.navbar-header .navbar-toggle{float:right}}.nav-tabs>li.active>a{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-pills>li.active>a{color:#fff;background-color:#0d6efd}.nav-stacked{flex-direction:column;-webkit-flex-direction:column}.progress-bar-default{background-color:#dee2e6;color:#000}.progress-bar-primary{background-color:#0d6efd;color:#fff}.progress-bar-secondary{background-color:#6c757d;color:#fff}.progress-bar-success{background-color:#198754;color:#fff}.progress-bar-info{background-color:#0dcaf0;color:#000}.progress-bar-warning{background-color:#ffc107;color:#000}.progress-bar-danger{background-color:#dc3545;color:#fff}.progress-bar-light{background-color:#f8f9fa;color:#000}.progress-bar-dark{background-color:#212529;color:#fff}@font-face{font-family:'Glyphicons Halflings';src:url("fonts/bootstrap/glyphicons-halflings-regular.eot");src:url("fonts/bootstrap/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"),url("fonts/bootstrap/glyphicons-halflings-regular.woff2") format("woff2"),url("fonts/bootstrap/glyphicons-halflings-regular.woff") format("woff"),url("fonts/bootstrap/glyphicons-halflings-regular.ttf") format("truetype"),url("fonts/bootstrap/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg")}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}.form-group{margin-bottom:1rem}.input-daterange .input-group-addon.input-group-prepend.input-group-append{padding:inherit;line-height:inherit;text-shadow:inherit;border-width:0}.input-daterange .input-group-addon.input-group-prepend.input-group-append .input-group-text{border-radius:0}pre.shiny-code{padding:0.5rem}.section.level1,.section.level2,.section.level3,section.level1,section.level2,section.level3{margin-top:1.5rem}.section.level4,.section.level5,.section.level6,section.level4,section.level5,section.level6{margin-top:1rem}.accordion .accordion-icon:not(:empty){margin-right:0.25rem;display:flex}.accordion .accordion-button:not(.collapsed){box-shadow:none}.accordion .accordion-button:not(.collapsed):focus{box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.bslib-card .card-body+.card-body{padding-top:0}.bslib-card .card-body{overflow:auto}.bslib-card .card-body p{margin-top:0}.bslib-card .card-body p:last-child{margin-bottom:0}.bslib-card .card-body{max-height:var(--bslib-card-body-max-height, none)}.bslib-card.bslib-full-screen>.card-body{max-height:var(--bslib-card-body-max-height-full-screen, none)}.bslib-card .card-header .form-group{margin-bottom:0}.bslib-card .card-header .selectize-control{margin-bottom:0}.bslib-card .card-header .selectize-control .item{margin-right:1.15rem}.bslib-card .card-footer{margin-top:auto}.bslib-card .bslib-navs-card-title{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center}.bslib-card .bslib-navs-card-title .nav{margin-left:auto}.bslib-card .bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]){border:none}.bslib-card .bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]){border-top-left-radius:0;border-top-right-radius:0}.bslib-full-screen{position:fixed;inset:3.5rem 1rem 1rem;height:auto !important;max-height:none !important;width:auto !important;z-index:1070}.bslib-full-screen-enter{display:none;position:absolute;bottom:1px;right:3px;margin:0.5rem;padding:0.55rem !important;font-size:.8rem;cursor:pointer;opacity:.6;color:rgba(var(--bs-body-bg-rgb), 1);z-index:1070}.bslib-full-screen-enter:hover{opacity:1}.card:hover:not(.bslib-full-screen)>.bslib-full-screen-enter,.well:hover:not(.bslib-full-screen)>.bslib-full-screen-enter{display:block}.bslib-has-full-screen .card:hover>.bslib-full-screen-enter,.bslib-has-full-screen .well:hover>.bslib-full-screen-enter{display:none}@media (max-width: 575.98px){.bslib-full-screen-enter{display:none !important}}.bslib-full-screen-exit{position:relative;top:1.35rem;font-size:0.9rem;cursor:pointer;text-decoration:none;display:flex;float:right;margin-right:2.15rem;align-items:center;color:rgba(var(--bs-body-bg-rgb), 0.8)}.bslib-full-screen-exit:hover{color:rgba(var(--bs-body-bg-rgb), 1)}.bslib-full-screen-exit svg{margin-left:0.5rem;font-size:1.5rem}#bslib-full-screen-overlay{position:fixed;inset:0;background-color:rgba(var(--bs-body-color-rgb), 0.6);backdrop-filter:blur(2px);z-index:1069;animation:bslib-full-screen-overlay-enter 400ms cubic-bezier(0.6, 0.02, 0.65, 1) forwards}@keyframes bslib-full-screen-overlay-enter{0%{opacity:0}100%{opacity:1}}.tab-content>.tab-pane.html-fill-container{display:none}.tab-content>.active.html-fill-container{display:flex}.tab-content.html-fill-container{padding:0}.bslib-page-fill{width:100%;height:100%;margin:0;padding:1rem;gap:1rem}@media (max-width: 575.98px){.bslib-page-fill{height:var(--bslib-page-fill-mobile-height, auto)}}.bslib-column-wrap{display:grid !important;gap:1rem;height:var(--bslib-column-wrap-height)}.bslib-column-wrap .card,.bslib-column-wrap .well{margin-bottom:0}@media (max-width: 575.98px){.bslib-column-wrap{grid-template-columns:1fr !important;height:var(--bslib-column-wrap-height-mobile)}}.bslib-sidebar-layout{--bslib-sidebar-transition: grid-template-columns ease-in-out 0.5s;--bslib-sidebar-border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, var(--bs-border-color-translucent));--bslib-sidebar-border-radius: var(--bs-border-radius);--bslib-sidebar-vert-border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, var(--bs-border-color-translucent));--bslib-collapse-toggle-border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, var(--bs-border-color-translucent));--bslib-collapse-toggle-transform: 90deg;--bslib-collapse-toggle-right-transform: -90deg;display:grid !important;grid-template-columns:Min(calc(100% - 1rem), var(--bslib-sidebar-width, 250px)) minmax(0, 1fr);position:relative;transition:var(--bslib-sidebar-transition);border:var(--bslib-sidebar-border);border-radius:var(--bslib-sidebar-border-radius)}@media (prefers-reduced-motion: reduce){.bslib-sidebar-layout{transition:none}}.bslib-sidebar-layout[data-bslib-sidebar-border="false"]{border:none}.bslib-sidebar-layout[data-bslib-sidebar-border-radius="false"]{border-radius:initial}.bslib-sidebar-layout>.main,.bslib-sidebar-layout>.sidebar{grid-row:1 / 2;border-radius:inherit;overflow:auto}.bslib-sidebar-layout>.main{grid-column:2 / 3;border-top-left-radius:0;border-bottom-left-radius:0;padding:1.5rem}.bslib-sidebar-layout>.sidebar{grid-column:1 / 2;width:100%;height:100%;border-right:var(--bslib-sidebar-vert-border);border-top-right-radius:0;border-bottom-right-radius:0;background-color:#f8f9fa;color:#000}.bslib-sidebar-layout>.sidebar>.sidebar-content{display:flex;flex-direction:column;padding:1.5rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>:last-child:not(.sidebar-title){margin-bottom:0}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion{margin-left:-1.5rem;margin-right:-1.5rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:first-child{margin-top:-1.5rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:last-child{margin-bottom:-1.5rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:last-child){margin-bottom:1rem}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion .accordion-body{display:flex;flex-direction:column}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:first-child) .accordion-item:first-child{border-top:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.bslib-sidebar-layout>.sidebar>.sidebar-content>.accordion:not(:last-child) .accordion-item:last-child{border-bottom:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.bslib-sidebar-layout>.sidebar>.sidebar-content>.sidebar-title+.accordion{margin-top:calc(-1rem - var(--bs-card-border-width, 1px))}.bslib-sidebar-layout>.sidebar>.sidebar-content>.sidebar-title:has(+.accordion){border-bottom:none}.bslib-sidebar-layout>.sidebar .shiny-input-container{width:100%}.bslib-sidebar-layout>.collapse-toggle{grid-row:1 / 2;grid-column:1 / 2;display:inline-flex;align-items:center;position:absolute;right:-1rem;bottom:calc(1.5rem + var(--bslib-sidebar-overlap-counter, 0) * calc(1rem + 1.5rem));border:var(--bslib-collapse-toggle-border);border-left:none;border-radius:0 var(--bs-border-radius) var(--bs-border-radius) 0;padding:7px 0;background-color:#f8f9fa;color:#000}.bslib-sidebar-layout>.collapse-toggle>.collapse-icon{opacity:0.8;width:1rem;height:1rem;transform:rotate(var(--bslib-collapse-toggle-transform));transition:transform ease-in-out 0.35s}.bslib-sidebar-layout>.collapse-toggle:hover>.collapse-icon{opacity:1}.bslib-sidebar-layout .sidebar-title{font-size:1.25rem;line-height:1.25;margin-top:0;margin-bottom:1rem;padding-bottom:1rem;border-bottom:var(--bslib-sidebar-border)}.bslib-sidebar-layout.sidebar-right{grid-template-columns:minmax(0, 1fr) Min(calc(100% - 1rem), var(--bslib-sidebar-width, 250px))}.bslib-sidebar-layout.sidebar-right>.main{grid-column:1 / 2;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:inherit;border-bottom-left-radius:inherit}.bslib-sidebar-layout.sidebar-right>.sidebar{grid-column:2 / 3;border-right:none;border-left:var(--bslib-sidebar-vert-border);border-top-left-radius:0;border-bottom-left-radius:0}.bslib-sidebar-layout.sidebar-right>.collapse-toggle{grid-column:2 / 3;left:-1rem;right:unset;border-radius:var(--bs-border-radius) 0 0 var(--bs-border-radius);border-right:none;border-left:var(--bslib-collapse-toggle-border)}.bslib-sidebar-layout.sidebar-right>.collapse-toggle>.collapse-icon{transform:rotate(var(--bslib-collapse-toggle-right-transform))}.bslib-sidebar-layout.sidebar-collapsed{--bslib-collapse-toggle-transform: -90deg;--bslib-collapse-toggle-right-transform: 90deg;--bslib-sidebar-vert-border: none;grid-template-columns:0 minmax(0, 1fr)}.bslib-sidebar-layout.sidebar-collapsed.sidebar-right{grid-template-columns:minmax(0, 1fr) 0}.bslib-sidebar-layout.sidebar-collapsed:not(.transitioning)>.sidebar>*{display:none}.bslib-sidebar-layout.sidebar-collapsed>.main{border-radius:inherit}.bslib-sidebar-layout.sidebar-collapsed>.collapse-toggle{right:calc(-1rem - var(--bs-card-border-width, 1px))}.bslib-sidebar-layout.sidebar-collapsed.sidebar-right>.collapse-toggle{left:calc(-1rem - var(--bs-card-border-width, 1px));right:unset}@media (min-width: 576px){.bslib-sidebar-layout.transitioning>.sidebar>.sidebar-content{display:none}}@media (max-width: 575.98px){.bslib-sidebar-layout,.bslib-sidebar-layout.sidebar-right{--bslib-sidebar-vert-border: none;--bslib-sidebar-horiz-border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, var(--bs-border-color-translucent));--bslib-collapse-toggle-transform: -180deg;--bslib-collapse-toggle-right-transform: -180deg;grid-template-columns:1fr !important;grid-template-rows:fit-content(var(--bslib-sidebar-max-height-mobile, auto)) minmax(0, 1fr)}.bslib-sidebar-layout[data-bslib-sidebar-open="desktop"],.bslib-sidebar-layout.sidebar-right[data-bslib-sidebar-open="desktop"]{--bslib-sidebar-js-init-collapsed: true}.bslib-sidebar-layout>.sidebar,.bslib-sidebar-layout.sidebar-right>.sidebar{grid-row:1 / 2;grid-column:1 / 2;width:100%;border:none;border-bottom:var(--bslib-sidebar-horiz-border);border-radius:0}.bslib-sidebar-layout>.main,.bslib-sidebar-layout.sidebar-right>.main{grid-row:2 / 3;grid-column:1 / 2;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.bslib-sidebar-layout>.collapse-toggle,.bslib-sidebar-layout.sidebar-right>.collapse-toggle{grid-row:2 / 3;grid-column:1 / 2;border-top:none !important;border:var(--bslib-collapse-toggle-border);border-radius:0 0 var(--bs-border-radius) var(--bs-border-radius);padding:0 4px}.bslib-sidebar-layout>.collapse-toggle,.bslib-sidebar-layout.sidebar-right>.collapse-toggle,.bslib-sidebar-layout.sidebar-right>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-right>.collapse-toggle{top:calc(-1 * var(--bs-card-border-width, 1px))}.bslib-sidebar-layout.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-right.sidebar-collapsed>.collapse-toggle{top:0}.bslib-sidebar-layout>.collapse-toggle,.bslib-sidebar-layout.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-right>.collapse-toggle,.bslib-sidebar-layout.sidebar-right.sidebar-right.sidebar-collapsed>.collapse-toggle{right:calc(1.5rem + var(--bslib-sidebar-counter, 0) * calc(1rem + 1.5rem));bottom:initial;left:initial}.bslib-sidebar-layout.sidebar-collapsed,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed{--bslib-collapse-toggle-transform: 0deg;--bslib-collapse-toggle-right-transform: 0deg;grid-template-rows:0 minmax(0, 1fr)}.bslib-sidebar-layout.sidebar-collapsed>.main,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.main{border-top-left-radius:inherit;border-top-right-radius:inherit}.bslib-sidebar-layout.sidebar-collapsed>.sidebar,.bslib-sidebar-layout.sidebar-right.sidebar-collapsed>.sidebar{border-bottom:none}}.navbar+.container-fluid:has(>.tab-content>.tab-pane.active>.bslib-sidebar-layout),.navbar+.container-sm:has(>.tab-content>.tab-pane.active>.bslib-sidebar-layout),.navbar+.container-md:has(>.tab-content>.tab-pane.active>.bslib-sidebar-layout),.navbar+.container-lg:has(>.tab-content>.tab-pane.active>.bslib-sidebar-layout),.navbar+.container-xl:has(>.tab-content>.tab-pane.active>.bslib-sidebar-layout),.navbar+.container-xxl:has(>.tab-content>.tab-pane.active>.bslib-sidebar-layout){padding-left:0;padding-right:0}.navbar+.container-fluid>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]),.navbar+.container-sm>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]),.navbar+.container-md>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]),.navbar+.container-lg>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]),.navbar+.container-xl>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]),.navbar+.container-xxl>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border="true"]){border:none}.navbar+.container-fluid>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]),.navbar+.container-sm>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]),.navbar+.container-md>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]),.navbar+.container-lg>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]),.navbar+.container-xl>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]),.navbar+.container-xxl>.tab-content>.tab-pane.active>.bslib-sidebar-layout:not([data-bslib-sidebar-border-radius="true"]){border-radius:0}.bslib-value-box .value-box-grid{grid-template-columns:var(--bslib-value-box-widths)}.bslib-value-box .value-box-showcase{align-items:center;justify-content:center;margin-top:auto;margin-bottom:auto;padding:1rem;max-height:var(--bslib-value-box-max-height)}.bslib-value-box .value-box-showcase .bi,.bslib-value-box .value-box-showcase .fa{opacity:.85}.bslib-value-box .value-box-showcase .bi{font-size:5rem}.bslib-value-box .value-box-showcase .fa{font-size:4rem}.bslib-value-box .value-box-showcase.showcase-top-right{align-items:end;padding-left:0;padding-bottom:0}.bslib-value-box .value-box-area{justify-content:center;padding:1.5rem 1rem;font-size:.9rem;font-weight:500}.bslib-value-box .value-box-area *{color:inherit;margin-bottom:0;margin-top:0}.bslib-value-box .value-box-area.border-start{border-color:rgba(222,226,230,0.3) !important}.bslib-value-box.bslib-full-screen .value-box-grid{grid-template-columns:var(--bslib-value-box-widths-full-screen)}.bslib-value-box.bslib-full-screen .value-box-showcase{max-height:var(--bslib-value-box-max-height-full-screen)}.bslib-value-box:not(.bslib-full-screen) .value-box-showcase.showcase-top-right{margin-top:0}@media (max-width: 575.98px){.bslib-value-box .value-box-grid{grid-template-columns:var(--bslib-value-box-widths) !important}}@media (min-width: 576px){.nav:not(.nav-hidden){display:flex !important;display:-webkit-flex !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column){float:none !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column)>.bslib-nav-spacer{margin-left:auto !important}.nav:not(.nav-hidden):not(.nav-stacked):not(.flex-column)>.form-inline{margin-top:auto;margin-bottom:auto}.nav:not(.nav-hidden).nav-stacked{flex-direction:column;-webkit-flex-direction:column;height:100%}.nav:not(.nav-hidden).nav-stacked>.bslib-nav-spacer{margin-top:auto !important}} diff --git a/inst/fonts/pe03MImSLYBIv1o4X1M8cc9iB_5p.woff b/inst/fonts/pe03MImSLYBIv1o4X1M8cc9iB_5p.woff deleted file mode 100644 index f8eb8475e54b6606da9c164af8f66fec4f883902..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57736 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 z

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

NOE{A^%MmO0g5(z?V@Vzg-vXP@- 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

}SkX66#U?u=*-srV_aNY*r>p@z{k|A264l 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 diff --git a/inst/lib/bsw4/dist/lux/font.css b/inst/lib/bsw4/dist/lux/font.css index 21d53dfaa..fe1ff9af5 100644 --- a/inst/lib/bsw4/dist/lux/font.css +++ b/inst/lib/bsw4/dist/lux/font.css @@ -2,13 +2,15 @@ font-family: 'Nunito Sans'; font-style: normal; font-weight: 400; + font-stretch: normal; font-display: swap; - src: url(fonts/pe0qMImSLYBIv1o4X1M8cfe5.woff) format('woff'); + src: url(fonts/pe1mMImSLYBIv1o4X1M8ce2xCx3yop4tQpF_MeTm0lfGWVpNn64CL7U8upHZIbMV51Q42ptCp5F5bxqqtQ1yiU4G1ilntw.woff) format('woff'); } @font-face { font-family: 'Nunito Sans'; font-style: normal; font-weight: 600; + font-stretch: normal; font-display: swap; - src: url(fonts/pe03MImSLYBIv1o4X1M8cc9iB_5p.woff) format('woff'); + src: url(fonts/pe1mMImSLYBIv1o4X1M8ce2xCx3yop4tQpF_MeTm0lfGWVpNn64CL7U8upHZIbMV51Q42ptCp5F5bxqqtQ1yiU4GCC5ntw.woff) format('woff'); } diff --git a/inst/lib/bsw5/dist/lux/font.css b/inst/lib/bsw5/dist/lux/font.css index 21d53dfaa..fe1ff9af5 100644 --- a/inst/lib/bsw5/dist/lux/font.css +++ b/inst/lib/bsw5/dist/lux/font.css @@ -2,13 +2,15 @@ font-family: 'Nunito Sans'; font-style: normal; font-weight: 400; + font-stretch: normal; font-display: swap; - src: url(fonts/pe0qMImSLYBIv1o4X1M8cfe5.woff) format('woff'); + src: url(fonts/pe1mMImSLYBIv1o4X1M8ce2xCx3yop4tQpF_MeTm0lfGWVpNn64CL7U8upHZIbMV51Q42ptCp5F5bxqqtQ1yiU4G1ilntw.woff) format('woff'); } @font-face { font-family: 'Nunito Sans'; font-style: normal; font-weight: 600; + font-stretch: normal; font-display: swap; - src: url(fonts/pe03MImSLYBIv1o4X1M8cc9iB_5p.woff) format('woff'); + src: url(fonts/pe1mMImSLYBIv1o4X1M8ce2xCx3yop4tQpF_MeTm0lfGWVpNn64CL7U8upHZIbMV51Q42ptCp5F5bxqqtQ1yiU4GCC5ntw.woff) format('woff'); } From 655a85dcc7599b77b65e7364d83c1dc27b6de4af Mon Sep 17 00:00:00 2001 From: gadenbuie Date: Tue, 2 May 2023 16:12:12 +0000 Subject: [PATCH 34/76] Resave data (GitHub Action) --- R/sysdata.rda | Bin 188997 -> 190132 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/R/sysdata.rda b/R/sysdata.rda index a89e32b9c9daf87aa3361f7e5f587923c67a6866..52c801781cf21d8cdf632b6237010b6cc6cd0dea 100644 GIT binary patch literal 190132 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 ive267Rre#5NX`&yifK@9W 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

8N!%D7^1T6+Lp9h7-8dEtAghQVn9C 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 bYyW**MNvUNh(!Ps`bFH4P81{or`9yU)Dy6T literal 188997 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 z%0A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%0A5~@ld5-TXF2*Rr< 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%0AylT79m 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ࣝLNvH+Ari_|-EIDUuS1^e1m|xBg z>-rX3qjq|D_xE3oh?bo+c=a8gdGyd9Xybd?#z6wgIn?`K?Mu@(P_%<&Flw^0*|NTI zhW*dFa3{aliOL6?3h|%hWXKO=1I(|c8n+;}o6PKMGWfg?Q#F0S8#h4v-X;TjSUl!D zWg(HEAlB?YZYKLEhPt2fQ2^%0Q}NR~e1$+@14Xl#6@0us+J(Ze0Ojs11F*+99oVNf zcJy=PxNutI8H%E;bo!ECwKXf2b7lRAwhkP&hF1XpHv5BBYH(a7;XjkqxSoL@(pkDd zUO`}7ye#F@*13Yddi8GG7iUMkfzlqut%qPeZbLPhx@ZQ%Pq&knKOMDGX?saZWT_6` z?k*Yp+nD+A!~;o~)w{zgYQ}A5YpzLd>uJp}rl zCknd(fW6UEkw-T-iDUX`phc^Jrm}yE)Excgd>7PWj5V!aDER>T6mDMU`7lP251u^w zdPP$Kl>i&YIx)&mBCO8wqI|wd?IElt<<1}^*NW76{vsGZz6{o4F57p;D80>DZyGuH z<}K-*2YdjBradp<8LUYVrbcSUiWUA}T zzAvaWo?cAVKr?5~ulnakqdiAd?W3S^m2vBgy^eh>|R7M$EncbF~JV8V;iK$ep? z_0P3NzXK_`&2hH~7Q&ZQ=Is$4&z|eXm1D%byow!iQ|*3)Jo%0l@xXEi^#eZU zPXR?)`#Ca%jjv$O6?Kl)$Ki7mH7ZS)U88{Z#ZWitvU7H!bmt5!Qrx{GytB;9OH~)IB#1h2wS> zJ`;Ltj1G75rRJ-zxGr_@9U{e0)7ClNrn9dA-pBdX?J$E-<#11D>wFUJ`QMRSFG#4! zhF(z4;2I3}x9zeRWKGX)Q*i;Txa49+efoG;ycK|!i06iq^-2}-S651;AC*dm#ST$t zWb0p_TN{&+S_BwjFrZ>YbZ5@P+Nq6RRVhk2v09lKmdxenrtU1&;v{#F~0wYvOGy9$pI zOadO~?u-+30}?JduKEXbf{*FP=Wj8k`#)F$kaVNEsI2~PK-km$%w|T?Ibx8myl)4P z{S}&;xD64ryYC7*ZYvidU6O7UdyIlI$QFi^G&zZxqp5Ubo}pH)@TD?Kv75wi+6Z*2jigM-ssia zxD!kMr^Uy>*;n7l- zSh-V}rqi1lP9dkd7B<^z-@{N3Y-4!^mrnW$D=d1a>e;NGnO!Az-W7Ju!*wh3l2Vwf zp2GTC?@MPw`3w#B>V=O&Ce##%{Y3&H{qPi@_7DY7KWqN_xQc)ReiTGS56Uj&ig2MJ H!n|C<6a=Mb From 45649f924b606201db6ea07279c639e1700d304a Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Tue, 2 May 2023 13:37:10 -0400 Subject: [PATCH 35/76] Fix escape key event listener --- srcts/src/components/card.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/srcts/src/components/card.ts b/srcts/src/components/card.ts index 14c406fef..5968df96a 100644 --- a/srcts/src/components/card.ts +++ b/srcts/src/components/card.ts @@ -53,7 +53,11 @@ class Card { const overlay = this._createOverlay(); overlay.addEventListener("click", () => this.exitFullScreen()); - document.addEventListener("keyup", this._exitFullScreenOnEscape, false); + document.addEventListener( + "keyup", + (ev) => this._exitFullScreenOnEscape(ev), + false + ); this.container.classList.add(Card.attr.CLASS_FULL_SCREEN); document.body.classList.add(Card.attr.CLASS_HAS_FULL_SCREEN); @@ -68,7 +72,11 @@ class Card { document.body.classList.remove(Card.attr.CLASS_HAS_FULL_SCREEN); overlay?.removeEventListener("click", () => this.exitFullScreen()); - document.removeEventListener("keyup", this._exitFullScreenOnEscape, false); + document.removeEventListener( + "keyup", + (ev) => this._exitFullScreenOnEscape(ev), + false + ); } destroy(): void { From 019fdd6540e8b82eddcb6a7af5372867a8d99a57 Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Tue, 2 May 2023 14:48:01 -0400 Subject: [PATCH 36/76] Don't close full screen if select input has focus --- srcts/src/components/card.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/srcts/src/components/card.ts b/srcts/src/components/card.ts index 5968df96a..b21e62052 100644 --- a/srcts/src/components/card.ts +++ b/srcts/src/components/card.ts @@ -142,6 +142,11 @@ class Card { } private _exitFullScreenOnEscape(event: KeyboardEvent): void { + // if a select input element has focus, then don't exit full screen + if (document.activeElement instanceof HTMLSelectElement) { + return; + } + if (event.key === "Escape") { this.exitFullScreen(); } From d509234e32eed5421dfd7afce77aceaa1db2b029 Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Tue, 2 May 2023 14:48:33 -0400 Subject: [PATCH 37/76] Exit full screen when kbd Enter/Space on close anchor --- srcts/src/components/card.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/srcts/src/components/card.ts b/srcts/src/components/card.ts index b21e62052..13637902c 100644 --- a/srcts/src/components/card.ts +++ b/srcts/src/components/card.ts @@ -159,6 +159,13 @@ class Card { const overlayAnchor = document.createElement("a"); overlayAnchor.classList.add(Card.attr.CLASS_FULL_SCREEN_EXIT); + overlayAnchor.tabIndex = 0; + overlayAnchor.onClick = () => this.exitFullScreen(); + overlayAnchor.onkeyup = (ev) => { + if (ev.key === "Enter" || ev.key === " ") { + this.exitFullScreen(); + } + }; overlayAnchor.innerHTML = this._overlayCloseHtml(); overlay.appendChild(overlayAnchor); From 44cbe67d7da51d2bca71785acb0bb0d3fefa5964 Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Tue, 2 May 2023 15:23:32 -0400 Subject: [PATCH 38/76] Cycle focus within expanded full screen --- srcts/src/components/_utils.ts | 16 ++++++++++ srcts/src/components/card.ts | 57 +++++++++++++++++++++++++++++++--- 2 files changed, 69 insertions(+), 4 deletions(-) diff --git a/srcts/src/components/_utils.ts b/srcts/src/components/_utils.ts index 0d061d66d..261726eb9 100644 --- a/srcts/src/components/_utils.ts +++ b/srcts/src/components/_utils.ts @@ -50,10 +50,26 @@ function doWindowResizeOnElementResize(el: HTMLElement): void { $(el).data("window-resize-observer", ro); } +function getAllFocusableChildren(el: HTMLElement): HTMLElement[] { + const selectors = [ + "[href]", + "input:not([disabled])", + "button:not([disabled])", + "select:not([disabled])", + "summary:not(:disabled)", + "details:not([disabled])", + "textarea:not([disabled])", + '[tabindex]:not([tabindex="-1"]):not([disabled])', + ]; + const focusable = el.querySelectorAll(selectors.join(", ")); + return Array.from(focusable) as HTMLElement[]; +} + export { InputBinding, registerBinding, hasDefinedProperty, doWindowResizeOnElementResize, + getAllFocusableChildren, }; export type { HtmlDep }; diff --git a/srcts/src/components/card.ts b/srcts/src/components/card.ts index 13637902c..33f0fb4f9 100644 --- a/srcts/src/components/card.ts +++ b/srcts/src/components/card.ts @@ -1,6 +1,7 @@ import type { Tooltip as TooltipType } from "bootstrap"; import type { ShinyEventValue } from "rstudio-shiny/srcts/types/src/events/shinyEvents"; import { DocumentObserver } from "./_documentObserver"; +import { getAllFocusableChildren } from "./_utils"; // eslint-disable-next-line @typescript-eslint/naming-convention const Tooltip = ( @@ -11,6 +12,7 @@ class Card { private container: HTMLElement; cardResizeObserver: ResizeObserver; shinyOutputResizeObserver: ResizeObserver | undefined; + lastInteriorFocusElement: HTMLElement | undefined; private static attr = { // eslint-disable-next-line @typescript-eslint/naming-convention @@ -51,7 +53,7 @@ class Card { enterFullScreen(event?: Event): void { if (event) event.preventDefault(); - const overlay = this._createOverlay(); + const { overlay, anchor: overlayAnchor } = this._createOverlay(); overlay.addEventListener("click", () => this.exitFullScreen()); document.addEventListener( "keyup", @@ -59,6 +61,40 @@ class Card { false ); + const focusableElements = getAllFocusableChildren(this.container); + if (focusableElements.length > 0) { + // set focus on first focusable element + focusableElements[0].focus(); + // store the last focusable element so we can cycle focus + this.lastInteriorFocusElement = + focusableElements[focusableElements.length - 1]; + } else { + this.lastInteriorFocusElement = overlayAnchor; + if (document.activeElement) { + document.activeElement.addEventListener( + "keydown", + (ev) => { + if (!(ev instanceof KeyboardEvent)) return; + if (ev.key === "Tab") { + ev.preventDefault(); + overlayAnchor.focus(); + } + }, + { once: true } + ); + } + } + + if (this.lastInteriorFocusElement) { + this.lastInteriorFocusElement.onkeydown = (ev) => { + // If tabbing out of the card, return to close button + if (ev.key === "Tab" && !ev.shiftKey) { + ev.preventDefault(); + overlayAnchor.focus(); + } + }; + } + this.container.classList.add(Card.attr.CLASS_FULL_SCREEN); document.body.classList.add(Card.attr.CLASS_HAS_FULL_SCREEN); this.container.insertAdjacentElement("beforebegin", overlay); @@ -68,9 +104,15 @@ class Card { const overlay = document.getElementById(Card.attr.ID_FULL_SCREEN_OVERLAY); overlay ? overlay.remove() : null; + this.container.removeAttribute("tabindex"); this.container.classList.remove(Card.attr.CLASS_FULL_SCREEN); document.body.classList.remove(Card.attr.CLASS_HAS_FULL_SCREEN); + if (this.lastInteriorFocusElement) { + this.lastInteriorFocusElement.onkeydown = null; + this.lastInteriorFocusElement = undefined; + } + overlay?.removeEventListener("click", () => this.exitFullScreen()); document.removeEventListener( "keyup", @@ -152,7 +194,7 @@ class Card { } } - private _createOverlay(): HTMLElement { + private _createOverlay(): { overlay: HTMLElement; anchor: HTMLElement } { const overlay = document.createElement("div"); overlay.id = Card.attr.ID_FULL_SCREEN_OVERLAY; overlay.classList.add(Card.attr.ID_FULL_SCREEN_OVERLAY); @@ -160,16 +202,23 @@ class Card { const overlayAnchor = document.createElement("a"); overlayAnchor.classList.add(Card.attr.CLASS_FULL_SCREEN_EXIT); overlayAnchor.tabIndex = 0; - overlayAnchor.onClick = () => this.exitFullScreen(); + overlayAnchor.onclick = () => this.exitFullScreen(); overlayAnchor.onkeyup = (ev) => { if (ev.key === "Enter" || ev.key === " ") { this.exitFullScreen(); } }; + overlayAnchor.onkeydown = (ev) => { + // if tabbing out of the card, cycle focus back to last focus element + if (ev.key === "Tab" && ev.shiftKey) { + ev.preventDefault(); + this.lastInteriorFocusElement?.focus(); + } + }; overlayAnchor.innerHTML = this._overlayCloseHtml(); overlay.appendChild(overlayAnchor); - return overlay; + return { overlay, anchor: overlayAnchor }; } private _overlayCloseHtml(): string { From 46bae9cf71acc090a78cf7cde965e22ed45a131c Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Tue, 2 May 2023 17:16:40 -0400 Subject: [PATCH 39/76] Clean up and polish focus entrapment --- srcts/src/components/card.ts | 122 +++++++++++++++++++++-------------- 1 file changed, 74 insertions(+), 48 deletions(-) diff --git a/srcts/src/components/card.ts b/srcts/src/components/card.ts index 33f0fb4f9..0ccc8a111 100644 --- a/srcts/src/components/card.ts +++ b/srcts/src/components/card.ts @@ -8,11 +8,18 @@ const Tooltip = ( window.bootstrap ? window.bootstrap.Tooltip : class {} ) as typeof TooltipType; +interface CardOverlay { + container: HTMLDivElement; + anchor: HTMLAnchorElement; +} + class Card { private container: HTMLElement; - cardResizeObserver: ResizeObserver; - shinyOutputResizeObserver: ResizeObserver | undefined; - lastInteriorFocusElement: HTMLElement | undefined; + private overlay: CardOverlay; + private cardResizeObserver: ResizeObserver; + private shinyOutputResizeObserver: ResizeObserver | undefined; + private lastFocusInterior: HTMLElement | undefined; + private prevFocusExterior: HTMLElement | undefined; private static attr = { // eslint-disable-next-line @typescript-eslint/naming-convention @@ -48,13 +55,15 @@ class Card { this._addEventListeners(); this._enableTooltips(); this._startShinyOutputResizeObserver(); + this.overlay = this._createOverlay(); } enterFullScreen(event?: Event): void { if (event) event.preventDefault(); - const { overlay, anchor: overlayAnchor } = this._createOverlay(); - overlay.addEventListener("click", () => this.exitFullScreen()); + this.overlay.container.addEventListener("click", () => + this.exitFullScreen() + ); document.addEventListener( "keyup", (ev) => this._exitFullScreenOnEscape(ev), @@ -63,62 +72,66 @@ class Card { const focusableElements = getAllFocusableChildren(this.container); if (focusableElements.length > 0) { - // set focus on first focusable element + // set focus on first focusable element in the card focusableElements[0].focus(); // store the last focusable element so we can cycle focus - this.lastInteriorFocusElement = - focusableElements[focusableElements.length - 1]; + this.lastFocusInterior = focusableElements[focusableElements.length - 1]; } else { - this.lastInteriorFocusElement = overlayAnchor; - if (document.activeElement) { - document.activeElement.addEventListener( + // this card doesn't have any focusable elements, so focus is vaguely + // within the card (having clicked the full screen button). We're can't + // know exactly where focus is located (we've hidden the button), so we + // attach a listener to the next Tab keydown event to entrap focus within + // the full screen card. + this.lastFocusInterior = this.overlay.anchor; + if (!this.container.contains(document.activeElement)) { + this.prevFocusExterior = document.activeElement as HTMLElement; + this.prevFocusExterior.addEventListener( "keydown", - (ev) => { - if (!(ev instanceof KeyboardEvent)) return; - if (ev.key === "Tab") { - ev.preventDefault(); - overlayAnchor.focus(); - } - }, + (ev) => this._entrapFocus(ev), { once: true } ); } } - if (this.lastInteriorFocusElement) { - this.lastInteriorFocusElement.onkeydown = (ev) => { - // If tabbing out of the card, return to close button + if (this.lastFocusInterior) { + this.lastFocusInterior.onkeydown = (ev) => { + // If tabbing forwards out of the card, return to close button if (ev.key === "Tab" && !ev.shiftKey) { ev.preventDefault(); - overlayAnchor.focus(); + this.overlay.anchor.focus(); } }; } this.container.classList.add(Card.attr.CLASS_FULL_SCREEN); document.body.classList.add(Card.attr.CLASS_HAS_FULL_SCREEN); - this.container.insertAdjacentElement("beforebegin", overlay); + this.container.insertAdjacentElement("beforebegin", this.overlay.container); } exitFullScreen(): void { - const overlay = document.getElementById(Card.attr.ID_FULL_SCREEN_OVERLAY); - - overlay ? overlay.remove() : null; - this.container.removeAttribute("tabindex"); - this.container.classList.remove(Card.attr.CLASS_FULL_SCREEN); - document.body.classList.remove(Card.attr.CLASS_HAS_FULL_SCREEN); + // Remove event listeners that were added when entering full screen + this.overlay.container.removeEventListener("click", () => + this.exitFullScreen() + ); - if (this.lastInteriorFocusElement) { - this.lastInteriorFocusElement.onkeydown = null; - this.lastInteriorFocusElement = undefined; + if (this.lastFocusInterior) { + this.lastFocusInterior.onkeydown = null; } - overlay?.removeEventListener("click", () => this.exitFullScreen()); document.removeEventListener( "keyup", (ev) => this._exitFullScreenOnEscape(ev), false ); + + // Remove overlay and remove full screen classes from card + this.overlay.container.remove(); + this.container.classList.remove(Card.attr.CLASS_FULL_SCREEN); + document.body.classList.remove(Card.attr.CLASS_HAS_FULL_SCREEN); + + // Reset focus tracking state + this.lastFocusInterior = undefined; + this.prevFocusExterior = undefined; } destroy(): void { @@ -194,31 +207,44 @@ class Card { } } - private _createOverlay(): { overlay: HTMLElement; anchor: HTMLElement } { - const overlay = document.createElement("div"); - overlay.id = Card.attr.ID_FULL_SCREEN_OVERLAY; - overlay.classList.add(Card.attr.ID_FULL_SCREEN_OVERLAY); + private _entrapFocus(event: KeyboardEvent): void { + // This event handler is only enabled when the card doesn't have any + // focusable elements. If the user presses Tab, we want to trap focus in the + // full screen card, so we move focus to the close button. + if (!(event instanceof KeyboardEvent)) return; + if (!this.container.matches(`.${Card.attr.CLASS_FULL_SCREEN}`)) return; + if (event.key === "Tab") { + event.preventDefault(); + this.overlay.anchor.focus(); + } + } + + private _createOverlay(): CardOverlay { + const container = document.createElement("div"); + container.id = Card.attr.ID_FULL_SCREEN_OVERLAY; + container.classList.add(Card.attr.ID_FULL_SCREEN_OVERLAY); - const overlayAnchor = document.createElement("a"); - overlayAnchor.classList.add(Card.attr.CLASS_FULL_SCREEN_EXIT); - overlayAnchor.tabIndex = 0; - overlayAnchor.onclick = () => this.exitFullScreen(); - overlayAnchor.onkeyup = (ev) => { + const anchor = document.createElement("a"); + anchor.classList.add(Card.attr.CLASS_FULL_SCREEN_EXIT); + anchor.tabIndex = 0; + anchor.onclick = () => this.exitFullScreen(); + anchor.onkeyup = (ev) => { if (ev.key === "Enter" || ev.key === " ") { this.exitFullScreen(); } }; - overlayAnchor.onkeydown = (ev) => { - // if tabbing out of the card, cycle focus back to last focus element + anchor.onkeydown = (ev) => { + // if tabbing backwards out of the card, + // cycle focus back to last focus element within the card if (ev.key === "Tab" && ev.shiftKey) { ev.preventDefault(); - this.lastInteriorFocusElement?.focus(); + this.lastFocusInterior?.focus(); } }; - overlayAnchor.innerHTML = this._overlayCloseHtml(); + anchor.innerHTML = this._overlayCloseHtml(); - overlay.appendChild(overlayAnchor); - return { overlay, anchor: overlayAnchor }; + container.appendChild(anchor); + return { container, anchor }; } private _overlayCloseHtml(): string { From ce77ca9e688a94a1d14e36133d17370a475627c9 Mon Sep 17 00:00:00 2001 From: gadenbuie Date: Tue, 2 May 2023 21:23:12 +0000 Subject: [PATCH 40/76] `yarn build` (GitHub Actions) --- inst/components/accordion.min.js | 2 +- inst/components/accordion.min.js.map | 2 +- inst/components/card.min.js | 2 +- inst/components/card.min.js.map | 8 ++++---- inst/components/sidebar.min.js | 2 +- inst/components/sidebar.min.js.map | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/inst/components/accordion.min.js b/inst/components/accordion.min.js index a8bbe1daf..84a3fc85c 100644 --- a/inst/components/accordion.min.js +++ b/inst/components/accordion.min.js @@ -1,3 +1,3 @@ /*! bslib 0.4.2.9000 | (c) 2012-2023 RStudio, PBC. | License: MIT + file LICENSE */ -"use strict";(()=>{var a=window.Shiny?Shiny.InputBinding:class{};function c(o,e){window.Shiny&&Shiny.inputBindings.register(new o,"bslib."+e)}function r(o,e){return Object.prototype.hasOwnProperty.call(o,e)&&o[e]!==void 0}var l=class extends a{find(e){return $(e).find(".accordion.bslib-accordion-input")}getValue(e){let n=this._getItemInfo(e).filter(s=>s.isOpen()).map(s=>s.value);return n.length===0?null:n}subscribe(e,t){$(e).on("shown.bs.collapse.accordionInputBinding hidden.bs.collapse.accordionInputBinding",function(n){t(!0)})}unsubscribe(e){$(e).off(".accordionInputBinding")}receiveMessage(e,t){let n=t.method;if(n==="set")this._setItems(e,t);else if(n==="open")this._openItems(e,t);else if(n==="close")this._closeItems(e,t);else if(n==="remove")this._removeItem(e,t);else if(n==="insert")this._insertItem(e,t);else if(n==="update")this._updateItem(e,t);else throw new Error(`Method not yet implemented: ${n}`)}_setItems(e,t){let n=this._getItemInfo(e),s=this._getValues(e,n,t.values);n.forEach(i=>{s.indexOf(i.value)>-1?i.show():i.hide()})}_openItems(e,t){let n=this._getItemInfo(e),s=this._getValues(e,n,t.values);n.forEach(i=>{s.indexOf(i.value)>-1&&i.show()})}_closeItems(e,t){let n=this._getItemInfo(e),s=this._getValues(e,n,t.values);n.forEach(i=>{s.indexOf(i.value)>-1&&i.hide()})}_insertItem(e,t){let n=this._findItem(e,t.target);n||(n=t.position==="before"?e.firstElementChild:e.lastElementChild);let s=t.panel;if(n?Shiny.renderContent(n,s,t.position==="before"?"beforeBegin":"afterEnd"):Shiny.renderContent(e,s),this._isAutoClosing(e)){let i=$(s.html).attr("data-value");$(e).find(`[data-value="${i}"] .accordion-collapse`).attr("data-bs-parent","#"+e.id)}}_removeItem(e,t){let n=this._getItemInfo(e).filter(i=>t.target.indexOf(i.value)>-1),s=Shiny==null?void 0:Shiny.unbindAll;n.forEach(i=>{s&&s(i.item),i.item.remove()})}_updateItem(e,t){let n=this._findItem(e,t.target);if(!n)throw new Error(`Unable to find an accordion_panel() with a value of ${t.target}`);if(r(t,"value")&&(n.dataset.value=t.value),r(t,"body")){let i=n.querySelector(".accordion-body");Shiny.renderContent(i,t.body)}let s=n.querySelector(".accordion-header");if(r(t,"title")){let i=s.querySelector(".accordion-title");Shiny.renderContent(i,t.title)}if(r(t,"icon")){let i=s.querySelector(".accordion-button > .accordion-icon");Shiny.renderContent(i,t.icon)}}_getItemInfo(e){return Array.from(e.querySelectorAll(":scope > .accordion-item")).map(n=>this._getSingleItemInfo(n))}_getSingleItemInfo(e){let t=e.querySelector(".accordion-collapse"),n=()=>$(t).hasClass("show");return{item:e,value:e.dataset.value,isOpen:n,show:()=>{n()||$(t).collapse("show")},hide:()=>{n()&&$(t).collapse("hide")}}}_getValues(e,t,n){let s=n!==!0?n:t.map(d=>d.value);return this._isAutoClosing(e)&&(s=s.slice(s.length-1,s.length)),s}_findItem(e,t){return e.querySelector(`[data-value="${t}"]`)}_isAutoClosing(e){return e.classList.contains("autoclose")}};c(l,"accordion");})(); +"use strict";(()=>{var a=window.Shiny?Shiny.InputBinding:class{};function d(i,e){window.Shiny&&Shiny.inputBindings.register(new i,"bslib."+e)}function r(i,e){return Object.prototype.hasOwnProperty.call(i,e)&&i[e]!==void 0}var l=class extends a{find(e){return $(e).find(".accordion.bslib-accordion-input")}getValue(e){let n=this._getItemInfo(e).filter(s=>s.isOpen()).map(s=>s.value);return n.length===0?null:n}subscribe(e,t){$(e).on("shown.bs.collapse.accordionInputBinding hidden.bs.collapse.accordionInputBinding",function(n){t(!0)})}unsubscribe(e){$(e).off(".accordionInputBinding")}receiveMessage(e,t){let n=t.method;if(n==="set")this._setItems(e,t);else if(n==="open")this._openItems(e,t);else if(n==="close")this._closeItems(e,t);else if(n==="remove")this._removeItem(e,t);else if(n==="insert")this._insertItem(e,t);else if(n==="update")this._updateItem(e,t);else throw new Error(`Method not yet implemented: ${n}`)}_setItems(e,t){let n=this._getItemInfo(e),s=this._getValues(e,n,t.values);n.forEach(o=>{s.indexOf(o.value)>-1?o.show():o.hide()})}_openItems(e,t){let n=this._getItemInfo(e),s=this._getValues(e,n,t.values);n.forEach(o=>{s.indexOf(o.value)>-1&&o.show()})}_closeItems(e,t){let n=this._getItemInfo(e),s=this._getValues(e,n,t.values);n.forEach(o=>{s.indexOf(o.value)>-1&&o.hide()})}_insertItem(e,t){let n=this._findItem(e,t.target);n||(n=t.position==="before"?e.firstElementChild:e.lastElementChild);let s=t.panel;if(n?Shiny.renderContent(n,s,t.position==="before"?"beforeBegin":"afterEnd"):Shiny.renderContent(e,s),this._isAutoClosing(e)){let o=$(s.html).attr("data-value");$(e).find(`[data-value="${o}"] .accordion-collapse`).attr("data-bs-parent","#"+e.id)}}_removeItem(e,t){let n=this._getItemInfo(e).filter(o=>t.target.indexOf(o.value)>-1),s=Shiny==null?void 0:Shiny.unbindAll;n.forEach(o=>{s&&s(o.item),o.item.remove()})}_updateItem(e,t){let n=this._findItem(e,t.target);if(!n)throw new Error(`Unable to find an accordion_panel() with a value of ${t.target}`);if(r(t,"value")&&(n.dataset.value=t.value),r(t,"body")){let o=n.querySelector(".accordion-body");Shiny.renderContent(o,t.body)}let s=n.querySelector(".accordion-header");if(r(t,"title")){let o=s.querySelector(".accordion-title");Shiny.renderContent(o,t.title)}if(r(t,"icon")){let o=s.querySelector(".accordion-button > .accordion-icon");Shiny.renderContent(o,t.icon)}}_getItemInfo(e){return Array.from(e.querySelectorAll(":scope > .accordion-item")).map(n=>this._getSingleItemInfo(n))}_getSingleItemInfo(e){let t=e.querySelector(".accordion-collapse"),n=()=>$(t).hasClass("show");return{item:e,value:e.dataset.value,isOpen:n,show:()=>{n()||$(t).collapse("show")},hide:()=>{n()&&$(t).collapse("hide")}}}_getValues(e,t,n){let s=n!==!0?n:t.map(c=>c.value);return this._isAutoClosing(e)&&(s=s.slice(s.length-1,s.length)),s}_findItem(e,t){return e.querySelector(`[data-value="${t}"]`)}_isAutoClosing(e){return e.classList.contains("autoclose")}};d(l,"accordion");})(); //# sourceMappingURL=accordion.min.js.map diff --git a/inst/components/accordion.min.js.map b/inst/components/accordion.min.js.map index 500104003..2e27af751 100644 --- a/inst/components/accordion.min.js.map +++ b/inst/components/accordion.min.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": ["../../srcts/src/components/_utils.ts", "../../srcts/src/components/accordion.ts"], - "sourcesContent": ["import type { HtmlDep } from \"rstudio-shiny/srcts/types/src/shiny/render\";\n\nimport type { InputBinding as InputBindingType } from \"rstudio-shiny/srcts/types/src/bindings/input\";\n\n// Exclude undefined from T\ntype NotUndefined = T extends undefined ? never : T;\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst InputBinding = (\n window.Shiny ? Shiny.InputBinding : class {}\n) as typeof InputBindingType;\n\nfunction registerBinding(\n inputBindingClass: new () => InputBindingType,\n name: string\n): void {\n if (window.Shiny) {\n Shiny.inputBindings.register(new inputBindingClass(), \"bslib.\" + name);\n }\n}\n\n// Return true if the key exists on the object and the value is not undefined.\n//\n// This method is mainly used in input bindings' `receiveMessage` method.\n// Since we know that the values are sent by Shiny via `{jsonlite}`,\n// then we know that there are no `undefined` values. `null` is possible, but not `undefined`.\nfunction hasDefinedProperty<\n Prop extends keyof X,\n X extends { [key: string]: any }\n>(\n obj: X,\n prop: Prop\n): obj is X & { [key in NonNullable]: NotUndefined } {\n return (\n Object.prototype.hasOwnProperty.call(obj, prop) && obj[prop] !== undefined\n );\n}\n\n// TODO: Shiny should trigger resize events when the output\n// https://github.com/rstudio/shiny/pull/3682\nfunction doWindowResizeOnElementResize(el: HTMLElement): void {\n if ($(el).data(\"window-resize-observer\")) {\n return;\n }\n const resizeEvent = new Event(\"resize\");\n const ro = new ResizeObserver(() => {\n window.dispatchEvent(resizeEvent);\n });\n ro.observe(el);\n $(el).data(\"window-resize-observer\", ro);\n}\n\nexport {\n InputBinding,\n registerBinding,\n hasDefinedProperty,\n doWindowResizeOnElementResize,\n};\nexport type { HtmlDep };\n", "import type { HtmlDep } from \"./_utils\";\nimport { InputBinding, registerBinding, hasDefinedProperty } from \"./_utils\";\n\ntype AccordionItem = {\n item: HTMLElement;\n value: string;\n isOpen: () => boolean;\n show: () => void;\n hide: () => void;\n};\n\ntype HTMLContent = {\n html: string;\n deps?: HtmlDep[];\n};\n\ntype SetMessage = {\n method: \"set\";\n values: string[];\n};\n\ntype OpenMessage = {\n method: \"open\";\n values: string[] | true;\n};\n\ntype CloseMessage = {\n method: \"close\";\n values: string[] | true;\n};\n\ntype InsertMessage = {\n method: \"insert\";\n panel: HTMLContent;\n target: string;\n position: \"after\" | \"before\";\n};\n\ntype RemoveMessage = {\n method: \"remove\";\n target: string[];\n};\n\ntype UpdateMessage = {\n method: \"update\";\n target: string;\n value: string;\n body: HTMLContent;\n title: HTMLContent;\n icon: HTMLContent;\n};\n\ntype MessageData =\n | CloseMessage\n | InsertMessage\n | OpenMessage\n | RemoveMessage\n | SetMessage\n | UpdateMessage;\n\nclass AccordionInputBinding extends InputBinding {\n find(scope: HTMLElement) {\n return $(scope).find(\".accordion.bslib-accordion-input\");\n }\n\n getValue(el: HTMLElement): string[] | null {\n const items = this._getItemInfo(el);\n const selected = items.filter((x) => x.isOpen()).map((x) => x.value);\n return selected.length === 0 ? null : selected;\n }\n\n subscribe(el: HTMLElement, callback: (x: boolean) => void) {\n $(el).on(\n \"shown.bs.collapse.accordionInputBinding hidden.bs.collapse.accordionInputBinding\",\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n function (event) {\n callback(true);\n }\n );\n }\n\n unsubscribe(el: HTMLElement) {\n $(el).off(\".accordionInputBinding\");\n }\n\n receiveMessage(el: HTMLElement, data: MessageData) {\n const method = data.method;\n if (method === \"set\") {\n this._setItems(el, data);\n } else if (method === \"open\") {\n this._openItems(el, data);\n } else if (method === \"close\") {\n this._closeItems(el, data);\n } else if (method === \"remove\") {\n this._removeItem(el, data);\n } else if (method === \"insert\") {\n this._insertItem(el, data);\n } else if (method === \"update\") {\n this._updateItem(el, data);\n } else {\n throw new Error(`Method not yet implemented: ${method}`);\n }\n }\n\n protected _setItems(el: HTMLElement, data: SetMessage) {\n const items = this._getItemInfo(el);\n const vals = this._getValues(el, items, data.values);\n items.forEach((x) => {\n vals.indexOf(x.value) > -1 ? x.show() : x.hide();\n });\n }\n\n protected _openItems(el: HTMLElement, data: OpenMessage) {\n const items = this._getItemInfo(el);\n const vals = this._getValues(el, items, data.values);\n items.forEach((x) => {\n if (vals.indexOf(x.value) > -1) x.show();\n });\n }\n\n protected _closeItems(el: HTMLElement, data: CloseMessage) {\n const items = this._getItemInfo(el);\n const vals = this._getValues(el, items, data.values);\n items.forEach((x) => {\n if (vals.indexOf(x.value) > -1) x.hide();\n });\n }\n\n protected _insertItem(el: HTMLElement, data: InsertMessage) {\n let targetItem = this._findItem(el, data.target);\n\n // If no target was specified, or the target was not found, then default\n // to the first or last item, depending on the position\n if (!targetItem) {\n targetItem = (\n data.position === \"before\" ? el.firstElementChild : el.lastElementChild\n ) as HTMLElement;\n }\n\n const panel = data.panel;\n\n // If there is still no targetItem, then there are no items in the accordion\n if (targetItem) {\n Shiny.renderContent(\n targetItem,\n panel,\n data.position === \"before\" ? \"beforeBegin\" : \"afterEnd\"\n );\n } else {\n Shiny.renderContent(el, panel);\n }\n\n // Need to add a reference to the parent id that makes autoclose to work\n if (this._isAutoClosing(el)) {\n const val = $(panel.html).attr(\"data-value\");\n $(el)\n .find(`[data-value=\"${val}\"] .accordion-collapse`)\n .attr(\"data-bs-parent\", \"#\" + el.id);\n }\n }\n\n protected _removeItem(el: HTMLElement, data: RemoveMessage) {\n const targetItems = this._getItemInfo(el).filter(\n (x) => data.target.indexOf(x.value) > -1\n );\n\n const unbindAll = Shiny?.unbindAll;\n\n targetItems.forEach((x) => {\n if (unbindAll) unbindAll(x.item);\n x.item.remove();\n });\n }\n\n protected _updateItem(el: HTMLElement, data: UpdateMessage) {\n const target = this._findItem(el, data.target);\n\n if (!target) {\n throw new Error(\n `Unable to find an accordion_panel() with a value of ${data.target}`\n );\n }\n\n if (hasDefinedProperty(data, \"value\")) {\n target.dataset.value = data.value;\n }\n\n if (hasDefinedProperty(data, \"body\")) {\n const body = target.querySelector(\".accordion-body\") as HTMLElement; // always exists\n Shiny.renderContent(body, data.body);\n }\n\n const header = target.querySelector(\".accordion-header\") as HTMLElement; // always exists\n\n if (hasDefinedProperty(data, \"title\")) {\n const title = header.querySelector(\".accordion-title\") as HTMLElement; // always exists\n Shiny.renderContent(title, data.title);\n }\n\n if (hasDefinedProperty(data, \"icon\")) {\n const icon = header.querySelector(\n \".accordion-button > .accordion-icon\"\n ) as HTMLElement; // always exists\n Shiny.renderContent(icon, data.icon);\n }\n }\n\n protected _getItemInfo(el: HTMLElement): AccordionItem[] {\n const items = Array.from(\n el.querySelectorAll(\":scope > .accordion-item\")\n ) as HTMLElement[];\n return items.map((x) => this._getSingleItemInfo(x));\n }\n\n protected _getSingleItemInfo(x: HTMLElement): AccordionItem {\n const collapse = x.querySelector(\".accordion-collapse\") as HTMLElement;\n const isOpen = () => $(collapse).hasClass(\"show\");\n return {\n item: x,\n value: x.dataset.value as string,\n isOpen: isOpen,\n show: () => {\n if (!isOpen()) $(collapse).collapse(\"show\");\n },\n hide: () => {\n if (isOpen()) $(collapse).collapse(\"hide\");\n },\n };\n }\n\n protected _getValues(\n el: HTMLElement,\n items: AccordionItem[],\n values: string[] | true\n ): string[] {\n let vals = values !== true ? values : items.map((x) => x.value);\n const autoclose = this._isAutoClosing(el);\n if (autoclose) {\n vals = vals.slice(vals.length - 1, vals.length);\n }\n return vals;\n }\n\n protected _findItem(el: HTMLElement, value: string): HTMLElement | null {\n return el.querySelector(`[data-value=\"${value}\"]`);\n }\n\n protected _isAutoClosing(el: HTMLElement): boolean {\n return el.classList.contains(\"autoclose\");\n }\n}\n\nregisterBinding(AccordionInputBinding, \"accordion\");\n"], + "sourcesContent": ["import type { HtmlDep } from \"rstudio-shiny/srcts/types/src/shiny/render\";\n\nimport type { InputBinding as InputBindingType } from \"rstudio-shiny/srcts/types/src/bindings/input\";\n\n// Exclude undefined from T\ntype NotUndefined = T extends undefined ? never : T;\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst InputBinding = (\n window.Shiny ? Shiny.InputBinding : class {}\n) as typeof InputBindingType;\n\nfunction registerBinding(\n inputBindingClass: new () => InputBindingType,\n name: string\n): void {\n if (window.Shiny) {\n Shiny.inputBindings.register(new inputBindingClass(), \"bslib.\" + name);\n }\n}\n\n// Return true if the key exists on the object and the value is not undefined.\n//\n// This method is mainly used in input bindings' `receiveMessage` method.\n// Since we know that the values are sent by Shiny via `{jsonlite}`,\n// then we know that there are no `undefined` values. `null` is possible, but not `undefined`.\nfunction hasDefinedProperty<\n Prop extends keyof X,\n X extends { [key: string]: any }\n>(\n obj: X,\n prop: Prop\n): obj is X & { [key in NonNullable]: NotUndefined } {\n return (\n Object.prototype.hasOwnProperty.call(obj, prop) && obj[prop] !== undefined\n );\n}\n\n// TODO: Shiny should trigger resize events when the output\n// https://github.com/rstudio/shiny/pull/3682\nfunction doWindowResizeOnElementResize(el: HTMLElement): void {\n if ($(el).data(\"window-resize-observer\")) {\n return;\n }\n const resizeEvent = new Event(\"resize\");\n const ro = new ResizeObserver(() => {\n window.dispatchEvent(resizeEvent);\n });\n ro.observe(el);\n $(el).data(\"window-resize-observer\", ro);\n}\n\nfunction getAllFocusableChildren(el: HTMLElement): HTMLElement[] {\n const selectors = [\n \"[href]\",\n \"input:not([disabled])\",\n \"button:not([disabled])\",\n \"select:not([disabled])\",\n \"summary:not(:disabled)\",\n \"details:not([disabled])\",\n \"textarea:not([disabled])\",\n '[tabindex]:not([tabindex=\"-1\"]):not([disabled])',\n ];\n const focusable = el.querySelectorAll(selectors.join(\", \"));\n return Array.from(focusable) as HTMLElement[];\n}\n\nexport {\n InputBinding,\n registerBinding,\n hasDefinedProperty,\n doWindowResizeOnElementResize,\n getAllFocusableChildren,\n};\nexport type { HtmlDep };\n", "import type { HtmlDep } from \"./_utils\";\nimport { InputBinding, registerBinding, hasDefinedProperty } from \"./_utils\";\n\ntype AccordionItem = {\n item: HTMLElement;\n value: string;\n isOpen: () => boolean;\n show: () => void;\n hide: () => void;\n};\n\ntype HTMLContent = {\n html: string;\n deps?: HtmlDep[];\n};\n\ntype SetMessage = {\n method: \"set\";\n values: string[];\n};\n\ntype OpenMessage = {\n method: \"open\";\n values: string[] | true;\n};\n\ntype CloseMessage = {\n method: \"close\";\n values: string[] | true;\n};\n\ntype InsertMessage = {\n method: \"insert\";\n panel: HTMLContent;\n target: string;\n position: \"after\" | \"before\";\n};\n\ntype RemoveMessage = {\n method: \"remove\";\n target: string[];\n};\n\ntype UpdateMessage = {\n method: \"update\";\n target: string;\n value: string;\n body: HTMLContent;\n title: HTMLContent;\n icon: HTMLContent;\n};\n\ntype MessageData =\n | CloseMessage\n | InsertMessage\n | OpenMessage\n | RemoveMessage\n | SetMessage\n | UpdateMessage;\n\nclass AccordionInputBinding extends InputBinding {\n find(scope: HTMLElement) {\n return $(scope).find(\".accordion.bslib-accordion-input\");\n }\n\n getValue(el: HTMLElement): string[] | null {\n const items = this._getItemInfo(el);\n const selected = items.filter((x) => x.isOpen()).map((x) => x.value);\n return selected.length === 0 ? null : selected;\n }\n\n subscribe(el: HTMLElement, callback: (x: boolean) => void) {\n $(el).on(\n \"shown.bs.collapse.accordionInputBinding hidden.bs.collapse.accordionInputBinding\",\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n function (event) {\n callback(true);\n }\n );\n }\n\n unsubscribe(el: HTMLElement) {\n $(el).off(\".accordionInputBinding\");\n }\n\n receiveMessage(el: HTMLElement, data: MessageData) {\n const method = data.method;\n if (method === \"set\") {\n this._setItems(el, data);\n } else if (method === \"open\") {\n this._openItems(el, data);\n } else if (method === \"close\") {\n this._closeItems(el, data);\n } else if (method === \"remove\") {\n this._removeItem(el, data);\n } else if (method === \"insert\") {\n this._insertItem(el, data);\n } else if (method === \"update\") {\n this._updateItem(el, data);\n } else {\n throw new Error(`Method not yet implemented: ${method}`);\n }\n }\n\n protected _setItems(el: HTMLElement, data: SetMessage) {\n const items = this._getItemInfo(el);\n const vals = this._getValues(el, items, data.values);\n items.forEach((x) => {\n vals.indexOf(x.value) > -1 ? x.show() : x.hide();\n });\n }\n\n protected _openItems(el: HTMLElement, data: OpenMessage) {\n const items = this._getItemInfo(el);\n const vals = this._getValues(el, items, data.values);\n items.forEach((x) => {\n if (vals.indexOf(x.value) > -1) x.show();\n });\n }\n\n protected _closeItems(el: HTMLElement, data: CloseMessage) {\n const items = this._getItemInfo(el);\n const vals = this._getValues(el, items, data.values);\n items.forEach((x) => {\n if (vals.indexOf(x.value) > -1) x.hide();\n });\n }\n\n protected _insertItem(el: HTMLElement, data: InsertMessage) {\n let targetItem = this._findItem(el, data.target);\n\n // If no target was specified, or the target was not found, then default\n // to the first or last item, depending on the position\n if (!targetItem) {\n targetItem = (\n data.position === \"before\" ? el.firstElementChild : el.lastElementChild\n ) as HTMLElement;\n }\n\n const panel = data.panel;\n\n // If there is still no targetItem, then there are no items in the accordion\n if (targetItem) {\n Shiny.renderContent(\n targetItem,\n panel,\n data.position === \"before\" ? \"beforeBegin\" : \"afterEnd\"\n );\n } else {\n Shiny.renderContent(el, panel);\n }\n\n // Need to add a reference to the parent id that makes autoclose to work\n if (this._isAutoClosing(el)) {\n const val = $(panel.html).attr(\"data-value\");\n $(el)\n .find(`[data-value=\"${val}\"] .accordion-collapse`)\n .attr(\"data-bs-parent\", \"#\" + el.id);\n }\n }\n\n protected _removeItem(el: HTMLElement, data: RemoveMessage) {\n const targetItems = this._getItemInfo(el).filter(\n (x) => data.target.indexOf(x.value) > -1\n );\n\n const unbindAll = Shiny?.unbindAll;\n\n targetItems.forEach((x) => {\n if (unbindAll) unbindAll(x.item);\n x.item.remove();\n });\n }\n\n protected _updateItem(el: HTMLElement, data: UpdateMessage) {\n const target = this._findItem(el, data.target);\n\n if (!target) {\n throw new Error(\n `Unable to find an accordion_panel() with a value of ${data.target}`\n );\n }\n\n if (hasDefinedProperty(data, \"value\")) {\n target.dataset.value = data.value;\n }\n\n if (hasDefinedProperty(data, \"body\")) {\n const body = target.querySelector(\".accordion-body\") as HTMLElement; // always exists\n Shiny.renderContent(body, data.body);\n }\n\n const header = target.querySelector(\".accordion-header\") as HTMLElement; // always exists\n\n if (hasDefinedProperty(data, \"title\")) {\n const title = header.querySelector(\".accordion-title\") as HTMLElement; // always exists\n Shiny.renderContent(title, data.title);\n }\n\n if (hasDefinedProperty(data, \"icon\")) {\n const icon = header.querySelector(\n \".accordion-button > .accordion-icon\"\n ) as HTMLElement; // always exists\n Shiny.renderContent(icon, data.icon);\n }\n }\n\n protected _getItemInfo(el: HTMLElement): AccordionItem[] {\n const items = Array.from(\n el.querySelectorAll(\":scope > .accordion-item\")\n ) as HTMLElement[];\n return items.map((x) => this._getSingleItemInfo(x));\n }\n\n protected _getSingleItemInfo(x: HTMLElement): AccordionItem {\n const collapse = x.querySelector(\".accordion-collapse\") as HTMLElement;\n const isOpen = () => $(collapse).hasClass(\"show\");\n return {\n item: x,\n value: x.dataset.value as string,\n isOpen: isOpen,\n show: () => {\n if (!isOpen()) $(collapse).collapse(\"show\");\n },\n hide: () => {\n if (isOpen()) $(collapse).collapse(\"hide\");\n },\n };\n }\n\n protected _getValues(\n el: HTMLElement,\n items: AccordionItem[],\n values: string[] | true\n ): string[] {\n let vals = values !== true ? values : items.map((x) => x.value);\n const autoclose = this._isAutoClosing(el);\n if (autoclose) {\n vals = vals.slice(vals.length - 1, vals.length);\n }\n return vals;\n }\n\n protected _findItem(el: HTMLElement, value: string): HTMLElement | null {\n return el.querySelector(`[data-value=\"${value}\"]`);\n }\n\n protected _isAutoClosing(el: HTMLElement): boolean {\n return el.classList.contains(\"autoclose\");\n }\n}\n\nregisterBinding(AccordionInputBinding, \"accordion\");\n"], "mappings": "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", "names": ["InputBinding", "registerBinding", "inputBindingClass", "name", "hasDefinedProperty", "obj", "prop", "AccordionInputBinding", "InputBinding", "scope", "el", "selected", "x", "callback", "event", "data", "method", "items", "vals", "targetItem", "panel", "val", "targetItems", "unbindAll", "target", "hasDefinedProperty", "body", "header", "title", "icon", "collapse", "isOpen", "values", "value", "registerBinding"] } diff --git a/inst/components/card.min.js b/inst/components/card.min.js index 908766c9b..d28029097 100644 --- a/inst/components/card.min.js +++ b/inst/components/card.min.js @@ -1,3 +1,3 @@ /*! bslib 0.4.2.9000 | (c) 2012-2023 RStudio, PBC. | License: MIT + file LICENSE */ -"use strict";(()=>{var a=class{constructor(e){let t=r=>{for(let i of r)if(i.type==="childList"){for(let n of i.addedNodes)n.nodeType===Node.ELEMENT_NODE&&this._callback(n,this.config.added);for(let n of i.removedNodes)n.nodeType===Node.ELEMENT_NODE&&this._callback(n,this.config.removed)}};this.config=e,this.observer=new MutationObserver(t),document.readyState==="complete"?this.connect():document.addEventListener("DOMContentLoaded",()=>this.connect())}_callback(e,{selector:t,callback:r}){let i=e.matches(t),n=e.querySelector(t);!i&&!n||(i&&r(e),n&&e.querySelectorAll(t).forEach(c=>r(c)))}connect(){this._callback(document.body,this.config.added),this.observer.observe(document,{childList:!0,subtree:!0})}disconnect(){this.observer.disconnect()}};var l=window.bootstrap?window.bootstrap.Tooltip:class{},s=class{constructor(e){e.removeAttribute(s.attr.ATTR_INIT),this.container=e,s.instanceMap.set(e,this);let t=new Event("resize");this.cardResizeObserver=new ResizeObserver(()=>{window.dispatchEvent(t)}),this.cardResizeObserver.observe(this.container),this._addEventListeners(),this._enableTooltips(),this._startShinyOutputResizeObserver()}enterFullScreen(e){e&&e.preventDefault();let t=this._createOverlay();t.addEventListener("click",()=>this.exitFullScreen()),document.addEventListener("keyup",this._exitFullScreenOnEscape,!1),this.container.classList.add(s.attr.CLASS_FULL_SCREEN),document.body.classList.add(s.attr.CLASS_HAS_FULL_SCREEN),this.container.insertAdjacentElement("beforebegin",t)}exitFullScreen(){let e=document.getElementById(s.attr.ID_FULL_SCREEN_OVERLAY);e&&e.remove(),this.container.classList.remove(s.attr.CLASS_FULL_SCREEN),document.body.classList.remove(s.attr.CLASS_HAS_FULL_SCREEN),e==null||e.removeEventListener("click",()=>this.exitFullScreen()),document.removeEventListener("keyup",this._exitFullScreenOnEscape,!1)}destroy(){this._removeEventListeners(),this.cardResizeObserver.disconnect(),this.shinyOutputResizeObserver&&this.shinyOutputResizeObserver.disconnect(),s.instanceMap.delete(this.container)}_addEventListeners(){let e=this.container.querySelector(`:scope > .${s.attr.CLASS_FULL_SCREEN_ENTER}`);e&&e.addEventListener("click",t=>this.enterFullScreen(t))}_removeEventListeners(){let e=this.container.querySelector(`:scope > .${s.attr.CLASS_FULL_SCREEN_ENTER}`);e&&e.removeEventListener("click",t=>this.enterFullScreen(t))}_enableTooltips(){let e=`.${s.attr.CLASS_FULL_SCREEN_ENTER}[data-bs-toggle='tooltip']`;if(!this.container.querySelector(e))return;this.container.querySelectorAll(e).forEach(r=>new l(r))}_startShinyOutputResizeObserver(){$(document).on("shiny:value",e=>{let t=e.binding.el;this.container.contains(t)&&(t.dataset.bslibOutputObserver||(this.shinyOutputResizeObserver=new ResizeObserver(e.binding.onResize),this.shinyOutputResizeObserver.observe(t),t.dataset.bslibOutputObserver="true"))})}_exitFullScreenOnEscape(e){e.key==="Escape"&&this.exitFullScreen()}_createOverlay(){let e=document.createElement("div");e.id=s.attr.ID_FULL_SCREEN_OVERLAY,e.classList.add(s.attr.ID_FULL_SCREEN_OVERLAY);let t=document.createElement("a");return t.classList.add(s.attr.CLASS_FULL_SCREEN_EXIT),t.innerHTML=this._overlayCloseHtml(),e.appendChild(t),e}_overlayCloseHtml(){return"Close "}static getInstance(e){return s.instanceMap.get(e)}static get observer(){return s.documentObserver}},o=s;o.attr={ATTR_INIT:"data-bslib-card-needs-init",CLASS_CARD:"bslib-card",CLASS_FULL_SCREEN:"bslib-full-screen",CLASS_HAS_FULL_SCREEN:"bslib-has-full-screen",CLASS_FULL_SCREEN_ENTER:"bslib-full-screen-enter",CLASS_FULL_SCREEN_EXIT:"bslib-full-screen-exit",ID_FULL_SCREEN_OVERLAY:"bslib-full-screen-overlay"},o.instanceMap=new WeakMap,o.documentObserver=new a({added:{selector:`.${s.attr.CLASS_CARD}[data-bslib-card-needs-init]`,callback:e=>{new s(e)}},removed:{selector:`.${s.attr.CLASS_CARD}`,callback:e=>{var t;(t=s.getInstance(e))==null||t.destroy()}}});window.bslib=window.bslib||{};window.bslib.Card=o;})(); +"use strict";(()=>{var a=class{constructor(e){let t=i=>{for(let r of i)if(r.type==="childList"){for(let s of r.addedNodes)s.nodeType===Node.ELEMENT_NODE&&this._callback(s,this.config.added);for(let s of r.removedNodes)s.nodeType===Node.ELEMENT_NODE&&this._callback(s,this.config.removed)}};this.config=e,this.observer=new MutationObserver(t),document.readyState==="complete"?this.connect():document.addEventListener("DOMContentLoaded",()=>this.connect())}_callback(e,{selector:t,callback:i}){let r=e.matches(t),s=e.querySelector(t);!r&&!s||(r&&i(e),s&&e.querySelectorAll(t).forEach(d=>i(d)))}connect(){this._callback(document.body,this.config.added),this.observer.observe(document,{childList:!0,subtree:!0})}disconnect(){this.observer.disconnect()}};var b=window.Shiny?Shiny.InputBinding:class{};function l(c){let e=["[href]","input:not([disabled])","button:not([disabled])","select:not([disabled])","summary:not(:disabled)","details:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"]):not([disabled])'],t=c.querySelectorAll(e.join(", "));return Array.from(t)}var u=window.bootstrap?window.bootstrap.Tooltip:class{},n=class{constructor(e){e.removeAttribute(n.attr.ATTR_INIT),this.container=e,n.instanceMap.set(e,this);let t=new Event("resize");this.cardResizeObserver=new ResizeObserver(()=>{window.dispatchEvent(t)}),this.cardResizeObserver.observe(this.container),this._addEventListeners(),this._enableTooltips(),this._startShinyOutputResizeObserver(),this.overlay=this._createOverlay()}enterFullScreen(e){e&&e.preventDefault(),this.overlay.container.addEventListener("click",()=>this.exitFullScreen()),document.addEventListener("keyup",i=>this._exitFullScreenOnEscape(i),!1);let t=l(this.container);t.length>0?(t[0].focus(),this.lastFocusInterior=t[t.length-1]):(this.lastFocusInterior=this.overlay.anchor,this.container.contains(document.activeElement)||(this.prevFocusExterior=document.activeElement,this.prevFocusExterior.addEventListener("keydown",i=>this._entrapFocus(i),{once:!0}))),this.lastFocusInterior&&(this.lastFocusInterior.onkeydown=i=>{i.key==="Tab"&&!i.shiftKey&&(i.preventDefault(),this.overlay.anchor.focus())}),this.container.classList.add(n.attr.CLASS_FULL_SCREEN),document.body.classList.add(n.attr.CLASS_HAS_FULL_SCREEN),this.container.insertAdjacentElement("beforebegin",this.overlay.container)}exitFullScreen(){this.overlay.container.removeEventListener("click",()=>this.exitFullScreen()),this.lastFocusInterior&&(this.lastFocusInterior.onkeydown=null),document.removeEventListener("keyup",e=>this._exitFullScreenOnEscape(e),!1),this.overlay.container.remove(),this.container.classList.remove(n.attr.CLASS_FULL_SCREEN),document.body.classList.remove(n.attr.CLASS_HAS_FULL_SCREEN),this.lastFocusInterior=void 0,this.prevFocusExterior=void 0}destroy(){this._removeEventListeners(),this.cardResizeObserver.disconnect(),this.shinyOutputResizeObserver&&this.shinyOutputResizeObserver.disconnect(),n.instanceMap.delete(this.container)}_addEventListeners(){let e=this.container.querySelector(`:scope > .${n.attr.CLASS_FULL_SCREEN_ENTER}`);e&&e.addEventListener("click",t=>this.enterFullScreen(t))}_removeEventListeners(){let e=this.container.querySelector(`:scope > .${n.attr.CLASS_FULL_SCREEN_ENTER}`);e&&e.removeEventListener("click",t=>this.enterFullScreen(t))}_enableTooltips(){let e=`.${n.attr.CLASS_FULL_SCREEN_ENTER}[data-bs-toggle='tooltip']`;if(!this.container.querySelector(e))return;this.container.querySelectorAll(e).forEach(i=>new u(i))}_startShinyOutputResizeObserver(){$(document).on("shiny:value",e=>{let t=e.binding.el;this.container.contains(t)&&(t.dataset.bslibOutputObserver||(this.shinyOutputResizeObserver=new ResizeObserver(e.binding.onResize),this.shinyOutputResizeObserver.observe(t),t.dataset.bslibOutputObserver="true"))})}_exitFullScreenOnEscape(e){document.activeElement instanceof HTMLSelectElement||e.key==="Escape"&&this.exitFullScreen()}_entrapFocus(e){e instanceof KeyboardEvent&&this.container.matches(`.${n.attr.CLASS_FULL_SCREEN}`)&&e.key==="Tab"&&(e.preventDefault(),this.overlay.anchor.focus())}_createOverlay(){let e=document.createElement("div");e.id=n.attr.ID_FULL_SCREEN_OVERLAY,e.classList.add(n.attr.ID_FULL_SCREEN_OVERLAY);let t=document.createElement("a");return t.classList.add(n.attr.CLASS_FULL_SCREEN_EXIT),t.tabIndex=0,t.onclick=()=>this.exitFullScreen(),t.onkeyup=i=>{(i.key==="Enter"||i.key===" ")&&this.exitFullScreen()},t.onkeydown=i=>{var r;i.key==="Tab"&&i.shiftKey&&(i.preventDefault(),(r=this.lastFocusInterior)==null||r.focus())},t.innerHTML=this._overlayCloseHtml(),e.appendChild(t),{container:e,anchor:t}}_overlayCloseHtml(){return"Close "}static getInstance(e){return n.instanceMap.get(e)}static get observer(){return n.documentObserver}},o=n;o.attr={ATTR_INIT:"data-bslib-card-needs-init",CLASS_CARD:"bslib-card",CLASS_FULL_SCREEN:"bslib-full-screen",CLASS_HAS_FULL_SCREEN:"bslib-has-full-screen",CLASS_FULL_SCREEN_ENTER:"bslib-full-screen-enter",CLASS_FULL_SCREEN_EXIT:"bslib-full-screen-exit",ID_FULL_SCREEN_OVERLAY:"bslib-full-screen-overlay"},o.instanceMap=new WeakMap,o.documentObserver=new a({added:{selector:`.${n.attr.CLASS_CARD}[data-bslib-card-needs-init]`,callback:e=>{new n(e)}},removed:{selector:`.${n.attr.CLASS_CARD}`,callback:e=>{var t;(t=n.getInstance(e))==null||t.destroy()}}});window.bslib=window.bslib||{};window.bslib.Card=o;})(); //# sourceMappingURL=card.min.js.map diff --git a/inst/components/card.min.js.map b/inst/components/card.min.js.map index f16c36b3b..bf3a01ec3 100644 --- a/inst/components/card.min.js.map +++ b/inst/components/card.min.js.map @@ -1,7 +1,7 @@ { "version": 3, - "sources": ["../../srcts/src/components/_documentObserver.ts", "../../srcts/src/components/card.ts"], - "sourcesContent": ["/**\n * The DocumentObserver class creates an observer detecting all DOM changes,\n * watching for added or removed elements (or their children) that match\n * the specified selectors. When a matching element is added or removed, the\n * respective callback function is called. The DocumentObserver is insensitive\n * to when it's instantiated; it always runs `added.callback()` once on the\n * document body (waiting for DOMContentLoaded if necessary) and then starts\n * watching the DOM for added/removed elements.\n */\n\ninterface DocumentObserverConfig {\n added: {\n selector: string;\n callback: (node: HTMLElement) => void;\n };\n removed: {\n selector: string;\n callback: (node: HTMLElement) => void;\n };\n}\n\nclass DocumentObserver {\n private observer: MutationObserver;\n private config: DocumentObserverConfig;\n\n constructor(config: DocumentObserverConfig) {\n const mutationObserverCallback = (mutationsList: MutationRecord[]) => {\n for (const mutation of mutationsList) {\n if (mutation.type === \"childList\") {\n for (const addedNode of mutation.addedNodes) {\n if (addedNode.nodeType !== Node.ELEMENT_NODE) continue;\n this._callback(addedNode as HTMLElement, this.config.added);\n }\n for (const removedNode of mutation.removedNodes) {\n if (removedNode.nodeType !== Node.ELEMENT_NODE) continue;\n this._callback(removedNode as HTMLElement, this.config.removed);\n }\n }\n }\n };\n\n this.config = config;\n this.observer = new MutationObserver(mutationObserverCallback);\n if (document.readyState === \"complete\") {\n this.connect();\n } else {\n document.addEventListener(\"DOMContentLoaded\", () => this.connect());\n }\n }\n\n private _callback(\n el: HTMLElement,\n {\n selector,\n callback,\n }: { selector: string; callback: (node: HTMLElement) => void }\n ) {\n const elMatches = el.matches(selector);\n const hasMatchingChild = el.querySelector(selector);\n if (!elMatches && !hasMatchingChild) return;\n if (elMatches) callback(el);\n if (!hasMatchingChild) return;\n el.querySelectorAll(selector).forEach((node) =>\n callback(node as HTMLElement)\n );\n }\n\n connect(): void {\n this._callback(document.body, this.config.added);\n this.observer.observe(document, { childList: true, subtree: true });\n }\n\n disconnect(): void {\n this.observer.disconnect();\n }\n}\n\nexport { DocumentObserver };\nexport type { DocumentObserverConfig };\n", "import type { Tooltip as TooltipType } from \"bootstrap\";\nimport type { ShinyEventValue } from \"rstudio-shiny/srcts/types/src/events/shinyEvents\";\nimport { DocumentObserver } from \"./_documentObserver\";\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst Tooltip = (\n window.bootstrap ? window.bootstrap.Tooltip : class {}\n) as typeof TooltipType;\n\nclass Card {\n private container: HTMLElement;\n cardResizeObserver: ResizeObserver;\n shinyOutputResizeObserver: ResizeObserver | undefined;\n\n private static attr = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n ATTR_INIT: \"data-bslib-card-needs-init\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n CLASS_CARD: \"bslib-card\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n CLASS_FULL_SCREEN: \"bslib-full-screen\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n CLASS_HAS_FULL_SCREEN: \"bslib-has-full-screen\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n CLASS_FULL_SCREEN_ENTER: \"bslib-full-screen-enter\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n CLASS_FULL_SCREEN_EXIT: \"bslib-full-screen-exit\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n ID_FULL_SCREEN_OVERLAY: \"bslib-full-screen-overlay\",\n };\n\n constructor(el: HTMLElement) {\n el.removeAttribute(Card.attr.ATTR_INIT);\n\n this.container = el;\n Card.instanceMap.set(el, this);\n\n // Let Shiny know to trigger resize when the card size changes\n // TODO: shiny could/should do this itself (rstudio/shiny#3682)\n const resizeEvent = new Event(\"resize\");\n this.cardResizeObserver = new ResizeObserver(() => {\n window.dispatchEvent(resizeEvent);\n });\n this.cardResizeObserver.observe(this.container);\n\n this._addEventListeners();\n this._enableTooltips();\n this._startShinyOutputResizeObserver();\n }\n\n enterFullScreen(event?: Event): void {\n if (event) event.preventDefault();\n\n const overlay = this._createOverlay();\n overlay.addEventListener(\"click\", () => this.exitFullScreen());\n document.addEventListener(\"keyup\", this._exitFullScreenOnEscape, false);\n\n this.container.classList.add(Card.attr.CLASS_FULL_SCREEN);\n document.body.classList.add(Card.attr.CLASS_HAS_FULL_SCREEN);\n this.container.insertAdjacentElement(\"beforebegin\", overlay);\n }\n\n exitFullScreen(): void {\n const overlay = document.getElementById(Card.attr.ID_FULL_SCREEN_OVERLAY);\n\n overlay ? overlay.remove() : null;\n this.container.classList.remove(Card.attr.CLASS_FULL_SCREEN);\n document.body.classList.remove(Card.attr.CLASS_HAS_FULL_SCREEN);\n\n overlay?.removeEventListener(\"click\", () => this.exitFullScreen());\n document.removeEventListener(\"keyup\", this._exitFullScreenOnEscape, false);\n }\n\n destroy(): void {\n this._removeEventListeners();\n this.cardResizeObserver.disconnect();\n if (this.shinyOutputResizeObserver) {\n this.shinyOutputResizeObserver.disconnect();\n }\n Card.instanceMap.delete(this.container);\n }\n\n private _addEventListeners(): void {\n const btnFullScreen = this.container.querySelector(\n `:scope > .${Card.attr.CLASS_FULL_SCREEN_ENTER}`\n );\n if (!btnFullScreen) return;\n btnFullScreen.addEventListener(\"click\", (ev) => this.enterFullScreen(ev));\n }\n\n private _removeEventListeners(): void {\n const btnFullScreen = this.container.querySelector(\n `:scope > .${Card.attr.CLASS_FULL_SCREEN_ENTER}`\n );\n if (!btnFullScreen) return;\n btnFullScreen.removeEventListener(\"click\", (ev) =>\n this.enterFullScreen(ev)\n );\n }\n\n private _enableTooltips(): void {\n const selector = `.${Card.attr.CLASS_FULL_SCREEN_ENTER}[data-bs-toggle='tooltip']`;\n if (!this.container.querySelector(selector)) {\n return;\n }\n const tooltipList = this.container.querySelectorAll(selector);\n tooltipList.forEach((tt) => new Tooltip(tt));\n }\n\n private _startShinyOutputResizeObserver(): void {\n // In some complex fill-based layouts with multiple outputs (e.g., plotly),\n // shiny initializes with the correct sizing, but in-between the 1st and last\n // renderValue(), the size of the output containers can change, meaning every\n // output but the 1st gets initialized with the wrong size during their\n // renderValue(); and then after the render phase, shiny won't know trigger a\n // resize since all the widgets will return to their original size\n // (and thus, Shiny thinks there isn't any resizing to do).\n // We workaround that situation by manually triggering a resize on the binding\n // when the output container changes (this way, if the size is different during\n // the render phase, Shiny will know about it)\n\n // TODO: Remove disable/ignore comments when rstudio/shiny#3815 is available\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore; Type definitions are not found. This occurs when `strict: true`\n $(document).on(\"shiny:value\", (x: ShinyEventValue) => {\n const el = x.binding.el;\n if (!this.container.contains(el)) return;\n if (el.dataset.bslibOutputObserver) return;\n\n this.shinyOutputResizeObserver = new ResizeObserver(x.binding.onResize);\n this.shinyOutputResizeObserver.observe(el);\n el.dataset.bslibOutputObserver = \"true\";\n });\n }\n\n private _exitFullScreenOnEscape(event: KeyboardEvent): void {\n if (event.key === \"Escape\") {\n this.exitFullScreen();\n }\n }\n\n private _createOverlay(): HTMLElement {\n const overlay = document.createElement(\"div\");\n overlay.id = Card.attr.ID_FULL_SCREEN_OVERLAY;\n overlay.classList.add(Card.attr.ID_FULL_SCREEN_OVERLAY);\n\n const overlayAnchor = document.createElement(\"a\");\n overlayAnchor.classList.add(Card.attr.CLASS_FULL_SCREEN_EXIT);\n overlayAnchor.innerHTML = this._overlayCloseHtml();\n\n overlay.appendChild(overlayAnchor);\n return overlay;\n }\n\n private _overlayCloseHtml(): string {\n return (\n \"Close \" +\n \"\" +\n \"\"\n );\n }\n\n private static instanceMap: WeakMap = new WeakMap();\n\n public static getInstance(el: HTMLElement): Card | undefined {\n return Card.instanceMap.get(el);\n }\n\n private static documentObserver: DocumentObserver = new DocumentObserver({\n added: {\n selector: `.${Card.attr.CLASS_CARD}[data-bslib-card-needs-init]`,\n callback: (card: HTMLElement) => {\n new Card(card);\n },\n },\n removed: {\n selector: `.${Card.attr.CLASS_CARD}`,\n callback: (card: HTMLElement) => {\n Card.getInstance(card)?.destroy();\n },\n },\n });\n\n static get observer(): DocumentObserver {\n return Card.documentObserver;\n }\n}\n\n// attach Sidebar class to window for global usage\n(window as any).bslib = (window as any).bslib || {};\n(window as any).bslib.Card = Card;\n\nexport { Card };\n"], - "mappings": "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", - "names": ["DocumentObserver", "config", "mutationObserverCallback", "mutationsList", "mutation", "addedNode", "removedNode", "el", "selector", "callback", "elMatches", "hasMatchingChild", "node", "Tooltip", "_Card", "el", "resizeEvent", "event", "overlay", "btnFullScreen", "ev", "selector", "tt", "x", "overlayAnchor", "Card", "DocumentObserver", "card", "_a"] + "sources": ["../../srcts/src/components/_documentObserver.ts", "../../srcts/src/components/_utils.ts", "../../srcts/src/components/card.ts"], + "sourcesContent": ["/**\n * The DocumentObserver class creates an observer detecting all DOM changes,\n * watching for added or removed elements (or their children) that match\n * the specified selectors. When a matching element is added or removed, the\n * respective callback function is called. The DocumentObserver is insensitive\n * to when it's instantiated; it always runs `added.callback()` once on the\n * document body (waiting for DOMContentLoaded if necessary) and then starts\n * watching the DOM for added/removed elements.\n */\n\ninterface DocumentObserverConfig {\n added: {\n selector: string;\n callback: (node: HTMLElement) => void;\n };\n removed: {\n selector: string;\n callback: (node: HTMLElement) => void;\n };\n}\n\nclass DocumentObserver {\n private observer: MutationObserver;\n private config: DocumentObserverConfig;\n\n constructor(config: DocumentObserverConfig) {\n const mutationObserverCallback = (mutationsList: MutationRecord[]) => {\n for (const mutation of mutationsList) {\n if (mutation.type === \"childList\") {\n for (const addedNode of mutation.addedNodes) {\n if (addedNode.nodeType !== Node.ELEMENT_NODE) continue;\n this._callback(addedNode as HTMLElement, this.config.added);\n }\n for (const removedNode of mutation.removedNodes) {\n if (removedNode.nodeType !== Node.ELEMENT_NODE) continue;\n this._callback(removedNode as HTMLElement, this.config.removed);\n }\n }\n }\n };\n\n this.config = config;\n this.observer = new MutationObserver(mutationObserverCallback);\n if (document.readyState === \"complete\") {\n this.connect();\n } else {\n document.addEventListener(\"DOMContentLoaded\", () => this.connect());\n }\n }\n\n private _callback(\n el: HTMLElement,\n {\n selector,\n callback,\n }: { selector: string; callback: (node: HTMLElement) => void }\n ) {\n const elMatches = el.matches(selector);\n const hasMatchingChild = el.querySelector(selector);\n if (!elMatches && !hasMatchingChild) return;\n if (elMatches) callback(el);\n if (!hasMatchingChild) return;\n el.querySelectorAll(selector).forEach((node) =>\n callback(node as HTMLElement)\n );\n }\n\n connect(): void {\n this._callback(document.body, this.config.added);\n this.observer.observe(document, { childList: true, subtree: true });\n }\n\n disconnect(): void {\n this.observer.disconnect();\n }\n}\n\nexport { DocumentObserver };\nexport type { DocumentObserverConfig };\n", "import type { HtmlDep } from \"rstudio-shiny/srcts/types/src/shiny/render\";\n\nimport type { InputBinding as InputBindingType } from \"rstudio-shiny/srcts/types/src/bindings/input\";\n\n// Exclude undefined from T\ntype NotUndefined = T extends undefined ? never : T;\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst InputBinding = (\n window.Shiny ? Shiny.InputBinding : class {}\n) as typeof InputBindingType;\n\nfunction registerBinding(\n inputBindingClass: new () => InputBindingType,\n name: string\n): void {\n if (window.Shiny) {\n Shiny.inputBindings.register(new inputBindingClass(), \"bslib.\" + name);\n }\n}\n\n// Return true if the key exists on the object and the value is not undefined.\n//\n// This method is mainly used in input bindings' `receiveMessage` method.\n// Since we know that the values are sent by Shiny via `{jsonlite}`,\n// then we know that there are no `undefined` values. `null` is possible, but not `undefined`.\nfunction hasDefinedProperty<\n Prop extends keyof X,\n X extends { [key: string]: any }\n>(\n obj: X,\n prop: Prop\n): obj is X & { [key in NonNullable]: NotUndefined } {\n return (\n Object.prototype.hasOwnProperty.call(obj, prop) && obj[prop] !== undefined\n );\n}\n\n// TODO: Shiny should trigger resize events when the output\n// https://github.com/rstudio/shiny/pull/3682\nfunction doWindowResizeOnElementResize(el: HTMLElement): void {\n if ($(el).data(\"window-resize-observer\")) {\n return;\n }\n const resizeEvent = new Event(\"resize\");\n const ro = new ResizeObserver(() => {\n window.dispatchEvent(resizeEvent);\n });\n ro.observe(el);\n $(el).data(\"window-resize-observer\", ro);\n}\n\nfunction getAllFocusableChildren(el: HTMLElement): HTMLElement[] {\n const selectors = [\n \"[href]\",\n \"input:not([disabled])\",\n \"button:not([disabled])\",\n \"select:not([disabled])\",\n \"summary:not(:disabled)\",\n \"details:not([disabled])\",\n \"textarea:not([disabled])\",\n '[tabindex]:not([tabindex=\"-1\"]):not([disabled])',\n ];\n const focusable = el.querySelectorAll(selectors.join(\", \"));\n return Array.from(focusable) as HTMLElement[];\n}\n\nexport {\n InputBinding,\n registerBinding,\n hasDefinedProperty,\n doWindowResizeOnElementResize,\n getAllFocusableChildren,\n};\nexport type { HtmlDep };\n", "import type { Tooltip as TooltipType } from \"bootstrap\";\nimport type { ShinyEventValue } from \"rstudio-shiny/srcts/types/src/events/shinyEvents\";\nimport { DocumentObserver } from \"./_documentObserver\";\nimport { getAllFocusableChildren } from \"./_utils\";\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst Tooltip = (\n window.bootstrap ? window.bootstrap.Tooltip : class {}\n) as typeof TooltipType;\n\ninterface CardOverlay {\n container: HTMLDivElement;\n anchor: HTMLAnchorElement;\n}\n\nclass Card {\n private container: HTMLElement;\n private overlay: CardOverlay;\n private cardResizeObserver: ResizeObserver;\n private shinyOutputResizeObserver: ResizeObserver | undefined;\n private lastFocusInterior: HTMLElement | undefined;\n private prevFocusExterior: HTMLElement | undefined;\n\n private static attr = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n ATTR_INIT: \"data-bslib-card-needs-init\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n CLASS_CARD: \"bslib-card\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n CLASS_FULL_SCREEN: \"bslib-full-screen\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n CLASS_HAS_FULL_SCREEN: \"bslib-has-full-screen\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n CLASS_FULL_SCREEN_ENTER: \"bslib-full-screen-enter\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n CLASS_FULL_SCREEN_EXIT: \"bslib-full-screen-exit\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n ID_FULL_SCREEN_OVERLAY: \"bslib-full-screen-overlay\",\n };\n\n constructor(el: HTMLElement) {\n el.removeAttribute(Card.attr.ATTR_INIT);\n\n this.container = el;\n Card.instanceMap.set(el, this);\n\n // Let Shiny know to trigger resize when the card size changes\n // TODO: shiny could/should do this itself (rstudio/shiny#3682)\n const resizeEvent = new Event(\"resize\");\n this.cardResizeObserver = new ResizeObserver(() => {\n window.dispatchEvent(resizeEvent);\n });\n this.cardResizeObserver.observe(this.container);\n\n this._addEventListeners();\n this._enableTooltips();\n this._startShinyOutputResizeObserver();\n this.overlay = this._createOverlay();\n }\n\n enterFullScreen(event?: Event): void {\n if (event) event.preventDefault();\n\n this.overlay.container.addEventListener(\"click\", () =>\n this.exitFullScreen()\n );\n document.addEventListener(\n \"keyup\",\n (ev) => this._exitFullScreenOnEscape(ev),\n false\n );\n\n const focusableElements = getAllFocusableChildren(this.container);\n if (focusableElements.length > 0) {\n // set focus on first focusable element in the card\n focusableElements[0].focus();\n // store the last focusable element so we can cycle focus\n this.lastFocusInterior = focusableElements[focusableElements.length - 1];\n } else {\n // this card doesn't have any focusable elements, so focus is vaguely\n // within the card (having clicked the full screen button). We're can't\n // know exactly where focus is located (we've hidden the button), so we\n // attach a listener to the next Tab keydown event to entrap focus within\n // the full screen card.\n this.lastFocusInterior = this.overlay.anchor;\n if (!this.container.contains(document.activeElement)) {\n this.prevFocusExterior = document.activeElement as HTMLElement;\n this.prevFocusExterior.addEventListener(\n \"keydown\",\n (ev) => this._entrapFocus(ev),\n { once: true }\n );\n }\n }\n\n if (this.lastFocusInterior) {\n this.lastFocusInterior.onkeydown = (ev) => {\n // If tabbing forwards out of the card, return to close button\n if (ev.key === \"Tab\" && !ev.shiftKey) {\n ev.preventDefault();\n this.overlay.anchor.focus();\n }\n };\n }\n\n this.container.classList.add(Card.attr.CLASS_FULL_SCREEN);\n document.body.classList.add(Card.attr.CLASS_HAS_FULL_SCREEN);\n this.container.insertAdjacentElement(\"beforebegin\", this.overlay.container);\n }\n\n exitFullScreen(): void {\n // Remove event listeners that were added when entering full screen\n this.overlay.container.removeEventListener(\"click\", () =>\n this.exitFullScreen()\n );\n\n if (this.lastFocusInterior) {\n this.lastFocusInterior.onkeydown = null;\n }\n\n document.removeEventListener(\n \"keyup\",\n (ev) => this._exitFullScreenOnEscape(ev),\n false\n );\n\n // Remove overlay and remove full screen classes from card\n this.overlay.container.remove();\n this.container.classList.remove(Card.attr.CLASS_FULL_SCREEN);\n document.body.classList.remove(Card.attr.CLASS_HAS_FULL_SCREEN);\n\n // Reset focus tracking state\n this.lastFocusInterior = undefined;\n this.prevFocusExterior = undefined;\n }\n\n destroy(): void {\n this._removeEventListeners();\n this.cardResizeObserver.disconnect();\n if (this.shinyOutputResizeObserver) {\n this.shinyOutputResizeObserver.disconnect();\n }\n Card.instanceMap.delete(this.container);\n }\n\n private _addEventListeners(): void {\n const btnFullScreen = this.container.querySelector(\n `:scope > .${Card.attr.CLASS_FULL_SCREEN_ENTER}`\n );\n if (!btnFullScreen) return;\n btnFullScreen.addEventListener(\"click\", (ev) => this.enterFullScreen(ev));\n }\n\n private _removeEventListeners(): void {\n const btnFullScreen = this.container.querySelector(\n `:scope > .${Card.attr.CLASS_FULL_SCREEN_ENTER}`\n );\n if (!btnFullScreen) return;\n btnFullScreen.removeEventListener(\"click\", (ev) =>\n this.enterFullScreen(ev)\n );\n }\n\n private _enableTooltips(): void {\n const selector = `.${Card.attr.CLASS_FULL_SCREEN_ENTER}[data-bs-toggle='tooltip']`;\n if (!this.container.querySelector(selector)) {\n return;\n }\n const tooltipList = this.container.querySelectorAll(selector);\n tooltipList.forEach((tt) => new Tooltip(tt));\n }\n\n private _startShinyOutputResizeObserver(): void {\n // In some complex fill-based layouts with multiple outputs (e.g., plotly),\n // shiny initializes with the correct sizing, but in-between the 1st and last\n // renderValue(), the size of the output containers can change, meaning every\n // output but the 1st gets initialized with the wrong size during their\n // renderValue(); and then after the render phase, shiny won't know trigger a\n // resize since all the widgets will return to their original size\n // (and thus, Shiny thinks there isn't any resizing to do).\n // We workaround that situation by manually triggering a resize on the binding\n // when the output container changes (this way, if the size is different during\n // the render phase, Shiny will know about it)\n\n // TODO: Remove disable/ignore comments when rstudio/shiny#3815 is available\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore; Type definitions are not found. This occurs when `strict: true`\n $(document).on(\"shiny:value\", (x: ShinyEventValue) => {\n const el = x.binding.el;\n if (!this.container.contains(el)) return;\n if (el.dataset.bslibOutputObserver) return;\n\n this.shinyOutputResizeObserver = new ResizeObserver(x.binding.onResize);\n this.shinyOutputResizeObserver.observe(el);\n el.dataset.bslibOutputObserver = \"true\";\n });\n }\n\n private _exitFullScreenOnEscape(event: KeyboardEvent): void {\n // if a select input element has focus, then don't exit full screen\n if (document.activeElement instanceof HTMLSelectElement) {\n return;\n }\n\n if (event.key === \"Escape\") {\n this.exitFullScreen();\n }\n }\n\n private _entrapFocus(event: KeyboardEvent): void {\n // This event handler is only enabled when the card doesn't have any\n // focusable elements. If the user presses Tab, we want to trap focus in the\n // full screen card, so we move focus to the close button.\n if (!(event instanceof KeyboardEvent)) return;\n if (!this.container.matches(`.${Card.attr.CLASS_FULL_SCREEN}`)) return;\n if (event.key === \"Tab\") {\n event.preventDefault();\n this.overlay.anchor.focus();\n }\n }\n\n private _createOverlay(): CardOverlay {\n const container = document.createElement(\"div\");\n container.id = Card.attr.ID_FULL_SCREEN_OVERLAY;\n container.classList.add(Card.attr.ID_FULL_SCREEN_OVERLAY);\n\n const anchor = document.createElement(\"a\");\n anchor.classList.add(Card.attr.CLASS_FULL_SCREEN_EXIT);\n anchor.tabIndex = 0;\n anchor.onclick = () => this.exitFullScreen();\n anchor.onkeyup = (ev) => {\n if (ev.key === \"Enter\" || ev.key === \" \") {\n this.exitFullScreen();\n }\n };\n anchor.onkeydown = (ev) => {\n // if tabbing backwards out of the card,\n // cycle focus back to last focus element within the card\n if (ev.key === \"Tab\" && ev.shiftKey) {\n ev.preventDefault();\n this.lastFocusInterior?.focus();\n }\n };\n anchor.innerHTML = this._overlayCloseHtml();\n\n container.appendChild(anchor);\n return { container, anchor };\n }\n\n private _overlayCloseHtml(): string {\n return (\n \"Close \" +\n \"\" +\n \"\"\n );\n }\n\n private static instanceMap: WeakMap = new WeakMap();\n\n public static getInstance(el: HTMLElement): Card | undefined {\n return Card.instanceMap.get(el);\n }\n\n private static documentObserver: DocumentObserver = new DocumentObserver({\n added: {\n selector: `.${Card.attr.CLASS_CARD}[data-bslib-card-needs-init]`,\n callback: (card: HTMLElement) => {\n new Card(card);\n },\n },\n removed: {\n selector: `.${Card.attr.CLASS_CARD}`,\n callback: (card: HTMLElement) => {\n Card.getInstance(card)?.destroy();\n },\n },\n });\n\n static get observer(): DocumentObserver {\n return Card.documentObserver;\n }\n}\n\n// attach Sidebar class to window for global usage\n(window as any).bslib = (window as any).bslib || {};\n(window as any).bslib.Card = Card;\n\nexport { Card };\n"], + "mappings": "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", + "names": ["DocumentObserver", "config", "mutationObserverCallback", "mutationsList", "mutation", "addedNode", "removedNode", "el", "selector", "callback", "elMatches", "hasMatchingChild", "node", "InputBinding", "getAllFocusableChildren", "el", "selectors", "focusable", "Tooltip", "_Card", "el", "resizeEvent", "event", "ev", "focusableElements", "getAllFocusableChildren", "btnFullScreen", "selector", "tt", "x", "container", "anchor", "_a", "Card", "DocumentObserver", "card"] } diff --git a/inst/components/sidebar.min.js b/inst/components/sidebar.min.js index 3463b335d..3dfa48ba4 100644 --- a/inst/components/sidebar.min.js +++ b/inst/components/sidebar.min.js @@ -1,3 +1,3 @@ /*! bslib 0.4.2.9000 | (c) 2012-2023 RStudio, PBC. | License: MIT + file LICENSE */ -"use strict";(()=>{var u=window.Shiny?Shiny.InputBinding:class{};function m(d,e){window.Shiny&&Shiny.inputBindings.register(new d,"bslib."+e)}function g(d){if($(d).data("window-resize-observer"))return;let e=new Event("resize"),t=new ResizeObserver(()=>{window.dispatchEvent(e)});t.observe(d),$(d).data("window-resize-observer",t)}var c=class{constructor(e){let t=n=>{for(let o of n)if(o.type==="childList"){for(let i of o.addedNodes)i.nodeType===Node.ELEMENT_NODE&&this._callback(i,this.config.added);for(let i of o.removedNodes)i.nodeType===Node.ELEMENT_NODE&&this._callback(i,this.config.removed)}};this.config=e,this.observer=new MutationObserver(t),document.readyState==="complete"?this.connect():document.addEventListener("DOMContentLoaded",()=>this.connect())}_callback(e,{selector:t,callback:n}){let o=e.matches(t),i=e.querySelector(t);!o&&!i||(o&&n(e),i&&e.querySelectorAll(t).forEach(a=>n(a)))}connect(){this._callback(document.body,this.config.added),this.observer.observe(document,{childList:!0,subtree:!0})}disconnect(){this.observer.disconnect()}};var s=class{static initCollapsible(e){e.removeAttribute("data-bslib-sidebar-init"),s._initEventListeners(e),s._initSidebarCounters(e),s._initDesktop(e)}static _initEventListeners(e){var o;let{sidebar:t,toggle:n}=s.components(e);n.handlers={start:i=>{i.preventDefault(),s.toggle(e,"toggle")},end:()=>{let{isClosed:i}=s.components(e);setTimeout(()=>{s.finalizeState(e),$(t).trigger("toggleCollapse.sidebarInputBinding")},i?100:0)}},n.addEventListener("click",n.handlers.start),(o=n.querySelector(".collapse-icon"))==null||o.addEventListener("transitionend",n.handlers.end)}static _initSidebarCounters(e){let t=`.${s.classes.LAYOUT}> .main > .${s.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`;if(!(e.querySelector(t)===null))return;function o(r){return r=r?r.parentElement:null,r&&r.classList.contains("main")&&(r=r.parentElement),r&&r.classList.contains(s.classes.LAYOUT)?r:null}let i=[e],a=o(e);for(;a;)i.unshift(a),a=o(a);let p={left:0,right:0};i.forEach(function(r,L){r.style.setProperty("--bslib-sidebar-counter",L.toString());let v=r.classList.contains("sidebar-right")?p.right++:p.left++;r.style.setProperty("--bslib-sidebar-overlap-counter",v.toString())})}static _initDesktop(e){var n;if(((n=e.dataset.bslibSidebarOpen)==null?void 0:n.trim())!=="desktop")return;window.getComputedStyle(e).getPropertyValue("--bslib-sidebar-js-init-collapsed").trim()==="true"&&s.toggle(e,"close")}static _findLayoutContainer(e){let t=e.closest(`.${s.classes.LAYOUT}`);if(!t)throw new Error(`Expected container or direct ancestor with class ${s.classes.LAYOUT}`);return t}static components(e){e=s._findLayoutContainer(e);let t=e.querySelector(":scope > .main"),n=e.querySelector(":scope > .sidebar"),o=e.querySelector(":scope > .collapse-toggle"),i=e.classList.contains(s.classes.COLLAPSE);return{container:e,main:t,sidebar:n,toggle:o,isClosed:i}}static toggle(e,t){let{container:n,main:o,sidebar:i,isClosed:a}=s.components(e);if(["open","close","toggle"].indexOf(t)===-1)throw new Error(`Unknown method ${t}`);t==="toggle"&&(t=a?"open":"close"),!(a&&t==="close"||!a&&t==="open")&&(g(o),t==="open"&&(i.hidden=!1),n.classList.add(s.classes.TRANSITIONING),n.classList.toggle(s.classes.COLLAPSE))}static finalizeState(e){let{container:t,sidebar:n,toggle:o,isClosed:i}=s.components(e);t.classList.remove(s.classes.TRANSITIONING),n.hidden=i,o.ariaExpanded=i?"false":"true"}static removeEventListeners(e){var n;let{toggle:t}=s.components(e);t.handlers&&(t.removeEventListener("click",t.handlers.start),(n=t.querySelector(".collapse-icon"))==null||n.removeEventListener("transitionend",t.handlers.end))}},l=s;l.classes={LAYOUT:"bslib-sidebar-layout",COLLAPSE:"sidebar-collapsed",TRANSITIONING:"transitioning"},l.observer=new c({added:{selector:`.${s.classes.LAYOUT}[data-bslib-sidebar-init]`,callback:e=>{s.initCollapsible(e)}},removed:{selector:`.${s.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`,callback:e=>{s.removeEventListeners(e)}}});var b=class extends u{find(e){return $(e).find(`.${l.classes.LAYOUT} > .bslib-sidebar-input`)}getValue(e){return!$(e).parent().hasClass(l.classes.COLLAPSE)}setValue(e,t){let n=t?"open":"close";this.receiveMessage(e,{method:n})}subscribe(e,t){$(e).on("toggleCollapse.sidebarInputBinding",function(n){t(!0)})}unsubscribe(e){$(e).off(".sidebarInputBinding")}receiveMessage(e,t){l.toggle(e,t.method)}};m(b,"sidebar");window.bslib=window.bslib||{};window.bslib.Sidebar=l;})(); +"use strict";(()=>{var p=window.Shiny?Shiny.InputBinding:class{};function m(d,e){window.Shiny&&Shiny.inputBindings.register(new d,"bslib."+e)}function g(d){if($(d).data("window-resize-observer"))return;let e=new Event("resize"),t=new ResizeObserver(()=>{window.dispatchEvent(e)});t.observe(d),$(d).data("window-resize-observer",t)}var c=class{constructor(e){let t=n=>{for(let o of n)if(o.type==="childList"){for(let i of o.addedNodes)i.nodeType===Node.ELEMENT_NODE&&this._callback(i,this.config.added);for(let i of o.removedNodes)i.nodeType===Node.ELEMENT_NODE&&this._callback(i,this.config.removed)}};this.config=e,this.observer=new MutationObserver(t),document.readyState==="complete"?this.connect():document.addEventListener("DOMContentLoaded",()=>this.connect())}_callback(e,{selector:t,callback:n}){let o=e.matches(t),i=e.querySelector(t);!o&&!i||(o&&n(e),i&&e.querySelectorAll(t).forEach(a=>n(a)))}connect(){this._callback(document.body,this.config.added),this.observer.observe(document,{childList:!0,subtree:!0})}disconnect(){this.observer.disconnect()}};var s=class{static initCollapsible(e){e.removeAttribute("data-bslib-sidebar-init"),s._initEventListeners(e),s._initSidebarCounters(e),s._initDesktop(e)}static _initEventListeners(e){var o;let{sidebar:t,toggle:n}=s.components(e);n.handlers={start:i=>{i.preventDefault(),s.toggle(e,"toggle")},end:()=>{let{isClosed:i}=s.components(e);setTimeout(()=>{s.finalizeState(e),$(t).trigger("toggleCollapse.sidebarInputBinding")},i?100:0)}},n.addEventListener("click",n.handlers.start),(o=n.querySelector(".collapse-icon"))==null||o.addEventListener("transitionend",n.handlers.end)}static _initSidebarCounters(e){let t=`.${s.classes.LAYOUT}> .main > .${s.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`;if(!(e.querySelector(t)===null))return;function o(r){return r=r?r.parentElement:null,r&&r.classList.contains("main")&&(r=r.parentElement),r&&r.classList.contains(s.classes.LAYOUT)?r:null}let i=[e],a=o(e);for(;a;)i.unshift(a),a=o(a);let u={left:0,right:0};i.forEach(function(r,L){r.style.setProperty("--bslib-sidebar-counter",L.toString());let E=r.classList.contains("sidebar-right")?u.right++:u.left++;r.style.setProperty("--bslib-sidebar-overlap-counter",E.toString())})}static _initDesktop(e){var n;if(((n=e.dataset.bslibSidebarOpen)==null?void 0:n.trim())!=="desktop")return;window.getComputedStyle(e).getPropertyValue("--bslib-sidebar-js-init-collapsed").trim()==="true"&&s.toggle(e,"close")}static _findLayoutContainer(e){let t=e.closest(`.${s.classes.LAYOUT}`);if(!t)throw new Error(`Expected container or direct ancestor with class ${s.classes.LAYOUT}`);return t}static components(e){e=s._findLayoutContainer(e);let t=e.querySelector(":scope > .main"),n=e.querySelector(":scope > .sidebar"),o=e.querySelector(":scope > .collapse-toggle"),i=e.classList.contains(s.classes.COLLAPSE);return{container:e,main:t,sidebar:n,toggle:o,isClosed:i}}static toggle(e,t){let{container:n,main:o,sidebar:i,isClosed:a}=s.components(e);if(["open","close","toggle"].indexOf(t)===-1)throw new Error(`Unknown method ${t}`);t==="toggle"&&(t=a?"open":"close"),!(a&&t==="close"||!a&&t==="open")&&(g(o),t==="open"&&(i.hidden=!1),n.classList.add(s.classes.TRANSITIONING),n.classList.toggle(s.classes.COLLAPSE))}static finalizeState(e){let{container:t,sidebar:n,toggle:o,isClosed:i}=s.components(e);t.classList.remove(s.classes.TRANSITIONING),n.hidden=i,o.ariaExpanded=i?"false":"true"}static removeEventListeners(e){var n;let{toggle:t}=s.components(e);t.handlers&&(t.removeEventListener("click",t.handlers.start),(n=t.querySelector(".collapse-icon"))==null||n.removeEventListener("transitionend",t.handlers.end))}},l=s;l.classes={LAYOUT:"bslib-sidebar-layout",COLLAPSE:"sidebar-collapsed",TRANSITIONING:"transitioning"},l.observer=new c({added:{selector:`.${s.classes.LAYOUT}[data-bslib-sidebar-init]`,callback:e=>{s.initCollapsible(e)}},removed:{selector:`.${s.classes.LAYOUT}:not([data-bslib-sidebar-open="always"])`,callback:e=>{s.removeEventListeners(e)}}});var b=class extends p{find(e){return $(e).find(`.${l.classes.LAYOUT} > .bslib-sidebar-input`)}getValue(e){return!$(e).parent().hasClass(l.classes.COLLAPSE)}setValue(e,t){let n=t?"open":"close";this.receiveMessage(e,{method:n})}subscribe(e,t){$(e).on("toggleCollapse.sidebarInputBinding",function(n){t(!0)})}unsubscribe(e){$(e).off(".sidebarInputBinding")}receiveMessage(e,t){l.toggle(e,t.method)}};m(b,"sidebar");window.bslib=window.bslib||{};window.bslib.Sidebar=l;})(); //# sourceMappingURL=sidebar.min.js.map diff --git a/inst/components/sidebar.min.js.map b/inst/components/sidebar.min.js.map index 17227124a..30aa898b1 100644 --- a/inst/components/sidebar.min.js.map +++ b/inst/components/sidebar.min.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": ["../../srcts/src/components/_utils.ts", "../../srcts/src/components/_documentObserver.ts", "../../srcts/src/components/sidebar.ts"], - "sourcesContent": ["import type { HtmlDep } from \"rstudio-shiny/srcts/types/src/shiny/render\";\n\nimport type { InputBinding as InputBindingType } from \"rstudio-shiny/srcts/types/src/bindings/input\";\n\n// Exclude undefined from T\ntype NotUndefined = T extends undefined ? never : T;\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst InputBinding = (\n window.Shiny ? Shiny.InputBinding : class {}\n) as typeof InputBindingType;\n\nfunction registerBinding(\n inputBindingClass: new () => InputBindingType,\n name: string\n): void {\n if (window.Shiny) {\n Shiny.inputBindings.register(new inputBindingClass(), \"bslib.\" + name);\n }\n}\n\n// Return true if the key exists on the object and the value is not undefined.\n//\n// This method is mainly used in input bindings' `receiveMessage` method.\n// Since we know that the values are sent by Shiny via `{jsonlite}`,\n// then we know that there are no `undefined` values. `null` is possible, but not `undefined`.\nfunction hasDefinedProperty<\n Prop extends keyof X,\n X extends { [key: string]: any }\n>(\n obj: X,\n prop: Prop\n): obj is X & { [key in NonNullable]: NotUndefined } {\n return (\n Object.prototype.hasOwnProperty.call(obj, prop) && obj[prop] !== undefined\n );\n}\n\n// TODO: Shiny should trigger resize events when the output\n// https://github.com/rstudio/shiny/pull/3682\nfunction doWindowResizeOnElementResize(el: HTMLElement): void {\n if ($(el).data(\"window-resize-observer\")) {\n return;\n }\n const resizeEvent = new Event(\"resize\");\n const ro = new ResizeObserver(() => {\n window.dispatchEvent(resizeEvent);\n });\n ro.observe(el);\n $(el).data(\"window-resize-observer\", ro);\n}\n\nexport {\n InputBinding,\n registerBinding,\n hasDefinedProperty,\n doWindowResizeOnElementResize,\n};\nexport type { HtmlDep };\n", "/**\n * The DocumentObserver class creates an observer detecting all DOM changes,\n * watching for added or removed elements (or their children) that match\n * the specified selectors. When a matching element is added or removed, the\n * respective callback function is called. The DocumentObserver is insensitive\n * to when it's instantiated; it always runs `added.callback()` once on the\n * document body (waiting for DOMContentLoaded if necessary) and then starts\n * watching the DOM for added/removed elements.\n */\n\ninterface DocumentObserverConfig {\n added: {\n selector: string;\n callback: (node: HTMLElement) => void;\n };\n removed: {\n selector: string;\n callback: (node: HTMLElement) => void;\n };\n}\n\nclass DocumentObserver {\n private observer: MutationObserver;\n private config: DocumentObserverConfig;\n\n constructor(config: DocumentObserverConfig) {\n const mutationObserverCallback = (mutationsList: MutationRecord[]) => {\n for (const mutation of mutationsList) {\n if (mutation.type === \"childList\") {\n for (const addedNode of mutation.addedNodes) {\n if (addedNode.nodeType !== Node.ELEMENT_NODE) continue;\n this._callback(addedNode as HTMLElement, this.config.added);\n }\n for (const removedNode of mutation.removedNodes) {\n if (removedNode.nodeType !== Node.ELEMENT_NODE) continue;\n this._callback(removedNode as HTMLElement, this.config.removed);\n }\n }\n }\n };\n\n this.config = config;\n this.observer = new MutationObserver(mutationObserverCallback);\n if (document.readyState === \"complete\") {\n this.connect();\n } else {\n document.addEventListener(\"DOMContentLoaded\", () => this.connect());\n }\n }\n\n private _callback(\n el: HTMLElement,\n {\n selector,\n callback,\n }: { selector: string; callback: (node: HTMLElement) => void }\n ) {\n const elMatches = el.matches(selector);\n const hasMatchingChild = el.querySelector(selector);\n if (!elMatches && !hasMatchingChild) return;\n if (elMatches) callback(el);\n if (!hasMatchingChild) return;\n el.querySelectorAll(selector).forEach((node) =>\n callback(node as HTMLElement)\n );\n }\n\n connect(): void {\n this._callback(document.body, this.config.added);\n this.observer.observe(document, { childList: true, subtree: true });\n }\n\n disconnect(): void {\n this.observer.disconnect();\n }\n}\n\nexport { DocumentObserver };\nexport type { DocumentObserverConfig };\n", "import {\n InputBinding,\n registerBinding,\n doWindowResizeOnElementResize,\n} from \"./_utils\";\n\nimport { DocumentObserver } from \"./_documentObserver\";\n\ntype SidebarMethod = \"close\" | \"open\" | \"toggle\";\n\ntype MessageData = {\n method: SidebarMethod;\n};\n\ntype SidebarComponents = {\n container: HTMLElement;\n main: HTMLElement;\n sidebar: HTMLElement;\n toggle: HTMLElement & {\n handlers?: { start: (ev: MouseEvent) => void; end: () => void };\n };\n isClosed: boolean;\n};\n\nclass Sidebar {\n public static readonly classes = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n LAYOUT: \"bslib-sidebar-layout\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n COLLAPSE: \"sidebar-collapsed\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n TRANSITIONING: \"transitioning\",\n };\n\n public static observer: DocumentObserver = new DocumentObserver({\n added: {\n selector: `.${Sidebar.classes.LAYOUT}[data-bslib-sidebar-init]`,\n callback: (container) => {\n Sidebar.initCollapsible(container as HTMLElement);\n },\n },\n removed: {\n selector: `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open=\"always\"])`,\n callback: (container) => {\n Sidebar.removeEventListeners(container as HTMLElement);\n },\n },\n });\n\n public static initCollapsible(container: HTMLElement): void {\n // Signal that this layout is initialized by removing the init attribute\n container.removeAttribute(\"data-bslib-sidebar-init\");\n\n Sidebar._initEventListeners(container);\n Sidebar._initSidebarCounters(container);\n Sidebar._initDesktop(container);\n }\n\n private static _initEventListeners(container: HTMLElement): void {\n const { sidebar, toggle } = Sidebar.components(container);\n\n // We store a reference to the sidebar toggle event handlers on the toggle\n // element itself, so that we can remove them later if needed.\n toggle.handlers = {\n start: (ev) => {\n ev.preventDefault();\n Sidebar.toggle(container, \"toggle\");\n },\n end: () => {\n const { isClosed } = Sidebar.components(container);\n setTimeout(\n () => {\n Sidebar.finalizeState(container);\n $(sidebar).trigger(\"toggleCollapse.sidebarInputBinding\");\n },\n // Add a small delay before finalizing the closed state, otherwise\n // this happens just before the sidebar reaches the final state and\n // the sidebar disappears abruptly.\n isClosed ? 100 : 0\n );\n },\n };\n\n toggle.addEventListener(\"click\", toggle.handlers.start);\n\n // Once the collapse transition completes (on the collapse toggle icon, which is\n // always guaranteed to transition), then remove the transitioning class\n toggle\n .querySelector(\".collapse-icon\")\n ?.addEventListener(\"transitionend\", toggle.handlers.end);\n }\n\n private static _initSidebarCounters(container: HTMLElement): void {\n // This function walks up the DOM tree, adding CSS variables to each\n // direct parent sidebar layout that count the layout's position in the\n // stack of nested layouts. We use these counters to keep the collapse\n // toggles from overlapping. Note that always-open sidebars that don't\n // have collapse toggles break the chain of nesting.\n\n const selectorChildLayouts =\n `.${Sidebar.classes.LAYOUT}` +\n \"> .main > \" +\n `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open=\"always\"])`;\n\n const isInnermostLayout =\n container.querySelector(selectorChildLayouts) === null;\n\n if (!isInnermostLayout) {\n // There are sidebar layouts nested within this layout; defer to children\n return;\n }\n\n function nextSidebarParent(el: HTMLElement | null): HTMLElement | null {\n el = el ? el.parentElement : null;\n if (el && el.classList.contains(\"main\")) {\n // .bslib-sidebar-layout > .main > .bslib-sidedbar-layout\n el = el.parentElement;\n }\n if (el && el.classList.contains(Sidebar.classes.LAYOUT)) {\n return el;\n }\n return null;\n }\n\n const layouts = [container];\n let parent = nextSidebarParent(container);\n\n while (parent) {\n // Add parent to front of layouts array, so we sort outer -> inner\n layouts.unshift(parent);\n parent = nextSidebarParent(parent);\n }\n\n const count = { left: 0, right: 0 };\n layouts.forEach(function (x: HTMLElement, i: number): void {\n x.style.setProperty(\"--bslib-sidebar-counter\", i.toString());\n const isRight = x.classList.contains(\"sidebar-right\");\n const thisCount = isRight ? count.right++ : count.left++;\n x.style.setProperty(\n \"--bslib-sidebar-overlap-counter\",\n thisCount.toString()\n );\n });\n }\n\n private static _initDesktop(container: HTMLElement): void {\n // If sidebar is marked open='desktop'...\n if (container.dataset.bslibSidebarOpen?.trim() !== \"desktop\") {\n return;\n }\n\n // then close sidebar on mobile\n const initCollapsed = window\n .getComputedStyle(container)\n .getPropertyValue(\"--bslib-sidebar-js-init-collapsed\");\n\n if (initCollapsed.trim() === \"true\") {\n Sidebar.toggle(container, \"close\");\n }\n }\n\n private static _findLayoutContainer(el: HTMLElement): HTMLElement {\n const container = el.closest(`.${Sidebar.classes.LAYOUT}`);\n if (!container) {\n throw new Error(\n `Expected container or direct ancestor with class ${Sidebar.classes.LAYOUT}`\n );\n }\n return container as HTMLElement;\n }\n\n public static components(el: HTMLElement): SidebarComponents {\n el = Sidebar._findLayoutContainer(el);\n\n // sidebar components\n const main = el.querySelector(\":scope > .main\") as HTMLElement;\n const sidebar = el.querySelector(\":scope > .sidebar\") as HTMLElement;\n const toggle = el.querySelector(\":scope > .collapse-toggle\") as HTMLElement;\n\n // sidebar state\n const isClosed = el.classList.contains(Sidebar.classes.COLLAPSE);\n\n return { container: el, main, sidebar, toggle, isClosed };\n }\n\n public static toggle(el: HTMLElement, method: SidebarMethod) {\n const { container, main, sidebar, isClosed } = Sidebar.components(el);\n\n if ([\"open\", \"close\", \"toggle\"].indexOf(method) === -1) {\n throw new Error(`Unknown method ${method}`);\n }\n\n if (method === \"toggle\") {\n method = isClosed ? \"open\" : \"close\";\n }\n\n if ((isClosed && method === \"close\") || (!isClosed && method === \"open\")) {\n // nothing to do, sidebar is already in the desired state\n return;\n }\n\n // Make sure outputs resize properly when the sidebar is opened/closed\n doWindowResizeOnElementResize(main);\n\n if (method === \"open\") {\n // unhide sidebar immediately when opening,\n // otherwise the sidebar is hidden on transitionend\n sidebar.hidden = false;\n }\n\n // Add a transitioning class just before adding COLLAPSE_CLASS since we want\n // some of the transitioning styles to apply before the collapse state\n container.classList.add(Sidebar.classes.TRANSITIONING);\n container.classList.toggle(Sidebar.classes.COLLAPSE);\n }\n\n public static finalizeState(el: HTMLElement): void {\n const { container, sidebar, toggle, isClosed } = Sidebar.components(el);\n container.classList.remove(Sidebar.classes.TRANSITIONING);\n sidebar.hidden = isClosed;\n toggle.ariaExpanded = isClosed ? \"false\" : \"true\";\n }\n\n public static removeEventListeners(el: HTMLElement): void {\n // If a sidebar layout is removed from the page, we should also clean up any\n // event listeners that were added to the layout's components.\n const { toggle } = Sidebar.components(el);\n if (!toggle.handlers) return;\n toggle.removeEventListener(\"click\", toggle.handlers.start);\n toggle\n .querySelector(\".collapse-icon\")\n ?.removeEventListener(\"transitionend\", toggle.handlers.end);\n }\n}\n\nclass SidebarInputBinding extends InputBinding {\n find(scope: HTMLElement) {\n return $(scope).find(`.${Sidebar.classes.LAYOUT} > .bslib-sidebar-input`);\n }\n\n getValue(el: HTMLElement): boolean {\n return !$(el).parent().hasClass(Sidebar.classes.COLLAPSE);\n }\n\n setValue(el: HTMLElement, value: boolean): void {\n const method = value ? \"open\" : \"close\";\n this.receiveMessage(el, { method });\n }\n\n subscribe(el: HTMLElement, callback: (x: boolean) => void) {\n $(el).on(\n \"toggleCollapse.sidebarInputBinding\",\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n function (event) {\n callback(true);\n }\n );\n }\n\n unsubscribe(el: HTMLElement) {\n $(el).off(\".sidebarInputBinding\");\n }\n\n receiveMessage(el: HTMLElement, data: MessageData) {\n Sidebar.toggle(el, data.method);\n }\n}\n\nregisterBinding(SidebarInputBinding, \"sidebar\");\n\n// attach Sidebar class to window for global usage\n(window as any).bslib = (window as any).bslib || {};\n(window as any).bslib.Sidebar = Sidebar;\n"], + "sourcesContent": ["import type { HtmlDep } from \"rstudio-shiny/srcts/types/src/shiny/render\";\n\nimport type { InputBinding as InputBindingType } from \"rstudio-shiny/srcts/types/src/bindings/input\";\n\n// Exclude undefined from T\ntype NotUndefined = T extends undefined ? never : T;\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nconst InputBinding = (\n window.Shiny ? Shiny.InputBinding : class {}\n) as typeof InputBindingType;\n\nfunction registerBinding(\n inputBindingClass: new () => InputBindingType,\n name: string\n): void {\n if (window.Shiny) {\n Shiny.inputBindings.register(new inputBindingClass(), \"bslib.\" + name);\n }\n}\n\n// Return true if the key exists on the object and the value is not undefined.\n//\n// This method is mainly used in input bindings' `receiveMessage` method.\n// Since we know that the values are sent by Shiny via `{jsonlite}`,\n// then we know that there are no `undefined` values. `null` is possible, but not `undefined`.\nfunction hasDefinedProperty<\n Prop extends keyof X,\n X extends { [key: string]: any }\n>(\n obj: X,\n prop: Prop\n): obj is X & { [key in NonNullable]: NotUndefined } {\n return (\n Object.prototype.hasOwnProperty.call(obj, prop) && obj[prop] !== undefined\n );\n}\n\n// TODO: Shiny should trigger resize events when the output\n// https://github.com/rstudio/shiny/pull/3682\nfunction doWindowResizeOnElementResize(el: HTMLElement): void {\n if ($(el).data(\"window-resize-observer\")) {\n return;\n }\n const resizeEvent = new Event(\"resize\");\n const ro = new ResizeObserver(() => {\n window.dispatchEvent(resizeEvent);\n });\n ro.observe(el);\n $(el).data(\"window-resize-observer\", ro);\n}\n\nfunction getAllFocusableChildren(el: HTMLElement): HTMLElement[] {\n const selectors = [\n \"[href]\",\n \"input:not([disabled])\",\n \"button:not([disabled])\",\n \"select:not([disabled])\",\n \"summary:not(:disabled)\",\n \"details:not([disabled])\",\n \"textarea:not([disabled])\",\n '[tabindex]:not([tabindex=\"-1\"]):not([disabled])',\n ];\n const focusable = el.querySelectorAll(selectors.join(\", \"));\n return Array.from(focusable) as HTMLElement[];\n}\n\nexport {\n InputBinding,\n registerBinding,\n hasDefinedProperty,\n doWindowResizeOnElementResize,\n getAllFocusableChildren,\n};\nexport type { HtmlDep };\n", "/**\n * The DocumentObserver class creates an observer detecting all DOM changes,\n * watching for added or removed elements (or their children) that match\n * the specified selectors. When a matching element is added or removed, the\n * respective callback function is called. The DocumentObserver is insensitive\n * to when it's instantiated; it always runs `added.callback()` once on the\n * document body (waiting for DOMContentLoaded if necessary) and then starts\n * watching the DOM for added/removed elements.\n */\n\ninterface DocumentObserverConfig {\n added: {\n selector: string;\n callback: (node: HTMLElement) => void;\n };\n removed: {\n selector: string;\n callback: (node: HTMLElement) => void;\n };\n}\n\nclass DocumentObserver {\n private observer: MutationObserver;\n private config: DocumentObserverConfig;\n\n constructor(config: DocumentObserverConfig) {\n const mutationObserverCallback = (mutationsList: MutationRecord[]) => {\n for (const mutation of mutationsList) {\n if (mutation.type === \"childList\") {\n for (const addedNode of mutation.addedNodes) {\n if (addedNode.nodeType !== Node.ELEMENT_NODE) continue;\n this._callback(addedNode as HTMLElement, this.config.added);\n }\n for (const removedNode of mutation.removedNodes) {\n if (removedNode.nodeType !== Node.ELEMENT_NODE) continue;\n this._callback(removedNode as HTMLElement, this.config.removed);\n }\n }\n }\n };\n\n this.config = config;\n this.observer = new MutationObserver(mutationObserverCallback);\n if (document.readyState === \"complete\") {\n this.connect();\n } else {\n document.addEventListener(\"DOMContentLoaded\", () => this.connect());\n }\n }\n\n private _callback(\n el: HTMLElement,\n {\n selector,\n callback,\n }: { selector: string; callback: (node: HTMLElement) => void }\n ) {\n const elMatches = el.matches(selector);\n const hasMatchingChild = el.querySelector(selector);\n if (!elMatches && !hasMatchingChild) return;\n if (elMatches) callback(el);\n if (!hasMatchingChild) return;\n el.querySelectorAll(selector).forEach((node) =>\n callback(node as HTMLElement)\n );\n }\n\n connect(): void {\n this._callback(document.body, this.config.added);\n this.observer.observe(document, { childList: true, subtree: true });\n }\n\n disconnect(): void {\n this.observer.disconnect();\n }\n}\n\nexport { DocumentObserver };\nexport type { DocumentObserverConfig };\n", "import {\n InputBinding,\n registerBinding,\n doWindowResizeOnElementResize,\n} from \"./_utils\";\n\nimport { DocumentObserver } from \"./_documentObserver\";\n\ntype SidebarMethod = \"close\" | \"open\" | \"toggle\";\n\ntype MessageData = {\n method: SidebarMethod;\n};\n\ntype SidebarComponents = {\n container: HTMLElement;\n main: HTMLElement;\n sidebar: HTMLElement;\n toggle: HTMLElement & {\n handlers?: { start: (ev: MouseEvent) => void; end: () => void };\n };\n isClosed: boolean;\n};\n\nclass Sidebar {\n public static readonly classes = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n LAYOUT: \"bslib-sidebar-layout\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n COLLAPSE: \"sidebar-collapsed\",\n // eslint-disable-next-line @typescript-eslint/naming-convention\n TRANSITIONING: \"transitioning\",\n };\n\n public static observer: DocumentObserver = new DocumentObserver({\n added: {\n selector: `.${Sidebar.classes.LAYOUT}[data-bslib-sidebar-init]`,\n callback: (container) => {\n Sidebar.initCollapsible(container as HTMLElement);\n },\n },\n removed: {\n selector: `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open=\"always\"])`,\n callback: (container) => {\n Sidebar.removeEventListeners(container as HTMLElement);\n },\n },\n });\n\n public static initCollapsible(container: HTMLElement): void {\n // Signal that this layout is initialized by removing the init attribute\n container.removeAttribute(\"data-bslib-sidebar-init\");\n\n Sidebar._initEventListeners(container);\n Sidebar._initSidebarCounters(container);\n Sidebar._initDesktop(container);\n }\n\n private static _initEventListeners(container: HTMLElement): void {\n const { sidebar, toggle } = Sidebar.components(container);\n\n // We store a reference to the sidebar toggle event handlers on the toggle\n // element itself, so that we can remove them later if needed.\n toggle.handlers = {\n start: (ev) => {\n ev.preventDefault();\n Sidebar.toggle(container, \"toggle\");\n },\n end: () => {\n const { isClosed } = Sidebar.components(container);\n setTimeout(\n () => {\n Sidebar.finalizeState(container);\n $(sidebar).trigger(\"toggleCollapse.sidebarInputBinding\");\n },\n // Add a small delay before finalizing the closed state, otherwise\n // this happens just before the sidebar reaches the final state and\n // the sidebar disappears abruptly.\n isClosed ? 100 : 0\n );\n },\n };\n\n toggle.addEventListener(\"click\", toggle.handlers.start);\n\n // Once the collapse transition completes (on the collapse toggle icon, which is\n // always guaranteed to transition), then remove the transitioning class\n toggle\n .querySelector(\".collapse-icon\")\n ?.addEventListener(\"transitionend\", toggle.handlers.end);\n }\n\n private static _initSidebarCounters(container: HTMLElement): void {\n // This function walks up the DOM tree, adding CSS variables to each\n // direct parent sidebar layout that count the layout's position in the\n // stack of nested layouts. We use these counters to keep the collapse\n // toggles from overlapping. Note that always-open sidebars that don't\n // have collapse toggles break the chain of nesting.\n\n const selectorChildLayouts =\n `.${Sidebar.classes.LAYOUT}` +\n \"> .main > \" +\n `.${Sidebar.classes.LAYOUT}:not([data-bslib-sidebar-open=\"always\"])`;\n\n const isInnermostLayout =\n container.querySelector(selectorChildLayouts) === null;\n\n if (!isInnermostLayout) {\n // There are sidebar layouts nested within this layout; defer to children\n return;\n }\n\n function nextSidebarParent(el: HTMLElement | null): HTMLElement | null {\n el = el ? el.parentElement : null;\n if (el && el.classList.contains(\"main\")) {\n // .bslib-sidebar-layout > .main > .bslib-sidedbar-layout\n el = el.parentElement;\n }\n if (el && el.classList.contains(Sidebar.classes.LAYOUT)) {\n return el;\n }\n return null;\n }\n\n const layouts = [container];\n let parent = nextSidebarParent(container);\n\n while (parent) {\n // Add parent to front of layouts array, so we sort outer -> inner\n layouts.unshift(parent);\n parent = nextSidebarParent(parent);\n }\n\n const count = { left: 0, right: 0 };\n layouts.forEach(function (x: HTMLElement, i: number): void {\n x.style.setProperty(\"--bslib-sidebar-counter\", i.toString());\n const isRight = x.classList.contains(\"sidebar-right\");\n const thisCount = isRight ? count.right++ : count.left++;\n x.style.setProperty(\n \"--bslib-sidebar-overlap-counter\",\n thisCount.toString()\n );\n });\n }\n\n private static _initDesktop(container: HTMLElement): void {\n // If sidebar is marked open='desktop'...\n if (container.dataset.bslibSidebarOpen?.trim() !== \"desktop\") {\n return;\n }\n\n // then close sidebar on mobile\n const initCollapsed = window\n .getComputedStyle(container)\n .getPropertyValue(\"--bslib-sidebar-js-init-collapsed\");\n\n if (initCollapsed.trim() === \"true\") {\n Sidebar.toggle(container, \"close\");\n }\n }\n\n private static _findLayoutContainer(el: HTMLElement): HTMLElement {\n const container = el.closest(`.${Sidebar.classes.LAYOUT}`);\n if (!container) {\n throw new Error(\n `Expected container or direct ancestor with class ${Sidebar.classes.LAYOUT}`\n );\n }\n return container as HTMLElement;\n }\n\n public static components(el: HTMLElement): SidebarComponents {\n el = Sidebar._findLayoutContainer(el);\n\n // sidebar components\n const main = el.querySelector(\":scope > .main\") as HTMLElement;\n const sidebar = el.querySelector(\":scope > .sidebar\") as HTMLElement;\n const toggle = el.querySelector(\":scope > .collapse-toggle\") as HTMLElement;\n\n // sidebar state\n const isClosed = el.classList.contains(Sidebar.classes.COLLAPSE);\n\n return { container: el, main, sidebar, toggle, isClosed };\n }\n\n public static toggle(el: HTMLElement, method: SidebarMethod) {\n const { container, main, sidebar, isClosed } = Sidebar.components(el);\n\n if ([\"open\", \"close\", \"toggle\"].indexOf(method) === -1) {\n throw new Error(`Unknown method ${method}`);\n }\n\n if (method === \"toggle\") {\n method = isClosed ? \"open\" : \"close\";\n }\n\n if ((isClosed && method === \"close\") || (!isClosed && method === \"open\")) {\n // nothing to do, sidebar is already in the desired state\n return;\n }\n\n // Make sure outputs resize properly when the sidebar is opened/closed\n doWindowResizeOnElementResize(main);\n\n if (method === \"open\") {\n // unhide sidebar immediately when opening,\n // otherwise the sidebar is hidden on transitionend\n sidebar.hidden = false;\n }\n\n // Add a transitioning class just before adding COLLAPSE_CLASS since we want\n // some of the transitioning styles to apply before the collapse state\n container.classList.add(Sidebar.classes.TRANSITIONING);\n container.classList.toggle(Sidebar.classes.COLLAPSE);\n }\n\n public static finalizeState(el: HTMLElement): void {\n const { container, sidebar, toggle, isClosed } = Sidebar.components(el);\n container.classList.remove(Sidebar.classes.TRANSITIONING);\n sidebar.hidden = isClosed;\n toggle.ariaExpanded = isClosed ? \"false\" : \"true\";\n }\n\n public static removeEventListeners(el: HTMLElement): void {\n // If a sidebar layout is removed from the page, we should also clean up any\n // event listeners that were added to the layout's components.\n const { toggle } = Sidebar.components(el);\n if (!toggle.handlers) return;\n toggle.removeEventListener(\"click\", toggle.handlers.start);\n toggle\n .querySelector(\".collapse-icon\")\n ?.removeEventListener(\"transitionend\", toggle.handlers.end);\n }\n}\n\nclass SidebarInputBinding extends InputBinding {\n find(scope: HTMLElement) {\n return $(scope).find(`.${Sidebar.classes.LAYOUT} > .bslib-sidebar-input`);\n }\n\n getValue(el: HTMLElement): boolean {\n return !$(el).parent().hasClass(Sidebar.classes.COLLAPSE);\n }\n\n setValue(el: HTMLElement, value: boolean): void {\n const method = value ? \"open\" : \"close\";\n this.receiveMessage(el, { method });\n }\n\n subscribe(el: HTMLElement, callback: (x: boolean) => void) {\n $(el).on(\n \"toggleCollapse.sidebarInputBinding\",\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n function (event) {\n callback(true);\n }\n );\n }\n\n unsubscribe(el: HTMLElement) {\n $(el).off(\".sidebarInputBinding\");\n }\n\n receiveMessage(el: HTMLElement, data: MessageData) {\n Sidebar.toggle(el, data.method);\n }\n}\n\nregisterBinding(SidebarInputBinding, \"sidebar\");\n\n// attach Sidebar class to window for global usage\n(window as any).bslib = (window as any).bslib || {};\n(window as any).bslib.Sidebar = Sidebar;\n"], "mappings": "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", "names": ["InputBinding", "registerBinding", "inputBindingClass", "name", "doWindowResizeOnElementResize", "el", "resizeEvent", "ro", "DocumentObserver", "config", "mutationObserverCallback", "mutationsList", "mutation", "addedNode", "removedNode", "el", "selector", "callback", "elMatches", "hasMatchingChild", "node", "_Sidebar", "container", "_a", "sidebar", "toggle", "ev", "isClosed", "selectorChildLayouts", "nextSidebarParent", "el", "layouts", "parent", "count", "x", "i", "thisCount", "main", "method", "doWindowResizeOnElementResize", "Sidebar", "DocumentObserver", "SidebarInputBinding", "InputBinding", "scope", "value", "callback", "event", "data", "registerBinding"] } From a62f60eb5d0b9b984d82d308603f8df41bd0570d Mon Sep 17 00:00:00 2001 From: Garrick Aden-Buie Date: Wed, 10 May 2023 11:21:40 -0400 Subject: [PATCH 41/76] Revert to initialization via `