From b158b9c443e0b143b7a12a9f7bf742441e50873e Mon Sep 17 00:00:00 2001 From: Lars Karlslund Date: Wed, 15 Nov 2023 14:33:39 +0100 Subject: [PATCH] Switched to Bootstrap compatible UI (Halfmoon UI 2.x), upgraded jquery, jquery UI, cytoscape etc. UI improvements (and possible breakage) --- modules/analyze/html/adalanche.css | 114 +- modules/analyze/html/custom.js | 99 +- modules/analyze/html/external/cose-base.js | 3214 --- .../analyze/html/external/cytoscape-cise.js | 3978 ---- .../html/external/cytoscape-context-menus.css | 54 - .../html/external/cytoscape-context-menus.js | 1 - .../html/external/cytoscape-cose-bilkent.js | 468 - .../external/cytoscape-d3-force-sampled.js | 515 - .../html/external/cytoscape-d3-force.js | 515 - .../analyze/html/external/cytoscape-dagre.js | 381 - .../analyze/html/external/cytoscape-fcose.js | 1437 -- .../analyze/html/external/cytoscape-popper.js | 394 - .../analyze/html/external/cytoscape.min.js | 32 - .../analyze/html/external/d3-dispatch.v3.js | 2 - .../analyze/html/external/d3-force-reuse.js | 178 - .../analyze/html/external/d3-force-sampled.js | 241 - modules/analyze/html/external/d3-force.v3.js | 2 - .../analyze/html/external/d3-quadtree.v3.js | 2 - modules/analyze/html/external/d3-timer.v3.js | 2 - modules/analyze/html/external/dagre.min.js | 4386 ---- .../halfmoon-ui/cores/halfmoon.cores.css | 514 + .../halfmoon-ui/cores/halfmoon.elegant.css | 232 + .../halfmoon-ui/cores/halfmoon.modern.css | 282 + .../html/external/halfmoon-ui/halfmoon.css | 19196 ++++++++++++++++ .../external/halfmoon-ui/halfmoon.min.css | 22 + .../external/halfmoon-ui/halfmoon.min.css.map | 1 + .../external/halfmoon-ui/halfmoon.rtl.css | 19166 +++++++++++++++ .../external/halfmoon-ui/halfmoon.rtl.min.css | 22 + .../halfmoon-ui/halfmoon.rtl.min.css.map | 1 + .../html/external/halfmoon-variables.min.css | 11 - modules/analyze/html/external/halfmoon.min.js | 11 - .../analyze/html/external/jquery-3.7.1.min.js | 2 + .../AUTHORS.txt | 7 + .../LICENSE.txt | 0 .../external/jquery/jquery.js | 10881 +++++++++ .../index.html | 0 .../jquery-ui.css | 438 +- .../jquery-ui.js | 320 +- .../jquery-ui.min.css | 7 +- .../jquery-ui-1.13.2.custom/jquery-ui.min.js | 6 + .../jquery-ui.structure.css | 10 - .../jquery-ui.structure.min.css | 2 +- .../images/ui-bg_glass_20_555555_1x400.png | Bin 318 -> 0 bytes .../images/ui-bg_glass_40_0078a3_1x400.png | Bin 400 -> 0 bytes .../images/ui-bg_glass_40_ffc73d_1x400.png | Bin 374 -> 0 bytes .../ui-bg_gloss-wave_25_333333_500x100.png | Bin 3976 -> 0 bytes .../ui-bg_highlight-soft_80_eeeeee_1x100.png | Bin 335 -> 0 bytes .../ui-bg_inset-soft_25_000000_1x100.png | Bin 312 -> 0 bytes .../ui-bg_inset-soft_30_f58400_1x100.png | Bin 398 -> 0 bytes .../images/ui-icons_222222_256x240.png | Bin 7025 -> 0 bytes .../images/ui-icons_4b8e0b_256x240.png | Bin 4618 -> 0 bytes .../images/ui-icons_a83300_256x240.png | Bin 4618 -> 0 bytes .../images/ui-icons_cccccc_256x240.png | Bin 7034 -> 0 bytes .../images/ui-icons_ffffff_256x240.png | Bin 6487 -> 0 bytes .../html/external/jqueryui/jquery-ui.min.js | 6 - .../external/jqueryui/jquery-ui.theme.css | 446 - .../external/jqueryui/jquery-ui.theme.min.css | 5 - modules/analyze/html/external/layout-base.js | 5230 ----- modules/analyze/html/external/vega-embed.js | 27 - modules/analyze/html/external/vega-lite.js | 2 - modules/analyze/html/external/vega.js | 2 - modules/analyze/html/graph.js | 18 +- modules/analyze/html/index.html | 242 +- 63 files changed, 50786 insertions(+), 22338 deletions(-) delete mode 100644 modules/analyze/html/external/cose-base.js delete mode 100644 modules/analyze/html/external/cytoscape-cise.js delete mode 100644 modules/analyze/html/external/cytoscape-context-menus.css delete mode 100644 modules/analyze/html/external/cytoscape-context-menus.js delete mode 100644 modules/analyze/html/external/cytoscape-cose-bilkent.js delete mode 100644 modules/analyze/html/external/cytoscape-d3-force-sampled.js delete mode 100644 modules/analyze/html/external/cytoscape-d3-force.js delete mode 100644 modules/analyze/html/external/cytoscape-dagre.js delete mode 100644 modules/analyze/html/external/cytoscape-fcose.js delete mode 100644 modules/analyze/html/external/cytoscape-popper.js delete mode 100644 modules/analyze/html/external/cytoscape.min.js delete mode 100644 modules/analyze/html/external/d3-dispatch.v3.js delete mode 100644 modules/analyze/html/external/d3-force-reuse.js delete mode 100644 modules/analyze/html/external/d3-force-sampled.js delete mode 100644 modules/analyze/html/external/d3-force.v3.js delete mode 100644 modules/analyze/html/external/d3-quadtree.v3.js delete mode 100644 modules/analyze/html/external/d3-timer.v3.js delete mode 100644 modules/analyze/html/external/dagre.min.js create mode 100644 modules/analyze/html/external/halfmoon-ui/cores/halfmoon.cores.css create mode 100644 modules/analyze/html/external/halfmoon-ui/cores/halfmoon.elegant.css create mode 100644 modules/analyze/html/external/halfmoon-ui/cores/halfmoon.modern.css create mode 100644 modules/analyze/html/external/halfmoon-ui/halfmoon.css create mode 100644 modules/analyze/html/external/halfmoon-ui/halfmoon.min.css create mode 100644 modules/analyze/html/external/halfmoon-ui/halfmoon.min.css.map create mode 100644 modules/analyze/html/external/halfmoon-ui/halfmoon.rtl.css create mode 100644 modules/analyze/html/external/halfmoon-ui/halfmoon.rtl.min.css create mode 100644 modules/analyze/html/external/halfmoon-ui/halfmoon.rtl.min.css.map delete mode 100644 modules/analyze/html/external/halfmoon-variables.min.css delete mode 100644 modules/analyze/html/external/halfmoon.min.js create mode 100644 modules/analyze/html/external/jquery-3.7.1.min.js rename modules/analyze/html/external/{jqueryui => jquery-ui-1.13.2.custom}/AUTHORS.txt (97%) rename modules/analyze/html/external/{jqueryui => jquery-ui-1.13.2.custom}/LICENSE.txt (100%) create mode 100644 modules/analyze/html/external/jquery-ui-1.13.2.custom/external/jquery/jquery.js rename modules/analyze/html/external/{jqueryui => jquery-ui-1.13.2.custom}/index.html (100%) rename modules/analyze/html/external/{jqueryui => jquery-ui-1.13.2.custom}/jquery-ui.css (51%) rename modules/analyze/html/external/{jqueryui => jquery-ui-1.13.2.custom}/jquery-ui.js (98%) rename modules/analyze/html/external/{jqueryui => jquery-ui-1.13.2.custom}/jquery-ui.min.css (50%) create mode 100644 modules/analyze/html/external/jquery-ui-1.13.2.custom/jquery-ui.min.js rename modules/analyze/html/external/{jqueryui => jquery-ui-1.13.2.custom}/jquery-ui.structure.css (98%) rename modules/analyze/html/external/{jqueryui => jquery-ui-1.13.2.custom}/jquery-ui.structure.min.css (99%) delete mode 100644 modules/analyze/html/external/jqueryui/images/ui-bg_glass_20_555555_1x400.png delete mode 100644 modules/analyze/html/external/jqueryui/images/ui-bg_glass_40_0078a3_1x400.png delete mode 100644 modules/analyze/html/external/jqueryui/images/ui-bg_glass_40_ffc73d_1x400.png delete mode 100644 modules/analyze/html/external/jqueryui/images/ui-bg_gloss-wave_25_333333_500x100.png delete mode 100644 modules/analyze/html/external/jqueryui/images/ui-bg_highlight-soft_80_eeeeee_1x100.png delete mode 100644 modules/analyze/html/external/jqueryui/images/ui-bg_inset-soft_25_000000_1x100.png delete mode 100644 modules/analyze/html/external/jqueryui/images/ui-bg_inset-soft_30_f58400_1x100.png delete mode 100644 modules/analyze/html/external/jqueryui/images/ui-icons_222222_256x240.png delete mode 100644 modules/analyze/html/external/jqueryui/images/ui-icons_4b8e0b_256x240.png delete mode 100644 modules/analyze/html/external/jqueryui/images/ui-icons_a83300_256x240.png delete mode 100644 modules/analyze/html/external/jqueryui/images/ui-icons_cccccc_256x240.png delete mode 100644 modules/analyze/html/external/jqueryui/images/ui-icons_ffffff_256x240.png delete mode 100644 modules/analyze/html/external/jqueryui/jquery-ui.min.js delete mode 100644 modules/analyze/html/external/jqueryui/jquery-ui.theme.css delete mode 100644 modules/analyze/html/external/jqueryui/jquery-ui.theme.min.css delete mode 100644 modules/analyze/html/external/layout-base.js delete mode 100644 modules/analyze/html/external/vega-embed.js delete mode 100644 modules/analyze/html/external/vega-lite.js delete mode 100644 modules/analyze/html/external/vega.js diff --git a/modules/analyze/html/adalanche.css b/modules/analyze/html/adalanche.css index 5b58dcc..bb4e7d6 100644 --- a/modules/analyze/html/adalanche.css +++ b/modules/analyze/html/adalanche.css @@ -2,9 +2,78 @@ /* SpinKit */ --sk-size: 50px; --sk-color: white; - /* Halfmoon */ - --primary-color: var(--yellow-color); - --secondary-color: var(--indigo-color); + /* Halfmoon / BootStrap */ + --bs-primary-hue: var(--bs-yellow-hue); + --bs-primary-saturation: var(--bs-yellow-saturation); + --bs-primary-100-hsl: var(--bs-yellow-100-hsl); + --bs-primary-200-hsl: var(--bs-yellow-200-hsl); + --bs-primary-300-hsl: var(--bs-yellow-300-hsl); + --bs-primary-400-hsl: var(--bs-yellow-400-hsl); + --bs-primary-500-hsl: var(--bs-yellow-500-hsl); + --bs-primary-600-hsl: var(--bs-yellow-600-hsl); + --bs-primary-700-hsl: var(--bs-yellow-700-hsl); + --bs-primary-800-hsl: var(--bs-yellow-800-hsl); + --bs-primary-900-hsl: var(--bs-yellow-900-hsl); + --bs-primary-100: var(--bs-yellow-100); + --bs-primary-200: var(--bs-yellow-200); + --bs-primary-300: var(--bs-yellow-300); + --bs-primary-400: var(--bs-yellow-400); + --bs-primary-500: var(--bs-yellow-500); + --bs-primary-600: var(--bs-yellow-600); + --bs-primary-700: var(--bs-yellow-700); + --bs-primary-800: var(--bs-yellow-800); + --bs-primary-900: var(--bs-yellow-900); + --bs-primary-hsl: var(--bs-yellow-hsl); + --bs-primary: var(--bs-yellow); + --bs-primary-foreground-hsl: var(--bs-yellow-foreground-hsl); + --bs-primary-foreground: var(--bs-yellow-foreground); + --bs-primary-text-emphasis-hsl: var(--bs-yellow-text-emphasis-hsl); + --bs-primary-text-emphasis: var(--bs-yellow-text-emphasis); + --bs-primary-hover-bg: var(--bs-yellow-hover-bg); + --bs-primary-active-bg: var(--bs-yellow-active-bg); + --bs-primary-bg-subtle: var(--bs-yellow-bg-subtle); + --bs-primary-border-subtle: var(--bs-yellow-border-subtle); + --bs-primary-checkbox-svg: var(--bs-yellow-checkbox-svg); + --bs-primary-dash-svg: var(--bs-yellow-dash-svg); + --bs-primary-radio-svg: var(--bs-yellow-radio-svg); + --bs-primary-switch-svg: var(--bs-yellow-switch-svg); + + --bs-secondary-hue: var(--bs-orange-hue); + --bs-secondary-saturation: var(--bs-orange-saturation); + --bs-secondary-100-hsl: var(--bs-orange-100-hsl); + --bs-secondary-200-hsl: var(--bs-orange-200-hsl); + --bs-secondary-300-hsl: var(--bs-orange-300-hsl); + --bs-secondary-400-hsl: var(--bs-orange-400-hsl); + --bs-secondary-500-hsl: var(--bs-orange-500-hsl); + --bs-secondary-600-hsl: var(--bs-orange-600-hsl); + --bs-secondary-700-hsl: var(--bs-orange-700-hsl); + --bs-secondary-800-hsl: var(--bs-orange-800-hsl); + --bs-secondary-900-hsl: var(--bs-orange-900-hsl); + --bs-secondary-100: var(--bs-orange-100); + --bs-secondary-200: var(--bs-orange-200); + --bs-secondary-300: var(--bs-orange-300); + --bs-secondary-400: var(--bs-orange-400); + --bs-secondary-500: var(--bs-orange-500); + --bs-secondary-600: var(--bs-orange-600); + --bs-secondary-700: var(--bs-orange-700); + --bs-secondary-800: var(--bs-orange-800); + --bs-secondary-900: var(--bs-orange-900); + --bs-secondary-hsl: var(--bs-orange-hsl); + --bs-secondary: var(--bs-orange); + --bs-secondary-foreground-hsl: var(--bs-orange-foreground-hsl); + --bs-secondary-foreground: var(--bs-orange-foreground); + --bs-secondary-text-emphasis-hsl: var(--bs-orange-text-emphasis-hsl); + --bs-secondary-text-emphasis: var(--bs-orange-text-emphasis); + --bs-secondary-hover-bg: var(--bs-orange-hover-bg); + --bs-secondary-active-bg: var(--bs-orange-active-bg); + --bs-secondary-bg-subtle: var(--bs-orange-bg-subtle); + --bs-secondary-border-subtle: var(--bs-orange-border-subtle); + --bs-secondary-checkbox-svg: var(--bs-orange-checkbox-svg); + --bs-secondary-dash-svg: var(--bs-orange-dash-svg); + --bs-secondary-radio-svg: var(--bs-orange-radio-svg); + --bs-secondary-switch-svg: var(--bs-orange-switch-svg); + + --bs-body-font-family: Oswald; } @font-face { @@ -13,16 +82,10 @@ } body { - font-family: Oswald; - font-variant: normal; overflow: hidden; z-index: -2; } -button, input, optgroup, select, textarea { - font-family: Oswald; -} - .no-wrap { white-space: nowrap; } @@ -95,6 +158,8 @@ button, input, optgroup, select, textarea { z-index: 40; } + + #outerquery { position: absolute; left: 50%; @@ -117,8 +182,32 @@ button, input, optgroup, select, textarea { margin-right: 5px; } -.input-group div { - margin-bottom: 5px; +.z-0 { + z-index: 0; +} + +.z-10 { + z-index: 10; +} + +.z-20 { + z-index: 20; +} + +.z-30 { + z-index: 30; +} + +.z-40 { + z-index: 40; +} + +.z-50 { + z-index: 50; +} + +.cursor-pointer { + cursor: pointer; } .checkbox-button input[type='checkbox'], @@ -128,5 +217,6 @@ button, input, optgroup, select, textarea { .checkbox-button input[type='checkbox']:checked+label.btn, .checkbox-button input[type='radio']:checked+label.btn { - background-color: var(--primary-color); + background-color: var(--bs-primary); + color: var(--bs-dark); } \ No newline at end of file diff --git a/modules/analyze/html/custom.js b/modules/analyze/html/custom.js index c2a5056..063e423 100644 --- a/modules/analyze/html/custom.js +++ b/modules/analyze/html/custom.js @@ -64,9 +64,18 @@ function setquery( } function set_querymode(mode) { - $('#querymode_normal').prop('checked', mode == 'normal'); - $('#querymode_reverse').prop('checked', mode == 'reverse'); - $('#querymode_sourcetarget').prop('checked', mode == 'sourcetarget'); + mode = mode.toLowerCase(); + console.log('set_querymode', mode); + if (mode == 'normal') { + $('#querymode_normal').prop('checked', true).change(); + } else if (mode == 'reverse') { + $('#querymode_reverse').prop('checked', true).change(); + } else if (mode == 'sourcetarget') { + $('#querymode_sourcetarget').prop('checked', true).change(); + } + // $('#querymode_normal').prop('checked', mode == 'normal').change(); + // $('#querymode_reverse').prop('checked', mode == 'reverse').change(); + // $('#querymode_sourcetarget').prop('checked', mode == 'sourcetarget').change(); } @@ -82,30 +91,22 @@ function newwindow(id, title, content, height, width) { // add the new one if (mywindow.length == 0) { - itsnew = true; - // `< div class="window d-inline-block position-absolute shadow p-5 bg-dark border pointer-events-auto container-fluid window-front" id="window_${id}"> - mywindow = $( - `
+ `
-
- -
-
${content}
-
-
+ +
${content}
` ); // roll up - $('#rollup', mywindow).click(function (event) { - $('#rollup-wrapper', $(this).parents('.window')).slideToggle('slow', 'swing'); - }); + // $('#rollup', mywindow).click(function (event) { + // $('#rollup-wrapper', $(this).parents('.window')).slideToggle('slow', 'swing'); + // }); // closing $('#close', mywindow).click(function (event) { @@ -117,7 +118,6 @@ function newwindow(id, title, content, height, width) { cancel: '#contents', }); - mywindow.resizable({ containment: '#windows', handles: { @@ -127,9 +127,10 @@ function newwindow(id, title, content, height, width) { }, create: function (event, ui) { // ui has no data + console.log("window created"); }, resize: function (event, ui) { - // console.log(event) + console.log(event); $('#contents', ui.element).width(ui.size.width-12); $('#contents', ui.element).height(ui.size.height-$('#header', ui.element).height()-12); }, @@ -154,9 +155,6 @@ function newwindow(id, title, content, height, width) { mywindow.width(maxwidth) } - } - - if (itsnew) { $('#windows').append(mywindow); // Fix initial content size @@ -185,11 +183,11 @@ function newwindow(id, title, content, height, width) { return itsnew; } -function analyze(e) { +function busystatus(busytext) { $('#status') .html( - `
Analyzing
-
+ `
`+busytext+`
+
@@ -201,6 +199,10 @@ function analyze(e) {
` ) .show(); +} + +function analyze(e) { + busystatus("Analyzing") $.ajax({ type: 'POST', @@ -232,7 +234,7 @@ function analyze(e) { data.links + ' edges ' + (!data.reversed ? 'from' : 'to') + - ':
'; + ':
'; for (var objecttype in data.resulttypes) { info += ''; } @@ -246,9 +248,9 @@ function analyze(e) { if ( $('#hideoptionsonanalysis').prop('checked') && - $('#optionswrap').prop('width') != 0 + $('#optionspanel').prop('width') != 0 ) { - $('#optionswrap').animate({ width: 'toggle' }, 400); + $('#optionspanel').animate({ width: 'toggle' }, 400); } if ( @@ -272,6 +274,7 @@ function analyze(e) { } function refreshStatus() { + var lastwasidle = false $.ajax({ type: "GET", url: "/progress", @@ -280,6 +283,7 @@ function refreshStatus() { success: function (progressbars) { $("#offlineblur").hide() if (progressbars.length > 0) { + lastwasidle = false keepProgressbars = new Set() for (i in progressbars) { progressbar = progressbars[i] @@ -308,11 +312,16 @@ function refreshStatus() { } }) + $("#upperstatus").show() $("#progressbars").show() $("#backendstatus").html("Adalanche is processing") } else { - $("#progressbars").empty().hide() - $("#backendstatus").html("Adalanche backend is idle") + if (!lastwasidle) { + $("#progressbars").empty().hide() + $("#backendstatus").html("Adalanche backend is idle") + $("#upperstatus").fadeOut("slow") + } + lastwasidle = true } }, error: function (xhr, status, error) { @@ -333,8 +342,8 @@ $(function () { $('#infowrap').animate({ width: 'toggle' }, 400); }); - $('#optionspop').on('click', function () { - $('#optionswrap').animate({ width: 'toggle' }, 400); + $('#optionstogglevisibility').on('click', function () { + $('#optionspanel').animate({ width: 'toggle' }, 400); }); // autosize($('#querytext')); @@ -498,15 +507,15 @@ $(function () { url: '/filteroptions', dataType: 'json', success: function (data) { - buttons = `
'+ data.resulttypes[objecttype] + '' + objecttype + '
`; + buttons = `
`; data.methods.sort((a, b) => (a.name > b.name) ? 1 : -1) for (i in data.methods) { method = data.methods[i]; - buttons += ''; + buttons += ''; buttons += - ``; @@ -524,7 +533,7 @@ $(function () { method.lookup + `_f" class ="btn btn-sm mb-0">F`; buttons += - `M`; buttons += - ``; + buttons = `
` + + `` + method.name; `
`; for (i in data.objecttypes) { objecttype = data.objecttypes[i]; - buttons += ''; + buttons += ''; buttons += - ``; - buttons += ' or other required elements. + thead: [ 1, "
` + + `` + objecttype.name; `'; + buttons += ''; buttons += `F`; buttons += - `M`; buttons += - ` { // webpackBootstrap -/******/ "use strict"; -/******/ var __webpack_modules__ = ({ - -/***/ 45: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - - - -var coseBase = {}; - -coseBase.layoutBase = __webpack_require__(551); -coseBase.CoSEConstants = __webpack_require__(806); -coseBase.CoSEEdge = __webpack_require__(767); -coseBase.CoSEGraph = __webpack_require__(880); -coseBase.CoSEGraphManager = __webpack_require__(578); -coseBase.CoSELayout = __webpack_require__(765); -coseBase.CoSENode = __webpack_require__(991); -coseBase.ConstraintHandler = __webpack_require__(902); - -module.exports = coseBase; - -/***/ }), - -/***/ 806: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - - - -var FDLayoutConstants = __webpack_require__(551).FDLayoutConstants; - -function CoSEConstants() {} - -//CoSEConstants inherits static props in FDLayoutConstants -for (var prop in FDLayoutConstants) { - CoSEConstants[prop] = FDLayoutConstants[prop]; -} - -CoSEConstants.DEFAULT_USE_MULTI_LEVEL_SCALING = false; -CoSEConstants.DEFAULT_RADIAL_SEPARATION = FDLayoutConstants.DEFAULT_EDGE_LENGTH; -CoSEConstants.DEFAULT_COMPONENT_SEPERATION = 60; -CoSEConstants.TILE = true; -CoSEConstants.TILING_PADDING_VERTICAL = 10; -CoSEConstants.TILING_PADDING_HORIZONTAL = 10; -CoSEConstants.TRANSFORM_ON_CONSTRAINT_HANDLING = true; -CoSEConstants.ENFORCE_CONSTRAINTS = true; -CoSEConstants.APPLY_LAYOUT = true; -CoSEConstants.RELAX_MOVEMENT_ON_CONSTRAINTS = true; -CoSEConstants.TREE_REDUCTION_ON_INCREMENTAL = true; // this should be set to false if there will be a constraint -// This constant is for differentiating whether actual layout algorithm that uses cose-base wants to apply only incremental layout or -// an incremental layout on top of a randomized layout. If it is only incremental layout, then this constant should be true. -CoSEConstants.PURE_INCREMENTAL = CoSEConstants.DEFAULT_INCREMENTAL; - -module.exports = CoSEConstants; - -/***/ }), - -/***/ 767: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - - - -var FDLayoutEdge = __webpack_require__(551).FDLayoutEdge; - -function CoSEEdge(source, target, vEdge) { - FDLayoutEdge.call(this, source, target, vEdge); -} - -CoSEEdge.prototype = Object.create(FDLayoutEdge.prototype); -for (var prop in FDLayoutEdge) { - CoSEEdge[prop] = FDLayoutEdge[prop]; -} - -module.exports = CoSEEdge; - -/***/ }), - -/***/ 880: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - - - -var LGraph = __webpack_require__(551).LGraph; - -function CoSEGraph(parent, graphMgr, vGraph) { - LGraph.call(this, parent, graphMgr, vGraph); -} - -CoSEGraph.prototype = Object.create(LGraph.prototype); -for (var prop in LGraph) { - CoSEGraph[prop] = LGraph[prop]; -} - -module.exports = CoSEGraph; - -/***/ }), - -/***/ 578: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - - - -var LGraphManager = __webpack_require__(551).LGraphManager; - -function CoSEGraphManager(layout) { - LGraphManager.call(this, layout); -} - -CoSEGraphManager.prototype = Object.create(LGraphManager.prototype); -for (var prop in LGraphManager) { - CoSEGraphManager[prop] = LGraphManager[prop]; -} - -module.exports = CoSEGraphManager; - -/***/ }), - -/***/ 765: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - - - -var FDLayout = __webpack_require__(551).FDLayout; -var CoSEGraphManager = __webpack_require__(578); -var CoSEGraph = __webpack_require__(880); -var CoSENode = __webpack_require__(991); -var CoSEEdge = __webpack_require__(767); -var CoSEConstants = __webpack_require__(806); -var ConstraintHandler = __webpack_require__(902); -var FDLayoutConstants = __webpack_require__(551).FDLayoutConstants; -var LayoutConstants = __webpack_require__(551).LayoutConstants; -var Point = __webpack_require__(551).Point; -var PointD = __webpack_require__(551).PointD; -var DimensionD = __webpack_require__(551).DimensionD; -var Layout = __webpack_require__(551).Layout; -var Integer = __webpack_require__(551).Integer; -var IGeometry = __webpack_require__(551).IGeometry; -var LGraph = __webpack_require__(551).LGraph; -var Transform = __webpack_require__(551).Transform; -var LinkedList = __webpack_require__(551).LinkedList; - -function CoSELayout() { - FDLayout.call(this); - - this.toBeTiled = {}; // Memorize if a node is to be tiled or is tiled - this.constraints = {}; // keep layout constraints -} - -CoSELayout.prototype = Object.create(FDLayout.prototype); - -for (var prop in FDLayout) { - CoSELayout[prop] = FDLayout[prop]; -} - -CoSELayout.prototype.newGraphManager = function () { - var gm = new CoSEGraphManager(this); - this.graphManager = gm; - return gm; -}; - -CoSELayout.prototype.newGraph = function (vGraph) { - return new CoSEGraph(null, this.graphManager, vGraph); -}; - -CoSELayout.prototype.newNode = function (vNode) { - return new CoSENode(this.graphManager, vNode); -}; - -CoSELayout.prototype.newEdge = function (vEdge) { - return new CoSEEdge(null, null, vEdge); -}; - -CoSELayout.prototype.initParameters = function () { - FDLayout.prototype.initParameters.call(this, arguments); - if (!this.isSubLayout) { - if (CoSEConstants.DEFAULT_EDGE_LENGTH < 10) { - this.idealEdgeLength = 10; - } else { - this.idealEdgeLength = CoSEConstants.DEFAULT_EDGE_LENGTH; - } - - this.useSmartIdealEdgeLengthCalculation = CoSEConstants.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION; - this.gravityConstant = FDLayoutConstants.DEFAULT_GRAVITY_STRENGTH; - this.compoundGravityConstant = FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_STRENGTH; - this.gravityRangeFactor = FDLayoutConstants.DEFAULT_GRAVITY_RANGE_FACTOR; - this.compoundGravityRangeFactor = FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR; - - // variables for tree reduction support - this.prunedNodesAll = []; - this.growTreeIterations = 0; - this.afterGrowthIterations = 0; - this.isTreeGrowing = false; - this.isGrowthFinished = false; - } -}; - -// This method is used to set CoSE related parameters used by spring embedder. -CoSELayout.prototype.initSpringEmbedder = function () { - FDLayout.prototype.initSpringEmbedder.call(this); - - // variables for cooling - this.coolingCycle = 0; - this.maxCoolingCycle = this.maxIterations / FDLayoutConstants.CONVERGENCE_CHECK_PERIOD; - this.finalTemperature = 0.04; - this.coolingAdjuster = 1; -}; - -CoSELayout.prototype.layout = function () { - var createBendsAsNeeded = LayoutConstants.DEFAULT_CREATE_BENDS_AS_NEEDED; - if (createBendsAsNeeded) { - this.createBendpoints(); - this.graphManager.resetAllEdges(); - } - - this.level = 0; - return this.classicLayout(); -}; - -CoSELayout.prototype.classicLayout = function () { - this.nodesWithGravity = this.calculateNodesToApplyGravitationTo(); - this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity); - this.calcNoOfChildrenForAllNodes(); - this.graphManager.calcLowestCommonAncestors(); - this.graphManager.calcInclusionTreeDepths(); - this.graphManager.getRoot().calcEstimatedSize(); - this.calcIdealEdgeLengths(); - - if (!this.incremental) { - var forest = this.getFlatForest(); - - // The graph associated with this layout is flat and a forest - if (forest.length > 0) { - this.positionNodesRadially(forest); - } - // The graph associated with this layout is not flat or a forest - else { - // Reduce the trees when incremental mode is not enabled and graph is not a forest - this.reduceTrees(); - // Update nodes that gravity will be applied - this.graphManager.resetAllNodesToApplyGravitation(); - var allNodes = new Set(this.getAllNodes()); - var intersection = this.nodesWithGravity.filter(function (x) { - return allNodes.has(x); - }); - this.graphManager.setAllNodesToApplyGravitation(intersection); - - this.positionNodesRandomly(); - } - } else { - if (CoSEConstants.TREE_REDUCTION_ON_INCREMENTAL) { - // Reduce the trees in incremental mode if only this constant is set to true - this.reduceTrees(); - // Update nodes that gravity will be applied - this.graphManager.resetAllNodesToApplyGravitation(); - var allNodes = new Set(this.getAllNodes()); - var intersection = this.nodesWithGravity.filter(function (x) { - return allNodes.has(x); - }); - this.graphManager.setAllNodesToApplyGravitation(intersection); - } - } - - if (Object.keys(this.constraints).length > 0) { - ConstraintHandler.handleConstraints(this); - this.initConstraintVariables(); - } - - this.initSpringEmbedder(); - if (CoSEConstants.APPLY_LAYOUT) { - this.runSpringEmbedder(); - } - - return true; -}; - -CoSELayout.prototype.tick = function () { - this.totalIterations++; - - if (this.totalIterations === this.maxIterations && !this.isTreeGrowing && !this.isGrowthFinished) { - if (this.prunedNodesAll.length > 0) { - this.isTreeGrowing = true; - } else { - return true; - } - } - - if (this.totalIterations % FDLayoutConstants.CONVERGENCE_CHECK_PERIOD == 0 && !this.isTreeGrowing && !this.isGrowthFinished) { - if (this.isConverged()) { - if (this.prunedNodesAll.length > 0) { - this.isTreeGrowing = true; - } else { - return true; - } - } - - this.coolingCycle++; - - if (this.layoutQuality == 0) { - // quality - "draft" - this.coolingAdjuster = this.coolingCycle; - } else if (this.layoutQuality == 1) { - // quality - "default" - this.coolingAdjuster = this.coolingCycle / 3; - } - - // cooling schedule is based on http://www.btluke.com/simanf1.html -> cooling schedule 3 - this.coolingFactor = Math.max(this.initialCoolingFactor - Math.pow(this.coolingCycle, Math.log(100 * (this.initialCoolingFactor - this.finalTemperature)) / Math.log(this.maxCoolingCycle)) / 100 * this.coolingAdjuster, this.finalTemperature); - this.animationPeriod = Math.ceil(this.initialAnimationPeriod * Math.sqrt(this.coolingFactor)); - } - // Operations while tree is growing again - if (this.isTreeGrowing) { - if (this.growTreeIterations % 10 == 0) { - if (this.prunedNodesAll.length > 0) { - this.graphManager.updateBounds(); - this.updateGrid(); - this.growTree(this.prunedNodesAll); - // Update nodes that gravity will be applied - this.graphManager.resetAllNodesToApplyGravitation(); - var allNodes = new Set(this.getAllNodes()); - var intersection = this.nodesWithGravity.filter(function (x) { - return allNodes.has(x); - }); - this.graphManager.setAllNodesToApplyGravitation(intersection); - - this.graphManager.updateBounds(); - this.updateGrid(); - if (CoSEConstants.PURE_INCREMENTAL) this.coolingFactor = FDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL / 2;else this.coolingFactor = FDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL; - } else { - this.isTreeGrowing = false; - this.isGrowthFinished = true; - } - } - this.growTreeIterations++; - } - // Operations after growth is finished - if (this.isGrowthFinished) { - if (this.isConverged()) { - return true; - } - if (this.afterGrowthIterations % 10 == 0) { - this.graphManager.updateBounds(); - this.updateGrid(); - } - if (CoSEConstants.PURE_INCREMENTAL) this.coolingFactor = FDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL / 2 * ((100 - this.afterGrowthIterations) / 100);else this.coolingFactor = FDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL * ((100 - this.afterGrowthIterations) / 100); - this.afterGrowthIterations++; - } - - var gridUpdateAllowed = !this.isTreeGrowing && !this.isGrowthFinished; - var forceToNodeSurroundingUpdate = this.growTreeIterations % 10 == 1 && this.isTreeGrowing || this.afterGrowthIterations % 10 == 1 && this.isGrowthFinished; - - this.totalDisplacement = 0; - this.graphManager.updateBounds(); - this.calcSpringForces(); - this.calcRepulsionForces(gridUpdateAllowed, forceToNodeSurroundingUpdate); - this.calcGravitationalForces(); - this.moveNodes(); - this.animate(); - - return false; // Layout is not ended yet return false -}; - -CoSELayout.prototype.getPositionsData = function () { - var allNodes = this.graphManager.getAllNodes(); - var pData = {}; - for (var i = 0; i < allNodes.length; i++) { - var rect = allNodes[i].rect; - var id = allNodes[i].id; - pData[id] = { - id: id, - x: rect.getCenterX(), - y: rect.getCenterY(), - w: rect.width, - h: rect.height - }; - } - - return pData; -}; - -CoSELayout.prototype.runSpringEmbedder = function () { - this.initialAnimationPeriod = 25; - this.animationPeriod = this.initialAnimationPeriod; - var layoutEnded = false; - - // If aminate option is 'during' signal that layout is supposed to start iterating - if (FDLayoutConstants.ANIMATE === 'during') { - this.emit('layoutstarted'); - } else { - // If aminate option is 'during' tick() function will be called on index.js - while (!layoutEnded) { - layoutEnded = this.tick(); - } - - this.graphManager.updateBounds(); - } -}; - -// overrides moveNodes method in FDLayout -CoSELayout.prototype.moveNodes = function () { - var lNodes = this.getAllNodes(); - var node; - - // calculate displacement for each node - for (var i = 0; i < lNodes.length; i++) { - node = lNodes[i]; - node.calculateDisplacement(); - } - - if (Object.keys(this.constraints).length > 0) { - this.updateDisplacements(); - } - - // move each node - for (var i = 0; i < lNodes.length; i++) { - node = lNodes[i]; - node.move(); - } -}; - -// constraint related methods: initConstraintVariables and updateDisplacements - -// initialize constraint related variables -CoSELayout.prototype.initConstraintVariables = function () { - var self = this; - this.idToNodeMap = new Map(); - this.fixedNodeSet = new Set(); - - var allNodes = this.graphManager.getAllNodes(); - - // fill idToNodeMap - for (var i = 0; i < allNodes.length; i++) { - var node = allNodes[i]; - this.idToNodeMap.set(node.id, node); - } - - // calculate fixed node weight for given compound node - var calculateCompoundWeight = function calculateCompoundWeight(compoundNode) { - var nodes = compoundNode.getChild().getNodes(); - var node; - var fixedNodeWeight = 0; - for (var i = 0; i < nodes.length; i++) { - node = nodes[i]; - if (node.getChild() == null) { - if (self.fixedNodeSet.has(node.id)) { - fixedNodeWeight += 100; - } - } else { - fixedNodeWeight += calculateCompoundWeight(node); - } - } - return fixedNodeWeight; - }; - - if (this.constraints.fixedNodeConstraint) { - // fill fixedNodeSet - this.constraints.fixedNodeConstraint.forEach(function (nodeData) { - self.fixedNodeSet.add(nodeData.nodeId); - }); - - // assign fixed node weights to compounds if they contain fixed nodes - var allNodes = this.graphManager.getAllNodes(); - var node; - - for (var i = 0; i < allNodes.length; i++) { - node = allNodes[i]; - if (node.getChild() != null) { - var fixedNodeWeight = calculateCompoundWeight(node); - if (fixedNodeWeight > 0) { - node.fixedNodeWeight = fixedNodeWeight; - } - } - } - } - - if (this.constraints.relativePlacementConstraint) { - var nodeToDummyForVerticalAlignment = new Map(); - var nodeToDummyForHorizontalAlignment = new Map(); - this.dummyToNodeForVerticalAlignment = new Map(); - this.dummyToNodeForHorizontalAlignment = new Map(); - this.fixedNodesOnHorizontal = new Set(); - this.fixedNodesOnVertical = new Set(); - - // fill maps and sets - this.fixedNodeSet.forEach(function (nodeId) { - self.fixedNodesOnHorizontal.add(nodeId); - self.fixedNodesOnVertical.add(nodeId); - }); - - if (this.constraints.alignmentConstraint) { - if (this.constraints.alignmentConstraint.vertical) { - var verticalAlignment = this.constraints.alignmentConstraint.vertical; - for (var i = 0; i < verticalAlignment.length; i++) { - this.dummyToNodeForVerticalAlignment.set("dummy" + i, []); - verticalAlignment[i].forEach(function (nodeId) { - nodeToDummyForVerticalAlignment.set(nodeId, "dummy" + i); - self.dummyToNodeForVerticalAlignment.get("dummy" + i).push(nodeId); - if (self.fixedNodeSet.has(nodeId)) { - self.fixedNodesOnHorizontal.add("dummy" + i); - } - }); - } - } - if (this.constraints.alignmentConstraint.horizontal) { - var horizontalAlignment = this.constraints.alignmentConstraint.horizontal; - for (var i = 0; i < horizontalAlignment.length; i++) { - this.dummyToNodeForHorizontalAlignment.set("dummy" + i, []); - horizontalAlignment[i].forEach(function (nodeId) { - nodeToDummyForHorizontalAlignment.set(nodeId, "dummy" + i); - self.dummyToNodeForHorizontalAlignment.get("dummy" + i).push(nodeId); - if (self.fixedNodeSet.has(nodeId)) { - self.fixedNodesOnVertical.add("dummy" + i); - } - }); - } - } - } - - if (CoSEConstants.RELAX_MOVEMENT_ON_CONSTRAINTS) { - - this.shuffle = function (array) { - var j, x, i; - for (i = array.length - 1; i >= 2 * array.length / 3; i--) { - j = Math.floor(Math.random() * (i + 1)); - x = array[i]; - array[i] = array[j]; - array[j] = x; - } - return array; - }; - - this.nodesInRelativeHorizontal = []; - this.nodesInRelativeVertical = []; - this.nodeToRelativeConstraintMapHorizontal = new Map(); - this.nodeToRelativeConstraintMapVertical = new Map(); - this.nodeToTempPositionMapHorizontal = new Map(); - this.nodeToTempPositionMapVertical = new Map(); - - // fill arrays and maps - this.constraints.relativePlacementConstraint.forEach(function (constraint) { - if (constraint.left) { - var nodeIdLeft = nodeToDummyForVerticalAlignment.has(constraint.left) ? nodeToDummyForVerticalAlignment.get(constraint.left) : constraint.left; - var nodeIdRight = nodeToDummyForVerticalAlignment.has(constraint.right) ? nodeToDummyForVerticalAlignment.get(constraint.right) : constraint.right; - - if (!self.nodesInRelativeHorizontal.includes(nodeIdLeft)) { - self.nodesInRelativeHorizontal.push(nodeIdLeft); - self.nodeToRelativeConstraintMapHorizontal.set(nodeIdLeft, []); - if (self.dummyToNodeForVerticalAlignment.has(nodeIdLeft)) { - self.nodeToTempPositionMapHorizontal.set(nodeIdLeft, self.idToNodeMap.get(self.dummyToNodeForVerticalAlignment.get(nodeIdLeft)[0]).getCenterX()); - } else { - self.nodeToTempPositionMapHorizontal.set(nodeIdLeft, self.idToNodeMap.get(nodeIdLeft).getCenterX()); - } - } - if (!self.nodesInRelativeHorizontal.includes(nodeIdRight)) { - self.nodesInRelativeHorizontal.push(nodeIdRight); - self.nodeToRelativeConstraintMapHorizontal.set(nodeIdRight, []); - if (self.dummyToNodeForVerticalAlignment.has(nodeIdRight)) { - self.nodeToTempPositionMapHorizontal.set(nodeIdRight, self.idToNodeMap.get(self.dummyToNodeForVerticalAlignment.get(nodeIdRight)[0]).getCenterX()); - } else { - self.nodeToTempPositionMapHorizontal.set(nodeIdRight, self.idToNodeMap.get(nodeIdRight).getCenterX()); - } - } - - self.nodeToRelativeConstraintMapHorizontal.get(nodeIdLeft).push({ right: nodeIdRight, gap: constraint.gap }); - self.nodeToRelativeConstraintMapHorizontal.get(nodeIdRight).push({ left: nodeIdLeft, gap: constraint.gap }); - } else { - var nodeIdTop = nodeToDummyForHorizontalAlignment.has(constraint.top) ? nodeToDummyForHorizontalAlignment.get(constraint.top) : constraint.top; - var nodeIdBottom = nodeToDummyForHorizontalAlignment.has(constraint.bottom) ? nodeToDummyForHorizontalAlignment.get(constraint.bottom) : constraint.bottom; - - if (!self.nodesInRelativeVertical.includes(nodeIdTop)) { - self.nodesInRelativeVertical.push(nodeIdTop); - self.nodeToRelativeConstraintMapVertical.set(nodeIdTop, []); - if (self.dummyToNodeForHorizontalAlignment.has(nodeIdTop)) { - self.nodeToTempPositionMapVertical.set(nodeIdTop, self.idToNodeMap.get(self.dummyToNodeForHorizontalAlignment.get(nodeIdTop)[0]).getCenterY()); - } else { - self.nodeToTempPositionMapVertical.set(nodeIdTop, self.idToNodeMap.get(nodeIdTop).getCenterY()); - } - } - if (!self.nodesInRelativeVertical.includes(nodeIdBottom)) { - self.nodesInRelativeVertical.push(nodeIdBottom); - self.nodeToRelativeConstraintMapVertical.set(nodeIdBottom, []); - if (self.dummyToNodeForHorizontalAlignment.has(nodeIdBottom)) { - self.nodeToTempPositionMapVertical.set(nodeIdBottom, self.idToNodeMap.get(self.dummyToNodeForHorizontalAlignment.get(nodeIdBottom)[0]).getCenterY()); - } else { - self.nodeToTempPositionMapVertical.set(nodeIdBottom, self.idToNodeMap.get(nodeIdBottom).getCenterY()); - } - } - self.nodeToRelativeConstraintMapVertical.get(nodeIdTop).push({ bottom: nodeIdBottom, gap: constraint.gap }); - self.nodeToRelativeConstraintMapVertical.get(nodeIdBottom).push({ top: nodeIdTop, gap: constraint.gap }); - } - }); - } else { - var subGraphOnHorizontal = new Map(); // subgraph from vertical RP constraints - var subGraphOnVertical = new Map(); // subgraph from vertical RP constraints - - // construct subgraphs from relative placement constraints - this.constraints.relativePlacementConstraint.forEach(function (constraint) { - if (constraint.left) { - var left = nodeToDummyForVerticalAlignment.has(constraint.left) ? nodeToDummyForVerticalAlignment.get(constraint.left) : constraint.left; - var right = nodeToDummyForVerticalAlignment.has(constraint.right) ? nodeToDummyForVerticalAlignment.get(constraint.right) : constraint.right; - if (subGraphOnHorizontal.has(left)) { - subGraphOnHorizontal.get(left).push(right); - } else { - subGraphOnHorizontal.set(left, [right]); - } - if (subGraphOnHorizontal.has(right)) { - subGraphOnHorizontal.get(right).push(left); - } else { - subGraphOnHorizontal.set(right, [left]); - } - } else { - var top = nodeToDummyForHorizontalAlignment.has(constraint.top) ? nodeToDummyForHorizontalAlignment.get(constraint.top) : constraint.top; - var bottom = nodeToDummyForHorizontalAlignment.has(constraint.bottom) ? nodeToDummyForHorizontalAlignment.get(constraint.bottom) : constraint.bottom; - if (subGraphOnVertical.has(top)) { - subGraphOnVertical.get(top).push(bottom); - } else { - subGraphOnVertical.set(top, [bottom]); - } - if (subGraphOnVertical.has(bottom)) { - subGraphOnVertical.get(bottom).push(top); - } else { - subGraphOnVertical.set(bottom, [top]); - } - } - }); - - // function to construct components from a given graph - // also returns an array that keeps whether each component contains fixed node - var constructComponents = function constructComponents(graph, fixedNodes) { - var components = []; - var isFixed = []; - var queue = new LinkedList(); - var visited = new Set(); - var count = 0; - - graph.forEach(function (value, key) { - if (!visited.has(key)) { - components[count] = []; - isFixed[count] = false; - var currentNode = key; - queue.push(currentNode); - visited.add(currentNode); - components[count].push(currentNode); - - while (queue.length != 0) { - currentNode = queue.shift(); - if (fixedNodes.has(currentNode)) { - isFixed[count] = true; - } - var neighbors = graph.get(currentNode); - neighbors.forEach(function (neighbor) { - if (!visited.has(neighbor)) { - queue.push(neighbor); - visited.add(neighbor); - components[count].push(neighbor); - } - }); - } - count++; - } - }); - - return { components: components, isFixed: isFixed }; - }; - - var resultOnHorizontal = constructComponents(subGraphOnHorizontal, self.fixedNodesOnHorizontal); - this.componentsOnHorizontal = resultOnHorizontal.components; - this.fixedComponentsOnHorizontal = resultOnHorizontal.isFixed; - var resultOnVertical = constructComponents(subGraphOnVertical, self.fixedNodesOnVertical); - this.componentsOnVertical = resultOnVertical.components; - this.fixedComponentsOnVertical = resultOnVertical.isFixed; - } - } -}; - -// updates node displacements based on constraints -CoSELayout.prototype.updateDisplacements = function () { - var self = this; - if (this.constraints.fixedNodeConstraint) { - this.constraints.fixedNodeConstraint.forEach(function (nodeData) { - var fixedNode = self.idToNodeMap.get(nodeData.nodeId); - fixedNode.displacementX = 0; - fixedNode.displacementY = 0; - }); - } - - if (this.constraints.alignmentConstraint) { - if (this.constraints.alignmentConstraint.vertical) { - var allVerticalAlignments = this.constraints.alignmentConstraint.vertical; - for (var i = 0; i < allVerticalAlignments.length; i++) { - var totalDisplacementX = 0; - for (var j = 0; j < allVerticalAlignments[i].length; j++) { - if (this.fixedNodeSet.has(allVerticalAlignments[i][j])) { - totalDisplacementX = 0; - break; - } - totalDisplacementX += this.idToNodeMap.get(allVerticalAlignments[i][j]).displacementX; - } - var averageDisplacementX = totalDisplacementX / allVerticalAlignments[i].length; - for (var j = 0; j < allVerticalAlignments[i].length; j++) { - this.idToNodeMap.get(allVerticalAlignments[i][j]).displacementX = averageDisplacementX; - } - } - } - if (this.constraints.alignmentConstraint.horizontal) { - var allHorizontalAlignments = this.constraints.alignmentConstraint.horizontal; - for (var i = 0; i < allHorizontalAlignments.length; i++) { - var totalDisplacementY = 0; - for (var j = 0; j < allHorizontalAlignments[i].length; j++) { - if (this.fixedNodeSet.has(allHorizontalAlignments[i][j])) { - totalDisplacementY = 0; - break; - } - totalDisplacementY += this.idToNodeMap.get(allHorizontalAlignments[i][j]).displacementY; - } - var averageDisplacementY = totalDisplacementY / allHorizontalAlignments[i].length; - for (var j = 0; j < allHorizontalAlignments[i].length; j++) { - this.idToNodeMap.get(allHorizontalAlignments[i][j]).displacementY = averageDisplacementY; - } - } - } - } - - if (this.constraints.relativePlacementConstraint) { - - if (CoSEConstants.RELAX_MOVEMENT_ON_CONSTRAINTS) { - // shuffle array to randomize node processing order - if (this.totalIterations % 10 == 0) { - this.shuffle(this.nodesInRelativeHorizontal); - this.shuffle(this.nodesInRelativeVertical); - } - - this.nodesInRelativeHorizontal.forEach(function (nodeId) { - if (!self.fixedNodesOnHorizontal.has(nodeId)) { - var displacement = 0; - if (self.dummyToNodeForVerticalAlignment.has(nodeId)) { - displacement = self.idToNodeMap.get(self.dummyToNodeForVerticalAlignment.get(nodeId)[0]).displacementX; - } else { - displacement = self.idToNodeMap.get(nodeId).displacementX; - } - self.nodeToRelativeConstraintMapHorizontal.get(nodeId).forEach(function (constraint) { - if (constraint.right) { - var diff = self.nodeToTempPositionMapHorizontal.get(constraint.right) - self.nodeToTempPositionMapHorizontal.get(nodeId) - displacement; - if (diff < constraint.gap) { - displacement -= constraint.gap - diff; - } - } else { - var diff = self.nodeToTempPositionMapHorizontal.get(nodeId) - self.nodeToTempPositionMapHorizontal.get(constraint.left) + displacement; - if (diff < constraint.gap) { - displacement += constraint.gap - diff; - } - } - }); - self.nodeToTempPositionMapHorizontal.set(nodeId, self.nodeToTempPositionMapHorizontal.get(nodeId) + displacement); - if (self.dummyToNodeForVerticalAlignment.has(nodeId)) { - self.dummyToNodeForVerticalAlignment.get(nodeId).forEach(function (nodeId) { - self.idToNodeMap.get(nodeId).displacementX = displacement; - }); - } else { - self.idToNodeMap.get(nodeId).displacementX = displacement; - } - } - }); - - this.nodesInRelativeVertical.forEach(function (nodeId) { - if (!self.fixedNodesOnHorizontal.has(nodeId)) { - var displacement = 0; - if (self.dummyToNodeForHorizontalAlignment.has(nodeId)) { - displacement = self.idToNodeMap.get(self.dummyToNodeForHorizontalAlignment.get(nodeId)[0]).displacementY; - } else { - displacement = self.idToNodeMap.get(nodeId).displacementY; - } - self.nodeToRelativeConstraintMapVertical.get(nodeId).forEach(function (constraint) { - if (constraint.bottom) { - var diff = self.nodeToTempPositionMapVertical.get(constraint.bottom) - self.nodeToTempPositionMapVertical.get(nodeId) - displacement; - if (diff < constraint.gap) { - displacement -= constraint.gap - diff; - } - } else { - var diff = self.nodeToTempPositionMapVertical.get(nodeId) - self.nodeToTempPositionMapVertical.get(constraint.top) + displacement; - if (diff < constraint.gap) { - displacement += constraint.gap - diff; - } - } - }); - self.nodeToTempPositionMapVertical.set(nodeId, self.nodeToTempPositionMapVertical.get(nodeId) + displacement); - if (self.dummyToNodeForHorizontalAlignment.has(nodeId)) { - self.dummyToNodeForHorizontalAlignment.get(nodeId).forEach(function (nodeId) { - self.idToNodeMap.get(nodeId).displacementY = displacement; - }); - } else { - self.idToNodeMap.get(nodeId).displacementY = displacement; - } - } - }); - } else { - for (var i = 0; i < this.componentsOnHorizontal.length; i++) { - var component = this.componentsOnHorizontal[i]; - if (this.fixedComponentsOnHorizontal[i]) { - for (var j = 0; j < component.length; j++) { - if (this.dummyToNodeForVerticalAlignment.has(component[j])) { - this.dummyToNodeForVerticalAlignment.get(component[j]).forEach(function (nodeId) { - self.idToNodeMap.get(nodeId).displacementX = 0; - }); - } else { - this.idToNodeMap.get(component[j]).displacementX = 0; - } - } - } else { - var sum = 0; - var count = 0; - for (var j = 0; j < component.length; j++) { - if (this.dummyToNodeForVerticalAlignment.has(component[j])) { - var actualNodes = this.dummyToNodeForVerticalAlignment.get(component[j]); - sum += actualNodes.length * this.idToNodeMap.get(actualNodes[0]).displacementX; - count += actualNodes.length; - } else { - sum += this.idToNodeMap.get(component[j]).displacementX; - count++; - } - } - var averageDisplacement = sum / count; - for (var j = 0; j < component.length; j++) { - if (this.dummyToNodeForVerticalAlignment.has(component[j])) { - this.dummyToNodeForVerticalAlignment.get(component[j]).forEach(function (nodeId) { - self.idToNodeMap.get(nodeId).displacementX = averageDisplacement; - }); - } else { - this.idToNodeMap.get(component[j]).displacementX = averageDisplacement; - } - } - } - } - - for (var i = 0; i < this.componentsOnVertical.length; i++) { - var component = this.componentsOnVertical[i]; - if (this.fixedComponentsOnVertical[i]) { - for (var j = 0; j < component.length; j++) { - if (this.dummyToNodeForHorizontalAlignment.has(component[j])) { - this.dummyToNodeForHorizontalAlignment.get(component[j]).forEach(function (nodeId) { - self.idToNodeMap.get(nodeId).displacementY = 0; - }); - } else { - this.idToNodeMap.get(component[j]).displacementY = 0; - } - } - } else { - var sum = 0; - var count = 0; - for (var j = 0; j < component.length; j++) { - if (this.dummyToNodeForHorizontalAlignment.has(component[j])) { - var actualNodes = this.dummyToNodeForHorizontalAlignment.get(component[j]); - sum += actualNodes.length * this.idToNodeMap.get(actualNodes[0]).displacementY; - count += actualNodes.length; - } else { - sum += this.idToNodeMap.get(component[j]).displacementY; - count++; - } - } - var averageDisplacement = sum / count; - for (var j = 0; j < component.length; j++) { - if (this.dummyToNodeForHorizontalAlignment.has(component[j])) { - this.dummyToNodeForHorizontalAlignment.get(component[j]).forEach(function (nodeId) { - self.idToNodeMap.get(nodeId).displacementY = averageDisplacement; - }); - } else { - this.idToNodeMap.get(component[j]).displacementY = averageDisplacement; - } - } - } - } - } - } -}; - -CoSELayout.prototype.calculateNodesToApplyGravitationTo = function () { - var nodeList = []; - var graph; - - var graphs = this.graphManager.getGraphs(); - var size = graphs.length; - var i; - for (i = 0; i < size; i++) { - graph = graphs[i]; - - graph.updateConnected(); - - if (!graph.isConnected) { - nodeList = nodeList.concat(graph.getNodes()); - } - } - - return nodeList; -}; - -CoSELayout.prototype.createBendpoints = function () { - var edges = []; - edges = edges.concat(this.graphManager.getAllEdges()); - var visited = new Set(); - var i; - for (i = 0; i < edges.length; i++) { - var edge = edges[i]; - - if (!visited.has(edge)) { - var source = edge.getSource(); - var target = edge.getTarget(); - - if (source == target) { - edge.getBendpoints().push(new PointD()); - edge.getBendpoints().push(new PointD()); - this.createDummyNodesForBendpoints(edge); - visited.add(edge); - } else { - var edgeList = []; - - edgeList = edgeList.concat(source.getEdgeListToNode(target)); - edgeList = edgeList.concat(target.getEdgeListToNode(source)); - - if (!visited.has(edgeList[0])) { - if (edgeList.length > 1) { - var k; - for (k = 0; k < edgeList.length; k++) { - var multiEdge = edgeList[k]; - multiEdge.getBendpoints().push(new PointD()); - this.createDummyNodesForBendpoints(multiEdge); - } - } - edgeList.forEach(function (edge) { - visited.add(edge); - }); - } - } - } - - if (visited.size == edges.length) { - break; - } - } -}; - -CoSELayout.prototype.positionNodesRadially = function (forest) { - // We tile the trees to a grid row by row; first tree starts at (0,0) - var currentStartingPoint = new Point(0, 0); - var numberOfColumns = Math.ceil(Math.sqrt(forest.length)); - var height = 0; - var currentY = 0; - var currentX = 0; - var point = new PointD(0, 0); - - for (var i = 0; i < forest.length; i++) { - if (i % numberOfColumns == 0) { - // Start of a new row, make the x coordinate 0, increment the - // y coordinate with the max height of the previous row - currentX = 0; - currentY = height; - - if (i != 0) { - currentY += CoSEConstants.DEFAULT_COMPONENT_SEPERATION; - } - - height = 0; - } - - var tree = forest[i]; - - // Find the center of the tree - var centerNode = Layout.findCenterOfTree(tree); - - // Set the staring point of the next tree - currentStartingPoint.x = currentX; - currentStartingPoint.y = currentY; - - // Do a radial layout starting with the center - point = CoSELayout.radialLayout(tree, centerNode, currentStartingPoint); - - if (point.y > height) { - height = Math.floor(point.y); - } - - currentX = Math.floor(point.x + CoSEConstants.DEFAULT_COMPONENT_SEPERATION); - } - - this.transform(new PointD(LayoutConstants.WORLD_CENTER_X - point.x / 2, LayoutConstants.WORLD_CENTER_Y - point.y / 2)); -}; - -CoSELayout.radialLayout = function (tree, centerNode, startingPoint) { - var radialSep = Math.max(this.maxDiagonalInTree(tree), CoSEConstants.DEFAULT_RADIAL_SEPARATION); - CoSELayout.branchRadialLayout(centerNode, null, 0, 359, 0, radialSep); - var bounds = LGraph.calculateBounds(tree); - - var transform = new Transform(); - transform.setDeviceOrgX(bounds.getMinX()); - transform.setDeviceOrgY(bounds.getMinY()); - transform.setWorldOrgX(startingPoint.x); - transform.setWorldOrgY(startingPoint.y); - - for (var i = 0; i < tree.length; i++) { - var node = tree[i]; - node.transform(transform); - } - - var bottomRight = new PointD(bounds.getMaxX(), bounds.getMaxY()); - - return transform.inverseTransformPoint(bottomRight); -}; - -CoSELayout.branchRadialLayout = function (node, parentOfNode, startAngle, endAngle, distance, radialSeparation) { - // First, position this node by finding its angle. - var halfInterval = (endAngle - startAngle + 1) / 2; - - if (halfInterval < 0) { - halfInterval += 180; - } - - var nodeAngle = (halfInterval + startAngle) % 360; - var teta = nodeAngle * IGeometry.TWO_PI / 360; - - // Make polar to java cordinate conversion. - var cos_teta = Math.cos(teta); - var x_ = distance * Math.cos(teta); - var y_ = distance * Math.sin(teta); - - node.setCenter(x_, y_); - - // Traverse all neighbors of this node and recursively call this - // function. - var neighborEdges = []; - neighborEdges = neighborEdges.concat(node.getEdges()); - var childCount = neighborEdges.length; - - if (parentOfNode != null) { - childCount--; - } - - var branchCount = 0; - - var incEdgesCount = neighborEdges.length; - var startIndex; - - var edges = node.getEdgesBetween(parentOfNode); - - // If there are multiple edges, prune them until there remains only one - // edge. - while (edges.length > 1) { - //neighborEdges.remove(edges.remove(0)); - var temp = edges[0]; - edges.splice(0, 1); - var index = neighborEdges.indexOf(temp); - if (index >= 0) { - neighborEdges.splice(index, 1); - } - incEdgesCount--; - childCount--; - } - - if (parentOfNode != null) { - //assert edges.length == 1; - startIndex = (neighborEdges.indexOf(edges[0]) + 1) % incEdgesCount; - } else { - startIndex = 0; - } - - var stepAngle = Math.abs(endAngle - startAngle) / childCount; - - for (var i = startIndex; branchCount != childCount; i = ++i % incEdgesCount) { - var currentNeighbor = neighborEdges[i].getOtherEnd(node); - - // Don't back traverse to root node in current tree. - if (currentNeighbor == parentOfNode) { - continue; - } - - var childStartAngle = (startAngle + branchCount * stepAngle) % 360; - var childEndAngle = (childStartAngle + stepAngle) % 360; - - CoSELayout.branchRadialLayout(currentNeighbor, node, childStartAngle, childEndAngle, distance + radialSeparation, radialSeparation); - - branchCount++; - } -}; - -CoSELayout.maxDiagonalInTree = function (tree) { - var maxDiagonal = Integer.MIN_VALUE; - - for (var i = 0; i < tree.length; i++) { - var node = tree[i]; - var diagonal = node.getDiagonal(); - - if (diagonal > maxDiagonal) { - maxDiagonal = diagonal; - } - } - - return maxDiagonal; -}; - -CoSELayout.prototype.calcRepulsionRange = function () { - // formula is 2 x (level + 1) x idealEdgeLength - return 2 * (this.level + 1) * this.idealEdgeLength; -}; - -// Tiling methods - -// Group zero degree members whose parents are not to be tiled, create dummy parents where needed and fill memberGroups by their dummp parent id's -CoSELayout.prototype.groupZeroDegreeMembers = function () { - var self = this; - // array of [parent_id x oneDegreeNode_id] - var tempMemberGroups = {}; // A temporary map of parent node and its zero degree members - this.memberGroups = {}; // A map of dummy parent node and its zero degree members whose parents are not to be tiled - this.idToDummyNode = {}; // A map of id to dummy node - - var zeroDegree = []; // List of zero degree nodes whose parents are not to be tiled - var allNodes = this.graphManager.getAllNodes(); - - // Fill zero degree list - for (var i = 0; i < allNodes.length; i++) { - var node = allNodes[i]; - var parent = node.getParent(); - // If a node has zero degree and its parent is not to be tiled if exists add that node to zeroDegres list - if (this.getNodeDegreeWithChildren(node) === 0 && (parent.id == undefined || !this.getToBeTiled(parent))) { - zeroDegree.push(node); - } - } - - // Create a map of parent node and its zero degree members - for (var i = 0; i < zeroDegree.length; i++) { - var node = zeroDegree[i]; // Zero degree node itself - var p_id = node.getParent().id; // Parent id - - if (typeof tempMemberGroups[p_id] === "undefined") tempMemberGroups[p_id] = []; - - tempMemberGroups[p_id] = tempMemberGroups[p_id].concat(node); // Push node to the list belongs to its parent in tempMemberGroups - } - - // If there are at least two nodes at a level, create a dummy compound for them - Object.keys(tempMemberGroups).forEach(function (p_id) { - if (tempMemberGroups[p_id].length > 1) { - var dummyCompoundId = "DummyCompound_" + p_id; // The id of dummy compound which will be created soon - self.memberGroups[dummyCompoundId] = tempMemberGroups[p_id]; // Add dummy compound to memberGroups - - var parent = tempMemberGroups[p_id][0].getParent(); // The parent of zero degree nodes will be the parent of new dummy compound - - // Create a dummy compound with calculated id - var dummyCompound = new CoSENode(self.graphManager); - dummyCompound.id = dummyCompoundId; - dummyCompound.paddingLeft = parent.paddingLeft || 0; - dummyCompound.paddingRight = parent.paddingRight || 0; - dummyCompound.paddingBottom = parent.paddingBottom || 0; - dummyCompound.paddingTop = parent.paddingTop || 0; - - self.idToDummyNode[dummyCompoundId] = dummyCompound; - - var dummyParentGraph = self.getGraphManager().add(self.newGraph(), dummyCompound); - var parentGraph = parent.getChild(); - - // Add dummy compound to parent the graph - parentGraph.add(dummyCompound); - - // For each zero degree node in this level remove it from its parent graph and add it to the graph of dummy parent - for (var i = 0; i < tempMemberGroups[p_id].length; i++) { - var node = tempMemberGroups[p_id][i]; - - parentGraph.remove(node); - dummyParentGraph.add(node); - } - } - }); -}; - -CoSELayout.prototype.clearCompounds = function () { - var childGraphMap = {}; - var idToNode = {}; - - // Get compound ordering by finding the inner one first - this.performDFSOnCompounds(); - - for (var i = 0; i < this.compoundOrder.length; i++) { - - idToNode[this.compoundOrder[i].id] = this.compoundOrder[i]; - childGraphMap[this.compoundOrder[i].id] = [].concat(this.compoundOrder[i].getChild().getNodes()); - - // Remove children of compounds - this.graphManager.remove(this.compoundOrder[i].getChild()); - this.compoundOrder[i].child = null; - } - - this.graphManager.resetAllNodes(); - - // Tile the removed children - this.tileCompoundMembers(childGraphMap, idToNode); -}; - -CoSELayout.prototype.clearZeroDegreeMembers = function () { - var self = this; - var tiledZeroDegreePack = this.tiledZeroDegreePack = []; - - Object.keys(this.memberGroups).forEach(function (id) { - var compoundNode = self.idToDummyNode[id]; // Get the dummy compound - - tiledZeroDegreePack[id] = self.tileNodes(self.memberGroups[id], compoundNode.paddingLeft + compoundNode.paddingRight); - - // Set the width and height of the dummy compound as calculated - compoundNode.rect.width = tiledZeroDegreePack[id].width; - compoundNode.rect.height = tiledZeroDegreePack[id].height; - compoundNode.setCenter(tiledZeroDegreePack[id].centerX, tiledZeroDegreePack[id].centerY); - - // compound left and top margings for labels - // when node labels are included, these values may be set to different values below and are used in tilingPostLayout, - // otherwise they stay as zero - compoundNode.labelMarginLeft = 0; - compoundNode.labelMarginTop = 0; - - // Update compound bounds considering its label properties and set label margins for left and top - if (CoSEConstants.NODE_DIMENSIONS_INCLUDE_LABELS) { - - var width = compoundNode.rect.width; - var height = compoundNode.rect.height; - - if (compoundNode.labelWidth) { - if (compoundNode.labelPosHorizontal == "left") { - compoundNode.rect.x -= compoundNode.labelWidth; - compoundNode.setWidth(width + compoundNode.labelWidth); - compoundNode.labelMarginLeft = compoundNode.labelWidth; - } else if (compoundNode.labelPosHorizontal == "center" && compoundNode.labelWidth > width) { - compoundNode.rect.x -= (compoundNode.labelWidth - width) / 2; - compoundNode.setWidth(compoundNode.labelWidth); - compoundNode.labelMarginLeft = (compoundNode.labelWidth - width) / 2; - } else if (compoundNode.labelPosHorizontal == "right") { - compoundNode.setWidth(width + compoundNode.labelWidth); - } - } - - if (compoundNode.labelHeight) { - if (compoundNode.labelPosVertical == "top") { - compoundNode.rect.y -= compoundNode.labelHeight; - compoundNode.setHeight(height + compoundNode.labelHeight); - compoundNode.labelMarginTop = compoundNode.labelHeight; - } else if (compoundNode.labelPosVertical == "center" && compoundNode.labelHeight > height) { - compoundNode.rect.y -= (compoundNode.labelHeight - height) / 2; - compoundNode.setHeight(compoundNode.labelHeight); - compoundNode.labelMarginTop = (compoundNode.labelHeight - height) / 2; - } else if (compoundNode.labelPosVertical == "bottom") { - compoundNode.setHeight(height + compoundNode.labelHeight); - } - } - } - }); -}; - -CoSELayout.prototype.repopulateCompounds = function () { - for (var i = this.compoundOrder.length - 1; i >= 0; i--) { - var lCompoundNode = this.compoundOrder[i]; - var id = lCompoundNode.id; - var horizontalMargin = lCompoundNode.paddingLeft; - var verticalMargin = lCompoundNode.paddingTop; - var labelMarginLeft = lCompoundNode.labelMarginLeft; - var labelMarginTop = lCompoundNode.labelMarginTop; - - this.adjustLocations(this.tiledMemberPack[id], lCompoundNode.rect.x, lCompoundNode.rect.y, horizontalMargin, verticalMargin, labelMarginLeft, labelMarginTop); - } -}; - -CoSELayout.prototype.repopulateZeroDegreeMembers = function () { - var self = this; - var tiledPack = this.tiledZeroDegreePack; - - Object.keys(tiledPack).forEach(function (id) { - var compoundNode = self.idToDummyNode[id]; // Get the dummy compound by its id - var horizontalMargin = compoundNode.paddingLeft; - var verticalMargin = compoundNode.paddingTop; - var labelMarginLeft = compoundNode.labelMarginLeft; - var labelMarginTop = compoundNode.labelMarginTop; - - // Adjust the positions of nodes wrt its compound - self.adjustLocations(tiledPack[id], compoundNode.rect.x, compoundNode.rect.y, horizontalMargin, verticalMargin, labelMarginLeft, labelMarginTop); - }); -}; - -CoSELayout.prototype.getToBeTiled = function (node) { - var id = node.id; - //firstly check the previous results - if (this.toBeTiled[id] != null) { - return this.toBeTiled[id]; - } - - //only compound nodes are to be tiled - var childGraph = node.getChild(); - if (childGraph == null) { - this.toBeTiled[id] = false; - return false; - } - - var children = childGraph.getNodes(); // Get the children nodes - - //a compound node is not to be tiled if all of its compound children are not to be tiled - for (var i = 0; i < children.length; i++) { - var theChild = children[i]; - - if (this.getNodeDegree(theChild) > 0) { - this.toBeTiled[id] = false; - return false; - } - - //pass the children not having the compound structure - if (theChild.getChild() == null) { - this.toBeTiled[theChild.id] = false; - continue; - } - - if (!this.getToBeTiled(theChild)) { - this.toBeTiled[id] = false; - return false; - } - } - this.toBeTiled[id] = true; - return true; -}; - -// Get degree of a node depending of its edges and independent of its children -CoSELayout.prototype.getNodeDegree = function (node) { - var id = node.id; - var edges = node.getEdges(); - var degree = 0; - - // For the edges connected - for (var i = 0; i < edges.length; i++) { - var edge = edges[i]; - if (edge.getSource().id !== edge.getTarget().id) { - degree = degree + 1; - } - } - return degree; -}; - -// Get degree of a node with its children -CoSELayout.prototype.getNodeDegreeWithChildren = function (node) { - var degree = this.getNodeDegree(node); - if (node.getChild() == null) { - return degree; - } - var children = node.getChild().getNodes(); - for (var i = 0; i < children.length; i++) { - var child = children[i]; - degree += this.getNodeDegreeWithChildren(child); - } - return degree; -}; - -CoSELayout.prototype.performDFSOnCompounds = function () { - this.compoundOrder = []; - this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes()); -}; - -CoSELayout.prototype.fillCompexOrderByDFS = function (children) { - for (var i = 0; i < children.length; i++) { - var child = children[i]; - if (child.getChild() != null) { - this.fillCompexOrderByDFS(child.getChild().getNodes()); - } - if (this.getToBeTiled(child)) { - this.compoundOrder.push(child); - } - } -}; - -/** -* This method places each zero degree member wrt given (x,y) coordinates (top left). -*/ -CoSELayout.prototype.adjustLocations = function (organization, x, y, compoundHorizontalMargin, compoundVerticalMargin, compoundLabelMarginLeft, compoundLabelMarginTop) { - x += compoundHorizontalMargin + compoundLabelMarginLeft; - y += compoundVerticalMargin + compoundLabelMarginTop; - - var left = x; - - for (var i = 0; i < organization.rows.length; i++) { - var row = organization.rows[i]; - x = left; - var maxHeight = 0; - - for (var j = 0; j < row.length; j++) { - var lnode = row[j]; - - lnode.rect.x = x; // + lnode.rect.width / 2; - lnode.rect.y = y; // + lnode.rect.height / 2; - - x += lnode.rect.width + organization.horizontalPadding; - - if (lnode.rect.height > maxHeight) maxHeight = lnode.rect.height; - } - - y += maxHeight + organization.verticalPadding; - } -}; - -CoSELayout.prototype.tileCompoundMembers = function (childGraphMap, idToNode) { - var self = this; - this.tiledMemberPack = []; - - Object.keys(childGraphMap).forEach(function (id) { - // Get the compound node - var compoundNode = idToNode[id]; - - self.tiledMemberPack[id] = self.tileNodes(childGraphMap[id], compoundNode.paddingLeft + compoundNode.paddingRight); - - compoundNode.rect.width = self.tiledMemberPack[id].width; - compoundNode.rect.height = self.tiledMemberPack[id].height; - compoundNode.setCenter(self.tiledMemberPack[id].centerX, self.tiledMemberPack[id].centerY); - - // compound left and top margings for labels - // when node labels are included, these values may be set to different values below and are used in tilingPostLayout, - // otherwise they stay as zero - compoundNode.labelMarginLeft = 0; - compoundNode.labelMarginTop = 0; - - // Update compound bounds considering its label properties and set label margins for left and top - if (CoSEConstants.NODE_DIMENSIONS_INCLUDE_LABELS) { - - var width = compoundNode.rect.width; - var height = compoundNode.rect.height; - - if (compoundNode.labelWidth) { - if (compoundNode.labelPosHorizontal == "left") { - compoundNode.rect.x -= compoundNode.labelWidth; - compoundNode.setWidth(width + compoundNode.labelWidth); - compoundNode.labelMarginLeft = compoundNode.labelWidth; - } else if (compoundNode.labelPosHorizontal == "center" && compoundNode.labelWidth > width) { - compoundNode.rect.x -= (compoundNode.labelWidth - width) / 2; - compoundNode.setWidth(compoundNode.labelWidth); - compoundNode.labelMarginLeft = (compoundNode.labelWidth - width) / 2; - } else if (compoundNode.labelPosHorizontal == "right") { - compoundNode.setWidth(width + compoundNode.labelWidth); - } - } - - if (compoundNode.labelHeight) { - if (compoundNode.labelPosVertical == "top") { - compoundNode.rect.y -= compoundNode.labelHeight; - compoundNode.setHeight(height + compoundNode.labelHeight); - compoundNode.labelMarginTop = compoundNode.labelHeight; - } else if (compoundNode.labelPosVertical == "center" && compoundNode.labelHeight > height) { - compoundNode.rect.y -= (compoundNode.labelHeight - height) / 2; - compoundNode.setHeight(compoundNode.labelHeight); - compoundNode.labelMarginTop = (compoundNode.labelHeight - height) / 2; - } else if (compoundNode.labelPosVertical == "bottom") { - compoundNode.setHeight(height + compoundNode.labelHeight); - } - } - } - }); -}; - -CoSELayout.prototype.tileNodes = function (nodes, minWidth) { - var horizontalOrg = this.tileNodesByFavoringDim(nodes, minWidth, true); - var verticalOrg = this.tileNodesByFavoringDim(nodes, minWidth, false); - - var horizontalRatio = this.getOrgRatio(horizontalOrg); - var verticalRatio = this.getOrgRatio(verticalOrg); - var bestOrg; - - // the best ratio is the one that is closer to 1 since the ratios are already normalized - // and the best organization is the one that has the best ratio - if (verticalRatio < horizontalRatio) { - bestOrg = verticalOrg; - } else { - bestOrg = horizontalOrg; - } - - return bestOrg; -}; - -// get the width/height ratio of the organization that is normalized so that it will not be less than 1 -CoSELayout.prototype.getOrgRatio = function (organization) { - // get dimensions and calculate the initial ratio - var width = organization.width; - var height = organization.height; - var ratio = width / height; - - // if the initial ratio is less then 1 then inverse it - if (ratio < 1) { - ratio = 1 / ratio; - } - - // return the normalized ratio - return ratio; -}; - -/* - * Calculates the ideal width for the rows. This method assumes that - * each node has the same sizes and calculates the ideal row width that - * approximates a square shaped complex accordingly. However, since nodes would - * have different sizes some rows would have different sizes and the resulting - * shape would not be an exact square. - */ -CoSELayout.prototype.calcIdealRowWidth = function (members, favorHorizontalDim) { - // To approximate a square shaped complex we need to make complex width equal to complex height. - // To achieve this we need to solve the following equation system for hc: - // (x + bx) * hc - bx = (y + by) * vc - by, hc * vc = n - // where x is the avarage width of the nodes, y is the avarage height of nodes - // bx and by are the buffer sizes in horizontal and vertical dimensions accordingly, - // hc and vc are the number of rows in horizontal and vertical dimensions - // n is number of members. - - var verticalPadding = CoSEConstants.TILING_PADDING_VERTICAL; - var horizontalPadding = CoSEConstants.TILING_PADDING_HORIZONTAL; - - // number of members - var membersSize = members.length; - - // sum of the width of all members - var totalWidth = 0; - - // sum of the height of all members - var totalHeight = 0; - - var maxWidth = 0; - - // traverse all members to calculate total width and total height and get the maximum members width - members.forEach(function (node) { - totalWidth += node.getWidth(); - totalHeight += node.getHeight(); - - if (node.getWidth() > maxWidth) { - maxWidth = node.getWidth(); - } - }); - - // average width of the members - var averageWidth = totalWidth / membersSize; - - // average height of the members - var averageHeight = totalHeight / membersSize; - - // solving the initial equation system for the hc yields the following second degree equation: - // hc^2 * (x+bx) + hc * (by - bx) - n * (y + by) = 0 - - // the delta value to solve the equation above for hc - var delta = Math.pow(verticalPadding - horizontalPadding, 2) + 4 * (averageWidth + horizontalPadding) * (averageHeight + verticalPadding) * membersSize; - - // solve the equation using delta value to calculate the horizontal count - // that represents the number of nodes in an ideal row - var horizontalCountDouble = (horizontalPadding - verticalPadding + Math.sqrt(delta)) / (2 * (averageWidth + horizontalPadding)); - // round the calculated horizontal count up or down according to the favored dimension - var horizontalCount; - - if (favorHorizontalDim) { - horizontalCount = Math.ceil(horizontalCountDouble); - // if horizontalCount count is not a float value then both of rounding to floor and ceil - // will yield the same values. Instead of repeating the same calculation try going up - // while favoring horizontal dimension in such cases - if (horizontalCount == horizontalCountDouble) { - horizontalCount++; - } - } else { - horizontalCount = Math.floor(horizontalCountDouble); - } - - // ideal width to be calculated - var idealWidth = horizontalCount * (averageWidth + horizontalPadding) - horizontalPadding; - - // if max width is bigger than calculated ideal width reset ideal width to it - if (maxWidth > idealWidth) { - idealWidth = maxWidth; - } - - // add the left-right margins to the ideal row width - idealWidth += horizontalPadding * 2; - - // return the ideal row width1 - return idealWidth; -}; - -CoSELayout.prototype.tileNodesByFavoringDim = function (nodes, minWidth, favorHorizontalDim) { - var verticalPadding = CoSEConstants.TILING_PADDING_VERTICAL; - var horizontalPadding = CoSEConstants.TILING_PADDING_HORIZONTAL; - var tilingCompareBy = CoSEConstants.TILING_COMPARE_BY; - var organization = { - rows: [], - rowWidth: [], - rowHeight: [], - width: 0, - height: minWidth, // assume minHeight equals to minWidth - verticalPadding: verticalPadding, - horizontalPadding: horizontalPadding, - centerX: 0, - centerY: 0 - }; - - if (tilingCompareBy) { - organization.idealRowWidth = this.calcIdealRowWidth(nodes, favorHorizontalDim); - } - - var getNodeArea = function getNodeArea(n) { - return n.rect.width * n.rect.height; - }; - - var areaCompareFcn = function areaCompareFcn(n1, n2) { - return getNodeArea(n2) - getNodeArea(n1); - }; - - // Sort the nodes in descending order of their areas - nodes.sort(function (n1, n2) { - var cmpBy = areaCompareFcn; - if (organization.idealRowWidth) { - cmpBy = tilingCompareBy; - return cmpBy(n1.id, n2.id); - } - return cmpBy(n1, n2); - }); - - // Create the organization -> calculate compound center - var sumCenterX = 0; - var sumCenterY = 0; - for (var i = 0; i < nodes.length; i++) { - var lNode = nodes[i]; - - sumCenterX += lNode.getCenterX(); - sumCenterY += lNode.getCenterY(); - } - - organization.centerX = sumCenterX / nodes.length; - organization.centerY = sumCenterY / nodes.length; - - // Create the organization -> tile members - for (var i = 0; i < nodes.length; i++) { - var lNode = nodes[i]; - - if (organization.rows.length == 0) { - this.insertNodeToRow(organization, lNode, 0, minWidth); - } else if (this.canAddHorizontal(organization, lNode.rect.width, lNode.rect.height)) { - var rowIndex = organization.rows.length - 1; - if (!organization.idealRowWidth) { - rowIndex = this.getShortestRowIndex(organization); - } - this.insertNodeToRow(organization, lNode, rowIndex, minWidth); - } else { - this.insertNodeToRow(organization, lNode, organization.rows.length, minWidth); - } - - this.shiftToLastRow(organization); - } - - return organization; -}; - -CoSELayout.prototype.insertNodeToRow = function (organization, node, rowIndex, minWidth) { - var minCompoundSize = minWidth; - - // Add new row if needed - if (rowIndex == organization.rows.length) { - var secondDimension = []; - - organization.rows.push(secondDimension); - organization.rowWidth.push(minCompoundSize); - organization.rowHeight.push(0); - } - - // Update row width - var w = organization.rowWidth[rowIndex] + node.rect.width; - - if (organization.rows[rowIndex].length > 0) { - w += organization.horizontalPadding; - } - - organization.rowWidth[rowIndex] = w; - // Update compound width - if (organization.width < w) { - organization.width = w; - } - - // Update height - var h = node.rect.height; - if (rowIndex > 0) h += organization.verticalPadding; - - var extraHeight = 0; - if (h > organization.rowHeight[rowIndex]) { - extraHeight = organization.rowHeight[rowIndex]; - organization.rowHeight[rowIndex] = h; - extraHeight = organization.rowHeight[rowIndex] - extraHeight; - } - - organization.height += extraHeight; - - // Insert node - organization.rows[rowIndex].push(node); -}; - -//Scans the rows of an organization and returns the one with the min width -CoSELayout.prototype.getShortestRowIndex = function (organization) { - var r = -1; - var min = Number.MAX_VALUE; - - for (var i = 0; i < organization.rows.length; i++) { - if (organization.rowWidth[i] < min) { - r = i; - min = organization.rowWidth[i]; - } - } - return r; -}; - -//Scans the rows of an organization and returns the one with the max width -CoSELayout.prototype.getLongestRowIndex = function (organization) { - var r = -1; - var max = Number.MIN_VALUE; - - for (var i = 0; i < organization.rows.length; i++) { - - if (organization.rowWidth[i] > max) { - r = i; - max = organization.rowWidth[i]; - } - } - - return r; -}; - -/** -* This method checks whether adding extra width to the organization violates -* the aspect ratio(1) or not. -*/ -CoSELayout.prototype.canAddHorizontal = function (organization, extraWidth, extraHeight) { - - // if there is an ideal row width specified use it instead of checking the aspect ratio - if (organization.idealRowWidth) { - var lastRowIndex = organization.rows.length - 1; - var lastRowWidth = organization.rowWidth[lastRowIndex]; - - // check and return if ideal row width will be exceed if the node is added to the row - return lastRowWidth + extraWidth + organization.horizontalPadding <= organization.idealRowWidth; - } - - var sri = this.getShortestRowIndex(organization); - - if (sri < 0) { - return true; - } - - var min = organization.rowWidth[sri]; - - if (min + organization.horizontalPadding + extraWidth <= organization.width) return true; - - var hDiff = 0; - - // Adding to an existing row - if (organization.rowHeight[sri] < extraHeight) { - if (sri > 0) hDiff = extraHeight + organization.verticalPadding - organization.rowHeight[sri]; - } - - var add_to_row_ratio; - if (organization.width - min >= extraWidth + organization.horizontalPadding) { - add_to_row_ratio = (organization.height + hDiff) / (min + extraWidth + organization.horizontalPadding); - } else { - add_to_row_ratio = (organization.height + hDiff) / organization.width; - } - - // Adding a new row for this node - hDiff = extraHeight + organization.verticalPadding; - var add_new_row_ratio; - if (organization.width < extraWidth) { - add_new_row_ratio = (organization.height + hDiff) / extraWidth; - } else { - add_new_row_ratio = (organization.height + hDiff) / organization.width; - } - - if (add_new_row_ratio < 1) add_new_row_ratio = 1 / add_new_row_ratio; - - if (add_to_row_ratio < 1) add_to_row_ratio = 1 / add_to_row_ratio; - - return add_to_row_ratio < add_new_row_ratio; -}; - -//If moving the last node from the longest row and adding it to the last -//row makes the bounding box smaller, do it. -CoSELayout.prototype.shiftToLastRow = function (organization) { - var longest = this.getLongestRowIndex(organization); - var last = organization.rowWidth.length - 1; - var row = organization.rows[longest]; - var node = row[row.length - 1]; - - var diff = node.width + organization.horizontalPadding; - - // Check if there is enough space on the last row - if (organization.width - organization.rowWidth[last] > diff && longest != last) { - // Remove the last element of the longest row - row.splice(-1, 1); - - // Push it to the last row - organization.rows[last].push(node); - - organization.rowWidth[longest] = organization.rowWidth[longest] - diff; - organization.rowWidth[last] = organization.rowWidth[last] + diff; - organization.width = organization.rowWidth[instance.getLongestRowIndex(organization)]; - - // Update heights of the organization - var maxHeight = Number.MIN_VALUE; - for (var i = 0; i < row.length; i++) { - if (row[i].height > maxHeight) maxHeight = row[i].height; - } - if (longest > 0) maxHeight += organization.verticalPadding; - - var prevTotal = organization.rowHeight[longest] + organization.rowHeight[last]; - - organization.rowHeight[longest] = maxHeight; - if (organization.rowHeight[last] < node.height + organization.verticalPadding) organization.rowHeight[last] = node.height + organization.verticalPadding; - - var finalTotal = organization.rowHeight[longest] + organization.rowHeight[last]; - organization.height += finalTotal - prevTotal; - - this.shiftToLastRow(organization); - } -}; - -CoSELayout.prototype.tilingPreLayout = function () { - if (CoSEConstants.TILE) { - // Find zero degree nodes and create a compound for each level - this.groupZeroDegreeMembers(); - // Tile and clear children of each compound - this.clearCompounds(); - // Separately tile and clear zero degree nodes for each level - this.clearZeroDegreeMembers(); - } -}; - -CoSELayout.prototype.tilingPostLayout = function () { - if (CoSEConstants.TILE) { - this.repopulateZeroDegreeMembers(); - this.repopulateCompounds(); - } -}; - -// ----------------------------------------------------------------------------- -// Section: Tree Reduction methods -// ----------------------------------------------------------------------------- -// Reduce trees -CoSELayout.prototype.reduceTrees = function () { - var prunedNodesAll = []; - var containsLeaf = true; - var node; - - while (containsLeaf) { - var allNodes = this.graphManager.getAllNodes(); - var prunedNodesInStepTemp = []; - containsLeaf = false; - - for (var i = 0; i < allNodes.length; i++) { - node = allNodes[i]; - if (node.getEdges().length == 1 && !node.getEdges()[0].isInterGraph && node.getChild() == null) { - if (CoSEConstants.PURE_INCREMENTAL) { - var otherEnd = node.getEdges()[0].getOtherEnd(node); - var relativePosition = new DimensionD(node.getCenterX() - otherEnd.getCenterX(), node.getCenterY() - otherEnd.getCenterY()); - prunedNodesInStepTemp.push([node, node.getEdges()[0], node.getOwner(), relativePosition]); - } else { - prunedNodesInStepTemp.push([node, node.getEdges()[0], node.getOwner()]); - } - containsLeaf = true; - } - } - if (containsLeaf == true) { - var prunedNodesInStep = []; - for (var j = 0; j < prunedNodesInStepTemp.length; j++) { - if (prunedNodesInStepTemp[j][0].getEdges().length == 1) { - prunedNodesInStep.push(prunedNodesInStepTemp[j]); - prunedNodesInStepTemp[j][0].getOwner().remove(prunedNodesInStepTemp[j][0]); - } - } - prunedNodesAll.push(prunedNodesInStep); - this.graphManager.resetAllNodes(); - this.graphManager.resetAllEdges(); - } - } - this.prunedNodesAll = prunedNodesAll; -}; - -// Grow tree one step -CoSELayout.prototype.growTree = function (prunedNodesAll) { - var lengthOfPrunedNodesInStep = prunedNodesAll.length; - var prunedNodesInStep = prunedNodesAll[lengthOfPrunedNodesInStep - 1]; - - var nodeData; - for (var i = 0; i < prunedNodesInStep.length; i++) { - nodeData = prunedNodesInStep[i]; - - this.findPlaceforPrunedNode(nodeData); - - nodeData[2].add(nodeData[0]); - nodeData[2].add(nodeData[1], nodeData[1].source, nodeData[1].target); - } - - prunedNodesAll.splice(prunedNodesAll.length - 1, 1); - this.graphManager.resetAllNodes(); - this.graphManager.resetAllEdges(); -}; - -// Find an appropriate position to replace pruned node, this method can be improved -CoSELayout.prototype.findPlaceforPrunedNode = function (nodeData) { - - var gridForPrunedNode; - var nodeToConnect; - var prunedNode = nodeData[0]; - if (prunedNode == nodeData[1].source) { - nodeToConnect = nodeData[1].target; - } else { - nodeToConnect = nodeData[1].source; - } - - if (CoSEConstants.PURE_INCREMENTAL) { - prunedNode.setCenter(nodeToConnect.getCenterX() + nodeData[3].getWidth(), nodeToConnect.getCenterY() + nodeData[3].getHeight()); - } else { - var startGridX = nodeToConnect.startX; - var finishGridX = nodeToConnect.finishX; - var startGridY = nodeToConnect.startY; - var finishGridY = nodeToConnect.finishY; - - var upNodeCount = 0; - var downNodeCount = 0; - var rightNodeCount = 0; - var leftNodeCount = 0; - var controlRegions = [upNodeCount, rightNodeCount, downNodeCount, leftNodeCount]; - - if (startGridY > 0) { - for (var i = startGridX; i <= finishGridX; i++) { - controlRegions[0] += this.grid[i][startGridY - 1].length + this.grid[i][startGridY].length - 1; - } - } - if (finishGridX < this.grid.length - 1) { - for (var i = startGridY; i <= finishGridY; i++) { - controlRegions[1] += this.grid[finishGridX + 1][i].length + this.grid[finishGridX][i].length - 1; - } - } - if (finishGridY < this.grid[0].length - 1) { - for (var i = startGridX; i <= finishGridX; i++) { - controlRegions[2] += this.grid[i][finishGridY + 1].length + this.grid[i][finishGridY].length - 1; - } - } - if (startGridX > 0) { - for (var i = startGridY; i <= finishGridY; i++) { - controlRegions[3] += this.grid[startGridX - 1][i].length + this.grid[startGridX][i].length - 1; - } - } - var min = Integer.MAX_VALUE; - var minCount; - var minIndex; - for (var j = 0; j < controlRegions.length; j++) { - if (controlRegions[j] < min) { - min = controlRegions[j]; - minCount = 1; - minIndex = j; - } else if (controlRegions[j] == min) { - minCount++; - } - } - - if (minCount == 3 && min == 0) { - if (controlRegions[0] == 0 && controlRegions[1] == 0 && controlRegions[2] == 0) { - gridForPrunedNode = 1; - } else if (controlRegions[0] == 0 && controlRegions[1] == 0 && controlRegions[3] == 0) { - gridForPrunedNode = 0; - } else if (controlRegions[0] == 0 && controlRegions[2] == 0 && controlRegions[3] == 0) { - gridForPrunedNode = 3; - } else if (controlRegions[1] == 0 && controlRegions[2] == 0 && controlRegions[3] == 0) { - gridForPrunedNode = 2; - } - } else if (minCount == 2 && min == 0) { - var random = Math.floor(Math.random() * 2); - if (controlRegions[0] == 0 && controlRegions[1] == 0) { - ; - if (random == 0) { - gridForPrunedNode = 0; - } else { - gridForPrunedNode = 1; - } - } else if (controlRegions[0] == 0 && controlRegions[2] == 0) { - if (random == 0) { - gridForPrunedNode = 0; - } else { - gridForPrunedNode = 2; - } - } else if (controlRegions[0] == 0 && controlRegions[3] == 0) { - if (random == 0) { - gridForPrunedNode = 0; - } else { - gridForPrunedNode = 3; - } - } else if (controlRegions[1] == 0 && controlRegions[2] == 0) { - if (random == 0) { - gridForPrunedNode = 1; - } else { - gridForPrunedNode = 2; - } - } else if (controlRegions[1] == 0 && controlRegions[3] == 0) { - if (random == 0) { - gridForPrunedNode = 1; - } else { - gridForPrunedNode = 3; - } - } else { - if (random == 0) { - gridForPrunedNode = 2; - } else { - gridForPrunedNode = 3; - } - } - } else if (minCount == 4 && min == 0) { - var random = Math.floor(Math.random() * 4); - gridForPrunedNode = random; - } else { - gridForPrunedNode = minIndex; - } - - if (gridForPrunedNode == 0) { - prunedNode.setCenter(nodeToConnect.getCenterX(), nodeToConnect.getCenterY() - nodeToConnect.getHeight() / 2 - FDLayoutConstants.DEFAULT_EDGE_LENGTH - prunedNode.getHeight() / 2); - } else if (gridForPrunedNode == 1) { - prunedNode.setCenter(nodeToConnect.getCenterX() + nodeToConnect.getWidth() / 2 + FDLayoutConstants.DEFAULT_EDGE_LENGTH + prunedNode.getWidth() / 2, nodeToConnect.getCenterY()); - } else if (gridForPrunedNode == 2) { - prunedNode.setCenter(nodeToConnect.getCenterX(), nodeToConnect.getCenterY() + nodeToConnect.getHeight() / 2 + FDLayoutConstants.DEFAULT_EDGE_LENGTH + prunedNode.getHeight() / 2); - } else { - prunedNode.setCenter(nodeToConnect.getCenterX() - nodeToConnect.getWidth() / 2 - FDLayoutConstants.DEFAULT_EDGE_LENGTH - prunedNode.getWidth() / 2, nodeToConnect.getCenterY()); - } - } -}; - -module.exports = CoSELayout; - -/***/ }), - -/***/ 991: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - - - -var FDLayoutNode = __webpack_require__(551).FDLayoutNode; -var IMath = __webpack_require__(551).IMath; - -function CoSENode(gm, loc, size, vNode) { - FDLayoutNode.call(this, gm, loc, size, vNode); -} - -CoSENode.prototype = Object.create(FDLayoutNode.prototype); -for (var prop in FDLayoutNode) { - CoSENode[prop] = FDLayoutNode[prop]; -} - -CoSENode.prototype.calculateDisplacement = function () { - var layout = this.graphManager.getLayout(); - // this check is for compound nodes that contain fixed nodes - if (this.getChild() != null && this.fixedNodeWeight) { - this.displacementX += layout.coolingFactor * (this.springForceX + this.repulsionForceX + this.gravitationForceX) / this.fixedNodeWeight; - this.displacementY += layout.coolingFactor * (this.springForceY + this.repulsionForceY + this.gravitationForceY) / this.fixedNodeWeight; - } else { - this.displacementX += layout.coolingFactor * (this.springForceX + this.repulsionForceX + this.gravitationForceX) / this.noOfChildren; - this.displacementY += layout.coolingFactor * (this.springForceY + this.repulsionForceY + this.gravitationForceY) / this.noOfChildren; - } - - if (Math.abs(this.displacementX) > layout.coolingFactor * layout.maxNodeDisplacement) { - this.displacementX = layout.coolingFactor * layout.maxNodeDisplacement * IMath.sign(this.displacementX); - } - - if (Math.abs(this.displacementY) > layout.coolingFactor * layout.maxNodeDisplacement) { - this.displacementY = layout.coolingFactor * layout.maxNodeDisplacement * IMath.sign(this.displacementY); - } - - // non-empty compound node, propogate movement to children as well - if (this.child && this.child.getNodes().length > 0) { - this.propogateDisplacementToChildren(this.displacementX, this.displacementY); - } -}; - -CoSENode.prototype.propogateDisplacementToChildren = function (dX, dY) { - var nodes = this.getChild().getNodes(); - var node; - for (var i = 0; i < nodes.length; i++) { - node = nodes[i]; - if (node.getChild() == null) { - node.displacementX += dX; - node.displacementY += dY; - } else { - node.propogateDisplacementToChildren(dX, dY); - } - } -}; - -CoSENode.prototype.move = function () { - var layout = this.graphManager.getLayout(); - - // a simple node or an empty compound node, move it - if (this.child == null || this.child.getNodes().length == 0) { - this.moveBy(this.displacementX, this.displacementY); - - layout.totalDisplacement += Math.abs(this.displacementX) + Math.abs(this.displacementY); - } - - this.springForceX = 0; - this.springForceY = 0; - this.repulsionForceX = 0; - this.repulsionForceY = 0; - this.gravitationForceX = 0; - this.gravitationForceY = 0; - this.displacementX = 0; - this.displacementY = 0; -}; - -CoSENode.prototype.setPred1 = function (pred1) { - this.pred1 = pred1; -}; - -CoSENode.prototype.getPred1 = function () { - return pred1; -}; - -CoSENode.prototype.getPred2 = function () { - return pred2; -}; - -CoSENode.prototype.setNext = function (next) { - this.next = next; -}; - -CoSENode.prototype.getNext = function () { - return next; -}; - -CoSENode.prototype.setProcessed = function (processed) { - this.processed = processed; -}; - -CoSENode.prototype.isProcessed = function () { - return processed; -}; - -module.exports = CoSENode; - -/***/ }), - -/***/ 902: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - - - -function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } - -var CoSEConstants = __webpack_require__(806); -var LinkedList = __webpack_require__(551).LinkedList; -var Matrix = __webpack_require__(551).Matrix; -var SVD = __webpack_require__(551).SVD; - -function ConstraintHandler() {} - -ConstraintHandler.handleConstraints = function (layout) { - // let layout = this.graphManager.getLayout(); - - // get constraints from layout - var constraints = {}; - constraints.fixedNodeConstraint = layout.constraints.fixedNodeConstraint; - constraints.alignmentConstraint = layout.constraints.alignmentConstraint; - constraints.relativePlacementConstraint = layout.constraints.relativePlacementConstraint; - - var idToNodeMap = new Map(); - var nodeIndexes = new Map(); - var xCoords = []; - var yCoords = []; - - var allNodes = layout.getAllNodes(); - var index = 0; - // fill index map and coordinates - for (var i = 0; i < allNodes.length; i++) { - var node = allNodes[i]; - if (node.getChild() == null) { - nodeIndexes.set(node.id, index++); - xCoords.push(node.getCenterX()); - yCoords.push(node.getCenterY()); - idToNodeMap.set(node.id, node); - } - } - - // if there exists relative placement constraint without gap value, set it to default - if (constraints.relativePlacementConstraint) { - constraints.relativePlacementConstraint.forEach(function (constraint) { - if (!constraint.gap && constraint.gap != 0) { - if (constraint.left) { - constraint.gap = CoSEConstants.DEFAULT_EDGE_LENGTH + idToNodeMap.get(constraint.left).getWidth() / 2 + idToNodeMap.get(constraint.right).getWidth() / 2; - } else { - constraint.gap = CoSEConstants.DEFAULT_EDGE_LENGTH + idToNodeMap.get(constraint.top).getHeight() / 2 + idToNodeMap.get(constraint.bottom).getHeight() / 2; - } - } - }); - } - - /* auxiliary functions */ - - // calculate difference between two position objects - var calculatePositionDiff = function calculatePositionDiff(pos1, pos2) { - return { x: pos1.x - pos2.x, y: pos1.y - pos2.y }; - }; - - // calculate average position of the nodes - var calculateAvgPosition = function calculateAvgPosition(nodeIdSet) { - var xPosSum = 0; - var yPosSum = 0; - nodeIdSet.forEach(function (nodeId) { - xPosSum += xCoords[nodeIndexes.get(nodeId)]; - yPosSum += yCoords[nodeIndexes.get(nodeId)]; - }); - - return { x: xPosSum / nodeIdSet.size, y: yPosSum / nodeIdSet.size }; - }; - - // find an appropriate positioning for the nodes in a given graph according to relative placement constraints - // this function also takes the fixed nodes and alignment constraints into account - // graph: dag to be evaluated, direction: "horizontal" or "vertical", - // fixedNodes: set of fixed nodes to consider during evaluation, dummyPositions: appropriate coordinates of the dummy nodes - var findAppropriatePositionForRelativePlacement = function findAppropriatePositionForRelativePlacement(graph, direction, fixedNodes, dummyPositions, componentSources) { - - // find union of two sets - function setUnion(setA, setB) { - var union = new Set(setA); - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = setB[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var elem = _step.value; - - union.add(elem); - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - return union; - } - - // find indegree count for each node - var inDegrees = new Map(); - - graph.forEach(function (value, key) { - inDegrees.set(key, 0); - }); - graph.forEach(function (value, key) { - value.forEach(function (adjacent) { - inDegrees.set(adjacent.id, inDegrees.get(adjacent.id) + 1); - }); - }); - - var positionMap = new Map(); // keeps the position for each node - var pastMap = new Map(); // keeps the predecessors(past) of a node - var queue = new LinkedList(); - inDegrees.forEach(function (value, key) { - if (value == 0) { - queue.push(key); - if (!fixedNodes) { - if (direction == "horizontal") { - positionMap.set(key, nodeIndexes.has(key) ? xCoords[nodeIndexes.get(key)] : dummyPositions.get(key)); - } else { - positionMap.set(key, nodeIndexes.has(key) ? yCoords[nodeIndexes.get(key)] : dummyPositions.get(key)); - } - } - } else { - positionMap.set(key, Number.NEGATIVE_INFINITY); - } - if (fixedNodes) { - pastMap.set(key, new Set([key])); - } - }); - - // align sources of each component in enforcement phase - if (fixedNodes) { - componentSources.forEach(function (component) { - var fixedIds = []; - component.forEach(function (nodeId) { - if (fixedNodes.has(nodeId)) { - fixedIds.push(nodeId); - } - }); - if (fixedIds.length > 0) { - var position = 0; - fixedIds.forEach(function (fixedId) { - if (direction == "horizontal") { - positionMap.set(fixedId, nodeIndexes.has(fixedId) ? xCoords[nodeIndexes.get(fixedId)] : dummyPositions.get(fixedId)); - position += positionMap.get(fixedId); - } else { - positionMap.set(fixedId, nodeIndexes.has(fixedId) ? yCoords[nodeIndexes.get(fixedId)] : dummyPositions.get(fixedId)); - position += positionMap.get(fixedId); - } - }); - position = position / fixedIds.length; - component.forEach(function (nodeId) { - if (!fixedNodes.has(nodeId)) { - positionMap.set(nodeId, position); - } - }); - } else { - var _position = 0; - component.forEach(function (nodeId) { - if (direction == "horizontal") { - _position += nodeIndexes.has(nodeId) ? xCoords[nodeIndexes.get(nodeId)] : dummyPositions.get(nodeId); - } else { - _position += nodeIndexes.has(nodeId) ? yCoords[nodeIndexes.get(nodeId)] : dummyPositions.get(nodeId); - } - }); - _position = _position / component.length; - component.forEach(function (nodeId) { - positionMap.set(nodeId, _position); - }); - } - }); - } - - // calculate positions of the nodes - - var _loop = function _loop() { - var currentNode = queue.shift(); - var neighbors = graph.get(currentNode); - neighbors.forEach(function (neighbor) { - if (positionMap.get(neighbor.id) < positionMap.get(currentNode) + neighbor.gap) { - if (fixedNodes && fixedNodes.has(neighbor.id)) { - var fixedPosition = void 0; - if (direction == "horizontal") { - fixedPosition = nodeIndexes.has(neighbor.id) ? xCoords[nodeIndexes.get(neighbor.id)] : dummyPositions.get(neighbor.id); - } else { - fixedPosition = nodeIndexes.has(neighbor.id) ? yCoords[nodeIndexes.get(neighbor.id)] : dummyPositions.get(neighbor.id); - } - positionMap.set(neighbor.id, fixedPosition); // TODO: may do unnecessary work - if (fixedPosition < positionMap.get(currentNode) + neighbor.gap) { - var diff = positionMap.get(currentNode) + neighbor.gap - fixedPosition; - pastMap.get(currentNode).forEach(function (nodeId) { - positionMap.set(nodeId, positionMap.get(nodeId) - diff); - }); - } - } else { - positionMap.set(neighbor.id, positionMap.get(currentNode) + neighbor.gap); - } - } - inDegrees.set(neighbor.id, inDegrees.get(neighbor.id) - 1); - if (inDegrees.get(neighbor.id) == 0) { - queue.push(neighbor.id); - } - if (fixedNodes) { - pastMap.set(neighbor.id, setUnion(pastMap.get(currentNode), pastMap.get(neighbor.id))); - } - }); - }; - - while (queue.length != 0) { - _loop(); - } - - // readjust position of the nodes after enforcement - if (fixedNodes) { - // find indegree count for each node - var sinkNodes = new Set(); - - graph.forEach(function (value, key) { - if (value.length == 0) { - sinkNodes.add(key); - } - }); - - var _components = []; - pastMap.forEach(function (value, key) { - if (sinkNodes.has(key)) { - var isFixedComponent = false; - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = value[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var nodeId = _step2.value; - - if (fixedNodes.has(nodeId)) { - isFixedComponent = true; - } - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - - if (!isFixedComponent) { - var isExist = false; - var existAt = void 0; - _components.forEach(function (component, index) { - if (component.has([].concat(_toConsumableArray(value))[0])) { - isExist = true; - existAt = index; - } - }); - if (!isExist) { - _components.push(new Set(value)); - } else { - value.forEach(function (ele) { - _components[existAt].add(ele); - }); - } - } - } - }); - - _components.forEach(function (component, index) { - var minBefore = Number.POSITIVE_INFINITY; - var minAfter = Number.POSITIVE_INFINITY; - var maxBefore = Number.NEGATIVE_INFINITY; - var maxAfter = Number.NEGATIVE_INFINITY; - - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; - - try { - for (var _iterator3 = component[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { - var nodeId = _step3.value; - - var posBefore = void 0; - if (direction == "horizontal") { - posBefore = nodeIndexes.has(nodeId) ? xCoords[nodeIndexes.get(nodeId)] : dummyPositions.get(nodeId); - } else { - posBefore = nodeIndexes.has(nodeId) ? yCoords[nodeIndexes.get(nodeId)] : dummyPositions.get(nodeId); - } - var posAfter = positionMap.get(nodeId); - if (posBefore < minBefore) { - minBefore = posBefore; - } - if (posBefore > maxBefore) { - maxBefore = posBefore; - } - if (posAfter < minAfter) { - minAfter = posAfter; - } - if (posAfter > maxAfter) { - maxAfter = posAfter; - } - } - } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; - } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } - } - - var diff = (minBefore + maxBefore) / 2 - (minAfter + maxAfter) / 2; - - var _iteratorNormalCompletion4 = true; - var _didIteratorError4 = false; - var _iteratorError4 = undefined; - - try { - for (var _iterator4 = component[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { - var _nodeId = _step4.value; - - positionMap.set(_nodeId, positionMap.get(_nodeId) + diff); - } - } catch (err) { - _didIteratorError4 = true; - _iteratorError4 = err; - } finally { - try { - if (!_iteratorNormalCompletion4 && _iterator4.return) { - _iterator4.return(); - } - } finally { - if (_didIteratorError4) { - throw _iteratorError4; - } - } - } - }); - } - - return positionMap; - }; - - // find transformation based on rel. placement constraints if there are both alignment and rel. placement constraints - // or if there are only rel. placement contraints where the largest component isn't sufficiently large - var applyReflectionForRelativePlacement = function applyReflectionForRelativePlacement(relativePlacementConstraints) { - // variables to count votes - var reflectOnY = 0, - notReflectOnY = 0; - var reflectOnX = 0, - notReflectOnX = 0; - - relativePlacementConstraints.forEach(function (constraint) { - if (constraint.left) { - xCoords[nodeIndexes.get(constraint.left)] - xCoords[nodeIndexes.get(constraint.right)] >= 0 ? reflectOnY++ : notReflectOnY++; - } else { - yCoords[nodeIndexes.get(constraint.top)] - yCoords[nodeIndexes.get(constraint.bottom)] >= 0 ? reflectOnX++ : notReflectOnX++; - } - }); - - if (reflectOnY > notReflectOnY && reflectOnX > notReflectOnX) { - for (var _i = 0; _i < nodeIndexes.size; _i++) { - xCoords[_i] = -1 * xCoords[_i]; - yCoords[_i] = -1 * yCoords[_i]; - } - } else if (reflectOnY > notReflectOnY) { - for (var _i2 = 0; _i2 < nodeIndexes.size; _i2++) { - xCoords[_i2] = -1 * xCoords[_i2]; - } - } else if (reflectOnX > notReflectOnX) { - for (var _i3 = 0; _i3 < nodeIndexes.size; _i3++) { - yCoords[_i3] = -1 * yCoords[_i3]; - } - } - }; - - // find weakly connected components in undirected graph - var findComponents = function findComponents(graph) { - // find weakly connected components in dag - var components = []; - var queue = new LinkedList(); - var visited = new Set(); - var count = 0; - - graph.forEach(function (value, key) { - if (!visited.has(key)) { - components[count] = []; - var _currentNode = key; - queue.push(_currentNode); - visited.add(_currentNode); - components[count].push(_currentNode); - - while (queue.length != 0) { - _currentNode = queue.shift(); - var neighbors = graph.get(_currentNode); - neighbors.forEach(function (neighbor) { - if (!visited.has(neighbor.id)) { - queue.push(neighbor.id); - visited.add(neighbor.id); - components[count].push(neighbor.id); - } - }); - } - count++; - } - }); - return components; - }; - - // return undirected version of given dag - var dagToUndirected = function dagToUndirected(dag) { - var undirected = new Map(); - - dag.forEach(function (value, key) { - undirected.set(key, []); - }); - - dag.forEach(function (value, key) { - value.forEach(function (adjacent) { - undirected.get(key).push(adjacent); - undirected.get(adjacent.id).push({ id: key, gap: adjacent.gap, direction: adjacent.direction }); - }); - }); - - return undirected; - }; - - // return reversed (directions inverted) version of given dag - var dagToReversed = function dagToReversed(dag) { - var reversed = new Map(); - - dag.forEach(function (value, key) { - reversed.set(key, []); - }); - - dag.forEach(function (value, key) { - value.forEach(function (adjacent) { - reversed.get(adjacent.id).push({ id: key, gap: adjacent.gap, direction: adjacent.direction }); - }); - }); - - return reversed; - }; - - /**** apply transformation to the initial draft layout to better align with constrained nodes ****/ - // solve the Orthogonal Procrustean Problem to rotate and/or reflect initial draft layout - // here we follow the solution in Chapter 20.2 of Borg, I. & Groenen, P. (2005) Modern Multidimensional Scaling: Theory and Applications - - /* construct source and target configurations */ - - var targetMatrix = []; // A - target configuration - var sourceMatrix = []; // B - source configuration - var standardTransformation = false; // false for no transformation, true for standart (Procrustes) transformation (rotation and/or reflection) - var reflectionType = false; // false/true for reflection check, 'reflectOnX', 'reflectOnY' or 'reflectOnBoth' for reflection type if necessary - var fixedNodes = new Set(); - var dag = new Map(); // adjacency list to keep directed acyclic graph (dag) that consists of relative placement constraints - var dagUndirected = new Map(); // undirected version of the dag - var components = []; // weakly connected components - - // fill fixedNodes collection to use later - if (constraints.fixedNodeConstraint) { - constraints.fixedNodeConstraint.forEach(function (nodeData) { - fixedNodes.add(nodeData.nodeId); - }); - } - - // construct dag from relative placement constraints - if (constraints.relativePlacementConstraint) { - // construct both directed and undirected version of the dag - constraints.relativePlacementConstraint.forEach(function (constraint) { - if (constraint.left) { - if (dag.has(constraint.left)) { - dag.get(constraint.left).push({ id: constraint.right, gap: constraint.gap, direction: "horizontal" }); - } else { - dag.set(constraint.left, [{ id: constraint.right, gap: constraint.gap, direction: "horizontal" }]); - } - if (!dag.has(constraint.right)) { - dag.set(constraint.right, []); - } - } else { - if (dag.has(constraint.top)) { - dag.get(constraint.top).push({ id: constraint.bottom, gap: constraint.gap, direction: "vertical" }); - } else { - dag.set(constraint.top, [{ id: constraint.bottom, gap: constraint.gap, direction: "vertical" }]); - } - if (!dag.has(constraint.bottom)) { - dag.set(constraint.bottom, []); - } - } - }); - - dagUndirected = dagToUndirected(dag); - components = findComponents(dagUndirected); - } - - if (CoSEConstants.TRANSFORM_ON_CONSTRAINT_HANDLING) { - // first check fixed node constraint - if (constraints.fixedNodeConstraint && constraints.fixedNodeConstraint.length > 1) { - constraints.fixedNodeConstraint.forEach(function (nodeData, i) { - targetMatrix[i] = [nodeData.position.x, nodeData.position.y]; - sourceMatrix[i] = [xCoords[nodeIndexes.get(nodeData.nodeId)], yCoords[nodeIndexes.get(nodeData.nodeId)]]; - }); - standardTransformation = true; - } else if (constraints.alignmentConstraint) { - (function () { - // then check alignment constraint - var count = 0; - if (constraints.alignmentConstraint.vertical) { - var verticalAlign = constraints.alignmentConstraint.vertical; - - var _loop2 = function _loop2(_i4) { - var alignmentSet = new Set(); - verticalAlign[_i4].forEach(function (nodeId) { - alignmentSet.add(nodeId); - }); - var intersection = new Set([].concat(_toConsumableArray(alignmentSet)).filter(function (x) { - return fixedNodes.has(x); - })); - var xPos = void 0; - if (intersection.size > 0) xPos = xCoords[nodeIndexes.get(intersection.values().next().value)];else xPos = calculateAvgPosition(alignmentSet).x; - - verticalAlign[_i4].forEach(function (nodeId) { - targetMatrix[count] = [xPos, yCoords[nodeIndexes.get(nodeId)]]; - sourceMatrix[count] = [xCoords[nodeIndexes.get(nodeId)], yCoords[nodeIndexes.get(nodeId)]]; - count++; - }); - }; - - for (var _i4 = 0; _i4 < verticalAlign.length; _i4++) { - _loop2(_i4); - } - standardTransformation = true; - } - if (constraints.alignmentConstraint.horizontal) { - var horizontalAlign = constraints.alignmentConstraint.horizontal; - - var _loop3 = function _loop3(_i5) { - var alignmentSet = new Set(); - horizontalAlign[_i5].forEach(function (nodeId) { - alignmentSet.add(nodeId); - }); - var intersection = new Set([].concat(_toConsumableArray(alignmentSet)).filter(function (x) { - return fixedNodes.has(x); - })); - var yPos = void 0; - if (intersection.size > 0) yPos = xCoords[nodeIndexes.get(intersection.values().next().value)];else yPos = calculateAvgPosition(alignmentSet).y; - - horizontalAlign[_i5].forEach(function (nodeId) { - targetMatrix[count] = [xCoords[nodeIndexes.get(nodeId)], yPos]; - sourceMatrix[count] = [xCoords[nodeIndexes.get(nodeId)], yCoords[nodeIndexes.get(nodeId)]]; - count++; - }); - }; - - for (var _i5 = 0; _i5 < horizontalAlign.length; _i5++) { - _loop3(_i5); - } - standardTransformation = true; - } - if (constraints.relativePlacementConstraint) { - reflectionType = true; - } - })(); - } else if (constraints.relativePlacementConstraint) { - // finally check relative placement constraint - // find largest component in dag - var largestComponentSize = 0; - var largestComponentIndex = 0; - for (var _i6 = 0; _i6 < components.length; _i6++) { - if (components[_i6].length > largestComponentSize) { - largestComponentSize = components[_i6].length; - largestComponentIndex = _i6; - } - } - // if largest component isn't dominant, then take the votes for reflection - if (largestComponentSize < dagUndirected.size / 2) { - applyReflectionForRelativePlacement(constraints.relativePlacementConstraint); - standardTransformation = false; - reflectionType = false; - } else { - // use largest component for transformation - // construct horizontal and vertical subgraphs in the largest component - var subGraphOnHorizontal = new Map(); - var subGraphOnVertical = new Map(); - var constraintsInlargestComponent = []; - - components[largestComponentIndex].forEach(function (nodeId) { - dag.get(nodeId).forEach(function (adjacent) { - if (adjacent.direction == "horizontal") { - if (subGraphOnHorizontal.has(nodeId)) { - subGraphOnHorizontal.get(nodeId).push(adjacent); - } else { - subGraphOnHorizontal.set(nodeId, [adjacent]); - } - if (!subGraphOnHorizontal.has(adjacent.id)) { - subGraphOnHorizontal.set(adjacent.id, []); - } - constraintsInlargestComponent.push({ left: nodeId, right: adjacent.id }); - } else { - if (subGraphOnVertical.has(nodeId)) { - subGraphOnVertical.get(nodeId).push(adjacent); - } else { - subGraphOnVertical.set(nodeId, [adjacent]); - } - if (!subGraphOnVertical.has(adjacent.id)) { - subGraphOnVertical.set(adjacent.id, []); - } - constraintsInlargestComponent.push({ top: nodeId, bottom: adjacent.id }); - } - }); - }); - - applyReflectionForRelativePlacement(constraintsInlargestComponent); - reflectionType = false; - - // calculate appropriate positioning for subgraphs - var positionMapHorizontal = findAppropriatePositionForRelativePlacement(subGraphOnHorizontal, "horizontal"); - var positionMapVertical = findAppropriatePositionForRelativePlacement(subGraphOnVertical, "vertical"); - - // construct source and target configuration - components[largestComponentIndex].forEach(function (nodeId, i) { - sourceMatrix[i] = [xCoords[nodeIndexes.get(nodeId)], yCoords[nodeIndexes.get(nodeId)]]; - targetMatrix[i] = []; - if (positionMapHorizontal.has(nodeId)) { - targetMatrix[i][0] = positionMapHorizontal.get(nodeId); - } else { - targetMatrix[i][0] = xCoords[nodeIndexes.get(nodeId)]; - } - if (positionMapVertical.has(nodeId)) { - targetMatrix[i][1] = positionMapVertical.get(nodeId); - } else { - targetMatrix[i][1] = yCoords[nodeIndexes.get(nodeId)]; - } - }); - - standardTransformation = true; - } - } - - // if transformation is required, then calculate and apply transformation matrix - if (standardTransformation) { - /* calculate transformation matrix */ - var transformationMatrix = void 0; - var targetMatrixTranspose = Matrix.transpose(targetMatrix); // A' - var sourceMatrixTranspose = Matrix.transpose(sourceMatrix); // B' - - // centralize transpose matrices - for (var _i7 = 0; _i7 < targetMatrixTranspose.length; _i7++) { - targetMatrixTranspose[_i7] = Matrix.multGamma(targetMatrixTranspose[_i7]); - sourceMatrixTranspose[_i7] = Matrix.multGamma(sourceMatrixTranspose[_i7]); - } - - // do actual calculation for transformation matrix - var tempMatrix = Matrix.multMat(targetMatrixTranspose, Matrix.transpose(sourceMatrixTranspose)); // tempMatrix = A'B - var SVDResult = SVD.svd(tempMatrix); // SVD(A'B) = USV', svd function returns U, S and V - transformationMatrix = Matrix.multMat(SVDResult.V, Matrix.transpose(SVDResult.U)); // transformationMatrix = T = VU' - - /* apply found transformation matrix to obtain final draft layout */ - for (var _i8 = 0; _i8 < nodeIndexes.size; _i8++) { - var temp1 = [xCoords[_i8], yCoords[_i8]]; - var temp2 = [transformationMatrix[0][0], transformationMatrix[1][0]]; - var temp3 = [transformationMatrix[0][1], transformationMatrix[1][1]]; - xCoords[_i8] = Matrix.dotProduct(temp1, temp2); - yCoords[_i8] = Matrix.dotProduct(temp1, temp3); - } - - // applied only both alignment and rel. placement constraints exist - if (reflectionType) { - applyReflectionForRelativePlacement(constraints.relativePlacementConstraint); - } - } - } - - if (CoSEConstants.ENFORCE_CONSTRAINTS) { - /**** enforce constraints on the transformed draft layout ****/ - - /* first enforce fixed node constraint */ - - if (constraints.fixedNodeConstraint && constraints.fixedNodeConstraint.length > 0) { - var translationAmount = { x: 0, y: 0 }; - constraints.fixedNodeConstraint.forEach(function (nodeData, i) { - var posInTheory = { x: xCoords[nodeIndexes.get(nodeData.nodeId)], y: yCoords[nodeIndexes.get(nodeData.nodeId)] }; - var posDesired = nodeData.position; - var posDiff = calculatePositionDiff(posDesired, posInTheory); - translationAmount.x += posDiff.x; - translationAmount.y += posDiff.y; - }); - translationAmount.x /= constraints.fixedNodeConstraint.length; - translationAmount.y /= constraints.fixedNodeConstraint.length; - - xCoords.forEach(function (value, i) { - xCoords[i] += translationAmount.x; - }); - - yCoords.forEach(function (value, i) { - yCoords[i] += translationAmount.y; - }); - - constraints.fixedNodeConstraint.forEach(function (nodeData) { - xCoords[nodeIndexes.get(nodeData.nodeId)] = nodeData.position.x; - yCoords[nodeIndexes.get(nodeData.nodeId)] = nodeData.position.y; - }); - } - - /* then enforce alignment constraint */ - - if (constraints.alignmentConstraint) { - if (constraints.alignmentConstraint.vertical) { - var xAlign = constraints.alignmentConstraint.vertical; - - var _loop4 = function _loop4(_i9) { - var alignmentSet = new Set(); - xAlign[_i9].forEach(function (nodeId) { - alignmentSet.add(nodeId); - }); - var intersection = new Set([].concat(_toConsumableArray(alignmentSet)).filter(function (x) { - return fixedNodes.has(x); - })); - var xPos = void 0; - if (intersection.size > 0) xPos = xCoords[nodeIndexes.get(intersection.values().next().value)];else xPos = calculateAvgPosition(alignmentSet).x; - - alignmentSet.forEach(function (nodeId) { - if (!fixedNodes.has(nodeId)) xCoords[nodeIndexes.get(nodeId)] = xPos; - }); - }; - - for (var _i9 = 0; _i9 < xAlign.length; _i9++) { - _loop4(_i9); - } - } - if (constraints.alignmentConstraint.horizontal) { - var yAlign = constraints.alignmentConstraint.horizontal; - - var _loop5 = function _loop5(_i10) { - var alignmentSet = new Set(); - yAlign[_i10].forEach(function (nodeId) { - alignmentSet.add(nodeId); - }); - var intersection = new Set([].concat(_toConsumableArray(alignmentSet)).filter(function (x) { - return fixedNodes.has(x); - })); - var yPos = void 0; - if (intersection.size > 0) yPos = yCoords[nodeIndexes.get(intersection.values().next().value)];else yPos = calculateAvgPosition(alignmentSet).y; - - alignmentSet.forEach(function (nodeId) { - if (!fixedNodes.has(nodeId)) yCoords[nodeIndexes.get(nodeId)] = yPos; - }); - }; - - for (var _i10 = 0; _i10 < yAlign.length; _i10++) { - _loop5(_i10); - } - } - } - - /* finally enforce relative placement constraint */ - - if (constraints.relativePlacementConstraint) { - (function () { - var nodeToDummyForVerticalAlignment = new Map(); - var nodeToDummyForHorizontalAlignment = new Map(); - var dummyToNodeForVerticalAlignment = new Map(); - var dummyToNodeForHorizontalAlignment = new Map(); - var dummyPositionsForVerticalAlignment = new Map(); - var dummyPositionsForHorizontalAlignment = new Map(); - var fixedNodesOnHorizontal = new Set(); - var fixedNodesOnVertical = new Set(); - - // fill maps and sets - fixedNodes.forEach(function (nodeId) { - fixedNodesOnHorizontal.add(nodeId); - fixedNodesOnVertical.add(nodeId); - }); - - if (constraints.alignmentConstraint) { - if (constraints.alignmentConstraint.vertical) { - var verticalAlignment = constraints.alignmentConstraint.vertical; - - var _loop6 = function _loop6(_i11) { - dummyToNodeForVerticalAlignment.set("dummy" + _i11, []); - verticalAlignment[_i11].forEach(function (nodeId) { - nodeToDummyForVerticalAlignment.set(nodeId, "dummy" + _i11); - dummyToNodeForVerticalAlignment.get("dummy" + _i11).push(nodeId); - if (fixedNodes.has(nodeId)) { - fixedNodesOnHorizontal.add("dummy" + _i11); - } - }); - dummyPositionsForVerticalAlignment.set("dummy" + _i11, xCoords[nodeIndexes.get(verticalAlignment[_i11][0])]); - }; - - for (var _i11 = 0; _i11 < verticalAlignment.length; _i11++) { - _loop6(_i11); - } - } - if (constraints.alignmentConstraint.horizontal) { - var horizontalAlignment = constraints.alignmentConstraint.horizontal; - - var _loop7 = function _loop7(_i12) { - dummyToNodeForHorizontalAlignment.set("dummy" + _i12, []); - horizontalAlignment[_i12].forEach(function (nodeId) { - nodeToDummyForHorizontalAlignment.set(nodeId, "dummy" + _i12); - dummyToNodeForHorizontalAlignment.get("dummy" + _i12).push(nodeId); - if (fixedNodes.has(nodeId)) { - fixedNodesOnVertical.add("dummy" + _i12); - } - }); - dummyPositionsForHorizontalAlignment.set("dummy" + _i12, yCoords[nodeIndexes.get(horizontalAlignment[_i12][0])]); - }; - - for (var _i12 = 0; _i12 < horizontalAlignment.length; _i12++) { - _loop7(_i12); - } - } - } - - // construct horizontal and vertical dags (subgraphs) from overall dag - var dagOnHorizontal = new Map(); - var dagOnVertical = new Map(); - - var _loop8 = function _loop8(nodeId) { - dag.get(nodeId).forEach(function (adjacent) { - var sourceId = void 0; - var targetNode = void 0; - if (adjacent["direction"] == "horizontal") { - sourceId = nodeToDummyForVerticalAlignment.get(nodeId) ? nodeToDummyForVerticalAlignment.get(nodeId) : nodeId; - if (nodeToDummyForVerticalAlignment.get(adjacent.id)) { - targetNode = { id: nodeToDummyForVerticalAlignment.get(adjacent.id), gap: adjacent.gap, direction: adjacent.direction }; - } else { - targetNode = adjacent; - } - if (dagOnHorizontal.has(sourceId)) { - dagOnHorizontal.get(sourceId).push(targetNode); - } else { - dagOnHorizontal.set(sourceId, [targetNode]); - } - if (!dagOnHorizontal.has(targetNode.id)) { - dagOnHorizontal.set(targetNode.id, []); - } - } else { - sourceId = nodeToDummyForHorizontalAlignment.get(nodeId) ? nodeToDummyForHorizontalAlignment.get(nodeId) : nodeId; - if (nodeToDummyForHorizontalAlignment.get(adjacent.id)) { - targetNode = { id: nodeToDummyForHorizontalAlignment.get(adjacent.id), gap: adjacent.gap, direction: adjacent.direction }; - } else { - targetNode = adjacent; - } - if (dagOnVertical.has(sourceId)) { - dagOnVertical.get(sourceId).push(targetNode); - } else { - dagOnVertical.set(sourceId, [targetNode]); - } - if (!dagOnVertical.has(targetNode.id)) { - dagOnVertical.set(targetNode.id, []); - } - } - }); - }; - - var _iteratorNormalCompletion5 = true; - var _didIteratorError5 = false; - var _iteratorError5 = undefined; - - try { - for (var _iterator5 = dag.keys()[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) { - var nodeId = _step5.value; - - _loop8(nodeId); - } - - // find source nodes of each component in horizontal and vertical dags - } catch (err) { - _didIteratorError5 = true; - _iteratorError5 = err; - } finally { - try { - if (!_iteratorNormalCompletion5 && _iterator5.return) { - _iterator5.return(); - } - } finally { - if (_didIteratorError5) { - throw _iteratorError5; - } - } - } - - var undirectedOnHorizontal = dagToUndirected(dagOnHorizontal); - var undirectedOnVertical = dagToUndirected(dagOnVertical); - var componentsOnHorizontal = findComponents(undirectedOnHorizontal); - var componentsOnVertical = findComponents(undirectedOnVertical); - var reversedDagOnHorizontal = dagToReversed(dagOnHorizontal); - var reversedDagOnVertical = dagToReversed(dagOnVertical); - var componentSourcesOnHorizontal = []; - var componentSourcesOnVertical = []; - - componentsOnHorizontal.forEach(function (component, index) { - componentSourcesOnHorizontal[index] = []; - component.forEach(function (nodeId) { - if (reversedDagOnHorizontal.get(nodeId).length == 0) { - componentSourcesOnHorizontal[index].push(nodeId); - } - }); - }); - - componentsOnVertical.forEach(function (component, index) { - componentSourcesOnVertical[index] = []; - component.forEach(function (nodeId) { - if (reversedDagOnVertical.get(nodeId).length == 0) { - componentSourcesOnVertical[index].push(nodeId); - } - }); - }); - - // calculate appropriate positioning for subgraphs - var positionMapHorizontal = findAppropriatePositionForRelativePlacement(dagOnHorizontal, "horizontal", fixedNodesOnHorizontal, dummyPositionsForVerticalAlignment, componentSourcesOnHorizontal); - var positionMapVertical = findAppropriatePositionForRelativePlacement(dagOnVertical, "vertical", fixedNodesOnVertical, dummyPositionsForHorizontalAlignment, componentSourcesOnVertical); - - // update positions of the nodes based on relative placement constraints - - var _loop9 = function _loop9(key) { - if (dummyToNodeForVerticalAlignment.get(key)) { - dummyToNodeForVerticalAlignment.get(key).forEach(function (nodeId) { - xCoords[nodeIndexes.get(nodeId)] = positionMapHorizontal.get(key); - }); - } else { - xCoords[nodeIndexes.get(key)] = positionMapHorizontal.get(key); - } - }; - - var _iteratorNormalCompletion6 = true; - var _didIteratorError6 = false; - var _iteratorError6 = undefined; - - try { - for (var _iterator6 = positionMapHorizontal.keys()[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) { - var key = _step6.value; - - _loop9(key); - } - } catch (err) { - _didIteratorError6 = true; - _iteratorError6 = err; - } finally { - try { - if (!_iteratorNormalCompletion6 && _iterator6.return) { - _iterator6.return(); - } - } finally { - if (_didIteratorError6) { - throw _iteratorError6; - } - } - } - - var _loop10 = function _loop10(key) { - if (dummyToNodeForHorizontalAlignment.get(key)) { - dummyToNodeForHorizontalAlignment.get(key).forEach(function (nodeId) { - yCoords[nodeIndexes.get(nodeId)] = positionMapVertical.get(key); - }); - } else { - yCoords[nodeIndexes.get(key)] = positionMapVertical.get(key); - } - }; - - var _iteratorNormalCompletion7 = true; - var _didIteratorError7 = false; - var _iteratorError7 = undefined; - - try { - for (var _iterator7 = positionMapVertical.keys()[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) { - var key = _step7.value; - - _loop10(key); - } - } catch (err) { - _didIteratorError7 = true; - _iteratorError7 = err; - } finally { - try { - if (!_iteratorNormalCompletion7 && _iterator7.return) { - _iterator7.return(); - } - } finally { - if (_didIteratorError7) { - throw _iteratorError7; - } - } - } - })(); - } - } - - // assign new coordinates to nodes after constraint handling - for (var _i13 = 0; _i13 < allNodes.length; _i13++) { - var _node = allNodes[_i13]; - if (_node.getChild() == null) { - _node.setCenter(xCoords[nodeIndexes.get(_node.id)], yCoords[nodeIndexes.get(_node.id)]); - } - } -}; - -module.exports = ConstraintHandler; - -/***/ }), - -/***/ 551: -/***/ ((module) => { - -module.exports = __WEBPACK_EXTERNAL_MODULE__551__; - -/***/ }) - -/******/ }); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/************************************************************************/ -/******/ -/******/ // startup -/******/ // Load entry module and return exports -/******/ // This entry module is referenced by other modules so it can't be inlined -/******/ var __webpack_exports__ = __webpack_require__(45); -/******/ -/******/ return __webpack_exports__; -/******/ })() -; -}); \ No newline at end of file diff --git a/modules/analyze/html/external/cytoscape-cise.js b/modules/analyze/html/external/cytoscape-cise.js deleted file mode 100644 index 1314f2f..0000000 --- a/modules/analyze/html/external/cytoscape-cise.js +++ /dev/null @@ -1,3978 +0,0 @@ -(function webpackUniversalModuleDefinition(root, factory) { - if (typeof exports === 'object' && typeof module === 'object') - module.exports = factory(require("avsdf-base"), require("cose-base")); - else if (typeof define === 'function' && define.amd) - define(["avsdf-base", "cose-base"], factory); - else if (typeof exports === 'object') - exports["cytoscapeCise"] = factory(require("avsdf-base"), require("cose-base")); - else - root["cytoscapeCise"] = factory(root["avsdfBase"], root["coseBase"]); -})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_3__) { - return /******/ (function(modules) { // webpackBootstrap - /******/ // The module cache - /******/ - var installedModules = {}; - /******/ - /******/ // The require function - /******/ - function __webpack_require__(moduleId) { - /******/ - /******/ // Check if module is in cache - /******/ - if (installedModules[moduleId]) { - /******/ - return installedModules[moduleId].exports; - /******/ - } - /******/ // Create a new module (and put it into the cache) - /******/ - var module = installedModules[moduleId] = { - /******/ - i: moduleId, - /******/ - l: false, - /******/ - exports: {} - /******/ - }; - /******/ - /******/ // Execute the module function - /******/ - modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); - /******/ - /******/ // Flag the module as loaded - /******/ - module.l = true; - /******/ - /******/ // Return the exports of the module - /******/ - return module.exports; - /******/ - } - /******/ - /******/ - /******/ // expose the modules object (__webpack_modules__) - /******/ - __webpack_require__.m = modules; - /******/ - /******/ // expose the module cache - /******/ - __webpack_require__.c = installedModules; - /******/ - /******/ // identity function for calling harmony imports with the correct context - /******/ - __webpack_require__.i = function(value) { return value; }; - /******/ - /******/ // define getter function for harmony exports - /******/ - __webpack_require__.d = function(exports, name, getter) { - /******/ - if (!__webpack_require__.o(exports, name)) { - /******/ - Object.defineProperty(exports, name, { - /******/ - configurable: false, - /******/ - enumerable: true, - /******/ - get: getter - /******/ - }); - /******/ - } - /******/ - }; - /******/ - /******/ // getDefaultExport function for compatibility with non-harmony modules - /******/ - __webpack_require__.n = function(module) { - /******/ - var getter = module && module.__esModule ? - /******/ - function getDefault() { return module['default']; } : - /******/ - function getModuleExports() { return module; }; - /******/ - __webpack_require__.d(getter, 'a', getter); - /******/ - return getter; - /******/ - }; - /******/ - /******/ // Object.prototype.hasOwnProperty.call - /******/ - __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; - /******/ - /******/ // __webpack_public_path__ - /******/ - __webpack_require__.p = ""; - /******/ - /******/ // Load entry module and return exports - /******/ - return __webpack_require__(__webpack_require__.s = 15); - /******/ - }) - /************************************************************************/ - /******/ - ([ - /* 0 */ - /***/ - (function(module, exports) { - - module.exports = __WEBPACK_EXTERNAL_MODULE_0__; - - /***/ - }), - /* 1 */ - /***/ - (function(module, exports, __webpack_require__) { - - "use strict"; - - - /** - * This class maintains the constants used by CiSE layout. - * - * - * Copyright: i-Vis Research Group, Bilkent University, 2007 - present - */ - - var FDLayoutConstants = __webpack_require__(0).layoutBase.FDLayoutConstants; - - function CiSEConstants() {} - - for (var prop in FDLayoutConstants) { - CiSEConstants[prop] = FDLayoutConstants[prop]; - } - - // ----------------------------------------------------------------------------- - // Section: CiSE layout user options - // ----------------------------------------------------------------------------- - - CiSEConstants.DEFAULT_SPRING_STRENGTH = 1.5 * FDLayoutConstants.DEFAULT_SPRING_STRENGTH; - - // Amount of separation of nodes on the associated circle - CiSEConstants.DEFAULT_NODE_SEPARATION = FDLayoutConstants.DEFAULT_EDGE_LENGTH / 4; - - // Inter-cluster edge length factor (2.0 means inter-cluster edges should be - // twice as long as intra-cluster edges) - CiSEConstants.DEFAULT_IDEAL_INTER_CLUSTER_EDGE_LENGTH_COEFF = 1.4; - - // Whether to enable pulling nodes inside of the circles - CiSEConstants.DEFAULT_ALLOW_NODES_INSIDE_CIRCLE = false; - - // Max percentage of the nodes in a circle that can be inside the circle - CiSEConstants.DEFAULT_MAX_RATIO_OF_NODES_INSIDE_CIRCLE = 0.1; - - // ----------------------------------------------------------------------------- - // Section: CiSE layout remaining constants - // ----------------------------------------------------------------------------- - - // Ideal length of an edge incident with an inner-node - CiSEConstants.DEFAULT_INNER_EDGE_LENGTH = FDLayoutConstants.DEFAULT_EDGE_LENGTH / 3; - - // Maximum rotation angle - CiSEConstants.MAX_ROTATION_ANGLE = Math.PI / 36.0; - - // Minimum rotation angle - CiSEConstants.MIN_ROTATION_ANGLE = -CiSEConstants.MAX_ROTATION_ANGLE; - - // Number of iterations without swap or swap prepartion - CiSEConstants.SWAP_IDLE_DURATION = 45; - - // Number of iterations required for collecting information about swapping - CiSEConstants.SWAP_PREPERATION_DURATION = 5; - - // Number of iterations that should be done in between two swaps. - CiSEConstants.SWAP_PERIOD = CiSEConstants.SWAP_IDLE_DURATION + CiSEConstants.SWAP_PREPERATION_DURATION; - - // Number of iterations during which history (of pairs swapped) kept - CiSEConstants.SWAP_HISTORY_CLEARANCE_PERIOD = 6 * CiSEConstants.SWAP_PERIOD; - - // Buffer for swapping - CiSEConstants.MIN_DISPLACEMENT_FOR_SWAP = 6; - - // Number of iterations that should be done in between two flips. - CiSEConstants.REVERSE_PERIOD = 25; - - module.exports = CiSEConstants; - - /***/ - }), - /* 2 */ - /***/ - (function(module, exports, __webpack_require__) { - - "use strict"; - - - // Simple, internal Object.assign() polyfill for options objects etc. - - module.exports = Object.assign != null ? Object.assign.bind(Object) : function(tgt) { - for (var _len = arguments.length, srcs = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - srcs[_key - 1] = arguments[_key]; - } - - srcs.forEach(function(src) { - Object.keys(src).forEach(function(k) { - return tgt[k] = src[k]; - }); - }); - - return tgt; - }; - - /***/ - }), - /* 3 */ - /***/ - (function(module, exports) { - - module.exports = __WEBPACK_EXTERNAL_MODULE_3__; - - /***/ - }), - /* 4 */ - /***/ - (function(module, exports, __webpack_require__) { - - "use strict"; - - - /** - * - * Choose the type of layout that best suits your usecase as a starting point. - * - * A discrete layout is one that algorithmically sets resultant positions. It - * does not have intermediate positions. - * - * A continuous layout is one that updates positions continuously, like a force- - * directed / physics simulation layout. - */ - module.exports = __webpack_require__(16); - - /***/ - }), - /* 5 */ - /***/ - (function(module, exports, __webpack_require__) { - - "use strict"; - - - /** - * This class implements data and functionality required for CiSE layout per - * cluster. - * - * - * Copyright: i-Vis Research Group, Bilkent University, 2007 - present - */ - - var LGraph = __webpack_require__(0).layoutBase.LGraph; - var IGeometry = __webpack_require__(0).layoutBase.IGeometry; - var NeedlemanWunsch = __webpack_require__(0).layoutBase.NeedlemanWunsch; - var CircularForce = __webpack_require__(14); - var CiSEConstants = __webpack_require__(1); - var CiSEInterClusterEdgeInfo = __webpack_require__(8); - var CiSEInterClusterEdgeSort = __webpack_require__(9); - - function CiSECircle(parent, graphMgr, vNode) { - LGraph.call(this, parent, graphMgr, vNode); - - // Holds the intra-cluster edges of this circle, initially it is null. It - // will be calculated and stored when getIntraClusterEdges method is first - // called. - this.intraClusterEdges = null; - - // Holds the inter-cluster edges of this circle, initially it is null. It - // will be calculated and stored when getInterClusterEdges method is first - // called. - this.interClusterEdges = null; - - // Holds the nodes which don't have neighbors outside this circle - this.inNodes = []; - - // Holds the nodes which have neighbors outside this circle - this.outNodes = []; - - // Holds the nodes which are on the circle - this.onCircleNodes = []; - - // Holds the nodes which are inside the circle - this.inCircleNodes = []; - - // The radius of this circle, calculated with respect to the dimensions of - // the nodes on this circle and node separation options - this.radius = 0; - - // Holds the pairwise ordering of on-circle nodes computed in earlier stages - // of layout. Value at i,j means the following assuming u and v are - // on-circle nodes with orderIndex i and j, respectively. Value at i,j is - // true (false) if u and v are closer when we go from u to v in clockwise - // (counter-clockwise) direction. Here we base distance on the angles of the - // two nodes as opposed to their order indices (this might make a difference - // due to non-uniform node sizes). - this.orderMatrix = null; - - // Whether or not this circle may be reserved for the purpose of improving - // inter-cluster edge crossing number as we do not want to redundantly - // reverse clusters and end up in oscillating situtations. Clusters with - // special circumstances (e.g. less than two inter-cluster edge) are set as - // may not be reversed as well. - this.mayBeReversed = true; - } - - CiSECircle.prototype = Object.create(LGraph.prototype); - - for (var prop in LGraph) { - CiSECircle[prop] = LGraph[prop]; - } - - // ----------------------------------------------------------------------------- - // Section: Accessors and mutators - // ----------------------------------------------------------------------------- - // This method returns the radius of this circle. - CiSECircle.prototype.setRadius = function(radius) { - this.radius = radius; - }; - - // This method sets the radius of this circle. - CiSECircle.prototype.getRadius = function() { - return this.radius; - }; - - // This method returns nodes that don't have neighbors outside this circle. - CiSECircle.prototype.getInNodes = function() { - return this.inNodes; - }; - - // This method returns nodes that have neighbors outside this circle. - CiSECircle.prototype.getOutNodes = function() { - return this.outNodes; - }; - - // This method returns nodes that don't have neighbors outside this circle. - CiSECircle.prototype.getOnCircleNodes = function() { - return this.onCircleNodes; - }; - - // This method returns nodes that don't have neighbors outside this circle. - CiSECircle.prototype.getInCircleNodes = function() { - return this.inCircleNodes; - }; - - CiSECircle.prototype.setMayNotBeReversed = function() { - this.mayBeReversed = false; - }; - - // This method returns whether or not this circle has been reversed. - CiSECircle.prototype.getMayBeReversed = function() { - return this.mayBeReversed; - }; - - // This method downcasts and returns the child at given index. - CiSECircle.prototype.getChildAt = function(index) { - return this.onCircleNodes[index]; - }; - - /** - * This method returns the inter-cluster edges whose one end is in this - * cluster. - */ - CiSECircle.prototype.getInterClusterEdges = function() { - var self = this; - - if (this.interClusterEdges === null) //If this is called the first time - { - this.interClusterEdges = []; - this.outNodes.forEach(function(node) { - var edgesToAdd = node.getOnCircleNodeExt().getInterClusterEdges(); - for (var i = 0; i < edgesToAdd.length; i++) { - self.interClusterEdges.push(edgesToAdd[i]); - } - }); - } - - return this.interClusterEdges; - }; - - /** - * This method returns the intra cluster edges of this circle - */ - CiSECircle.prototype.getIntraClusterEdges = function() { - var self = this; - - if (this.intraClusterEdges === null) //If this is called the first time - { - this.intraClusterEdges = []; - var allEdges = this.getEdges(); - allEdges.forEach(function(edge) { - if (edge.isIntraEdge()) self.intraClusterEdges.push(edge); - }); - } - - return this.intraClusterEdges; - }; - - // ----------------------------------------------------------------------------- - // Section: Other methods - // ----------------------------------------------------------------------------- - - // This method calculates and sets dimensions of the parent node of this - // circle. Parent node is centered to be at the same location of the - // associated circle but its dimensions are larger than the circle by a - // factor (must be >= 1 to ensure all nodes are enclosed within its - // rectangle) of the largest dimension (width or height) of on-circle nodes - // so that it completely encapsulates the nodes on this circle. - CiSECircle.prototype.calculateParentNodeDimension = function() { - var self = this; - - var maxOnCircleNodeDimension = Number.MIN_SAFE_INTEGER; - - for (var i = 0; i < this.onCircleNodes.length; i++) { - var node = this.onCircleNodes[i]; - - if (node.getWidth() > maxOnCircleNodeDimension) { - maxOnCircleNodeDimension = node.getWidth(); - } - if (node.getHeight() > maxOnCircleNodeDimension) { - maxOnCircleNodeDimension = node.getHeight(); - } - } - - var dimension = 2.0 * (self.radius + self.margin) + maxOnCircleNodeDimension; - var parentNode = self.getParent(); - parentNode.setHeight(dimension); - parentNode.setWidth(dimension); - }; - - /* - * This method computes the order matrix of this circle. This should be - * called only once at early stages of layout and is used to hold the order - * of on-circle nodes as specified. - */ - CiSECircle.prototype.computeOrderMatrix = function() { - var N = this.onCircleNodes.length; - - // 'Two Dimensional array' (array of arrays in JS) with bool cell values - this.orderMatrix = new Array(N); - for (var i = 0; i < this.orderMatrix.length; i++) { - this.orderMatrix[i] = new Array(N); - } - - for (var _i = 0; _i < N; _i++) { - for (var j = 0; j < N; j++) { - if (j > _i) { - var angleDiff = this.onCircleNodes[j].getOnCircleNodeExt().getAngle() - this.onCircleNodes[_i].getOnCircleNodeExt().getAngle(); - - if (angleDiff < 0) { - angleDiff += IGeometry.TWO_PI; - } - - if (angleDiff <= Math.PI) { - this.orderMatrix[_i][j] = true; - this.orderMatrix[j][_i] = false; - } else { - this.orderMatrix[_i][j] = false; - this.orderMatrix[j][_i] = true; - } - } - } - } - }; - - /** - * This method rotates this circle by iterating over and adjusting the - * relative positioning of all nodes on this circle by the calculated angle - * with respect to the rotation amount of the owner node. - */ - CiSECircle.prototype.rotate = function() { - // Take size into account when reflecting total force into rotation! - var parentNode = this.getParent(); - var noOfNodes = this.getOnCircleNodes().length; - var rotationAmount = parentNode.rotationAmount / noOfNodes; // Think about the momentum - var layout = this.getGraphManager().getLayout(); - - if (rotationAmount !== 0.0) { - // The angle (θ) of rotation applied to each node - var theta = rotationAmount / this.radius; - - if (theta > CiSEConstants.MAX_ROTATION_ANGLE) theta = CiSEConstants.MAX_ROTATION_ANGLE; - else if (theta < CiSEConstants.MIN_ROTATION_ANGLE) theta = CiSEConstants.MIN_ROTATION_ANGLE; - - for (var i = 0; i < noOfNodes; i++) { - var onCircleNode = this.getChildAt(i); - var onCircleNodeExt = onCircleNode.getOnCircleNodeExt(); - onCircleNodeExt.setAngle(onCircleNodeExt.getAngle() + theta); // Change the angle - onCircleNodeExt.updatePosition(); // Apply the above angle change to its position - } - - // Update CiSELayout displacement - layout.totalDisplacement += parentNode.rotationAmount; - - // Reset rotationAmount - parentNode.rotationAmount = 0.0; - } - }; - - /** - * This method returns the pairwise order of the input nodes as computed and - * held in orderMatrix. - */ - CiSECircle.prototype.getOrder = function(nodeA, nodeB) { - return this.orderMatrix[nodeA.getOnCircleNodeExt().getIndex()][nodeB.getOnCircleNodeExt().getIndex()]; - }; - - /** - * This method gets the end node of the input inter-cluster edge in this - * cluster. - */ - CiSECircle.prototype.getThisEnd = function(edge) { - var sourceNode = edge.getSource(); - var targetNode = edge.getTarget(); - - if (sourceNode.getOwner() === this) return sourceNode; - else return targetNode; - }; - - /** - * This method gets the end node of the input inter-cluster edge not in this - * cluster. - */ - CiSECircle.prototype.getOtherEnd = function(edge) { - var sourceNode = edge.getSource(); - var targetNode = edge.getTarget(); - - if (sourceNode.getOwner() === this) return targetNode; - else return sourceNode; - }; - - /** - * This method calculates and returns rotational and translational parts of - * the total force calculated for the given node. The translational part is - * composed of components in x and y directions. - */ - CiSECircle.prototype.decomposeForce = function(node) { - var circularForce = void 0; - - if (node.displacementX !== 0.0 || node.displacementY !== 0.0) { - var ownerNode = this.getParent(); - - var Cx = ownerNode.getCenterX(); - var Cy = ownerNode.getCenterY(); - var Nx = node.getCenterX(); - var Ny = node.getCenterY(); - var Fx = node.displacementX; - var Fy = node.displacementY; - - var C_angle = IGeometry.angleOfVector(Cx, Cy, Nx, Ny); - var F_angle = IGeometry.angleOfVector(0.0, 0.0, Fx, Fy); - var C_rev_angle = C_angle + Math.PI; - - // Check whether F lies between C and its opposite angle C-reverse; - // if so, rotation is +ve (clockwise); otherwise, it's -ve. - // We handle angles greater than 360 specially in the else part. - var isRotationClockwise = void 0; - if (Math.PI <= C_rev_angle && C_rev_angle < IGeometry.TWO_PI) { - isRotationClockwise = C_angle <= F_angle && F_angle < C_rev_angle; - } else { - C_rev_angle -= IGeometry.TWO_PI; - - isRotationClockwise = !(C_rev_angle <= F_angle && F_angle < C_angle); - } - - var angle_diff = Math.abs(C_angle - F_angle); - var F_magnitude = Math.sqrt(Fx * Fx + Fy * Fy); - var R_magnitude = Math.abs(Math.sin(angle_diff) * F_magnitude); - - if (!isRotationClockwise) { - R_magnitude = -R_magnitude; - } - - circularForce = new CircularForce(R_magnitude, Fx, Fy); - } else { - circularForce = new CircularForce(0.0, 0.0, 0.0); - } - - return circularForce; - }; - - /** - * This method swaps the nodes given as parameter and make necessary angle - * and positioning updates. - */ - CiSECircle.prototype.swapNodes = function(first, second) { - // Determine which node has smaller index - var smallIndexNode = first; - var bigIndexNode = second; - var firstExt = first.getOnCircleNodeExt(); - var secondExt = second.getOnCircleNodeExt(); - - if (smallIndexNode.getOnCircleNodeExt().getIndex() > second.getOnCircleNodeExt().getIndex()) { - smallIndexNode = second; - bigIndexNode = first; - } - - // Check the exceptional case where the small index node is at 0 index - // and the big index node is at the last index of the circle. In this - // case, we treat smaller index node as bigger index node and vice versa - if (smallIndexNode.getOnCircleNodeExt().getPrevNode() === bigIndexNode) { - var tempNode = bigIndexNode; - bigIndexNode = smallIndexNode; - smallIndexNode = tempNode; - } - - var smallIndexNodeExt = smallIndexNode.getOnCircleNodeExt(); - var bigIndexNodeExt = bigIndexNode.getOnCircleNodeExt(); - - // Calculate the angle for the big index node - var smallIndexPrevNode = smallIndexNodeExt.getPrevNode(); - - var layout = this.getGraphManager().getLayout(); - var nodeSeparation = layout.getNodeSeparation(); - - var angle = (smallIndexPrevNode.getOnCircleNodeExt().getAngle() + (smallIndexPrevNode.getHalfTheDiagonal() + bigIndexNode.getHalfTheDiagonal() + nodeSeparation) / this.radius) % (2 * Math.PI); - - bigIndexNodeExt.setAngle(angle); - - // Calculate the angle for the small index node - angle = (bigIndexNodeExt.getAngle() + (bigIndexNode.getHalfTheDiagonal() + smallIndexNode.getHalfTheDiagonal() + nodeSeparation) / this.radius) % (2 * Math.PI); - - smallIndexNodeExt.setAngle(angle); - - smallIndexNodeExt.updatePosition(); - bigIndexNodeExt.updatePosition(); - - var tempIndex = firstExt.getIndex(); - firstExt.setIndex(secondExt.getIndex()); - secondExt.setIndex(tempIndex); - this.getOnCircleNodes()[firstExt.getIndex()] = first; - this.getOnCircleNodes()[secondExt.getIndex()] = second; - - firstExt.updateSwappingConditions(); - secondExt.updateSwappingConditions(); - - if (firstExt.getNextNode() === second) { - firstExt.getPrevNode().getOnCircleNodeExt().updateSwappingConditions(); - secondExt.getNextNode().getOnCircleNodeExt().updateSwappingConditions(); - } else { - firstExt.getNextNode().getOnCircleNodeExt().updateSwappingConditions(); - secondExt.getPrevNode().getOnCircleNodeExt().updateSwappingConditions(); - } - }; - - /* - * This method checks to see for each cluster (in no particular order) - * whether or not reversing the order of the cluster would reduce - * inter-cluster edge crossings. The decision is based on global sequence - * alignment of the order of the nodes in the cluster vs. the order of their - * neighbors in other clusters. A cluster that was reversed earlier is not - * reversed again to avoid oscillations. It returns true if reverse order - * is adapted. - */ - CiSECircle.prototype.checkAndReverseIfReverseIsBetter = function() { - // First form the list of inter cluster edges of this cluster - var interClusterEdges = this.getInterClusterEdges(); - var interClusterEdgeInfos = new Array(interClusterEdges.length); - - // Now form the info array that contains not only the inter-cluster - // edges but also other information such as the angle they make w.r.t. - // the cluster center and neighboring node center. - // In the meantime, calculate how many inter-cluster edge each on-circle - // node is incident with. This information will be used to duplicate - // char codes of those nodes with 2 or more inter-graph edge. - var angle = void 0; - var clusterCenter = this.getParent().getCenter(); - var interClusterEdge = void 0; - var endInThisCluster = void 0; - var endInOtherCluster = void 0; - var centerOfEndInOtherCluster = void 0; - var nodeCount = this.onCircleNodes.length; - var interClusterEdgeDegree = new Array(nodeCount); - - for (var i = 0; i < nodeCount; i++) { - interClusterEdgeDegree[i] = 0; - } - - var noOfOnCircleNodesToBeRepeated = 0; - - for (var _i2 = 0; _i2 < interClusterEdges.length; _i2++) { - interClusterEdge = interClusterEdges[_i2]; - endInOtherCluster = this.getOtherEnd(interClusterEdge); - centerOfEndInOtherCluster = endInOtherCluster.getCenter(); - angle = IGeometry.angleOfVector(clusterCenter.x, clusterCenter.y, centerOfEndInOtherCluster.x, centerOfEndInOtherCluster.y); - interClusterEdgeInfos[_i2] = new CiSEInterClusterEdgeInfo(interClusterEdge, angle); - - endInThisCluster = this.getThisEnd(interClusterEdge); - interClusterEdgeDegree[endInThisCluster.getOnCircleNodeExt().getIndex()]++; - - if (interClusterEdgeDegree[endInThisCluster.getOnCircleNodeExt().getIndex()] > 1) { - noOfOnCircleNodesToBeRepeated++; - } - } - - // On circle nodes will be ordered by their indices in this array - var onCircleNodes = this.onCircleNodes; - - // Form arrays for current and reversed order of nodes of this cluster - // Take any repetitions into account (if node with char code 'b' is - // incident with 3 inter-cluster edges, then repeat 'b' 2 times) - var nodeCountWithRepetitions = nodeCount + noOfOnCircleNodesToBeRepeated; - var clusterNodes = new Array(2 * nodeCountWithRepetitions); - var reversedClusterNodes = new Array(2 * nodeCountWithRepetitions); - var node = void 0; - var index = -1; - - for (var _i3 = 0; _i3 < nodeCount; _i3++) { - node = onCircleNodes[_i3]; - - // on circle nodes with no inter-cluster edges are also considered - if (interClusterEdgeDegree[_i3] === 0) interClusterEdgeDegree[_i3] = 1; - - for (var j = 0; j < interClusterEdgeDegree[_i3]; j++) { - index++; - - clusterNodes[index] = clusterNodes[nodeCountWithRepetitions + index] = reversedClusterNodes[nodeCountWithRepetitions - 1 - index] = reversedClusterNodes[2 * nodeCountWithRepetitions - 1 - index] = node.getOnCircleNodeExt().getCharCode(); - } - } - - // Now sort the inter-cluster edges w.r.t. their angles - var edgeSorter = new CiSEInterClusterEdgeSort(this, interClusterEdgeInfos); - - // Form an array for order of neighboring nodes of this cluster - var neighborNodes = new Array(interClusterEdgeInfos.length); - - for (var _i4 = 0; _i4 < interClusterEdgeInfos.length; _i4++) { - interClusterEdge = interClusterEdgeInfos[_i4].getEdge(); - endInThisCluster = this.getThisEnd(interClusterEdge); - neighborNodes[_i4] = endInThisCluster.getOnCircleNodeExt().getCharCode(); - } - - // Now calculate a score for the alignment of the current order of the - // nodes of this cluster w.r.t. to their neighbors order - - var alignmentScoreCurrent = this.computeAlignmentScore(clusterNodes, neighborNodes); - - // Then calculate a score for the alignment of the reversed order of the - // nodes of this cluster w.r.t. to their neighbors order - - if (alignmentScoreCurrent !== -1) { - var alignmentScoreReversed = this.computeAlignmentScore(reversedClusterNodes, neighborNodes); - - // Check if reversed order is *substantially* better aligned with - // the order of the neighbors of this cluster around the cluster; if - // so, reverse the order - - if (alignmentScoreReversed !== -1) { - if (alignmentScoreReversed > alignmentScoreCurrent) { - this.reverseNodes(); - this.setMayNotBeReversed(); - return true; - } - } - } - - return false; - }; - - /** - * This method computes an alignment for the two input char arrays and - * returns the alignment amount. If alignment is unsuccessful for some - * reason, it returns -1. - */ - CiSECircle.prototype.computeAlignmentScore = function(charArrayReader1, charArrayReader2) { - var aligner = new NeedlemanWunsch(charArrayReader1, charArrayReader2, 20, -1, -2); - return aligner.getScore(); - }; - - /** - * This method reverses the nodes on this circle. - */ - CiSECircle.prototype.reverseNodes = function() { - var onCircleNodes = this.getOnCircleNodes(); - var noOfNodesOnCircle = this.getOnCircleNodes().length; - - for (var i = 0; i < noOfNodesOnCircle; i++) { - var node = onCircleNodes[i]; - var nodeExt = node.getOnCircleNodeExt(); - - nodeExt.setIndex((noOfNodesOnCircle - nodeExt.getIndex()) % noOfNodesOnCircle); - } - - this.reCalculateNodeAnglesAndPositions(); - }; - - /** - * This method removes given on-circle node from the circle and calls - * reCalculateCircleSizeAndRadius and reCalculateNodeAnglesAndPositions. - * This method should be called when an inner node is found and to be moved - * inside the circle. - * @param node - */ - CiSECircle.prototype.moveOnCircleNodeInside = function(node) { - - // Remove the node from on-circle nodes list and add it to in-circle - // nodes list - // Make sure it has not been already moved to the out node list - var index = this.onCircleNodes.indexOf(node); - if (index > -1) { - this.onCircleNodes.splice(index, 1); - } - - this.inCircleNodes.push(node); - - // Re-adjust all order indexes of remaining on circle nodes. - for (var i = 0; i < this.onCircleNodes.length; i++) { - var onCircleNode = this.onCircleNodes[i]; - - onCircleNode.getOnCircleNodeExt().setIndex(i); - } - - // De-register extension - node.setAsNonOnCircleNode(); - - // calculateRadius - this.reCalculateCircleSizeAndRadius(); - - //calculateNodePositions - this.reCalculateNodeAnglesAndPositions(); - - node.setCenter(this.getParent().getCenterX(), this.getParent().getCenterY()); - }; - - /** - * This method calculates the size and radius of this circle with respect - * to the sizes of the vertices and the node separation parameter. - */ - CiSECircle.prototype.reCalculateCircleSizeAndRadius = function() { - var totalDiagonal = 0; - var onCircleNodes = this.getOnCircleNodes(); - - for (var i = 0; i < onCircleNodes.length; i++) { - var node = onCircleNodes[i]; - - var temp = node.getWidth() * node.getWidth() + node.getHeight() * node.getHeight(); - totalDiagonal += Math.sqrt(temp); - } - - var layout = this.getGraphManager().getLayout(); - var nodeSeparation = layout.getNodeSeparation(); - - var perimeter = totalDiagonal + this.getOnCircleNodes().length * nodeSeparation; - this.radius = perimeter / (2 * Math.PI); - this.calculateParentNodeDimension(); - }; - - /** - * This method goes over all on-circle nodes and re-calculates their angles - * and corresponding positions. This method should be called when on-circle - * nodes (content or order) have been changed for this circle. - */ - CiSECircle.prototype.reCalculateNodeAnglesAndPositions = function() { - var layout = this.getGraphManager().getLayout(); - var nodeSeparation = layout.getNodeSeparation(); - - // It is important that we sort these on-circle nodes in place. - var inOrderCopy = this.onCircleNodes; - inOrderCopy.sort(function(a, b) { - return a.getOnCircleNodeExt().getIndex() - b.getOnCircleNodeExt().getIndex(); - }); - - var parentCenterX = this.getParent().getCenterX(); - var parentCenterY = this.getParent().getCenterY(); - - for (var i = 0; i < inOrderCopy.length; i++) { - var node = inOrderCopy[i]; - var angle = void 0; - - if (i === 0) { - angle = 0.0; - } else { - var previousNode = inOrderCopy[i - 1]; - - // => angle in radian = (2*PI)*(circular distance/(2*PI*r)) - angle = previousNode.getOnCircleNodeExt().getAngle() + (node.getHalfTheDiagonal() + nodeSeparation + previousNode.getHalfTheDiagonal()) / this.radius; - } - - node.getOnCircleNodeExt().setAngle(angle); - node.setCenter(parentCenterX + this.radius * Math.cos(angle), parentCenterY + this.radius * Math.sin(angle)); - } - }; - - module.exports = CiSECircle; - - /***/ - }), - /* 6 */ - /***/ - (function(module, exports, __webpack_require__) { - - "use strict"; - - - /** - * This class implements data and functionality required for CiSE layout per - * edge. - * - * - * Copyright: i-Vis Research Group, Bilkent University, 2007 - present - */ - - var FDLayoutEdge = __webpack_require__(0).layoutBase.FDLayoutEdge; - - // ----------------------------------------------------------------------------- - // Section: Constructors and initialization - // ----------------------------------------------------------------------------- - - // Constructor - function CiSEEdge(source, target, vEdge) { - FDLayoutEdge.call(this, source, target, vEdge); - - /** - * Flag for inter-graph edges in the base is not good enough. So we define - * this one to mean: a CiSE edge is intra-cluster only if both its ends are - * on a common circle; not intra-cluster, otherwise! - */ - this.isIntraCluster = true; - } - - CiSEEdge.prototype = Object.create(FDLayoutEdge.prototype); - - for (var property in FDLayoutEdge) { - CiSEEdge[property] = FDLayoutEdge[property]; - } - - CiSEEdge.prototype.isIntraEdge = function() { - return this.isIntraCluster; - }; - - // ----------------------------------------------------------------------------- - // Section: Remaining methods - // ----------------------------------------------------------------------------- - - /** - * This method checks whether this edge crosses with the input edge. It - * returns false, if any of the vertices those edges are incident to are - * not yet placed on the circle. - */ - CiSEEdge.prototype.crossesWithEdge = function(other) { - var result = false; - var sourceExt = this.getSource().getOnCircleNodeExt(); - var targetExt = this.getTarget().getOnCircleNodeExt(); - var otherSourceExt = other.getSource().getOnCircleNodeExt(); - var otherTargetExt = other.getTarget().getOnCircleNodeExt(); - var sourcePos = -1; - var targetPos = -1; - var otherSourcePos = -1; - var otherTargetPos = -1; - - if (sourceExt !== null) sourcePos = sourceExt.getIndex(); - - if (targetExt !== null) targetPos = targetExt.getIndex(); - - if (otherSourceExt !== null) otherSourcePos = otherSourceExt.getIndex(); - - if (otherTargetExt !== null) otherTargetPos = otherTargetExt.getIndex(); - - if (!this.isInterGraph && !other.isInterGraph) { - if (this.source.getOwner() !== this.target.getOwner()) result = false; - else { - // if any of the vertices those two edges are not yet placed - if (sourcePos === -1 || targetPos === -1 || otherSourcePos === -1 || otherTargetPos === -1) result = false; - - var otherSourceDist = otherSourceExt.getCircDistWithTheNode(sourceExt); - var otherTargetDist = otherTargetExt.getCircDistWithTheNode(sourceExt); - var thisTargetDist = targetExt.getCircDistWithTheNode(sourceExt); - - if (thisTargetDist < Math.max(otherSourceDist, otherTargetDist) && thisTargetDist > Math.min(otherSourceDist, otherTargetDist) && otherTargetDist !== 0 && otherSourceDist !== 0) { - result = true; - } - } - } else { - result = true; - } - - return result; - }; - - /** - * This method calculates the total number of crossings of this edge with - * all the edges given in the input list. - */ - CiSEEdge.prototype.calculateTotalCrossingWithList = function(edgeList) { - var totalCrossing = 0; - for (var i = 0; i < edgeList.length; i++) { - totalCrossing += this.crossingWithEdge(edgeList[i]); - } - return totalCrossing; - }; - - /** - * This method returns 1 if this edge crosses with the input edge, 0 - * otherwise. - */ - CiSEEdge.prototype.crossingWithEdge = function(other) { - var crosses = this.crossesWithEdge(other); - var result = 0; - - if (crosses) result = 1; - - return result; - }; - - module.exports = CiSEEdge; - - /***/ - }), - /* 7 */ - /***/ - (function(module, exports, __webpack_require__) { - - "use strict"; - - - /** - * This class implements a graph-manager for CiSE layout specific data and - * functionality. - * - * - * Copyright: i-Vis Research Group, Bilkent University, 2007 - present - */ - - var LGraphManager = __webpack_require__(0).layoutBase.LGraphManager; - - // ----------------------------------------------------------------------------- - // Section: Constructors and initialization - // ----------------------------------------------------------------------------- - - function CiSEGraphManager(layout) { - LGraphManager.call(this, layout); - - /** - * All on-circle and other nodes (unclustered nodes and nodes representing - * each cluster/circle) in this graph manager. For efficiency purposes we - * hold references of these nodes that we operate on in arrays. - */ - - this.onCircleNodes = []; - this.inCircleNodes = []; - this.nonOnCircleNodes = []; - } - - CiSEGraphManager.prototype = Object.create(LGraphManager.prototype); - - for (var property in LGraphManager) { - CiSEGraphManager[property] = LGraphManager[property]; - } - - // ----------------------------------------------------------------------------- - // Section: Accessors - // ----------------------------------------------------------------------------- - - // This method returns an array of all on-circle nodes. - CiSEGraphManager.prototype.getOnCircleNodes = function() { - return this.onCircleNodes; - }; - - // This method returns an array of all in-circle nodes. - CiSEGraphManager.prototype.getInCircleNodes = function() { - return this.inCircleNodes; - }; - - // This method returns an array of all nodes other than on-circle nodes. - CiSEGraphManager.prototype.getNonOnCircleNodes = function() { - return this.nonOnCircleNodes; - }; - - // This method sets the array of all on-circle nodes. - CiSEGraphManager.prototype.setOnCircleNodes = function(nodes) { - this.onCircleNodes = nodes; - }; - - // This method sets the array of all in-circle nodes. - CiSEGraphManager.prototype.setInCircleNodes = function(nodes) { - this.inCircleNodes = nodes; - }; - - // This method sets the array of all nodes other than on-circle nodes. - CiSEGraphManager.prototype.setNonOnCircleNodes = function(nodes) { - this.nonOnCircleNodes = nodes; - }; - - module.exports = CiSEGraphManager; - - /***/ - }), - /* 8 */ - /***/ - (function(module, exports, __webpack_require__) { - - "use strict"; - - - /** - * This class keeps the information of each inter-cluster edge of the associated - * circle. It is to be used for sorting inter-cluster edges based on this info. - * - * - * Copyright: i-Vis Research Group, Bilkent University, 2007 - present - */ - - function CiSEInterClusterEdgeInfo(edge, angle) { - // Inter-cluster edge - this.edge = edge; - - // Angle in radians (in clockwise direction from the positive x-axis) that - // is computed for this inter-cluster edge based on the line segment with - // one end as the center of the associated cluster and the other end being - // the center of the source/target node of this inter-cluster edge that is - // not in this cluster. - this.angle = angle; - } - - CiSEInterClusterEdgeInfo.prototype = Object.create(null); - - CiSEInterClusterEdgeInfo.prototype.getEdge = function() { - return this.edge; - }; - - CiSEInterClusterEdgeInfo.prototype.getAngle = function() { - return this.angle; - }; - - module.exports = CiSEInterClusterEdgeInfo; - - /***/ - }), - /* 9 */ - /***/ - (function(module, exports, __webpack_require__) { - - "use strict"; - - - var _createClass = function() { - function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); } } return function(Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - - /** - * This class sorts the array of input edges based on the associated angles. If - * angles turn out to be the same, then we sort the edges based on their - * in-cluster end nodes' orders in clockwise direction. This information is - * calculated beforehand and stored in a matrix in each associated circle. - * - */ - - var CiSEInterClusterEdgeSort = function() { - function CiSEInterClusterEdgeSort(ownerCircle, A) { - _classCallCheck(this, CiSEInterClusterEdgeSort); - - this.ownerCircle = ownerCircle; - this._quicksort(A, 0, A.length - 1); - } - - _createClass(CiSEInterClusterEdgeSort, [{ - key: "compareFunction", - value: function compareFunction(a, b) { - if (b.getAngle() > a.getAngle()) return true; - else if (b.getAngle() === a.getAngle()) { - if (a === b) { - return false; - } else { - return this.ownerCircle.getOrder(this.ownerCircle.getThisEnd(a.getEdge()), this.ownerCircle.getThisEnd(b.getEdge())); - } - } else { - return false; - } - } - }, { - key: "_quicksort", - value: function _quicksort(A, p, r) { - if (p < r) { - var q = this._partition(A, p, r); - this._quicksort(A, p, q); - this._quicksort(A, q + 1, r); - } - } - }, { - key: "_partition", - value: function _partition(A, p, r) { - var x = this._get(A, p); - var i = p; - var j = r; - while (true) { - while (this.compareFunction(x, this._get(A, j))) { - j--; - } - while (this.compareFunction(this._get(A, i), x)) { - i++; - } - if (i < j) { - this._swap(A, i, j); - i++; - j--; - } else return j; - } - } - }, { - key: "_get", - value: function _get(object, index) { - return object[index]; - } - }, { - key: "_set", - value: function _set(object, index, value) { - object[index] = value; - } - }, { - key: "_swap", - value: function _swap(A, i, j) { - var temp = this._get(A, i); - this._set(A, i, this._get(A, j)); - this._set(A, j, temp); - } - }]); - - return CiSEInterClusterEdgeSort; - }(); - - module.exports = CiSEInterClusterEdgeSort; - - /***/ - }), - /* 10 */ - /***/ - (function(module, exports, __webpack_require__) { - - "use strict"; - - - /** - * This class implements a Circular Spring Embedder (CiSE) layout algortithm. - * The algorithm is used for layout of clustered nodes where nodes in each - * cluster is drawn around a circle. The basic steps of the algorithm follows: - * - Step 1: each cluster is laid out with AVSDF circular layout algorithm; - * - Step 2: cluster graph (quotient graph of the clustered graph, where nodes - * correspond to clusters and edges correspond to inter-cluster edges) is laid - * out with a spring embedder to determine the initial layout; - * - Steps 3-5: the cluster graph is laid out with a modified spring embedder, - * where the nodes corresponding to clusters are also allowed to rotate, - * indirectly affecting the layout of the nodes inside the clusters. In Step - * 3, we allow flipping of clusters, whereas in Step 4, we allow swapping of - * neighboring node pairs in a cluster to improve inter-cluster edge crossings - * without increasing intra-cluster crossings. - * - * The input view aspect of GraphManager is inherited from Java version of - * CiSE (Chilay) as a side effect. Ignore any references to 'view' elements. - * - * - * Copyright: i-Vis Research Group, Bilkent University, 2007 - present - */ - - // ----------------------------------------------------------------------------- - // Section: Initializations - // ----------------------------------------------------------------------------- - - var Layout = __webpack_require__(0).layoutBase.FDLayout; - var HashMap = __webpack_require__(0).layoutBase.HashMap; - var PointD = __webpack_require__(0).layoutBase.PointD; - var DimensionD = __webpack_require__(0).layoutBase.DimensionD; - var AVSDFConstants = __webpack_require__(0).AVSDFConstants; - var AVSDFLayout = __webpack_require__(0).AVSDFLayout; - var CoSELayout = __webpack_require__(3).CoSELayout; - var CoSEConstants = __webpack_require__(3).CoSEConstants; - var CiSEConstants = __webpack_require__(1); - var CiSEGraphManager = __webpack_require__(7); - var CiSECircle = __webpack_require__(5); - var CiSENode = __webpack_require__(11); - var CiSEEdge = __webpack_require__(6); - var CiSEOnCircleNodePair = __webpack_require__(13); - - // Constructor - function CiSELayout() { - Layout.call(this); - - /** - * Whether it is incremental - */ - this.incremental = CiSEConstants.INCREMENTAL; - - /** - * Separation of the nodes on each circle customizable by the user - */ - this.nodeSeparation = CiSEConstants.DEFAULT_NODE_SEPARATION; - - /** - * Ideal edge length coefficient for inter-cluster edges - */ - this.idealInterClusterEdgeLengthCoefficient = CiSEConstants.DEFAULT_IDEAL_INTER_CLUSTER_EDGE_LENGTH_COEFF; - - /** - * Decides whether pull on-circle nodes inside of the circle. - */ - this.allowNodesInsideCircle = CiSEConstants.DEFAULT_ALLOW_NODES_INSIDE_CIRCLE; - - /** - * Max percentage of the nodes in a circle that can move inside the circle - */ - this.maxRatioOfNodesInsideCircle = CiSEConstants.DEFAULT_MAX_RATIO_OF_NODES_INSIDE_CIRCLE; - - /** - * Current step of the layout process - */ - this.step = CiSELayout.STEP_NOT_STARTED; - - /** - * Current phase of current step - */ - this.phase = CiSELayout.PHASE_NOT_STARTED; - - /** - * Holds the set of pairs swapped in the last swap phase. - */ - this.swappedPairsInLastIteration = []; - - /** - * Iterations in the runSpringEmbedderTicl function - */ - this.iterations = 0; - - this.oldTotalDisplacement = 0.0; - - /** - * Cooling Factor Variables - */ - this.coolingCycle = 0; - this.maxCoolingCycle = this.maxIterations / CiSEConstants.CONVERGENCE_CHECK_PERIOD; - } - - CiSELayout.prototype = Object.create(Layout.prototype); - - for (var property in Layout) { - CiSELayout[property] = Layout[property]; - } - - // ----------------------------------------------------------------------------- - // Section: Class constants - // ----------------------------------------------------------------------------- - /** - * Steps of layout - */ - CiSELayout.STEP_NOT_STARTED = 0; - CiSELayout.STEP_1 = 1; - CiSELayout.STEP_2 = 2; - CiSELayout.STEP_3 = 3; - CiSELayout.STEP_4 = 4; - CiSELayout.STEP_5 = 5; - - /** - * Phases of a step - */ - CiSELayout.PHASE_NOT_STARTED = 0; - CiSELayout.PHASE_SWAP_PREPERATION = 1; - CiSELayout.PHASE_PERFORM_SWAP = 2; - CiSELayout.PHASE_OTHER = 3; - - // ----------------------------------------------------------------------------- - // Section: Class methods - // ----------------------------------------------------------------------------- - - /** - * This method creates a new graph manager associated with this layout. - */ - CiSELayout.prototype.newGraphManager = function() { - this.graphManager = new CiSEGraphManager(this); - return this.graphManager; - }; - - /** - * This method creates a new graph(CiSECircle) associated with the input view graph. - */ - CiSELayout.prototype.newCircleLGraph = function(vGraph) { - return new CiSECircle(null, this.graphManager, vGraph); - }; - - /** - * This method creates a new node associated with the input view node. - */ - CiSELayout.prototype.newNode = function(loc, size) { - return new CiSENode(this.graphManager, loc, size, null); - }; - - /** - * This method creates a new on-circle CiSE node associated with the input - * view node. - */ - CiSELayout.prototype.newCiSEOnCircleNode = function(loc, size) { - var newNode = this.newNode(loc, size); - newNode.setAsOnCircleNode(); - - return newNode; - }; - - /** - * This method creates a new edge associated with the input view edge. - */ - CiSELayout.prototype.newEdge = function(source, target, vEdge) { - return new CiSEEdge(source, target, vEdge); - }; - - /** - * This method returns the node separation amount for this layout. - */ - CiSELayout.prototype.getNodeSeparation = function() { - return this.nodeSeparation; - }; - - /** - * This method establishes the GraphManager object related to this layout. Each compound(LGraph) is CiSECircle except - * for the root. - * @param nodes: All nodes in the graph - * @param edges: All edges in the graph - * @param clusters: Array of cluster ID arrays. Each array represents a cluster where ID ∈ {0,1,2,..,n(# of clusters)} - * - * Notes: - * -> For unclustered nodes, their clusterID is -1. - * -> CiSENode that corresponds to a cluster has no ID property. - */ - CiSELayout.prototype.convertToClusteredGraph = function(nodes, edges, clusters) { - var _this = this; - - var self = this; - var idToLNode = {}; - var rootGraph = this.graphManager.getRoot(); - - // Firstly, lets create a HashMap to get node properties easier - var idToCytoscapeNode = new HashMap(); - for (var i = 0; i < nodes.length; i++) { - idToCytoscapeNode.put(nodes[i].data('id'), nodes[i]); - } - - // If it is a function just change it - if (typeof clusters === "function") { - var cIDs = []; - var temp = []; - - for (var _i = 0; _i < nodes.length; _i++) { - var cID = clusters(nodes[_i]); - if (cID > 0 && cID !== null && cID !== undefined) { - var index = cIDs.indexOf(cID); - if (index > -1) { - temp[index].push(nodes[_i].data('id')); - } else { - cIDs.push(cID); - temp.push([nodes[_i].data('id')]); - } - } - } - clusters = temp; - } - - // lets add the nodes in clusters to the GraphManager - - var _loop = function _loop(_i2) { - if (clusters[_i2].length === 0) return 'continue'; - - // Create a CiSENode for the cluster - var clusterNode = _this.newNode(null); - - // ClusterID ∈ {0,1,2,..,n(# of clusters)} - clusterNode.setClusterId(_i2); - - // Add it rootGraph - rootGraph.add(clusterNode); - - // Create the associated Circle representing the cluster and link them together - var circle = _this.newCircleLGraph(null); - _this.graphManager.add(circle, clusterNode); - - // Set bigger margins so clusters are spaced out nicely - circle.margin = circle.margin + 15; - - // Move each node of the cluster into this circle - clusters[_i2].forEach(function(nodeID) { - var cytoNode = idToCytoscapeNode.get(nodeID); - var dimensions = cytoNode.layoutDimensions({ - nodeDimensionsIncludeLabels: false - }); - // Adding a node into the circle - var ciseNode = self.newCiSEOnCircleNode(new PointD(cytoNode.position('x') - dimensions.w / 2, cytoNode.position('y') - dimensions.h / 2), new DimensionD(parseFloat(dimensions.w), parseFloat(dimensions.h))); - ciseNode.setId(nodeID); - ciseNode.setClusterId(_i2); - circle.getOnCircleNodes().push(ciseNode); - circle.add(ciseNode); - - // Initially all on-circle nodes are assumed to be in-nodes - circle.getInNodes().push(ciseNode); - - // Map the node - idToLNode[ciseNode.getId()] = ciseNode; - }); - }; - - for (var _i2 = 0; _i2 < clusters.length; _i2++) { - var _ret = _loop(_i2); - - if (_ret === 'continue') continue; - } - - // Now, add unclustered nodes to the GraphManager - - var _loop2 = function _loop2(_i3) { - var clustered = false; - - clusters.forEach(function(cluster) { - if (cluster.includes(nodes[_i3].data('id'))) clustered = true; - }); - - if (!clustered) { - var cytoNode = nodes[_i3]; - var dimensions = cytoNode.layoutDimensions({ - nodeDimensionsIncludeLabels: false - }); - var _CiSENode = _this.newNode(new PointD(cytoNode.position('x') - dimensions.w / 2, cytoNode.position('y') - dimensions.h / 2), new DimensionD(parseFloat(dimensions.w), parseFloat(dimensions.h))); - _CiSENode.setClusterId(-1); - _CiSENode.setId(nodes[_i3].data('id')); - rootGraph.add(_CiSENode); - - // Map the node - idToLNode[_CiSENode.getId()] = _CiSENode; - } - }; - - for (var _i3 = 0; _i3 < nodes.length; _i3++) { - _loop2(_i3); - } - - // Lastly, add all edges - for (var _i4 = 0; _i4 < edges.length; _i4++) { - var e = edges[_i4]; - var sourceNode = idToLNode[e.data("source")]; - var targetNode = idToLNode[e.data("target")]; - var sourceClusterID = sourceNode.getClusterId(); - var targetClusterID = targetNode.getClusterId(); - - if (sourceNode === targetNode) continue; - - var ciseEdge = self.newEdge(sourceNode, targetNode, null); - - // Edge is intracluster - // Remember: If source or target is unclustered then edge is Not intracluster - if (sourceClusterID === targetClusterID && sourceClusterID !== -1 && targetClusterID !== -1) { - ciseEdge.isIntraCluster = true; - ciseEdge.getSource().getOwner().add(ciseEdge, ciseEdge.getSource(), ciseEdge.getTarget()); - } else { - ciseEdge.isIntraCluster = false; - this.graphManager.add(ciseEdge, ciseEdge.getSource(), ciseEdge.getTarget()); - } - } - - // Populate the references of GraphManager - var onCircleNodes = []; - var nonOnCircleNodes = []; - var allNodes = this.graphManager.getAllNodes(); - for (var _i5 = 0; _i5 < allNodes.length; _i5++) { - if (allNodes[_i5].getOnCircleNodeExt()) { - onCircleNodes.push(allNodes[_i5]); - } else { - nonOnCircleNodes.push(allNodes[_i5]); - } - } - - this.graphManager.setOnCircleNodes(onCircleNodes); - this.graphManager.setNonOnCircleNodes(nonOnCircleNodes); - - // Deternine out-nodes of each circle - this.graphManager.edges.forEach(function(e) { - var sourceNode = e.getSource(); - var targetNode = e.getTarget(); - var sourceClusterID = sourceNode.getClusterId(); - var targetClusterID = targetNode.getClusterId(); - - // If an on-circle node is an out-node, then remove it from the - // in-node list and add it to out-node list of the associated - // circle. Notice that one or two ends of an inter-graph edge will - // be out-node(s). - if (sourceClusterID !== -1) { - var _circle = sourceNode.getOwner(); - - // Make sure it has not been already moved to the out node list - var _index = _circle.getInNodes().indexOf(sourceNode); - if (_index > -1) { - _circle.getInNodes().splice(_index, 1); - _circle.getOutNodes().push(sourceNode); - } - } - - if (targetClusterID !== -1) { - var _circle2 = targetNode.getOwner(); - - // Make sure it has not been already moved to the out node list - var _index2 = _circle2.getInNodes().indexOf(targetNode); - if (_index2 > -1) { - _circle2.getInNodes().splice(_index2, 1); - _circle2.getOutNodes().push(targetNode); - } - } - }); - - return idToLNode; - }; - - /** - * This method runs AVSDF layout for each cluster. - */ - CiSELayout.prototype.doStep1 = function() { - this.step = CiSELayout.STEP_1; - this.phase = CiSELayout.PHASE_OTHER; - - // Mapping for transferring positions and dimensions back - var ciseToAvsdf = new HashMap(); - - var allGraphs = this.graphManager.getGraphs(); - for (var i = 0; i < allGraphs.length; i++) { - var graph = allGraphs[i]; - - // Skip the root graph which is a normal LGraph - if (graph instanceof CiSECircle) { - // Create the AVSDF layout objects - AVSDFConstants.DEFAULT_NODE_SEPARATION = this.nodeSeparation; - var avsdfLayout = new AVSDFLayout(); - var avsdfCircle = avsdfLayout.graphManager.addRoot(); - var clusteredNodes = graph.getOnCircleNodes(); - - // Create corresponding AVSDF nodes in current cluster - for (var _i6 = 0; _i6 < clusteredNodes.length; _i6++) { - var ciseOnCircleNode = clusteredNodes[_i6]; - - var avsdfNode = avsdfLayout.newNode(null); - var loc = ciseOnCircleNode.getLocation(); - avsdfNode.setLocation(loc.x, loc.y); - avsdfNode.setWidth(ciseOnCircleNode.getWidth()); - avsdfNode.setHeight(ciseOnCircleNode.getHeight()); - avsdfCircle.add(avsdfNode); - - ciseToAvsdf.put(ciseOnCircleNode, avsdfNode); - } - - // For each edge, create a corresponding AVSDF edge if its both ends - // are in this cluster. - var allEdges = this.getAllEdges(); - for (var _i7 = 0; _i7 < allEdges.length; _i7++) { - var edge = allEdges[_i7]; - - if (clusteredNodes.includes(edge.getSource()) && clusteredNodes.includes(edge.getTarget())) { - var avsdfSource = ciseToAvsdf.get(edge.getSource()); - var avsdfTarget = ciseToAvsdf.get(edge.getTarget()); - var avsdfEdge = avsdfLayout.newEdge(""); - - avsdfCircle.add(avsdfEdge, avsdfSource, avsdfTarget); - } - } - - // Run AVSDF layout - avsdfLayout.layout(); - - // Do post-processing - var sortedByDegreeList = avsdfLayout.initPostProcess(); - for (var _i8 = 0; _i8 < sortedByDegreeList.length; _i8++) { - avsdfLayout.oneStepPostProcess(sortedByDegreeList[_i8]); - } - avsdfLayout.updateNodeAngles(); - avsdfLayout.updateNodeCoordinates(); - - // Reflect changes back to CiSENode's - for (var _i9 = 0; _i9 < clusteredNodes.length; _i9++) { - var _ciseOnCircleNode = clusteredNodes[_i9]; - var _avsdfNode = ciseToAvsdf.get(_ciseOnCircleNode); - var _loc = _avsdfNode.getLocation(); - _ciseOnCircleNode.setLocation(_loc.x, _loc.y); - _ciseOnCircleNode.getOnCircleNodeExt().setIndex(_avsdfNode.getIndex()); - _ciseOnCircleNode.getOnCircleNodeExt().setAngle(_avsdfNode.getAngle()); - } - - // Sort nodes of this ciseCircle according to circle indexes of - // ciseOnCircleNodes. - clusteredNodes.sort(function(a, b) { - return a.getOnCircleNodeExt().getIndex() - b.getOnCircleNodeExt().getIndex(); - }); - - // Assign width and height of the AVSDF circle containing the nodes - // above to the corresponding cise-circle. - if (avsdfCircle.getNodes().length > 0) { - var parentCiSE = graph.getParent(); - var parentAVSDF = avsdfCircle.getParent(); - parentCiSE.setLocation(parentAVSDF.getLocation().x, parentAVSDF.getLocation().y); - graph.setRadius(avsdfCircle.getRadius()); - graph.calculateParentNodeDimension(); - } - } - } - }; - - /** - * This method runs a spring embedder on the cluster-graph (quotient graph - * of the clustered graph) to determine initial layout. - */ - CiSELayout.prototype.doStep2 = function() { - this.step = CiSELayout.STEP_2; - this.phase = CiSELayout.PHASE_OTHER; - var newCoSENodes = []; - var newCoSEEdges = []; - - // Used for holding conversion mapping between cise and cose nodes. - var ciseNodeToCoseNode = new HashMap(); - - // Used for reverse mapping between cose and cise edges while sorting - // incident edges. - var coseEdgeToCiseEdges = new HashMap(); - - // Create a CoSE layout object - var coseLayout = new CoSELayout(); - coseLayout.isSubLayout = false; - coseLayout.useMultiLevelScaling = false; - coseLayout.useFRGridVariant = true; - coseLayout.springConstant *= 1.5; - - var gm = coseLayout.newGraphManager(); - var coseRoot = gm.addRoot(); - - // Traverse through all nodes and create new CoSENode's. - // !WARNING! = REMEMBER to set unique "id" properties to CoSENodes!!!! - var nonOnCircleNodes = this.graphManager.getNonOnCircleNodes(); - for (var i = 0; i < nonOnCircleNodes.length; i++) { - var ciseNode = nonOnCircleNodes[i]; - - var newNode = coseLayout.newNode(null); - var loc = ciseNode.getLocation(); - newNode.setLocation(loc.x, loc.y); - newNode.setWidth(ciseNode.getWidth()); - newNode.setHeight(ciseNode.getHeight()); - - // Set nodes corresponding to circles to be larger than original, so - // inter-cluster edges end up longer. - if (ciseNode.getChild() != null) { - newNode.setWidth(1.2 * newNode.getWidth()); - newNode.setHeight(1.2 * newNode.getHeight()); - } - - // !WARNING! = CoSE EXPECTS "id" PROPERTY IMPLICITLY, REMOVING IT WILL CAUSE TILING TO OCCUR ON THE WHOLE GRAPH - newNode.id = i; - - coseRoot.add(newNode); - newCoSENodes.push(newNode); - ciseNodeToCoseNode.put(ciseNode, newNode); - } - - // Used for preventing duplicate edge creation between two cose nodes - var nodePairs = new Array(newCoSENodes.length); - for (var _i10 = 0; _i10 < nodePairs.length; _i10++) { - nodePairs[_i10] = new Array(newCoSENodes.length); - } - - // Traverse through edges and create cose edges for inter-cluster ones. - var allEdges = this.graphManager.getAllEdges(); - for (var _i11 = 0; _i11 < allEdges.length; _i11++) { - var ciseEdge = allEdges[_i11]; - var sourceCise = ciseEdge.getSource(); - var targetCise = ciseEdge.getTarget(); - - // Determine source and target nodes for current edge - if (sourceCise.getOnCircleNodeExt() != null) { - // Source node is an on-circle node, take its parent as source node - sourceCise = ciseEdge.getSource().getOwner().getParent(); - } - if (targetCise.getOnCircleNodeExt() != null) { - // Target node is an on-circle node, take its parent as target node - targetCise = ciseEdge.getTarget().getOwner().getParent(); - } - - var sourceCose = ciseNodeToCoseNode.get(sourceCise); - var targetCose = ciseNodeToCoseNode.get(targetCise); - var sourceIndex = newCoSENodes.indexOf(sourceCose); - var targetIndex = newCoSENodes.indexOf(targetCose); - - var newEdge = void 0; - if (sourceIndex !== targetIndex) { - // Make sure it's an inter-cluster edge - - if (nodePairs[sourceIndex][targetIndex] == null && nodePairs[targetIndex][sourceIndex] == null) { - newEdge = coseLayout.newEdge(null); - coseRoot.add(newEdge, sourceCose, targetCose); - newCoSEEdges.push(newEdge); - - coseEdgeToCiseEdges.put(newEdge, []); - - nodePairs[sourceIndex][targetIndex] = newEdge; - nodePairs[targetIndex][sourceIndex] = newEdge; - } else { - newEdge = nodePairs[sourceIndex][targetIndex]; - } - - coseEdgeToCiseEdges.get(newEdge).push(ciseEdge); - } - } - - // Run CoSELayout - coseLayout.runLayout(); - - // Reflect changes back to cise nodes - // First update all non-on-circle nodes. - for (var _i12 = 0; _i12 < nonOnCircleNodes.length; _i12++) { - var _ciseNode = nonOnCircleNodes[_i12]; - var coseNode = ciseNodeToCoseNode.get(_ciseNode); - var _loc2 = coseNode.getLocation(); - _ciseNode.setLocation(_loc2.x, _loc2.y); - } - - // Then update all cise on-circle nodes, since their parents have - // changed location. - - var onCircleNodes = this.graphManager.getOnCircleNodes(); - - for (var _i13 = 0; _i13 < onCircleNodes.length; _i13++) { - var _ciseNode2 = onCircleNodes[_i13]; - var _loc3 = _ciseNode2.getLocation(); - var parentLoc = _ciseNode2.getOwner().getParent().getLocation(); - _ciseNode2.setLocation(_loc3.x + parentLoc.x, _loc3.y + parentLoc.y); - } - }; - - /** - * This method runs a modified spring embedder as described by the CiSE - * layout algorithm where the on-circle nodes are fixed (pinned down to - * the location on their owner circle). Circles, however, are allowed to be - * flipped (i.e. nodes are re-ordered in the reverse direction) if reversal - * yields a better aligned neighborhood (w.r.t. its inter-graph edges). - */ - CiSELayout.prototype.step3Init = function() { - this.step = CiSELayout.STEP_3; - this.phase = CiSELayout.PHASE_OTHER; - this.initSpringEmbedder(); - this.coolingCycle = 0; - }; - - /** - * This method runs a modified spring embedder as described by the CiSE - * layout algorithm where the neighboring on-circle nodes are allowed to - * move by swapping without increasing crossing number but circles are not - * allowed to be flipped. - */ - CiSELayout.prototype.step4Init = function() { - this.step = CiSELayout.STEP_4; - this.phase = CiSELayout.PHASE_OTHER; - this.initSpringEmbedder(); - for (var i = 0; i < this.graphManager.getOnCircleNodes().length; i++) { - this.graphManager.getOnCircleNodes()[i].getOnCircleNodeExt().updateSwappingConditions(); - } - this.coolingCycle = 0; - }; - - /** - * This method runs a modified spring embedder as described by the CiSE - * layout algorithm where the on-circle nodes are fixed (pinned down to - * the location on their owner circle) and circles are not allowed to be - * flipped. - */ - CiSELayout.prototype.step5Init = function() { - this.step = CiSELayout.STEP_5; - this.phase = CiSELayout.PHASE_OTHER; - this.initSpringEmbedder(); - this.coolingCycle = 0; - }; - - /** - * This method implements a spring embedder used by steps 3 thru 5 with - * potentially different parameters. - * - */ - CiSELayout.prototype.runSpringEmbedderTick = function() { - // This function uses iterations but FDLayout uses this.totalIterations - this.iterations++; - this.totalIterations = this.iterations; - - if (this.iterations % CiSEConstants.CONVERGENCE_CHECK_PERIOD === 0) { - // In step 4 make sure at least a 1/4 of max iters take place - var notTooEarly = this.step !== CiSELayout.STEP_4 || this.iterations > this.maxIterations / 4; - - if (notTooEarly && this.isConverged()) { - return true; - } - - // Cooling factor descend function - //this.coolingFactor = this.initialCoolingFactor * Math.pow( 1 - 0.005 , this.iterations) ; - - this.coolingFactor = this.initialCoolingFactor * ((this.maxIterations - this.iterations) / this.maxIterations); - } - - this.totalDisplacement = 0; - - if (this.step === CiSELayout.STEP_3) { - if (this.iterations % CiSEConstants.REVERSE_PERIOD === 0) { - this.checkAndReverseIfReverseIsBetter(); - } - } else if (this.step === CiSELayout.STEP_4) { - // clear history every now and then - if (this.iterations % CiSEConstants.SWAP_HISTORY_CLEARANCE_PERIOD === 0) { - this.swappedPairsInLastIteration = []; - } - - // no of iterations in this swap period - var iterationInPeriod = this.iterations % CiSEConstants.SWAP_PERIOD; - - if (iterationInPeriod >= CiSEConstants.SWAP_IDLE_DURATION) { - this.phase = CiSELayout.PHASE_SWAP_PREPERATION; - } else if (iterationInPeriod === 0) { - this.phase = CiSELayout.PHASE_PERFORM_SWAP; - } else { - this.phase = CiSELayout.PHASE_OTHER; - } - } - - this.calcSpringForces(); - this.calcRepulsionForces(); - this.calcGravitationalForces(); - this.calcTotalForces(); - this.moveNodes(); - - return this.iterations >= this.maxIterations; - }; - - /** - * This method prepares circles for possible reversal by computing the order - * matrix of each circle. It also determines any circles that should never - * be reversed (e.g. when it has no more than 1 inter-cluster edge). - */ - - CiSELayout.prototype.prepareCirclesForReversal = function() { - var nodes = this.graphManager.getRoot().getNodes(); - nodes.forEach(function(node) { - var circle = node.getChild(); - if (circle !== null && circle !== undefined) { - //It is a circle - if (circle.getInterClusterEdges().length < 2) circle.setMayNotBeReversed(); - - circle.computeOrderMatrix(); - } - }); - }; - - /** - * This method calculates the ideal edge length of each edge. Here we relax - * edge lengths in the polishing step and keep the edge lengths of the edges - * incident with inner-nodes very short to avoid overlaps. - */ - CiSELayout.prototype.calcIdealEdgeLengths = function(isPolishingStep) { - var lEdges = this.graphManager.getAllEdges(); - for (var i = 0; i < lEdges.length; i++) { - var edge = lEdges[i]; - - // Loosen in the polishing step to avoid overlaps - if (isPolishingStep) edge.idealLength = 1.5 * this.idealEdgeLength * this.idealInterClusterEdgeLengthCoefficient; - else edge.idealLength = this.idealEdgeLength * this.idealInterClusterEdgeLengthCoefficient; - } - - // Update in-nodes edge's lengths - var lNodes = this.graphManager.getInCircleNodes(); - for (var _i14 = 0; _i14 < lNodes.length; _i14++) { - var node = lNodes[_i14]; - - node.getEdges().forEach(function(edge) { - edge.idealLength = CiSEConstants.DEFAULT_INNER_EDGE_LENGTH; - }); - } - }; - - /** - * This method calculates the spring forces applied to end nodes of each - * edge. In steps 3 & 5, where on-circle nodes are not allowed to move, - * intra-cluster edges are ignored (as their total will equal zero and won't - * have an affect on the owner circle). - */ - CiSELayout.prototype.calcSpringForces = function() { - var lEdges = this.graphManager.getAllEdges(); - for (var i = 0; i < lEdges.length; i++) { - var edge = lEdges[i]; - var source = edge.getSource(); - var target = edge.getTarget(); - - // Ignore intra-cluster edges (all steps 3 thru 5) except for those - // incident w/ any inner-nodes - if (edge.isIntraCluster && source.getOnCircleNodeExt() != null && target.getOnCircleNodeExt() != null) { - continue; - } - - this.calcSpringForce(edge, edge.idealLength); - } - }; - - /** - * This method calculates the repulsion forces for each pair of nodes. - * Repulsions need not be calculated for on-circle nodes. - */ - CiSELayout.prototype.calcRepulsionForces = function() { - var lNodes = this.graphManager.getNonOnCircleNodes(); - for (var i = 0; i < lNodes.length; i++) { - var nodeA = lNodes[i]; - for (var j = i + 1; j < lNodes.length; j++) { - var nodeB = lNodes[j]; - - this.calcRepulsionForce(nodeA, nodeB); - } - } - - // We need the calculate repulsion forces for in-circle nodes as well - // to keep them inside circle. - var inCircleNodes = this.graphManager.getInCircleNodes(); - for (var _i15 = 0; _i15 < inCircleNodes.length; _i15++) { - var inCircleNode = inCircleNodes[_i15]; - var ownerCircle = inCircleNode.getOwner(); - - //TODO: inner nodes repulse on-circle nodes as well, not desired! - // Calculate repulsion forces with all nodes inside the owner circle - // of this inner node. - - var childNodes = ownerCircle.getNodes(); - for (var _i16 = 0; _i16 < childNodes.length; _i16++) { - var childCiSENode = childNodes[_i16]; - - if (childCiSENode !== inCircleNode) { - this.calcRepulsionForce(inCircleNode, childCiSENode); - } - } - } - }; - - /** - * This method calculates the gravitational forces for each node. On-circle - * nodes move with their owner; thus they are not applied separate gravity. - */ - CiSELayout.prototype.calcGravitationalForces = function() { - if (!this.graphManager.rootGraph.isConnected) { - var _lNodes = this.graphManager.getNonOnCircleNodes(); - - for (var i = 0; i < _lNodes.length; i++) { - var node = _lNodes[i]; - this.calcGravitationalForce(node); - } - } - - // Calculate gravitational forces to keep in-circle nodes in the center - // TODO: is this really helping or necessary? - var lNodes = this.graphManager.getInCircleNodes(); - - for (var _i17 = 0; _i17 < lNodes.length; _i17++) { - var _node = lNodes[_i17]; - this.calcGravitationalForce(_node); - } - }; - - /** - * This method adds up all the forces calculated earlier transferring forces - * of on-circle nodes to their owner node (as regular and rotational forces) - * when they are not allowed to move. When they are allowed to move, - * on-circle nodes will partially contribute to the forces of their owner - * circle (no rotational contribution). - */ - CiSELayout.prototype.calcTotalForces = function() { - var allNodes = this.graphManager.getAllNodes(); - - for (var i = 0; i < allNodes.length; i++) { - var node = allNodes[i]; - - node.displacementX = this.coolingFactor * (node.springForceX + node.repulsionForceX + node.gravitationForceX); - node.displacementY = this.coolingFactor * (node.springForceY + node.repulsionForceY + node.gravitationForceY); - - node.rotationAmount = 0.0; - - node.springForceX = 0.0; - node.springForceY = 0.0; - node.repulsionForceX = 0.0; - node.repulsionForceY = 0.0; - node.gravitationForceX = 0.0; - node.gravitationForceY = 0.0; - } - - var onCircleNodes = this.graphManager.getOnCircleNodes(); - for (var _i18 = 0; _i18 < onCircleNodes.length; _i18++) { - var _node2 = onCircleNodes[_i18]; - var parentNode = _node2.getOwner().getParent(); - var values = _node2.getOwner().decomposeForce(_node2); - - if (this.phase === CiSELayout.PHASE_SWAP_PREPERATION) { - _node2.getOnCircleNodeExt().addDisplacementForSwap(values.getRotationAmount()); - } - - parentNode.displacementX += values.getDisplacementX(); - parentNode.displacementY += values.getDisplacementY(); - _node2.displacementX = 0.0; - _node2.displacementY = 0.0; - - parentNode.rotationAmount += values.getRotationAmount(); - _node2.rotationAmount = 0.0; - } - }; - - /** - * This method updates positions of each node at the end of an iteration. - * Also, it deals with swapping of two consecutive nodes on a circle in - * step 4. - */ - CiSELayout.prototype.moveNodes = function() { - if (this.phase !== CiSELayout.PHASE_PERFORM_SWAP) { - var nonOnCircleNodes = this.graphManager.getNonOnCircleNodes(); - - // Simply move all non-on-circle nodes. - for (var i = 0; i < nonOnCircleNodes.length; i++) { - nonOnCircleNodes[i].move(); - - // Also make required rotations for circles - if (nonOnCircleNodes[i].getChild() !== null && nonOnCircleNodes[i].getChild() !== undefined) { - nonOnCircleNodes[i].getChild().rotate(); - } - } - - // Also move all in-circle nodes. Note that in-circle nodes will be - // empty if this option is not set, hence no negative effect on - // performance - - var inCircleNodes = this.graphManager.getInCircleNodes(); - var inCircleNode = void 0; - - for (var _i19 = 0; _i19 < inCircleNodes.length; _i19++) { - inCircleNode = inCircleNodes[_i19]; - // TODO: workaround to force inner nodes to stay inside - inCircleNode.displacementX /= 20.0; - inCircleNode.displacementY /= 20.0; - inCircleNode.move(); - } - } else { - // If in perform-swap phase of step 4, we have to look for swappings - // that do not increase edge crossings and is likely to decrease total - // energy. - var ciseOnCircleNodes = this.graphManager.getOnCircleNodes(); - var size = ciseOnCircleNodes.length; - - // Both nodes of a pair are out-nodes, not necessarilly safe due to - // inter-cluster edge crossings - // TODO It should be a max heap structure - var nonSafePairs = []; - - // Pairs where one of the on circle nodes is an in-node; no problem - // swapping these - var safePairs = []; - - // Nodes swapped in this round - var swappedNodes = []; - - // Pairs swapped or prevented from being swapped in this round - var swappedPairs = []; - - var firstNode = void 0; - var secondNode = void 0; - var firstNodeExt = void 0; - var secondNodeExt = void 0; - var firstNodeDisp = void 0; - var secondNodeDisp = void 0; - var discrepancy = void 0; - var inSameDirection = void 0; - - // Check each node with its next node for swapping - for (var _i20 = 0; _i20 < size; _i20++) { - firstNode = ciseOnCircleNodes[_i20]; - secondNode = firstNode.getOnCircleNodeExt().getNextNode(); - firstNodeExt = firstNode.getOnCircleNodeExt(); - secondNodeExt = secondNode.getOnCircleNodeExt(); - - // Ignore if the swap is to introduce new intra-edge crossings - if (!firstNodeExt.canSwapWithNext || !secondNodeExt.canSwapWithPrev) continue; - - firstNodeDisp = firstNodeExt.getDisplacementForSwap(); - secondNodeDisp = secondNodeExt.getDisplacementForSwap(); - discrepancy = firstNodeDisp - secondNodeDisp; - - // Pulling in reverse directions, no swap - if (discrepancy < 0.0) continue; - - // Might swap, create safe or nonsafe node pairs - inSameDirection = firstNodeDisp > 0 && secondNodeDisp > 0 || firstNodeDisp < 0 && secondNodeDisp < 0; - var pair = new CiSEOnCircleNodePair(firstNode, secondNode, discrepancy, inSameDirection); - - // When both are out-nodes, nonsafe; otherwise, safe - if (firstNodeDisp === 0.0 || secondNodeDisp === 0.0) safePairs.push(pair); - else nonSafePairs.push(pair); - } - - var nonSafePair = void 0; - var lookForSwap = true; - var rollback = void 0; - - // TODO max heap -> extractMax - nonSafePairs.sort(function(a, b) { - return a.getDiscrepancy() - b.getDiscrepancy(); - }); - - // Look for a nonsafe pair until we swap one - while (lookForSwap && nonSafePairs.length > 0) { - // Pick the non safe pair that has the maximum discrepancy. - nonSafePair = nonSafePairs[nonSafePairs.length - 1]; - firstNode = nonSafePair.getFirstNode(); - secondNode = nonSafePair.getSecondNode(); - firstNodeExt = firstNode.getOnCircleNodeExt(); - secondNodeExt = secondNode.getOnCircleNodeExt(); - - // If this pair is swapped in previous swap phase, don't allow - // this swap. Also save it for the future as if it is actually - // swapped in order to prevent future oscilations - if (this.isSwappedPreviously(nonSafePair)) { - nonSafePairs.pop(); - swappedPairs.push(nonSafePair); - continue; - } - - // Check for inter-cluster edge crossings before swapping. - var int1 = firstNodeExt.getInterClusterIntersections(secondNodeExt); - - // Try a swap - nonSafePair.swap(); - rollback = false; - - // Then re-compute crossings - var int2 = firstNodeExt.getInterClusterIntersections(secondNodeExt); - - // Possible cases regarding discrepancy: - // first second action - // + + both clockwise: might swap if disp > 0 - // + - disp > 0: might swap - // - - both counter-clockwise: might swap if disp > 0 - // - + disp <= 0: no swap - - // Under following conditions roll swap back: - // - swap increases inter-cluster edge crossings - // - inter-cluster edge number is the same but pulling in the - // same direction or discrepancy is below pre-determined - // threshold (not enough for swap) - - rollback = int2 > int1; - - if (!rollback && int2 === int1) { - rollback = nonSafePair.inSameDirection() || nonSafePair.getDiscrepancy() < CiSEConstants.MIN_DISPLACEMENT_FOR_SWAP; - } - - if (rollback) { - nonSafePair.swap(); - nonSafePairs.pop(); - continue; - } - - swappedNodes.push(nonSafePair.getFirstNode()); - swappedNodes.push(nonSafePair.getSecondNode()); - swappedPairs.push(nonSafePair); - - // Swap performed, do not look for another nonsafe pair - lookForSwap = false; - } - - // Now process all safe pairs - for (var _i21 = 0; _i21 < safePairs.length; _i21++) { - var safePair = safePairs[_i21]; - - // Check if discrepancy is above the threshold (enough to swap) - if (safePair.inSameDirection() || safePair.getDiscrepancy() < CiSEConstants.MIN_DISPLACEMENT_FOR_SWAP) { - continue; - } - - // Check if they were already involved in a swap in this phase - if (swappedNodes.includes(safePair.getFirstNode()) || swappedNodes.includes(safePair.getSecondNode())) { - continue; - } - - // Should be swapped if not previously swapped; so - // Check if they were previously swapped - if (!this.isSwappedPreviously(safePair)) { - safePair.swap(); - swappedNodes.push(safePair.getFirstNode()); - swappedNodes.push(safePair.getSecondNode()); - } - - // Mark swapped (even if not) to prevent future oscillations - swappedPairs.push(safePair); - } - - // Update swap history - this.swappedPairsInLastIteration = []; - for (var _i22 = 0; _i22 < swappedPairs.length; _i22++) { - this.swappedPairsInLastIteration.push(swappedPairs[_i22]); - } - - // Reset all discrepancy values of on circle nodes. - var node = void 0; - - for (var _i23 = 0; _i23 < size; _i23++) { - node = ciseOnCircleNodes[_i23]; - node.getOnCircleNodeExt().setDisplacementForSwap(0.0); - } - } - }; - - /* - * This method returns whether or not the input node pair was previously - * swapped. - */ - CiSELayout.prototype.isSwappedPreviously = function(pair) { - for (var i = 0; i < this.swappedPairsInLastIteration.length; i++) { - var swappedPair = this.swappedPairsInLastIteration[i]; - - if (swappedPair.getFirstNode() === pair.getFirstNode() && swappedPair.getSecondNode() === pair.getSecondNode() || swappedPair.getSecondNode() === pair.getFirstNode() && swappedPair.getFirstNode() === pair.getSecondNode()) { - return true; - } - } - - return false; - }; - - /** - * This method tries to improve the edge crossing number by reversing a - * cluster (i.e., the order of the nodes in the cluster such as C,B,A - * instead of A,B,C). No more than one reversal is performed with each - * execution. The decision is based on the global sequence alignment - * heuristic (typically used in biological sequence alignment). A cluster - * that was previsouly reversed is not a candidate for reversal to avoid - * oscillations. It returns true if a reversal has been performed. - */ - CiSELayout.prototype.checkAndReverseIfReverseIsBetter = function() { - var gm = this.getGraphManager(); - - // For each cluster (in no particular order) check to see whether - // reversing the order of the nodes on the cluster could improve on - // inter-graph edge crossing number of that cluster. - - var nodeIterator = gm.getRoot().getNodes(); - var node = void 0; - var circle = void 0; - - for (var i = 0; i < nodeIterator.length; i++) { - node = nodeIterator[i]; - circle = node.getChild(); - - if (circle != null && circle.getMayBeReversed() && circle.getNodes().length <= 52) { - if (circle.checkAndReverseIfReverseIsBetter()) { - return true; - } - } - } - - return false; - }; - - /** - * This method goes over all circles and tries to find nodes that can be - * moved inside the circle. Inner nodes are found and moved inside one at a - * time. This process continues for a circle until either there is no inner - * node or reached max inner nodes for that circle. - */ - CiSELayout.prototype.findAndMoveInnerNodes = function() { - if (!this.allowNodesInsideCircle) { - return; - } - - var graphs = this.graphManager.getGraphs(); - for (var i = 0; i < graphs.length; i++) { - var ciseCircle = graphs[i]; - - // Count inner nodes not to exceed user defined maximum - var innerNodeCount = 0; - - if (ciseCircle !== this.getGraphManager().getRoot()) { - // It is a user parameter, retrieve it. - var maxInnerNodes = ciseCircle.getNodes().length * this.maxRatioOfNodesInsideCircle; - - // Look for an inner node and move it inside - var innerNode = this.findInnerNode(ciseCircle); - - while (innerNode !== null && innerNode !== undefined && innerNodeCount < maxInnerNodes) { - this.moveInnerNode(innerNode); - innerNodeCount++; - - if (innerNodeCount < maxInnerNodes) { - innerNode = this.findInnerNode(ciseCircle); - } - } - } - } - }; - - /** - * This method finds an inner node (if any) in the given circle. - */ - CiSELayout.prototype.findInnerNode = function(ciseCircle) { - var innerNode = null; - var onCircleNodeCount = ciseCircle.getOnCircleNodes().length; - - // First sort the nodes in the circle according to their degrees. - var sortedNodes = ciseCircle.getOnCircleNodes(); - sortedNodes.sort(function(a, b) { - return a.getEdges().length - b.getEdges().length; - }); - - // Evaluate each node as possible candidate - for (var i = onCircleNodeCount - 1; i >= 0 && innerNode == null; i--) { - var candidateNode = sortedNodes[i]; - - // Out nodes cannot be moved inside, so just skip them - if (candidateNode.getOnCircleNodeExt().getInterClusterEdges().length !== 0) { - continue; - } - - var circleSegment = this.findMinimalSpanningSegment(candidateNode); - - // Skip nodes with no neighbors (circle segment will be empty) - if (circleSegment.length === 0) { - continue; - } - - // For all nodes in the spanning circle segment, check if that node - // is connected to another node on the circle with an index diff of - // greater than 1 (i.e. connected to a non-immediate neighbor) - - var connectedToNonImmediate = false; - - for (var _i24 = 0; _i24 < circleSegment.length; _i24++) { - var spanningNode = circleSegment[_i24]; - - // Performance improvement: stop iteration if this cannot be - // an inner node. - if (connectedToNonImmediate) { - break; - } - - // Look for neighbors of this spanning node. - var neighbors = spanningNode.getNeighborsList(); - for (var j = 0; j < neighbors.length; j++) { - var neighborOfSpanningNode = neighbors[j]; - - // In some case we don't need to look at the neighborhood - // relationship. We won't care the neighbor of spanning node - // if: - // - It is the candidate node - // - It is on another circle - // - It is already an inner node. - if (neighborOfSpanningNode !== candidateNode && neighborOfSpanningNode.getOwner() === ciseCircle && neighborOfSpanningNode.getOnCircleNodeExt() != null && neighborOfSpanningNode.getOnCircleNodeExt() != undefined) { - - var spanningIndex = spanningNode.getOnCircleNodeExt().getIndex(); - var neighborOfSpanningIndex = neighborOfSpanningNode.getOnCircleNodeExt().getIndex(); - - // Calculate the index difference between spanning node - // and its neighbor - var indexDiff = spanningIndex - neighborOfSpanningIndex; - indexDiff += onCircleNodeCount; // Get rid of neg. index - indexDiff %= onCircleNodeCount; // Mod it - - // Give one more chance, try reverse order of nodes - // just in case. - if (indexDiff > 1) { - indexDiff = neighborOfSpanningIndex - spanningIndex; - indexDiff += onCircleNodeCount; // Get rid of neg. - indexDiff %= onCircleNodeCount; // Mod it - } - - // If the diff is still greater 1, this spanning node - // has a non-immediate neighbor. Sorry but you cannot - // be an inner node. Poor candidate node !!! - if (indexDiff > 1) { - connectedToNonImmediate = true; - // stop computation. - break; - } - } - } - } - - // If neighbors of candidate node is not connect to a non-immediate - // neighbor that this can be an inner node. - if (!connectedToNonImmediate) { - innerNode = candidateNode; - } - } - - return innerNode; - }; - - /** - * This method safely removes inner node from circle perimeter (on-circle) - * and moves them inside their owner circles (as in-circle nodes) - */ - CiSELayout.prototype.moveInnerNode = function(innerNode) { - var ciseCircle = innerNode.getOwner(); - - // Remove the node from the circle first. This forces circle to - // re-adjust its geometry. A costly operation indeed... - ciseCircle.moveOnCircleNodeInside(innerNode); - - // We need to also remove the inner node from on-circle nodes list - // of the associated graph manager - var onCircleNodesList = this.graphManager.getOnCircleNodes(); - var index = onCircleNodesList.indexOf(innerNode); - if (index > -1) { - onCircleNodesList.splice(index, 1); - } - - this.graphManager.inCircleNodes.push(innerNode); - }; - - /** - * This method returns a circular segment (ordered array of nodes), - * which is the smallest segment that spans neighbors of the given node. - */ - CiSELayout.prototype.findMinimalSpanningSegment = function(node) { - var segment = []; - - // First create an ordered neighbors list which includes given node and - // its neighbors and ordered according to their indexes in this circle. - var orderedNeigbors = node.getOnCircleNeighbors(); - - if (orderedNeigbors.length === 0) { - return segment; - } - - orderedNeigbors.sort(function(a, b) { - return a.getOnCircleNodeExt().getIndex() - b.getOnCircleNodeExt().getIndex(); - }); - - // According to the order found, find the start and end nodes of the - // segment by testing each (order adjacent) neighbor pair. - var orderedNodes = node.getOwner().getOnCircleNodes(); - orderedNodes.sort(function(a, b) { - return a.getOnCircleNodeExt().getIndex() - b.getOnCircleNodeExt().getIndex(); - }); - - var shortestSegmentStartNode = null; - var shortestSegmentEndNode = null; - var shortestSegmentLength = orderedNodes.length; - var segmentLength = orderedNodes.length; - var neighSize = orderedNeigbors.length; - var i = void 0; - var j = void 0; - var tempSegmentStartNode = void 0; - var tempSegmentEndNode = void 0; - var tempSegmentLength = void 0; - - for (i = 0; i < neighSize; i++) { - j = (i - 1 + neighSize) % neighSize; - - tempSegmentStartNode = orderedNeigbors[i]; - tempSegmentEndNode = orderedNeigbors[j]; - - tempSegmentLength = (tempSegmentEndNode.getOnCircleNodeExt().getIndex() - tempSegmentStartNode.getOnCircleNodeExt().getIndex() + segmentLength) % segmentLength + 1; - - if (tempSegmentLength < shortestSegmentLength) { - shortestSegmentStartNode = tempSegmentStartNode; - shortestSegmentEndNode = tempSegmentEndNode; - shortestSegmentLength = tempSegmentLength; - } - } - - // After finding start and end nodes for the segment, simply go over - // ordered nodes and create an ordered list of nodes in the segment - - var segmentEndReached = false; - var currentNode = shortestSegmentStartNode; - - while (!segmentEndReached) { - if (currentNode !== node) { - segment.push(currentNode); - } - - if (currentNode === shortestSegmentEndNode) { - segmentEndReached = true; - } else { - var nextIndex = currentNode.getOnCircleNodeExt().getIndex() + 1; - - if (nextIndex === orderedNodes.length) { - nextIndex = 0; - } - - currentNode = orderedNodes[nextIndex]; - } - } - - return segment; - }; - - module.exports = CiSELayout; - - /***/ - }), - /* 11 */ - /***/ - (function(module, exports, __webpack_require__) { - - "use strict"; - - - /** - * This class implements data and functionality required for CiSE layout per - * node. - * - * - * Copyright: i-Vis Research Group, Bilkent University, 2007 - present - */ - - var FDLayoutNode = __webpack_require__(0).layoutBase.FDLayoutNode; - var IMath = __webpack_require__(0).layoutBase.IMath; - var CiSEConstants = __webpack_require__(1); - var CiSEOnCircleNodeExt = __webpack_require__(12); - - function CiSENode(gm, loc, size, vNode) { - // the constructor of LNode handles alternative constructors - FDLayoutNode.call(this, gm, loc, size, vNode); - - // Amount by which this node will be rotated in this iteration. Note that - // clockwise rotation is positive and counter-clockwise is negative. - this.rotationAmount = null; - - // Extension for on-circle nodes - this.onCircleNodeExt = null; //Extension for on-circle nodes - - // Cluster ID which the node belongs to - this.clusterID = null; - - // Cytoscape node ID for transforming between layout and cytoscape - this.ID = null; - } - - CiSENode.prototype = Object.create(FDLayoutNode.prototype); - - for (var prop in FDLayoutNode) { - CiSENode[prop] = FDLayoutNode[prop]; - } - - // ----------------------------------------------------------------------------- - // Section: Accessors and mutators - // ----------------------------------------------------------------------------- - - CiSENode.prototype.setClusterId = function(cID) { - this.clusterID = cID; - }; - - CiSENode.prototype.getClusterId = function() { - return this.clusterID; - }; - - CiSENode.prototype.setId = function(ID) { - this.ID = ID; - }; - - CiSENode.prototype.getId = function() { - return this.ID; - }; - - /** - * This method sets this node as an on-circle node by creating an extension for it. - */ - CiSENode.prototype.setAsOnCircleNode = function() { - this.onCircleNodeExt = new CiSEOnCircleNodeExt(this); - return this.onCircleNodeExt; - }; - - /** - * This method sets this node as an non on-circle node by deleting the - * extension for it. - */ - CiSENode.prototype.setAsNonOnCircleNode = function() { - this.onCircleNodeExt = null; - }; - - /** - * This method returns the extension of this node for on-circle nodes. This - * extension is null if this node is a non-on-circle node. - */ - CiSENode.prototype.getOnCircleNodeExt = function() { - return this.onCircleNodeExt; - }; - - /** - * This method limits the input displacement with the maximum possible. - */ - CiSENode.prototype.getLimitedDisplacement = function(displacement) { - if (Math.abs(displacement) > CiSEConstants.MAX_NODE_DISPLACEMENT) displacement = CiSEConstants.MAX_NODE_DISPLACEMENT * IMath.sign(displacement); - - return displacement; - }; - - /** - * This method returns neighbors of this node which are on-circle, not - * in-circle. - */ - CiSENode.prototype.getOnCircleNeighbors = function() { - var neighbors = Array.from(this.getNeighborsList()); - var onCircleNeighbors = []; - - for (var i = 0; i < neighbors.length; i++) { - var node = neighbors[i]; - - if (node.getOnCircleNodeExt() !== null && node.getClusterId() === this.getClusterId()) onCircleNeighbors.push(node); - } - - return onCircleNeighbors; - }; - - /** - * This method returns the number of children (weight) of this node. - * If it is a compound, then return the number of simple nodes inside, - * otherwise return 1. - */ - CiSENode.prototype.getNoOfChildren = function() { - if (this.getChild() === null || this.getChild() === undefined) return 1; - else return this.getChild().getNodes().length; - }; - - // ----------------------------------------------------------------------------- - // Section: Remaining methods - // ----------------------------------------------------------------------------- - - /** - * This method moves this node as a result of the computations at the end of - * this iteration. - */ - CiSENode.prototype.move = function() { - var layout = this.getOwner().getGraphManager().getLayout(); - - this.displacementX = this.getLimitedDisplacement(this.displacementX); - this.displacementY = this.getLimitedDisplacement(this.displacementY); - - // First propagate movement to children if it's a circle - if (this.getChild() !== null && this.getChild() !== undefined) { - // Take size into account when reflecting total force into movement! - var noOfNodesOnCircle = this.getChild().getNodes().length; - this.displacementX /= noOfNodesOnCircle; - this.displacementY /= noOfNodesOnCircle; - - var children = this.getChild().getNodes(); - - for (var i = 0; i < children.length; i++) { - var node = children[i]; - - node.moveBy(this.displacementX, this.displacementY); - layout.totalDisplacement += Math.abs(this.displacementX) + Math.abs(this.displacementY); - } - } - - this.moveBy(this.displacementX, this.displacementY); - layout.totalDisplacement += Math.abs(this.displacementX) + Math.abs(this.displacementY); - - if (this.getChild() !== null && this.getChild() !== undefined) { - this.getChild().updateBounds(true); - } - }; - - /** - * This method resets displacement values - */ - CiSENode.prototype.reset = function() { - this.displacementX = 0.0; - this.displacementY = 0.0; - }; - - module.exports = CiSENode; - - /***/ - }), - /* 12 */ - /***/ - (function(module, exports, __webpack_require__) { - - "use strict"; - - - /** - /** - * This class implements data and functionality required for CiSE layout per - * on-circle node. In other words, it is an extension to CiSENode class for - * on-circle nodes. - * - * - * Copyright: i-Vis Research Group, Bilkent University, 2007 - present - */ - - var IGeometry = __webpack_require__(0).layoutBase.IGeometry; - - // ----------------------------------------------------------------------------- - // Section: Constructors and initializations - // ----------------------------------------------------------------------------- - - - function CiSEOnCircleNodeExt(ciseNode) { - // Associated CiSE node - this.ciseNode = ciseNode; - - // Holds the intra-cluster edges of this node, initially it is null. It - // will be calculated and stored when getIntraClusterEdges method is first - // called. - this.intraClusterEdges = null; - - // Holds the inter-cluster edges of this node, initially it is null. It - // will be calculated and stored when getInterClusterEdges method is first - // called. - this.interClusterEdges = null; - - // Holds relative position of this node with respect to its owner circle - // It is less than 0 (=-1) only if not assigned. Its unit is radian. - this.angle = -1; - - // Holds current index of this node within its owner circle; it is -1 if not - // assigned. - this.orderIndex = -1; - - // Indicates whether a swapping with next node in the owner circle order - // will cause no additional crossings or not. - this.canSwapWithNext = null; - - // Indicates whether a swapping with previous node in the owner circle order - // will cause no additional crossings or not. - this.canSwapWithPrevious = null; - - // Holds the total weighted displacement value calculated over a constant - // number of iterations used for deciding whether two nodes should be - // swapped. - this.displacementForSwap = null; - } - - CiSEOnCircleNodeExt.prototype = Object.create(null); - - // ----------------------------------------------------------------------------- - // Section: Accessors and mutators - // ----------------------------------------------------------------------------- - - - // This function returns the associated CiSENode - CiSEOnCircleNodeExt.prototype.getCiseNode = function() { - return this.ciseNode; - }; - - // This function returns the relative position of this node - // within it's owner circle - CiSEOnCircleNodeExt.prototype.getAngle = function() { - return this.angle; - }; - - // This function sets the relative position of this node within its owner - // circle. We keep the angle positive for easy debugging. - CiSEOnCircleNodeExt.prototype.setAngle = function(angle) { - this.angle = angle % IGeometry.TWO_PI; - if (this.angle < 0) { - this.angle += IGeometry.TWO_PI; - } - }; - - // This function returns current index of this in it's owner circle - CiSEOnCircleNodeExt.prototype.getIndex = function() { - return this.orderIndex; - }; - - // This function sets current index of this node in its owner circle. - CiSEOnCircleNodeExt.prototype.setIndex = function(index) { - this.orderIndex = index; - }; - - /** - * This method returns the char code of this node based on the node index. - * First node of the cluster is 'a', second one is 'b", and so on. We only - * guarentee a unique char code up to 52 nodes in a cluster. - * - * Remember in ASCII, 'a' is 97 and 'A' is 65. In Unicode, 'A' has a bigger decimal value - */ - CiSEOnCircleNodeExt.prototype.getCharCode = function() { - var charCode = void 0; - - if (this.orderIndex < 26) charCode = String.fromCharCode(97 + this.orderIndex); - else if (this.orderIndex < 52) charCode = String.fromCharCode(65 + this.orderIndex); - else charCode = '?'; - - return charCode; - }; - - /** - * This method returns the next node according to current ordering of the - * owner circle. - */ - CiSEOnCircleNodeExt.prototype.getNextNode = function() { - var circle = this.ciseNode.getOwner(); - var totalNodes = circle.getOnCircleNodes().length; - var nextNodeIndex = this.orderIndex + 1; - - if (nextNodeIndex === totalNodes) nextNodeIndex = 0; - - return circle.getOnCircleNodes()[nextNodeIndex]; - }; - - /** - * This method returns the previous node according to current ordering of - * the owner circle. - */ - CiSEOnCircleNodeExt.prototype.getPrevNode = function() { - var circle = this.ciseNode.getOwner(); - var nextNodeIndex = this.orderIndex - 1; - - if (nextNodeIndex === -1) { - nextNodeIndex = circle.getOnCircleNodes().length - 1; - } - - return circle.getOnCircleNodes()[nextNodeIndex]; - }; - - /** - * This method returns the extension of the next node according to current - * ordering of the owner circle. - */ - CiSEOnCircleNodeExt.prototype.getNextNodeExt = function() { - return this.getNextNode().getOnCircleNodeExt(); - }; - - /** - * This method returns the extension of the previous node according to - * current ordering of the owner circle. - */ - CiSEOnCircleNodeExt.prototype.prevNextNodeExt = function() { - return this.getPrevNode().getOnCircleNodeExt(); - }; - - CiSEOnCircleNodeExt.prototype.canSwapWithNext = function() { - return this.canSwapWithNext; - }; - - CiSEOnCircleNodeExt.prototype.canSwapWithPrev = function() { - return this.canSwapWithPrev; - }; - - CiSEOnCircleNodeExt.prototype.getDisplacementForSwap = function() { - return this.displacementForSwap; - }; - - CiSEOnCircleNodeExt.prototype.setDisplacementForSwap = function(displacementForSwap) { - this.displacementForSwap = displacementForSwap; - }; - - CiSEOnCircleNodeExt.prototype.addDisplacementForSwap = function(displacementIncrForSwap) { - this.displacementForSwap = displacementIncrForSwap; - // This is what we intended (but above seems to work better): - // this.displacementForSwap = (this.displacementForSwap + - // displacementIncrForSwap) / 2.0; - }; - - // ----------------------------------------------------------------------------- - // Section: Remaining methods - // ----------------------------------------------------------------------------- - - /** - * This method updates the absolute position of this node with respect to - * its angle and the position of node that owns the owner circle. - */ - CiSEOnCircleNodeExt.prototype.updatePosition = function() { - var ownerGraph = this.ciseNode.getOwner(); - var parentNode = ownerGraph.getParent(); - - var parentX = parentNode.getCenterX(); - var parentY = parentNode.getCenterY(); - - var xDifference = ownerGraph.getRadius() * Math.cos(this.angle); - var yDifference = ownerGraph.getRadius() * Math.sin(this.angle); - - this.ciseNode.setCenter(parentX + xDifference, parentY + yDifference); - }; - - /** - * This method returns the index difference of this node with the input - * node. Note that the index difference cannot be negative if both nodes are - * placed on the circle. Here -1 means at least one of the nodes are not yet - * placed on the circle. - */ - CiSEOnCircleNodeExt.prototype.getCircDistWithTheNode = function(refNode) { - var otherIndex = refNode.getIndex(); - - if (otherIndex === -1 || this.getIndex() === -1) { - return -1; - } - - var diff = this.getIndex() - otherIndex; - - if (diff < 0) { - diff += this.ciseNode.getOwner().getOnCircleNodes().length; - } - - return diff; - }; - - /** - * This method calculates the total number of crossings the edges of this - * node cause. - */ - CiSEOnCircleNodeExt.prototype.calculateTotalCrossing = function() { - var intraEdges = this.getIntraClusterEdges(); - var count = 0; - var temp = []; - - this.ciseNode.getOwner().getIntraClusterEdges().forEach(function(edge) { - temp.push(edge); - }); - - this.ciseNode.getEdges().forEach(function(edge) { - var index = temp.indexOf(edge); - if (index > -1) { - temp.splice(index, 1); - } - }); - - intraEdges.forEach(function(edge) { - count += edge.calculateTotalCrossingWithList(temp); - }); - - return count; - }; - - /** - * This method updates the conditions for swapping of this node with its - * previous and next neighbors on the associated circle. - */ - CiSEOnCircleNodeExt.prototype.updateSwappingConditions = function() { - // Current values - var currentCrossingNumber = this.calculateTotalCrossing(); - var currentNodeIndex = this.orderIndex; - - // What will happen if node is swapped with next - var nextNodeExt = this.getNextNode().getOnCircleNodeExt(); - this.orderIndex = nextNodeExt.getIndex(); - nextNodeExt.setIndex(currentNodeIndex); - - var tempCrossingNumber = this.calculateTotalCrossing(); - this.canSwapWithNext = tempCrossingNumber <= currentCrossingNumber; - - // Reset indices - nextNodeExt.setIndex(this.orderIndex); - this.setIndex(currentNodeIndex); - - // What will happen if node is swapped with prev - var prevNodeExt = this.getPrevNode().getOnCircleNodeExt(); - this.orderIndex = prevNodeExt.getIndex(); - prevNodeExt.setIndex(currentNodeIndex); - - tempCrossingNumber = this.calculateTotalCrossing(); - this.canSwapWithPrevious = tempCrossingNumber <= currentCrossingNumber; - - // Reset indices - prevNodeExt.setIndex(this.orderIndex); - this.setIndex(currentNodeIndex); - }; - - /** - * This method swaps this node with the specified neighbor (prev or next). - */ - CiSEOnCircleNodeExt.prototype.swapWith = function(neighborExt) { - this.ciseNode.getOwner().swapNodes(this.ciseNode, neighborExt.ciseNode); - }; - - /** - * This method finds the number of crossings of inter cluster edges of this - * node with the inter cluster edges of the other node. - */ - CiSEOnCircleNodeExt.prototype.getInterClusterIntersections = function(other) { - var count = 0; - - var thisInterClusterEdges = this.getInterClusterEdges(); - var otherInterClusterEdges = other.getInterClusterEdges(); - - for (var i = 0; i < thisInterClusterEdges.length; i++) { - var edge = thisInterClusterEdges[i]; - - var point1 = this.ciseNode.getCenter(); - var point2 = edge.getOtherEnd(this.ciseNode).getCenter(); - - for (var j = 0; j < otherInterClusterEdges.length; j++) { - var otherEdge = otherInterClusterEdges[j]; - var point3 = other.ciseNode.getCenter(); - var point4 = otherEdge.getOtherEnd(other.ciseNode).getCenter(); - - if (edge.getOtherEnd(this.ciseNode) !== otherEdge.getOtherEnd(other.ciseNode)) { - var result = IGeometry.doIntersect(point1, point2, point3, point4); - - if (result) count++; - } - } - } - - return count; - }; - - /** - * This method returns the inter cluster edges of the associated node. - */ - CiSEOnCircleNodeExt.prototype.getInterClusterEdges = function() { - if (this.interClusterEdges === null) { - //first time accessing - this.interClusterEdges = []; - var edgesOfNode = this.ciseNode.getEdges(); - for (var i = 0; i < edgesOfNode.length; i++) { - var edge = edgesOfNode[i]; - if (!edge.isIntraCluster) { - this.interClusterEdges.push(edge); - } - } - } - - return this.interClusterEdges; - }; - - /** - * This method returns the intra cluster edges of the associated node. - */ - CiSEOnCircleNodeExt.prototype.getIntraClusterEdges = function() { - if (this.intraClusterEdges === null) { - //first time accessing - this.intraClusterEdges = []; - var edgesOfNode = this.ciseNode.getEdges(); - for (var i = 0; i < edgesOfNode.length; i++) { - var edge = edgesOfNode[i]; - if (edge.isIntraCluster) { - this.intraClusterEdges.push(edge); - } - } - } - - return this.intraClusterEdges; - }; - - module.exports = CiSEOnCircleNodeExt; - - /***/ - }), - /* 13 */ - /***/ - (function(module, exports, __webpack_require__) { - - "use strict"; - - - /** - * This class implements a pair of on-circle nodes used for swapping in phase 4. - * - */ - - // ----------------------------------------------------------------------------- - // Section: Constructors and initializations - // ----------------------------------------------------------------------------- - - function CiSEOnCircleNodePair(first, second, displacement, inSameDirection) { - // The node of the pair which comes first in the ordering of its owner - // circle. - this.firstNode = first; - - // The node of the pair which comes second in the ordering of its owner - // circle. - this.secondNode = second; - - // The discrepancy of the displacement values of two nodes, indicating the - // swapping potential of the two nodes. Higher value means that nodes are - // more inclined to swap. - this.discrepancy = displacement; - - // Whether or not the two nodes are pulling in the same direction - this.inSameDir = inSameDirection; - } - - CiSEOnCircleNodePair.prototype = Object.create; - - // ----------------------------------------------------------------------------- - // Section: Accessors - // ----------------------------------------------------------------------------- - - CiSEOnCircleNodePair.prototype.getDiscrepancy = function() { - return this.discrepancy; - }; - - CiSEOnCircleNodePair.prototype.inSameDirection = function() { - return this.inSameDir; - }; - - CiSEOnCircleNodePair.prototype.getFirstNode = function() { - return this.firstNode; - }; - - CiSEOnCircleNodePair.prototype.getSecondNode = function() { - return this.secondNode; - }; - - // ----------------------------------------------------------------------------- - // Section: Remaining methods - // ----------------------------------------------------------------------------- - - CiSEOnCircleNodePair.prototype.compareTo = function(other) { - return this.getDiscrepancy() - other.getDiscrepancy(); - }; - - CiSEOnCircleNodePair.prototype.swap = function() { - this.getFirstNode().getOnCircleNodeExt().swapWith(this.getSecondNode().getOnCircleNodeExt()); - }; - - CiSEOnCircleNodePair.prototype.equals = function(other) { - var result = other instanceof CiSEOnCircleNodePair; - - if (result) { - var pair = other; - - result &= this.firstNode.equals(pair.getFirstNode()) && this.secondNode.equals(pair.getSecondNode()) || this.secondNode.equals(pair.getFirstNode()) && this.firstNode.equals(pair.getSecondNode()); - } - - return result; - }; - - CiSEOnCircleNodePair.prototype.hashCode = function() { - return this.firstNode.hashCode() + this.secondNode.hashCode(); - }; - - CiSEOnCircleNodePair.prototype.toString = function() { - var result = "Swap: " + this.getFirstNode().label; - result += "<->" + this.getSecondNode().label; - result += ", " + this.getDiscrepancy(); - - return result; - }; - - module.exports = CiSEOnCircleNodePair; - - /***/ - }), - /* 14 */ - /***/ - (function(module, exports, __webpack_require__) { - - "use strict"; - - - /** - * This class is a utility class that is used to store the rotation amount, - * x-axis displacement and y-axis displacement components of a force that act - * upon an on-circle node. The calculation for this is done in CiSECircle for - * specified on-circle node. Here we assume that forces on on-circle nodes can - * be modelled with forces acting upon the perimeter of a circular flat, rigid - * object sitting on a 2-dimensional surface, free to move in a direction - * without any friction. Thus, such an object is assumed to move and rotate on - * this force in amounts proportional to the total force (not just the vertical - * component of the force!) and the component of the force that is tangential to - * the circular shape of the object, respectively. - * - * - * Copyright: i-Vis Research Group, Bilkent University, 2007 - present - */ - - // ----------------------------------------------------------------------------- - // Section: Constructors and initializations - // ----------------------------------------------------------------------------- - - function CircularForce(rotationAmount, displacementX, displacementY) { - // This is the rotation amount that is to be assigned to the rotationAmount - // of a CiSENode - this.rotationAmount = rotationAmount; - - // This is the x-axis displacement value that is to be assigned to the displacementX - // of a CiSENode - this.displacementX = displacementX; - - // This is the y-axis displacement value that is to be assigned to the displacementY - // of a CiSENode - this.displacementY = displacementY; - } - - // ----------------------------------------------------------------------------- - // Section: Accessors and mutators - // ----------------------------------------------------------------------------- - - CircularForce.prototype.getRotationAmount = function() { - return this.rotationAmount; - }; - - CircularForce.prototype.setRotationAmount = function(rotationAmount) { - this.rotationAmount = rotationAmount; - }; - - CircularForce.prototype.getDisplacementX = function() { - return this.displacementX; - }; - - CircularForce.prototype.setDisplacementX = function(displacementX) { - this.displacementX = displacementX; - }; - - CircularForce.prototype.getDisplacementY = function() { - return this.displacementY; - }; - - CircularForce.prototype.setDisplacementY = function(displacementY) { - this.displacementY = displacementY; - }; - - module.exports = CircularForce; - - /***/ - }), - /* 15 */ - /***/ - (function(module, exports, __webpack_require__) { - - "use strict"; - - - var impl = __webpack_require__(4); - - // registers the extension on a cytoscape lib ref - var register = function register(cytoscape) { - if (!cytoscape) { - return; - } // can't register if cytoscape unspecified - - cytoscape('layout', 'cise', impl); // register with cytoscape.js - }; - - if (typeof cytoscape !== 'undefined') { - // expose to global cytoscape (i.e. window.cytoscape) - register(cytoscape); - } - - module.exports = register; - - /***/ - }), - /* 16 */ - /***/ - (function(module, exports, __webpack_require__) { - - "use strict"; - - - var _createClass = function() { - function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); } } return function(Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - - var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } }; - - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } - subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - - /** - * This class builds the required connection between CiSE elements and Cytoscape extension elements - * - * - * Copyright: i-Vis Research Group, Bilkent University, 2007 - present - */ - - var CiSELayout = __webpack_require__(10); - var CiSEConstants = __webpack_require__(1); - var FDLayoutConstants = __webpack_require__(0).layoutBase.FDLayoutConstants; - - var ContinuousLayout = __webpack_require__(18); - var defaults = ContinuousLayout.defaults; - var assign = __webpack_require__(2); - var isFn = function isFn(fn) { - return typeof fn === 'function'; - }; - - var optFn = function optFn(opt, ele) { - if (isFn(opt)) { - return opt(ele); - } else { - return opt; - } - }; - - var Layout = function(_ContinuousLayout) { - _inherits(Layout, _ContinuousLayout); - - function Layout(options) { - _classCallCheck(this, Layout); - - //Changing CiSEConstants if there is a particular option defined in 'options' part of Layout call - var _this = _possibleConstructorReturn(this, (Layout.__proto__ || Object.getPrototypeOf(Layout)).call(this, assign({}, defaults, options))); - - if (options.nodeSeparation !== null && options.nodeSeparation !== undefined) CiSEConstants.DEFAULT_NODE_SEPARATION = options.nodeSeparation; - else CiSEConstants.DEFAULT_NODE_SEPARATION = FDLayoutConstants.DEFAULT_EDGE_LENGTH / 4; - - if (options.idealInterClusterEdgeLengthCoefficient !== null && options.idealInterClusterEdgeLengthCoefficient !== undefined) CiSEConstants.DEFAULT_IDEAL_INTER_CLUSTER_EDGE_LENGTH_COEFF = options.idealInterClusterEdgeLengthCoefficient; - else CiSEConstants.DEFAULT_IDEAL_INTER_CLUSTER_EDGE_LENGTH_COEFF = 1.4; - - if (options.allowNodesInsideCircle !== null && options.allowNodesInsideCircle !== undefined) CiSEConstants.DEFAULT_ALLOW_NODES_INSIDE_CIRCLE = options.allowNodesInsideCircle; - else CiSEConstants.DEFAULT_ALLOW_NODES_INSIDE_CIRCLE = false; - - if (options.maxRatioOfNodesInsideCircle !== null && options.maxRatioOfNodesInsideCircle !== undefined) CiSEConstants.DEFAULT_MAX_RATIO_OF_NODES_INSIDE_CIRCLE = options.maxRatioOfNodesInsideCircle; - else CiSEConstants.DEFAULT_MAX_RATIO_OF_NODES_INSIDE_CIRCLE = 0.1; - - if (options.springCoeff !== null && options.springCoeff !== undefined) CiSEConstants.DEFAULT_SPRING_STRENGTH = options.springCoeff; - else CiSEConstants.DEFAULT_SPRING_STRENGTH = 1.5 * FDLayoutConstants.DEFAULT_SPRING_STRENGTH; - - if (options.nodeRepulsion != null) CiSEConstants.DEFAULT_REPULSION_STRENGTH = FDLayoutConstants.DEFAULT_REPULSION_STRENGTH = options.nodeRepulsion; - - if (options.gravity != null) CiSEConstants.DEFAULT_GRAVITY_STRENGTH = FDLayoutConstants.DEFAULT_GRAVITY_STRENGTH = options.gravity; - - if (options.gravityRange != null) CiSEConstants.DEFAULT_GRAVITY_RANGE_FACTOR = FDLayoutConstants.DEFAULT_GRAVITY_RANGE_FACTOR = options.gravityRange; - - if (options.maxRatioOfNodesInsideCircle !== null && options.maxRatioOfNodesInsideCircle !== undefined) CiSEConstants.DEFAULT_MAX_RATIO_OF_NODES_INSIDE_CIRCLE = options.maxRatioOfNodesInsideCircle; - else CiSEConstants.DEFAULT_MAX_RATIO_OF_NODES_INSIDE_CIRCLE = 0.1; - return _this; - } - - _createClass(Layout, [{ - key: 'prerun', - value: function prerun() { - var state = this.state; - - //Get the graph information from Cytoscape - var clusters = [ - [] - ]; - if (this.options.clusters !== null && this.options.clusters !== undefined) clusters = this.options.clusters; - var nodes = state.nodes; - var edges = state.edges; - - //Initialize CiSE elements - var ciseLayout = this.ciseLayout = new CiSELayout(); - var graphManager = this.graphManager = ciseLayout.newGraphManager(); - var root = this.root = graphManager.addRoot(); - - // Construct the GraphManager according to the graph from Cytoscape - this.idToLNode = ciseLayout.convertToClusteredGraph(nodes, edges, clusters); - - //This method updates whether this graph is connected or not - root.updateConnected(); - // This method calculates and returns the estimated size of this graph - root.calcEstimatedSize(); - ciseLayout.calcNoOfChildrenForAllNodes(); - - ciseLayout.doStep1(); - ciseLayout.doStep2(); - - root.updateBounds(true); - root.estimatedSize = Math.max(root.right - root.left, root.bottom - root.top); - ciseLayout.prepareCirclesForReversal(); - ciseLayout.calcIdealEdgeLengths(false); - - // ------------------------------------------ - // The variables to maintain the spring steps - // ------------------------------------------ - // Index is there to iterate over steps - this.initializerIndex = 0; - - // If the whole algorithm is finished - this.isDone = false; - - // If the current step is finished - this.isStepDone = false; - - // when to change to next step - this.timeToSwitchNextStep = true; - } - - // run this each iteraction - - }, { - key: 'tick', - value: function tick() { - var _this2 = this; - - // Getting References - var self = this; - var state = this.state; - - // Update Each Node Locations - state.nodes.forEach(function(n) { - var s = _this2.getScratch(n); - - var location = self.idToLNode[n.data('id')]; - s.x = location.getCenterX(); - s.y = location.getCenterY(); - }); - - if (this.timeToSwitchNextStep) { - switch (this.initializerIndex) { - case 0: - this.ciseLayout.step5Init(); - break; - case 1: - this.ciseLayout.step3Init(); - break; - case 2: - this.ciseLayout.step5Init(); - break; - case 3: - this.ciseLayout.step4Init(); - break; - case 4: - this.ciseLayout.findAndMoveInnerNodes(); - this.ciseLayout.calcIdealEdgeLengths(true); - this.ciseLayout.step5Init(); - break; - } - - this.initializerIndex++; - this.ciseLayout.iterations = 0; - this.ciseLayout.totalDisplacement = 1000; - this.timeToSwitchNextStep = false; - } - - // Run one spring iteration - this.isStepDone = this.ciseLayout.runSpringEmbedderTick(); - - if (this.isStepDone && this.initializerIndex < 5) { - this.timeToSwitchNextStep = true; - } - - if (this.isStepDone && this.timeToSwitchNextStep === false) { - this.isDone = true; - } - - return this.isDone; - } - - // run this function after the layout is done ticking - - }, { - key: 'postrun', - value: function postrun() {} - - // clean up any object refs that could prevent garbage collection, etc. - - }, { - key: 'destroy', - value: function destroy() { - _get(Layout.prototype.__proto__ || Object.getPrototypeOf(Layout.prototype), 'destroy', this).call(this); - - return this; - } - }]); - - return Layout; - }(ContinuousLayout); - - module.exports = Layout; - - /***/ - }), - /* 17 */ - /***/ - (function(module, exports, __webpack_require__) { - - "use strict"; - - - // general default options for force-directed layout - - module.exports = Object.freeze({ - animate: false, // whether to show the layout as it's running; special 'end' value makes the layout animate like a discrete layout - refresh: 10, // number of ticks per frame; higher is faster but more jerky - maxIterations: 2500, // max iterations before the layout will bail out - maxSimulationTime: 5000, // max length in ms to run the layout - ungrabifyWhileSimulating: false, // so you can't drag nodes during layout - fit: true, // on every layout reposition of nodes, fit the viewport - padding: 30, // padding around the simulation - boundingBox: undefined, // constrain layout bounds; { x1, y1, x2, y2 } or { x1, y1, w, h } - - // layout event callbacks - ready: function ready() {}, // on layoutready - stop: function stop() {}, // on layoutstop - - // positioning options - randomize: false, // use random node positions at beginning of layout - - // infinite layout options - infinite: false // overrides all other options for a forces-all-the-time mode - }); - - /***/ - }), - /* 18 */ - /***/ - (function(module, exports, __webpack_require__) { - - "use strict"; - - - var _createClass = function() { - function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); } } return function(Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - - /** - A generic continuous layout class - */ - - var assign = __webpack_require__(2); - var defaults = __webpack_require__(17); - var makeBoundingBox = __webpack_require__(19); - - var _require = __webpack_require__(20), - setInitialPositionState = _require.setInitialPositionState, - refreshPositions = _require.refreshPositions, - getNodePositionData = _require.getNodePositionData; - - var _require2 = __webpack_require__(21), - multitick = _require2.multitick; - - var Layout = function() { - function Layout(options) { - _classCallCheck(this, Layout); - - var o = this.options = assign({}, defaults, options); - - var s = this.state = assign({}, o, { - layout: this, - nodes: o.eles.nodes(), - edges: o.eles.edges(), - tickIndex: 0, - firstUpdate: true - }); - - s.animateEnd = o.animate && o.animate === 'end'; - s.animateContinuously = o.animate && !s.animateEnd; - } - - _createClass(Layout, [{ - key: 'getScratch', - value: function getScratch(el) { - var name = this.state.name; - var scratch = el.scratch(name); - - if (!scratch) { - scratch = {}; - - el.scratch(name, scratch); - } - - return scratch; - } - }, { - key: 'run', - value: function run() { - var l = this; - var s = this.state; - - s.tickIndex = 0; - s.firstUpdate = true; - s.startTime = Date.now(); - s.running = true; - - s.currentBoundingBox = makeBoundingBox(s.boundingBox, s.cy); - - if (s.ready) { - l.one('ready', s.ready); - } - if (s.stop) { - l.one('stop', s.stop); - } - - s.nodes.forEach(function(n) { - return setInitialPositionState(n, s); - }); - - l.prerun(s); - - if (s.animateContinuously) { - var ungrabify = function ungrabify(node) { - if (!s.ungrabifyWhileSimulating) { - return; - } - - var grabbable = getNodePositionData(node, s).grabbable = node.grabbable(); - - if (grabbable) { - node.ungrabify(); - } - }; - - var regrabify = function regrabify(node) { - if (!s.ungrabifyWhileSimulating) { - return; - } - - var grabbable = getNodePositionData(node, s).grabbable; - - if (grabbable) { - node.grabify(); - } - }; - - var updateGrabState = function updateGrabState(node) { - return getNodePositionData(node, s).grabbed = node.grabbed(); - }; - - var onGrab = function onGrab(_ref) { - var target = _ref.target; - - updateGrabState(target); - }; - - var onFree = onGrab; - - var onDrag = function onDrag(_ref2) { - var target = _ref2.target; - - var p = getNodePositionData(target, s); - var tp = target.position(); - - p.x = tp.x; - p.y = tp.y; - }; - - var listenToGrab = function listenToGrab(node) { - node.on('grab', onGrab); - node.on('free', onFree); - node.on('drag', onDrag); - }; - - var unlistenToGrab = function unlistenToGrab(node) { - node.removeListener('grab', onGrab); - node.removeListener('free', onFree); - node.removeListener('drag', onDrag); - }; - - var fit = function fit() { - if (s.fit && s.animateContinuously) { - s.cy.fit(s.padding); - } - }; - - var onNotDone = function onNotDone() { - refreshPositions(s.nodes, s); - fit(); - - requestAnimationFrame(_frame); - }; - - var _frame = function _frame() { - multitick(s, onNotDone, _onDone); - }; - - var _onDone = function _onDone() { - refreshPositions(s.nodes, s); - fit(); - - s.nodes.forEach(function(n) { - regrabify(n); - unlistenToGrab(n); - }); - - s.running = false; - - l.emit('layoutstop'); - }; - - l.emit('layoutstart'); - - s.nodes.forEach(function(n) { - ungrabify(n); - listenToGrab(n); - }); - - _frame(); // kick off - } else { - var done = false; - var _onNotDone = function _onNotDone() {}; - var _onDone2 = function _onDone2() { - return done = true; - }; - - while (!done) { - multitick(s, _onNotDone, _onDone2); - } - - s.eles.layoutPositions(this, s, function(node) { - var pd = getNodePositionData(node, s); - - return { x: pd.x, y: pd.y }; - }); - } - - l.postrun(s); - - return this; // chaining - } - }, { - key: 'prerun', - value: function prerun() {} - }, { - key: 'postrun', - value: function postrun() {} - }, { - key: 'tick', - value: function tick() {} - }, { - key: 'stop', - value: function stop() { - this.state.running = false; - - return this; // chaining - } - }, { - key: 'destroy', - value: function destroy() { - return this; // chaining - } - }]); - - return Layout; - }(); - - module.exports = Layout; - - /***/ - }), - /* 19 */ - /***/ - (function(module, exports, __webpack_require__) { - - "use strict"; - - - module.exports = function(bb, cy) { - if (bb == null) { - bb = { x1: 0, y1: 0, w: cy.width(), h: cy.height() }; - } else { - // copy - bb = { x1: bb.x1, x2: bb.x2, y1: bb.y1, y2: bb.y2, w: bb.w, h: bb.h }; - } - - if (bb.x2 == null) { - bb.x2 = bb.x1 + bb.w; - } - if (bb.w == null) { - bb.w = bb.x2 - bb.x1; - } - if (bb.y2 == null) { - bb.y2 = bb.y1 + bb.h; - } - if (bb.h == null) { - bb.h = bb.y2 - bb.y1; - } - - return bb; - }; - - /***/ - }), - /* 20 */ - /***/ - (function(module, exports, __webpack_require__) { - - "use strict"; - - - var assign = __webpack_require__(2); - - var setInitialPositionState = function setInitialPositionState(node, state) { - var p = node.position(); - var bb = state.currentBoundingBox; - var scratch = node.scratch(state.name); - - if (scratch == null) { - scratch = {}; - - node.scratch(state.name, scratch); - } - - assign(scratch, state.randomize ? { - x: bb.x1 + Math.round(Math.random() * bb.w), - y: bb.y1 + Math.round(Math.random() * bb.h) - } : { - x: p.x, - y: p.y - }); - - scratch.locked = node.locked(); - }; - - var getNodePositionData = function getNodePositionData(node, state) { - return node.scratch(state.name); - }; - - var refreshPositions = function refreshPositions(nodes, state) { - nodes.positions(function(node) { - var scratch = node.scratch(state.name); - - return { - x: scratch.x, - y: scratch.y - }; - }); - }; - - module.exports = { setInitialPositionState: setInitialPositionState, getNodePositionData: getNodePositionData, refreshPositions: refreshPositions }; - - /***/ - }), - /* 21 */ - /***/ - (function(module, exports, __webpack_require__) { - - "use strict"; - - - var nop = function nop() {}; - - var tick = function tick(state) { - var s = state; - var l = state.layout; - - var tickIndicatesDone = l.tick(s); - - if (s.firstUpdate) { - if (s.animateContinuously) { - // indicate the initial positions have been set - s.layout.emit('layoutready'); - } - s.firstUpdate = false; - } - - s.tickIndex++; - - // || s.tickIndex >= s.maxIterations || duration >= s.maxSimulationTime -> This depends on # of nodes - return !s.infinite && tickIndicatesDone; - }; - - var multitick = function multitick(state) { - var onNotDone = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : nop; - var onDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : nop; - - var done = false; - var s = state; - - for (var i = 0; i < s.refresh; i++) { - done = !s.running || tick(s); - - if (done) { - break; - } - } - - if (!done) { - onNotDone(); - } else { - onDone(); - } - }; - - module.exports = { tick: tick, multitick: multitick }; - - /***/ - }) - /******/ - ]); -}); \ No newline at end of file diff --git a/modules/analyze/html/external/cytoscape-context-menus.css b/modules/analyze/html/external/cytoscape-context-menus.css deleted file mode 100644 index 6b6a988..0000000 --- a/modules/analyze/html/external/cytoscape-context-menus.css +++ /dev/null @@ -1,54 +0,0 @@ -.cy-context-menus-cxt-menu { - display: none; - z-index: 1000; - position: absolute; - border: 1px solid #A0A0A0; - padding: 0; - margin: 0; - width: auto; -} - -.cy-context-menus-cxt-menuitem { - display: block; - width: 100%; - padding: 3px 20px; - position: relative; - margin: 0; - background-color: #f8f8f8; - font-weight: normal; - font-size: 12px; - white-space: nowrap; - border: 0; - text-align: left; -} - -.cy-context-menus-cxt-menuitem:enabled { - color: #000000; -} - -.cy-context-menus-ctx-operation:focus { - outline: none; -} - -.cy-context-menus-cxt-menuitem:hover { - color: #ffffff; - text-decoration: none; - background-color: #0B9BCD; - background-image: none; - cursor: pointer; -} - -.cy-context-menus-cxt-menuitem[content]:before { - content: attr(content); -} - -.cy-context-menus-divider { - border-bottom: 1px solid #A0A0A0; -} - -.cy-context-menus-submenu-indicator { - position: absolute; - right: 2px; - top: 50%; - transform: translateY(-50%); -} \ No newline at end of file diff --git a/modules/analyze/html/external/cytoscape-context-menus.js b/modules/analyze/html/external/cytoscape-context-menus.js deleted file mode 100644 index 0fed38f..0000000 --- a/modules/analyze/html/external/cytoscape-context-menus.js +++ /dev/null @@ -1 +0,0 @@ -!function (e, t) { "object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? exports.cytoscapeContextMenus = t() : e.cytoscapeContextMenus = t() }(self, (function () { return (() => { var e = { 621: (e, t, n) => { "use strict"; function i(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, i = new Array(t); n < t; n++)i[n] = e[n]; return i } function o(e) { for (var t = "", n = 0; n < e.length; n++)t += e[n], n !== e.length - 1 && (t += " "); return t } function r(e, t, n) { n ? e.setAttribute(t, "") : e.removeAttribute(t) } function u(e, t, n) { void 0 === customElements.get(e) && customElements.define(e, t, { extends: n }) } n.r(t), n.d(t, { contextMenus: () => O }); var s = "cy-context-menus-divider", a = { evtType: "cxttap", menuItems: [], menuItemClasses: ["cy-context-menus-cxt-menuitem"], contextMenuClasses: ["cy-context-menus-cxt-menu"], submenuIndicator: { src: "assets/submenu-indicator-default.svg", width: 12, height: 12 } }; function c(e) { return (c = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } function l(e, t) { var n; if ("undefined" == typeof Symbol || null == e[Symbol.iterator]) { if (Array.isArray(e) || (n = function (e, t) { if (e) { if ("string" == typeof e) return f(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? f(e, t) : void 0 } }(e)) || t && e && "number" == typeof e.length) { n && (e = n); var i = 0, o = function () { }; return { s: o, n: function () { return i >= e.length ? { done: !0 } : { done: !1, value: e[i++] } }, e: function (e) { throw e }, f: o } } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") } var r, u = !0, s = !1; return { s: function () { n = e[Symbol.iterator]() }, n: function () { var e = n.next(); return u = e.done, e }, e: function (e) { s = !0, r = e }, f: function () { try { u || null == n.return || n.return() } finally { if (s) throw r } } } } function f(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, i = new Array(t); n < t; n++)i[n] = e[n]; return i } function d(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } function h(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } function m(e, t, n) { return t && h(e.prototype, t), n && h(e, n), e } function v(e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && C(e, t) } function y(e) { var t = M(); return function () { var n, i = I(e); if (t) { var o = I(this).constructor; n = Reflect.construct(i, arguments, o) } else n = i.apply(this, arguments); return p(this, n) } } function p(e, t) { return !t || "object" !== c(t) && "function" != typeof t ? b(e) : t } function b(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e } function g(e, t, n) { return (g = "undefined" != typeof Reflect && Reflect.get ? Reflect.get : function (e, t, n) { var i = function (e, t) { for (; !Object.prototype.hasOwnProperty.call(e, t) && null !== (e = I(e));); return e }(e, t); if (i) { var o = Object.getOwnPropertyDescriptor(i, t); return o.get ? o.get.call(n) : o.value } })(e, t, n || e) } function w(e) { var t = "function" == typeof Map ? new Map : void 0; return (w = function (e) { if (null === e || (n = e, -1 === Function.toString.call(n).indexOf("[native code]"))) return e; var n; if ("function" != typeof e) throw new TypeError("Super expression must either be null or a function"); if (void 0 !== t) { if (t.has(e)) return t.get(e); t.set(e, i) } function i() { return x(e, arguments, I(this).constructor) } return i.prototype = Object.create(e.prototype, { constructor: { value: i, enumerable: !1, writable: !0, configurable: !0 } }), C(i, e) })(e) } function x(e, t, n) { return (x = M() ? Reflect.construct : function (e, t, n) { var i = [null]; i.push.apply(i, t); var o = new (Function.bind.apply(e, i)); return n && C(o, n.prototype), o }).apply(null, arguments) } function M() { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Date.prototype.toString.call(Reflect.construct(Date, [], (function () { }))), !0 } catch (e) { return !1 } } function C(e, t) { return (C = Object.setPrototypeOf || function (e, t) { return e.__proto__ = t, e })(e, t) } function I(e) { return (I = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e) })(e) } function k(e) { e.preventDefault(), e.stopPropagation() } var E = function (e) { v(n, e); var t = y(n); function n(e, i, o) { var u, s, a, c, l, f, h, m, v, y; d(this, n), g((s = b(y = t.call(this)), I(n.prototype)), "setAttribute", s).call(s, "id", e.id); var p = y._getMenuItemClassStr(o.cxtMenuItemClasses, e.hasTrailingDivider); if (g((a = b(y), I(n.prototype)), "setAttribute", a).call(a, "class", p), g((c = b(y), I(n.prototype)), "setAttribute", c).call(c, "title", null !== (u = e.tooltipText) && void 0 !== u ? u : ""), e.disabled && r(b(y), "disabled", !0), e.image) { var w = document.createElement("img"); w.src = e.image.src, w.width = e.image.width, w.height = e.image.height, w.style.position = "absolute", w.style.top = e.image.y + "px", w.style.left = e.image.x + "px", g((l = b(y), I(n.prototype)), "appendChild", l).call(l, w) } if (y.innerHTML += e.content, y.onMenuItemClick = i, y.data = {}, y.clickFns = [], y.selector = e.selector, y.hasTrailingDivider = e.hasTrailingDivider, y.show = void 0 === e.show || e.show, y.coreAsWell = e.coreAsWell || !1, y.scratchpad = o, void 0 === e.onClickFunction && void 0 === e.submenu) throw new Error("A menu item must either have click function or a submenu or both"); return y.onClickFunction = e.onClickFunction, e.submenu instanceof Array && y._createSubmenu(e.submenu), g((f = b(y), I(n.prototype)), "addEventListener", f).call(f, "mousedown", k), g((h = b(y), I(n.prototype)), "addEventListener", h).call(h, "mouseup", k), g((m = b(y), I(n.prototype)), "addEventListener", m).call(m, "touchstart", k), g((v = b(y), I(n.prototype)), "addEventListener", v).call(v, "touchend", k), y } return m(n, [{ key: "bindOnClickFunction", value: function (e) { this.clickFns.push(e), g(I(n.prototype), "addEventListener", this).call(this, "click", e) } }, { key: "unbindOnClickFunctions", value: function () { var e, t = l(this.clickFns); try { for (t.s(); !(e = t.n()).done;) { var i = e.value; g(I(n.prototype), "removeEventListener", this).call(this, "click", i) } } catch (e) { t.e(e) } finally { t.f() } this.clickFns = [] } }, { key: "enable", value: function () { r(this, "disabled", !1), this.hasSubmenu() && this.addEventListener("mouseenter", this.mouseEnterHandler) } }, { key: "disable", value: function () { r(this, "disabled", !0), this.hasSubmenu() && this.removeEventListener("mouseenter", this.mouseEnterHandler) } }, { key: "hide", value: function () { this.show = !1, this.style.display = "none" } }, { key: "getHasTrailingDivider", value: function () { return !!this.hasTrailingDivider } }, { key: "setHasTrailingDivider", value: function (e) { this.hasTrailingDivider = e } }, { key: "hasSubmenu", value: function () { return this.submenu instanceof S } }, { key: "appendSubmenuItem", value: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : void 0; this.hasSubmenu() || this._createSubmenu(), this.submenu.appendMenuItem(e, t) } }, { key: "isClickable", value: function () { return void 0 !== this.onClickFunction } }, { key: "display", value: function () { this.show = !0, this.style.display = "block" } }, { key: "isVisible", value: function () { return !0 === this.show && "none" !== this.style.display } }, { key: "removeSubmenu", value: function () { this.hasSubmenu() && (this.submenu.removeAllMenuItems(), this.detachSubmenu()) } }, { key: "detachSubmenu", value: function () { this.hasSubmenu() && (this.removeChild(this.submenu), this.removeChild(this.indicator), this.removeEventListener("mouseenter", this.mouseEnterHandler), this.removeEventListener("mouseleave", this.mouseLeaveHandler), this.submenu = void 0, this.indicator = void 0) } }, { key: "_onMouseEnter", value: function (e) { var t = this.getBoundingClientRect(), i = function (e) { e.style.opacity = "0", e.style.display = "block"; var t = e.getBoundingClientRect(); return e.style.opacity = "1", e.style.display = "none", t }(this.submenu), o = t.right + i.width > window.innerWidth, r = t.top + i.height > window.innerHeight; o || r ? o && !r ? (this.submenu.style.right = this.clientWidth + "px", this.submenu.style.top = "0px", this.submenu.style.left = "auto", this.submenu.style.bottom = "auto") : o && r ? (this.submenu.style.right = this.clientWidth + "px", this.submenu.style.bottom = "0px", this.submenu.style.top = "auto", this.submenu.style.left = "auto") : (this.submenu.style.left = this.clientWidth + "px", this.submenu.style.bottom = "0px", this.submenu.style.right = "auto", this.submenu.style.top = "auto") : (this.submenu.style.left = this.clientWidth + "px", this.submenu.style.top = "0px", this.submenu.style.right = "auto", this.submenu.style.bottom = "auto"), this.submenu.display(); var u = Array.from(this.submenu.children).filter((function (e) { if (e instanceof n) return e.isVisible() })), a = u.length; u.forEach((function (e, t) { e instanceof n && (t < a - 1 && e.getHasTrailingDivider() ? e.classList.add(s) : e.getHasTrailingDivider() && e.classList.remove(s)) })) } }, { key: "_onMouseLeave", value: function (e) { var t, n, i, o, r; t = { x: e.clientX, y: e.clientY }, n = this.submenu, o = t.y, (i = t.x) >= (r = n.getBoundingClientRect()).left && i <= r.right && o >= r.top && o <= r.bottom || this.submenu.hide() } }, { key: "_createSubmenu", value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : []; this.indicator = this.scratchpad.submenuIndicatorGen(), this.submenu = new S(this.onMenuItemClick, this.scratchpad), this.appendChild(this.indicator), this.appendChild(this.submenu); var t, i = l(e); try { for (i.s(); !(t = i.n()).done;) { var o = t.value, r = new n(o, this.onMenuItemClick, this.scratchpad); this.submenu.appendMenuItem(r) } } catch (e) { i.e(e) } finally { i.f() } this.mouseEnterHandler = this._onMouseEnter.bind(this), this.mouseLeaveHandler = this._onMouseLeave.bind(this), this.addEventListener("mouseenter", this.mouseEnterHandler), this.addEventListener("mouseleave", this.mouseLeaveHandler) } }, { key: "_getMenuItemClassStr", value: function (e, t) { return t ? e + " " + s : e } }], [{ key: "define", value: function () { u("ctx-menu-item", n, "button") } }]), n }(w(HTMLButtonElement)), S = function (e) { v(n, e); var t = y(n); function n(e, i) { var o, r; return d(this, n), g((o = b(r = t.call(this)), I(n.prototype)), "setAttribute", o).call(o, "class", i.cxtMenuClasses), r.style.position = "absolute", r.onMenuItemClick = e, r.scratchpad = i, r } return m(n, [{ key: "hide", value: function () { this.isVisible() && (this.hideSubmenus(), this.style.display = "none") } }, { key: "display", value: function () { this.style.display = "block" } }, { key: "isVisible", value: function () { return "none" !== this.style.display } }, { key: "hideMenuItems", value: function () { var e, t = l(this.children); try { for (t.s(); !(e = t.n()).done;) { var n = e.value; n instanceof HTMLElement ? n.style.display = "none" : console.warn("".concat(n, " is not a HTMLElement")) } } catch (e) { t.e(e) } finally { t.f() } } }, { key: "hideSubmenus", value: function () { var e, t = l(this.children); try { for (t.s(); !(e = t.n()).done;) { var n = e.value; n instanceof E && n.submenu && n.submenu.hide() } } catch (e) { t.e(e) } finally { t.f() } } }, { key: "appendMenuItem", value: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : void 0; if (void 0 !== t) { if (t.parentNode !== this) throw new Error("The item with id='".concat(t.id, "' is not a child of the context menu")); this.insertBefore(e, t) } else this.appendChild(e); e.isClickable() && this._performBindings(e) } }, { key: "moveBefore", value: function (e, t) { if (e.parentNode !== this) throw new Error("The item with id='".concat(e.id, "' is not a child of context menu")); if (t.parentNode !== this) throw new Error("The item with id='".concat(t.id, "' is not a child of context menu")); this.removeChild(e), this.insertBefore(e, t) } }, { key: "removeAllMenuItems", value: function () { for (; this.firstChild;) { var e = this.lastChild; e instanceof E ? this._removeImmediateMenuItem(e) : (console.warn("Found non menu item in the context menu: ", e), this.removeChild(e)) } } }, { key: "_removeImmediateMenuItem", value: function (e) { if (!this._detachImmediateMenuItem(e)) throw new Error("menu item(id=".concat(e.id, ") is not in the context menu")); e.detachSubmenu(), e.unbindOnClickFunctions() } }, { key: "_detachImmediateMenuItem", value: function (e) { if (e.parentNode === this) { if (this.removeChild(e), this.children.length <= 0) { var t = this.parentNode; t instanceof E && t.detachSubmenu() } return !0 } return !1 } }, { key: "_performBindings", value: function (e) { var t = this._bindOnClick(e.onClickFunction); e.bindOnClickFunction(t), e.bindOnClickFunction(this.onMenuItemClick) } }, { key: "_bindOnClick", value: function (e) { var t = this; return function () { var n = t.scratchpad.currentCyEvent; e(n) } } }], [{ key: "define", value: function () { u("menu-item-list", n, "div") } }]), n }(w(HTMLDivElement)), T = function (e) { v(n, e); var t = y(n); function n(e, i) { var o; return d(this, n), (o = t.call(this, e, i)).onMenuItemClick = function (t) { k(t), o.hide(), e() }, o } return m(n, [{ key: "removeMenuItem", value: function (e) { var t = e.parentElement; t instanceof S && this.contains(t) && t._removeImmediateMenuItem(e) } }, { key: "appendMenuItem", value: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : void 0; this.ensureDoesntContain(e.id), g(I(n.prototype), "appendMenuItem", this).call(this, e, t) } }, { key: "insertMenuItem", value: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, n = t.before, i = t.parent; if (this.ensureDoesntContain(e.id), void 0 !== n) { if (!this.contains(n)) throw new Error("before(id=".concat(n.id, ") is not in the context menu")); var o = n.parentNode; if (!(o instanceof S)) throw new Error("Parent of before(id=".concat(n.id, ") is not a submenu")); o.appendMenuItem(e, n) } else if (void 0 !== i) { if (!this.contains(i)) throw new Error("parent(id=".concat(i.id, ") is not a descendant of the context menu")); i.appendSubmenuItem(e) } else this.appendMenuItem(e) } }, { key: "moveBefore", value: function (e, t) { var n = e.parentElement; if (!this.contains(n)) throw new Error("parent(id=".concat(n.id, ") is not in the contex menu")); if (!this.contains(t)) throw new Error("before(id=".concat(t.id, ") is not in the context menu")); n.removeChild(e), this.insertMenuItem(e, { before: t }) } }, { key: "moveToSubmenu", value: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null, n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null, i = e.parentElement; if (!(i instanceof S)) throw new Error("current parent(id=".concat(i.id, ") is not a submenu")); if (!this.contains(i)) throw new Error("parent of the menu item(id=".concat(i.id, ") is not in the context menu")); if (null !== t) { if (!this.contains(t)) throw new Error("parent(id=".concat(t.id, ") is not in the context menu")); i._detachImmediateMenuItem(e), t.appendSubmenuItem(e) } else null !== n && (e.selector = n.selector, e.coreAsWell = n.coreAsWell), i._detachImmediateMenuItem(e), this.appendMenuItem(e) } }, { key: "ensureDoesntContain", value: function (e) { var t = document.getElementById(e); if (void 0 !== t && this.contains(t)) throw new Error("There is already an element with id=".concat(e, " in the context menu")) } }], [{ key: "define", value: function () { u("ctx-menu", n, "div") } }]), n }(S); function A(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, i = new Array(t); n < t; n++)i[n] = e[n]; return i } function O(e) { var t = this; t.scratch("cycontextmenus") || t.scratch("cycontextmenus", {}); var n, r, u = function (e) { return t.scratch("cycontextmenus")[e] }, c = function (e, n) { return t.scratch("cycontextmenus")[e] = n }, l = u("options"), f = u("cxtMenu"), d = function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : void 0, n = m(e); if (void 0 !== t) { var i = y(t); f.insertMenuItem(n, { parent: i }) } else f.insertMenuItem(n) }, h = function (e) { for (var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : void 0, n = 0; n < e.length; n++)d(e[n], t) }, m = function (e) { var n = t.scratch("cycontextmenus"); return new E(e, f.onMenuItemClick, n) }, v = function () { u("active") && (f.removeAllMenuItems(), t.off("tapstart", u("eventCyTapStart")), t.off(l.evtType, u("onCxttap")), t.off("viewport", u("onViewport")), document.removeEventListener("mouseup", u("hideOnNonCyClick")), f.parentNode.removeChild(f), f = void 0, c("cxtMenu", void 0), c("active", !1), c("anyVisibleChild", !1), c("onCxttap", void 0), c("onViewport", void 0), c("hideOnNonCyClick", void 0)) }, y = function (e) { var t = document.getElementById(e); if (t instanceof E) return t; throw new Error("The item with id=".concat(e, " is not a menu item")) }; if ("get" !== e) { E.define(), S.define(), T.define(), l = function (e, t) { var n = {}; for (var i in e) n[i] = e[i]; for (var o in t) n[o] instanceof Array ? n[o] = n[o].concat(t[o]) : n[o] = t[o]; return n }(a, e), c("options", l), u("active") && v(), c("active", !0), c("submenuIndicatorGen", function (e) { var t = document.createElement("img"); return t.src = e.src, t.width = e.width, t.height = e.height, t.classList.add("cy-context-menus-submenu-indicator"), t }.bind(void 0, l.submenuIndicator)); var p = o(l.contextMenuClasses); c("cxtMenuClasses", p); var b = t.scratch("cycontextmenus"); f = new T((function () { return c("cxtMenuPosition", void 0) }), b), c("cxtMenu", f), t.container().appendChild(f), c("cxtMenuItemClasses", o(l.menuItemClasses)); var g = l.menuItems; h(g), r = function (e) { c("currentCyEvent", e), function (e) { var n, i = t.container(), o = u("cxtMenuPosition"), r = e.position || e.cyPosition; if (o != r) { f.hideMenuItems(), c("anyVisibleChild", !1), c("cxtMenuPosition", r); var s = { top: (n = i.getBoundingClientRect()).top, left: n.left }, a = e.renderedPosition || e.cyRenderedPosition, l = getComputedStyle(i)["border-width"], d = parseInt(l.replace("px", "")) || 0; d > 0 && (s.top += d, s.left += d); var h = i.clientHeight, m = i.clientWidth, v = h / 2, y = m / 2; a.y > v && a.x <= y ? (f.style.left = a.x + "px", f.style.bottom = h - a.y + "px", f.style.right = "auto", f.style.top = "auto") : a.y > v && a.x > y ? (f.style.right = m - a.x + "px", f.style.bottom = h - a.y + "px", f.style.left = "auto", f.style.top = "auto") : a.y <= v && a.x <= y ? (f.style.left = a.x + "px", f.style.top = a.y + "px", f.style.right = "auto", f.style.bottom = "auto") : (f.style.right = m - a.x + "px", f.style.top = a.y + "px", f.style.left = "auto", f.style.bottom = "auto") } }(e); var n, i = e.target || e.cyTarget, o = function (e, t) { var n; if ("undefined" == typeof Symbol || null == e[Symbol.iterator]) { if (Array.isArray(e) || (n = function (e, t) { if (e) { if ("string" == typeof e) return A(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? A(e, t) : void 0 } }(e)) || t && e && "number" == typeof e.length) { n && (e = n); var i = 0, o = function () { }; return { s: o, n: function () { return i >= e.length ? { done: !0 } : { done: !1, value: e[i++] } }, e: function (e) { throw e }, f: o } } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") } var r, u = !0, s = !1; return { s: function () { n = e[Symbol.iterator]() }, n: function () { var e = n.next(); return u = e.done, e }, e: function (e) { s = !0, r = e }, f: function () { try { u || null == n.return || n.return() } finally { if (s) throw r } } } }(f.children); try { for (o.s(); !(n = o.n()).done;) { var r = n.value; r instanceof E && (i === t ? r.coreAsWell : i.is(r.selector)) && r.show && (f.display(), c("anyVisibleChild", !0), r.display()) } } catch (e) { o.e(e) } finally { o.f() } var a = Array.from(f.children).filter((function (e) { if (e instanceof E) return e.isVisible() })), l = a.length; a.forEach((function (e, t) { e instanceof E && (t < l - 1 && e.getHasTrailingDivider() ? e.classList.add(s) : e.getHasTrailingDivider() && e.classList.remove(s)) })), !u("anyVisibleChild") && !function (e) { return e.offsetWidth <= 0 && e.offsetHeight <= 0 || e.style && e.style.display || getComputedStyle(e).display }(f) && f.hide() }, t.on(l.evtType, r), c("onCxttap", r), function () { var e = function (e) { if (f.contains(e.originalEvent.target)) return !1; f.hide(), c("cxtMenuPosition", void 0), c("currentCyEvent", void 0) }; t.on("tapstart", e), c("eventCyTapStart", e); var n = function () { f.hide() }; t.on("viewport", n), c("onViewport", n) }(), n = function (e) { t.container().contains(e.target) || f.contains(e.target) || (f.hide(), c("cxtMenuPosition", void 0)) }, document.addEventListener("mouseup", n), c("hideOnNonCyClick", n), function () { var e, t = function (e, t) { var n; if ("undefined" == typeof Symbol || null == e[Symbol.iterator]) { if (Array.isArray(e) || (n = function (e, t) { if (e) { if ("string" == typeof e) return i(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? i(e, t) : void 0 } }(e)) || t && e && "number" == typeof e.length) { n && (e = n); var o = 0, r = function () { }; return { s: r, n: function () { return o >= e.length ? { done: !0 } : { done: !1, value: e[o++] } }, e: function (e) { throw e }, f: r } } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") } var u, s = !0, a = !1; return { s: function () { n = e[Symbol.iterator]() }, n: function () { var e = n.next(); return s = e.done, e }, e: function (e) { a = !0, u = e }, f: function () { try { s || null == n.return || n.return() } finally { if (a) throw u } } } }(document.getElementsByClassName("cy-context-menus-cxt-menu")); try { for (t.s(); !(e = t.n()).done;)e.value.addEventListener("contextmenu", (function (e) { return e.preventDefault() })) } catch (e) { t.e(e) } finally { t.f() } }() } return function (e) { return { isActive: function () { return u("active") }, appendMenuItem: function (t) { var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : void 0; return d(t, n), e }, appendMenuItems: function (t) { var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : void 0; return h(t, n), e }, removeMenuItem: function (t) { var n = y(t); return f.removeMenuItem(n), e }, setTrailingDivider: function (t, n) { var i = y(t); return i.setHasTrailingDivider(n), n ? i.classList.add(s) : i.classList.remove(s), e }, insertBeforeMenuItem: function (t, n) { var i = m(t), o = y(n); return f.insertMenuItem(i, { before: o }), e }, moveToSubmenu: function (t) { var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null, i = y(t); if (null === n) f.moveToSubmenu(i); else if ("string" == typeof n) { var o = y(n.toString()); f.moveToSubmenu(i, o) } else void 0 !== n.coreAsWell || void 0 !== n.selector ? f.moveToSubmenu(i, null, n) : console.warn("options neither has coreAsWell nor selector property but it is an object. Are you sure that this is what you want to do?"); return e }, moveBeforeOtherMenuItem: function (t, n) { var i = y(t), o = y(n); return f.moveBefore(i, o), e }, disableMenuItem: function (t) { return y(t).disable(), e }, enableMenuItem: function (t) { return y(t).enable(), e }, hideMenuItem: function (t) { return y(t).hide(), e }, showMenuItem: function (t) { return y(t).display(), e }, destroy: function () { return v(), e } } }(this) } }, 579: (e, t, n) => { var i = n(621).contextMenus, o = function (e) { e && e("core", "contextMenus", i) }; "undefined" != typeof cytoscape && o(cytoscape), e.exports = o } }, t = {}; function n(i) { var o = t[i]; if (void 0 !== o) return o.exports; var r = t[i] = { exports: {} }; return e[i](r, r.exports, n), r.exports } return n.d = (e, t) => { for (var i in t) n.o(t, i) && !n.o(e, i) && Object.defineProperty(e, i, { enumerable: !0, get: t[i] }) }, n.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t), n.r = e => { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 }) }, n(579) })() })); \ No newline at end of file diff --git a/modules/analyze/html/external/cytoscape-cose-bilkent.js b/modules/analyze/html/external/cytoscape-cose-bilkent.js deleted file mode 100644 index a69a189..0000000 --- a/modules/analyze/html/external/cytoscape-cose-bilkent.js +++ /dev/null @@ -1,468 +0,0 @@ -(function webpackUniversalModuleDefinition(root, factory) { - if (typeof exports === 'object' && typeof module === 'object') - module.exports = factory(require("cose-base")); - else if (typeof define === 'function' && define.amd) - define(["cose-base"], factory); - else if (typeof exports === 'object') - exports["cytoscapeCoseBilkent"] = factory(require("cose-base")); - else - root["cytoscapeCoseBilkent"] = factory(root["coseBase"]); -})(this, function (__WEBPACK_EXTERNAL_MODULE_0__) { - return /******/ (function (modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if (installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; - /******/ -} -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} - /******/ -}; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; - /******/ -} -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // identity function for calling harmony imports with the correct context -/******/ __webpack_require__.i = function (value) { return value; }; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function (exports, name, getter) { -/******/ if (!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter - /******/ -}); - /******/ -} - /******/ -}; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function (module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; - /******/ -}; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function (object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 1); - /******/ -}) -/************************************************************************/ -/******/([ -/* 0 */ -/***/ (function (module, exports) { - - module.exports = __WEBPACK_EXTERNAL_MODULE_0__; - - /***/ -}), -/* 1 */ -/***/ (function (module, exports, __webpack_require__) { - - "use strict"; - - - var LayoutConstants = __webpack_require__(0).layoutBase.LayoutConstants; - var FDLayoutConstants = __webpack_require__(0).layoutBase.FDLayoutConstants; - var CoSEConstants = __webpack_require__(0).CoSEConstants; - var CoSELayout = __webpack_require__(0).CoSELayout; - var CoSENode = __webpack_require__(0).CoSENode; - var PointD = __webpack_require__(0).layoutBase.PointD; - var DimensionD = __webpack_require__(0).layoutBase.DimensionD; - - var defaults = { - // Called on `layoutready` - ready: function ready() { }, - // Called on `layoutstop` - stop: function stop() { }, - // 'draft', 'default' or 'proof" - // - 'draft' fast cooling rate - // - 'default' moderate cooling rate - // - "proof" slow cooling rate - quality: 'default', - // include labels in node dimensions - nodeDimensionsIncludeLabels: false, - // number of ticks per frame; higher is faster but more jerky - refresh: 30, - // Whether to fit the network view after when done - fit: true, - // Padding on fit - padding: 10, - // Whether to enable incremental mode - randomize: true, - // Node repulsion (non overlapping) multiplier - nodeRepulsion: 4500, - // Ideal edge (non nested) length - idealEdgeLength: 50, - // Divisor to compute edge forces - edgeElasticity: 0.45, - // Nesting factor (multiplier) to compute ideal edge length for nested edges - nestingFactor: 0.1, - // Gravity force (constant) - gravity: 0.25, - // Maximum number of iterations to perform - numIter: 2500, - // For enabling tiling - tile: true, - // Type of layout animation. The option set is {'during', 'end', false} - animate: 'end', - // Duration for animate:end - animationDuration: 500, - // Represents the amount of the vertical space to put between the zero degree members during the tiling operation(can also be a function) - tilingPaddingVertical: 10, - // Represents the amount of the horizontal space to put between the zero degree members during the tiling operation(can also be a function) - tilingPaddingHorizontal: 10, - // Gravity range (constant) for compounds - gravityRangeCompound: 1.5, - // Gravity force (constant) for compounds - gravityCompound: 1.0, - // Gravity range (constant) - gravityRange: 3.8, - // Initial cooling factor for incremental layout - initialEnergyOnIncremental: 0.5 - }; - - function extend(defaults, options) { - var obj = {}; - - for (var i in defaults) { - obj[i] = defaults[i]; - } - - for (var i in options) { - obj[i] = options[i]; - } - - return obj; - }; - - function _CoSELayout(_options) { - this.options = extend(defaults, _options); - getUserOptions(this.options); - } - - var getUserOptions = function getUserOptions(options) { - if (options.nodeRepulsion != null) CoSEConstants.DEFAULT_REPULSION_STRENGTH = FDLayoutConstants.DEFAULT_REPULSION_STRENGTH = options.nodeRepulsion; - if (options.idealEdgeLength != null) CoSEConstants.DEFAULT_EDGE_LENGTH = FDLayoutConstants.DEFAULT_EDGE_LENGTH = options.idealEdgeLength; - if (options.edgeElasticity != null) CoSEConstants.DEFAULT_SPRING_STRENGTH = FDLayoutConstants.DEFAULT_SPRING_STRENGTH = options.edgeElasticity; - if (options.nestingFactor != null) CoSEConstants.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = FDLayoutConstants.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = options.nestingFactor; - if (options.gravity != null) CoSEConstants.DEFAULT_GRAVITY_STRENGTH = FDLayoutConstants.DEFAULT_GRAVITY_STRENGTH = options.gravity; - if (options.numIter != null) CoSEConstants.MAX_ITERATIONS = FDLayoutConstants.MAX_ITERATIONS = options.numIter; - if (options.gravityRange != null) CoSEConstants.DEFAULT_GRAVITY_RANGE_FACTOR = FDLayoutConstants.DEFAULT_GRAVITY_RANGE_FACTOR = options.gravityRange; - if (options.gravityCompound != null) CoSEConstants.DEFAULT_COMPOUND_GRAVITY_STRENGTH = FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_STRENGTH = options.gravityCompound; - if (options.gravityRangeCompound != null) CoSEConstants.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = options.gravityRangeCompound; - if (options.initialEnergyOnIncremental != null) CoSEConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL = FDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL = options.initialEnergyOnIncremental; - - if (options.quality == 'draft') LayoutConstants.QUALITY = 0; else if (options.quality == 'proof') LayoutConstants.QUALITY = 2; else LayoutConstants.QUALITY = 1; - - CoSEConstants.NODE_DIMENSIONS_INCLUDE_LABELS = FDLayoutConstants.NODE_DIMENSIONS_INCLUDE_LABELS = LayoutConstants.NODE_DIMENSIONS_INCLUDE_LABELS = options.nodeDimensionsIncludeLabels; - CoSEConstants.DEFAULT_INCREMENTAL = FDLayoutConstants.DEFAULT_INCREMENTAL = LayoutConstants.DEFAULT_INCREMENTAL = !options.randomize; - CoSEConstants.ANIMATE = FDLayoutConstants.ANIMATE = LayoutConstants.ANIMATE = options.animate; - CoSEConstants.TILE = options.tile; - CoSEConstants.TILING_PADDING_VERTICAL = typeof options.tilingPaddingVertical === 'function' ? options.tilingPaddingVertical.call() : options.tilingPaddingVertical; - CoSEConstants.TILING_PADDING_HORIZONTAL = typeof options.tilingPaddingHorizontal === 'function' ? options.tilingPaddingHorizontal.call() : options.tilingPaddingHorizontal; - }; - - _CoSELayout.prototype.run = function () { - var ready; - var frameId; - var options = this.options; - var idToLNode = this.idToLNode = {}; - var layout = this.layout = new CoSELayout(); - var self = this; - - self.stopped = false; - - this.cy = this.options.cy; - - this.cy.trigger({ type: 'layoutstart', layout: this }); - - var gm = layout.newGraphManager(); - this.gm = gm; - - var nodes = this.options.eles.nodes(); - var edges = this.options.eles.edges(); - - this.root = gm.addRoot(); - this.processChildrenList(this.root, this.getTopMostNodes(nodes), layout); - - for (var i = 0; i < edges.length; i++) { - var edge = edges[i]; - var sourceNode = this.idToLNode[edge.data("source")]; - var targetNode = this.idToLNode[edge.data("target")]; - if (sourceNode !== targetNode && sourceNode.getEdgesBetween(targetNode).length == 0) { - var e1 = gm.add(layout.newEdge(), sourceNode, targetNode); - e1.id = edge.id(); - } - } - - var getPositions = function getPositions(ele, i) { - if (typeof ele === "number") { - ele = i; - } - var theId = ele.data('id'); - var lNode = self.idToLNode[theId]; - - return { - x: lNode.getRect().getCenterX(), - y: lNode.getRect().getCenterY() - }; - }; - - /* - * Reposition nodes in iterations animatedly - */ - var iterateAnimated = function iterateAnimated() { - // Thigs to perform after nodes are repositioned on screen - var afterReposition = function afterReposition() { - if (options.fit) { - options.cy.fit(options.eles, options.padding); - } - - if (!ready) { - ready = true; - self.cy.one('layoutready', options.ready); - self.cy.trigger({ type: 'layoutready', layout: self }); - } - }; - - var ticksPerFrame = self.options.refresh; - var isDone; - - for (var i = 0; i < ticksPerFrame && !isDone; i++) { - isDone = self.stopped || self.layout.tick(); - } - - // If layout is done - if (isDone) { - // If the layout is not a sublayout and it is successful perform post layout. - if (layout.checkLayoutSuccess() && !layout.isSubLayout) { - layout.doPostLayout(); - } - - // If layout has a tilingPostLayout function property call it. - if (layout.tilingPostLayout) { - layout.tilingPostLayout(); - } - - layout.isLayoutFinished = true; - - self.options.eles.nodes().positions(getPositions); - - afterReposition(); - - // trigger layoutstop when the layout stops (e.g. finishes) - self.cy.one('layoutstop', self.options.stop); - self.cy.trigger({ type: 'layoutstop', layout: self }); - - if (frameId) { - cancelAnimationFrame(frameId); - } - - ready = false; - return; - } - - var animationData = self.layout.getPositionsData(); // Get positions of layout nodes note that all nodes may not be layout nodes because of tiling - - // Position nodes, for the nodes whose id does not included in data (because they are removed from their parents and included in dummy compounds) - // use position of their ancestors or dummy ancestors - options.eles.nodes().positions(function (ele, i) { - if (typeof ele === "number") { - ele = i; - } - // If ele is a compound node, then its position will be defined by its children - if (!ele.isParent()) { - var theId = ele.id(); - var pNode = animationData[theId]; - var temp = ele; - // If pNode is undefined search until finding position data of its first ancestor (It may be dummy as well) - while (pNode == null) { - pNode = animationData[temp.data('parent')] || animationData['DummyCompound_' + temp.data('parent')]; - animationData[theId] = pNode; - temp = temp.parent()[0]; - if (temp == undefined) { - break; - } - } - if (pNode != null) { - return { - x: pNode.x, - y: pNode.y - }; - } else { - return { - x: ele.position('x'), - y: ele.position('y') - }; - } - } - }); - - afterReposition(); - - frameId = requestAnimationFrame(iterateAnimated); - }; - - /* - * Listen 'layoutstarted' event and start animated iteration if animate option is 'during' - */ - layout.addListener('layoutstarted', function () { - if (self.options.animate === 'during') { - frameId = requestAnimationFrame(iterateAnimated); - } - }); - - layout.runLayout(); // Run cose layout - - /* - * If animate option is not 'during' ('end' or false) perform these here (If it is 'during' similar things are already performed) - */ - if (this.options.animate !== "during") { - self.options.eles.nodes().not(":parent").layoutPositions(self, self.options, getPositions); // Use layout positions to reposition the nodes it considers the options parameter - ready = false; - } - - return this; // chaining - }; - - //Get the top most ones of a list of nodes - _CoSELayout.prototype.getTopMostNodes = function (nodes) { - var nodesMap = {}; - for (var i = 0; i < nodes.length; i++) { - nodesMap[nodes[i].id()] = true; - } - var roots = nodes.filter(function (ele, i) { - if (typeof ele === "number") { - ele = i; - } - var parent = ele.parent()[0]; - while (parent != null) { - if (nodesMap[parent.id()]) { - return false; - } - parent = parent.parent()[0]; - } - return true; - }); - - return roots; - }; - - _CoSELayout.prototype.processChildrenList = function (parent, children, layout) { - var size = children.length; - for (var i = 0; i < size; i++) { - var theChild = children[i]; - var children_of_children = theChild.children(); - var theNode; - - var dimensions = theChild.layoutDimensions({ - nodeDimensionsIncludeLabels: this.options.nodeDimensionsIncludeLabels - }); - - if (theChild.outerWidth() != null && theChild.outerHeight() != null) { - theNode = parent.add(new CoSENode(layout.graphManager, new PointD(theChild.position('x') - dimensions.w / 2, theChild.position('y') - dimensions.h / 2), new DimensionD(parseFloat(dimensions.w), parseFloat(dimensions.h)))); - } else { - theNode = parent.add(new CoSENode(this.graphManager)); - } - // Attach id to the layout node - theNode.id = theChild.data("id"); - // Attach the paddings of cy node to layout node - theNode.paddingLeft = parseInt(theChild.css('padding')); - theNode.paddingTop = parseInt(theChild.css('padding')); - theNode.paddingRight = parseInt(theChild.css('padding')); - theNode.paddingBottom = parseInt(theChild.css('padding')); - - //Attach the label properties to compound if labels will be included in node dimensions - if (this.options.nodeDimensionsIncludeLabels) { - if (theChild.isParent()) { - var labelWidth = theChild.boundingBox({ includeLabels: true, includeNodes: false }).w; - var labelHeight = theChild.boundingBox({ includeLabels: true, includeNodes: false }).h; - var labelPos = theChild.css("text-halign"); - theNode.labelWidth = labelWidth; - theNode.labelHeight = labelHeight; - theNode.labelPos = labelPos; - } - } - - // Map the layout node - this.idToLNode[theChild.data("id")] = theNode; - - if (isNaN(theNode.rect.x)) { - theNode.rect.x = 0; - } - - if (isNaN(theNode.rect.y)) { - theNode.rect.y = 0; - } - - if (children_of_children != null && children_of_children.length > 0) { - var theNewGraph; - theNewGraph = layout.getGraphManager().add(layout.newGraph(), theNode); - this.processChildrenList(theNewGraph, children_of_children, layout); - } - } - }; - - /** - * @brief : called on continuous layouts to stop them before they finish - */ - _CoSELayout.prototype.stop = function () { - this.stopped = true; - - return this; // chaining - }; - - var register = function register(cytoscape) { - // var Layout = getLayout( cytoscape ); - - cytoscape('layout', 'cose-bilkent', _CoSELayout); - }; - - // auto reg for globals - if (typeof cytoscape !== 'undefined') { - register(cytoscape); - } - - module.exports = register; - - /***/ -}) -/******/]); -}); \ No newline at end of file diff --git a/modules/analyze/html/external/cytoscape-d3-force-sampled.js b/modules/analyze/html/external/cytoscape-d3-force-sampled.js deleted file mode 100644 index 072beec..0000000 --- a/modules/analyze/html/external/cytoscape-d3-force-sampled.js +++ /dev/null @@ -1,515 +0,0 @@ -(function webpackUniversalModuleDefinition(root, factory) { - if(typeof exports === 'object' && typeof module === 'object') - module.exports = factory(require("d3-force")); - else if(typeof define === 'function' && define.amd) - define(["d3-force"], factory); - else if(typeof exports === 'object') - exports["cytoscapeD3Force"] = factory(require("d3-force")); - else - root["cytoscapeD3Force"] = factory(root["d3-force"]); -})(this, function(__WEBPACK_EXTERNAL_MODULE_4__) { -return /******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // identity function for calling harmony imports with the correct context -/******/ __webpack_require__.i = function(value) { return value; }; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 3); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -/** -* cytoscape-d3-force -*/ - -var defaults = __webpack_require__(2); -var d3 = __webpack_require__(4); -var assign = __webpack_require__(1); - -var ContinuousLayout = function () { - function ContinuousLayout(options) { - _classCallCheck(this, ContinuousLayout); - - var o = this.options = assign({}, defaults, options); - this.state = assign({}, o, { - layout: this, - nodes: o.eles.nodes(), - edges: o.eles.edges(), - progress: 0, - iterations: 0, - startTime: 0 - }); - this.simulation = null; - this.removeCytoscapeEvents = null; - this.destroyedEvent = null; - } - - _createClass(ContinuousLayout, [{ - key: 'makeBoundingBox', - value: function makeBoundingBox(bb, cy) { - if (bb == null) { - bb = { x1: 0, y1: 0, w: cy.width(), h: cy.height() }; - } else { - bb = { x1: bb.x1, x2: bb.x2, y1: bb.y1, y2: bb.y2, w: bb.w, h: bb.h }; - } - if (bb.x2 == null) { - bb.x2 = bb.x1 + bb.w; - } - if (bb.w == null) { - bb.w = bb.x2 - bb.x1; - } - if (bb.y2 == null) { - bb.y2 = bb.y1 + bb.h; - } - if (bb.h == null) { - bb.h = bb.y2 - bb.y1; - } - - return bb; - } - }, { - key: 'setInitialPositionState', - value: function setInitialPositionState(node, state) { - var p = node.position(); - var bb = state.currentBoundingBox; - var scratch = node.scratch(state.name); - - if (scratch == null) { - scratch = {}; - - node.scratch(state.name, scratch); - } - - assign(scratch, state.randomize ? { - x: bb.x1 + Math.round(Math.random() * bb.w), - y: bb.y1 + Math.round(Math.random() * bb.h) - } : { - x: p.x, - y: p.y - }); - if (node.locked()) { - assign(scratch, { - fx: p.x, - fy: p.y - }); - } - } - }, { - key: 'refreshPositions', - value: function refreshPositions(nodes, state, fit) { - nodes.positions(function (node) { - var scratch = node.scratch(state.name); - return { - x: scratch.x, - y: scratch.y - }; - }); - fit && state.cy.fit(state.padding); - } - }, { - key: 'getScratch', - value: function getScratch(el) { - var name = this.state.name; - var scratch = el.scratch(name); - - if (!scratch) { - scratch = {}; - - el.scratch(name, scratch); - } - return scratch; - } - }, { - key: 'ungrabify', - value: function ungrabify(nodes) { - var _this = this; - - if (!this.state.ungrabifyWhileSimulating) { - return; - } - nodes.filter(function (node) { - var nodeGrabbable = _this.getScratch(node).grabbable = node.grabbable(); - return nodeGrabbable; - }); - nodes.ungrabify(); - } - }, { - key: 'regrabify', - value: function regrabify(nodes) { - var _this2 = this; - - if (!this.state.ungrabifyWhileSimulating) { - return; - } - nodes.filter(function (node) { - var nodeGrabbable = _this2.getScratch(node).grabbable; - return nodeGrabbable; - }); - nodes.grabify(); - } - }, { - key: 'tick', - value: function tick() { - var s = this.state; - s.progress += 1 / Math.ceil(Math.log(this.simulation.alphaMin()) / Math.log(1 - this.simulation.alphaDecay())); - s.iterations++; - var _iterations = s.maxIterations && !s.infinite ? s.iterations / s.maxIterations : 0; - var _timeRunning = Date.now() - s.startTime; - var _timeIterations = s.maxSimulationTime && !s.infinite ? _timeRunning / s.maxSimulationTime : 0; - var _progress = Math.max(_iterations, _timeIterations, s.progress); - _progress = _progress > 1 ? 1 : _progress; - if (_progress >= 1) { - this.end(!s.infinite); - return; - } - s.tick && s.tick(_progress); - if (s.animate) { - this.refreshPositions(s.nodes, s, s.fit); - } - } - }, { - key: 'end', - value: function end(destroyed) { - var s = this.state; - this.refreshPositions(s.nodes, s, s.fit); - this.emit('layoutstop', s.cy); - this.reset(destroyed); - } - }, { - key: 'reset', - value: function reset(destroyed) { - this.simulation && this.simulation.stop(); - var s = this.state; - this.destroyedEvent && this.destroyedEvent(); - (destroyed || !s.infinite) && this.removeCytoscapeEvents && this.removeCytoscapeEvents(); - s.animate && this.regrabify(s.nodes); - return this; - } - }, { - key: 'run', - value: function run() { - var _this3 = this; - - this.reset(); - var l = this; - var s = this.state; - var ready = false; - s.currentBoundingBox = this.makeBoundingBox(s.boundingBox, s.cy); - if (s.ready) { - l.one('layoutready', s.ready); - } - if (s.stop) { - l.one('layoutstop', s.stop); - } - s.nodes.forEach(function (n) { - return _this3.setInitialPositionState(n, s); - }); - if (!ready) { - ready = true; - l.emit('layoutready'); - } - - if (!l.simulation) { - var _forcenodes = s.nodes.map(function (n) { - return assign(l.getScratch(n), n.data()); - }); - var _forceedges = s.edges.map(function (e) { - return assign({}, e.data()); - }); - l.simulation = d3.forceSimulation(_forcenodes); - s.alpha && l.simulation.alpha(s.alpha); - s.alphaMin && l.simulation.alphaMin(s.alphaMin); - s.alphaDecay && l.simulation.alphaDecay(s.alphaDecay); - s.alphaTarget && l.simulation.alphaTarget(s.alphaTarget); - s.velocityDecay && l.simulation.velocityDecay(s.velocityDecay); - var _collide = d3.forceCollide(); - s.collideRadius && _collide.radius(s.collideRadius); - s.collideStrength && _collide.strength(s.collideStrength); - s.collideIterations && _collide.iterations(s.collideIterations); - var _link = d3.forceLink(_forceedges); - s.linkId && _link.id(s.linkId); - s.linkDistance && _link.distance(s.linkDistance); - s.linkStrength && _link.strength(s.linkStrength); - s.linkIterations && _link.iterations(s.linkIterations); - var _manyBody = d3.forceManyBodySampled(); - s.manyBodyStrength && _manyBody.strength(s.manyBodyStrength); - // s.manyBodyTheta && _manyBody.theta(s.manyBodyTheta); - s.manyBodyDistanceMin && _manyBody.distanceMin(s.manyBodyDistanceMin); - s.manyBodyDistanceMax && _manyBody.distanceMax(s.manyBodyDistanceMax); - var _x = d3.forceX(); - s.xX && _x.x(s.xX); - s.xStrength && _x.strength(s.xStrength); - var _y = d3.forceY(); - s.yY && _y.y(s.yY); - s.yStrength && _y.strength(s.yStrength); - var _radius = null; - if (s.radialRadius || s.radialStrength || s.radialX || s.radialY) { - _radius = d3.forceRadial(); - s.radialRadius && _radius.radius(s.radialRadius); - s.radialStrength && _radius.strength(s.radialStrength); - s.radialX && _radius.x(s.radialX); - s.radialY && _radius.y(s.radialY); - } - var _center = d3.forceCenter(s.currentBoundingBox.w / 2, s.currentBoundingBox.h / 2); - l.simulation.force('collide', _collide).force('link', _link).force('many-body', _manyBody).force('x', _x).force('y', _y).force("center", _center); - _radius && l.simulation.force('radius', _radius); - l.simulation.on("tick", function () { - l.tick(); - }).on("end", function () { - l.end(); - }); - } - if (!l.destroyedEvent) { - var destroyHandler = void 0; - s.cy.one('destroy', destroyHandler = function destroyHandler() { - l.stop(); - }); - l.destroyedEvent = function () { - s.cy.off('destroy', destroyHandler); - l.destroyedEvent = null; - }; - } - l.prerun(s); - l.emit('layoutstart'); - s.progress = 0; - s.iterations = 0; - s.startTime = Date.now(); - - if (s.animate) { - var restartAlphaTarget = Math.abs((s.alpha || 1) - (s.alphaTarget || 0)) / 3; - if (!l.removeCytoscapeEvents) { - var _cytoscapeEvent = function _cytoscapeEvent(e) { - var node = this; - var pos = node.position(); - var nodeIsTarget = e.cyTarget === node || e.target === node; - if (!nodeIsTarget) { - return; - } - var _scratch = l.getScratch(node); - s.progress = 0; - s.iterations = 0; - s.startTime = Date.now(); - _scratch.x = pos.x; - _scratch.y = pos.y; - if (e.type === 'grab') { - l.simulation.alphaTarget(restartAlphaTarget).restart(); - } else if (e.type === 'unlock' || e.type === 'free') { - if (!s.fixedAfterDragging) { - delete _scratch.fx; - delete _scratch.fy; - } else { - _scratch.fx = pos.x; - _scratch.fy = pos.y; - } - l.simulation.alphaTarget(restartAlphaTarget).restart(); - } else { - _scratch.fx = pos.x; - _scratch.fy = pos.y; - } - }; - l.removeCytoscapeEvents = function () { - s.nodes.off('grab free drag lock unlock', _cytoscapeEvent); - l.removeCytoscapeEvents = null; - }; - s.nodes.on('grab free drag lock unlock', _cytoscapeEvent); - } - l.ungrabify(s.nodes); - } - l.postrun(s); - return this; - } - }, { - key: 'prerun', - value: function prerun() {} - }, { - key: 'postrun', - value: function postrun() {} - }, { - key: 'stop', - value: function stop() { - return this.reset(true); - } - }]); - - return ContinuousLayout; -}(); - -module.exports = ContinuousLayout; - -/***/ }), -/* 1 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// Simple, internal Object.assign() polyfill for options objects etc. - -module.exports = Object.assign != null ? Object.assign.bind(Object) : function (tgt) { - for (var _len = arguments.length, srcs = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - srcs[_key - 1] = arguments[_key]; - } - - srcs.forEach(function (src) { - Object.keys(src).forEach(function (k) { - return tgt[k] = src[k]; - }); - }); - - return tgt; -}; - -/***/ }), -/* 2 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = Object.freeze({ - animate: true, // whether to show the layout as it's running; special 'end' value makes the layout animate like a discrete layout - maxIterations: 0, // max iterations before the layout will bail out - maxSimulationTime: 0, // max length in ms to run the layout - ungrabifyWhileSimulating: false, // so you can't drag nodes during layout - fixedAfterDragging: false, // fixed node after dragging - fit: false, // on every layout reposition of nodes, fit the viewport - padding: 30, // padding around the simulation - boundingBox: undefined, // constrain layout bounds; { x1, y1, x2, y2 } or { x1, y1, w, h } - /**d3-force API**/ - alpha: undefined, // sets the current alpha to the specified number in the range [0,1] - alphaMin: undefined, // sets the minimum alpha to the specified number in the range [0,1] - alphaDecay: undefined, // sets the alpha decay rate to the specified number in the range [0,1] - alphaTarget: undefined, // sets the current target alpha to the specified number in the range [0,1] - velocityDecay: undefined, // sets the velocity decay factor to the specified number in the range [0,1] - collideRadius: undefined, // sets the radius accessor to the specified number or function - collideStrength: undefined, // sets the force strength to the specified number in the range [0,1] - collideIterations: undefined, // sets the number of iterations per application to the specified number - linkId: undefined, // sets the node id accessor to the specified function - linkDistance: 30, // sets the distance accessor to the specified number or function - linkStrength: undefined, // sets the strength accessor to the specified number or function - linkIterations: undefined, // sets the number of iterations per application to the specified number - manyBodyStrength: undefined, // sets the strength accessor to the specified number or function - manyBodyTheta: undefined, // sets the Barnes–Hut approximation criterion to the specified number - manyBodyDistanceMin: undefined, // sets the minimum distance between nodes over which this force is considered - manyBodyDistanceMax: undefined, // sets the maximum distance between nodes over which this force is considered - xStrength: undefined, // sets the strength accessor to the specified number or function - xX: undefined, // sets the x-coordinate accessor to the specified number or function - yStrength: undefined, // sets the strength accessor to the specified number or function - yY: undefined, // sets the y-coordinate accessor to the specified number or function - radialStrength: undefined, // sets the strength accessor to the specified number or function - radialRadius: undefined, // sets the circle radius to the specified number or function - radialX: undefined, // sets the x-coordinate of the circle center to the specified number - radialY: undefined, // sets the y-coordinate of the circle center to the specified number - // layout event callbacks - ready: function ready() {}, // on layoutready - stop: function stop() {}, // on layoutstop - tick: function tick() {}, // on every iteration - // positioning options - randomize: false, // use random node positions at beginning of layout - // infinite layout options - infinite: false // overrides all other options for a forces-all-the-time mode -}); - -/***/ }), -/* 3 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var impl = __webpack_require__(0); - -// registers the extension on a cytoscape lib ref -var register = function register(cytoscape) { - if (!cytoscape) { - return; - } // can't register if cytoscape unspecified - - cytoscape('layout', 'd3-force', impl); // register with cytoscape.js -}; - -if (typeof cytoscape !== 'undefined') { - // expose to global cytoscape (i.e. window.cytoscape) - register(cytoscape); -} - -module.exports = register; - -/***/ }), -/* 4 */ -/***/ (function(module, exports) { - -module.exports = __WEBPACK_EXTERNAL_MODULE_4__; - -/***/ }) -/******/ ]); -}); \ No newline at end of file diff --git a/modules/analyze/html/external/cytoscape-d3-force.js b/modules/analyze/html/external/cytoscape-d3-force.js deleted file mode 100644 index f712cee..0000000 --- a/modules/analyze/html/external/cytoscape-d3-force.js +++ /dev/null @@ -1,515 +0,0 @@ -(function webpackUniversalModuleDefinition(root, factory) { - if(typeof exports === 'object' && typeof module === 'object') - module.exports = factory(require("d3-force")); - else if(typeof define === 'function' && define.amd) - define(["d3-force"], factory); - else if(typeof exports === 'object') - exports["cytoscapeD3Force"] = factory(require("d3-force")); - else - root["cytoscapeD3Force"] = factory(root["d3-force"]); -})(this, function(__WEBPACK_EXTERNAL_MODULE_4__) { -return /******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // identity function for calling harmony imports with the correct context -/******/ __webpack_require__.i = function(value) { return value; }; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 3); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -/** -* cytoscape-d3-force -*/ - -var defaults = __webpack_require__(2); -var d3 = __webpack_require__(4); -var assign = __webpack_require__(1); - -var ContinuousLayout = function () { - function ContinuousLayout(options) { - _classCallCheck(this, ContinuousLayout); - - var o = this.options = assign({}, defaults, options); - this.state = assign({}, o, { - layout: this, - nodes: o.eles.nodes(), - edges: o.eles.edges(), - progress: 0, - iterations: 0, - startTime: 0 - }); - this.simulation = null; - this.removeCytoscapeEvents = null; - this.destroyedEvent = null; - } - - _createClass(ContinuousLayout, [{ - key: 'makeBoundingBox', - value: function makeBoundingBox(bb, cy) { - if (bb == null) { - bb = { x1: 0, y1: 0, w: cy.width(), h: cy.height() }; - } else { - bb = { x1: bb.x1, x2: bb.x2, y1: bb.y1, y2: bb.y2, w: bb.w, h: bb.h }; - } - if (bb.x2 == null) { - bb.x2 = bb.x1 + bb.w; - } - if (bb.w == null) { - bb.w = bb.x2 - bb.x1; - } - if (bb.y2 == null) { - bb.y2 = bb.y1 + bb.h; - } - if (bb.h == null) { - bb.h = bb.y2 - bb.y1; - } - - return bb; - } - }, { - key: 'setInitialPositionState', - value: function setInitialPositionState(node, state) { - var p = node.position(); - var bb = state.currentBoundingBox; - var scratch = node.scratch(state.name); - - if (scratch == null) { - scratch = {}; - - node.scratch(state.name, scratch); - } - - assign(scratch, state.randomize ? { - x: bb.x1 + Math.round(Math.random() * bb.w), - y: bb.y1 + Math.round(Math.random() * bb.h) - } : { - x: p.x, - y: p.y - }); - if (node.locked()) { - assign(scratch, { - fx: p.x, - fy: p.y - }); - } - } - }, { - key: 'refreshPositions', - value: function refreshPositions(nodes, state, fit) { - nodes.positions(function (node) { - var scratch = node.scratch(state.name); - return { - x: scratch.x, - y: scratch.y - }; - }); - fit && state.cy.fit(state.padding); - } - }, { - key: 'getScratch', - value: function getScratch(el) { - var name = this.state.name; - var scratch = el.scratch(name); - - if (!scratch) { - scratch = {}; - - el.scratch(name, scratch); - } - return scratch; - } - }, { - key: 'ungrabify', - value: function ungrabify(nodes) { - var _this = this; - - if (!this.state.ungrabifyWhileSimulating) { - return; - } - nodes.filter(function (node) { - var nodeGrabbable = _this.getScratch(node).grabbable = node.grabbable(); - return nodeGrabbable; - }); - nodes.ungrabify(); - } - }, { - key: 'regrabify', - value: function regrabify(nodes) { - var _this2 = this; - - if (!this.state.ungrabifyWhileSimulating) { - return; - } - nodes.filter(function (node) { - var nodeGrabbable = _this2.getScratch(node).grabbable; - return nodeGrabbable; - }); - nodes.grabify(); - } - }, { - key: 'tick', - value: function tick() { - var s = this.state; - s.progress += 1 / Math.ceil(Math.log(this.simulation.alphaMin()) / Math.log(1 - this.simulation.alphaDecay())); - s.iterations++; - var _iterations = s.maxIterations && !s.infinite ? s.iterations / s.maxIterations : 0; - var _timeRunning = Date.now() - s.startTime; - var _timeIterations = s.maxSimulationTime && !s.infinite ? _timeRunning / s.maxSimulationTime : 0; - var _progress = Math.max(_iterations, _timeIterations, s.progress); - _progress = _progress > 1 ? 1 : _progress; - if (_progress >= 1) { - this.end(!s.infinite); - return; - } - s.tick && s.tick(_progress); - if (s.animate) { - this.refreshPositions(s.nodes, s, s.fit); - } - } - }, { - key: 'end', - value: function end(destroyed) { - var s = this.state; - this.refreshPositions(s.nodes, s, s.fit); - this.emit('layoutstop', s.cy); - this.reset(destroyed); - } - }, { - key: 'reset', - value: function reset(destroyed) { - this.simulation && this.simulation.stop(); - var s = this.state; - this.destroyedEvent && this.destroyedEvent(); - (destroyed || !s.infinite) && this.removeCytoscapeEvents && this.removeCytoscapeEvents(); - s.animate && this.regrabify(s.nodes); - return this; - } - }, { - key: 'run', - value: function run() { - var _this3 = this; - - this.reset(); - var l = this; - var s = this.state; - var ready = false; - s.currentBoundingBox = this.makeBoundingBox(s.boundingBox, s.cy); - if (s.ready) { - l.one('layoutready', s.ready); - } - if (s.stop) { - l.one('layoutstop', s.stop); - } - s.nodes.forEach(function (n) { - return _this3.setInitialPositionState(n, s); - }); - if (!ready) { - ready = true; - l.emit('layoutready'); - } - - if (!l.simulation) { - var _forcenodes = s.nodes.map(function (n) { - return assign(l.getScratch(n), n.data()); - }); - var _forceedges = s.edges.map(function (e) { - return assign({}, e.data()); - }); - l.simulation = d3.forceSimulation(_forcenodes); - s.alpha && l.simulation.alpha(s.alpha); - s.alphaMin && l.simulation.alphaMin(s.alphaMin); - s.alphaDecay && l.simulation.alphaDecay(s.alphaDecay); - s.alphaTarget && l.simulation.alphaTarget(s.alphaTarget); - s.velocityDecay && l.simulation.velocityDecay(s.velocityDecay); - var _collide = d3.forceCollide(); - s.collideRadius && _collide.radius(s.collideRadius); - s.collideStrength && _collide.strength(s.collideStrength); - s.collideIterations && _collide.iterations(s.collideIterations); - var _link = d3.forceLink(_forceedges); - s.linkId && _link.id(s.linkId); - s.linkDistance && _link.distance(s.linkDistance); - s.linkStrength && _link.strength(s.linkStrength); - s.linkIterations && _link.iterations(s.linkIterations); - var _manyBody = d3.forceManyBody(); - s.manyBodyStrength && _manyBody.strength(s.manyBodyStrength); - s.manyBodyTheta && _manyBody.theta(s.manyBodyTheta); - s.manyBodyDistanceMin && _manyBody.distanceMin(s.manyBodyDistanceMin); - s.manyBodyDistanceMax && _manyBody.distanceMax(s.manyBodyDistanceMax); - var _x = d3.forceX(); - s.xX && _x.x(s.xX); - s.xStrength && _x.strength(s.xStrength); - var _y = d3.forceY(); - s.yY && _y.y(s.yY); - s.yStrength && _y.strength(s.yStrength); - var _radius = null; - if (s.radialRadius || s.radialStrength || s.radialX || s.radialY) { - _radius = d3.forceRadial(); - s.radialRadius && _radius.radius(s.radialRadius); - s.radialStrength && _radius.strength(s.radialStrength); - s.radialX && _radius.x(s.radialX); - s.radialY && _radius.y(s.radialY); - } - var _center = d3.forceCenter(s.currentBoundingBox.w / 2, s.currentBoundingBox.h / 2); - l.simulation.force('collide', _collide).force('link', _link).force('many-body', _manyBody).force('x', _x).force('y', _y).force("center", _center); - _radius && l.simulation.force('radius', _radius); - l.simulation.on("tick", function () { - l.tick(); - }).on("end", function () { - l.end(); - }); - } - if (!l.destroyedEvent) { - var destroyHandler = void 0; - s.cy.one('destroy', destroyHandler = function destroyHandler() { - l.stop(); - }); - l.destroyedEvent = function () { - s.cy.off('destroy', destroyHandler); - l.destroyedEvent = null; - }; - } - l.prerun(s); - l.emit('layoutstart'); - s.progress = 0; - s.iterations = 0; - s.startTime = Date.now(); - - if (s.animate) { - var restartAlphaTarget = Math.abs((s.alpha || 1) - (s.alphaTarget || 0)) / 3; - if (!l.removeCytoscapeEvents) { - var _cytoscapeEvent = function _cytoscapeEvent(e) { - var node = this; - var pos = node.position(); - var nodeIsTarget = e.cyTarget === node || e.target === node; - if (!nodeIsTarget) { - return; - } - var _scratch = l.getScratch(node); - s.progress = 0; - s.iterations = 0; - s.startTime = Date.now(); - _scratch.x = pos.x; - _scratch.y = pos.y; - if (e.type === 'grab') { - l.simulation.alphaTarget(restartAlphaTarget).restart(); - } else if (e.type === 'unlock' || e.type === 'free') { - if (!s.fixedAfterDragging) { - delete _scratch.fx; - delete _scratch.fy; - } else { - _scratch.fx = pos.x; - _scratch.fy = pos.y; - } - l.simulation.alphaTarget(restartAlphaTarget).restart(); - } else { - _scratch.fx = pos.x; - _scratch.fy = pos.y; - } - }; - l.removeCytoscapeEvents = function () { - s.nodes.off('grab free drag lock unlock', _cytoscapeEvent); - l.removeCytoscapeEvents = null; - }; - s.nodes.on('grab free drag lock unlock', _cytoscapeEvent); - } - l.ungrabify(s.nodes); - } - l.postrun(s); - return this; - } - }, { - key: 'prerun', - value: function prerun() {} - }, { - key: 'postrun', - value: function postrun() {} - }, { - key: 'stop', - value: function stop() { - return this.reset(true); - } - }]); - - return ContinuousLayout; -}(); - -module.exports = ContinuousLayout; - -/***/ }), -/* 1 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// Simple, internal Object.assign() polyfill for options objects etc. - -module.exports = Object.assign != null ? Object.assign.bind(Object) : function (tgt) { - for (var _len = arguments.length, srcs = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - srcs[_key - 1] = arguments[_key]; - } - - srcs.forEach(function (src) { - Object.keys(src).forEach(function (k) { - return tgt[k] = src[k]; - }); - }); - - return tgt; -}; - -/***/ }), -/* 2 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = Object.freeze({ - animate: true, // whether to show the layout as it's running; special 'end' value makes the layout animate like a discrete layout - maxIterations: 0, // max iterations before the layout will bail out - maxSimulationTime: 0, // max length in ms to run the layout - ungrabifyWhileSimulating: false, // so you can't drag nodes during layout - fixedAfterDragging: false, // fixed node after dragging - fit: false, // on every layout reposition of nodes, fit the viewport - padding: 30, // padding around the simulation - boundingBox: undefined, // constrain layout bounds; { x1, y1, x2, y2 } or { x1, y1, w, h } - /**d3-force API**/ - alpha: undefined, // sets the current alpha to the specified number in the range [0,1] - alphaMin: undefined, // sets the minimum alpha to the specified number in the range [0,1] - alphaDecay: undefined, // sets the alpha decay rate to the specified number in the range [0,1] - alphaTarget: undefined, // sets the current target alpha to the specified number in the range [0,1] - velocityDecay: undefined, // sets the velocity decay factor to the specified number in the range [0,1] - collideRadius: undefined, // sets the radius accessor to the specified number or function - collideStrength: undefined, // sets the force strength to the specified number in the range [0,1] - collideIterations: undefined, // sets the number of iterations per application to the specified number - linkId: undefined, // sets the node id accessor to the specified function - linkDistance: 30, // sets the distance accessor to the specified number or function - linkStrength: undefined, // sets the strength accessor to the specified number or function - linkIterations: undefined, // sets the number of iterations per application to the specified number - manyBodyStrength: undefined, // sets the strength accessor to the specified number or function - manyBodyTheta: undefined, // sets the Barnes–Hut approximation criterion to the specified number - manyBodyDistanceMin: undefined, // sets the minimum distance between nodes over which this force is considered - manyBodyDistanceMax: undefined, // sets the maximum distance between nodes over which this force is considered - xStrength: undefined, // sets the strength accessor to the specified number or function - xX: undefined, // sets the x-coordinate accessor to the specified number or function - yStrength: undefined, // sets the strength accessor to the specified number or function - yY: undefined, // sets the y-coordinate accessor to the specified number or function - radialStrength: undefined, // sets the strength accessor to the specified number or function - radialRadius: undefined, // sets the circle radius to the specified number or function - radialX: undefined, // sets the x-coordinate of the circle center to the specified number - radialY: undefined, // sets the y-coordinate of the circle center to the specified number - // layout event callbacks - ready: function ready() {}, // on layoutready - stop: function stop() {}, // on layoutstop - tick: function tick() {}, // on every iteration - // positioning options - randomize: false, // use random node positions at beginning of layout - // infinite layout options - infinite: false // overrides all other options for a forces-all-the-time mode -}); - -/***/ }), -/* 3 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var impl = __webpack_require__(0); - -// registers the extension on a cytoscape lib ref -var register = function register(cytoscape) { - if (!cytoscape) { - return; - } // can't register if cytoscape unspecified - - cytoscape('layout', 'd3-force', impl); // register with cytoscape.js -}; - -if (typeof cytoscape !== 'undefined') { - // expose to global cytoscape (i.e. window.cytoscape) - register(cytoscape); -} - -module.exports = register; - -/***/ }), -/* 4 */ -/***/ (function(module, exports) { - -module.exports = __WEBPACK_EXTERNAL_MODULE_4__; - -/***/ }) -/******/ ]); -}); \ No newline at end of file diff --git a/modules/analyze/html/external/cytoscape-dagre.js b/modules/analyze/html/external/cytoscape-dagre.js deleted file mode 100644 index 96bacd2..0000000 --- a/modules/analyze/html/external/cytoscape-dagre.js +++ /dev/null @@ -1,381 +0,0 @@ -(function webpackUniversalModuleDefinition(root, factory) { - if(typeof exports === 'object' && typeof module === 'object') - module.exports = factory(require("dagre")); - else if(typeof define === 'function' && define.amd) - define(["dagre"], factory); - else if(typeof exports === 'object') - exports["cytoscapeDagre"] = factory(require("dagre")); - else - root["cytoscapeDagre"] = factory(root["dagre"]); -})(this, function(__WEBPACK_EXTERNAL_MODULE__4__) { -return /******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 0); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports, __webpack_require__) { - -var impl = __webpack_require__(1); // registers the extension on a cytoscape lib ref - - -var register = function register(cytoscape) { - if (!cytoscape) { - return; - } // can't register if cytoscape unspecified - - - cytoscape('layout', 'dagre', impl); // register with cytoscape.js -}; - -if (typeof cytoscape !== 'undefined') { - // expose to global cytoscape (i.e. window.cytoscape) - register(cytoscape); -} - -module.exports = register; - -/***/ }), -/* 1 */ -/***/ (function(module, exports, __webpack_require__) { - -function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -var isFunction = function isFunction(o) { - return typeof o === 'function'; -}; - -var defaults = __webpack_require__(2); - -var assign = __webpack_require__(3); - -var dagre = __webpack_require__(4); // constructor -// options : object containing layout options - - -function DagreLayout(options) { - this.options = assign({}, defaults, options); -} // runs the layout - - -DagreLayout.prototype.run = function () { - var options = this.options; - var layout = this; - var cy = options.cy; // cy is automatically populated for us in the constructor - - var eles = options.eles; - - var getVal = function getVal(ele, val) { - return isFunction(val) ? val.apply(ele, [ele]) : val; - }; - - var bb = options.boundingBox || { - x1: 0, - y1: 0, - w: cy.width(), - h: cy.height() - }; - - if (bb.x2 === undefined) { - bb.x2 = bb.x1 + bb.w; - } - - if (bb.w === undefined) { - bb.w = bb.x2 - bb.x1; - } - - if (bb.y2 === undefined) { - bb.y2 = bb.y1 + bb.h; - } - - if (bb.h === undefined) { - bb.h = bb.y2 - bb.y1; - } - - var g = new dagre.graphlib.Graph({ - multigraph: true, - compound: true - }); - var gObj = {}; - - var setGObj = function setGObj(name, val) { - if (val != null) { - gObj[name] = val; - } - }; - - setGObj('nodesep', options.nodeSep); - setGObj('edgesep', options.edgeSep); - setGObj('ranksep', options.rankSep); - setGObj('rankdir', options.rankDir); - setGObj('align', options.align); - setGObj('ranker', options.ranker); - setGObj('acyclicer', options.acyclicer); - g.setGraph(gObj); - g.setDefaultEdgeLabel(function () { - return {}; - }); - g.setDefaultNodeLabel(function () { - return {}; - }); // add nodes to dagre - - var nodes = eles.nodes(); - - for (var i = 0; i < nodes.length; i++) { - var node = nodes[i]; - var nbb = node.layoutDimensions(options); - g.setNode(node.id(), { - width: nbb.w, - height: nbb.h, - name: node.id() - }); // console.log( g.node(node.id()) ); - } // set compound parents - - - for (var _i = 0; _i < nodes.length; _i++) { - var _node = nodes[_i]; - - if (_node.isChild()) { - g.setParent(_node.id(), _node.parent().id()); - } - } // add edges to dagre - - - var edges = eles.edges().stdFilter(function (edge) { - return !edge.source().isParent() && !edge.target().isParent(); // dagre can't handle edges on compound nodes - }); - - for (var _i2 = 0; _i2 < edges.length; _i2++) { - var edge = edges[_i2]; - g.setEdge(edge.source().id(), edge.target().id(), { - minlen: getVal(edge, options.minLen), - weight: getVal(edge, options.edgeWeight), - name: edge.id() - }, edge.id()); // console.log( g.edge(edge.source().id(), edge.target().id(), edge.id()) ); - } - - dagre.layout(g); - var gNodeIds = g.nodes(); - - for (var _i3 = 0; _i3 < gNodeIds.length; _i3++) { - var id = gNodeIds[_i3]; - var n = g.node(id); - cy.getElementById(id).scratch().dagre = n; - } - - var dagreBB; - - if (options.boundingBox) { - dagreBB = { - x1: Infinity, - x2: -Infinity, - y1: Infinity, - y2: -Infinity - }; - nodes.forEach(function (node) { - var dModel = node.scratch().dagre; - dagreBB.x1 = Math.min(dagreBB.x1, dModel.x); - dagreBB.x2 = Math.max(dagreBB.x2, dModel.x); - dagreBB.y1 = Math.min(dagreBB.y1, dModel.y); - dagreBB.y2 = Math.max(dagreBB.y2, dModel.y); - }); - dagreBB.w = dagreBB.x2 - dagreBB.x1; - dagreBB.h = dagreBB.y2 - dagreBB.y1; - } else { - dagreBB = bb; - } - - var constrainPos = function constrainPos(p) { - if (options.boundingBox) { - var xPct = dagreBB.w === 0 ? 0 : (p.x - dagreBB.x1) / dagreBB.w; - var yPct = dagreBB.h === 0 ? 0 : (p.y - dagreBB.y1) / dagreBB.h; - return { - x: bb.x1 + xPct * bb.w, - y: bb.y1 + yPct * bb.h - }; - } else { - return p; - } - }; - - nodes.layoutPositions(layout, options, function (ele) { - ele = _typeof(ele) === "object" ? ele : this; - var dModel = ele.scratch().dagre; - return constrainPos({ - x: dModel.x, - y: dModel.y - }); - }); - return this; // chaining -}; - -module.exports = DagreLayout; - -/***/ }), -/* 2 */ -/***/ (function(module, exports) { - -var defaults = { - // dagre algo options, uses default value on undefined - nodeSep: undefined, - // the separation between adjacent nodes in the same rank - edgeSep: undefined, - // the separation between adjacent edges in the same rank - rankSep: undefined, - // the separation between adjacent nodes in the same rank - rankDir: undefined, - // alignment for rank nodes. Can be 'UL', 'UR', 'DL', or 'DR', where U = up, D = down, L = left, and R = right - align: undefined, - // 'TB' for top to bottom flow, 'LR' for left to right, - ranker: undefined, - // Type of algorithm to assigns a rank to each node in the input graph. - // Possible values: network-simplex, tight-tree or longest-path - minLen: function minLen(edge) { - return 1; - }, - // number of ranks to keep between the source and target of the edge - edgeWeight: function edgeWeight(edge) { - return 1; - }, - // higher weight edges are generally made shorter and straighter than lower weight edges - // general layout options - fit: true, - // whether to fit to viewport - padding: 30, - // fit padding - spacingFactor: undefined, - // Applies a multiplicative factor (>0) to expand or compress the overall area that the nodes take up - nodeDimensionsIncludeLabels: false, - // whether labels should be included in determining the space used by a node - animate: false, - // whether to transition the node positions - animateFilter: function animateFilter(node, i) { - return true; - }, - // whether to animate specific nodes when animation is on; non-animated nodes immediately go to their final positions - animationDuration: 500, - // duration of animation in ms if enabled - animationEasing: undefined, - // easing of animation if enabled - boundingBox: undefined, - // constrain layout bounds; { x1, y1, x2, y2 } or { x1, y1, w, h } - transform: function transform(node, pos) { - return pos; - }, - // a function that applies a transform to the final node position - ready: function ready() {}, - // on layoutready - stop: function stop() {} // on layoutstop - -}; -module.exports = defaults; - -/***/ }), -/* 3 */ -/***/ (function(module, exports) { - -// Simple, internal Object.assign() polyfill for options objects etc. -module.exports = Object.assign != null ? Object.assign.bind(Object) : function (tgt) { - for (var _len = arguments.length, srcs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - srcs[_key - 1] = arguments[_key]; - } - - srcs.forEach(function (src) { - Object.keys(src).forEach(function (k) { - return tgt[k] = src[k]; - }); - }); - return tgt; -}; - -/***/ }), -/* 4 */ -/***/ (function(module, exports) { - -module.exports = __WEBPACK_EXTERNAL_MODULE__4__; - -/***/ }) -/******/ ]); -}); \ No newline at end of file diff --git a/modules/analyze/html/external/cytoscape-fcose.js b/modules/analyze/html/external/cytoscape-fcose.js deleted file mode 100644 index 2d801a2..0000000 --- a/modules/analyze/html/external/cytoscape-fcose.js +++ /dev/null @@ -1,1437 +0,0 @@ -(function webpackUniversalModuleDefinition(root, factory) { - if (typeof exports === 'object' && typeof module === 'object') - module.exports = factory(require("cose-base")); - else if (typeof define === 'function' && define.amd) - define(["cose-base"], factory); - else if (typeof exports === 'object') - exports["cytoscapeFcose"] = factory(require("cose-base")); - else - root["cytoscapeFcose"] = factory(root["coseBase"]); -})(self, function (__WEBPACK_EXTERNAL_MODULE__281__) { - return /******/ (() => { // webpackBootstrap -/******/ "use strict"; -/******/ var __webpack_modules__ = ({ - -/***/ 658: -/***/ ((module) => { - - - - // Simple, internal Object.assign() polyfill for options objects etc. - - module.exports = Object.assign != null ? Object.assign.bind(Object) : function (tgt) { - for (var _len = arguments.length, srcs = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - srcs[_key - 1] = arguments[_key]; - } - - srcs.forEach(function (src) { - Object.keys(src).forEach(function (k) { - return tgt[k] = src[k]; - }); - }); - - return tgt; - }; - - /***/ -}), - -/***/ 548: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - - - - /* - * Auxiliary functions - */ - - var LinkedList = __webpack_require__(281).layoutBase.LinkedList; - - var auxiliary = {}; - - // get the top most nodes - auxiliary.getTopMostNodes = function (nodes) { - var nodesMap = {}; - for (var i = 0; i < nodes.length; i++) { - nodesMap[nodes[i].id()] = true; - } - var roots = nodes.filter(function (ele, i) { - if (typeof ele === "number") { - ele = i; - } - var parent = ele.parent()[0]; - while (parent != null) { - if (nodesMap[parent.id()]) { - return false; - } - parent = parent.parent()[0]; - } - return true; - }); - - return roots; - }; - - // find disconnected components and create dummy nodes that connect them - auxiliary.connectComponents = function (cy, eles, topMostNodes, dummyNodes) { - var queue = new LinkedList(); - var visited = new Set(); - var visitedTopMostNodes = []; - var currentNeighbor = void 0; - var minDegreeNode = void 0; - var minDegree = void 0; - - var isConnected = false; - var count = 1; - var nodesConnectedToDummy = []; - var components = []; - - var _loop = function _loop() { - var cmpt = cy.collection(); - components.push(cmpt); - - var currentNode = topMostNodes[0]; - var childrenOfCurrentNode = cy.collection(); - childrenOfCurrentNode.merge(currentNode).merge(currentNode.descendants().intersection(eles)); - visitedTopMostNodes.push(currentNode); - - childrenOfCurrentNode.forEach(function (node) { - queue.push(node); - visited.add(node); - cmpt.merge(node); - }); - - var _loop2 = function _loop2() { - currentNode = queue.shift(); - - // Traverse all neighbors of this node - var neighborNodes = cy.collection(); - currentNode.neighborhood().nodes().forEach(function (node) { - if (eles.intersection(currentNode.edgesWith(node)).length > 0) { - neighborNodes.merge(node); - } - }); - - for (var i = 0; i < neighborNodes.length; i++) { - var neighborNode = neighborNodes[i]; - currentNeighbor = topMostNodes.intersection(neighborNode.union(neighborNode.ancestors())); - if (currentNeighbor != null && !visited.has(currentNeighbor[0])) { - var childrenOfNeighbor = currentNeighbor.union(currentNeighbor.descendants()); - - childrenOfNeighbor.forEach(function (node) { - queue.push(node); - visited.add(node); - cmpt.merge(node); - if (topMostNodes.has(node)) { - visitedTopMostNodes.push(node); - } - }); - } - } - }; - - while (queue.length != 0) { - _loop2(); - } - - cmpt.forEach(function (node) { - eles.intersection(node.connectedEdges()).forEach(function (e) { - // connectedEdges() usually cached - if (cmpt.has(e.source()) && cmpt.has(e.target())) { - // has() is cheap - cmpt.merge(e); // forEach() only considers nodes -- sets N at call time - } - }); - }); - - if (visitedTopMostNodes.length == topMostNodes.length) { - isConnected = true; - } - - if (!isConnected || isConnected && count > 1) { - minDegreeNode = visitedTopMostNodes[0]; - minDegree = minDegreeNode.connectedEdges().length; - visitedTopMostNodes.forEach(function (node) { - if (node.connectedEdges().length < minDegree) { - minDegree = node.connectedEdges().length; - minDegreeNode = node; - } - }); - nodesConnectedToDummy.push(minDegreeNode.id()); - // TO DO: Check efficiency of this part - var temp = cy.collection(); - temp.merge(visitedTopMostNodes[0]); - visitedTopMostNodes.forEach(function (node) { - temp.merge(node); - }); - visitedTopMostNodes = []; - topMostNodes = topMostNodes.difference(temp); - count++; - } - }; - - do { - _loop(); - } while (!isConnected); - - if (dummyNodes) { - if (nodesConnectedToDummy.length > 0) { - dummyNodes.set('dummy' + (dummyNodes.size + 1), nodesConnectedToDummy); - } - } - return components; - }; - - auxiliary.calcBoundingBox = function (parentNode, xCoords, yCoords, nodeIndexes) { - // calculate bounds - var left = Number.MAX_SAFE_INTEGER; - var right = Number.MIN_SAFE_INTEGER; - var top = Number.MAX_SAFE_INTEGER; - var bottom = Number.MIN_SAFE_INTEGER; - var nodeLeft = void 0; - var nodeRight = void 0; - var nodeTop = void 0; - var nodeBottom = void 0; - - var nodes = parentNode.descendants().not(":parent"); - var s = nodes.length; - for (var i = 0; i < s; i++) { - var node = nodes[i]; - - nodeLeft = xCoords[nodeIndexes.get(node.id())] - node.width() / 2; - nodeRight = xCoords[nodeIndexes.get(node.id())] + node.width() / 2; - nodeTop = yCoords[nodeIndexes.get(node.id())] - node.height() / 2; - nodeBottom = yCoords[nodeIndexes.get(node.id())] + node.height() / 2; - - if (left > nodeLeft) { - left = nodeLeft; - } - - if (right < nodeRight) { - right = nodeRight; - } - - if (top > nodeTop) { - top = nodeTop; - } - - if (bottom < nodeBottom) { - bottom = nodeBottom; - } - } - - var boundingBox = {}; - boundingBox.topLeftX = left; - boundingBox.topLeftY = top; - boundingBox.width = right - left; - boundingBox.height = bottom - top; - return boundingBox; - }; - - module.exports = auxiliary; - - /***/ -}), - -/***/ 816: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - - - - /** - The implementation of the postprocessing part that applies CoSE layout over the spectral layout - */ - - var aux = __webpack_require__(548); - var CoSELayout = __webpack_require__(281).CoSELayout; - var CoSENode = __webpack_require__(281).CoSENode; - var PointD = __webpack_require__(281).layoutBase.PointD; - var DimensionD = __webpack_require__(281).layoutBase.DimensionD; - var LayoutConstants = __webpack_require__(281).layoutBase.LayoutConstants; - var FDLayoutConstants = __webpack_require__(281).layoutBase.FDLayoutConstants; - var CoSEConstants = __webpack_require__(281).CoSEConstants; - - // main function that cose layout is processed - var coseLayout = function coseLayout(options, spectralResult) { - - var eles = options.eles; - var nodes = eles.nodes(); - var edges = eles.edges(); - - var nodeIndexes = void 0; - var xCoords = void 0; - var yCoords = void 0; - var idToLNode = {}; - - if (options.randomize) { - nodeIndexes = spectralResult["nodeIndexes"]; - xCoords = spectralResult["xCoords"]; - yCoords = spectralResult["yCoords"]; - } - - var isFn = function isFn(fn) { - return typeof fn === 'function'; - }; - - var optFn = function optFn(opt, ele) { - if (isFn(opt)) { - return opt(ele); - } else { - return opt; - } - }; - - /**** Postprocessing functions ****/ - - // transfer cytoscape nodes to cose nodes - var processChildrenList = function processChildrenList(parent, children, layout, options) { - var size = children.length; - for (var i = 0; i < size; i++) { - var theChild = children[i]; - var children_of_children = theChild.children(); - var theNode = void 0; - - var dimensions = theChild.layoutDimensions({ - nodeDimensionsIncludeLabels: options.nodeDimensionsIncludeLabels - }); - - if (theChild.outerWidth() != null && theChild.outerHeight() != null) { - if (options.randomize) { - if (!theChild.isParent()) { - theNode = parent.add(new CoSENode(layout.graphManager, new PointD(xCoords[nodeIndexes.get(theChild.id())] - dimensions.w / 2, yCoords[nodeIndexes.get(theChild.id())] - dimensions.h / 2), new DimensionD(parseFloat(dimensions.w), parseFloat(dimensions.h)))); - } else { - var parentInfo = aux.calcBoundingBox(theChild, xCoords, yCoords, nodeIndexes); - theNode = parent.add(new CoSENode(layout.graphManager, new PointD(parentInfo.topLeftX, parentInfo.topLeftY), new DimensionD(parentInfo.width, parentInfo.height))); - } - } else { - theNode = parent.add(new CoSENode(layout.graphManager, new PointD(theChild.position('x') - dimensions.w / 2, theChild.position('y') - dimensions.h / 2), new DimensionD(parseFloat(dimensions.w), parseFloat(dimensions.h)))); - } - } else { - theNode = parent.add(new CoSENode(this.graphManager)); - } - // Attach id to the layout node and repulsion value - theNode.id = theChild.data("id"); - theNode.nodeRepulsion = optFn(options.nodeRepulsion, theChild); - // Attach the paddings of cy node to layout node - theNode.paddingLeft = parseInt(theChild.css('padding')); - theNode.paddingTop = parseInt(theChild.css('padding')); - theNode.paddingRight = parseInt(theChild.css('padding')); - theNode.paddingBottom = parseInt(theChild.css('padding')); - - //Attach the label properties to both compound and simple nodes if labels will be included in node dimensions - //These properties will be used while updating bounds of compounds during iterations or tiling - //and will be used for simple nodes while transferring final positions to cytoscape - if (options.nodeDimensionsIncludeLabels) { - theNode.labelWidth = theChild.boundingBox({ includeLabels: true, includeNodes: false, includeOverlays: false }).w; - theNode.labelHeight = theChild.boundingBox({ includeLabels: true, includeNodes: false, includeOverlays: false }).h; - theNode.labelPosVertical = theChild.css("text-valign"); - theNode.labelPosHorizontal = theChild.css("text-halign"); - } - - // Map the layout node - idToLNode[theChild.data("id")] = theNode; - - if (isNaN(theNode.rect.x)) { - theNode.rect.x = 0; - } - - if (isNaN(theNode.rect.y)) { - theNode.rect.y = 0; - } - - if (children_of_children != null && children_of_children.length > 0) { - var theNewGraph = void 0; - theNewGraph = layout.getGraphManager().add(layout.newGraph(), theNode); - processChildrenList(theNewGraph, children_of_children, layout, options); - } - } - }; - - // transfer cytoscape edges to cose edges - var processEdges = function processEdges(layout, gm, edges) { - var idealLengthTotal = 0; - var edgeCount = 0; - for (var i = 0; i < edges.length; i++) { - var edge = edges[i]; - var sourceNode = idToLNode[edge.data("source")]; - var targetNode = idToLNode[edge.data("target")]; - if (sourceNode !== targetNode && sourceNode.getEdgesBetween(targetNode).length == 0) { - var e1 = gm.add(layout.newEdge(), sourceNode, targetNode); - e1.id = edge.id(); - e1.idealLength = optFn(options.idealEdgeLength, edge); - e1.edgeElasticity = optFn(options.edgeElasticity, edge); - idealLengthTotal += e1.idealLength; - edgeCount++; - } - } - // we need to update the ideal edge length constant with the avg. ideal length value after processing edges - // in case there is no edge, use other options - if (options.idealEdgeLength != null) { - if (edgeCount > 0) CoSEConstants.DEFAULT_EDGE_LENGTH = FDLayoutConstants.DEFAULT_EDGE_LENGTH = idealLengthTotal / edgeCount; else if (!isFn(options.idealEdgeLength)) // in case there is no edge, but option gives a value to use - CoSEConstants.DEFAULT_EDGE_LENGTH = FDLayoutConstants.DEFAULT_EDGE_LENGTH = options.idealEdgeLength; else // in case there is no edge and we cannot get a value from option (because it's a function) - CoSEConstants.DEFAULT_EDGE_LENGTH = FDLayoutConstants.DEFAULT_EDGE_LENGTH = 50; - // we need to update these constant values based on the ideal edge length constant - CoSEConstants.MIN_REPULSION_DIST = FDLayoutConstants.MIN_REPULSION_DIST = FDLayoutConstants.DEFAULT_EDGE_LENGTH / 10.0; - CoSEConstants.DEFAULT_RADIAL_SEPARATION = FDLayoutConstants.DEFAULT_EDGE_LENGTH; - } - }; - - // transfer cytoscape constraints to cose layout - var processConstraints = function processConstraints(layout, options) { - // get nodes to be fixed - if (options.fixedNodeConstraint) { - layout.constraints["fixedNodeConstraint"] = options.fixedNodeConstraint; - } - // get nodes to be aligned - if (options.alignmentConstraint) { - layout.constraints["alignmentConstraint"] = options.alignmentConstraint; - } - // get nodes to be relatively placed - if (options.relativePlacementConstraint) { - layout.constraints["relativePlacementConstraint"] = options.relativePlacementConstraint; - } - }; - - /**** Apply postprocessing ****/ - if (options.nestingFactor != null) CoSEConstants.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = FDLayoutConstants.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR = options.nestingFactor; - if (options.gravity != null) CoSEConstants.DEFAULT_GRAVITY_STRENGTH = FDLayoutConstants.DEFAULT_GRAVITY_STRENGTH = options.gravity; - if (options.numIter != null) CoSEConstants.MAX_ITERATIONS = FDLayoutConstants.MAX_ITERATIONS = options.numIter; - if (options.gravityRange != null) CoSEConstants.DEFAULT_GRAVITY_RANGE_FACTOR = FDLayoutConstants.DEFAULT_GRAVITY_RANGE_FACTOR = options.gravityRange; - if (options.gravityCompound != null) CoSEConstants.DEFAULT_COMPOUND_GRAVITY_STRENGTH = FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_STRENGTH = options.gravityCompound; - if (options.gravityRangeCompound != null) CoSEConstants.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = FDLayoutConstants.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR = options.gravityRangeCompound; - if (options.initialEnergyOnIncremental != null) CoSEConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL = FDLayoutConstants.DEFAULT_COOLING_FACTOR_INCREMENTAL = options.initialEnergyOnIncremental; - - if (options.quality == 'proof') LayoutConstants.QUALITY = 2; else LayoutConstants.QUALITY = 0; - - CoSEConstants.NODE_DIMENSIONS_INCLUDE_LABELS = FDLayoutConstants.NODE_DIMENSIONS_INCLUDE_LABELS = LayoutConstants.NODE_DIMENSIONS_INCLUDE_LABELS = options.nodeDimensionsIncludeLabels; - CoSEConstants.DEFAULT_INCREMENTAL = FDLayoutConstants.DEFAULT_INCREMENTAL = LayoutConstants.DEFAULT_INCREMENTAL = !options.randomize; - CoSEConstants.ANIMATE = FDLayoutConstants.ANIMATE = LayoutConstants.ANIMATE = options.animate; - CoSEConstants.TILE = options.tile; - CoSEConstants.TILING_PADDING_VERTICAL = typeof options.tilingPaddingVertical === 'function' ? options.tilingPaddingVertical.call() : options.tilingPaddingVertical; - CoSEConstants.TILING_PADDING_HORIZONTAL = typeof options.tilingPaddingHorizontal === 'function' ? options.tilingPaddingHorizontal.call() : options.tilingPaddingHorizontal; - - CoSEConstants.DEFAULT_INCREMENTAL = FDLayoutConstants.DEFAULT_INCREMENTAL = LayoutConstants.DEFAULT_INCREMENTAL = true; - CoSEConstants.PURE_INCREMENTAL = !options.randomize; - LayoutConstants.DEFAULT_UNIFORM_LEAF_NODE_SIZES = options.uniformNodeDimensions; - - // This part is for debug/demo purpose - if (options.step == "transformed") { - CoSEConstants.TRANSFORM_ON_CONSTRAINT_HANDLING = true; - CoSEConstants.ENFORCE_CONSTRAINTS = false; - CoSEConstants.APPLY_LAYOUT = false; - } - if (options.step == "enforced") { - CoSEConstants.TRANSFORM_ON_CONSTRAINT_HANDLING = false; - CoSEConstants.ENFORCE_CONSTRAINTS = true; - CoSEConstants.APPLY_LAYOUT = false; - } - if (options.step == "cose") { - CoSEConstants.TRANSFORM_ON_CONSTRAINT_HANDLING = false; - CoSEConstants.ENFORCE_CONSTRAINTS = false; - CoSEConstants.APPLY_LAYOUT = true; - } - if (options.step == "all") { - if (options.randomize) CoSEConstants.TRANSFORM_ON_CONSTRAINT_HANDLING = true; else CoSEConstants.TRANSFORM_ON_CONSTRAINT_HANDLING = false; - CoSEConstants.ENFORCE_CONSTRAINTS = true; - CoSEConstants.APPLY_LAYOUT = true; - } - - if (options.fixedNodeConstraint || options.alignmentConstraint || options.relativePlacementConstraint) { - CoSEConstants.TREE_REDUCTION_ON_INCREMENTAL = false; - } else { - CoSEConstants.TREE_REDUCTION_ON_INCREMENTAL = true; - } - - var coseLayout = new CoSELayout(); - var gm = coseLayout.newGraphManager(); - - processChildrenList(gm.addRoot(), aux.getTopMostNodes(nodes), coseLayout, options); - processEdges(coseLayout, gm, edges); - processConstraints(coseLayout, options); - - coseLayout.runLayout(); - - return idToLNode; - }; - - module.exports = { coseLayout: coseLayout }; - - /***/ -}), - -/***/ 212: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - - - - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - - /** - The implementation of the fcose layout algorithm - */ - - var assign = __webpack_require__(658); - var aux = __webpack_require__(548); - - var _require = __webpack_require__(657), - spectralLayout = _require.spectralLayout; - - var _require2 = __webpack_require__(816), - coseLayout = _require2.coseLayout; - - var defaults = Object.freeze({ - - // 'draft', 'default' or 'proof' - // - 'draft' only applies spectral layout - // - 'default' improves the quality with subsequent CoSE layout (fast cooling rate) - // - 'proof' improves the quality with subsequent CoSE layout (slow cooling rate) - quality: "default", - // Use random node positions at beginning of layout - // if this is set to false, then quality option must be "proof" - randomize: true, - // Whether or not to animate the layout - animate: true, - // Duration of animation in ms, if enabled - animationDuration: 1000, - // Easing of animation, if enabled - animationEasing: undefined, - // Fit the viewport to the repositioned nodes - fit: true, - // Padding around layout - padding: 30, - // Whether to include labels in node dimensions. Valid in "proof" quality - nodeDimensionsIncludeLabels: false, - // Whether or not simple nodes (non-compound nodes) are of uniform dimensions - uniformNodeDimensions: false, - // Whether to pack disconnected components - valid only if randomize: true - packComponents: true, - // Layout step - all, transformed, enforced, cose - for debug purpose only - step: "all", - - /* spectral layout options */ - - // False for random, true for greedy - samplingType: true, - // Sample size to construct distance matrix - sampleSize: 25, - // Separation amount between nodes - nodeSeparation: 75, - // Power iteration tolerance - piTol: 0.0000001, - - /* CoSE layout options */ - - // Node repulsion (non overlapping) multiplier - nodeRepulsion: function nodeRepulsion(node) { - return 4500; - }, - // Ideal edge (non nested) length - idealEdgeLength: function idealEdgeLength(edge) { - return 50; - }, - // Divisor to compute edge forces - edgeElasticity: function edgeElasticity(edge) { - return 0.45; - }, - // Nesting factor (multiplier) to compute ideal edge length for nested edges - nestingFactor: 0.1, - // Gravity force (constant) - gravity: 0.25, - // Maximum number of iterations to perform - numIter: 2500, - // For enabling tiling - tile: true, - // Represents the amount of the vertical space to put between the zero degree members during the tiling operation(can also be a function) - tilingPaddingVertical: 10, - // Represents the amount of the horizontal space to put between the zero degree members during the tiling operation(can also be a function) - tilingPaddingHorizontal: 10, - // Gravity range (constant) for compounds - gravityRangeCompound: 1.5, - // Gravity force (constant) for compounds - gravityCompound: 1.0, - // Gravity range (constant) - gravityRange: 3.8, - // Initial cooling factor for incremental layout - initialEnergyOnIncremental: 0.3, - - /* constraint options */ - - // Fix required nodes to predefined positions - // [{nodeId: 'n1', position: {x: 100, y: 200}, {...}] - fixedNodeConstraint: undefined, - // Align required nodes in vertical/horizontal direction - // {vertical: [['n1', 'n2')], ['n3', 'n4']], horizontal: ['n2', 'n4']} - alignmentConstraint: undefined, - // Place two nodes relatively in vertical/horizontal direction - // [{top: 'n1', bottom: 'n2', gap: 100}, {left: 'n3', right: 'n4', gap: 75}] - relativePlacementConstraint: undefined, - - /* layout event callbacks */ - ready: function ready() { }, // on layoutready - stop: function stop() { } // on layoutstop - }); - - var Layout = function () { - function Layout(options) { - _classCallCheck(this, Layout); - - this.options = assign({}, defaults, options); - } - - _createClass(Layout, [{ - key: 'run', - value: function run() { - var layout = this; - var options = this.options; - var cy = options.cy; - var eles = options.eles; - - var spectralResult = []; - var xCoords = void 0; - var yCoords = void 0; - var coseResult = []; - var components = void 0; - - // basic validity check for constraint inputs - if (options.fixedNodeConstraint && (!Array.isArray(options.fixedNodeConstraint) || options.fixedNodeConstraint.length == 0)) { - options.fixedNodeConstraint = undefined; - } - - if (options.alignmentConstraint) { - if (options.alignmentConstraint.vertical && (!Array.isArray(options.alignmentConstraint.vertical) || options.alignmentConstraint.vertical.length == 0)) { - options.alignmentConstraint.vertical = undefined; - } - if (options.alignmentConstraint.horizontal && (!Array.isArray(options.alignmentConstraint.horizontal) || options.alignmentConstraint.horizontal.length == 0)) { - options.alignmentConstraint.horizontal = undefined; - } - } - - if (options.relativePlacementConstraint && (!Array.isArray(options.relativePlacementConstraint) || options.relativePlacementConstraint.length == 0)) { - options.relativePlacementConstraint = undefined; - } - - // if any constraint exists, set some options - var constraintExist = options.fixedNodeConstraint || options.alignmentConstraint || options.relativePlacementConstraint; - if (constraintExist) { - // constraints work with these options - options.tile = false; - options.packComponents = false; - } - - // decide component packing is enabled or not - var layUtil = void 0; - var packingEnabled = false; - if (cy.layoutUtilities && options.packComponents) { - layUtil = cy.layoutUtilities("get"); - if (!layUtil) layUtil = cy.layoutUtilities(); - packingEnabled = true; - } - - if (eles.nodes().length > 0) { - // if packing is not enabled, perform layout on the whole graph - if (!packingEnabled) { - if (options.randomize) { - var result = spectralLayout(options); // apply spectral layout - spectralResult.push(result); - } - // apply cose layout as postprocessing - if (options.quality == "default" || options.quality == "proof") { - coseResult.push(coseLayout(options, spectralResult[0])); - } - } else { - // packing is enabled - var topMostNodes = aux.getTopMostNodes(options.eles.nodes()); - components = aux.connectComponents(cy, options.eles, topMostNodes); - - //send each component to spectral layout - if (options.randomize) { - components.forEach(function (component) { - options.eles = component; - spectralResult.push(spectralLayout(options)); - }); - } - - if (options.quality == "default" || options.quality == "proof") { - var toBeTiledNodes = cy.collection(); - if (options.tile) { - // behave nodes to be tiled as one component - var nodeIndexes = new Map(); - var _xCoords = []; - var _yCoords = []; - var count = 0; - var tempSpectralResult = { nodeIndexes: nodeIndexes, xCoords: _xCoords, yCoords: _yCoords }; - var indexesToBeDeleted = []; - components.forEach(function (component, index) { - if (component.edges().length == 0) { - component.nodes().forEach(function (node, i) { - toBeTiledNodes.merge(component.nodes()[i]); - if (!node.isParent()) { - tempSpectralResult.nodeIndexes.set(component.nodes()[i].id(), count++); - tempSpectralResult.xCoords.push(component.nodes()[0].position().x); - tempSpectralResult.yCoords.push(component.nodes()[0].position().y); - } - }); - indexesToBeDeleted.push(index); - } - }); - if (toBeTiledNodes.length > 1) { - components.push(toBeTiledNodes); - spectralResult.push(tempSpectralResult); - for (var i = indexesToBeDeleted.length - 1; i >= 0; i--) { - components.splice(indexesToBeDeleted[i], 1); - spectralResult.splice(indexesToBeDeleted[i], 1); - }; - } - } - components.forEach(function (component, index) { - // send each component to cose layout - options.eles = component; - coseResult.push(coseLayout(options, spectralResult[index])); - }); - } - - // packing - if (components.length > 1) { - var subgraphs = []; - components.forEach(function (component, index) { - var nodeIndexes = void 0; - if (options.quality == "draft") { - nodeIndexes = spectralResult[index].nodeIndexes; - } - var subgraph = {}; - subgraph.nodes = []; - subgraph.edges = []; - var nodeIndex = void 0; - component.nodes().forEach(function (node) { - if (options.quality == "draft") { - if (!node.isParent()) { - nodeIndex = nodeIndexes.get(node.id()); - subgraph.nodes.push({ x: spectralResult[index].xCoords[nodeIndex] - node.boundingbox().w / 2, y: spectralResult[index].yCoords[nodeIndex] - node.boundingbox().h / 2, width: node.boundingbox().w, height: node.boundingbox().h }); - } else { - var parentInfo = aux.calcBoundingBox(node, spectralResult[index].xCoords, spectralResult[index].yCoords, nodeIndexes); - subgraph.nodes.push({ x: parentInfo.topLeftX, y: parentInfo.topLeftY, width: parentInfo.width, height: parentInfo.height }); - } - } else { - subgraph.nodes.push({ x: coseResult[index][node.id()].getLeft(), y: coseResult[index][node.id()].getTop(), width: coseResult[index][node.id()].getWidth(), height: coseResult[index][node.id()].getHeight() }); - } - }); - component.edges().forEach(function (edge) { - var source = edge.source(); - var target = edge.target(); - if (options.quality == "draft") { - var sourceNodeIndex = nodeIndexes.get(source.id()); - var targetNodeIndex = nodeIndexes.get(target.id()); - var sourceCenter = []; - var targetCenter = []; - if (source.isParent()) { - var parentInfo = aux.calcBoundingBox(source, spectralResult[index].xCoords, spectralResult[index].yCoords, nodeIndexes); - sourceCenter.push(parentInfo.topLeftX + parentInfo.width / 2); - sourceCenter.push(parentInfo.topLeftY + parentInfo.height / 2); - } else { - sourceCenter.push(spectralResult[index].xCoords[sourceNodeIndex]); - sourceCenter.push(spectralResult[index].yCoords[sourceNodeIndex]); - } - if (target.isParent()) { - var _parentInfo = aux.calcBoundingBox(target, spectralResult[index].xCoords, spectralResult[index].yCoords, nodeIndexes); - targetCenter.push(_parentInfo.topLeftX + _parentInfo.width / 2); - targetCenter.push(_parentInfo.topLeftY + _parentInfo.height / 2); - } else { - targetCenter.push(spectralResult[index].xCoords[targetNodeIndex]); - targetCenter.push(spectralResult[index].yCoords[targetNodeIndex]); - } - subgraph.edges.push({ startX: sourceCenter[0], startY: sourceCenter[1], endX: targetCenter[0], endY: targetCenter[1] }); - } else { - subgraph.edges.push({ startX: coseResult[index][source.id()].getCenterX(), startY: coseResult[index][source.id()].getCenterY(), endX: coseResult[index][target.id()].getCenterX(), endY: coseResult[index][target.id()].getCenterY() }); - } - }); - subgraphs.push(subgraph); - }); - var shiftResult = layUtil.packComponents(subgraphs, options.randomize).shifts; - if (options.quality == "draft") { - spectralResult.forEach(function (result, index) { - var newXCoords = result.xCoords.map(function (x) { - return x + shiftResult[index].dx; - }); - var newYCoords = result.yCoords.map(function (y) { - return y + shiftResult[index].dy; - }); - result.xCoords = newXCoords; - result.yCoords = newYCoords; - }); - } else { - coseResult.forEach(function (result, index) { - Object.keys(result).forEach(function (item) { - var nodeRectangle = result[item]; - nodeRectangle.setCenter(nodeRectangle.getCenterX() + shiftResult[index].dx, nodeRectangle.getCenterY() + shiftResult[index].dy); - }); - }); - } - } - } - - // move graph to its original position because spectral moves it to origin - if (options.randomize && !options.fixedNodeConstraint) { - var minXCoord = Number.POSITIVE_INFINITY; - var maxXCoord = Number.NEGATIVE_INFINITY; - var minYCoord = Number.POSITIVE_INFINITY; - var maxYCoord = Number.NEGATIVE_INFINITY; - if (options.quality == "draft") { - spectralResult.forEach(function (result) { - result.xCoords.forEach(function (value) { - if (value < minXCoord) minXCoord = value; - if (value > maxXCoord) maxXCoord = value; - }); - result.yCoords.forEach(function (value) { - if (value < minYCoord) minYCoord = value; - if (value > maxYCoord) maxYCoord = value; - }); - }); - var boundingBox = options.eles.boundingBox(); - var diffOnX = boundingBox.x1 + boundingBox.w / 2 - (maxXCoord + minXCoord) / 2; - var diffOnY = boundingBox.y1 + boundingBox.h / 2 - (maxYCoord + minYCoord) / 2; - spectralResult.forEach(function (result) { - result.xCoords = result.xCoords.map(function (x) { - return x + diffOnX; - }); - result.yCoords = result.yCoords.map(function (y) { - return y + diffOnY; - }); - }); - } else { - coseResult.forEach(function (result) { - Object.keys(result).forEach(function (item) { - var node = result[item]; - if (node.getCenterX() < minXCoord) minXCoord = node.getCenterX(); - if (node.getCenterX() > maxXCoord) maxXCoord = node.getCenterX(); - if (node.getCenterY() < minYCoord) minYCoord = node.getCenterY(); - if (node.getCenterY() > maxYCoord) maxYCoord = node.getCenterY(); - }); - }); - var _boundingBox = options.eles.boundingBox(); - var _diffOnX = _boundingBox.x1 + _boundingBox.w / 2 - (maxXCoord + minXCoord) / 2; - var _diffOnY = _boundingBox.y1 + _boundingBox.h / 2 - (maxYCoord + minYCoord) / 2; - coseResult.forEach(function (result, index) { - Object.keys(result).forEach(function (item) { - var node = result[item]; - node.setCenter(node.getCenterX() + _diffOnX, node.getCenterY() + _diffOnY); - }); - }); - } - } - } - - // get each element's calculated position - var getPositions = function getPositions(ele, i) { - if (options.quality == "default" || options.quality == "proof") { - if (typeof ele === "number") { - ele = i; - } - var pos = void 0; - var node = void 0; - var theId = ele.data('id'); - coseResult.forEach(function (result) { - if (theId in result) { - pos = { x: result[theId].getRect().getCenterX(), y: result[theId].getRect().getCenterY() }; - node = result[theId]; - } - }); - if (options.nodeDimensionsIncludeLabels) { - if (node.labelWidth) { - if (node.labelPosHorizontal == "left") { - pos.x += node.labelWidth / 2; - } else if (node.labelPosHorizontal == "right") { - pos.x -= node.labelWidth / 2; - } - } - if (node.labelHeight) { - if (node.labelPosVertical == "top") { - pos.y += node.labelHeight / 2; - } else if (node.labelPosVertical == "bottom") { - pos.y -= node.labelHeight / 2; - } - } - } - return { - x: pos.x, - y: pos.y - }; - } else { - var _pos = void 0; - spectralResult.forEach(function (result) { - var index = result.nodeIndexes.get(ele.id()); - if (index != undefined) { - _pos = { x: result.xCoords[index], y: result.yCoords[index] }; - } - }); - if (_pos == undefined) _pos = { x: ele.position("x"), y: ele.position("y") }; - return { - x: _pos.x, - y: _pos.y - }; - } - }; - - // quality = "draft" and randomize = false are contradictive so in that case positions don't change - if (options.quality == "default" || options.quality == "proof" || options.randomize) { - // transfer calculated positions to nodes (positions of only simple nodes are evaluated, compounds are positioned automatically) - options.eles = eles; - eles.nodes().not(":parent").layoutPositions(layout, options, getPositions); - } else { - console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'."); - } - } - }]); - - return Layout; - }(); - - module.exports = Layout; - - /***/ -}), - -/***/ 657: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - - - - /** - The implementation of the spectral layout that is the first part of the fcose layout algorithm - */ - - var aux = __webpack_require__(548); - var Matrix = __webpack_require__(281).layoutBase.Matrix; - var SVD = __webpack_require__(281).layoutBase.SVD; - - // main function that spectral layout is processed - var spectralLayout = function spectralLayout(options) { - - var cy = options.cy; - var eles = options.eles; - var nodes = eles.nodes(); - var parentNodes = eles.nodes(":parent"); - - var dummyNodes = new Map(); // map to keep dummy nodes and their neighbors - var nodeIndexes = new Map(); // map to keep indexes to nodes - var parentChildMap = new Map(); // mapping btw. compound and its representative node - var allNodesNeighborhood = []; // array to keep neighborhood of all nodes - var xCoords = []; - var yCoords = []; - - var samplesColumn = []; // sampled vertices - var minDistancesColumn = []; - var C = []; // column sampling matrix - var PHI = []; // intersection of column and row sampling matrices - var INV = []; // inverse of PHI - - var firstSample = void 0; // the first sampled node - var nodeSize = void 0; - - var infinity = 100000000; - var small = 0.000000001; - - var piTol = options.piTol; - var samplingType = options.samplingType; // false for random, true for greedy - var nodeSeparation = options.nodeSeparation; - var sampleSize = void 0; - - /**** Spectral-preprocessing functions ****/ - - /**** Spectral layout functions ****/ - - // determine which columns to be sampled - var randomSampleCR = function randomSampleCR() { - var sample = 0; - var count = 0; - var flag = false; - - while (count < sampleSize) { - sample = Math.floor(Math.random() * nodeSize); - - flag = false; - for (var i = 0; i < count; i++) { - if (samplesColumn[i] == sample) { - flag = true; - break; - } - } - - if (!flag) { - samplesColumn[count] = sample; - count++; - } else { - continue; - } - } - }; - - // takes the index of the node(pivot) to initiate BFS as a parameter - var BFS = function BFS(pivot, index, samplingMethod) { - var path = []; // the front of the path - var front = 0; // the back of the path - var back = 0; - var current = 0; - var temp = void 0; - var distance = []; - - var max_dist = 0; // the furthest node to be returned - var max_ind = 1; - - for (var i = 0; i < nodeSize; i++) { - distance[i] = infinity; - } - - path[back] = pivot; - distance[pivot] = 0; - - while (back >= front) { - current = path[front++]; - var neighbors = allNodesNeighborhood[current]; - for (var _i = 0; _i < neighbors.length; _i++) { - temp = nodeIndexes.get(neighbors[_i]); - if (distance[temp] == infinity) { - distance[temp] = distance[current] + 1; - path[++back] = temp; - } - } - C[current][index] = distance[current] * nodeSeparation; - } - - if (samplingMethod) { - for (var _i2 = 0; _i2 < nodeSize; _i2++) { - if (C[_i2][index] < minDistancesColumn[_i2]) minDistancesColumn[_i2] = C[_i2][index]; - } - - for (var _i3 = 0; _i3 < nodeSize; _i3++) { - if (minDistancesColumn[_i3] > max_dist) { - max_dist = minDistancesColumn[_i3]; - max_ind = _i3; - } - } - } - return max_ind; - }; - - // apply BFS to all nodes or selected samples - var allBFS = function allBFS(samplingMethod) { - - var sample = void 0; - - if (!samplingMethod) { - randomSampleCR(); - - // call BFS - for (var i = 0; i < sampleSize; i++) { - BFS(samplesColumn[i], i, samplingMethod, false); - } - } else { - sample = Math.floor(Math.random() * nodeSize); - firstSample = sample; - - for (var _i4 = 0; _i4 < nodeSize; _i4++) { - minDistancesColumn[_i4] = infinity; - } - - for (var _i5 = 0; _i5 < sampleSize; _i5++) { - samplesColumn[_i5] = sample; - sample = BFS(sample, _i5, samplingMethod); - } - } - - // form the squared distances for C - for (var _i6 = 0; _i6 < nodeSize; _i6++) { - for (var j = 0; j < sampleSize; j++) { - C[_i6][j] *= C[_i6][j]; - } - } - - // form PHI - for (var _i7 = 0; _i7 < sampleSize; _i7++) { - PHI[_i7] = []; - } - - for (var _i8 = 0; _i8 < sampleSize; _i8++) { - for (var _j = 0; _j < sampleSize; _j++) { - PHI[_i8][_j] = C[samplesColumn[_j]][_i8]; - } - } - }; - - // perform the SVD algorithm and apply a regularization step - var sample = function sample() { - - var SVDResult = SVD.svd(PHI); - - var a_q = SVDResult.S; - var a_u = SVDResult.U; - var a_v = SVDResult.V; - - var max_s = a_q[0] * a_q[0] * a_q[0]; - - var a_Sig = []; - - // regularization - for (var i = 0; i < sampleSize; i++) { - a_Sig[i] = []; - for (var j = 0; j < sampleSize; j++) { - a_Sig[i][j] = 0; - if (i == j) { - a_Sig[i][j] = a_q[i] / (a_q[i] * a_q[i] + max_s / (a_q[i] * a_q[i])); - } - } - } - - INV = Matrix.multMat(Matrix.multMat(a_v, a_Sig), Matrix.transpose(a_u)); - }; - - // calculate final coordinates - var powerIteration = function powerIteration() { - // two largest eigenvalues - var theta1 = void 0; - var theta2 = void 0; - - // initial guesses for eigenvectors - var Y1 = []; - var Y2 = []; - - var V1 = []; - var V2 = []; - - for (var i = 0; i < nodeSize; i++) { - Y1[i] = Math.random(); - Y2[i] = Math.random(); - } - - Y1 = Matrix.normalize(Y1); - Y2 = Matrix.normalize(Y2); - - var count = 0; - // to keep track of the improvement ratio in power iteration - var current = small; - var previous = small; - - var temp = void 0; - - while (true) { - count++; - - for (var _i9 = 0; _i9 < nodeSize; _i9++) { - V1[_i9] = Y1[_i9]; - } - - Y1 = Matrix.multGamma(Matrix.multL(Matrix.multGamma(V1), C, INV)); - theta1 = Matrix.dotProduct(V1, Y1); - Y1 = Matrix.normalize(Y1); - - current = Matrix.dotProduct(V1, Y1); - - temp = Math.abs(current / previous); - - if (temp <= 1 + piTol && temp >= 1) { - break; - } - - previous = current; - } - - for (var _i10 = 0; _i10 < nodeSize; _i10++) { - V1[_i10] = Y1[_i10]; - } - - count = 0; - previous = small; - while (true) { - count++; - - for (var _i11 = 0; _i11 < nodeSize; _i11++) { - V2[_i11] = Y2[_i11]; - } - - V2 = Matrix.minusOp(V2, Matrix.multCons(V1, Matrix.dotProduct(V1, V2))); - Y2 = Matrix.multGamma(Matrix.multL(Matrix.multGamma(V2), C, INV)); - theta2 = Matrix.dotProduct(V2, Y2); - Y2 = Matrix.normalize(Y2); - - current = Matrix.dotProduct(V2, Y2); - - temp = Math.abs(current / previous); - - if (temp <= 1 + piTol && temp >= 1) { - break; - } - - previous = current; - } - - for (var _i12 = 0; _i12 < nodeSize; _i12++) { - V2[_i12] = Y2[_i12]; - } - - // theta1 now contains dominant eigenvalue - // theta2 now contains the second-largest eigenvalue - // V1 now contains theta1's eigenvector - // V2 now contains theta2's eigenvector - - //populate the two vectors - xCoords = Matrix.multCons(V1, Math.sqrt(Math.abs(theta1))); - yCoords = Matrix.multCons(V2, Math.sqrt(Math.abs(theta2))); - }; - - /**** Preparation for spectral layout (Preprocessing) ****/ - - // connect disconnected components (first top level, then inside of each compound node) - aux.connectComponents(cy, eles, aux.getTopMostNodes(nodes), dummyNodes); - - parentNodes.forEach(function (ele) { - aux.connectComponents(cy, eles, aux.getTopMostNodes(ele.descendants().intersection(eles)), dummyNodes); - }); - - // assign indexes to nodes (first real, then dummy nodes) - var index = 0; - for (var i = 0; i < nodes.length; i++) { - if (!nodes[i].isParent()) { - nodeIndexes.set(nodes[i].id(), index++); - } - } - - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = dummyNodes.keys()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var key = _step.value; - - nodeIndexes.set(key, index++); - } - - // instantiate the neighborhood matrix - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - for (var _i13 = 0; _i13 < nodeIndexes.size; _i13++) { - allNodesNeighborhood[_i13] = []; - } - - // form a parent-child map to keep representative node of each compound node - parentNodes.forEach(function (ele) { - var children = ele.children().intersection(eles); - - // let random = 0; - while (children.nodes(":childless").length == 0) { - // random = Math.floor(Math.random() * children.nodes().length); // if all children are compound then proceed randomly - children = children.nodes()[0].children().intersection(eles); - } - // select the representative node - we can apply different methods here - // random = Math.floor(Math.random() * children.nodes(":childless").length); - var index = 0; - var min = children.nodes(":childless")[0].connectedEdges().length; - children.nodes(":childless").forEach(function (ele2, i) { - if (ele2.connectedEdges().length < min) { - min = ele2.connectedEdges().length; - index = i; - } - }); - parentChildMap.set(ele.id(), children.nodes(":childless")[index].id()); - }); - - // add neighborhood relations (first real, then dummy nodes) - nodes.forEach(function (ele) { - var eleIndex = void 0; - - if (ele.isParent()) eleIndex = nodeIndexes.get(parentChildMap.get(ele.id())); else eleIndex = nodeIndexes.get(ele.id()); - - ele.neighborhood().nodes().forEach(function (node) { - if (eles.intersection(ele.edgesWith(node)).length > 0) { - if (node.isParent()) allNodesNeighborhood[eleIndex].push(parentChildMap.get(node.id())); else allNodesNeighborhood[eleIndex].push(node.id()); - } - }); - }); - - var _loop = function _loop(_key) { - var eleIndex = nodeIndexes.get(_key); - var disconnectedId = void 0; - dummyNodes.get(_key).forEach(function (id) { - if (cy.getElementById(id).isParent()) disconnectedId = parentChildMap.get(id); else disconnectedId = id; - - allNodesNeighborhood[eleIndex].push(disconnectedId); - allNodesNeighborhood[nodeIndexes.get(disconnectedId)].push(_key); - }); - }; - - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = dummyNodes.keys()[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var _key = _step2.value; - - _loop(_key); - } - - // nodeSize now only considers the size of transformed graph - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - - nodeSize = nodeIndexes.size; - - var spectralResult = void 0; - - // If number of nodes in transformed graph is 1 or 2, either SVD or powerIteration causes problem - // So skip spectral and layout the graph with cose - if (nodeSize > 2) { - // if # of nodes in transformed graph is smaller than sample size, - // then use # of nodes as sample size - sampleSize = nodeSize < options.sampleSize ? nodeSize : options.sampleSize; - - // instantiates the partial matrices that will be used in spectral layout - for (var _i14 = 0; _i14 < nodeSize; _i14++) { - C[_i14] = []; - } - for (var _i15 = 0; _i15 < sampleSize; _i15++) { - INV[_i15] = []; - } - - /**** Apply spectral layout ****/ - - if (options.quality == "draft" || options.step == "all") { - allBFS(samplingType); - sample(); - powerIteration(); - - spectralResult = { nodeIndexes: nodeIndexes, xCoords: xCoords, yCoords: yCoords }; - } else { - nodeIndexes.forEach(function (value, key) { - xCoords.push(cy.getElementById(key).position("x")); - yCoords.push(cy.getElementById(key).position("y")); - }); - spectralResult = { nodeIndexes: nodeIndexes, xCoords: xCoords, yCoords: yCoords }; - } - return spectralResult; - } else { - var iterator = nodeIndexes.keys(); - var firstNode = cy.getElementById(iterator.next().value); - var firstNodePos = firstNode.position(); - var firstNodeWidth = firstNode.outerWidth(); - xCoords.push(firstNodePos.x); - yCoords.push(firstNodePos.y); - if (nodeSize == 2) { - var secondNode = cy.getElementById(iterator.next().value); - var secondNodeWidth = secondNode.outerWidth(); - xCoords.push(firstNodePos.x + firstNodeWidth / 2 + secondNodeWidth / 2 + options.idealEdgeLength); - yCoords.push(firstNodePos.y); - } - - spectralResult = { nodeIndexes: nodeIndexes, xCoords: xCoords, yCoords: yCoords }; - return spectralResult; - } - }; - - module.exports = { spectralLayout: spectralLayout }; - - /***/ -}), - -/***/ 579: -/***/ ((module, __unused_webpack_exports, __webpack_require__) => { - - - - var impl = __webpack_require__(212); - - // registers the extension on a cytoscape lib ref - var register = function register(cytoscape) { - if (!cytoscape) { - return; - } // can't register if cytoscape unspecified - - cytoscape('layout', 'fcose', impl); // register with cytoscape.js - }; - - if (typeof cytoscape !== 'undefined') { - // expose to global cytoscape (i.e. window.cytoscape) - register(cytoscape); - } - - module.exports = register; - - /***/ -}), - -/***/ 281: -/***/ ((module) => { - - module.exports = __WEBPACK_EXTERNAL_MODULE__281__; - - /***/ -}) - - /******/ -}); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; - /******/ -} -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} - /******/ -}; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; - /******/ -} -/******/ -/************************************************************************/ -/******/ -/******/ // startup -/******/ // Load entry module and return exports -/******/ // This entry module is referenced by other modules so it can't be inlined -/******/ var __webpack_exports__ = __webpack_require__(579); -/******/ -/******/ return __webpack_exports__; - /******/ -})() - ; -}); \ No newline at end of file diff --git a/modules/analyze/html/external/cytoscape-popper.js b/modules/analyze/html/external/cytoscape-popper.js deleted file mode 100644 index 82d0f3a..0000000 --- a/modules/analyze/html/external/cytoscape-popper.js +++ /dev/null @@ -1,394 +0,0 @@ -(function webpackUniversalModuleDefinition(root, factory) { - if(typeof exports === 'object' && typeof module === 'object') - module.exports = factory(require("@popperjs/core")); - else if(typeof define === 'function' && define.amd) - define(["@popperjs/core"], factory); - else if(typeof exports === 'object') - exports["cytoscapePopper"] = factory(require("@popperjs/core")); - else - root["cytoscapePopper"] = factory(root["Popper"]); -})(this, function(__WEBPACK_EXTERNAL_MODULE_8__) { -return /******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // identity function for calling harmony imports with the correct context -/******/ __webpack_require__.i = function(value) { return value; }; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 7); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// Simple, internal Object.assign() polyfill for options objects etc. - -module.exports = Object.assign != null ? Object.assign.bind(Object) : function (tgt) { - for (var _len = arguments.length, srcs = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - srcs[_key - 1] = arguments[_key]; - } - - srcs.forEach(function (src) { - if (src !== null && src !== undefined) { - Object.keys(src).forEach(function (k) { - return tgt[k] = src[k]; - }); - } - }); - - return tgt; -}; - -/***/ }), -/* 1 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _require = __webpack_require__(5), - getBoundingBox = _require.getBoundingBox; - -// Create a popper virtual element (aka popper v1 reference object) -// https://popper.js.org/docs/v2/virtual-elements/ - - -function getRef(target, opts) { - - //Define popper reference object and cy reference object - var refObject = { - getBoundingClientRect: function getBoundingClientRect() { - return getBoundingBox(target, opts); - } - }; - - return refObject; -} - -module.exports = { getRef: getRef }; - -/***/ }), -/* 2 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var assign = __webpack_require__(0); - -var _require = __webpack_require__(1), - getRef = _require.getRef; - -var _require2 = __webpack_require__(6), - getContent = _require2.getContent; - -var popperDefaults = {}; - -var _require3 = __webpack_require__(8), - createPopper = _require3.createPopper; - -// Create a new popper object for a core or element target - - -function getPopper(target, opts) { - var refObject = getRef(target, opts); - var content = getContent(target, opts.content); - var popperOpts = assign({}, popperDefaults, opts.popper); - - return createPopper(refObject, content, popperOpts); -} - -module.exports = { getPopper: getPopper }; - -/***/ }), -/* 3 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var assign = __webpack_require__(0); - -var _require = __webpack_require__(2), - getPopper = _require.getPopper; - -var _require2 = __webpack_require__(1), - getRef = _require2.getRef; - -function popper(opts) { - checkForWarning(this); - - return getPopper(this[0], createOptionsObject(this[0], opts)); -} - -function popperRef(opts) { - checkForWarning(this); - - return getRef(this[0], createOptionsObject(this[0], opts)); -} - -function createOptionsObject(target, opts) { - var renderedDimensions = function renderedDimensions(el) { - return el.isNode() ? { w: el.renderedWidth(), h: el.renderedHeight() } : { w: 3, h: 3 }; - }; - var renderedPosition = function renderedPosition(el) { - return el.isNode() ? getRenderedCenter(el, renderedDimensions) : getRenderedMidpoint(el); - }; - var popper = {}; - var cy = target.cy(); - - var defaults = { renderedDimensions: renderedDimensions, renderedPosition: renderedPosition, popper: popper, cy: cy }; - - return assign({}, defaults, opts); -} - -//Get the rendered center -function getRenderedCenter(target, renderedDimensions) { - var pos = target.renderedPosition(); - var dimensions = renderedDimensions(target); - var offsetX = dimensions.w / 2; - var offsetY = dimensions.h / 2; - - return { - x: pos.x - offsetX, - y: pos.y - offsetY - }; -} - -//Get the rendered position of the midpoint -function getRenderedMidpoint(target) { - var p = target.midpoint(); - var pan = target.cy().pan(); - var zoom = target.cy().zoom(); - - return { - x: p.x * zoom + pan.x, - y: p.y * zoom + pan.y - }; -} - -//Warn user about misuse of the plugin -function checkForWarning(elements) { - /* eslint-disable no-console */ - - //Popper.js Should only be used on 1 element - if (elements.length > 1) { - console.warn("Popper.js Extension should only be used on one element."); - console.warn("Ignoring all subsequent elements"); - } - - /* eslint-enable */ -} - -module.exports = { popper: popper, popperRef: popperRef }; - -/***/ }), -/* 4 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var assign = __webpack_require__(0); - -var _require = __webpack_require__(2), - getPopper = _require.getPopper; - -var _require2 = __webpack_require__(1), - getRef = _require2.getRef; - -function popper(opts) { - return getPopper(this, createOptionsObject(this, opts)); -} - -function popperRef(opts) { - return getRef(this, createOptionsObject(this, opts)); -} - -//Create a options object with required default values -function createOptionsObject(target, opts) { - var defaults = { - boundingBox: { - top: 0, - left: 0, - right: 0, - bottom: 0, - w: 3, - h: 3 - }, - renderedDimensions: function renderedDimensions() { - return { w: 3, h: 3 }; - }, - renderedPosition: function renderedPosition() { - return { x: 0, y: 0 }; - }, - popper: {}, - cy: target - }; - - return assign({}, defaults, opts); -} - -module.exports = { popper: popper, popperRef: popperRef }; - -/***/ }), -/* 5 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -function getBoundingBox(target, opts) { - var renderedPosition = opts.renderedPosition, - cy = opts.cy, - renderedDimensions = opts.renderedDimensions; - - var offset = cy.container().getBoundingClientRect(); - var dims = renderedDimensions(target); - var pos = renderedPosition(target); - - return { - top: pos.y + offset.top, - left: pos.x + offset.left, - right: pos.x + dims.w + offset.left, - bottom: pos.y + dims.h + offset.top, - width: dims.w, - height: dims.h - }; -} - -module.exports = { getBoundingBox: getBoundingBox }; - -/***/ }), -/* 6 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -function getContent(target, content) { - var contentObject = null; - - if (typeof content === "function") { - //Execute function if user opted for a dyanamic target - contentObject = content(target); - } else if (content instanceof HTMLElement) { - //Target option is an HTML element - return content; - } else { - throw new Error("Can not create popper from 'target' with unknown type"); - } - - // Check validity of parsed target - if (contentObject === null) { - throw new Error("No 'target' specified to create popper"); - } else { - return contentObject; - } -} - -module.exports = { getContent: getContent }; - -/***/ }), -/* 7 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/* global cytoscape */ - -var coreImpl = __webpack_require__(4); -var collectionImpl = __webpack_require__(3); - -// registers the extension on a cytoscape lib ref -var register = function register(cytoscape) { - if (!cytoscape) { - return; - } // can't register if cytoscape unspecified - - // register with cytoscape.js - cytoscape('core', 'popper', coreImpl.popper); //Cytoscape Core - cytoscape('collection', 'popper', collectionImpl.popper); //Cytoscape Collections - cytoscape('core', 'popperRef', coreImpl.popperRef); //Cytoscape Core for References - cytoscape('collection', 'popperRef', collectionImpl.popperRef); //Cytoscape Collections for References -}; - -if (typeof cytoscape !== 'undefined') { - // expose to global cytoscape (i.e. window.cytoscape) - register(cytoscape); -} - -module.exports = register; - -/***/ }), -/* 8 */ -/***/ (function(module, exports) { - -module.exports = __WEBPACK_EXTERNAL_MODULE_8__; - -/***/ }) -/******/ ]); -}); \ No newline at end of file diff --git a/modules/analyze/html/external/cytoscape.min.js b/modules/analyze/html/external/cytoscape.min.js deleted file mode 100644 index 24b82e8..0000000 --- a/modules/analyze/html/external/cytoscape.min.js +++ /dev/null @@ -1,32 +0,0 @@ -/** - * Copyright (c) 2016-2023, The Cytoscape Consortium. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the “Software”), to deal in - * the Software without restriction, including without limitation the rights to - * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies - * of the Software, and to permit persons to whom the Software is furnished to do - * so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).cytoscape=t()}(this,(function(){"use strict";function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(t)}function t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);nt?1:0},I=null!=Object.assign?Object.assign.bind(Object):function(e){for(var t=arguments,n=1;n255)return;t.push(Math.floor(a))}var o=r[1]||r[2]||r[3],s=r[1]&&r[2]&&r[3];if(o&&!s)return;var l=n[4];if(void 0!==l){if((l=parseFloat(l))<0||l>1)return;t.push(l)}}return t}(e)||function(e){var t,n,r,i,a,o,s,l;function u(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}var c=new RegExp("^hsl[a]?\\(((?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?)))\\s*,\\s*((?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%])\\s*,\\s*((?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))[%])(?:\\s*,\\s*((?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))))?\\)$").exec(e);if(c){if((n=parseInt(c[1]))<0?n=(360- -1*n%360)%360:n>360&&(n%=360),n/=360,(r=parseFloat(c[2]))<0||r>100)return;if(r/=100,(i=parseFloat(c[3]))<0||i>100)return;if(i/=100,void 0!==(a=c[4])&&((a=parseFloat(a))<0||a>1))return;if(0===r)o=s=l=Math.round(255*i);else{var d=i<.5?i*(1+r):i+r-i*r,h=2*i-d;o=Math.round(255*u(h,d,n+1/3)),s=Math.round(255*u(h,d,n)),l=Math.round(255*u(h,d,n-1/3))}t=[o,s,l,a]}return t}(e)},L={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},O=function(e){for(var t=e.map,n=e.keys,r=n.length,i=0;i=t||n<0||d&&e-u>=a}function v(){var e=X();if(g(e))return y(e);s=setTimeout(v,function(e){var n=t-(e-l);return d?pe(n,a-(e-u)):n}(e))}function y(e){return s=void 0,h&&r?p(e):(r=i=void 0,o)}function m(){var e=X(),n=g(e);if(r=arguments,i=this,l=e,n){if(void 0===s)return f(l);if(d)return clearTimeout(s),s=setTimeout(v,t),p(l)}return void 0===s&&(s=setTimeout(v,t)),o}return t=de(t)||0,V(n)&&(c=!!n.leading,a=(d="maxWait"in n)?he(de(n.maxWait)||0,t):a,h="trailing"in n?!!n.trailing:h),m.cancel=function(){void 0!==s&&clearTimeout(s),u=0,r=l=i=s=void 0},m.flush=function(){return void 0===s?o:y(X())},m},ge=s?s.performance:null,ve=ge&&ge.now?function(){return ge.now()}:function(){return Date.now()},ye=function(){if(s){if(s.requestAnimationFrame)return function(e){s.requestAnimationFrame(e)};if(s.mozRequestAnimationFrame)return function(e){s.mozRequestAnimationFrame(e)};if(s.webkitRequestAnimationFrame)return function(e){s.webkitRequestAnimationFrame(e)};if(s.msRequestAnimationFrame)return function(e){s.msRequestAnimationFrame(e)}}return function(e){e&&setTimeout((function(){e(ve())}),1e3/60)}}(),me=function(e){return ye(e)},be=ve,xe=65599,we=function(e){for(var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9261,r=n;!(t=e.next()).done;)r=r*xe+t.value|0;return r},Ee=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9261;return t*xe+e|0},ke=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5381;return(t<<5)+t+e|0},Ce=function(e){return 2097152*e[0]+e[1]},Se=function(e,t){return[Ee(e[0],t[0]),ke(e[1],t[1])]},Pe=function(e,t){var n={value:0,done:!1},r=0,i=e.length;return we({next:function(){return r=0&&(e[r]!==t||(e.splice(r,1),!n));r--);},He=function(e){e.splice(0,e.length)},Ke=function(e,t,n){return n&&(t=M(n,t)),e[t]},Ge=function(e,t,n,r){n&&(t=M(n,t)),e[t]=r},Ue="undefined"!=typeof Map?Map:function(){function e(){t(this,e),this._obj={}}return r(e,[{key:"set",value:function(e,t){return this._obj[e]=t,this}},{key:"delete",value:function(e){return this._obj[e]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(e){return void 0!==this._obj[e]}},{key:"get",value:function(e){return this._obj[e]}}]),e}(),Ze=function(){function e(n){if(t(this,e),this._obj=Object.create(null),this.size=0,null!=n){var r;r=null!=n.instanceString&&n.instanceString()===this.instanceString()?n.toArray():n;for(var i=0;i2&&void 0!==arguments[2])||arguments[2];if(void 0!==e&&void 0!==t&&k(e)){var r=t.group;if(null==r&&(r=t.data&&null!=t.data.source&&null!=t.data.target?"edges":"nodes"),"nodes"===r||"edges"===r){this.length=1,this[0]=this;var i=this._private={cy:e,single:!0,data:t.data||{},position:t.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:r,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!t.selected,selectable:void 0===t.selectable||!!t.selectable,locked:!!t.locked,grabbed:!1,grabbable:void 0===t.grabbable||!!t.grabbable,pannable:void 0===t.pannable?"edges"===r:!!t.pannable,active:!1,classes:new $e,animation:{current:[],queue:[]},rscratch:{},scratch:t.scratch||{},edges:[],children:[],parent:t.parent&&t.parent.isNode()?t.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(null==i.position.x&&(i.position.x=0),null==i.position.y&&(i.position.y=0),t.renderedPosition){var a=t.renderedPosition,o=e.pan(),s=e.zoom();i.position={x:(a.x-o.x)/s,y:(a.y-o.y)/s}}var l=[];v(t.classes)?l=t.classes:f(t.classes)&&(l=t.classes.split(/\s+/));for(var u=0,c=l.length;ut?1:0},u=function(e,t,i,a,o){var s;if(null==i&&(i=0),null==o&&(o=n),i<0)throw new Error("lo must be non-negative");for(null==a&&(a=e.length);in;0<=n?t++:t--)u.push(t);return u}.apply(this).reverse()).length;ag;0<=g?++h:--h)v.push(a(e,r));return v},f=function(e,t,r,i){var a,o,s;for(null==i&&(i=n),a=e[r];r>t&&i(a,o=e[s=r-1>>1])<0;)e[r]=o,r=s;return e[r]=a},g=function(e,t,r){var i,a,o,s,l;for(null==r&&(r=n),a=e.length,l=t,o=e[t],i=2*t+1;i0;){var k=b.pop(),C=v(k),S=k.id();if(d[S]=C,C!==1/0)for(var P=k.neighborhood().intersect(p),D=0;D0)for(n.unshift(t);c[i];){var a=c[i];n.unshift(a.edge),n.unshift(a.node),i=(r=a.node).id()}return o.spawn(n)}}}},it={kruskal:function(e){e=e||function(e){return 1};for(var t=this.byGroup(),n=t.nodes,r=t.edges,i=n.length,a=new Array(i),o=n,s=function(e){for(var t=0;t0;){if(l=g.pop(),u=l.id(),v.delete(u),w++,u===d){for(var E=[],k=i,C=d,S=m[C];E.unshift(k),null!=S&&E.unshift(S),null!=(k=y[C]);)S=m[C=k.id()];return{found:!0,distance:h[u],path:this.spawn(E),steps:w}}f[u]=!0;for(var P=l._private.edges,D=0;DD&&(p[P]=D,m[P]=S,b[P]=w),!i){var T=S*u+C;!i&&p[T]>D&&(p[T]=D,m[T]=C,b[T]=w)}}}for(var _=0;_1&&void 0!==arguments[1]?arguments[1]:a,r=b(e),i=[],o=r;;){if(null==o)return t.spawn();var l=m(o),u=l.edge,c=l.pred;if(i.unshift(o[0]),o.same(n)&&i.length>0)break;null!=u&&i.unshift(u),o=c}return s.spawn(i)},hasNegativeWeightCycle:g,negativeWeightCycles:v}}},dt=Math.sqrt(2),ht=function(e,t,n){0===n.length&&Oe("Karger-Stein must be run on a connected (sub)graph");for(var r=n[e],i=r[1],a=r[2],o=t[i],s=t[a],l=n,u=l.length-1;u>=0;u--){var c=l[u],d=c[1],h=c[2];(t[d]===o&&t[h]===s||t[d]===s&&t[h]===o)&&l.splice(u,1)}for(var p=0;pr;){var i=Math.floor(Math.random()*t.length);t=ht(i,e,t),n--}return t},ft={kargerStein:function(){var e=this,t=this.byGroup(),n=t.nodes,r=t.edges;r.unmergeBy((function(e){return e.isLoop()}));var i=n.length,a=r.length,o=Math.ceil(Math.pow(Math.log(i)/Math.LN2,2)),s=Math.floor(i/dt);if(!(i<2)){for(var l=[],u=0;u0?1:e<0?-1:0},wt=function(e,t){return Math.sqrt(Et(e,t))},Et=function(e,t){var n=t.x-e.x,r=t.y-e.y;return n*n+r*r},kt=function(e){for(var t=e.length,n=0,r=0;r=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(null!=e.w&&null!=e.h&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},Tt=function(e,t,n){e.x1=Math.min(e.x1,t),e.x2=Math.max(e.x2,t),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},_t=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e.x1-=t,e.x2+=t,e.y1-=t,e.y2+=t,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},Mt=function(e){var t,n,r,i,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[0];if(1===o.length)t=n=r=i=o[0];else if(2===o.length)t=r=o[0],i=n=o[1];else if(4===o.length){var s=a(o,4);t=s[0],n=s[1],r=s[2],i=s[3]}return e.x1-=i,e.x2+=n,e.y1-=t,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},Bt=function(e,t){e.x1=t.x1,e.y1=t.y1,e.x2=t.x2,e.y2=t.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},Nt=function(e,t){return!(e.x1>t.x2)&&(!(t.x1>e.x2)&&(!(e.x2t.y2)&&!(t.y1>e.y2)))))))},zt=function(e,t,n){return e.x1<=t&&t<=e.x2&&e.y1<=n&&n<=e.y2},It=function(e,t){return zt(e,t.x1,t.y1)&&zt(e,t.x2,t.y2)},At=function(e,t,n,r,i,a,o){var s,l=Jt(i,a),u=i/2,c=a/2,d=r-c-o;if((s=Kt(e,t,n,r,n-u+l-o,d,n+u-l+o,d,!1)).length>0)return s;var h=n+u+o;if((s=Kt(e,t,n,r,h,r-c+l-o,h,r+c-l+o,!1)).length>0)return s;var p=r+c+o;if((s=Kt(e,t,n,r,n-u+l-o,p,n+u-l+o,p,!1)).length>0)return s;var f,g=n-u-o;if((s=Kt(e,t,n,r,g,r-c+l-o,g,r+c-l+o,!1)).length>0)return s;var v=n-u+l,y=r-c+l;if((f=Wt(e,t,n,r,v,y,l+o)).length>0&&f[0]<=v&&f[1]<=y)return[f[0],f[1]];var m=n+u-l,b=r-c+l;if((f=Wt(e,t,n,r,m,b,l+o)).length>0&&f[0]>=m&&f[1]<=b)return[f[0],f[1]];var x=n+u-l,w=r+c-l;if((f=Wt(e,t,n,r,x,w,l+o)).length>0&&f[0]>=x&&f[1]>=w)return[f[0],f[1]];var E=n-u+l,k=r+c-l;return(f=Wt(e,t,n,r,E,k,l+o)).length>0&&f[0]<=E&&f[1]>=k?[f[0],f[1]]:[]},Lt=function(e,t,n,r,i,a,o){var s=o,l=Math.min(n,i),u=Math.max(n,i),c=Math.min(r,a),d=Math.max(r,a);return l-s<=e&&e<=u+s&&c-s<=t&&t<=d+s},Ot=function(e,t,n,r,i,a,o,s,l){var u=Math.min(n,o,i)-l,c=Math.max(n,o,i)+l,d=Math.min(r,s,a)-l,h=Math.max(r,s,a)+l;return!(ec||th)},Rt=function(e,t,n,r,i,a,o,s){var l=[];!function(e,t,n,r,i){var a,o,s,l,u,c,d,h;0===e&&(e=1e-5),s=-27*(r/=e)+(t/=e)*(9*(n/=e)-t*t*2),a=(o=(3*n-t*t)/9)*o*o+(s/=54)*s,i[1]=0,d=t/3,a>0?(u=(u=s+Math.sqrt(a))<0?-Math.pow(-u,1/3):Math.pow(u,1/3),c=(c=s-Math.sqrt(a))<0?-Math.pow(-c,1/3):Math.pow(c,1/3),i[0]=-d+u+c,d+=(u+c)/2,i[4]=i[2]=-d,d=Math.sqrt(3)*(-c+u)/2,i[3]=d,i[5]=-d):(i[5]=i[3]=0,0===a?(h=s<0?-Math.pow(-s,1/3):Math.pow(s,1/3),i[0]=2*h-d,i[4]=i[2]=-(h+d)):(l=(o=-o)*o*o,l=Math.acos(s/Math.sqrt(l)),h=2*Math.sqrt(o),i[0]=-d+h*Math.cos(l/3),i[2]=-d+h*Math.cos((l+2*Math.PI)/3),i[4]=-d+h*Math.cos((l+4*Math.PI)/3)))}(1*n*n-4*n*i+2*n*o+4*i*i-4*i*o+o*o+r*r-4*r*a+2*r*s+4*a*a-4*a*s+s*s,9*n*i-3*n*n-3*n*o-6*i*i+3*i*o+9*r*a-3*r*r-3*r*s-6*a*a+3*a*s,3*n*n-6*n*i+n*o-n*e+2*i*i+2*i*e-o*e+3*r*r-6*r*a+r*s-r*t+2*a*a+2*a*t-s*t,1*n*i-n*n+n*e-i*e+r*a-r*r+r*t-a*t,l);for(var u=[],c=0;c<6;c+=2)Math.abs(l[c+1])<1e-7&&l[c]>=0&&l[c]<=1&&u.push(l[c]);u.push(1),u.push(0);for(var d,h,p,f=-1,g=0;g=0?pl?(e-i)*(e-i)+(t-a)*(t-a):u-d},Ft=function(e,t,n){for(var r,i,a,o,s=0,l=0;l=e&&e>=a||r<=e&&e<=a))continue;(e-r)/(a-r)*(o-i)+i>t&&s++}return s%2!=0},jt=function(e,t,n,r,i,a,o,s,l){var u,c=new Array(n.length);null!=s[0]?(u=Math.atan(s[1]/s[0]),s[0]<0?u+=Math.PI/2:u=-u-Math.PI/2):u=s;for(var d,h=Math.cos(-u),p=Math.sin(-u),f=0;f0){var g=Yt(c,-l);d=qt(g)}else d=c;return Ft(e,t,d)},qt=function(e){for(var t,n,r,i,a,o,s,l,u=new Array(e.length/2),c=0;c=0&&f<=1&&v.push(f),g>=0&&g<=1&&v.push(g),0===v.length)return[];var y=v[0]*s[0]+e,m=v[0]*s[1]+t;return v.length>1?v[0]==v[1]?[y,m]:[y,m,v[1]*s[0]+e,v[1]*s[1]+t]:[y,m]},Ht=function(e,t,n){return t<=e&&e<=n||n<=e&&e<=t?e:e<=t&&t<=n||n<=t&&t<=e?t:n},Kt=function(e,t,n,r,i,a,o,s,l){var u=e-i,c=n-e,d=o-i,h=t-a,p=r-t,f=s-a,g=d*h-f*u,v=c*h-p*u,y=f*c-d*p;if(0!==y){var m=g/y,b=v/y;return-.001<=m&&m<=1.001&&-.001<=b&&b<=1.001||l?[e+m*c,t+m*p]:[]}return 0===g||0===v?Ht(e,n,o)===o?[o,s]:Ht(e,n,i)===i?[i,a]:Ht(i,o,n)===n?[n,r]:[]:[]},Gt=function(e,t,n,r,i,a,o,s){var l,u,c,d,h,p,f=[],g=new Array(n.length),v=!0;if(null==a&&(v=!1),v){for(var y=0;y0){var m=Yt(g,-s);u=qt(m)}else u=g}else u=n;for(var b=0;bu&&(u=t)},d=function(e){return l[e]},h=0;h0?b.edgesTo(m)[0]:m.edgesTo(b)[0];var w=r(x);m=m.id(),h[m]>h[v]+w&&(h[m]=h[v]+w,p.nodes.indexOf(m)<0?p.push(m):p.updateItem(m),u[m]=0,l[m]=[]),h[m]==h[v]+w&&(u[m]=u[m]+u[v],l[m].push(v))}else for(var E=0;E0;){for(var P=n.pop(),D=0;D0&&o.push(n[s]);0!==o.length&&i.push(r.collection(o))}return i}(c,l,t,r);return b=function(e){for(var t=0;t5&&void 0!==arguments[5]?arguments[5]:wn,o=r,s=0;s=2?Dn(e,t,n,0,Cn,Sn):Dn(e,t,n,0,kn)},squaredEuclidean:function(e,t,n){return Dn(e,t,n,0,Cn)},manhattan:function(e,t,n){return Dn(e,t,n,0,kn)},max:function(e,t,n){return Dn(e,t,n,-1/0,Pn)}};function _n(e,t,n,r,i,a){var o;return o=g(e)?e:Tn[e]||Tn.euclidean,0===t&&g(e)?o(i,a):o(t,n,r,i,a)}Tn["squared-euclidean"]=Tn.squaredEuclidean,Tn.squaredeuclidean=Tn.squaredEuclidean;var Mn=Xe({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),Bn=function(e){return Mn(e)},Nn=function(e,t,n,r,i){var a="kMedoids"!==i?function(e){return n[e]}:function(e){return r[e](n)},o=n,s=t;return _n(e,r.length,a,(function(e){return r[e](t)}),o,s)},zn=function(e,t,n){for(var r=n.length,i=new Array(r),a=new Array(r),o=new Array(t),s=null,l=0;ln)return!1}return!0},On=function(e,t,n){for(var r=0;ri&&(i=t[l][u],a=u);o[a].push(e[l])}for(var c=0;c=i.threshold||"dendrogram"===i.mode&&1===e.length)return!1;var p,f=t[o],g=t[r[o]];p="dendrogram"===i.mode?{left:f,right:g,key:f.key}:{value:f.value.concat(g.value),key:f.key},e[f.index]=p,e.splice(g.index,1),t[f.key]=p;for(var v=0;vn[g.key][y.key]&&(a=n[g.key][y.key])):"max"===i.linkage?(a=n[f.key][y.key],n[f.key][y.key]1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5];r?e=e.slice(t,n):(n0&&e.splice(0,t));for(var o=0,s=e.length-1;s>=0;s--){var l=e[s];a?isFinite(l)||(e[s]=-1/0,o++):e.splice(s,1)}i&&e.sort((function(e,t){return e-t}));var u=e.length,c=Math.floor(u/2);return u%2!=0?e[c+1+o]:(e[c-1+o]+e[c+o])/2}(e):"mean"===t?function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=0,i=0,a=t;a1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=1/0,i=t;i1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=-1/0,i=t;io&&(a=l,o=t[i*e+l])}a>0&&r.push(a)}for(var u=0;u=D?(T=D,D=M,_=B):M>T&&(T=M);for(var N=0;N0?1:0;C[k%u.minIterations*t+R]=V,O+=V}if(O>0&&(k>=u.minIterations-1||k==u.maxIterations-1)){for(var F=0,j=0;j0&&r.push(i);return r}(t,a,o),X=function(e,t,n){for(var r=Jn(e,t,n),i=0;il&&(s=u,l=c)}n[i]=a[s]}return r=Jn(e,t,n)}(t,r,Y),W={},H=0;H1)}}));var l=Object.keys(t).filter((function(e){return t[e].cutVertex})).map((function(t){return e.getElementById(t)}));return{cut:e.spawn(l),components:i}},ir=function(){var e=this,t={},n=0,r=[],i=[],a=e.spawn(e);return e.forEach((function(o){if(o.isNode()){var s=o.id();s in t||function o(s){if(i.push(s),t[s]={index:n,low:n++,explored:!1},e.getElementById(s).connectedEdges().intersection(e).forEach((function(e){var n=e.target().id();n!==s&&(n in t||o(n),t[n].explored||(t[s].low=Math.min(t[s].low,t[n].low)))})),t[s].index===t[s].low){for(var l=e.spawn();;){var u=i.pop();if(l.merge(e.getElementById(u)),t[u].low=t[s].index,t[u].explored=!0,u===s)break}var c=l.edgesWith(l),d=l.merge(c);r.push(d),a=a.difference(d)}}(s)}})),{cut:a,components:r}},ar={};[et,rt,it,ot,lt,ct,ft,rn,on,ln,cn,xn,Yn,Un,tr,{hierholzer:function(e){if(!y(e)){var t=arguments;e={root:t[0],directed:t[1]}}var n,r,i,a=nr(e),o=a.root,s=a.directed,l=this,u=!1;o&&(i=f(o)?this.filter(o)[0].id():o[0].id());var c={},d={};s?l.forEach((function(e){var t=e.id();if(e.isNode()){var i=e.indegree(!0),a=e.outdegree(!0),o=i-a,s=a-i;1==o?n?u=!0:n=t:1==s?r?u=!0:r=t:(s>1||o>1)&&(u=!0),c[t]=[],e.outgoers().forEach((function(e){e.isEdge()&&c[t].push(e.id())}))}else d[t]=[void 0,e.target().id()]})):l.forEach((function(e){var t=e.id();e.isNode()?(e.degree(!0)%2&&(n?r?u=!0:r=t:n=t),c[t]=[],e.connectedEdges().forEach((function(e){return c[t].push(e.id())}))):d[t]=[e.source().id(),e.target().id()]}));var h={found:!1,trail:void 0};if(u)return h;if(r&&n)if(s){if(i&&r!=i)return h;i=r}else{if(i&&r!=i&&n!=i)return h;i||(i=r)}else i||(i=l[0].id());var p=function(e){for(var t,n,r,i=e,a=[e];c[i].length;)t=c[i].shift(),n=d[t][0],i!=(r=d[t][1])?(c[r]=c[r].filter((function(e){return e!=t})),i=r):s||i==n||(c[n]=c[n].filter((function(e){return e!=t})),i=n),a.unshift(t),a.unshift(i);return a},g=[],v=[];for(v=p(i);1!=v.length;)0==c[v[0]].length?(g.unshift(l.getElementById(v.shift())),g.unshift(l.getElementById(v.shift()))):v=p(v.shift()).concat(v);for(var m in g.unshift(l.getElementById(v.shift())),c)if(c[m].length)return h;return h.found=!0,h.trail=this.spawn(g,!0),h}},{hopcroftTarjanBiconnected:rr,htbc:rr,htb:rr,hopcroftTarjanBiconnectedComponents:rr},{tarjanStronglyConnected:ir,tsc:ir,tscc:ir,tarjanStronglyConnectedComponents:ir}].forEach((function(e){I(ar,e)})); -/*! - Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable - Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com) - Licensed under The MIT License (http://opensource.org/licenses/MIT) - */ -var or=function e(t){if(!(this instanceof e))return new e(t);this.id="Thenable/1.0.7",this.state=0,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},"function"==typeof t&&t.call(this,this.fulfill.bind(this),this.reject.bind(this))};or.prototype={fulfill:function(e){return sr(this,1,"fulfillValue",e)},reject:function(e){return sr(this,2,"rejectReason",e)},then:function(e,t){var n=new or;return this.onFulfilled.push(cr(e,n,"fulfill")),this.onRejected.push(cr(t,n,"reject")),lr(this),n.proxy}};var sr=function(e,t,n,r){return 0===e.state&&(e.state=t,e[n]=r,lr(e)),e},lr=function(e){1===e.state?ur(e,"onFulfilled",e.fulfillValue):2===e.state&&ur(e,"onRejected",e.rejectReason)},ur=function(e,t,n){if(0!==e[t].length){var r=e[t];e[t]=[];var i=function(){for(var e=0;e0:void 0}},clearQueue:function(){return function(){var e=void 0!==this.length?this:[this];if(!(this._private.cy||this).styleEnabled())return this;for(var t=0;t-1};var Jr=function(e,t){var n=this.__data__,r=Gr(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this};function ei(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1&&e%1==0&&e0&&this.spawn(n).updateStyle().emit("class"),this},addClass:function(e){return this.toggleClass(e,!0)},hasClass:function(e){var t=this[0];return null!=t&&t._private.classes.has(e)},toggleClass:function(e,t){v(e)||(e=e.match(/\S+/g)||[]);for(var n=void 0===t,r=[],i=0,a=this.length;i0&&this.spawn(r).updateStyle().emit("class"),this},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,t){var n=this;if(null==t)t=250;else if(0===t)return n;return n.addClass(e),setTimeout((function(){n.removeClass(e)}),t),n}};Ri.className=Ri.classNames=Ri.classes;var Vi={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:"\"(?:\\\\\"|[^\"])*\"|'(?:\\\\'|[^'])*'",number:N,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};Vi.variable="(?:[\\w-.]|(?:\\\\"+Vi.metaChar+"))+",Vi.className="(?:[\\w-]|(?:\\\\"+Vi.metaChar+"))+",Vi.value=Vi.string+"|"+Vi.number,Vi.id=Vi.variable,function(){var e,t,n;for(e=Vi.comparatorOp.split("|"),n=0;n=0||"="!==t&&(Vi.comparatorOp+="|\\!"+t)}();var Fi=0,ji=1,qi=2,Yi=3,Xi=4,Wi=5,Hi=6,Ki=7,Gi=8,Ui=9,Zi=10,$i=11,Qi=12,Ji=13,ea=14,ta=15,na=16,ra=17,ia=18,aa=19,oa=20,sa=[{selector:":selected",matches:function(e){return e.selected()}},{selector:":unselected",matches:function(e){return!e.selected()}},{selector:":selectable",matches:function(e){return e.selectable()}},{selector:":unselectable",matches:function(e){return!e.selectable()}},{selector:":locked",matches:function(e){return e.locked()}},{selector:":unlocked",matches:function(e){return!e.locked()}},{selector:":visible",matches:function(e){return e.visible()}},{selector:":hidden",matches:function(e){return!e.visible()}},{selector:":transparent",matches:function(e){return e.transparent()}},{selector:":grabbed",matches:function(e){return e.grabbed()}},{selector:":free",matches:function(e){return!e.grabbed()}},{selector:":removed",matches:function(e){return e.removed()}},{selector:":inside",matches:function(e){return!e.removed()}},{selector:":grabbable",matches:function(e){return e.grabbable()}},{selector:":ungrabbable",matches:function(e){return!e.grabbable()}},{selector:":animated",matches:function(e){return e.animated()}},{selector:":unanimated",matches:function(e){return!e.animated()}},{selector:":parent",matches:function(e){return e.isParent()}},{selector:":childless",matches:function(e){return e.isChildless()}},{selector:":child",matches:function(e){return e.isChild()}},{selector:":orphan",matches:function(e){return e.isOrphan()}},{selector:":nonorphan",matches:function(e){return e.isChild()}},{selector:":compound",matches:function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()}},{selector:":loop",matches:function(e){return e.isLoop()}},{selector:":simple",matches:function(e){return e.isSimple()}},{selector:":active",matches:function(e){return e.active()}},{selector:":inactive",matches:function(e){return!e.active()}},{selector:":backgrounding",matches:function(e){return e.backgrounding()}},{selector:":nonbackgrounding",matches:function(e){return!e.backgrounding()}}].sort((function(e,t){return function(e,t){return-1*z(e,t)}(e.selector,t.selector)})),la=function(){for(var e,t={},n=0;n0&&l.edgeCount>0)return Ve("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(l.edgeCount>1)return Ve("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;1===l.edgeCount&&Ve("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},toString:function(){if(null!=this.toStringCache)return this.toStringCache;for(var e=function(e){return null==e?"":e},t=function(t){return f(t)?'"'+t+'"':e(t)},n=function(e){return" "+e+" "},r=function(r,a){var o=r.type,s=r.value;switch(o){case Fi:var l=e(s);return l.substring(0,l.length-1);case Yi:var u=r.field,c=r.operator;return"["+u+n(e(c))+t(s)+"]";case Wi:var d=r.operator,h=r.field;return"["+e(d)+h+"]";case Xi:return"["+r.field+"]";case Hi:var p=r.operator;return"[["+r.field+n(e(p))+t(s)+"]]";case Ki:return s;case Gi:return"#"+s;case Ui:return"."+s;case ra:case ta:return i(r.parent,a)+n(">")+i(r.child,a);case ia:case na:return i(r.ancestor,a)+" "+i(r.descendant,a);case aa:var f=i(r.left,a),g=i(r.subject,a),v=i(r.right,a);return f+(f.length>0?" ":"")+g+v;case oa:return""}},i=function(e,t){return e.checks.reduce((function(n,i,a){return n+(t===e&&0===a?"$":"")+r(i,t)}),"")},a="",o=0;o1&&o=0&&(t=t.replace("!",""),c=!0),t.indexOf("@")>=0&&(t=t.replace("@",""),u=!0),(o||l||u)&&(i=o||s?""+e:"",a=""+n),u&&(e=i=i.toLowerCase(),n=a=a.toLowerCase()),t){case"*=":r=i.indexOf(a)>=0;break;case"$=":r=i.indexOf(a,i.length-a.length)>=0;break;case"^=":r=0===i.indexOf(a);break;case"=":r=e===n;break;case">":d=!0,r=e>n;break;case">=":d=!0,r=e>=n;break;case"<":d=!0,r=e0;){var u=i.shift();t(u),a.add(u.id()),o&&r(i,a,u)}return e}function Da(e,t,n){if(n.isParent())for(var r=n._private.children,i=0;i1&&void 0!==arguments[1])||arguments[1];return Pa(this,e,t,Da)},Sa.forEachUp=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return Pa(this,e,t,Ta)},Sa.forEachUpAndDown=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return Pa(this,e,t,_a)},Sa.ancestors=Sa.parents,(Ea=ka={data:Li.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:Li.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:Li.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Li.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:Li.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:Li.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}}).attr=Ea.data,Ea.removeAttr=Ea.removeData;var Ma,Ba,Na=ka,za={};function Ia(e){return function(t){if(void 0===t&&(t=!0),0!==this.length&&this.isNode()&&!this.removed()){for(var n=0,r=this[0],i=r._private.edges,a=0;at})),minIndegree:Aa("indegree",(function(e,t){return et})),minOutdegree:Aa("outdegree",(function(e,t){return et}))}),I(za,{totalDegree:function(e){for(var t=0,n=this.nodes(),r=0;r0,c=u;u&&(l=l[0]);var d=c?l.position():{x:0,y:0};return i={x:s.x-d.x,y:s.y-d.y},void 0===e?i:i[e]}for(var h=0;h0,m=v;v&&(g=g[0]);var b=m?g.position():{x:0,y:0};void 0!==t?p.position(e,t+b[e]):void 0!==i&&p.position({x:i.x+b.x,y:i.y+b.y})}}else if(!a)return;return this}}).modelPosition=Ma.point=Ma.position,Ma.modelPositions=Ma.points=Ma.positions,Ma.renderedPoint=Ma.renderedPosition,Ma.relativePoint=Ma.relativePosition;var Ra,Va,Fa=Ba;Ra=Va={},Va.renderedBoundingBox=function(e){var t=this.boundingBox(e),n=this.cy(),r=n.zoom(),i=n.pan(),a=t.x1*r+i.x,o=t.x2*r+i.x,s=t.y1*r+i.y,l=t.y2*r+i.y;return{x1:a,x2:o,y1:s,y2:l,w:o-a,h:l-s}},Va.dirtyCompoundBoundsCache=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();return t.styleEnabled()&&t.hasCompoundNodes()?(this.forEachUp((function(t){if(t.isParent()){var n=t._private;n.compoundBoundsClean=!1,n.bbCache=null,e||t.emitAndNotify("bounds")}})),this):this},Va.updateCompoundBounds=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.cy();if(!t.styleEnabled()||!t.hasCompoundNodes())return this;if(!e&&t.batching())return this;function n(e){if(e.isParent()){var t=e._private,n=e.children(),r="include"===e.pstyle("compound-sizing-wrt-labels").value,i={width:{val:e.pstyle("min-width").pfValue,left:e.pstyle("min-width-bias-left"),right:e.pstyle("min-width-bias-right")},height:{val:e.pstyle("min-height").pfValue,top:e.pstyle("min-height-bias-top"),bottom:e.pstyle("min-height-bias-bottom")}},a=n.boundingBox({includeLabels:r,includeOverlays:!1,useCache:!1}),o=t.position;0!==a.w&&0!==a.h||((a={w:e.pstyle("width").pfValue,h:e.pstyle("height").pfValue}).x1=o.x-a.w/2,a.x2=o.x+a.w/2,a.y1=o.y-a.h/2,a.y2=o.y+a.h/2);var s=i.width.left.value;"px"===i.width.left.units&&i.width.val>0&&(s=100*s/i.width.val);var l=i.width.right.value;"px"===i.width.right.units&&i.width.val>0&&(l=100*l/i.width.val);var u=i.height.top.value;"px"===i.height.top.units&&i.height.val>0&&(u=100*u/i.height.val);var c=i.height.bottom.value;"px"===i.height.bottom.units&&i.height.val>0&&(c=100*c/i.height.val);var d=y(i.width.val-a.w,s,l),h=d.biasDiff,p=d.biasComplementDiff,f=y(i.height.val-a.h,u,c),g=f.biasDiff,v=f.biasComplementDiff;t.autoPadding=function(e,t,n,r){if("%"!==n.units)return"px"===n.units?n.pfValue:0;switch(r){case"width":return e>0?n.pfValue*e:0;case"height":return t>0?n.pfValue*t:0;case"average":return e>0&&t>0?n.pfValue*(e+t)/2:0;case"min":return e>0&&t>0?e>t?n.pfValue*t:n.pfValue*e:0;case"max":return e>0&&t>0?e>t?n.pfValue*e:n.pfValue*t:0;default:return 0}}(a.w,a.h,e.pstyle("padding"),e.pstyle("padding-relative-to").value),t.autoWidth=Math.max(a.w,i.width.val),o.x=(-h+a.x1+a.x2+p)/2,t.autoHeight=Math.max(a.h,i.height.val),o.y=(-g+a.y1+a.y2+v)/2}function y(e,t,n){var r=0,i=0,a=t+n;return e>0&&a>0&&(r=t/a*e,i=n/a*e),{biasDiff:r,biasComplementDiff:i}}}for(var r=0;re.x2?r:e.x2,e.y1=ne.y2?i:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},Ya=function(e,t){return null==t?e:qa(e,t.x1,t.y1,t.x2,t.y2)},Xa=function(e,t,n){return Ke(e,t,n)},Wa=function(e,t,n){if(!t.cy().headless()){var r,i,a=t._private,o=a.rstyle,s=o.arrowWidth/2;if("none"!==t.pstyle(n+"-arrow-shape").value){"source"===n?(r=o.srcX,i=o.srcY):"target"===n?(r=o.tgtX,i=o.tgtY):(r=o.midX,i=o.midY);var l=a.arrowBounds=a.arrowBounds||{},u=l[n]=l[n]||{};u.x1=r-s,u.y1=i-s,u.x2=r+s,u.y2=i+s,u.w=u.x2-u.x1,u.h=u.y2-u.y1,_t(u,1),qa(e,u.x1,u.y1,u.x2,u.y2)}}},Ha=function(e,t,n){if(!t.cy().headless()){var r;r=n?n+"-":"";var i=t._private,a=i.rstyle;if(t.pstyle(r+"label").strValue){var o,s,l,u,c=t.pstyle("text-halign"),d=t.pstyle("text-valign"),h=Xa(a,"labelWidth",n),p=Xa(a,"labelHeight",n),f=Xa(a,"labelX",n),g=Xa(a,"labelY",n),v=t.pstyle(r+"text-margin-x").pfValue,y=t.pstyle(r+"text-margin-y").pfValue,m=t.isEdge(),b=t.pstyle(r+"text-rotation"),x=t.pstyle("text-outline-width").pfValue,w=t.pstyle("text-border-width").pfValue/2,E=t.pstyle("text-background-padding").pfValue,k=p,C=h,S=C/2,P=k/2;if(m)o=f-S,s=f+S,l=g-P,u=g+P;else{switch(c.value){case"left":o=f-C,s=f;break;case"center":o=f-S,s=f+S;break;case"right":o=f,s=f+C}switch(d.value){case"top":l=g-k,u=g;break;case"center":l=g-P,u=g+P;break;case"bottom":l=g,u=g+k}}o+=v-Math.max(x,w)-E-2,s+=v+Math.max(x,w)+E+2,l+=y-Math.max(x,w)-E-2,u+=y+Math.max(x,w)+E+2;var D=n||"main",T=i.labelBounds,_=T[D]=T[D]||{};_.x1=o,_.y1=l,_.x2=s,_.y2=u,_.w=s-o,_.h=u-l;var M=m&&"autorotate"===b.strValue,B=null!=b.pfValue&&0!==b.pfValue;if(M||B){var N=M?Xa(i.rstyle,"labelAngle",n):b.pfValue,z=Math.cos(N),I=Math.sin(N),A=(o+s)/2,L=(l+u)/2;if(!m){switch(c.value){case"left":A=s;break;case"right":A=o}switch(d.value){case"top":L=u;break;case"bottom":L=l}}var O=function(e,t){return{x:(e-=A)*z-(t-=L)*I+A,y:e*I+t*z+L}},R=O(o,l),V=O(o,u),F=O(s,l),j=O(s,u);o=Math.min(R.x,V.x,F.x,j.x),s=Math.max(R.x,V.x,F.x,j.x),l=Math.min(R.y,V.y,F.y,j.y),u=Math.max(R.y,V.y,F.y,j.y)}var q=D+"Rot",Y=T[q]=T[q]||{};Y.x1=o,Y.y1=l,Y.x2=s,Y.y2=u,Y.w=s-o,Y.h=u-l,qa(e,o,l,s,u),qa(i.labelBounds.all,o,l,s,u)}return e}},Ka=function(e){var t=0,n=function(e){return(e?1:0)<(r=T[1].x)){var _=n;n=r,r=_}if(i>(a=T[1].y)){var M=i;i=a,a=M}qa(h,n-k,i-k,r+k,a+k)}}else if("bezier"===D||"unbundled-bezier"===D||"segments"===D||"taxi"===D){var B;switch(D){case"bezier":case"unbundled-bezier":B=v.bezierPts;break;case"segments":case"taxi":B=v.linePts}if(null!=B)for(var N=0;N(r=A.x)){var L=n;n=r,r=L}if((i=I.y)>(a=A.y)){var O=i;i=a,a=O}qa(h,n-=k,i-=k,r+=k,a+=k)}if(c&&t.includeEdges&&g&&(Wa(h,e,"mid-source"),Wa(h,e,"mid-target"),Wa(h,e,"source"),Wa(h,e,"target")),c)if("yes"===e.pstyle("ghost").value){var R=e.pstyle("ghost-offset-x").pfValue,V=e.pstyle("ghost-offset-y").pfValue;qa(h,h.x1+R,h.y1+V,h.x2+R,h.y2+V)}var F=p.bodyBounds=p.bodyBounds||{};Bt(F,h),Mt(F,y),_t(F,1),c&&(n=h.x1,r=h.x2,i=h.y1,a=h.y2,qa(h,n-E,i-E,r+E,a+E));var j=p.overlayBounds=p.overlayBounds||{};Bt(j,h),Mt(j,y),_t(j,1);var q=p.labelBounds=p.labelBounds||{};null!=q.all?((l=q.all).x1=1/0,l.y1=1/0,l.x2=-1/0,l.y2=-1/0,l.w=0,l.h=0):q.all=Dt(),c&&t.includeLabels&&(t.includeMainLabels&&Ha(h,e,null),g&&(t.includeSourceLabels&&Ha(h,e,"source"),t.includeTargetLabels&&Ha(h,e,"target")))}return h.x1=ja(h.x1),h.y1=ja(h.y1),h.x2=ja(h.x2),h.y2=ja(h.y2),h.w=ja(h.x2-h.x1),h.h=ja(h.y2-h.y1),h.w>0&&h.h>0&&b&&(Mt(h,y),_t(h,1)),h}(e,Za),r.bbCache=n,r.bbCachePosKey=o):n=r.bbCache,!a){var c=e.isNode();n=Dt(),(t.includeNodes&&c||t.includeEdges&&!c)&&(t.includeOverlays?Ya(n,r.overlayBounds):Ya(n,r.bodyBounds)),t.includeLabels&&(t.includeMainLabels&&(!i||t.includeSourceLabels&&t.includeTargetLabels)?Ya(n,r.labelBounds.all):(t.includeMainLabels&&Ya(n,r.labelBounds.mainRot),t.includeSourceLabels&&Ya(n,r.labelBounds.sourceRot),t.includeTargetLabels&&Ya(n,r.labelBounds.targetRot))),n.w=n.x2-n.x1,n.h=n.y2-n.y1}return n},Za={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,includeUnderlays:!0,useCache:!0},$a=Ka(Za),Qa=Xe(Za);Va.boundingBox=function(e){var t;if(1!==this.length||null==this[0]._private.bbCache||this[0]._private.styleDirty||void 0!==e&&void 0!==e.useCache&&!0!==e.useCache){t=Dt();var n=Qa(e=e||Za);if(this.cy().styleEnabled())for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:fo,t=arguments.length>1?arguments[1]:void 0,n=0;n=0;s--)o(s);return this},vo.removeAllListeners=function(){return this.removeListener("*")},vo.emit=vo.trigger=function(e,t,n){var r=this.listeners,i=r.length;return this.emitting++,v(t)||(t=[t]),bo(this,(function(e,a){null!=n&&(r=[{event:a.event,type:a.type,namespace:a.namespace,callback:n}],i=r.length);for(var o=function(n){var i=r[n];if(i.type===a.type&&(!i.namespace||i.namespace===a.namespace||".*"===i.namespace)&&e.eventMatches(e.context,i,a)){var o=[a];null!=t&&function(e,t){for(var n=0;n1&&!r){var i=this.length-1,a=this[i],o=a._private.data.id;this[i]=void 0,this[e]=a,n.set(o,{ele:a,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var t=this._private,n=e._private.data.id,r=t.map.get(n);if(!r)return this;var i=r.index;return this.unmergeAt(i),this},unmerge:function(e){var t=this._private.cy;if(!e)return this;if(e&&f(e)){var n=e;e=t.mutableElements().filter(n)}for(var r=0;r=0;t--){e(this[t])&&this.unmergeAt(t)}return this},map:function(e,t){for(var n=[],r=0;rr&&(r=o,n=a)}return{value:r,ele:n}},min:function(e,t){for(var n,r=1/0,i=0;i=0&&i1&&void 0!==arguments[1])||arguments[1],n=this[0],r=n.cy();if(r.styleEnabled()&&n){this.cleanStyle();var i=n._private.style[e];return null!=i?i:t?r.style().getDefaultProperty(e):null}},numericStyle:function(e){var t=this[0];if(t.cy().styleEnabled()&&t){var n=t.pstyle(e);return void 0!==n.pfValue?n.pfValue:n.value}},numericStyleUnits:function(e){var t=this[0];if(t.cy().styleEnabled())return t?t.pstyle(e).units:void 0},renderedStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=this[0];return n?t.style().getRenderedStyle(n,e):void 0},style:function(e,t){var n=this.cy();if(!n.styleEnabled())return this;var r=n.style();if(y(e)){var i=e;r.applyBypass(this,i,!1),this.emitAndNotify("style")}else if(f(e)){if(void 0===t){var a=this[0];return a?r.getStylePropertyValue(a,e):void 0}r.applyBypass(this,e,t,!1),this.emitAndNotify("style")}else if(void 0===e){var o=this[0];return o?r.getRawStyle(o):void 0}return this},removeStyle:function(e){var t=this.cy();if(!t.styleEnabled())return this;var n=t.style();if(void 0===e)for(var r=0;r0&&t.push(c[0]),t.push(s[0])}return this.spawn(t,!0).filter(e)}),"neighborhood"),closedNeighborhood:function(e){return this.neighborhood().add(this).filter(e)},openNeighborhood:function(e){return this.neighborhood(e)}}),Yo.neighbourhood=Yo.neighborhood,Yo.closedNeighbourhood=Yo.closedNeighborhood,Yo.openNeighbourhood=Yo.openNeighborhood,I(Yo,{source:Ca((function(e){var t,n=this[0];return n&&(t=n._private.source||n.cy().collection()),t&&e?t.filter(e):t}),"source"),target:Ca((function(e){var t,n=this[0];return n&&(t=n._private.target||n.cy().collection()),t&&e?t.filter(e):t}),"target"),sources:Ko({attr:"source"}),targets:Ko({attr:"target"})}),I(Yo,{edgesWith:Ca(Go(),"edgesWith"),edgesTo:Ca(Go({thisIsSrc:!0}),"edgesTo")}),I(Yo,{connectedEdges:Ca((function(e){for(var t=[],n=0;n0);return a},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}}),Yo.componentsOf=Yo.components;var Zo=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(void 0!==e){var i=new Ue,a=!1;if(t){if(t.length>0&&y(t[0])&&!w(t[0])){a=!0;for(var o=[],s=new $e,l=0,u=t.length;l0&&void 0!==arguments[0])||arguments[0],r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this,a=i.cy(),o=a._private,s=[],l=[],u=0,c=i.length;u0){for(var R=e.length===i.length?i:new Zo(a,e),V=0;V0&&void 0!==arguments[0])||arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this,r=[],i={},a=n._private.cy;function o(e){for(var t=e._private.edges,n=0;n0&&(e?D.emitAndNotify("remove"):t&&D.emit("remove"));for(var T=0;T1e-4&&Math.abs(s.v)>1e-4;);return a?function(e){return u[e*(u.length-1)|0]}:c}}(),es=function(e,t,n,r){var i=function(e,t,n,r){var i=4,a=.001,o=1e-7,s=10,l=11,u=1/(l-1),c="undefined"!=typeof Float32Array;if(4!==arguments.length)return!1;for(var d=0;d<4;++d)if("number"!=typeof arguments[d]||isNaN(arguments[d])||!isFinite(arguments[d]))return!1;e=Math.min(e,1),n=Math.min(n,1),e=Math.max(e,0),n=Math.max(n,0);var h=c?new Float32Array(l):new Array(l);function p(e,t){return 1-3*t+3*e}function f(e,t){return 3*t-6*e}function g(e){return 3*e}function v(e,t,n){return((p(t,n)*e+f(t,n))*e+g(t))*e}function y(e,t,n){return 3*p(t,n)*e*e+2*f(t,n)*e+g(t)}function m(t,r){for(var a=0;a0?i=l:r=l}while(Math.abs(a)>o&&++u=a?m(t,s):0===c?s:x(t,r,r+u)}var E=!1;function k(){E=!0,e===t&&n===r||b()}var C=function(i){return E||k(),e===t&&n===r?i:0===i?0:1===i?1:v(w(i),t,r)};C.getControlPoints=function(){return[{x:e,y:t},{x:n,y:r}]};var S="generateBezier("+[e,t,n,r]+")";return C.toString=function(){return S},C}(e,t,n,r);return function(e,t,n){return e+(t-e)*i(n)}},ts={linear:function(e,t,n){return e+(t-e)*n},ease:es(.25,.1,.25,1),"ease-in":es(.42,0,1,1),"ease-out":es(0,0,.58,1),"ease-in-out":es(.42,0,.58,1),"ease-in-sine":es(.47,0,.745,.715),"ease-out-sine":es(.39,.575,.565,1),"ease-in-out-sine":es(.445,.05,.55,.95),"ease-in-quad":es(.55,.085,.68,.53),"ease-out-quad":es(.25,.46,.45,.94),"ease-in-out-quad":es(.455,.03,.515,.955),"ease-in-cubic":es(.55,.055,.675,.19),"ease-out-cubic":es(.215,.61,.355,1),"ease-in-out-cubic":es(.645,.045,.355,1),"ease-in-quart":es(.895,.03,.685,.22),"ease-out-quart":es(.165,.84,.44,1),"ease-in-out-quart":es(.77,0,.175,1),"ease-in-quint":es(.755,.05,.855,.06),"ease-out-quint":es(.23,1,.32,1),"ease-in-out-quint":es(.86,0,.07,1),"ease-in-expo":es(.95,.05,.795,.035),"ease-out-expo":es(.19,1,.22,1),"ease-in-out-expo":es(1,0,0,1),"ease-in-circ":es(.6,.04,.98,.335),"ease-out-circ":es(.075,.82,.165,1),"ease-in-out-circ":es(.785,.135,.15,.86),spring:function(e,t,n){if(0===n)return ts.linear;var r=Jo(e,t,n);return function(e,t,n){return e+(t-e)*r(n)}},"cubic-bezier":es};function ns(e,t,n,r,i){if(1===r)return n;if(t===n)return n;var a=i(t,n,r);return null==e||((e.roundValue||e.color)&&(a=Math.round(a)),void 0!==e.min&&(a=Math.max(a,e.min)),void 0!==e.max&&(a=Math.min(a,e.max))),a}function rs(e,t){return null!=e.pfValue||null!=e.value?null==e.pfValue||null!=t&&"%"===t.type.units?e.value:e.pfValue:e}function is(e,t,n,r,i){var a=null!=i?i.type:null;n<0?n=0:n>1&&(n=1);var o=rs(e,i),s=rs(t,i);if(m(o)&&m(s))return ns(a,o,s,n,r);if(v(o)&&v(s)){for(var l=[],u=0;u0?("spring"===d&&h.push(o.duration),o.easingImpl=ts[d].apply(null,h)):o.easingImpl=ts[d]}var p,g=o.easingImpl;if(p=0===o.duration?1:(n-l)/o.duration,o.applying&&(p=o.progress),p<0?p=0:p>1&&(p=1),null==o.delay){var v=o.startPosition,y=o.position;if(y&&i&&!e.locked()){var m={};os(v.x,y.x)&&(m.x=is(v.x,y.x,p,g)),os(v.y,y.y)&&(m.y=is(v.y,y.y,p,g)),e.position(m)}var b=o.startPan,x=o.pan,w=a.pan,E=null!=x&&r;E&&(os(b.x,x.x)&&(w.x=is(b.x,x.x,p,g)),os(b.y,x.y)&&(w.y=is(b.y,x.y,p,g)),e.emit("pan"));var k=o.startZoom,C=o.zoom,S=null!=C&&r;S&&(os(k,C)&&(a.zoom=Pt(a.minZoom,is(k,C,p,g),a.maxZoom)),e.emit("zoom")),(E||S)&&e.emit("viewport");var P=o.style;if(P&&P.length>0&&i){for(var D=0;D=0;t--){(0,e[t])()}e.splice(0,e.length)},c=a.length-1;c>=0;c--){var d=a[c],h=d._private;h.stopped?(a.splice(c,1),h.hooked=!1,h.playing=!1,h.started=!1,u(h.frames)):(h.playing||h.applying)&&(h.playing&&h.applying&&(h.applying=!1),h.started||ss(0,d,e),as(t,d,e,n),h.applying&&(h.applying=!1),u(h.frames),null!=h.step&&h.step(e),d.completed()&&(a.splice(c,1),h.hooked=!1,h.playing=!1,h.started=!1,u(h.completes)),s=!0)}return n||0!==a.length||0!==o.length||r.push(t),s}for(var a=!1,o=0;o0?t.notify("draw",n):t.notify("draw")),n.unmerge(r),t.emit("step")}var us={animate:Li.animate(),animation:Li.animation(),animated:Li.animated(),clearQueue:Li.clearQueue(),delay:Li.delay(),delayAnimation:Li.delayAnimation(),stop:Li.stop(),addToAnimationPool:function(e){this.styleEnabled()&&this._private.aniEles.merge(e)},stopAnimationLoop:function(){this._private.animationsRunning=!1},startAnimationLoop:function(){var e=this;if(e._private.animationsRunning=!0,e.styleEnabled()){var t=e.renderer();t&&t.beforeRender?t.beforeRender((function(t,n){ls(n,e)}),t.beforeRenderPriorities.animations):function t(){e._private.animationsRunning&&me((function(n){ls(n,e),t()}))}()}}},cs={qualifierCompare:function(e,t){return null==e||null==t?null==e&&null==t:e.sameText(t)},eventMatches:function(e,t,n){var r=t.qualifier;return null==r||e!==n.target&&w(n.target)&&r.matches(n.target)},addEventFields:function(e,t){t.cy=e,t.target=e},callbackContext:function(e,t,n){return null!=t.qualifier?n.target:e}},ds=function(e){return f(e)?new ba(e):e},hs={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new go(cs,this)),this},emitter:function(){return this._private.emitter},on:function(e,t,n){return this.emitter().on(e,ds(t),n),this},removeListener:function(e,t,n){return this.emitter().removeListener(e,ds(t),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,t,n){return this.emitter().one(e,ds(t),n),this},once:function(e,t,n){return this.emitter().one(e,ds(t),n),this},emit:function(e,t){return this.emitter().emit(e,t),this},emitAndNotify:function(e,t){return this.emit(e),this.notify(e,t),this}};Li.eventAliasesOn(hs);var ps={png:function(e){return e=e||{},this._private.renderer.png(e)},jpg:function(e){var t=this._private.renderer;return(e=e||{}).bg=e.bg||"#fff",t.jpg(e)}};ps.jpeg=ps.jpg;var fs={layout:function(e){if(null!=e)if(null!=e.name){var t=e.name,n=this.extension("layout",t);if(null!=n){var r;r=f(e.eles)?this.$(e.eles):null!=e.eles?e.eles:this.$();var i=new n(I({},e,{cy:this,eles:r}));return i}Oe("No such layout `"+t+"` found. Did you forget to import it and `cytoscape.use()` it?")}else Oe("A `name` must be specified to make a layout");else Oe("Layout options must be specified to make a layout")}};fs.createLayout=fs.makeLayout=fs.layout;var gs={notify:function(e,t){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var r=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();null!=t&&r.merge(t)}else if(n.notificationsEnabled){var i=this.renderer();!this.destroyed()&&i&&i.notify(e,t)}},notifications:function(e){var t=this._private;return void 0===e?t.notificationsEnabled:(t.notificationsEnabled=!!e,this)},noNotifications:function(e){this.notifications(!1),e(),this.notifications(!0)},batching:function(){return this._private.batchCount>0},startBatch:function(){var e=this._private;return null==e.batchCount&&(e.batchCount=0),0===e.batchCount&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},endBatch:function(){var e=this._private;if(0===e.batchCount)return this;if(e.batchCount--,0===e.batchCount){e.batchStyleEles.updateStyle();var t=this.renderer();Object.keys(e.batchNotifications).forEach((function(n){var r=e.batchNotifications[n];r.empty()?t.notify(n):t.notify(n,r)}))}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var t=this;return this.batch((function(){for(var n=Object.keys(e),r=0;r0;)e.removeChild(e.childNodes[0]);this._private.renderer=null,this.mutableElements().forEach((function(e){var t=e._private;t.rscratch={},t.rstyle={},t.animation.current=[],t.animation.queue=[]}))},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};ys.invalidateDimensions=ys.resize;var ms={collection:function(e,t){return f(e)?this.$(e):x(e)?e.collection():v(e)?(t||(t={}),new Zo(this,e,t.unique,t.removed)):new Zo(this)},nodes:function(e){var t=this.$((function(e){return e.isNode()}));return e?t.filter(e):t},edges:function(e){var t=this.$((function(e){return e.isEdge()}));return e?t.filter(e):t},$:function(e){var t=this._private.elements;return e?t.filter(e):t.spawnSelf()},mutableElements:function(){return this._private.elements}};ms.elements=ms.filter=ms.$;var bs={};bs.apply=function(e){for(var t=this._private.cy.collection(),n=0;n0;if(d||c&&h){var p=void 0;d&&h||d?p=l.properties:h&&(p=l.mappedProperties);for(var f=0;f1&&(g=1),s.color){var w=i.valueMin[0],E=i.valueMax[0],k=i.valueMin[1],C=i.valueMax[1],S=i.valueMin[2],P=i.valueMax[2],D=null==i.valueMin[3]?1:i.valueMin[3],T=null==i.valueMax[3]?1:i.valueMax[3],_=[Math.round(w+(E-w)*g),Math.round(k+(C-k)*g),Math.round(S+(P-S)*g),Math.round(D+(T-D)*g)];n={bypass:i.bypass,name:i.name,value:_,strValue:"rgb("+_[0]+", "+_[1]+", "+_[2]+")"}}else{if(!s.number)return!1;var M=i.valueMin+(i.valueMax-i.valueMin)*g;n=this.parse(i.name,M,i.bypass,"mapping")}if(!n)return f(),!1;n.mapping=i,i=n;break;case o.data:for(var B=i.field.split("."),N=d.data,z=0;z0&&a>0){for(var s={},l=!1,u=0;u0?e.delayAnimation(o).play().promise().then(t):t()})).then((function(){return e.animation({style:s,duration:a,easing:e.pstyle("transition-timing-function").value,queue:!1}).play().promise()})).then((function(){n.removeBypasses(e,i),e.emitAndNotify("style"),r.transitioning=!1}))}else r.transitioning&&(this.removeBypasses(e,i),e.emitAndNotify("style"),r.transitioning=!1)},bs.checkTrigger=function(e,t,n,r,i,a){var o=this.properties[t],s=i(o);null!=s&&s(n,r)&&a(o)},bs.checkZOrderTrigger=function(e,t,n,r){var i=this;this.checkTrigger(e,t,n,r,(function(e){return e.triggersZOrder}),(function(){i._private.cy.notify("zorder",e)}))},bs.checkBoundsTrigger=function(e,t,n,r){this.checkTrigger(e,t,n,r,(function(e){return e.triggersBounds}),(function(i){e.dirtyCompoundBoundsCache(),e.dirtyBoundingBoxCache(),!i.triggersBoundsOfParallelBeziers||("curve-style"!==t||"bezier"!==n&&"bezier"!==r)&&("display"!==t||"none"!==n&&"none"!==r)||e.parallelEdges().forEach((function(e){e.isBundledBezier()&&e.dirtyBoundingBoxCache()}))}))},bs.checkTriggers=function(e,t,n,r){e.dirtyStyleCache(),this.checkZOrderTrigger(e,t,n,r),this.checkBoundsTrigger(e,t,n,r)};var xs={applyBypass:function(e,t,n,r){var i=[];if("*"===t||"**"===t){if(void 0!==n)for(var a=0;at.length?i.substr(t.length):""}function o(){n=n.length>r.length?n.substr(r.length):""}for(i=i.replace(/[/][*](\s|.)+?[*][/]/g,"");;){if(i.match(/^\s*$/))break;var s=i.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!s){Ve("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+i);break}t=s[0];var l=s[1];if("core"!==l)if(new ba(l).invalid){Ve("Skipping parsing of block: Invalid selector found in string stylesheet: "+l),a();continue}var u=s[2],c=!1;n=u;for(var d=[];;){if(n.match(/^\s*$/))break;var h=n.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!h){Ve("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+u),c=!0;break}r=h[0];var p=h[1],f=h[2];if(this.properties[p])this.parse(p,f)?(d.push({name:p,val:f}),o()):(Ve("Skipping property: Invalid property definition in: "+r),o());else Ve("Skipping property: Invalid property name in: "+r),o()}if(c){a();break}this.selector(l);for(var g=0;g=7&&"d"===t[0]&&(l=new RegExp(o.data.regex).exec(t))){if(n)return!1;var d=o.data;return{name:e,value:l,strValue:""+t,mapped:d,field:l[1],bypass:n}}if(t.length>=10&&"m"===t[0]&&(u=new RegExp(o.mapData.regex).exec(t))){if(n)return!1;if(c.multiple)return!1;var h=o.mapData;if(!c.color&&!c.number)return!1;var p=this.parse(e,u[4]);if(!p||p.mapped)return!1;var y=this.parse(e,u[5]);if(!y||y.mapped)return!1;if(p.pfValue===y.pfValue||p.strValue===y.strValue)return Ve("`"+e+": "+t+"` is not a valid mapper because the output range is zero; converting to `"+e+": "+p.strValue+"`"),this.parse(e,p.strValue);if(c.color){var b=p.value,x=y.value;if(!(b[0]!==x[0]||b[1]!==x[1]||b[2]!==x[2]||b[3]!==x[3]&&(null!=b[3]&&1!==b[3]||null!=x[3]&&1!==x[3])))return!1}return{name:e,value:u,strValue:""+t,mapped:h,field:u[1],fieldMin:parseFloat(u[2]),fieldMax:parseFloat(u[3]),valueMin:p.value,valueMax:y.value,bypass:n}}}if(c.multiple&&"multiple"!==r){var w;if(w=s?t.split(/\s+/):v(t)?t:[t],c.evenMultiple&&w.length%2!=0)return null;for(var E=[],k=[],C=[],S="",P=!1,D=0;D0?" ":"")+_.strValue}return c.validate&&!c.validate(E,k)?null:c.singleEnum&&P?1===E.length&&f(E[0])?{name:e,value:E[0],strValue:E[0],bypass:n}:null:{name:e,value:E,pfValue:C,strValue:S,bypass:n,units:k}}var M,B,z=function(){for(var r=0;rc.max||c.strictMax&&t===c.max))return null;var V={name:e,value:t,strValue:""+t+(I||""),units:I,bypass:n};return c.unitless||"px"!==I&&"em"!==I?V.pfValue=t:V.pfValue="px"!==I&&I?this.getEmSizeInPixels()*t:t,"ms"!==I&&"s"!==I||(V.pfValue="ms"===I?t:1e3*t),"deg"!==I&&"rad"!==I||(V.pfValue="rad"===I?t:(M=t,Math.PI*M/180)),"%"===I&&(V.pfValue=t/100),V}if(c.propList){var F=[],j=""+t;if("none"===j);else{for(var q=j.split(/\s*,\s*|\s+/),Y=0;Y0&&l>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0)return{zoom:o=(o=(o=Math.min((s-2*t)/n.w,(l-2*t)/n.h))>this._private.maxZoom?this._private.maxZoom:o)=n.minZoom&&(n.maxZoom=t),this},minZoom:function(e){return void 0===e?this._private.minZoom:this.zoomRange({min:e})},maxZoom:function(e){return void 0===e?this._private.maxZoom:this.zoomRange({max:e})},getZoomedViewport:function(e){var t,n,r=this._private,i=r.pan,a=r.zoom,o=!1;if(r.zoomingEnabled||(o=!0),m(e)?n=e:y(e)&&(n=e.level,null!=e.position?t=gt(e.position,a,i):null!=e.renderedPosition&&(t=e.renderedPosition),null==t||r.panningEnabled||(o=!0)),n=(n=n>r.maxZoom?r.maxZoom:n)t.maxZoom||!t.zoomingEnabled?a=!0:(t.zoom=s,i.push("zoom"))}if(r&&(!a||!e.cancelOnFailedZoom)&&t.panningEnabled){var l=e.pan;m(l.x)&&(t.pan.x=l.x,o=!1),m(l.y)&&(t.pan.y=l.y,o=!1),o||i.push("pan")}return i.length>0&&(i.push("viewport"),this.emit(i.join(" ")),this.notify("viewport")),this},center:function(e){var t=this.getCenterPan(e);return t&&(this._private.pan=t,this.emit("pan viewport"),this.notify("viewport")),this},getCenterPan:function(e,t){if(this._private.panningEnabled){if(f(e)){var n=e;e=this.mutableElements().filter(n)}else x(e)||(e=this.mutableElements());if(0!==e.length){var r=e.boundingBox(),i=this.width(),a=this.height();return{x:(i-(t=void 0===t?this._private.zoom:t)*(r.x1+r.x2))/2,y:(a-t*(r.y1+r.y2))/2}}}},reset:function(){return this._private.panningEnabled&&this._private.zoomingEnabled?(this.viewport({pan:{x:0,y:0},zoom:1}),this):this},invalidateSize:function(){this._private.sizeCache=null},size:function(){var e,t,n=this._private,r=n.container,i=this;return n.sizeCache=n.sizeCache||(r?(e=i.window().getComputedStyle(r),t=function(t){return parseFloat(e.getPropertyValue(t))},{width:r.clientWidth-t("padding-left")-t("padding-right"),height:r.clientHeight-t("padding-top")-t("padding-bottom")}):{width:1,height:1})},width:function(){return this.size().width},height:function(){return this.size().height},extent:function(){var e=this._private.pan,t=this._private.zoom,n=this.renderedExtent(),r={x1:(n.x1-e.x)/t,x2:(n.x2-e.x)/t,y1:(n.y1-e.y)/t,y2:(n.y2-e.y)/t};return r.w=r.x2-r.x1,r.h=r.y2-r.y1,r},renderedExtent:function(){var e=this.width(),t=this.height();return{x1:0,y1:0,x2:e,y2:t,w:e,h:t}},multiClickDebounceTime:function(e){return e?(this._private.multiClickDebounceTime=e,this):this._private.multiClickDebounceTime}};Ms.centre=Ms.center,Ms.autolockNodes=Ms.autolock,Ms.autoungrabifyNodes=Ms.autoungrabify;var Bs={data:Li.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:Li.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:Li.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:Li.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};Bs.attr=Bs.data,Bs.removeAttr=Bs.removeData;var Ns=function(e){var t=this,n=(e=I({},e)).container;n&&!b(n)&&b(n[0])&&(n=n[0]);var r=n?n._cyreg:null;(r=r||{})&&r.cy&&(r.cy.destroy(),r={});var i=r.readies=r.readies||[];n&&(n._cyreg=r),r.cy=t;var a=void 0!==s&&void 0!==n&&!e.headless,o=e;o.layout=I({name:a?"grid":"null"},o.layout),o.renderer=I({name:a?"canvas":"null"},o.renderer);var l=function(e,t,n){return void 0!==t?t:void 0!==n?n:e},u=this._private={container:n,ready:!1,options:o,elements:new Zo(this),listeners:[],aniEles:new Zo(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:l(!0,o.zoomingEnabled),userZoomingEnabled:l(!0,o.userZoomingEnabled),panningEnabled:l(!0,o.panningEnabled),userPanningEnabled:l(!0,o.userPanningEnabled),boxSelectionEnabled:l(!0,o.boxSelectionEnabled),autolock:l(!1,o.autolock,o.autolockNodes),autoungrabify:l(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:l(!1,o.autounselectify),styleEnabled:void 0===o.styleEnabled?a:o.styleEnabled,zoom:m(o.zoom)?o.zoom:1,pan:{x:y(o.pan)&&m(o.pan.x)?o.pan.x:0,y:y(o.pan)&&m(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:l(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom});u.styleEnabled&&t.setStyle([]);var c=I({},o,o.renderer);t.initRenderer(c);!function(e,t){if(e.some(P))return hr.all(e).then(t);t(e)}([o.style,o.elements],(function(e){var n=e[0],a=e[1];u.styleEnabled&&t.style().append(n),function(e,n,r){t.notifications(!1);var i=t.mutableElements();i.length>0&&i.remove(),null!=e&&(y(e)||v(e))&&t.add(e),t.one("layoutready",(function(e){t.notifications(!0),t.emit(e),t.one("load",n),t.emitAndNotify("load")})).one("layoutstop",(function(){t.one("done",r),t.emit("done")}));var a=I({},t._private.options.layout);a.eles=t.elements(),t.layout(a).run()}(a,(function(){t.startAnimationLoop(),u.ready=!0,g(o.ready)&&t.on("ready",o.ready);for(var e=0;e0,u=Dt(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(x(n.roots))e=n.roots;else if(v(n.roots)){for(var c=[],d=0;d0;){var N=_.shift(),I=T(N,M);if(I)N.outgoers().filter((function(e){return e.isNode()&&i.has(e)})).forEach(B);else if(null===I){Ve("Detected double maximal shift for node `"+N.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}D();var A=0;if(n.avoidOverlap)for(var L=0;L0&&b[0].length<=3?l/2:0),d=2*Math.PI/b[r].length*i;return 0===r&&1===b[0].length&&(c=1),{x:G+c*Math.cos(d),y:U+c*Math.sin(d)}}return{x:G+(i+1-(a+1)/2)*o,y:(r+1)*s}})),this};var Vs={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function Fs(e){this.options=I({},Vs,e)}Fs.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles,i=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,a=r.nodes().not(":parent");t.sort&&(a=a.sort(t.sort));for(var o,s=Dt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),l=s.x1+s.w/2,u=s.y1+s.h/2,c=(void 0===t.sweep?2*Math.PI-2*Math.PI/a.length:t.sweep)/Math.max(1,a.length-1),d=0,h=0;h1&&t.avoidOverlap){d*=1.75;var v=Math.cos(c)-Math.cos(0),y=Math.sin(c)-Math.sin(0),b=Math.sqrt(d*d/(v*v+y*y));o=Math.max(b,o)}return r.nodes().layoutPositions(this,t,(function(e,n){var r=t.startAngle+n*c*(i?1:-1),a=o*Math.cos(r),s=o*Math.sin(r);return{x:l+a,y:u+s}})),this};var js,qs={fit:!0,padding:30,startAngle:1.5*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:function(e){return e.degree()},levelWidth:function(e){return e.maxDegree()/4},animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function Ys(e){this.options=I({},qs,e)}Ys.prototype.run=function(){for(var e=this.options,t=e,n=void 0!==t.counterclockwise?!t.counterclockwise:t.clockwise,r=e.cy,i=t.eles,a=i.nodes().not(":parent"),o=Dt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),s=o.x1+o.w/2,l=o.y1+o.h/2,u=[],c=0,d=0;d0)Math.abs(m[0].value-x.value)>=v&&(m=[],y.push(m));m.push(x)}var w=c+t.minNodeSpacing;if(!t.avoidOverlap){var E=y.length>0&&y[0].length>1,k=(Math.min(o.w,o.h)/2-w)/(y.length+E?1:0);w=Math.min(w,k)}for(var C=0,S=0;S1&&t.avoidOverlap){var _=Math.cos(T)-Math.cos(0),M=Math.sin(T)-Math.sin(0),B=Math.sqrt(w*w/(_*_+M*M));C=Math.max(B,C)}P.r=C,C+=w}if(t.equidistant){for(var N=0,z=0,I=0;I=e.numIter)&&(Qs(r,e),r.temperature=r.temperature*e.coolingFactor,!(r.temperature=e.animationThreshold&&a(),me(t)):(cl(r,e),s())}()}else{for(;u;)u=o(l),l++;cl(r,e),s()}return this},Ws.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this},Ws.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var Hs=function(e,t,n){for(var r=n.eles.edges(),i=n.eles.nodes(),a=Dt(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:i.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:r.size(),temperature:n.initialTemp,clientWidth:a.w,clientHeight:a.h,boundingBox:a},s=n.eles.components(),l={},u=0;u0){o.graphSet.push(E);for(u=0;ur.count?0:r.graph},Gs=function e(t,n,r,i){var a=i.graphSet[r];if(-10)var s=(u=r.nodeOverlap*o)*i/(g=Math.sqrt(i*i+a*a)),l=u*a/g;else{var u,c=rl(e,i,a),d=rl(t,-1*i,-1*a),h=d.x-c.x,p=d.y-c.y,f=h*h+p*p,g=Math.sqrt(f);s=(u=(e.nodeRepulsion+t.nodeRepulsion)/f)*h/g,l=u*p/g}e.isLocked||(e.offsetX-=s,e.offsetY-=l),t.isLocked||(t.offsetX+=s,t.offsetY+=l)}},nl=function(e,t,n,r){if(n>0)var i=e.maxX-t.minX;else i=t.maxX-e.minX;if(r>0)var a=e.maxY-t.minY;else a=t.maxY-e.minY;return i>=0&&a>=0?Math.sqrt(i*i+a*a):0},rl=function(e,t,n){var r=e.positionX,i=e.positionY,a=e.height||1,o=e.width||1,s=n/t,l=a/o,u={};return 0===t&&0n?(u.x=r,u.y=i+a/2,u):0t&&-1*l<=s&&s<=l?(u.x=r-o/2,u.y=i-o*n/2/t,u):0=l)?(u.x=r+a*t/2/n,u.y=i+a/2,u):0>n&&(s<=-1*l||s>=l)?(u.x=r-a*t/2/n,u.y=i-a/2,u):u},il=function(e,t){for(var n=0;n1){var f=t.gravity*d/p,g=t.gravity*h/p;c.offsetX+=f,c.offsetY+=g}}}}},ol=function(e,t){var n=[],r=0,i=-1;for(n.push.apply(n,e.graphSet[0]),i+=e.graphSet[0].length;r<=i;){var a=n[r++],o=e.idToIndex[a],s=e.layoutNodes[o],l=s.children;if(0n)var i={x:n*e/r,y:n*t/r};else i={x:e,y:t};return i},ul=function e(t,n){var r=t.parentId;if(null!=r){var i=n.layoutNodes[n.idToIndex[r]],a=!1;return(null==i.maxX||t.maxX+i.padRight>i.maxX)&&(i.maxX=t.maxX+i.padRight,a=!0),(null==i.minX||t.minX-i.padLefti.maxY)&&(i.maxY=t.maxY+i.padBottom,a=!0),(null==i.minY||t.minY-i.padTopf&&(d+=p+t.componentSpacing,c=0,h=0,p=0)}}},dl={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:function(e){},sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:function(e,t){return!0},ready:void 0,stop:void 0,transform:function(e,t){return t}};function hl(e){this.options=I({},dl,e)}hl.prototype.run=function(){var e=this.options,t=e,n=e.cy,r=t.eles,i=r.nodes().not(":parent");t.sort&&(i=i.sort(t.sort));var a=Dt(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()});if(0===a.h||0===a.w)r.nodes().layoutPositions(this,t,(function(e){return{x:a.x1,y:a.y1}}));else{var o=i.size(),s=Math.sqrt(o*a.h/a.w),l=Math.round(s),u=Math.round(a.w/a.h*s),c=function(e){if(null==e)return Math.min(l,u);Math.min(l,u)==l?l=e:u=e},d=function(e){if(null==e)return Math.max(l,u);Math.max(l,u)==l?l=e:u=e},h=t.rows,p=null!=t.cols?t.cols:t.columns;if(null!=h&&null!=p)l=h,u=p;else if(null!=h&&null==p)l=h,u=Math.ceil(o/l);else if(null==h&&null!=p)u=p,l=Math.ceil(o/u);else if(u*l>o){var f=c(),g=d();(f-1)*g>=o?c(f-1):(g-1)*f>=o&&d(g-1)}else for(;u*l=o?d(y+1):c(v+1)}var m=a.w/u,b=a.h/l;if(t.condense&&(m=0,b=0),t.avoidOverlap)for(var x=0;x=u&&(B=0,M++)},z={},I=0;I(r=Vt(e,t,x[w],x[w+1],x[w+2],x[w+3])))return v(n,r),!0}else if("bezier"===a.edgeType||"multibezier"===a.edgeType||"self"===a.edgeType||"compound"===a.edgeType)for(x=a.allpts,w=0;w+5(r=Rt(e,t,x[w],x[w+1],x[w+2],x[w+3],x[w+4],x[w+5])))return v(n,r),!0;m=m||i.source,b=b||i.target;var E=o.getArrowWidth(l,c),k=[{name:"source",x:a.arrowStartX,y:a.arrowStartY,angle:a.srcArrowAngle},{name:"target",x:a.arrowEndX,y:a.arrowEndY,angle:a.tgtArrowAngle},{name:"mid-source",x:a.midX,y:a.midY,angle:a.midsrcArrowAngle},{name:"mid-target",x:a.midX,y:a.midY,angle:a.midtgtArrowAngle}];for(w=0;w0&&(y(m),y(b))}function b(e,t,n){return Ke(e,t,n)}function x(n,r){var i,a=n._private,o=f;i=r?r+"-":"",n.boundingBox();var s=a.labelBounds[r||"main"],l=n.pstyle(i+"label").value;if("yes"===n.pstyle("text-events").strValue&&l){var u=b(a.rscratch,"labelX",r),c=b(a.rscratch,"labelY",r),d=b(a.rscratch,"labelAngle",r),h=n.pstyle(i+"text-margin-x").pfValue,p=n.pstyle(i+"text-margin-y").pfValue,g=s.x1-o-h,y=s.x2+o-h,m=s.y1-o-p,x=s.y2+o-p;if(d){var w=Math.cos(d),E=Math.sin(d),k=function(e,t){return{x:(e-=u)*w-(t-=c)*E+u,y:e*E+t*w+c}},C=k(g,m),S=k(g,x),P=k(y,m),D=k(y,x),T=[C.x+h,C.y+p,P.x+h,P.y+p,D.x+h,D.y+p,S.x+h,S.y+p];if(Ft(e,t,T))return v(n),!0}else if(zt(s,e,t))return v(n),!0}}n&&(l=l.interactive);for(var w=l.length-1;w>=0;w--){var E=l[w];E.isNode()?y(E)||x(E):m(E)||x(E)||x(E,"source")||x(E,"target")}return u},getAllInBox:function(e,t,n,r){for(var i,a,o=this.getCachedZSortedEles().interactive,s=[],l=Math.min(e,n),u=Math.max(e,n),c=Math.min(t,r),d=Math.max(t,r),h=Dt({x1:e=l,y1:t=c,x2:n=u,y2:r=d}),p=0;p0?Math.max(e-t,0):Math.min(e+t,0)},w=x(m,v),E=x(b,y),k=!1;"auto"===c?u=Math.abs(w)>Math.abs(E)?"horizontal":"vertical":"upward"===c||"downward"===c?(u="vertical",k=!0):"leftward"!==c&&"rightward"!==c||(u="horizontal",k=!0);var C,S="vertical"===u,P=S?E:w,D=S?b:m,T=xt(D),_=!1;(k&&(h||f)||!("downward"===c&&D<0||"upward"===c&&D>0||"leftward"===c&&D>0||"rightward"===c&&D<0)||(P=(T*=-1)*Math.abs(P),_=!0),h)?C=(p<0?1+p:p)*P:C=(p<0?P:0)+p*T;var M=function(e){return Math.abs(e)=Math.abs(P)},B=M(C),N=M(Math.abs(P)-Math.abs(C));if((B||N)&&!_)if(S){var z=Math.abs(D)<=a/2,I=Math.abs(m)<=o/2;if(z){var A=(r.x1+r.x2)/2,L=r.y1,O=r.y2;n.segpts=[A,L,A,O]}else if(I){var R=(r.y1+r.y2)/2,V=r.x1,F=r.x2;n.segpts=[V,R,F,R]}else n.segpts=[r.x1,r.y2]}else{var j=Math.abs(D)<=i/2,q=Math.abs(b)<=s/2;if(j){var Y=(r.y1+r.y2)/2,X=r.x1,W=r.x2;n.segpts=[X,Y,W,Y]}else if(q){var H=(r.x1+r.x2)/2,K=r.y1,G=r.y2;n.segpts=[H,K,H,G]}else n.segpts=[r.x2,r.y1]}else if(S){var U=r.y1+C+(l?a/2*T:0),Z=r.x1,$=r.x2;n.segpts=[Z,U,$,U]}else{var Q=r.x1+C+(l?i/2*T:0),J=r.y1,ee=r.y2;n.segpts=[Q,J,Q,ee]}},Pl.tryToCorrectInvalidPoints=function(e,t){var n=e._private.rscratch;if("bezier"===n.edgeType){var r=t.srcPos,i=t.tgtPos,a=t.srcW,o=t.srcH,s=t.tgtW,l=t.tgtH,u=t.srcShape,c=t.tgtShape,d=!m(n.startX)||!m(n.startY),h=!m(n.arrowStartX)||!m(n.arrowStartY),p=!m(n.endX)||!m(n.endY),f=!m(n.arrowEndX)||!m(n.arrowEndY),g=3*(this.getArrowWidth(e.pstyle("width").pfValue,e.pstyle("arrow-scale").value)*this.arrowShapeWidth),v=wt({x:n.ctrlpts[0],y:n.ctrlpts[1]},{x:n.startX,y:n.startY}),y=vh.poolIndex()){var p=d;d=h,h=p}var f=s.srcPos=d.position(),g=s.tgtPos=h.position(),v=s.srcW=d.outerWidth(),y=s.srcH=d.outerHeight(),b=s.tgtW=h.outerWidth(),x=s.tgtH=h.outerHeight(),w=s.srcShape=n.nodeShapes[t.getNodeShape(d)],E=s.tgtShape=n.nodeShapes[t.getNodeShape(h)];s.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var k=0;k0){var q=u,Y=Et(q,yt(t)),X=Et(q,yt(j)),W=Y;if(X2)Et(q,{x:j[2],y:j[3]})0){var ie=c,ae=Et(ie,yt(t)),oe=Et(ie,yt(re)),se=ae;if(oe2)Et(ie,{x:re[2],y:re[3]})=c||b){d={cp:v,segment:m};break}}if(d)break}var x=d.cp,w=d.segment,E=(c-p)/w.length,k=w.t1-w.t0,C=u?w.t0+k*E:w.t1-k*E;C=Pt(0,C,1),t=St(x.p0,x.p1,x.p2,C),l=function(e,t,n,r){var i=Pt(0,r-.001,1),a=Pt(0,r+.001,1),o=St(e,t,n,i),s=St(e,t,n,a);return zl(o,s)}(x.p0,x.p1,x.p2,C);break;case"straight":case"segments":case"haystack":for(var S,P,D,T,_=0,M=r.allpts.length,B=0;B+3=c));B+=2);var N=(c-P)/S;N=Pt(0,N,1),t=function(e,t,n,r){var i=t.x-e.x,a=t.y-e.y,o=wt(e,t),s=i/o,l=a/o;return n=null==n?0:n,r=null!=r?r:n*o,{x:e.x+s*r,y:e.y+l*r}}(D,T,N),l=zl(D,T)}o("labelX",s,t.x),o("labelY",s,t.y),o("labelAutoAngle",s,l)}};l("source"),l("target"),this.applyLabelDimensions(e)}},Bl.applyLabelDimensions=function(e){this.applyPrefixedLabelDimensions(e),e.isEdge()&&(this.applyPrefixedLabelDimensions(e,"source"),this.applyPrefixedLabelDimensions(e,"target"))},Bl.applyPrefixedLabelDimensions=function(e,t){var n=e._private,r=this.getLabelText(e,t),i=this.calculateLabelDimensions(e,r),a=e.pstyle("line-height").pfValue,o=e.pstyle("text-wrap").strValue,s=Ke(n.rscratch,"labelWrapCachedLines",t)||[],l="wrap"!==o?1:Math.max(s.length,1),u=i.height/l,c=u*a,d=i.width,h=i.height+(l-1)*(a-1)*u;Ge(n.rstyle,"labelWidth",t,d),Ge(n.rscratch,"labelWidth",t,d),Ge(n.rstyle,"labelHeight",t,h),Ge(n.rscratch,"labelHeight",t,h),Ge(n.rscratch,"labelLineHeight",t,c)},Bl.getLabelText=function(e,t){var n=e._private,r=t?t+"-":"",i=e.pstyle(r+"label").strValue,a=e.pstyle("text-transform").value,o=function(e,r){return r?(Ge(n.rscratch,e,t,r),r):Ke(n.rscratch,e,t)};if(!i)return"";"none"==a||("uppercase"==a?i=i.toUpperCase():"lowercase"==a&&(i=i.toLowerCase()));var s=e.pstyle("text-wrap").value;if("wrap"===s){var l=o("labelKey");if(null!=l&&o("labelWrapKey")===l)return o("labelWrapCachedText");for(var u=i.split("\n"),c=e.pstyle("text-max-width").pfValue,d="anywhere"===e.pstyle("text-overflow-wrap").value,h=[],p=/[\s\u200b]+/,f=d?"":" ",g=0;gc){for(var b=v.split(p),x="",w=0;wC)break;S+=i[D],D===i.length-1&&(P=!0)}return P||(S+="…"),S}return i},Bl.getLabelJustification=function(e){var t=e.pstyle("text-justification").strValue,n=e.pstyle("text-halign").strValue;if("auto"!==t)return t;if(!e.isNode())return"center";switch(n){case"left":return"right";case"right":return"left";default:return"center"}},Bl.calculateLabelDimensions=function(e,t){var n=Pe(t,e._private.labelDimsKey),r=this.labelDimCache||(this.labelDimCache=[]),i=r[n];if(null!=i)return i;var a=e.pstyle("font-style").strValue,o=e.pstyle("font-size").pfValue,s=e.pstyle("font-family").strValue,l=e.pstyle("font-weight").strValue,u=this.labelCalcCanvas,c=this.labelCalcCanvasContext;if(!u){u=this.labelCalcCanvas=document.createElement("canvas"),c=this.labelCalcCanvasContext=u.getContext("2d");var d=u.style;d.position="absolute",d.left="-9999px",d.top="-9999px",d.zIndex="-1",d.visibility="hidden",d.pointerEvents="none"}c.font="".concat(a," ").concat(l," ").concat(o,"px ").concat(s);for(var h=0,p=0,f=t.split("\n"),g=0;g1&&void 0!==arguments[1])||arguments[1];if(t.merge(e),n)for(var r=0;r=e.desktopTapThreshold2}var D=i(t);v&&(e.hoverData.tapholdCancelled=!0);n=!0,r(g,["mousemove","vmousemove","tapdrag"],t,{x:c[0],y:c[1]});var T=function(){e.data.bgActivePosistion=void 0,e.hoverData.selecting||o.emit({originalEvent:t,type:"boxstart",position:{x:c[0],y:c[1]}}),f[4]=1,e.hoverData.selecting=!0,e.redrawHint("select",!0),e.redraw()};if(3===e.hoverData.which){if(v){var _={originalEvent:t,type:"cxtdrag",position:{x:c[0],y:c[1]}};b?b.emit(_):o.emit(_),e.hoverData.cxtDragged=!0,e.hoverData.cxtOver&&g===e.hoverData.cxtOver||(e.hoverData.cxtOver&&e.hoverData.cxtOver.emit({originalEvent:t,type:"cxtdragout",position:{x:c[0],y:c[1]}}),e.hoverData.cxtOver=g,g&&g.emit({originalEvent:t,type:"cxtdragover",position:{x:c[0],y:c[1]}}))}}else if(e.hoverData.dragging){if(n=!0,o.panningEnabled()&&o.userPanningEnabled()){var M;if(e.hoverData.justStartedPan){var B=e.hoverData.mdownPos;M={x:(c[0]-B[0])*s,y:(c[1]-B[1])*s},e.hoverData.justStartedPan=!1}else M={x:x[0]*s,y:x[1]*s};o.panBy(M),o.emit("dragpan"),e.hoverData.dragged=!0}c=e.projectIntoViewport(t.clientX,t.clientY)}else if(1!=f[4]||null!=b&&!b.pannable()){if(b&&b.pannable()&&b.active()&&b.unactivate(),b&&b.grabbed()||g==y||(y&&r(y,["mouseout","tapdragout"],t,{x:c[0],y:c[1]}),g&&r(g,["mouseover","tapdragover"],t,{x:c[0],y:c[1]}),e.hoverData.last=g),b)if(v){if(o.boxSelectionEnabled()&&D)b&&b.grabbed()&&(d(w),b.emit("freeon"),w.emit("free"),e.dragData.didDrag&&(b.emit("dragfreeon"),w.emit("dragfree"))),T();else if(b&&b.grabbed()&&e.nodeIsDraggable(b)){var N=!e.dragData.didDrag;N&&e.redrawHint("eles",!0),e.dragData.didDrag=!0,e.hoverData.draggingEles||u(w,{inDragLayer:!0});var z={x:0,y:0};if(m(x[0])&&m(x[1])&&(z.x+=x[0],z.y+=x[1],N)){var I=e.hoverData.dragDelta;I&&m(I[0])&&m(I[1])&&(z.x+=I[0],z.y+=I[1])}e.hoverData.draggingEles=!0,w.silentShift(z).emit("position drag"),e.redrawHint("drag",!0),e.redraw()}}else!function(){var t=e.hoverData.dragDelta=e.hoverData.dragDelta||[];0===t.length?(t.push(x[0]),t.push(x[1])):(t[0]+=x[0],t[1]+=x[1])}();n=!0}else if(v){if(e.hoverData.dragging||!o.boxSelectionEnabled()||!D&&o.panningEnabled()&&o.userPanningEnabled()){if(!e.hoverData.selecting&&o.panningEnabled()&&o.userPanningEnabled()){a(b,e.hoverData.downs)&&(e.hoverData.dragging=!0,e.hoverData.justStartedPan=!0,f[4]=0,e.data.bgActivePosistion=yt(h),e.redrawHint("select",!0),e.redraw())}}else T();b&&b.pannable()&&b.active()&&b.unactivate()}return f[2]=c[0],f[3]=c[1],n?(t.stopPropagation&&t.stopPropagation(),t.preventDefault&&t.preventDefault(),!1):void 0}}),!1),e.registerBinding(t,"mouseup",(function(t){if(e.hoverData.capture){e.hoverData.capture=!1;var a=e.cy,o=e.projectIntoViewport(t.clientX,t.clientY),s=e.selection,l=e.findNearestElement(o[0],o[1],!0,!1),u=e.dragData.possibleDragElements,c=e.hoverData.down,h=i(t);if(e.data.bgActivePosistion&&(e.redrawHint("select",!0),e.redraw()),e.hoverData.tapholdCancelled=!0,e.data.bgActivePosistion=void 0,c&&c.unactivate(),3===e.hoverData.which){var p={originalEvent:t,type:"cxttapend",position:{x:o[0],y:o[1]}};if(c?c.emit(p):a.emit(p),!e.hoverData.cxtDragged){var f={originalEvent:t,type:"cxttap",position:{x:o[0],y:o[1]}};c?c.emit(f):a.emit(f)}e.hoverData.cxtDragged=!1,e.hoverData.which=null}else if(1===e.hoverData.which){if(r(l,["mouseup","tapend","vmouseup"],t,{x:o[0],y:o[1]}),e.dragData.didDrag||e.hoverData.dragged||e.hoverData.selecting||e.hoverData.isOverThresholdDrag||(r(c,["click","tap","vclick"],t,{x:o[0],y:o[1]}),x=!1,t.timeStamp-w<=a.multiClickDebounceTime()?(b&&clearTimeout(b),x=!0,w=null,r(c,["dblclick","dbltap","vdblclick"],t,{x:o[0],y:o[1]})):(b=setTimeout((function(){x||r(c,["oneclick","onetap","voneclick"],t,{x:o[0],y:o[1]})}),a.multiClickDebounceTime()),w=t.timeStamp)),null!=c||e.dragData.didDrag||e.hoverData.selecting||e.hoverData.dragged||i(t)||(a.$(n).unselect(["tapunselect"]),u.length>0&&e.redrawHint("eles",!0),e.dragData.possibleDragElements=u=a.collection()),l!=c||e.dragData.didDrag||e.hoverData.selecting||null!=l&&l._private.selectable&&(e.hoverData.dragging||("additive"===a.selectionType()||h?l.selected()?l.unselect(["tapunselect"]):l.select(["tapselect"]):h||(a.$(n).unmerge(l).unselect(["tapunselect"]),l.select(["tapselect"]))),e.redrawHint("eles",!0)),e.hoverData.selecting){var g=a.collection(e.getAllInBox(s[0],s[1],s[2],s[3]));e.redrawHint("select",!0),g.length>0&&e.redrawHint("eles",!0),a.emit({type:"boxend",originalEvent:t,position:{x:o[0],y:o[1]}});var v=function(e){return e.selectable()&&!e.selected()};"additive"===a.selectionType()||h||a.$(n).unmerge(g).unselect(),g.emit("box").stdFilter(v).select().emit("boxselect"),e.redraw()}if(e.hoverData.dragging&&(e.hoverData.dragging=!1,e.redrawHint("select",!0),e.redrawHint("eles",!0),e.redraw()),!s[4]){e.redrawHint("drag",!0),e.redrawHint("eles",!0);var y=c&&c.grabbed();d(u),y&&(c.emit("freeon"),u.emit("free"),e.dragData.didDrag&&(c.emit("dragfreeon"),u.emit("dragfree")))}}s[4]=0,e.hoverData.down=null,e.hoverData.cxtStarted=!1,e.hoverData.draggingEles=!1,e.hoverData.selecting=!1,e.hoverData.isOverThresholdDrag=!1,e.dragData.didDrag=!1,e.hoverData.dragged=!1,e.hoverData.dragDelta=[],e.hoverData.mdownPos=null,e.hoverData.mdownGPos=null}}),!1);var k,C,S,P,D,T,_,M,B,N,z,I,A,L=function(t){if(!e.scrollingPage){var n=e.cy,r=n.zoom(),i=n.pan(),a=e.projectIntoViewport(t.clientX,t.clientY),o=[a[0]*r+i.x,a[1]*r+i.y];if(e.hoverData.draggingEles||e.hoverData.dragging||e.hoverData.cxtStarted||0!==e.selection[4])t.preventDefault();else if(n.panningEnabled()&&n.userPanningEnabled()&&n.zoomingEnabled()&&n.userZoomingEnabled()){var s;t.preventDefault(),e.data.wheelZooming=!0,clearTimeout(e.data.wheelTimeout),e.data.wheelTimeout=setTimeout((function(){e.data.wheelZooming=!1,e.redrawHint("eles",!0),e.redraw()}),150),s=null!=t.deltaY?t.deltaY/-250:null!=t.wheelDeltaY?t.wheelDeltaY/1e3:t.wheelDelta/1e3,s*=e.wheelSensitivity,1===t.deltaMode&&(s*=33);var l=n.zoom()*Math.pow(10,s);"gesturechange"===t.type&&(l=e.gestureStartZoom*t.scale),n.zoom({level:l,renderedPosition:{x:o[0],y:o[1]}}),n.emit("gesturechange"===t.type?"pinchzoom":"scrollzoom")}}};e.registerBinding(e.container,"wheel",L,!0),e.registerBinding(t,"scroll",(function(t){e.scrollingPage=!0,clearTimeout(e.scrollingPageTimeout),e.scrollingPageTimeout=setTimeout((function(){e.scrollingPage=!1}),250)}),!0),e.registerBinding(e.container,"gesturestart",(function(t){e.gestureStartZoom=e.cy.zoom(),e.hasTouchStarted||t.preventDefault()}),!0),e.registerBinding(e.container,"gesturechange",(function(t){e.hasTouchStarted||L(t)}),!0),e.registerBinding(e.container,"mouseout",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseout",position:{x:n[0],y:n[1]}})}),!1),e.registerBinding(e.container,"mouseover",(function(t){var n=e.projectIntoViewport(t.clientX,t.clientY);e.cy.emit({originalEvent:t,type:"mouseover",position:{x:n[0],y:n[1]}})}),!1);var O,R,V,F,j,q,Y,X=function(e,t,n,r){return Math.sqrt((n-e)*(n-e)+(r-t)*(r-t))},W=function(e,t,n,r){return(n-e)*(n-e)+(r-t)*(r-t)};if(e.registerBinding(e.container,"touchstart",O=function(t){if(e.hasTouchStarted=!0,E(t)){p(),e.touchData.capture=!0,e.data.bgActivePosistion=void 0;var n=e.cy,i=e.touchData.now,a=e.touchData.earlier;if(t.touches[0]){var o=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);i[0]=o[0],i[1]=o[1]}if(t.touches[1]){o=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY);i[2]=o[0],i[3]=o[1]}if(t.touches[2]){o=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY);i[4]=o[0],i[5]=o[1]}if(t.touches[1]){e.touchData.singleTouchMoved=!0,d(e.dragData.touchDragEles);var l=e.findContainerClientCoords();B=l[0],N=l[1],z=l[2],I=l[3],k=t.touches[0].clientX-B,C=t.touches[0].clientY-N,S=t.touches[1].clientX-B,P=t.touches[1].clientY-N,A=0<=k&&k<=z&&0<=S&&S<=z&&0<=C&&C<=I&&0<=P&&P<=I;var h=n.pan(),f=n.zoom();D=X(k,C,S,P),T=W(k,C,S,P),M=[((_=[(k+S)/2,(C+P)/2])[0]-h.x)/f,(_[1]-h.y)/f];if(T<4e4&&!t.touches[2]){var g=e.findNearestElement(i[0],i[1],!0,!0),v=e.findNearestElement(i[2],i[3],!0,!0);return g&&g.isNode()?(g.activate().emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start=g):v&&v.isNode()?(v.activate().emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start=v):n.emit({originalEvent:t,type:"cxttapstart",position:{x:i[0],y:i[1]}}),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!0,e.touchData.cxtDragged=!1,e.data.bgActivePosistion=void 0,void e.redraw()}}if(t.touches[2])n.boxSelectionEnabled()&&t.preventDefault();else if(t.touches[1]);else if(t.touches[0]){var y=e.findNearestElements(i[0],i[1],!0,!0),m=y[0];if(null!=m&&(m.activate(),e.touchData.start=m,e.touchData.starts=y,e.nodeIsGrabbable(m))){var b=e.dragData.touchDragEles=n.collection(),x=null;e.redrawHint("eles",!0),e.redrawHint("drag",!0),m.selected()?(x=n.$((function(t){return t.selected()&&e.nodeIsGrabbable(t)})),u(x,{addToList:b})):c(m,{addToList:b}),s(m);var w=function(e){return{originalEvent:t,type:e,position:{x:i[0],y:i[1]}}};m.emit(w("grabon")),x?x.forEach((function(e){e.emit(w("grab"))})):m.emit(w("grab"))}r(m,["touchstart","tapstart","vmousedown"],t,{x:i[0],y:i[1]}),null==m&&(e.data.bgActivePosistion={x:o[0],y:o[1]},e.redrawHint("select",!0),e.redraw()),e.touchData.singleTouchMoved=!1,e.touchData.singleTouchStartTime=+new Date,clearTimeout(e.touchData.tapholdTimeout),e.touchData.tapholdTimeout=setTimeout((function(){!1!==e.touchData.singleTouchMoved||e.pinching||e.touchData.selecting||r(e.touchData.start,["taphold"],t,{x:i[0],y:i[1]})}),e.tapholdDuration)}if(t.touches.length>=1){for(var L=e.touchData.startPosition=[null,null,null,null,null,null],O=0;O=e.touchTapThreshold2}if(n&&e.touchData.cxt){t.preventDefault();var w=t.touches[0].clientX-B,_=t.touches[0].clientY-N,z=t.touches[1].clientX-B,I=t.touches[1].clientY-N,L=W(w,_,z,I);if(L/T>=2.25||L>=22500){e.touchData.cxt=!1,e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var O={originalEvent:t,type:"cxttapend",position:{x:s[0],y:s[1]}};e.touchData.start?(e.touchData.start.unactivate().emit(O),e.touchData.start=null):o.emit(O)}}if(n&&e.touchData.cxt){O={originalEvent:t,type:"cxtdrag",position:{x:s[0],y:s[1]}};e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.touchData.start?e.touchData.start.emit(O):o.emit(O),e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxtDragged=!0;var R=e.findNearestElement(s[0],s[1],!0,!0);e.touchData.cxtOver&&R===e.touchData.cxtOver||(e.touchData.cxtOver&&e.touchData.cxtOver.emit({originalEvent:t,type:"cxtdragout",position:{x:s[0],y:s[1]}}),e.touchData.cxtOver=R,R&&R.emit({originalEvent:t,type:"cxtdragover",position:{x:s[0],y:s[1]}}))}else if(n&&t.touches[2]&&o.boxSelectionEnabled())t.preventDefault(),e.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,e.touchData.selecting||o.emit({originalEvent:t,type:"boxstart",position:{x:s[0],y:s[1]}}),e.touchData.selecting=!0,e.touchData.didSelect=!0,i[4]=1,i&&0!==i.length&&void 0!==i[0]?(i[2]=(s[0]+s[2]+s[4])/3,i[3]=(s[1]+s[3]+s[5])/3):(i[0]=(s[0]+s[2]+s[4])/3,i[1]=(s[1]+s[3]+s[5])/3,i[2]=(s[0]+s[2]+s[4])/3+1,i[3]=(s[1]+s[3]+s[5])/3+1),e.redrawHint("select",!0),e.redraw();else if(n&&t.touches[1]&&!e.touchData.didSelect&&o.zoomingEnabled()&&o.panningEnabled()&&o.userZoomingEnabled()&&o.userPanningEnabled()){if(t.preventDefault(),e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),ee=e.dragData.touchDragEles){e.redrawHint("drag",!0);for(var V=0;V0&&!e.hoverData.draggingEles&&!e.swipePanning&&null!=e.data.bgActivePosistion&&(e.data.bgActivePosistion=void 0,e.redrawHint("select",!0),e.redraw())}},!1),e.registerBinding(t,"touchcancel",V=function(t){var n=e.touchData.start;e.touchData.capture=!1,n&&n.unactivate()}),e.registerBinding(t,"touchend",F=function(t){var i=e.touchData.start;if(e.touchData.capture){0===t.touches.length&&(e.touchData.capture=!1),t.preventDefault();var a=e.selection;e.swipePanning=!1,e.hoverData.draggingEles=!1;var o,s=e.cy,l=s.zoom(),u=e.touchData.now,c=e.touchData.earlier;if(t.touches[0]){var h=e.projectIntoViewport(t.touches[0].clientX,t.touches[0].clientY);u[0]=h[0],u[1]=h[1]}if(t.touches[1]){h=e.projectIntoViewport(t.touches[1].clientX,t.touches[1].clientY);u[2]=h[0],u[3]=h[1]}if(t.touches[2]){h=e.projectIntoViewport(t.touches[2].clientX,t.touches[2].clientY);u[4]=h[0],u[5]=h[1]}if(i&&i.unactivate(),e.touchData.cxt){if(o={originalEvent:t,type:"cxttapend",position:{x:u[0],y:u[1]}},i?i.emit(o):s.emit(o),!e.touchData.cxtDragged){var p={originalEvent:t,type:"cxttap",position:{x:u[0],y:u[1]}};i?i.emit(p):s.emit(p)}return e.touchData.start&&(e.touchData.start._private.grabbed=!1),e.touchData.cxt=!1,e.touchData.start=null,void e.redraw()}if(!t.touches[2]&&s.boxSelectionEnabled()&&e.touchData.selecting){e.touchData.selecting=!1;var f=s.collection(e.getAllInBox(a[0],a[1],a[2],a[3]));a[0]=void 0,a[1]=void 0,a[2]=void 0,a[3]=void 0,a[4]=0,e.redrawHint("select",!0),s.emit({type:"boxend",originalEvent:t,position:{x:u[0],y:u[1]}});f.emit("box").stdFilter((function(e){return e.selectable()&&!e.selected()})).select().emit("boxselect"),f.nonempty()&&e.redrawHint("eles",!0),e.redraw()}if(null!=i&&i.unactivate(),t.touches[2])e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);else if(t.touches[1]);else if(t.touches[0]);else if(!t.touches[0]){e.data.bgActivePosistion=void 0,e.redrawHint("select",!0);var g=e.dragData.touchDragEles;if(null!=i){var v=i._private.grabbed;d(g),e.redrawHint("drag",!0),e.redrawHint("eles",!0),v&&(i.emit("freeon"),g.emit("free"),e.dragData.didDrag&&(i.emit("dragfreeon"),g.emit("dragfree"))),r(i,["touchend","tapend","vmouseup","tapdragout"],t,{x:u[0],y:u[1]}),i.unactivate(),e.touchData.start=null}else{var y=e.findNearestElement(u[0],u[1],!0,!0);r(y,["touchend","tapend","vmouseup","tapdragout"],t,{x:u[0],y:u[1]})}var m=e.touchData.startPosition[0]-u[0],b=m*m,x=e.touchData.startPosition[1]-u[1],w=(b+x*x)*l*l;e.touchData.singleTouchMoved||(i||s.$(":selected").unselect(["tapunselect"]),r(i,["tap","vclick"],t,{x:u[0],y:u[1]}),j=!1,t.timeStamp-Y<=s.multiClickDebounceTime()?(q&&clearTimeout(q),j=!0,Y=null,r(i,["dbltap","vdblclick"],t,{x:u[0],y:u[1]})):(q=setTimeout((function(){j||r(i,["onetap","voneclick"],t,{x:u[0],y:u[1]})}),s.multiClickDebounceTime()),Y=t.timeStamp)),null!=i&&!e.dragData.didDrag&&i._private.selectable&&w2){for(var T=[u[0],u[1]],_=Math.pow(T[0]-e,2)+Math.pow(T[1]-t,2),M=1;M0)return g[0]}return null},h=Object.keys(c),p=0;p0?l:At(i,a,e,t,n,r,o)},checkPoint:function(e,t,n,r,i,a,o){var s=Jt(r,i),l=2*s;if(jt(e,t,this.points,a,o,r,i-l,[0,-1],n))return!0;if(jt(e,t,this.points,a,o,r-l,i,[0,-1],n))return!0;var u=r/2+2*n,c=i/2+2*n;return!!Ft(e,t,[a-u,o-c,a-u,o,a+u,o,a+u,o-c])||(!!Xt(e,t,l,l,a+r/2-s,o+i/2-s,n)||!!Xt(e,t,l,l,a-r/2+s,o+i/2-s,n))}}},jl.registerNodeShapes=function(){var e=this.nodeShapes={},t=this;this.generateEllipse(),this.generatePolygon("triangle",Zt(3,0)),this.generateRoundPolygon("round-triangle",Zt(3,0)),this.generatePolygon("rectangle",Zt(4,0)),e.square=e.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();var n=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",n),this.generateRoundPolygon("round-diamond",n),this.generatePolygon("pentagon",Zt(5,0)),this.generateRoundPolygon("round-pentagon",Zt(5,0)),this.generatePolygon("hexagon",Zt(6,0)),this.generateRoundPolygon("round-hexagon",Zt(6,0)),this.generatePolygon("heptagon",Zt(7,0)),this.generateRoundPolygon("round-heptagon",Zt(7,0)),this.generatePolygon("octagon",Zt(8,0)),this.generateRoundPolygon("round-octagon",Zt(8,0));var r=new Array(20),i=Qt(5,0),a=Qt(5,Math.PI/5),o=.5*(3-Math.sqrt(5));o*=1.57;for(var s=0;s=e.deqFastCost*g)break}else if(i){if(p>=e.deqCost*l||p>=e.deqAvgCost*s)break}else if(f>=e.deqNoDrawCost*(1e3/60))break;var v=e.deq(t,d,c);if(!(v.length>0))break;for(var y=0;y0&&(e.onDeqd(t,u),!i&&e.shouldRedraw(t,u,d,c)&&r())}),i(t))}}},Kl=function(){function e(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ie;t(this,e),this.idsByKey=new Ue,this.keyForId=new Ue,this.cachesByLvl=new Ue,this.lvls=[],this.getKey=n,this.doesEleInvalidateKey=r}return r(e,[{key:"getIdsFor",value:function(e){null==e&&Oe("Can not get id list for null key");var t=this.idsByKey,n=this.idsByKey.get(e);return n||(n=new $e,t.set(e,n)),n}},{key:"addIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).add(t)}},{key:"deleteIdForKey",value:function(e,t){null!=e&&this.getIdsFor(e).delete(t)}},{key:"getNumberOfIdsForKey",value:function(e){return null==e?0:this.getIdsFor(e).size}},{key:"updateKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t),r=this.getKey(e);this.deleteIdForKey(n,t),this.addIdForKey(r,t),this.keyForId.set(t,r)}},{key:"deleteKeyMappingFor",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteIdForKey(n,t),this.keyForId.delete(t)}},{key:"keyHasChangedFor",value:function(e){var t=e.id();return this.keyForId.get(t)!==this.getKey(e)}},{key:"isInvalid",value:function(e){return this.keyHasChangedFor(e)||this.doesEleInvalidateKey(e)}},{key:"getCachesAt",value:function(e){var t=this.cachesByLvl,n=this.lvls,r=t.get(e);return r||(r=new Ue,t.set(e,r),n.push(e)),r}},{key:"getCache",value:function(e,t){return this.getCachesAt(t).get(e)}},{key:"get",value:function(e,t){var n=this.getKey(e),r=this.getCache(n,t);return null!=r&&this.updateKeyMappingFor(e),r}},{key:"getForCachedKey",value:function(e,t){var n=this.keyForId.get(e.id());return this.getCache(n,t)}},{key:"hasCache",value:function(e,t){return this.getCachesAt(t).has(e)}},{key:"has",value:function(e,t){var n=this.getKey(e);return this.hasCache(n,t)}},{key:"setCache",value:function(e,t,n){n.key=e,this.getCachesAt(t).set(e,n)}},{key:"set",value:function(e,t,n){var r=this.getKey(e);this.setCache(r,t,n),this.updateKeyMappingFor(e)}},{key:"deleteCache",value:function(e,t){this.getCachesAt(t).delete(e)}},{key:"delete",value:function(e,t){var n=this.getKey(e);this.deleteCache(n,t)}},{key:"invalidateKey",value:function(e){var t=this;this.lvls.forEach((function(n){return t.deleteCache(e,n)}))}},{key:"invalidate",value:function(e){var t=e.id(),n=this.keyForId.get(t);this.deleteKeyMappingFor(e);var r=this.doesEleInvalidateKey(e);return r&&this.invalidateKey(n),r||0===this.getNumberOfIdsForKey(n)}}]),e}(),Gl={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},Ul=Xe({getKey:null,doesEleInvalidateKey:Ie,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:ze,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),Zl=function(e,t){this.renderer=e,this.onDequeues=[];var n=Ul(t);I(this,n),this.lookup=new Kl(n.getKey,n.doesEleInvalidateKey),this.setupDequeueing()},$l=Zl.prototype;$l.reasons=Gl,$l.getTextureQueue=function(e){return this.eleImgCaches=this.eleImgCaches||{},this.eleImgCaches[e]=this.eleImgCaches[e]||[]},$l.getRetiredTextureQueue=function(e){var t=this.eleImgCaches.retired=this.eleImgCaches.retired||{};return t[e]=t[e]||[]},$l.getElementQueue=function(){return this.eleCacheQueue=this.eleCacheQueue||new tt((function(e,t){return t.reqs-e.reqs}))},$l.getElementKeyToQueue=function(){return this.eleKeyToCacheQueue=this.eleKeyToCacheQueue||{}},$l.getElement=function(e,t,n,r,i){var a=this,o=this.renderer,s=o.cy.zoom(),l=this.lookup;if(!t||0===t.w||0===t.h||isNaN(t.w)||isNaN(t.h)||!e.visible()||e.removed())return null;if(!a.allowEdgeTxrCaching&&e.isEdge()||!a.allowParentTxrCaching&&e.isParent())return null;if(null==r&&(r=Math.ceil(bt(s*n))),r<-4)r=-4;else if(s>=7.99||r>3)return null;var u=Math.pow(2,r),c=t.h*u,d=t.w*u,h=o.eleTextBiggerThanMin(e,u);if(!this.isVisible(e,h))return null;var p,f=l.get(e,r);if(f&&f.invalidated&&(f.invalidated=!1,f.texture.invalidatedWidth-=f.width),f)return f;if(p=c<=25?25:c<=50?50:50*Math.ceil(c/50),c>1024||d>1024)return null;var g=a.getTextureQueue(p),v=g[g.length-2],y=function(){return a.recycleTexture(p,d)||a.addTexture(p,d)};v||(v=g[g.length-1]),v||(v=y()),v.width-v.usedWidthr;D--)S=a.getElement(e,t,n,D,Gl.downscale);P()}else{var T;if(!x&&!w&&!E)for(var _=r-1;_>=-4;_--){var M=l.get(e,_);if(M){T=M;break}}if(b(T))return a.queueElement(e,r),T;v.context.translate(v.usedWidth,0),v.context.scale(u,u),this.drawElement(v.context,e,t,h,!1),v.context.scale(1/u,1/u),v.context.translate(-v.usedWidth,0)}return f={x:v.usedWidth,texture:v,level:r,scale:u,width:d,height:c,scaledLabelShown:h},v.usedWidth+=Math.ceil(d+8),v.eleCaches.push(f),l.set(e,r,f),a.checkTextureFullness(v),f},$l.invalidateElements=function(e){for(var t=0;t=.2*e.width&&this.retireTexture(e)},$l.checkTextureFullness=function(e){var t=this.getTextureQueue(e.height);e.usedWidth/e.width>.8&&e.fullnessChecks>=10?We(t,e):e.fullnessChecks++},$l.retireTexture=function(e){var t=e.height,n=this.getTextureQueue(t),r=this.lookup;We(n,e),e.retired=!0;for(var i=e.eleCaches,a=0;a=t)return a.retired=!1,a.usedWidth=0,a.invalidatedWidth=0,a.fullnessChecks=0,He(a.eleCaches),a.context.setTransform(1,0,0,1,0,0),a.context.clearRect(0,0,a.width,a.height),We(r,a),n.push(a),a}},$l.queueElement=function(e,t){var n=this.getElementQueue(),r=this.getElementKeyToQueue(),i=this.getKey(e),a=r[i];if(a)a.level=Math.max(a.level,t),a.eles.merge(e),a.reqs++,n.updateItem(a);else{var o={eles:e.spawn().merge(e),level:t,reqs:1,key:i};n.push(o),r[i]=o}},$l.dequeue=function(e){for(var t=this.getElementQueue(),n=this.getElementKeyToQueue(),r=[],i=this.lookup,a=0;a<1&&t.size()>0;a++){var o=t.pop(),s=o.key,l=o.eles[0],u=i.hasCache(l,o.level);if(n[s]=null,!u){r.push(o);var c=this.getBoundingBox(l);this.getElement(l,c,e,o.level,Gl.dequeue)}}return r},$l.removeFromQueue=function(e){var t=this.getElementQueue(),n=this.getElementKeyToQueue(),r=this.getKey(e),i=n[r];null!=i&&(1===i.eles.length?(i.reqs=Ne,t.updateItem(i),t.pop(),n[r]=null):i.eles.unmerge(e))},$l.onDequeue=function(e){this.onDequeues.push(e)},$l.offDequeue=function(e){We(this.onDequeues,e)},$l.setupDequeueing=Hl({deqRedrawThreshold:100,deqCost:.15,deqAvgCost:.1,deqNoDrawCost:.9,deqFastCost:.9,deq:function(e,t,n){return e.dequeue(t,n)},onDeqd:function(e,t){for(var n=0;n=3.99||n>2)return null;r.validateLayersElesOrdering(n,e);var o,s,l=r.layersByLevel,u=Math.pow(2,n),c=l[n]=l[n]||[];if(r.levelIsComplete(n,e))return c;!function(){var t=function(t){if(r.validateLayersElesOrdering(t,e),r.levelIsComplete(t,e))return s=l[t],!0},i=function(e){if(!s)for(var r=n+e;-4<=r&&r<=2&&!t(r);r+=e);};i(1),i(-1);for(var a=c.length-1;a>=0;a--){var o=c[a];o.invalid&&We(c,o)}}();var d=function(t){var i=(t=t||{}).after;if(function(){if(!o){o=Dt();for(var t=0;t16e6)return null;var a=r.makeLayer(o,n);if(null!=i){var s=c.indexOf(i)+1;c.splice(s,0,a)}else(void 0===t.insert||t.insert)&&c.unshift(a);return a};if(r.skipping&&!a)return null;for(var h=null,p=e.length/1,f=!a,g=0;g=p||!It(h.bb,v.boundingBox()))&&!(h=d({insert:!0,after:h})))return null;s||f?r.queueLayer(h,v):r.drawEleInLayer(h,v,n,t),h.eles.push(v),m[n]=h}}return s||(f?null:c)},Jl.getEleLevelForLayerLevel=function(e,t){return e},Jl.drawEleInLayer=function(e,t,n,r){var i=this.renderer,a=e.context,o=t.boundingBox();0!==o.w&&0!==o.h&&t.visible()&&(n=this.getEleLevelForLayerLevel(n,r),i.setImgSmoothing(a,!1),i.drawCachedElement(a,t,null,null,n,!0),i.setImgSmoothing(a,!0))},Jl.levelIsComplete=function(e,t){var n=this.layersByLevel[e];if(!n||0===n.length)return!1;for(var r=0,i=0;i0)return!1;if(a.invalid)return!1;r+=a.eles.length}return r===t.length},Jl.validateLayersElesOrdering=function(e,t){var n=this.layersByLevel[e];if(n)for(var r=0;r0){e=!0;break}}return e},Jl.invalidateElements=function(e){var t=this;0!==e.length&&(t.lastInvalidationTime=be(),0!==e.length&&t.haveLayers()&&t.updateElementsInLayers(e,(function(e,n,r){t.invalidateLayer(e)})))},Jl.invalidateLayer=function(e){if(this.lastInvalidationTime=be(),!e.invalid){var t=e.level,n=e.eles,r=this.layersByLevel[t];We(r,e),e.elesQueue=[],e.invalid=!0,e.replacement&&(e.replacement.invalid=!0);for(var i=0;i3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],o=this,s=t._private.rscratch;if((!a||t.visible())&&!s.badLine&&null!=s.allpts&&!isNaN(s.allpts[0])){var l;n&&(l=n,e.translate(-l.x1,-l.y1));var u=a?t.pstyle("opacity").value:1,c=a?t.pstyle("line-opacity").value:1,d=t.pstyle("curve-style").value,h=t.pstyle("line-style").value,p=t.pstyle("width").pfValue,f=t.pstyle("line-cap").value,g=u*c,v=u*c,y=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g;"straight-triangle"===d?(o.eleStrokeStyle(e,t,n),o.drawEdgeTrianglePath(t,e,s.allpts)):(e.lineWidth=p,e.lineCap=f,o.eleStrokeStyle(e,t,n),o.drawEdgePath(t,e,s.allpts,h),e.lineCap="butt")},m=function(){i&&o.drawEdgeOverlay(e,t)},b=function(){i&&o.drawEdgeUnderlay(e,t)},x=function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:v;o.drawArrowheads(e,t,n)},w=function(){o.drawElementText(e,t,null,r)};e.lineJoin="round";var E="yes"===t.pstyle("ghost").value;if(E){var k=t.pstyle("ghost-offset-x").pfValue,C=t.pstyle("ghost-offset-y").pfValue,S=t.pstyle("ghost-opacity").value,P=g*S;e.translate(k,C),y(P),x(P),e.translate(-k,-C)}b(),y(),x(),m(),w(),n&&e.translate(l.x1,l.y1)}}},yu=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(t,n){if(n.visible()){var r=n.pstyle("".concat(e,"-opacity")).value;if(0!==r){var i=this,a=i.usePaths(),o=n._private.rscratch,s=2*n.pstyle("".concat(e,"-padding")).pfValue,l=n.pstyle("".concat(e,"-color")).value;t.lineWidth=s,"self"!==o.edgeType||a?t.lineCap="round":t.lineCap="butt",i.colorStrokeStyle(t,l[0],l[1],l[2],r),i.drawEdgePath(n,t,o.allpts,"solid")}}}};vu.drawEdgeOverlay=yu("overlay"),vu.drawEdgeUnderlay=yu("underlay"),vu.drawEdgePath=function(e,t,n,r){var i,a=e._private.rscratch,o=t,s=!1,l=this.usePaths(),u=e.pstyle("line-dash-pattern").pfValue,c=e.pstyle("line-dash-offset").pfValue;if(l){var d=n.join("$");a.pathCacheKey&&a.pathCacheKey===d?(i=t=a.pathCache,s=!0):(i=t=new Path2D,a.pathCacheKey=d,a.pathCache=i)}if(o.setLineDash)switch(r){case"dotted":o.setLineDash([1,1]);break;case"dashed":o.setLineDash(u),o.lineDashOffset=c;break;case"solid":o.setLineDash([])}if(!s&&!a.badLine)switch(t.beginPath&&t.beginPath(),t.moveTo(n[0],n[1]),a.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var h=2;h+35&&void 0!==arguments[5]?arguments[5]:5;e.beginPath(),e.moveTo(t+a,n),e.lineTo(t+r-a,n),e.quadraticCurveTo(t+r,n,t+r,n+a),e.lineTo(t+r,n+i-a),e.quadraticCurveTo(t+r,n+i,t+r-a,n+i),e.lineTo(t+a,n+i),e.quadraticCurveTo(t,n+i,t,n+i-a),e.lineTo(t,n+a),e.quadraticCurveTo(t,n,t+a,n),e.closePath(),e.fill()}bu.eleTextBiggerThanMin=function(e,t){if(!t){var n=e.cy().zoom(),r=this.getPixelRatio(),i=Math.ceil(bt(n*r));t=Math.pow(2,i)}return!(e.pstyle("font-size").pfValue*t5&&void 0!==arguments[5])||arguments[5],o=this;if(null==r){if(a&&!o.eleTextBiggerThanMin(t))return}else if(!1===r)return;if(t.isNode()){var s=t.pstyle("label");if(!s||!s.value)return;var l=o.getLabelJustification(t);e.textAlign=l,e.textBaseline="bottom"}else{var u=t.element()._private.rscratch.badLine,c=t.pstyle("label"),d=t.pstyle("source-label"),h=t.pstyle("target-label");if(u||(!c||!c.value)&&(!d||!d.value)&&(!h||!h.value))return;e.textAlign="center",e.textBaseline="bottom"}var p,f=!n;n&&(p=n,e.translate(-p.x1,-p.y1)),null==i?(o.drawText(e,t,null,f,a),t.isEdge()&&(o.drawText(e,t,"source",f,a),o.drawText(e,t,"target",f,a))):o.drawText(e,t,i,f,a),n&&e.translate(p.x1,p.y1)},bu.getFontCache=function(e){var t;this.fontCaches=this.fontCaches||[];for(var n=0;n2&&void 0!==arguments[2])||arguments[2],r=t.pstyle("font-style").strValue,i=t.pstyle("font-size").pfValue+"px",a=t.pstyle("font-family").strValue,o=t.pstyle("font-weight").strValue,s=n?t.effectiveOpacity()*t.pstyle("text-opacity").value:1,l=t.pstyle("text-outline-opacity").value*s,u=t.pstyle("color").value,c=t.pstyle("text-outline-color").value;e.font=r+" "+o+" "+i+" "+a,e.lineJoin="round",this.colorFillStyle(e,u[0],u[1],u[2],s),this.colorStrokeStyle(e,c[0],c[1],c[2],l)},bu.getTextAngle=function(e,t){var n=e._private.rscratch,r=t?t+"-":"",i=e.pstyle(r+"text-rotation"),a=Ke(n,"labelAngle",t);return"autorotate"===i.strValue?e.isEdge()?a:0:"none"===i.strValue?0:i.pfValue},bu.drawText=function(e,t,n){var r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a=t._private,o=a.rscratch,s=i?t.effectiveOpacity():1;if(!i||0!==s&&0!==t.pstyle("text-opacity").value){"main"===n&&(n=null);var l,u,c=Ke(o,"labelX",n),d=Ke(o,"labelY",n),h=this.getLabelText(t,n);if(null!=h&&""!==h&&!isNaN(c)&&!isNaN(d)){this.setupTextStyle(e,t,i);var p,f=n?n+"-":"",g=Ke(o,"labelWidth",n),v=Ke(o,"labelHeight",n),y=t.pstyle(f+"text-margin-x").pfValue,m=t.pstyle(f+"text-margin-y").pfValue,b=t.isEdge(),x=t.pstyle("text-halign").value,w=t.pstyle("text-valign").value;switch(b&&(x="center",w="center"),c+=y,d+=m,0!==(p=r?this.getTextAngle(t,n):0)&&(l=c,u=d,e.translate(l,u),e.rotate(p),c=0,d=0),w){case"top":break;case"center":d+=v/2;break;case"bottom":d+=v}var E=t.pstyle("text-background-opacity").value,k=t.pstyle("text-border-opacity").value,C=t.pstyle("text-border-width").pfValue,S=t.pstyle("text-background-padding").pfValue;if(E>0||C>0&&k>0){var P=c-S;switch(x){case"left":P-=g;break;case"center":P-=g/2}var D=d-v-S,T=g+2*S,_=v+2*S;if(E>0){var M=e.fillStyle,B=t.pstyle("text-background-color").value;e.fillStyle="rgba("+B[0]+","+B[1]+","+B[2]+","+E*s+")";var N=t.pstyle("text-background-shape").strValue;0===N.indexOf("round")?xu(e,P,D,T,_,2):e.fillRect(P,D,T,_),e.fillStyle=M}if(C>0&&k>0){var z=e.strokeStyle,I=e.lineWidth,A=t.pstyle("text-border-color").value,L=t.pstyle("text-border-style").value;if(e.strokeStyle="rgba("+A[0]+","+A[1]+","+A[2]+","+k*s+")",e.lineWidth=C,e.setLineDash)switch(L){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"double":e.lineWidth=C/4,e.setLineDash([]);break;case"solid":e.setLineDash([])}if(e.strokeRect(P,D,T,_),"double"===L){var O=C/2;e.strokeRect(P+O,D+O,T-2*O,_-2*O)}e.setLineDash&&e.setLineDash([]),e.lineWidth=I,e.strokeStyle=z}}var R=2*t.pstyle("text-outline-width").pfValue;if(R>0&&(e.lineWidth=R),"wrap"===t.pstyle("text-wrap").value){var V=Ke(o,"labelWrapCachedLines",n),F=Ke(o,"labelLineHeight",n),j=g/2,q=this.getLabelJustification(t);switch("auto"===q||("left"===x?"left"===q?c+=-g:"center"===q&&(c+=-j):"center"===x?"left"===q?c+=-j:"right"===q&&(c+=j):"right"===x&&("center"===q?c+=j:"right"===q&&(c+=g))),w){case"top":d-=(V.length-1)*F;break;case"center":case"bottom":d-=(V.length-1)*F}for(var Y=0;Y0&&e.strokeText(V[Y],c,d),e.fillText(V[Y],c,d),d+=F}else R>0&&e.strokeText(h,c,d),e.fillText(h,c,d);0!==p&&(e.rotate(-p),e.translate(-l,-u))}}};var wu={drawNode:function(e,t,n){var r,i,a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=!(arguments.length>5&&void 0!==arguments[5])||arguments[5],l=this,u=t._private,c=u.rscratch,d=t.position();if(m(d.x)&&m(d.y)&&(!s||t.visible())){var h,p,f=s?t.effectiveOpacity():1,g=l.usePaths(),v=!1,y=t.padding();r=t.width()+2*y,i=t.height()+2*y,n&&(p=n,e.translate(-p.x1,-p.y1));for(var b=t.pstyle("background-image"),x=b.value,w=new Array(x.length),E=new Array(x.length),k=0,C=0;C0&&void 0!==arguments[0]?arguments[0]:M;l.eleFillStyle(e,t,n)},A=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:z;l.colorStrokeStyle(e,B[0],B[1],B[2],t)},L=t.pstyle("shape").strValue,O=t.pstyle("shape-polygon-points").pfValue;if(g){e.translate(d.x,d.y);var R=l.nodePathCache=l.nodePathCache||[],V=De("polygon"===L?L+","+O.join(","):L,""+i,""+r),F=R[V];null!=F?(h=F,v=!0,c.pathCache=h):(h=new Path2D,R[V]=c.pathCache=h)}var j=function(){if(!v){var n=d;g&&(n={x:0,y:0}),l.nodeShapes[l.getNodeShape(t)].draw(h||e,n.x,n.y,r,i)}g?e.fill(h):e.fill()},q=function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=u.backgrounding,a=0,o=0;o0&&void 0!==arguments[0]&&arguments[0],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:f;l.hasPie(t)&&(l.drawPie(e,t,a),n&&(g||l.nodeShapes[l.getNodeShape(t)].draw(e,d.x,d.y,r,i)))},X=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f,n=(T>0?T:-T)*t,r=T>0?0:255;0!==T&&(l.colorFillStyle(e,r,r,r,n),g?e.fill(h):e.fill())},W=function(){if(_>0){if(e.lineWidth=_,e.lineCap="butt",e.setLineDash)switch(N){case"dotted":e.setLineDash([1,1]);break;case"dashed":e.setLineDash([4,2]);break;case"solid":case"double":e.setLineDash([])}if(g?e.stroke(h):e.stroke(),"double"===N){e.lineWidth=_/3;var t=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",g?e.stroke(h):e.stroke(),e.globalCompositeOperation=t}e.setLineDash&&e.setLineDash([])}},H=function(){o&&l.drawNodeOverlay(e,t,d,r,i)},K=function(){o&&l.drawNodeUnderlay(e,t,d,r,i)},G=function(){l.drawElementText(e,t,null,a)},U="yes"===t.pstyle("ghost").value;if(U){var Z=t.pstyle("ghost-offset-x").pfValue,$=t.pstyle("ghost-offset-y").pfValue,Q=t.pstyle("ghost-opacity").value,J=Q*f;e.translate(Z,$),I(Q*M),j(),q(J,!0),A(Q*z),W(),Y(0!==T||0!==_),q(J,!1),X(J),e.translate(-Z,-$)}g&&e.translate(-d.x,-d.y),K(),g&&e.translate(d.x,d.y),I(),j(),q(f,!0),A(),W(),Y(0!==T||0!==_),q(f,!1),X(),g&&e.translate(-d.x,-d.y),G(),H(),n&&e.translate(p.x1,p.y1)}}},Eu=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(t,n,r,i,a){if(n.visible()){var o=n.pstyle("".concat(e,"-padding")).pfValue,s=n.pstyle("".concat(e,"-opacity")).value,l=n.pstyle("".concat(e,"-color")).value,u=n.pstyle("".concat(e,"-shape")).value;if(s>0){if(r=r||n.position(),null==i||null==a){var c=n.padding();i=n.width()+2*c,a=n.height()+2*c}this.colorFillStyle(t,l[0],l[1],l[2],s),this.nodeShapes[u].draw(t,r.x,r.y,i+2*o,a+2*o),t.fill()}}}};wu.drawNodeOverlay=Eu("overlay"),wu.drawNodeUnderlay=Eu("underlay"),wu.hasPie=function(e){return(e=e[0])._private.hasPie},wu.drawPie=function(e,t,n,r){t=t[0],r=r||t.position();var i=t.cy().style(),a=t.pstyle("pie-size"),o=r.x,s=r.y,l=t.width(),u=t.height(),c=Math.min(l,u)/2,d=0;this.usePaths()&&(o=0,s=0),"%"===a.units?c*=a.pfValue:void 0!==a.pfValue&&(c=a.pfValue/2);for(var h=1;h<=i.pieBackgroundN;h++){var p=t.pstyle("pie-"+h+"-background-size").value,f=t.pstyle("pie-"+h+"-background-color").value,g=t.pstyle("pie-"+h+"-background-opacity").value*n,v=p/100;v+d>1&&(v=1-d);var y=1.5*Math.PI+2*Math.PI*d,m=y+2*Math.PI*v;0===p||d>=1||d+v>1||(e.beginPath(),e.moveTo(o,s),e.arc(o,s,c,y,m),e.closePath(),this.colorFillStyle(e,f[0],f[1],f[2],g),e.fill(),d+=v)}};var ku={};ku.getPixelRatio=function(){var e=this.data.contexts[0];if(null!=this.forcedPixelRatio)return this.forcedPixelRatio;var t=e.backingStorePixelRatio||e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;return(window.devicePixelRatio||1)/t},ku.paintCache=function(e){for(var t,n=this.paintCaches=this.paintCaches||[],r=!0,i=0;io.minMbLowQualFrames&&(o.motionBlurPxRatio=o.mbPxRBlurry)),o.clearingMotionBlur&&(o.motionBlurPxRatio=1),o.textureDrawLastFrame&&!d&&(c[o.NODE]=!0,c[o.SELECT_BOX]=!0);var m=l.style(),b=l.zoom(),x=void 0!==i?i:b,w=l.pan(),E={x:w.x,y:w.y},k={zoom:b,pan:{x:w.x,y:w.y}},C=o.prevViewport;void 0===C||k.zoom!==C.zoom||k.pan.x!==C.pan.x||k.pan.y!==C.pan.y||g&&!f||(o.motionBlurPxRatio=1),a&&(E=a),x*=s,E.x*=s,E.y*=s;var S=o.getCachedZSortedEles();function P(e,t,n,r,i){var a=e.globalCompositeOperation;e.globalCompositeOperation="destination-out",o.colorFillStyle(e,255,255,255,o.motionBlurTransparency),e.fillRect(t,n,r,i),e.globalCompositeOperation=a}function D(e,r){var s,l,c,d;o.clearingMotionBlur||e!==u.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]&&e!==u.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]?(s=E,l=x,c=o.canvasWidth,d=o.canvasHeight):(s={x:w.x*p,y:w.y*p},l=b*p,c=o.canvasWidth*p,d=o.canvasHeight*p),e.setTransform(1,0,0,1,0,0),"motionBlur"===r?P(e,0,0,c,d):t||void 0!==r&&!r||e.clearRect(0,0,c,d),n||(e.translate(s.x,s.y),e.scale(l,l)),a&&e.translate(a.x,a.y),i&&e.scale(i,i)}if(d||(o.textureDrawLastFrame=!1),d){if(o.textureDrawLastFrame=!0,!o.textureCache){o.textureCache={},o.textureCache.bb=l.mutableElements().boundingBox(),o.textureCache.texture=o.data.bufferCanvases[o.TEXTURE_BUFFER];var T=o.data.bufferContexts[o.TEXTURE_BUFFER];T.setTransform(1,0,0,1,0,0),T.clearRect(0,0,o.canvasWidth*o.textureMult,o.canvasHeight*o.textureMult),o.render({forcedContext:T,drawOnlyNodeLayer:!0,forcedPxRatio:s*o.textureMult}),(k=o.textureCache.viewport={zoom:l.zoom(),pan:l.pan(),width:o.canvasWidth,height:o.canvasHeight}).mpan={x:(0-k.pan.x)/k.zoom,y:(0-k.pan.y)/k.zoom}}c[o.DRAG]=!1,c[o.NODE]=!1;var _=u.contexts[o.NODE],M=o.textureCache.texture;k=o.textureCache.viewport;_.setTransform(1,0,0,1,0,0),h?P(_,0,0,k.width,k.height):_.clearRect(0,0,k.width,k.height);var B=m.core("outside-texture-bg-color").value,N=m.core("outside-texture-bg-opacity").value;o.colorFillStyle(_,B[0],B[1],B[2],N),_.fillRect(0,0,k.width,k.height);b=l.zoom();D(_,!1),_.clearRect(k.mpan.x,k.mpan.y,k.width/k.zoom/s,k.height/k.zoom/s),_.drawImage(M,k.mpan.x,k.mpan.y,k.width/k.zoom/s,k.height/k.zoom/s)}else o.textureOnViewport&&!t&&(o.textureCache=null);var z=l.extent(),I=o.pinching||o.hoverData.dragging||o.swipePanning||o.data.wheelZooming||o.hoverData.draggingEles||o.cy.animated(),A=o.hideEdgesOnViewport&&I,L=[];if(L[o.NODE]=!c[o.NODE]&&h&&!o.clearedForMotionBlur[o.NODE]||o.clearingMotionBlur,L[o.NODE]&&(o.clearedForMotionBlur[o.NODE]=!0),L[o.DRAG]=!c[o.DRAG]&&h&&!o.clearedForMotionBlur[o.DRAG]||o.clearingMotionBlur,L[o.DRAG]&&(o.clearedForMotionBlur[o.DRAG]=!0),c[o.NODE]||n||r||L[o.NODE]){var O=h&&!L[o.NODE]&&1!==p;D(_=t||(O?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_NODE]:u.contexts[o.NODE]),h&&!O?"motionBlur":void 0),A?o.drawCachedNodes(_,S.nondrag,s,z):o.drawLayeredElements(_,S.nondrag,s,z),o.debug&&o.drawDebugPoints(_,S.nondrag),n||h||(c[o.NODE]=!1)}if(!r&&(c[o.DRAG]||n||L[o.DRAG])){O=h&&!L[o.DRAG]&&1!==p;D(_=t||(O?o.data.bufferContexts[o.MOTIONBLUR_BUFFER_DRAG]:u.contexts[o.DRAG]),h&&!O?"motionBlur":void 0),A?o.drawCachedNodes(_,S.drag,s,z):o.drawCachedElements(_,S.drag,s,z),o.debug&&o.drawDebugPoints(_,S.drag),n||h||(c[o.DRAG]=!1)}if(o.showFps||!r&&c[o.SELECT_BOX]&&!n){if(D(_=t||u.contexts[o.SELECT_BOX]),1==o.selection[4]&&(o.hoverData.selecting||o.touchData.selecting)){b=o.cy.zoom();var R=m.core("selection-box-border-width").value/b;_.lineWidth=R,_.fillStyle="rgba("+m.core("selection-box-color").value[0]+","+m.core("selection-box-color").value[1]+","+m.core("selection-box-color").value[2]+","+m.core("selection-box-opacity").value+")",_.fillRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]),R>0&&(_.strokeStyle="rgba("+m.core("selection-box-border-color").value[0]+","+m.core("selection-box-border-color").value[1]+","+m.core("selection-box-border-color").value[2]+","+m.core("selection-box-opacity").value+")",_.strokeRect(o.selection[0],o.selection[1],o.selection[2]-o.selection[0],o.selection[3]-o.selection[1]))}if(u.bgActivePosistion&&!o.hoverData.selecting){b=o.cy.zoom();var V=u.bgActivePosistion;_.fillStyle="rgba("+m.core("active-bg-color").value[0]+","+m.core("active-bg-color").value[1]+","+m.core("active-bg-color").value[2]+","+m.core("active-bg-opacity").value+")",_.beginPath(),_.arc(V.x,V.y,m.core("active-bg-size").pfValue/b,0,2*Math.PI),_.fill()}var F=o.lastRedrawTime;if(o.showFps&&F){F=Math.round(F);var j=Math.round(1e3/F);_.setTransform(1,0,0,1,0,0),_.fillStyle="rgba(255, 0, 0, 0.75)",_.strokeStyle="rgba(255, 0, 0, 0.75)",_.lineWidth=1,_.fillText("1 frame = "+F+" ms = "+j+" fps",0,20);_.strokeRect(0,30,250,20),_.fillRect(0,30,250*Math.min(j/60,1),20)}n||(c[o.SELECT_BOX]=!1)}if(h&&1!==p){var q=u.contexts[o.NODE],Y=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_NODE],X=u.contexts[o.DRAG],W=o.data.bufferCanvases[o.MOTIONBLUR_BUFFER_DRAG],H=function(e,t,n){e.setTransform(1,0,0,1,0,0),n||!y?e.clearRect(0,0,o.canvasWidth,o.canvasHeight):P(e,0,0,o.canvasWidth,o.canvasHeight);var r=p;e.drawImage(t,0,0,o.canvasWidth*r,o.canvasHeight*r,0,0,o.canvasWidth,o.canvasHeight)};(c[o.NODE]||L[o.NODE])&&(H(q,Y,L[o.NODE]),c[o.NODE]=!1),(c[o.DRAG]||L[o.DRAG])&&(H(X,W,L[o.DRAG]),c[o.DRAG]=!1)}o.prevViewport=k,o.clearingMotionBlur&&(o.clearingMotionBlur=!1,o.motionBlurCleared=!0,o.motionBlur=!0),h&&(o.motionBlurTimeout=setTimeout((function(){o.motionBlurTimeout=null,o.clearedForMotionBlur[o.NODE]=!1,o.clearedForMotionBlur[o.DRAG]=!1,o.motionBlur=!1,o.clearingMotionBlur=!d,o.mbFrames=0,c[o.NODE]=!0,c[o.DRAG]=!0,o.redraw()}),100)),t||l.emit("render")};for(var Cu={drawPolygonPath:function(e,t,n,r,i,a){var o=r/2,s=i/2;e.beginPath&&e.beginPath(),e.moveTo(t+o*a[0],n+s*a[1]);for(var l=1;l0&&a>0){h.clearRect(0,0,i,a),h.globalCompositeOperation="source-over";var p=this.getCachedZSortedEles();if(e.full)h.translate(-n.x1*l,-n.y1*l),h.scale(l,l),this.drawElements(h,p),h.scale(1/l,1/l),h.translate(n.x1*l,n.y1*l);else{var f=t.pan(),g={x:f.x*l,y:f.y*l};l*=t.zoom(),h.translate(g.x,g.y),h.scale(l,l),this.drawElements(h,p),h.scale(1/l,1/l),h.translate(-g.x,-g.y)}e.bg&&(h.globalCompositeOperation="destination-over",h.fillStyle=e.bg,h.rect(0,0,i,a),h.fill())}return d},Bu.png=function(e){return zu(e,this.bufferCanvasImage(e),"image/png")},Bu.jpg=function(e){return zu(e,this.bufferCanvasImage(e),"image/jpeg")};var Iu={nodeShapeImpl:function(e,t,n,r,i,a,o){switch(e){case"ellipse":return this.drawEllipsePath(t,n,r,i,a);case"polygon":return this.drawPolygonPath(t,n,r,i,a,o);case"round-polygon":return this.drawRoundPolygonPath(t,n,r,i,a,o);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(t,n,r,i,a);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(t,n,r,i,a);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(t,n,r,i,a);case"barrel":return this.drawBarrelPath(t,n,r,i,a)}}},Au=Ou,Lu=Ou.prototype;function Ou(e){var t=this;t.data={canvases:new Array(Lu.CANVAS_LAYERS),contexts:new Array(Lu.CANVAS_LAYERS),canvasNeedsRedraw:new Array(Lu.CANVAS_LAYERS),bufferCanvases:new Array(Lu.BUFFER_COUNT),bufferContexts:new Array(Lu.CANVAS_LAYERS)};t.data.canvasContainer=document.createElement("div");var n=t.data.canvasContainer.style;t.data.canvasContainer.style["-webkit-tap-highlight-color"]="rgba(0,0,0,0)",n.position="relative",n.zIndex="0",n.overflow="hidden";var r=e.cy.container();r.appendChild(t.data.canvasContainer),r.style["-webkit-tap-highlight-color"]="rgba(0,0,0,0)";var i={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};l&&l.userAgent.match(/msie|trident|edge/i)&&(i["-ms-touch-action"]="none",i["touch-action"]="none");for(var a=0;a{}};function t(){for(var n,e=0,t=arguments.length,o={};e=0&&(t=n.slice(r+1),n=n.slice(0,r)),n&&!e.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:t}}))}function i(n,e){for(var t,r=0,o=n.length;r0)for(var t,r,o=new Array(t),i=0;i= distanceMax2) return; - - // Limit forces for very close nodes; randomize direction if coincident. - if (quad.data !== node || quad.next) { - if (x === 0) x = jiggle(), l += x * x; - if (y === 0) y = jiggle(), l += y * y; - if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l); - } - - do if (quad.data !== node) { - // Use the coordinates of the node and not the quad region. - x = quad.data.x - node.x; - y = quad.data.y - node.y; - l = x * x + y * y; - - // Limit forces for very close nodes; randomize direction if coincident. - if (x === 0) x = jiggle(), l += x * x; - if (y === 0) y = jiggle(), l += y * y; - if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l); - - w = strengths[quad.data.index] * alpha / l; - - node.vx += x * w; - node.vy += y * w; - } while (quad = quad.next); - } - - force.initialize = function(_) { - nodes = _; - initialize(); - }; - - force.strength = function(_) { - return arguments.length ? (strength = typeof _ === "function" ? _ : constant(+_), initialize(), force) : strength; - }; - - force.distanceMin = function(_) { - return arguments.length ? (distanceMin2 = _ * _, force) : Math.sqrt(distanceMin2); - }; - - force.distanceMax = function(_) { - return arguments.length ? (distanceMax2 = _ * _, force) : Math.sqrt(distanceMax2); - }; - - force.theta = function(_) { - return arguments.length ? (theta2 = _ * _, force) : Math.sqrt(theta2); - }; - - force.update = function(_) { - return arguments.length ? (updateClosure = _, updateBH = updateClosure(), force) : updateClosure; - }; - - return force; -}; - -exports.forceManyBodyReuse = manyBodyReuse; - -Object.defineProperty(exports, '__esModule', { value: true }); - -}))); diff --git a/modules/analyze/html/external/d3-force-sampled.js b/modules/analyze/html/external/d3-force-sampled.js deleted file mode 100644 index 64fe172..0000000 --- a/modules/analyze/html/external/d3-force-sampled.js +++ /dev/null @@ -1,241 +0,0 @@ -// Copyright 2022 Two Six Labs, LLC. v1.0.1 d3-force-sampled https://github.com/twosixlabs/d3-force-sampled/ -(function (global, factory) { -typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : -typeof define === 'function' && define.amd ? define(['exports'], factory) : -(factory((global.d3 = global.d3 || {}))); -}(this, (function (exports) { 'use strict'; - -function constant(x) { - return function() { - return x; - }; -} - -function manyBodySampled() { - var nodes, - alpha, - strength = constant(-30), - strengths, - indicesRepulse, - prevIndex = 0, - distanceMin2 = 1, - distanceMax2 = Infinity, - neighborSize = function () { - return 15; - }, - updateSize = function (nodes) { return Math.pow(nodes.length, 0.75); }, - sampleSize = function (nodes) { return Math.pow(nodes.length, 0.25); }, - numNeighbors, - numUpdate, - numSamples, - chargeMultiplier = function (nodes) { - return nodes.length < 100 ? 1 : nodes.length < 200 ? 3 : Math.sqrt(nodes.length); - }, - cMult, - rand = Math.random; - - function addRandomNode(node) { - var randIdx = Math.floor(rand() * nodes.length), - randNode = nodes[randIdx], - randDist = (node.x - randNode.x) * (node.x - randNode.x) + (node.y - randNode.y) * (node.y - randNode.y), - currIdx, - currNode, - currDist, - maxI, - maxDist = -Infinity, - i = -1; - - // Is this already in the list? - if (node.nearest.indexOf(randIdx) >= 0) return; - - // If there is room for another, add it. - if (node.nearest.length < numNeighbors) { - node.nearest.push(randIdx); - return; - } - - // Replace the farthest away "neighbor" with the new node. - while (++i < node.nearest.length) { - currIdx = node.nearest[i]; - currNode = nodes[currIdx]; - currDist = (node.x - currNode.x) * (node.x - currNode.x) - (node.y - currNode.y) * (node.y - currNode.y); - if (currDist > maxDist) { - maxI = i; - maxDist = currDist; - } - } - - if (randDist < maxDist) { - node.nearest[maxI] = randIdx; - } - } - - function getRandIndices(indices, num) { - num = Math.floor(num); - var i, - n = nodes.length, - cnt = n - num, - randIdx, - temp; - - // Choose random indices. - for (i = n-1; i >= cnt; --i) { - randIdx = Math.floor(rand() * i); - temp = indices[randIdx]; - indices[randIdx] = indices[i]; - indices[i] = temp; - } - - return indices.slice(cnt); - } - - function approxRepulse(node) { - var i, - randIndices, - currNode, - w, - x, - y, - l; - - // Choose random nodes to update. - randIndices = getRandIndices(indicesRepulse, numSamples); - - for (i = randIndices.length - 1; i >= 0; --i) { - currNode = nodes[randIndices[i]]; - - if (currNode === node) continue; - - x = currNode.x - node.x; - y = currNode.y - node.y; - l = x * x + y * y; - - if (l >= distanceMax2) continue; - - // Limit forces for very close nodes; randomize direction if coincident. - if (x === 0) x = (rand() - 0.5) * 1e-6, l += x * x; - if (y === 0) y = (rand() - 0.5) * 1e-6, l += y * y; - if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l); - - w = strengths[node.index] * alpha * cMult / l; - node.vx += x * w; - node.vy += y * w; - } - } - - function constantRepulse(node) { - var i, - nearest, - currNode, - w, - x, - y, - l; - - // Update the list of nearest nodes. - if (numNeighbors) addRandomNode(node); - - nearest = node.nearest; - - if (numNeighbors) for (i = nearest.length - 1; i >= 0; --i) { - currNode = nodes[nearest[i]]; - - if (currNode === node) continue; - - x = currNode.x - node.x; - y = currNode.y - node.y; - l = x * x + y * y; - - if (l >= distanceMax2) continue; - - // Limit forces for very close nodes; randomize direction if coincident. - if (x === 0) x = (rand() - 0.5) * 1e-6, l += x * x; - if (y === 0) y = (rand() - 0.5) * 1e-6, l += y * y; - if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l); - - w = strengths[node.index] * alpha * cMult / l; - node.vx += x * w; - node.vy += y * w; - } - } - - function force(_) { - var i = 0, j = prevIndex, n = nodes.length, upperIndex = prevIndex + numUpdate; - for (alpha = _; i < n || j < upperIndex; ++i, ++j) { - if (j < upperIndex) approxRepulse(nodes[j%n]); - if (numNeighbors && i < n) constantRepulse(nodes[i]); - } - prevIndex = upperIndex % n; - } - - function initialize() { - if (!nodes) return; - var i, n = nodes.length, node; - indicesRepulse = new Array(n); - for (i = 0; i < n; ++i) indicesRepulse[i] = i; - strengths = new Array(n); - - // Cannot be negative. - numNeighbors = Math.min(Math.ceil(neighborSize(nodes)), n); - numNeighbors = numNeighbors < 0 ? 0 : Math.min(numNeighbors, nodes.length); - numUpdate = Math.ceil(updateSize(nodes)); - numUpdate = numUpdate < 0 ? 0 : Math.min(numUpdate, n); - numSamples = Math.ceil(sampleSize(nodes)); - numSamples = numSamples < 0 ? 0 : Math.min(numSamples, n); - - cMult = chargeMultiplier(nodes); - - alpha = 1; - for (i = 0; i < n; ++i) { - node = nodes[i]; - strengths[node.index] = +strength(node, i, nodes); - node.nearest = []; - while (node.nearest.length < numNeighbors) addRandomNode(node); - } - } - - force.initialize = function(_) { - nodes = _; - initialize(); - }; - - force.strength = function(_) { - return arguments.length ? (strength = typeof _ === "function" ? _ : constant(+_), initialize(), force) : strength; - }; - - force.distanceMin = function(_) { - return arguments.length ? (distanceMin2 = _ * _, force) : Math.sqrt(distanceMin2); - }; - - force.distanceMax = function(_) { - return arguments.length ? (distanceMax2 = _ * _, force) : Math.sqrt(distanceMax2); - }; - - force.neighborSize = function(_) { - return arguments.length ? (neighborSize = typeof _ === "function" ? _ : constant(+_), initialize(), force) : neighborSize; - }; - - force.updateSize = function(_) { - return arguments.length ? (updateSize = typeof _ === "function" ? _ : constant(+_), initialize(), force) : updateSize; - }; - - force.sampleSize = function(_) { - return arguments.length ? (sampleSize = typeof _ === "function" ? _ : constant(+_), initialize(), force) : sampleSize; - }; - - force.chargeMultiplier = function(_) { - return arguments.length ? (chargeMultiplier = typeof _ === "function" ? _ : constant(+_), initialize(), force) : chargeMultiplier; - }; - - force.source = function(_) { - return arguments.length ? (rand = _, force) : rand; - }; - - return force; -} - -exports.forceManyBodySampled = manyBodySampled; - -Object.defineProperty(exports, '__esModule', { value: true }); - -}))); diff --git a/modules/analyze/html/external/d3-force.v3.js b/modules/analyze/html/external/d3-force.v3.js deleted file mode 100644 index 09ab9fb..0000000 --- a/modules/analyze/html/external/d3-force.v3.js +++ /dev/null @@ -1,2 +0,0 @@ -// https://d3js.org/d3-force/ v3.0.0 Copyright 2010-2021 Mike Bostock -!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("d3-quadtree"),require("d3-dispatch"),require("d3-timer")):"function"==typeof define&&define.amd?define(["exports","d3-quadtree","d3-dispatch","d3-timer"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).d3=n.d3||{},n.d3,n.d3,n.d3)}(this,(function(n,t,e,r){"use strict";function i(n){return function(){return n}}function u(n){return 1e-6*(n()-.5)}function o(n){return n.x+n.vx}function f(n){return n.y+n.vy}function a(n){return n.index}function c(n,t){var e=n.get(t);if(!e)throw new Error("node not found: "+t);return e}const l=4294967296;function h(n){return n.x}function v(n){return n.y}var y=Math.PI*(3-Math.sqrt(5));n.forceCenter=function(n,t){var e,r=1;function i(){var i,u,o=e.length,f=0,a=0;for(i=0;iy+l||rd+l||ih.index){var v=y-o.x-o.vx,s=d-o.y-o.vy,p=v*v+s*s;pn.r&&(n.r=n[t].r)}function y(){if(e){var t,i,u=e.length;for(r=new Array(u),t=0;t[h(n,t,r),n])));for(i=0,o=new Array(a);i=l)){(n.data!==e||n.next)&&(0===h&&(g+=(h=u(r))*h),0===v&&(g+=(v=u(r))*v),g(n=(1664525*n+1013904223)%l)/l}();function g(){x(),v.call("tick",t),i1?(null==e?c.delete(n):c.set(n,p(e)),t):c.get(n)},find:function(t,e,r){var i,u,o,f,a,c=0,l=n.length;for(null==r?r=1/0:r*=r,c=0;c1?(v.on(n,e),t):v.on(n)}}},n.forceX=function(n){var t,e,r,u=i(.1);function o(n){for(var i,u=0,o=t.length;u=(s=(y+p)/2))?y=s:p=s,(l=e>=(h=(d+v)/2))?d=h:v=h,r=c,!(c=c[_=l<<1|u]))return r[_]=x,t;if(o=+t._x.call(null,c.data),a=+t._y.call(null,c.data),i===o&&e===a)return x.next=c,r?r[_]=x:t._root=x,t;do{r=r?r[_]=new Array(4):t._root=new Array(4),(u=i>=(s=(y+p)/2))?y=s:p=s,(l=e>=(h=(d+v)/2))?d=h:v=h}while((_=l<<1|u)==(f=(a>=h)<<1|o>=s));return r[f]=c,r[_]=x,t}function e(t,i,e,n,r){this.node=t,this.x0=i,this.y0=e,this.x1=n,this.y1=r}function n(t){return t[0]}function r(t){return t[1]}function s(t,i,e){var s=new h(null==i?n:i,null==e?r:e,NaN,NaN,NaN,NaN);return null==t?s:s.addAll(t)}function h(t,i,e,n,r,s){this._x=t,this._y=i,this._x0=e,this._y0=n,this._x1=r,this._y1=s,this._root=void 0}function o(t){for(var i={data:t.data},e=i;t=t.next;)e=e.next={data:t.data};return i}var a=s.prototype=h.prototype;a.copy=function(){var t,i,e=new h(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root;if(!n)return e;if(!n.length)return e._root=o(n),e;for(t=[{source:n,target:e._root=new Array(4)}];n=t.pop();)for(var r=0;r<4;++r)(i=n.source[r])&&(i.length?t.push({source:i,target:n.target[r]=new Array(4)}):n.target[r]=o(i));return e},a.add=function(t){const e=+this._x.call(null,t),n=+this._y.call(null,t);return i(this.cover(e,n),e,n,t)},a.addAll=function(t){var e,n,r,s,h=t.length,o=new Array(h),a=new Array(h),u=1/0,l=1/0,_=-1/0,f=-1/0;for(n=0;n_&&(_=r),sf&&(f=s));if(u>_||l>f)return this;for(this.cover(u,l).cover(_,f),n=0;nt||t>=r||n>i||i>=s;)switch(o=(ic||(h=u.y0)>x||(o=u.x1)<_||(a=u.y1)=v)<<1|t>=p)&&(u=y[y.length-1],y[y.length-1]=y[y.length-1-l],y[y.length-1-l]=u)}else{var w=t-+this._x.call(null,d.data),N=i-+this._y.call(null,d.data),g=w*w+N*N;if(g=(o=(x+d)/2))?x=o:d=o,(l=h>=(a=(y+p)/2))?y=a:p=a,i=c,!(c=c[_=l<<1|u]))return this;if(!c.length)break;(i[_+1&3]||i[_+2&3]||i[_+3&3])&&(e=i,f=_)}for(;c.data!==t;)if(n=c,!(c=c.next))return this;return(r=c.next)&&delete c.next,n?(r?n.next=r:delete n.next,this):i?(r?i[_]=r:delete i[_],(c=i[0]||i[1]||i[2]||i[3])&&c===(i[3]||i[2]||i[1]||i[0])&&!c.length&&(e?e[f]=c:this._root=c),this):(this._root=r,this)},a.removeAll=function(t){for(var i=0,e=t.length;i=0&&e._call.call(void 0,t),e=e._next;--o}function d(){u=(l=s.now())+a,o=i=0;try{w()}finally{o=0,function(){var t,o,i=n,r=1/0;for(;i;)i._call?(r>i._time&&(r=i._time),t=i,i=i._next):(o=i._next,i._next=null,i=t?t._next=o:n=o);e=t,y(r)}(),u=0}}function h(){var t=s.now(),n=t-l;n>1e3&&(a-=n,l=t)}function y(t){o||(i&&(i=clearTimeout(i)),t-u>24?(t<1/0&&(i=setTimeout(d,t-s.now()-a)),r&&(r=clearInterval(r))):(r||(l=s.now(),r=setInterval(h,1e3)),o=1,c(d)))}m.prototype=p.prototype={constructor:m,restart:function(t,o,i){if("function"!=typeof t)throw new TypeError("callback is not a function");i=(null==i?f():+i)+(null==o?0:+o),this._next||e===this||(e?e._next=this:n=this,e=this),this._call=t,this._time=i,y()},stop:function(){this._call&&(this._call=null,this._time=1/0,y())}},t.interval=function(t,n,e){var o=new m,i=n;return null==n?(o.restart(t,n,e),o):(o._restart=o.restart,o.restart=function(t,n,e){n=+n,e=null==e?f():+e,o._restart((function r(l){l+=i,o._restart(r,i+=n,e),t(l)}),n,e)},o.restart(t,n,e),o)},t.now=f,t.timeout=function(t,n,e){var o=new m;return n=null==n?0:+n,o.restart((e=>{o.stop(),t(e+n)}),n,e),o},t.timer=p,t.timerFlush=w,Object.defineProperty(t,"__esModule",{value:!0})})); diff --git a/modules/analyze/html/external/dagre.min.js b/modules/analyze/html/external/dagre.min.js deleted file mode 100644 index 04c1008..0000000 --- a/modules/analyze/html/external/dagre.min.js +++ /dev/null @@ -1,4386 +0,0 @@ -(function (f) { if (typeof exports === "object" && typeof module !== "undefined") { module.exports = f() } else if (typeof define === "function" && define.amd) { define([], f) } else { var g; if (typeof window !== "undefined") { g = window } else if (typeof global !== "undefined") { g = global } else if (typeof self !== "undefined") { g = self } else { g = this } g.dagre = f() } })(function () { - var define, module, exports; return function () { function r(e, n, t) { function o(i, f) { if (!n[i]) { if (!e[i]) { var c = "function" == typeof require && require; if (!f && c) return c(i, !0); if (u) return u(i, !0); var a = new Error("Cannot find module '" + i + "'"); throw a.code = "MODULE_NOT_FOUND", a } var p = n[i] = { exports: {} }; e[i][0].call(p.exports, function (r) { var n = e[i][1][r]; return o(n || r) }, p, p.exports, r, e, n, t) } return n[i].exports } for (var u = "function" == typeof require && require, i = 0; i < t.length; i++)o(t[i]); return o } return r }()({ - 1: [function (require, module, exports) { - /* - Copyright (c) 2012-2014 Chris Pettitt - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - */ - module.exports = { graphlib: require("./lib/graphlib"), layout: require("./lib/layout"), debug: require("./lib/debug"), util: { time: require("./lib/util").time, notime: require("./lib/util").notime }, version: require("./lib/version") } - }, { "./lib/debug": 6, "./lib/graphlib": 7, "./lib/layout": 9, "./lib/util": 29, "./lib/version": 30 }], 2: [function (require, module, exports) { "use strict"; var _ = require("./lodash"); var greedyFAS = require("./greedy-fas"); module.exports = { run: run, undo: undo }; function run(g) { var fas = g.graph().acyclicer === "greedy" ? greedyFAS(g, weightFn(g)) : dfsFAS(g); _.forEach(fas, function (e) { var label = g.edge(e); g.removeEdge(e); label.forwardName = e.name; label.reversed = true; g.setEdge(e.w, e.v, label, _.uniqueId("rev")) }); function weightFn(g) { return function (e) { return g.edge(e).weight } } } function dfsFAS(g) { var fas = []; var stack = {}; var visited = {}; function dfs(v) { if (_.has(visited, v)) { return } visited[v] = true; stack[v] = true; _.forEach(g.outEdges(v), function (e) { if (_.has(stack, e.w)) { fas.push(e) } else { dfs(e.w) } }); delete stack[v] } _.forEach(g.nodes(), dfs); return fas } function undo(g) { _.forEach(g.edges(), function (e) { var label = g.edge(e); if (label.reversed) { g.removeEdge(e); var forwardName = label.forwardName; delete label.reversed; delete label.forwardName; g.setEdge(e.w, e.v, label, forwardName) } }) } }, { "./greedy-fas": 8, "./lodash": 10 }], 3: [function (require, module, exports) { var _ = require("./lodash"); var util = require("./util"); module.exports = addBorderSegments; function addBorderSegments(g) { function dfs(v) { var children = g.children(v); var node = g.node(v); if (children.length) { _.forEach(children, dfs) } if (_.has(node, "minRank")) { node.borderLeft = []; node.borderRight = []; for (var rank = node.minRank, maxRank = node.maxRank + 1; rank < maxRank; ++rank) { addBorderNode(g, "borderLeft", "_bl", v, node, rank); addBorderNode(g, "borderRight", "_br", v, node, rank) } } } _.forEach(g.children(), dfs) } function addBorderNode(g, prop, prefix, sg, sgNode, rank) { var label = { width: 0, height: 0, rank: rank, borderType: prop }; var prev = sgNode[prop][rank - 1]; var curr = util.addDummyNode(g, "border", label, prefix); sgNode[prop][rank] = curr; g.setParent(curr, sg); if (prev) { g.setEdge(prev, curr, { weight: 1 }) } } }, { "./lodash": 10, "./util": 29 }], 4: [function (require, module, exports) { "use strict"; var _ = require("./lodash"); module.exports = { adjust: adjust, undo: undo }; function adjust(g) { var rankDir = g.graph().rankdir.toLowerCase(); if (rankDir === "lr" || rankDir === "rl") { swapWidthHeight(g) } } function undo(g) { var rankDir = g.graph().rankdir.toLowerCase(); if (rankDir === "bt" || rankDir === "rl") { reverseY(g) } if (rankDir === "lr" || rankDir === "rl") { swapXY(g); swapWidthHeight(g) } } function swapWidthHeight(g) { _.forEach(g.nodes(), function (v) { swapWidthHeightOne(g.node(v)) }); _.forEach(g.edges(), function (e) { swapWidthHeightOne(g.edge(e)) }) } function swapWidthHeightOne(attrs) { var w = attrs.width; attrs.width = attrs.height; attrs.height = w } function reverseY(g) { _.forEach(g.nodes(), function (v) { reverseYOne(g.node(v)) }); _.forEach(g.edges(), function (e) { var edge = g.edge(e); _.forEach(edge.points, reverseYOne); if (_.has(edge, "y")) { reverseYOne(edge) } }) } function reverseYOne(attrs) { attrs.y = -attrs.y } function swapXY(g) { _.forEach(g.nodes(), function (v) { swapXYOne(g.node(v)) }); _.forEach(g.edges(), function (e) { var edge = g.edge(e); _.forEach(edge.points, swapXYOne); if (_.has(edge, "x")) { swapXYOne(edge) } }) } function swapXYOne(attrs) { var x = attrs.x; attrs.x = attrs.y; attrs.y = x } }, { "./lodash": 10 }], 5: [function (require, module, exports) { - /* - * Simple doubly linked list implementation derived from Cormen, et al., - * "Introduction to Algorithms". - */ - module.exports = List; function List() { var sentinel = {}; sentinel._next = sentinel._prev = sentinel; this._sentinel = sentinel } List.prototype.dequeue = function () { var sentinel = this._sentinel; var entry = sentinel._prev; if (entry !== sentinel) { unlink(entry); return entry } }; List.prototype.enqueue = function (entry) { var sentinel = this._sentinel; if (entry._prev && entry._next) { unlink(entry) } entry._next = sentinel._next; sentinel._next._prev = entry; sentinel._next = entry; entry._prev = sentinel }; List.prototype.toString = function () { var strs = []; var sentinel = this._sentinel; var curr = sentinel._prev; while (curr !== sentinel) { strs.push(JSON.stringify(curr, filterOutLinks)); curr = curr._prev } return "[" + strs.join(", ") + "]" }; function unlink(entry) { entry._prev._next = entry._next; entry._next._prev = entry._prev; delete entry._next; delete entry._prev } function filterOutLinks(k, v) { if (k !== "_next" && k !== "_prev") { return v } } - }, {}], 6: [function (require, module, exports) { - var _ = require("./lodash"); var util = require("./util"); var Graph = require("./graphlib").Graph; module.exports = { debugOrdering: debugOrdering }; -/* istanbul ignore next */function debugOrdering(g) { var layerMatrix = util.buildLayerMatrix(g); var h = new Graph({ compound: true, multigraph: true }).setGraph({}); _.forEach(g.nodes(), function (v) { h.setNode(v, { label: v }); h.setParent(v, "layer" + g.node(v).rank) }); _.forEach(g.edges(), function (e) { h.setEdge(e.v, e.w, {}, e.name) }); _.forEach(layerMatrix, function (layer, i) { var layerV = "layer" + i; h.setNode(layerV, { rank: "same" }); _.reduce(layer, function (u, v) { h.setEdge(u, v, { style: "invis" }); return v }) }); return h } - }, { "./graphlib": 7, "./lodash": 10, "./util": 29 }], 7: [function (require, module, exports) { - /* global window */ - var graphlib; if (typeof require === "function") { - try { graphlib = require("graphlib") } catch (e) { - // continue regardless of error - } - } if (!graphlib) { graphlib = window.graphlib } module.exports = graphlib - }, { graphlib: 31 }], 8: [function (require, module, exports) { - var _ = require("./lodash"); var Graph = require("./graphlib").Graph; var List = require("./data/list"); -/* - * A greedy heuristic for finding a feedback arc set for a graph. A feedback - * arc set is a set of edges that can be removed to make a graph acyclic. - * The algorithm comes from: P. Eades, X. Lin, and W. F. Smyth, "A fast and - * effective heuristic for the feedback arc set problem." This implementation - * adjusts that from the paper to allow for weighted edges. - */module.exports = greedyFAS; var DEFAULT_WEIGHT_FN = _.constant(1); function greedyFAS(g, weightFn) { - if (g.nodeCount() <= 1) { return [] } var state = buildState(g, weightFn || DEFAULT_WEIGHT_FN); var results = doGreedyFAS(state.graph, state.buckets, state.zeroIdx); - // Expand multi-edges - return _.flatten(_.map(results, function (e) { return g.outEdges(e.v, e.w) }), true) - } function doGreedyFAS(g, buckets, zeroIdx) { var results = []; var sources = buckets[buckets.length - 1]; var sinks = buckets[0]; var entry; while (g.nodeCount()) { while (entry = sinks.dequeue()) { removeNode(g, buckets, zeroIdx, entry) } while (entry = sources.dequeue()) { removeNode(g, buckets, zeroIdx, entry) } if (g.nodeCount()) { for (var i = buckets.length - 2; i > 0; --i) { entry = buckets[i].dequeue(); if (entry) { results = results.concat(removeNode(g, buckets, zeroIdx, entry, true)); break } } } } return results } function removeNode(g, buckets, zeroIdx, entry, collectPredecessors) { var results = collectPredecessors ? [] : undefined; _.forEach(g.inEdges(entry.v), function (edge) { var weight = g.edge(edge); var uEntry = g.node(edge.v); if (collectPredecessors) { results.push({ v: edge.v, w: edge.w }) } uEntry.out -= weight; assignBucket(buckets, zeroIdx, uEntry) }); _.forEach(g.outEdges(entry.v), function (edge) { var weight = g.edge(edge); var w = edge.w; var wEntry = g.node(w); wEntry["in"] -= weight; assignBucket(buckets, zeroIdx, wEntry) }); g.removeNode(entry.v); return results } function buildState(g, weightFn) { - var fasGraph = new Graph; var maxIn = 0; var maxOut = 0; _.forEach(g.nodes(), function (v) { fasGraph.setNode(v, { v: v, in: 0, out: 0 }) }); - // Aggregate weights on nodes, but also sum the weights across multi-edges - // into a single edge for the fasGraph. - _.forEach(g.edges(), function (e) { var prevWeight = fasGraph.edge(e.v, e.w) || 0; var weight = weightFn(e); var edgeWeight = prevWeight + weight; fasGraph.setEdge(e.v, e.w, edgeWeight); maxOut = Math.max(maxOut, fasGraph.node(e.v).out += weight); maxIn = Math.max(maxIn, fasGraph.node(e.w)["in"] += weight) }); var buckets = _.range(maxOut + maxIn + 3).map(function () { return new List }); var zeroIdx = maxIn + 1; _.forEach(fasGraph.nodes(), function (v) { assignBucket(buckets, zeroIdx, fasGraph.node(v)) }); return { graph: fasGraph, buckets: buckets, zeroIdx: zeroIdx } - } function assignBucket(buckets, zeroIdx, entry) { if (!entry.out) { buckets[0].enqueue(entry) } else if (!entry["in"]) { buckets[buckets.length - 1].enqueue(entry) } else { buckets[entry.out - entry["in"] + zeroIdx].enqueue(entry) } } - }, { "./data/list": 5, "./graphlib": 7, "./lodash": 10 }], 9: [function (require, module, exports) { - "use strict"; var _ = require("./lodash"); var acyclic = require("./acyclic"); var normalize = require("./normalize"); var rank = require("./rank"); var normalizeRanks = require("./util").normalizeRanks; var parentDummyChains = require("./parent-dummy-chains"); var removeEmptyRanks = require("./util").removeEmptyRanks; var nestingGraph = require("./nesting-graph"); var addBorderSegments = require("./add-border-segments"); var coordinateSystem = require("./coordinate-system"); var order = require("./order"); var position = require("./position"); var util = require("./util"); var Graph = require("./graphlib").Graph; module.exports = layout; function layout(g, opts) { var time = opts && opts.debugTiming ? util.time : util.notime; time("layout", function () { var layoutGraph = time(" buildLayoutGraph", function () { return buildLayoutGraph(g) }); time(" runLayout", function () { runLayout(layoutGraph, time) }); time(" updateInputGraph", function () { updateInputGraph(g, layoutGraph) }) }) } function runLayout(g, time) { time(" makeSpaceForEdgeLabels", function () { makeSpaceForEdgeLabels(g) }); time(" removeSelfEdges", function () { removeSelfEdges(g) }); time(" acyclic", function () { acyclic.run(g) }); time(" nestingGraph.run", function () { nestingGraph.run(g) }); time(" rank", function () { rank(util.asNonCompoundGraph(g)) }); time(" injectEdgeLabelProxies", function () { injectEdgeLabelProxies(g) }); time(" removeEmptyRanks", function () { removeEmptyRanks(g) }); time(" nestingGraph.cleanup", function () { nestingGraph.cleanup(g) }); time(" normalizeRanks", function () { normalizeRanks(g) }); time(" assignRankMinMax", function () { assignRankMinMax(g) }); time(" removeEdgeLabelProxies", function () { removeEdgeLabelProxies(g) }); time(" normalize.run", function () { normalize.run(g) }); time(" parentDummyChains", function () { parentDummyChains(g) }); time(" addBorderSegments", function () { addBorderSegments(g) }); time(" order", function () { order(g) }); time(" insertSelfEdges", function () { insertSelfEdges(g) }); time(" adjustCoordinateSystem", function () { coordinateSystem.adjust(g) }); time(" position", function () { position(g) }); time(" positionSelfEdges", function () { positionSelfEdges(g) }); time(" removeBorderNodes", function () { removeBorderNodes(g) }); time(" normalize.undo", function () { normalize.undo(g) }); time(" fixupEdgeLabelCoords", function () { fixupEdgeLabelCoords(g) }); time(" undoCoordinateSystem", function () { coordinateSystem.undo(g) }); time(" translateGraph", function () { translateGraph(g) }); time(" assignNodeIntersects", function () { assignNodeIntersects(g) }); time(" reversePoints", function () { reversePointsForReversedEdges(g) }); time(" acyclic.undo", function () { acyclic.undo(g) }) } -/* - * Copies final layout information from the layout graph back to the input - * graph. This process only copies whitelisted attributes from the layout graph - * to the input graph, so it serves as a good place to determine what - * attributes can influence layout. - */function updateInputGraph(inputGraph, layoutGraph) { _.forEach(inputGraph.nodes(), function (v) { var inputLabel = inputGraph.node(v); var layoutLabel = layoutGraph.node(v); if (inputLabel) { inputLabel.x = layoutLabel.x; inputLabel.y = layoutLabel.y; if (layoutGraph.children(v).length) { inputLabel.width = layoutLabel.width; inputLabel.height = layoutLabel.height } } }); _.forEach(inputGraph.edges(), function (e) { var inputLabel = inputGraph.edge(e); var layoutLabel = layoutGraph.edge(e); inputLabel.points = layoutLabel.points; if (_.has(layoutLabel, "x")) { inputLabel.x = layoutLabel.x; inputLabel.y = layoutLabel.y } }); inputGraph.graph().width = layoutGraph.graph().width; inputGraph.graph().height = layoutGraph.graph().height } var graphNumAttrs = ["nodesep", "edgesep", "ranksep", "marginx", "marginy"]; var graphDefaults = { ranksep: 50, edgesep: 20, nodesep: 50, rankdir: "tb" }; var graphAttrs = ["acyclicer", "ranker", "rankdir", "align"]; var nodeNumAttrs = ["width", "height"]; var nodeDefaults = { width: 0, height: 0 }; var edgeNumAttrs = ["minlen", "weight", "width", "height", "labeloffset"]; var edgeDefaults = { minlen: 1, weight: 1, width: 0, height: 0, labeloffset: 10, labelpos: "r" }; var edgeAttrs = ["labelpos"]; -/* - * Constructs a new graph from the input graph, which can be used for layout. - * This process copies only whitelisted attributes from the input graph to the - * layout graph. Thus this function serves as a good place to determine what - * attributes can influence layout. - */function buildLayoutGraph(inputGraph) { var g = new Graph({ multigraph: true, compound: true }); var graph = canonicalize(inputGraph.graph()); g.setGraph(_.merge({}, graphDefaults, selectNumberAttrs(graph, graphNumAttrs), _.pick(graph, graphAttrs))); _.forEach(inputGraph.nodes(), function (v) { var node = canonicalize(inputGraph.node(v)); g.setNode(v, _.defaults(selectNumberAttrs(node, nodeNumAttrs), nodeDefaults)); g.setParent(v, inputGraph.parent(v)) }); _.forEach(inputGraph.edges(), function (e) { var edge = canonicalize(inputGraph.edge(e)); g.setEdge(e, _.merge({}, edgeDefaults, selectNumberAttrs(edge, edgeNumAttrs), _.pick(edge, edgeAttrs))) }); return g } -/* - * This idea comes from the Gansner paper: to account for edge labels in our - * layout we split each rank in half by doubling minlen and halving ranksep. - * Then we can place labels at these mid-points between nodes. - * - * We also add some minimal padding to the width to push the label for the edge - * away from the edge itself a bit. - */function makeSpaceForEdgeLabels(g) { var graph = g.graph(); graph.ranksep /= 2; _.forEach(g.edges(), function (e) { var edge = g.edge(e); edge.minlen *= 2; if (edge.labelpos.toLowerCase() !== "c") { if (graph.rankdir === "TB" || graph.rankdir === "BT") { edge.width += edge.labeloffset } else { edge.height += edge.labeloffset } } }) } -/* - * Creates temporary dummy nodes that capture the rank in which each edge's - * label is going to, if it has one of non-zero width and height. We do this - * so that we can safely remove empty ranks while preserving balance for the - * label's position. - */function injectEdgeLabelProxies(g) { _.forEach(g.edges(), function (e) { var edge = g.edge(e); if (edge.width && edge.height) { var v = g.node(e.v); var w = g.node(e.w); var label = { rank: (w.rank - v.rank) / 2 + v.rank, e: e }; util.addDummyNode(g, "edge-proxy", label, "_ep") } }) } function assignRankMinMax(g) { var maxRank = 0; _.forEach(g.nodes(), function (v) { var node = g.node(v); if (node.borderTop) { node.minRank = g.node(node.borderTop).rank; node.maxRank = g.node(node.borderBottom).rank; maxRank = _.max(maxRank, node.maxRank) } }); g.graph().maxRank = maxRank } function removeEdgeLabelProxies(g) { _.forEach(g.nodes(), function (v) { var node = g.node(v); if (node.dummy === "edge-proxy") { g.edge(node.e).labelRank = node.rank; g.removeNode(v) } }) } function translateGraph(g) { var minX = Number.POSITIVE_INFINITY; var maxX = 0; var minY = Number.POSITIVE_INFINITY; var maxY = 0; var graphLabel = g.graph(); var marginX = graphLabel.marginx || 0; var marginY = graphLabel.marginy || 0; function getExtremes(attrs) { var x = attrs.x; var y = attrs.y; var w = attrs.width; var h = attrs.height; minX = Math.min(minX, x - w / 2); maxX = Math.max(maxX, x + w / 2); minY = Math.min(minY, y - h / 2); maxY = Math.max(maxY, y + h / 2) } _.forEach(g.nodes(), function (v) { getExtremes(g.node(v)) }); _.forEach(g.edges(), function (e) { var edge = g.edge(e); if (_.has(edge, "x")) { getExtremes(edge) } }); minX -= marginX; minY -= marginY; _.forEach(g.nodes(), function (v) { var node = g.node(v); node.x -= minX; node.y -= minY }); _.forEach(g.edges(), function (e) { var edge = g.edge(e); _.forEach(edge.points, function (p) { p.x -= minX; p.y -= minY }); if (_.has(edge, "x")) { edge.x -= minX } if (_.has(edge, "y")) { edge.y -= minY } }); graphLabel.width = maxX - minX + marginX; graphLabel.height = maxY - minY + marginY } function assignNodeIntersects(g) { _.forEach(g.edges(), function (e) { var edge = g.edge(e); var nodeV = g.node(e.v); var nodeW = g.node(e.w); var p1, p2; if (!edge.points) { edge.points = []; p1 = nodeW; p2 = nodeV } else { p1 = edge.points[0]; p2 = edge.points[edge.points.length - 1] } edge.points.unshift(util.intersectRect(nodeV, p1)); edge.points.push(util.intersectRect(nodeW, p2)) }) } function fixupEdgeLabelCoords(g) { _.forEach(g.edges(), function (e) { var edge = g.edge(e); if (_.has(edge, "x")) { if (edge.labelpos === "l" || edge.labelpos === "r") { edge.width -= edge.labeloffset } switch (edge.labelpos) { case "l": edge.x -= edge.width / 2 + edge.labeloffset; break; case "r": edge.x += edge.width / 2 + edge.labeloffset; break } } }) } function reversePointsForReversedEdges(g) { _.forEach(g.edges(), function (e) { var edge = g.edge(e); if (edge.reversed) { edge.points.reverse() } }) } function removeBorderNodes(g) { _.forEach(g.nodes(), function (v) { if (g.children(v).length) { var node = g.node(v); var t = g.node(node.borderTop); var b = g.node(node.borderBottom); var l = g.node(_.last(node.borderLeft)); var r = g.node(_.last(node.borderRight)); node.width = Math.abs(r.x - l.x); node.height = Math.abs(b.y - t.y); node.x = l.x + node.width / 2; node.y = t.y + node.height / 2 } }); _.forEach(g.nodes(), function (v) { if (g.node(v).dummy === "border") { g.removeNode(v) } }) } function removeSelfEdges(g) { _.forEach(g.edges(), function (e) { if (e.v === e.w) { var node = g.node(e.v); if (!node.selfEdges) { node.selfEdges = [] } node.selfEdges.push({ e: e, label: g.edge(e) }); g.removeEdge(e) } }) } function insertSelfEdges(g) { var layers = util.buildLayerMatrix(g); _.forEach(layers, function (layer) { var orderShift = 0; _.forEach(layer, function (v, i) { var node = g.node(v); node.order = i + orderShift; _.forEach(node.selfEdges, function (selfEdge) { util.addDummyNode(g, "selfedge", { width: selfEdge.label.width, height: selfEdge.label.height, rank: node.rank, order: i + ++orderShift, e: selfEdge.e, label: selfEdge.label }, "_se") }); delete node.selfEdges }) }) } function positionSelfEdges(g) { _.forEach(g.nodes(), function (v) { var node = g.node(v); if (node.dummy === "selfedge") { var selfNode = g.node(node.e.v); var x = selfNode.x + selfNode.width / 2; var y = selfNode.y; var dx = node.x - x; var dy = selfNode.height / 2; g.setEdge(node.e, node.label); g.removeNode(v); node.label.points = [{ x: x + 2 * dx / 3, y: y - dy }, { x: x + 5 * dx / 6, y: y - dy }, { x: x + dx, y: y }, { x: x + 5 * dx / 6, y: y + dy }, { x: x + 2 * dx / 3, y: y + dy }]; node.label.x = node.x; node.label.y = node.y } }) } function selectNumberAttrs(obj, attrs) { return _.mapValues(_.pick(obj, attrs), Number) } function canonicalize(attrs) { var newAttrs = {}; _.forEach(attrs, function (v, k) { newAttrs[k.toLowerCase()] = v }); return newAttrs } - }, { "./acyclic": 2, "./add-border-segments": 3, "./coordinate-system": 4, "./graphlib": 7, "./lodash": 10, "./nesting-graph": 11, "./normalize": 12, "./order": 17, "./parent-dummy-chains": 22, "./position": 24, "./rank": 26, "./util": 29 }], 10: [function (require, module, exports) { - /* global window */ - var lodash; if (typeof require === "function") { - try { lodash = { cloneDeep: require("lodash/cloneDeep"), constant: require("lodash/constant"), defaults: require("lodash/defaults"), each: require("lodash/each"), filter: require("lodash/filter"), find: require("lodash/find"), flatten: require("lodash/flatten"), forEach: require("lodash/forEach"), forIn: require("lodash/forIn"), has: require("lodash/has"), isUndefined: require("lodash/isUndefined"), last: require("lodash/last"), map: require("lodash/map"), mapValues: require("lodash/mapValues"), max: require("lodash/max"), merge: require("lodash/merge"), min: require("lodash/min"), minBy: require("lodash/minBy"), now: require("lodash/now"), pick: require("lodash/pick"), range: require("lodash/range"), reduce: require("lodash/reduce"), sortBy: require("lodash/sortBy"), uniqueId: require("lodash/uniqueId"), values: require("lodash/values"), zipObject: require("lodash/zipObject") } } catch (e) { - // continue regardless of error - } - } if (!lodash) { lodash = window._ } module.exports = lodash - }, { "lodash/cloneDeep": 227, "lodash/constant": 228, "lodash/defaults": 229, "lodash/each": 230, "lodash/filter": 232, "lodash/find": 233, "lodash/flatten": 235, "lodash/forEach": 236, "lodash/forIn": 237, "lodash/has": 239, "lodash/isUndefined": 258, "lodash/last": 261, "lodash/map": 262, "lodash/mapValues": 263, "lodash/max": 264, "lodash/merge": 266, "lodash/min": 267, "lodash/minBy": 268, "lodash/now": 270, "lodash/pick": 271, "lodash/range": 273, "lodash/reduce": 274, "lodash/sortBy": 276, "lodash/uniqueId": 286, "lodash/values": 287, "lodash/zipObject": 288 }], 11: [function (require, module, exports) { - var _ = require("./lodash"); var util = require("./util"); module.exports = { run: run, cleanup: cleanup }; -/* - * A nesting graph creates dummy nodes for the tops and bottoms of subgraphs, - * adds appropriate edges to ensure that all cluster nodes are placed between - * these boundries, and ensures that the graph is connected. - * - * In addition we ensure, through the use of the minlen property, that nodes - * and subgraph border nodes to not end up on the same rank. - * - * Preconditions: - * - * 1. Input graph is a DAG - * 2. Nodes in the input graph has a minlen attribute - * - * Postconditions: - * - * 1. Input graph is connected. - * 2. Dummy nodes are added for the tops and bottoms of subgraphs. - * 3. The minlen attribute for nodes is adjusted to ensure nodes do not - * get placed on the same rank as subgraph border nodes. - * - * The nesting graph idea comes from Sander, "Layout of Compound Directed - * Graphs." - */function run(g) { - var root = util.addDummyNode(g, "root", {}, "_root"); var depths = treeDepths(g); var height = _.max(_.values(depths)) - 1;// Note: depths is an Object not an array - var nodeSep = 2 * height + 1; g.graph().nestingRoot = root; - // Multiply minlen by nodeSep to align nodes on non-border ranks. - _.forEach(g.edges(), function (e) { g.edge(e).minlen *= nodeSep }); - // Calculate a weight that is sufficient to keep subgraphs vertically compact - var weight = sumWeights(g) + 1; - // Create border nodes and link them up - _.forEach(g.children(), function (child) { dfs(g, root, nodeSep, weight, height, depths, child) }); - // Save the multiplier for node layers for later removal of empty border - // layers. - g.graph().nodeRankFactor = nodeSep - } function dfs(g, root, nodeSep, weight, height, depths, v) { var children = g.children(v); if (!children.length) { if (v !== root) { g.setEdge(root, v, { weight: 0, minlen: nodeSep }) } return } var top = util.addBorderNode(g, "_bt"); var bottom = util.addBorderNode(g, "_bb"); var label = g.node(v); g.setParent(top, v); label.borderTop = top; g.setParent(bottom, v); label.borderBottom = bottom; _.forEach(children, function (child) { dfs(g, root, nodeSep, weight, height, depths, child); var childNode = g.node(child); var childTop = childNode.borderTop ? childNode.borderTop : child; var childBottom = childNode.borderBottom ? childNode.borderBottom : child; var thisWeight = childNode.borderTop ? weight : 2 * weight; var minlen = childTop !== childBottom ? 1 : height - depths[v] + 1; g.setEdge(top, childTop, { weight: thisWeight, minlen: minlen, nestingEdge: true }); g.setEdge(childBottom, bottom, { weight: thisWeight, minlen: minlen, nestingEdge: true }) }); if (!g.parent(v)) { g.setEdge(root, top, { weight: 0, minlen: height + depths[v] }) } } function treeDepths(g) { var depths = {}; function dfs(v, depth) { var children = g.children(v); if (children && children.length) { _.forEach(children, function (child) { dfs(child, depth + 1) }) } depths[v] = depth } _.forEach(g.children(), function (v) { dfs(v, 1) }); return depths } function sumWeights(g) { return _.reduce(g.edges(), function (acc, e) { return acc + g.edge(e).weight }, 0) } function cleanup(g) { var graphLabel = g.graph(); g.removeNode(graphLabel.nestingRoot); delete graphLabel.nestingRoot; _.forEach(g.edges(), function (e) { var edge = g.edge(e); if (edge.nestingEdge) { g.removeEdge(e) } }) } - }, { "./lodash": 10, "./util": 29 }], 12: [function (require, module, exports) { - "use strict"; var _ = require("./lodash"); var util = require("./util"); module.exports = { run: run, undo: undo }; -/* - * Breaks any long edges in the graph into short segments that span 1 layer - * each. This operation is undoable with the denormalize function. - * - * Pre-conditions: - * - * 1. The input graph is a DAG. - * 2. Each node in the graph has a "rank" property. - * - * Post-condition: - * - * 1. All edges in the graph have a length of 1. - * 2. Dummy nodes are added where edges have been split into segments. - * 3. The graph is augmented with a "dummyChains" attribute which contains - * the first dummy in each chain of dummy nodes produced. - */function run(g) { g.graph().dummyChains = []; _.forEach(g.edges(), function (edge) { normalizeEdge(g, edge) }) } function normalizeEdge(g, e) { var v = e.v; var vRank = g.node(v).rank; var w = e.w; var wRank = g.node(w).rank; var name = e.name; var edgeLabel = g.edge(e); var labelRank = edgeLabel.labelRank; if (wRank === vRank + 1) return; g.removeEdge(e); var dummy, attrs, i; for (i = 0, ++vRank; vRank < wRank; ++i, ++vRank) { edgeLabel.points = []; attrs = { width: 0, height: 0, edgeLabel: edgeLabel, edgeObj: e, rank: vRank }; dummy = util.addDummyNode(g, "edge", attrs, "_d"); if (vRank === labelRank) { attrs.width = edgeLabel.width; attrs.height = edgeLabel.height; attrs.dummy = "edge-label"; attrs.labelpos = edgeLabel.labelpos } g.setEdge(v, dummy, { weight: edgeLabel.weight }, name); if (i === 0) { g.graph().dummyChains.push(dummy) } v = dummy } g.setEdge(v, w, { weight: edgeLabel.weight }, name) } function undo(g) { _.forEach(g.graph().dummyChains, function (v) { var node = g.node(v); var origLabel = node.edgeLabel; var w; g.setEdge(node.edgeObj, origLabel); while (node.dummy) { w = g.successors(v)[0]; g.removeNode(v); origLabel.points.push({ x: node.x, y: node.y }); if (node.dummy === "edge-label") { origLabel.x = node.x; origLabel.y = node.y; origLabel.width = node.width; origLabel.height = node.height } v = w; node = g.node(v) } }) } - }, { "./lodash": 10, "./util": 29 }], 13: [function (require, module, exports) { - var _ = require("../lodash"); module.exports = addSubgraphConstraints; function addSubgraphConstraints(g, cg, vs) { - var prev = {}, rootPrev; _.forEach(vs, function (v) { var child = g.parent(v), parent, prevChild; while (child) { parent = g.parent(child); if (parent) { prevChild = prev[parent]; prev[parent] = child } else { prevChild = rootPrev; rootPrev = child } if (prevChild && prevChild !== child) { cg.setEdge(prevChild, child); return } child = parent } }); -/* - function dfs(v) { - var children = v ? g.children(v) : g.children(); - if (children.length) { - var min = Number.POSITIVE_INFINITY, - subgraphs = []; - _.each(children, function(child) { - var childMin = dfs(child); - if (g.children(child).length) { - subgraphs.push({ v: child, order: childMin }); - } - min = Math.min(min, childMin); - }); - _.reduce(_.sortBy(subgraphs, "order"), function(prev, curr) { - cg.setEdge(prev.v, curr.v); - return curr; - }); - return min; - } - return g.node(v).order; - } - dfs(undefined); - */} - }, { "../lodash": 10 }], 14: [function (require, module, exports) { var _ = require("../lodash"); module.exports = barycenter; function barycenter(g, movable) { return _.map(movable, function (v) { var inV = g.inEdges(v); if (!inV.length) { return { v: v } } else { var result = _.reduce(inV, function (acc, e) { var edge = g.edge(e), nodeU = g.node(e.v); return { sum: acc.sum + edge.weight * nodeU.order, weight: acc.weight + edge.weight } }, { sum: 0, weight: 0 }); return { v: v, barycenter: result.sum / result.weight, weight: result.weight } } }) } }, { "../lodash": 10 }], 15: [function (require, module, exports) { - var _ = require("../lodash"); var Graph = require("../graphlib").Graph; module.exports = buildLayerGraph; -/* - * Constructs a graph that can be used to sort a layer of nodes. The graph will - * contain all base and subgraph nodes from the request layer in their original - * hierarchy and any edges that are incident on these nodes and are of the type - * requested by the "relationship" parameter. - * - * Nodes from the requested rank that do not have parents are assigned a root - * node in the output graph, which is set in the root graph attribute. This - * makes it easy to walk the hierarchy of movable nodes during ordering. - * - * Pre-conditions: - * - * 1. Input graph is a DAG - * 2. Base nodes in the input graph have a rank attribute - * 3. Subgraph nodes in the input graph has minRank and maxRank attributes - * 4. Edges have an assigned weight - * - * Post-conditions: - * - * 1. Output graph has all nodes in the movable rank with preserved - * hierarchy. - * 2. Root nodes in the movable layer are made children of the node - * indicated by the root attribute of the graph. - * 3. Non-movable nodes incident on movable nodes, selected by the - * relationship parameter, are included in the graph (without hierarchy). - * 4. Edges incident on movable nodes, selected by the relationship - * parameter, are added to the output graph. - * 5. The weights for copied edges are aggregated as need, since the output - * graph is not a multi-graph. - */function buildLayerGraph(g, rank, relationship) { - var root = createRootNode(g), result = new Graph({ compound: true }).setGraph({ root: root }).setDefaultNodeLabel(function (v) { return g.node(v) }); _.forEach(g.nodes(), function (v) { - var node = g.node(v), parent = g.parent(v); if (node.rank === rank || node.minRank <= rank && rank <= node.maxRank) { - result.setNode(v); result.setParent(v, parent || root); - // This assumes we have only short edges! - _.forEach(g[relationship](v), function (e) { var u = e.v === v ? e.w : e.v, edge = result.edge(u, v), weight = !_.isUndefined(edge) ? edge.weight : 0; result.setEdge(u, v, { weight: g.edge(e).weight + weight }) }); if (_.has(node, "minRank")) { result.setNode(v, { borderLeft: node.borderLeft[rank], borderRight: node.borderRight[rank] }) } - } - }); return result - } function createRootNode(g) { var v; while (g.hasNode(v = _.uniqueId("_root"))); return v } - }, { "../graphlib": 7, "../lodash": 10 }], 16: [function (require, module, exports) { - "use strict"; var _ = require("../lodash"); module.exports = crossCount; -/* - * A function that takes a layering (an array of layers, each with an array of - * ordererd nodes) and a graph and returns a weighted crossing count. - * - * Pre-conditions: - * - * 1. Input graph must be simple (not a multigraph), directed, and include - * only simple edges. - * 2. Edges in the input graph must have assigned weights. - * - * Post-conditions: - * - * 1. The graph and layering matrix are left unchanged. - * - * This algorithm is derived from Barth, et al., "Bilayer Cross Counting." - */function crossCount(g, layering) { var cc = 0; for (var i = 1; i < layering.length; ++i) { cc += twoLayerCrossCount(g, layering[i - 1], layering[i]) } return cc } function twoLayerCrossCount(g, northLayer, southLayer) { - // Sort all of the edges between the north and south layers by their position - // in the north layer and then the south. Map these edges to the position of - // their head in the south layer. - var southPos = _.zipObject(southLayer, _.map(southLayer, function (v, i) { return i })); var southEntries = _.flatten(_.map(northLayer, function (v) { return _.sortBy(_.map(g.outEdges(v), function (e) { return { pos: southPos[e.w], weight: g.edge(e).weight } }), "pos") }), true); - // Build the accumulator tree - var firstIndex = 1; while (firstIndex < southLayer.length) firstIndex <<= 1; var treeSize = 2 * firstIndex - 1; firstIndex -= 1; var tree = _.map(new Array(treeSize), function () { return 0 }); - // Calculate the weighted crossings - var cc = 0; _.forEach(southEntries.forEach(function (entry) { var index = entry.pos + firstIndex; tree[index] += entry.weight; var weightSum = 0; while (index > 0) { if (index % 2) { weightSum += tree[index + 1] } index = index - 1 >> 1; tree[index] += entry.weight } cc += entry.weight * weightSum })); return cc - } - }, { "../lodash": 10 }], 17: [function (require, module, exports) { - "use strict"; var _ = require("../lodash"); var initOrder = require("./init-order"); var crossCount = require("./cross-count"); var sortSubgraph = require("./sort-subgraph"); var buildLayerGraph = require("./build-layer-graph"); var addSubgraphConstraints = require("./add-subgraph-constraints"); var Graph = require("../graphlib").Graph; var util = require("../util"); module.exports = order; -/* - * Applies heuristics to minimize edge crossings in the graph and sets the best - * order solution as an order attribute on each node. - * - * Pre-conditions: - * - * 1. Graph must be DAG - * 2. Graph nodes must be objects with a "rank" attribute - * 3. Graph edges must have the "weight" attribute - * - * Post-conditions: - * - * 1. Graph nodes will have an "order" attribute based on the results of the - * algorithm. - */function order(g) { var maxRank = util.maxRank(g), downLayerGraphs = buildLayerGraphs(g, _.range(1, maxRank + 1), "inEdges"), upLayerGraphs = buildLayerGraphs(g, _.range(maxRank - 1, -1, -1), "outEdges"); var layering = initOrder(g); assignOrder(g, layering); var bestCC = Number.POSITIVE_INFINITY, best; for (var i = 0, lastBest = 0; lastBest < 4; ++i, ++lastBest) { sweepLayerGraphs(i % 2 ? downLayerGraphs : upLayerGraphs, i % 4 >= 2); layering = util.buildLayerMatrix(g); var cc = crossCount(g, layering); if (cc < bestCC) { lastBest = 0; best = _.cloneDeep(layering); bestCC = cc } } assignOrder(g, best) } function buildLayerGraphs(g, ranks, relationship) { return _.map(ranks, function (rank) { return buildLayerGraph(g, rank, relationship) }) } function sweepLayerGraphs(layerGraphs, biasRight) { var cg = new Graph; _.forEach(layerGraphs, function (lg) { var root = lg.graph().root; var sorted = sortSubgraph(lg, root, cg, biasRight); _.forEach(sorted.vs, function (v, i) { lg.node(v).order = i }); addSubgraphConstraints(lg, cg, sorted.vs) }) } function assignOrder(g, layering) { _.forEach(layering, function (layer) { _.forEach(layer, function (v, i) { g.node(v).order = i }) }) } - }, { "../graphlib": 7, "../lodash": 10, "../util": 29, "./add-subgraph-constraints": 13, "./build-layer-graph": 15, "./cross-count": 16, "./init-order": 18, "./sort-subgraph": 20 }], 18: [function (require, module, exports) { - "use strict"; var _ = require("../lodash"); module.exports = initOrder; -/* - * Assigns an initial order value for each node by performing a DFS search - * starting from nodes in the first rank. Nodes are assigned an order in their - * rank as they are first visited. - * - * This approach comes from Gansner, et al., "A Technique for Drawing Directed - * Graphs." - * - * Returns a layering matrix with an array per layer and each layer sorted by - * the order of its nodes. - */function initOrder(g) { var visited = {}; var simpleNodes = _.filter(g.nodes(), function (v) { return !g.children(v).length }); var maxRank = _.max(_.map(simpleNodes, function (v) { return g.node(v).rank })); var layers = _.map(_.range(maxRank + 1), function () { return [] }); function dfs(v) { if (_.has(visited, v)) return; visited[v] = true; var node = g.node(v); layers[node.rank].push(v); _.forEach(g.successors(v), dfs) } var orderedVs = _.sortBy(simpleNodes, function (v) { return g.node(v).rank }); _.forEach(orderedVs, dfs); return layers } - }, { "../lodash": 10 }], 19: [function (require, module, exports) { - "use strict"; var _ = require("../lodash"); module.exports = resolveConflicts; -/* - * Given a list of entries of the form {v, barycenter, weight} and a - * constraint graph this function will resolve any conflicts between the - * constraint graph and the barycenters for the entries. If the barycenters for - * an entry would violate a constraint in the constraint graph then we coalesce - * the nodes in the conflict into a new node that respects the contraint and - * aggregates barycenter and weight information. - * - * This implementation is based on the description in Forster, "A Fast and - * Simple Hueristic for Constrained Two-Level Crossing Reduction," thought it - * differs in some specific details. - * - * Pre-conditions: - * - * 1. Each entry has the form {v, barycenter, weight}, or if the node has - * no barycenter, then {v}. - * - * Returns: - * - * A new list of entries of the form {vs, i, barycenter, weight}. The list - * `vs` may either be a singleton or it may be an aggregation of nodes - * ordered such that they do not violate constraints from the constraint - * graph. The property `i` is the lowest original index of any of the - * elements in `vs`. - */function resolveConflicts(entries, cg) { var mappedEntries = {}; _.forEach(entries, function (entry, i) { var tmp = mappedEntries[entry.v] = { indegree: 0, in: [], out: [], vs: [entry.v], i: i }; if (!_.isUndefined(entry.barycenter)) { tmp.barycenter = entry.barycenter; tmp.weight = entry.weight } }); _.forEach(cg.edges(), function (e) { var entryV = mappedEntries[e.v]; var entryW = mappedEntries[e.w]; if (!_.isUndefined(entryV) && !_.isUndefined(entryW)) { entryW.indegree++; entryV.out.push(mappedEntries[e.w]) } }); var sourceSet = _.filter(mappedEntries, function (entry) { return !entry.indegree }); return doResolveConflicts(sourceSet) } function doResolveConflicts(sourceSet) { var entries = []; function handleIn(vEntry) { return function (uEntry) { if (uEntry.merged) { return } if (_.isUndefined(uEntry.barycenter) || _.isUndefined(vEntry.barycenter) || uEntry.barycenter >= vEntry.barycenter) { mergeEntries(vEntry, uEntry) } } } function handleOut(vEntry) { return function (wEntry) { wEntry["in"].push(vEntry); if (--wEntry.indegree === 0) { sourceSet.push(wEntry) } } } while (sourceSet.length) { var entry = sourceSet.pop(); entries.push(entry); _.forEach(entry["in"].reverse(), handleIn(entry)); _.forEach(entry.out, handleOut(entry)) } return _.map(_.filter(entries, function (entry) { return !entry.merged }), function (entry) { return _.pick(entry, ["vs", "i", "barycenter", "weight"]) }) } function mergeEntries(target, source) { var sum = 0; var weight = 0; if (target.weight) { sum += target.barycenter * target.weight; weight += target.weight } if (source.weight) { sum += source.barycenter * source.weight; weight += source.weight } target.vs = source.vs.concat(target.vs); target.barycenter = sum / weight; target.weight = weight; target.i = Math.min(source.i, target.i); source.merged = true } - }, { "../lodash": 10 }], 20: [function (require, module, exports) { var _ = require("../lodash"); var barycenter = require("./barycenter"); var resolveConflicts = require("./resolve-conflicts"); var sort = require("./sort"); module.exports = sortSubgraph; function sortSubgraph(g, v, cg, biasRight) { var movable = g.children(v); var node = g.node(v); var bl = node ? node.borderLeft : undefined; var br = node ? node.borderRight : undefined; var subgraphs = {}; if (bl) { movable = _.filter(movable, function (w) { return w !== bl && w !== br }) } var barycenters = barycenter(g, movable); _.forEach(barycenters, function (entry) { if (g.children(entry.v).length) { var subgraphResult = sortSubgraph(g, entry.v, cg, biasRight); subgraphs[entry.v] = subgraphResult; if (_.has(subgraphResult, "barycenter")) { mergeBarycenters(entry, subgraphResult) } } }); var entries = resolveConflicts(barycenters, cg); expandSubgraphs(entries, subgraphs); var result = sort(entries, biasRight); if (bl) { result.vs = _.flatten([bl, result.vs, br], true); if (g.predecessors(bl).length) { var blPred = g.node(g.predecessors(bl)[0]), brPred = g.node(g.predecessors(br)[0]); if (!_.has(result, "barycenter")) { result.barycenter = 0; result.weight = 0 } result.barycenter = (result.barycenter * result.weight + blPred.order + brPred.order) / (result.weight + 2); result.weight += 2 } } return result } function expandSubgraphs(entries, subgraphs) { _.forEach(entries, function (entry) { entry.vs = _.flatten(entry.vs.map(function (v) { if (subgraphs[v]) { return subgraphs[v].vs } return v }), true) }) } function mergeBarycenters(target, other) { if (!_.isUndefined(target.barycenter)) { target.barycenter = (target.barycenter * target.weight + other.barycenter * other.weight) / (target.weight + other.weight); target.weight += other.weight } else { target.barycenter = other.barycenter; target.weight = other.weight } } }, { "../lodash": 10, "./barycenter": 14, "./resolve-conflicts": 19, "./sort": 21 }], 21: [function (require, module, exports) { var _ = require("../lodash"); var util = require("../util"); module.exports = sort; function sort(entries, biasRight) { var parts = util.partition(entries, function (entry) { return _.has(entry, "barycenter") }); var sortable = parts.lhs, unsortable = _.sortBy(parts.rhs, function (entry) { return -entry.i }), vs = [], sum = 0, weight = 0, vsIndex = 0; sortable.sort(compareWithBias(!!biasRight)); vsIndex = consumeUnsortable(vs, unsortable, vsIndex); _.forEach(sortable, function (entry) { vsIndex += entry.vs.length; vs.push(entry.vs); sum += entry.barycenter * entry.weight; weight += entry.weight; vsIndex = consumeUnsortable(vs, unsortable, vsIndex) }); var result = { vs: _.flatten(vs, true) }; if (weight) { result.barycenter = sum / weight; result.weight = weight } return result } function consumeUnsortable(vs, unsortable, index) { var last; while (unsortable.length && (last = _.last(unsortable)).i <= index) { unsortable.pop(); vs.push(last.vs); index++ } return index } function compareWithBias(bias) { return function (entryV, entryW) { if (entryV.barycenter < entryW.barycenter) { return -1 } else if (entryV.barycenter > entryW.barycenter) { return 1 } return !bias ? entryV.i - entryW.i : entryW.i - entryV.i } } }, { "../lodash": 10, "../util": 29 }], 22: [function (require, module, exports) { - var _ = require("./lodash"); module.exports = parentDummyChains; function parentDummyChains(g) { var postorderNums = postorder(g); _.forEach(g.graph().dummyChains, function (v) { var node = g.node(v); var edgeObj = node.edgeObj; var pathData = findPath(g, postorderNums, edgeObj.v, edgeObj.w); var path = pathData.path; var lca = pathData.lca; var pathIdx = 0; var pathV = path[pathIdx]; var ascending = true; while (v !== edgeObj.w) { node = g.node(v); if (ascending) { while ((pathV = path[pathIdx]) !== lca && g.node(pathV).maxRank < node.rank) { pathIdx++ } if (pathV === lca) { ascending = false } } if (!ascending) { while (pathIdx < path.length - 1 && g.node(pathV = path[pathIdx + 1]).minRank <= node.rank) { pathIdx++ } pathV = path[pathIdx] } g.setParent(v, pathV); v = g.successors(v)[0] } }) } - // Find a path from v to w through the lowest common ancestor (LCA). Return the - // full path and the LCA. - function findPath(g, postorderNums, v, w) { - var vPath = []; var wPath = []; var low = Math.min(postorderNums[v].low, postorderNums[w].low); var lim = Math.max(postorderNums[v].lim, postorderNums[w].lim); var parent; var lca; - // Traverse up from v to find the LCA - parent = v; do { parent = g.parent(parent); vPath.push(parent) } while (parent && (postorderNums[parent].low > low || lim > postorderNums[parent].lim)); lca = parent; - // Traverse from w to LCA - parent = w; while ((parent = g.parent(parent)) !== lca) { wPath.push(parent) } return { path: vPath.concat(wPath.reverse()), lca: lca } - } function postorder(g) { var result = {}; var lim = 0; function dfs(v) { var low = lim; _.forEach(g.children(v), dfs); result[v] = { low: low, lim: lim++ } } _.forEach(g.children(), dfs); return result } - }, { "./lodash": 10 }], 23: [function (require, module, exports) { - "use strict"; var _ = require("../lodash"); var Graph = require("../graphlib").Graph; var util = require("../util"); -/* - * This module provides coordinate assignment based on Brandes and Köpf, "Fast - * and Simple Horizontal Coordinate Assignment." - */module.exports = { positionX: positionX, findType1Conflicts: findType1Conflicts, findType2Conflicts: findType2Conflicts, addConflict: addConflict, hasConflict: hasConflict, verticalAlignment: verticalAlignment, horizontalCompaction: horizontalCompaction, alignCoordinates: alignCoordinates, findSmallestWidthAlignment: findSmallestWidthAlignment, balance: balance }; -/* - * Marks all edges in the graph with a type-1 conflict with the "type1Conflict" - * property. A type-1 conflict is one where a non-inner segment crosses an - * inner segment. An inner segment is an edge with both incident nodes marked - * with the "dummy" property. - * - * This algorithm scans layer by layer, starting with the second, for type-1 - * conflicts between the current layer and the previous layer. For each layer - * it scans the nodes from left to right until it reaches one that is incident - * on an inner segment. It then scans predecessors to determine if they have - * edges that cross that inner segment. At the end a final scan is done for all - * nodes on the current rank to see if they cross the last visited inner - * segment. - * - * This algorithm (safely) assumes that a dummy node will only be incident on a - * single node in the layers being scanned. - */function findType1Conflicts(g, layering) { - var conflicts = {}; function visitLayer(prevLayer, layer) { - var - // last visited node in the previous layer that is incident on an inner - // segment. - k0 = 0, - // Tracks the last node in this layer scanned for crossings with a type-1 - // segment. - scanPos = 0, prevLayerLength = prevLayer.length, lastNode = _.last(layer); _.forEach(layer, function (v, i) { var w = findOtherInnerSegmentNode(g, v), k1 = w ? g.node(w).order : prevLayerLength; if (w || v === lastNode) { _.forEach(layer.slice(scanPos, i + 1), function (scanNode) { _.forEach(g.predecessors(scanNode), function (u) { var uLabel = g.node(u), uPos = uLabel.order; if ((uPos < k0 || k1 < uPos) && !(uLabel.dummy && g.node(scanNode).dummy)) { addConflict(conflicts, u, scanNode) } }) }); scanPos = i + 1; k0 = k1 } }); return layer - } _.reduce(layering, visitLayer); return conflicts - } function findType2Conflicts(g, layering) { var conflicts = {}; function scan(south, southPos, southEnd, prevNorthBorder, nextNorthBorder) { var v; _.forEach(_.range(southPos, southEnd), function (i) { v = south[i]; if (g.node(v).dummy) { _.forEach(g.predecessors(v), function (u) { var uNode = g.node(u); if (uNode.dummy && (uNode.order < prevNorthBorder || uNode.order > nextNorthBorder)) { addConflict(conflicts, u, v) } }) } }) } function visitLayer(north, south) { var prevNorthPos = -1, nextNorthPos, southPos = 0; _.forEach(south, function (v, southLookahead) { if (g.node(v).dummy === "border") { var predecessors = g.predecessors(v); if (predecessors.length) { nextNorthPos = g.node(predecessors[0]).order; scan(south, southPos, southLookahead, prevNorthPos, nextNorthPos); southPos = southLookahead; prevNorthPos = nextNorthPos } } scan(south, southPos, south.length, nextNorthPos, north.length) }); return south } _.reduce(layering, visitLayer); return conflicts } function findOtherInnerSegmentNode(g, v) { if (g.node(v).dummy) { return _.find(g.predecessors(v), function (u) { return g.node(u).dummy }) } } function addConflict(conflicts, v, w) { if (v > w) { var tmp = v; v = w; w = tmp } var conflictsV = conflicts[v]; if (!conflictsV) { conflicts[v] = conflictsV = {} } conflictsV[w] = true } function hasConflict(conflicts, v, w) { if (v > w) { var tmp = v; v = w; w = tmp } return _.has(conflicts[v], w) } -/* - * Try to align nodes into vertical "blocks" where possible. This algorithm - * attempts to align a node with one of its median neighbors. If the edge - * connecting a neighbor is a type-1 conflict then we ignore that possibility. - * If a previous node has already formed a block with a node after the node - * we're trying to form a block with, we also ignore that possibility - our - * blocks would be split in that scenario. - */function verticalAlignment(g, layering, conflicts, neighborFn) { - var root = {}, align = {}, pos = {}; - // We cache the position here based on the layering because the graph and - // layering may be out of sync. The layering matrix is manipulated to - // generate different extreme alignments. - _.forEach(layering, function (layer) { _.forEach(layer, function (v, order) { root[v] = v; align[v] = v; pos[v] = order }) }); _.forEach(layering, function (layer) { var prevIdx = -1; _.forEach(layer, function (v) { var ws = neighborFn(v); if (ws.length) { ws = _.sortBy(ws, function (w) { return pos[w] }); var mp = (ws.length - 1) / 2; for (var i = Math.floor(mp), il = Math.ceil(mp); i <= il; ++i) { var w = ws[i]; if (align[v] === v && prevIdx < pos[w] && !hasConflict(conflicts, v, w)) { align[w] = v; align[v] = root[v] = root[w]; prevIdx = pos[w] } } } }) }); return { root: root, align: align } - } function horizontalCompaction(g, layering, root, align, reverseSep) { - // This portion of the algorithm differs from BK due to a number of problems. - // Instead of their algorithm we construct a new block graph and do two - // sweeps. The first sweep places blocks with the smallest possible - // coordinates. The second sweep removes unused space by moving blocks to the - // greatest coordinates without violating separation. - var xs = {}, blockG = buildBlockGraph(g, layering, root, reverseSep), borderType = reverseSep ? "borderLeft" : "borderRight"; function iterate(setXsFunc, nextNodesFunc) { var stack = blockG.nodes(); var elem = stack.pop(); var visited = {}; while (elem) { if (visited[elem]) { setXsFunc(elem) } else { visited[elem] = true; stack.push(elem); stack = stack.concat(nextNodesFunc(elem)) } elem = stack.pop() } } - // First pass, assign smallest coordinates - function pass1(elem) { xs[elem] = blockG.inEdges(elem).reduce(function (acc, e) { return Math.max(acc, xs[e.v] + blockG.edge(e)) }, 0) } - // Second pass, assign greatest coordinates - function pass2(elem) { var min = blockG.outEdges(elem).reduce(function (acc, e) { return Math.min(acc, xs[e.w] - blockG.edge(e)) }, Number.POSITIVE_INFINITY); var node = g.node(elem); if (min !== Number.POSITIVE_INFINITY && node.borderType !== borderType) { xs[elem] = Math.max(xs[elem], min) } } iterate(pass1, blockG.predecessors.bind(blockG)); iterate(pass2, blockG.successors.bind(blockG)); - // Assign x coordinates to all nodes - _.forEach(align, function (v) { xs[v] = xs[root[v]] }); return xs - } function buildBlockGraph(g, layering, root, reverseSep) { var blockGraph = new Graph, graphLabel = g.graph(), sepFn = sep(graphLabel.nodesep, graphLabel.edgesep, reverseSep); _.forEach(layering, function (layer) { var u; _.forEach(layer, function (v) { var vRoot = root[v]; blockGraph.setNode(vRoot); if (u) { var uRoot = root[u], prevMax = blockGraph.edge(uRoot, vRoot); blockGraph.setEdge(uRoot, vRoot, Math.max(sepFn(g, v, u), prevMax || 0)) } u = v }) }); return blockGraph } -/* - * Returns the alignment that has the smallest width of the given alignments. - */function findSmallestWidthAlignment(g, xss) { return _.minBy(_.values(xss), function (xs) { var max = Number.NEGATIVE_INFINITY; var min = Number.POSITIVE_INFINITY; _.forIn(xs, function (x, v) { var halfWidth = width(g, v) / 2; max = Math.max(x + halfWidth, max); min = Math.min(x - halfWidth, min) }); return max - min }) } -/* - * Align the coordinates of each of the layout alignments such that - * left-biased alignments have their minimum coordinate at the same point as - * the minimum coordinate of the smallest width alignment and right-biased - * alignments have their maximum coordinate at the same point as the maximum - * coordinate of the smallest width alignment. - */function alignCoordinates(xss, alignTo) { var alignToVals = _.values(alignTo), alignToMin = _.min(alignToVals), alignToMax = _.max(alignToVals); _.forEach(["u", "d"], function (vert) { _.forEach(["l", "r"], function (horiz) { var alignment = vert + horiz, xs = xss[alignment], delta; if (xs === alignTo) return; var xsVals = _.values(xs); delta = horiz === "l" ? alignToMin - _.min(xsVals) : alignToMax - _.max(xsVals); if (delta) { xss[alignment] = _.mapValues(xs, function (x) { return x + delta }) } }) }) } function balance(xss, align) { return _.mapValues(xss.ul, function (ignore, v) { if (align) { return xss[align.toLowerCase()][v] } else { var xs = _.sortBy(_.map(xss, v)); return (xs[1] + xs[2]) / 2 } }) } function positionX(g) { var layering = util.buildLayerMatrix(g); var conflicts = _.merge(findType1Conflicts(g, layering), findType2Conflicts(g, layering)); var xss = {}; var adjustedLayering; _.forEach(["u", "d"], function (vert) { adjustedLayering = vert === "u" ? layering : _.values(layering).reverse(); _.forEach(["l", "r"], function (horiz) { if (horiz === "r") { adjustedLayering = _.map(adjustedLayering, function (inner) { return _.values(inner).reverse() }) } var neighborFn = (vert === "u" ? g.predecessors : g.successors).bind(g); var align = verticalAlignment(g, adjustedLayering, conflicts, neighborFn); var xs = horizontalCompaction(g, adjustedLayering, align.root, align.align, horiz === "r"); if (horiz === "r") { xs = _.mapValues(xs, function (x) { return -x }) } xss[vert + horiz] = xs }) }); var smallestWidth = findSmallestWidthAlignment(g, xss); alignCoordinates(xss, smallestWidth); return balance(xss, g.graph().align) } function sep(nodeSep, edgeSep, reverseSep) { return function (g, v, w) { var vLabel = g.node(v); var wLabel = g.node(w); var sum = 0; var delta; sum += vLabel.width / 2; if (_.has(vLabel, "labelpos")) { switch (vLabel.labelpos.toLowerCase()) { case "l": delta = -vLabel.width / 2; break; case "r": delta = vLabel.width / 2; break } } if (delta) { sum += reverseSep ? delta : -delta } delta = 0; sum += (vLabel.dummy ? edgeSep : nodeSep) / 2; sum += (wLabel.dummy ? edgeSep : nodeSep) / 2; sum += wLabel.width / 2; if (_.has(wLabel, "labelpos")) { switch (wLabel.labelpos.toLowerCase()) { case "l": delta = wLabel.width / 2; break; case "r": delta = -wLabel.width / 2; break } } if (delta) { sum += reverseSep ? delta : -delta } delta = 0; return sum } } function width(g, v) { return g.node(v).width } - }, { "../graphlib": 7, "../lodash": 10, "../util": 29 }], 24: [function (require, module, exports) { "use strict"; var _ = require("../lodash"); var util = require("../util"); var positionX = require("./bk").positionX; module.exports = position; function position(g) { g = util.asNonCompoundGraph(g); positionY(g); _.forEach(positionX(g), function (x, v) { g.node(v).x = x }) } function positionY(g) { var layering = util.buildLayerMatrix(g); var rankSep = g.graph().ranksep; var prevY = 0; _.forEach(layering, function (layer) { var maxHeight = _.max(_.map(layer, function (v) { return g.node(v).height })); _.forEach(layer, function (v) { g.node(v).y = prevY + maxHeight / 2 }); prevY += maxHeight + rankSep }) } }, { "../lodash": 10, "../util": 29, "./bk": 23 }], 25: [function (require, module, exports) { - "use strict"; var _ = require("../lodash"); var Graph = require("../graphlib").Graph; var slack = require("./util").slack; module.exports = feasibleTree; -/* - * Constructs a spanning tree with tight edges and adjusted the input node's - * ranks to achieve this. A tight edge is one that is has a length that matches - * its "minlen" attribute. - * - * The basic structure for this function is derived from Gansner, et al., "A - * Technique for Drawing Directed Graphs." - * - * Pre-conditions: - * - * 1. Graph must be a DAG. - * 2. Graph must be connected. - * 3. Graph must have at least one node. - * 5. Graph nodes must have been previously assigned a "rank" property that - * respects the "minlen" property of incident edges. - * 6. Graph edges must have a "minlen" property. - * - * Post-conditions: - * - * - Graph nodes will have their rank adjusted to ensure that all edges are - * tight. - * - * Returns a tree (undirected graph) that is constructed using only "tight" - * edges. - */function feasibleTree(g) { - var t = new Graph({ directed: false }); - // Choose arbitrary node from which to start our tree - var start = g.nodes()[0]; var size = g.nodeCount(); t.setNode(start, {}); var edge, delta; while (tightTree(t, g) < size) { edge = findMinSlackEdge(t, g); delta = t.hasNode(edge.v) ? slack(g, edge) : -slack(g, edge); shiftRanks(t, g, delta) } return t - } -/* - * Finds a maximal tree of tight edges and returns the number of nodes in the - * tree. - */function tightTree(t, g) { function dfs(v) { _.forEach(g.nodeEdges(v), function (e) { var edgeV = e.v, w = v === edgeV ? e.w : edgeV; if (!t.hasNode(w) && !slack(g, e)) { t.setNode(w, {}); t.setEdge(v, w, {}); dfs(w) } }) } _.forEach(t.nodes(), dfs); return t.nodeCount() } -/* - * Finds the edge with the smallest slack that is incident on tree and returns - * it. - */function findMinSlackEdge(t, g) { return _.minBy(g.edges(), function (e) { if (t.hasNode(e.v) !== t.hasNode(e.w)) { return slack(g, e) } }) } function shiftRanks(t, g, delta) { _.forEach(t.nodes(), function (v) { g.node(v).rank += delta }) } - }, { "../graphlib": 7, "../lodash": 10, "./util": 28 }], 26: [function (require, module, exports) { - "use strict"; var rankUtil = require("./util"); var longestPath = rankUtil.longestPath; var feasibleTree = require("./feasible-tree"); var networkSimplex = require("./network-simplex"); module.exports = rank; -/* - * Assigns a rank to each node in the input graph that respects the "minlen" - * constraint specified on edges between nodes. - * - * This basic structure is derived from Gansner, et al., "A Technique for - * Drawing Directed Graphs." - * - * Pre-conditions: - * - * 1. Graph must be a connected DAG - * 2. Graph nodes must be objects - * 3. Graph edges must have "weight" and "minlen" attributes - * - * Post-conditions: - * - * 1. Graph nodes will have a "rank" attribute based on the results of the - * algorithm. Ranks can start at any index (including negative), we'll - * fix them up later. - */function rank(g) { switch (g.graph().ranker) { case "network-simplex": networkSimplexRanker(g); break; case "tight-tree": tightTreeRanker(g); break; case "longest-path": longestPathRanker(g); break; default: networkSimplexRanker(g) } } - // A fast and simple ranker, but results are far from optimal. - var longestPathRanker = longestPath; function tightTreeRanker(g) { longestPath(g); feasibleTree(g) } function networkSimplexRanker(g) { networkSimplex(g) } - }, { "./feasible-tree": 25, "./network-simplex": 27, "./util": 28 }], 27: [function (require, module, exports) { - "use strict"; var _ = require("../lodash"); var feasibleTree = require("./feasible-tree"); var slack = require("./util").slack; var initRank = require("./util").longestPath; var preorder = require("../graphlib").alg.preorder; var postorder = require("../graphlib").alg.postorder; var simplify = require("../util").simplify; module.exports = networkSimplex; - // Expose some internals for testing purposes - networkSimplex.initLowLimValues = initLowLimValues; networkSimplex.initCutValues = initCutValues; networkSimplex.calcCutValue = calcCutValue; networkSimplex.leaveEdge = leaveEdge; networkSimplex.enterEdge = enterEdge; networkSimplex.exchangeEdges = exchangeEdges; -/* - * The network simplex algorithm assigns ranks to each node in the input graph - * and iteratively improves the ranking to reduce the length of edges. - * - * Preconditions: - * - * 1. The input graph must be a DAG. - * 2. All nodes in the graph must have an object value. - * 3. All edges in the graph must have "minlen" and "weight" attributes. - * - * Postconditions: - * - * 1. All nodes in the graph will have an assigned "rank" attribute that has - * been optimized by the network simplex algorithm. Ranks start at 0. - * - * - * A rough sketch of the algorithm is as follows: - * - * 1. Assign initial ranks to each node. We use the longest path algorithm, - * which assigns ranks to the lowest position possible. In general this - * leads to very wide bottom ranks and unnecessarily long edges. - * 2. Construct a feasible tight tree. A tight tree is one such that all - * edges in the tree have no slack (difference between length of edge - * and minlen for the edge). This by itself greatly improves the assigned - * rankings by shorting edges. - * 3. Iteratively find edges that have negative cut values. Generally a - * negative cut value indicates that the edge could be removed and a new - * tree edge could be added to produce a more compact graph. - * - * Much of the algorithms here are derived from Gansner, et al., "A Technique - * for Drawing Directed Graphs." The structure of the file roughly follows the - * structure of the overall algorithm. - */function networkSimplex(g) { g = simplify(g); initRank(g); var t = feasibleTree(g); initLowLimValues(t); initCutValues(t, g); var e, f; while (e = leaveEdge(t)) { f = enterEdge(t, g, e); exchangeEdges(t, g, e, f) } } -/* - * Initializes cut values for all edges in the tree. - */function initCutValues(t, g) { var vs = postorder(t, t.nodes()); vs = vs.slice(0, vs.length - 1); _.forEach(vs, function (v) { assignCutValue(t, g, v) }) } function assignCutValue(t, g, child) { var childLab = t.node(child); var parent = childLab.parent; t.edge(child, parent).cutvalue = calcCutValue(t, g, child) } -/* - * Given the tight tree, its graph, and a child in the graph calculate and - * return the cut value for the edge between the child and its parent. - */function calcCutValue(t, g, child) { - var childLab = t.node(child); var parent = childLab.parent; - // True if the child is on the tail end of the edge in the directed graph - var childIsTail = true; - // The graph's view of the tree edge we're inspecting - var graphEdge = g.edge(child, parent); - // The accumulated cut value for the edge between this node and its parent - var cutValue = 0; if (!graphEdge) { childIsTail = false; graphEdge = g.edge(parent, child) } cutValue = graphEdge.weight; _.forEach(g.nodeEdges(child), function (e) { var isOutEdge = e.v === child, other = isOutEdge ? e.w : e.v; if (other !== parent) { var pointsToHead = isOutEdge === childIsTail, otherWeight = g.edge(e).weight; cutValue += pointsToHead ? otherWeight : -otherWeight; if (isTreeEdge(t, child, other)) { var otherCutValue = t.edge(child, other).cutvalue; cutValue += pointsToHead ? -otherCutValue : otherCutValue } } }); return cutValue - } function initLowLimValues(tree, root) { if (arguments.length < 2) { root = tree.nodes()[0] } dfsAssignLowLim(tree, {}, 1, root) } function dfsAssignLowLim(tree, visited, nextLim, v, parent) { - var low = nextLim; var label = tree.node(v); visited[v] = true; _.forEach(tree.neighbors(v), function (w) { if (!_.has(visited, w)) { nextLim = dfsAssignLowLim(tree, visited, nextLim, w, v) } }); label.low = low; label.lim = nextLim++; if (parent) { label.parent = parent } else { - // TODO should be able to remove this when we incrementally update low lim - delete label.parent - } return nextLim - } function leaveEdge(tree) { return _.find(tree.edges(), function (e) { return tree.edge(e).cutvalue < 0 }) } function enterEdge(t, g, edge) { - var v = edge.v; var w = edge.w; - // For the rest of this function we assume that v is the tail and w is the - // head, so if we don't have this edge in the graph we should flip it to - // match the correct orientation. - if (!g.hasEdge(v, w)) { v = edge.w; w = edge.v } var vLabel = t.node(v); var wLabel = t.node(w); var tailLabel = vLabel; var flip = false; - // If the root is in the tail of the edge then we need to flip the logic that - // checks for the head and tail nodes in the candidates function below. - if (vLabel.lim > wLabel.lim) { tailLabel = wLabel; flip = true } var candidates = _.filter(g.edges(), function (edge) { return flip === isDescendant(t, t.node(edge.v), tailLabel) && flip !== isDescendant(t, t.node(edge.w), tailLabel) }); return _.minBy(candidates, function (edge) { return slack(g, edge) }) - } function exchangeEdges(t, g, e, f) { var v = e.v; var w = e.w; t.removeEdge(v, w); t.setEdge(f.v, f.w, {}); initLowLimValues(t); initCutValues(t, g); updateRanks(t, g) } function updateRanks(t, g) { var root = _.find(t.nodes(), function (v) { return !g.node(v).parent }); var vs = preorder(t, root); vs = vs.slice(1); _.forEach(vs, function (v) { var parent = t.node(v).parent, edge = g.edge(v, parent), flipped = false; if (!edge) { edge = g.edge(parent, v); flipped = true } g.node(v).rank = g.node(parent).rank + (flipped ? edge.minlen : -edge.minlen) }) } -/* - * Returns true if the edge is in the tree. - */function isTreeEdge(tree, u, v) { return tree.hasEdge(u, v) } -/* - * Returns true if the specified node is descendant of the root node per the - * assigned low and lim attributes in the tree. - */function isDescendant(tree, vLabel, rootLabel) { return rootLabel.low <= vLabel.lim && vLabel.lim <= rootLabel.lim } - }, { "../graphlib": 7, "../lodash": 10, "../util": 29, "./feasible-tree": 25, "./util": 28 }], 28: [function (require, module, exports) { - "use strict"; var _ = require("../lodash"); module.exports = { longestPath: longestPath, slack: slack }; -/* - * Initializes ranks for the input graph using the longest path algorithm. This - * algorithm scales well and is fast in practice, it yields rather poor - * solutions. Nodes are pushed to the lowest layer possible, leaving the bottom - * ranks wide and leaving edges longer than necessary. However, due to its - * speed, this algorithm is good for getting an initial ranking that can be fed - * into other algorithms. - * - * This algorithm does not normalize layers because it will be used by other - * algorithms in most cases. If using this algorithm directly, be sure to - * run normalize at the end. - * - * Pre-conditions: - * - * 1. Input graph is a DAG. - * 2. Input graph node labels can be assigned properties. - * - * Post-conditions: - * - * 1. Each node will be assign an (unnormalized) "rank" property. - */function longestPath(g) { - var visited = {}; function dfs(v) { - var label = g.node(v); if (_.has(visited, v)) { return label.rank } visited[v] = true; var rank = _.min(_.map(g.outEdges(v), function (e) { return dfs(e.w) - g.edge(e).minlen })); if (rank === Number.POSITIVE_INFINITY ||// return value of _.map([]) for Lodash 3 - rank === undefined ||// return value of _.map([]) for Lodash 4 - rank === null) {// return value of _.map([null]) - rank = 0 - } return label.rank = rank - } _.forEach(g.sources(), dfs) - } -/* - * Returns the amount of slack for the given edge. The slack is defined as the - * difference between the length of the edge and its minimum length. - */function slack(g, e) { return g.node(e.w).rank - g.node(e.v).rank - g.edge(e).minlen } - }, { "../lodash": 10 }], 29: [function (require, module, exports) { - /* eslint "no-console": off */ - "use strict"; var _ = require("./lodash"); var Graph = require("./graphlib").Graph; module.exports = { addDummyNode: addDummyNode, simplify: simplify, asNonCompoundGraph: asNonCompoundGraph, successorWeights: successorWeights, predecessorWeights: predecessorWeights, intersectRect: intersectRect, buildLayerMatrix: buildLayerMatrix, normalizeRanks: normalizeRanks, removeEmptyRanks: removeEmptyRanks, addBorderNode: addBorderNode, maxRank: maxRank, partition: partition, time: time, notime: notime }; -/* - * Adds a dummy node to the graph and return v. - */function addDummyNode(g, type, attrs, name) { var v; do { v = _.uniqueId(name) } while (g.hasNode(v)); attrs.dummy = type; g.setNode(v, attrs); return v } -/* - * Returns a new graph with only simple edges. Handles aggregation of data - * associated with multi-edges. - */function simplify(g) { var simplified = (new Graph).setGraph(g.graph()); _.forEach(g.nodes(), function (v) { simplified.setNode(v, g.node(v)) }); _.forEach(g.edges(), function (e) { var simpleLabel = simplified.edge(e.v, e.w) || { weight: 0, minlen: 1 }; var label = g.edge(e); simplified.setEdge(e.v, e.w, { weight: simpleLabel.weight + label.weight, minlen: Math.max(simpleLabel.minlen, label.minlen) }) }); return simplified } function asNonCompoundGraph(g) { var simplified = new Graph({ multigraph: g.isMultigraph() }).setGraph(g.graph()); _.forEach(g.nodes(), function (v) { if (!g.children(v).length) { simplified.setNode(v, g.node(v)) } }); _.forEach(g.edges(), function (e) { simplified.setEdge(e, g.edge(e)) }); return simplified } function successorWeights(g) { var weightMap = _.map(g.nodes(), function (v) { var sucs = {}; _.forEach(g.outEdges(v), function (e) { sucs[e.w] = (sucs[e.w] || 0) + g.edge(e).weight }); return sucs }); return _.zipObject(g.nodes(), weightMap) } function predecessorWeights(g) { var weightMap = _.map(g.nodes(), function (v) { var preds = {}; _.forEach(g.inEdges(v), function (e) { preds[e.v] = (preds[e.v] || 0) + g.edge(e).weight }); return preds }); return _.zipObject(g.nodes(), weightMap) } -/* - * Finds where a line starting at point ({x, y}) would intersect a rectangle - * ({x, y, width, height}) if it were pointing at the rectangle's center. - */function intersectRect(rect, point) { - var x = rect.x; var y = rect.y; - // Rectangle intersection algorithm from: - // http://math.stackexchange.com/questions/108113/find-edge-between-two-boxes - var dx = point.x - x; var dy = point.y - y; var w = rect.width / 2; var h = rect.height / 2; if (!dx && !dy) { throw new Error("Not possible to find intersection inside of the rectangle") } var sx, sy; if (Math.abs(dy) * w > Math.abs(dx) * h) { - // Intersection is top or bottom of rect. - if (dy < 0) { h = -h } sx = h * dx / dy; sy = h - } else { - // Intersection is left or right of rect. - if (dx < 0) { w = -w } sx = w; sy = w * dy / dx - } return { x: x + sx, y: y + sy } - } -/* - * Given a DAG with each node assigned "rank" and "order" properties, this - * function will produce a matrix with the ids of each node. - */function buildLayerMatrix(g) { var layering = _.map(_.range(maxRank(g) + 1), function () { return [] }); _.forEach(g.nodes(), function (v) { var node = g.node(v); var rank = node.rank; if (!_.isUndefined(rank)) { layering[rank][node.order] = v } }); return layering } -/* - * Adjusts the ranks for all nodes in the graph such that all nodes v have - * rank(v) >= 0 and at least one node w has rank(w) = 0. - */function normalizeRanks(g) { var min = _.min(_.map(g.nodes(), function (v) { return g.node(v).rank })); _.forEach(g.nodes(), function (v) { var node = g.node(v); if (_.has(node, "rank")) { node.rank -= min } }) } function removeEmptyRanks(g) { - // Ranks may not start at 0, so we need to offset them - var offset = _.min(_.map(g.nodes(), function (v) { return g.node(v).rank })); var layers = []; _.forEach(g.nodes(), function (v) { var rank = g.node(v).rank - offset; if (!layers[rank]) { layers[rank] = [] } layers[rank].push(v) }); var delta = 0; var nodeRankFactor = g.graph().nodeRankFactor; _.forEach(layers, function (vs, i) { if (_.isUndefined(vs) && i % nodeRankFactor !== 0) { --delta } else if (delta) { _.forEach(vs, function (v) { g.node(v).rank += delta }) } }) - } function addBorderNode(g, prefix, rank, order) { var node = { width: 0, height: 0 }; if (arguments.length >= 4) { node.rank = rank; node.order = order } return addDummyNode(g, "border", node, prefix) } function maxRank(g) { return _.max(_.map(g.nodes(), function (v) { var rank = g.node(v).rank; if (!_.isUndefined(rank)) { return rank } })) } -/* - * Partition a collection into two groups: `lhs` and `rhs`. If the supplied - * function returns true for an entry it goes into `lhs`. Otherwise it goes - * into `rhs. - */function partition(collection, fn) { var result = { lhs: [], rhs: [] }; _.forEach(collection, function (value) { if (fn(value)) { result.lhs.push(value) } else { result.rhs.push(value) } }); return result } -/* - * Returns a new function that wraps `fn` with a timer. The wrapper logs the - * time it takes to execute the function. - */function time(name, fn) { var start = _.now(); try { return fn() } finally { console.log(name + " time: " + (_.now() - start) + "ms") } } function notime(name, fn) { return fn() } - }, { "./graphlib": 7, "./lodash": 10 }], 30: [function (require, module, exports) { module.exports = "0.8.5" }, {}], 31: [function (require, module, exports) { - /** - * Copyright (c) 2014, Chris Pettitt - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * 3. Neither the name of the copyright holder nor the names of its contributors - * may be used to endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - var lib = require("./lib"); module.exports = { Graph: lib.Graph, json: require("./lib/json"), alg: require("./lib/alg"), version: lib.version } - }, { "./lib": 47, "./lib/alg": 38, "./lib/json": 48 }], 32: [function (require, module, exports) { var _ = require("../lodash"); module.exports = components; function components(g) { var visited = {}; var cmpts = []; var cmpt; function dfs(v) { if (_.has(visited, v)) return; visited[v] = true; cmpt.push(v); _.each(g.successors(v), dfs); _.each(g.predecessors(v), dfs) } _.each(g.nodes(), function (v) { cmpt = []; dfs(v); if (cmpt.length) { cmpts.push(cmpt) } }); return cmpts } }, { "../lodash": 49 }], 33: [function (require, module, exports) { - var _ = require("../lodash"); module.exports = dfs; -/* - * A helper that preforms a pre- or post-order traversal on the input graph - * and returns the nodes in the order they were visited. If the graph is - * undirected then this algorithm will navigate using neighbors. If the graph - * is directed then this algorithm will navigate using successors. - * - * Order must be one of "pre" or "post". - */function dfs(g, vs, order) { if (!_.isArray(vs)) { vs = [vs] } var navigation = (g.isDirected() ? g.successors : g.neighbors).bind(g); var acc = []; var visited = {}; _.each(vs, function (v) { if (!g.hasNode(v)) { throw new Error("Graph does not have node: " + v) } doDfs(g, v, order === "post", visited, navigation, acc) }); return acc } function doDfs(g, v, postorder, visited, navigation, acc) { if (!_.has(visited, v)) { visited[v] = true; if (!postorder) { acc.push(v) } _.each(navigation(v), function (w) { doDfs(g, w, postorder, visited, navigation, acc) }); if (postorder) { acc.push(v) } } } - }, { "../lodash": 49 }], 34: [function (require, module, exports) { var dijkstra = require("./dijkstra"); var _ = require("../lodash"); module.exports = dijkstraAll; function dijkstraAll(g, weightFunc, edgeFunc) { return _.transform(g.nodes(), function (acc, v) { acc[v] = dijkstra(g, v, weightFunc, edgeFunc) }, {}) } }, { "../lodash": 49, "./dijkstra": 35 }], 35: [function (require, module, exports) { var _ = require("../lodash"); var PriorityQueue = require("../data/priority-queue"); module.exports = dijkstra; var DEFAULT_WEIGHT_FUNC = _.constant(1); function dijkstra(g, source, weightFn, edgeFn) { return runDijkstra(g, String(source), weightFn || DEFAULT_WEIGHT_FUNC, edgeFn || function (v) { return g.outEdges(v) }) } function runDijkstra(g, source, weightFn, edgeFn) { var results = {}; var pq = new PriorityQueue; var v, vEntry; var updateNeighbors = function (edge) { var w = edge.v !== v ? edge.v : edge.w; var wEntry = results[w]; var weight = weightFn(edge); var distance = vEntry.distance + weight; if (weight < 0) { throw new Error("dijkstra does not allow negative edge weights. " + "Bad edge: " + edge + " Weight: " + weight) } if (distance < wEntry.distance) { wEntry.distance = distance; wEntry.predecessor = v; pq.decrease(w, distance) } }; g.nodes().forEach(function (v) { var distance = v === source ? 0 : Number.POSITIVE_INFINITY; results[v] = { distance: distance }; pq.add(v, distance) }); while (pq.size() > 0) { v = pq.removeMin(); vEntry = results[v]; if (vEntry.distance === Number.POSITIVE_INFINITY) { break } edgeFn(v).forEach(updateNeighbors) } return results } }, { "../data/priority-queue": 45, "../lodash": 49 }], 36: [function (require, module, exports) { var _ = require("../lodash"); var tarjan = require("./tarjan"); module.exports = findCycles; function findCycles(g) { return _.filter(tarjan(g), function (cmpt) { return cmpt.length > 1 || cmpt.length === 1 && g.hasEdge(cmpt[0], cmpt[0]) }) } }, { "../lodash": 49, "./tarjan": 43 }], 37: [function (require, module, exports) { var _ = require("../lodash"); module.exports = floydWarshall; var DEFAULT_WEIGHT_FUNC = _.constant(1); function floydWarshall(g, weightFn, edgeFn) { return runFloydWarshall(g, weightFn || DEFAULT_WEIGHT_FUNC, edgeFn || function (v) { return g.outEdges(v) }) } function runFloydWarshall(g, weightFn, edgeFn) { var results = {}; var nodes = g.nodes(); nodes.forEach(function (v) { results[v] = {}; results[v][v] = { distance: 0 }; nodes.forEach(function (w) { if (v !== w) { results[v][w] = { distance: Number.POSITIVE_INFINITY } } }); edgeFn(v).forEach(function (edge) { var w = edge.v === v ? edge.w : edge.v; var d = weightFn(edge); results[v][w] = { distance: d, predecessor: v } }) }); nodes.forEach(function (k) { var rowK = results[k]; nodes.forEach(function (i) { var rowI = results[i]; nodes.forEach(function (j) { var ik = rowI[k]; var kj = rowK[j]; var ij = rowI[j]; var altDistance = ik.distance + kj.distance; if (altDistance < ij.distance) { ij.distance = altDistance; ij.predecessor = kj.predecessor } }) }) }); return results } }, { "../lodash": 49 }], 38: [function (require, module, exports) { module.exports = { components: require("./components"), dijkstra: require("./dijkstra"), dijkstraAll: require("./dijkstra-all"), findCycles: require("./find-cycles"), floydWarshall: require("./floyd-warshall"), isAcyclic: require("./is-acyclic"), postorder: require("./postorder"), preorder: require("./preorder"), prim: require("./prim"), tarjan: require("./tarjan"), topsort: require("./topsort") } }, { "./components": 32, "./dijkstra": 35, "./dijkstra-all": 34, "./find-cycles": 36, "./floyd-warshall": 37, "./is-acyclic": 39, "./postorder": 40, "./preorder": 41, "./prim": 42, "./tarjan": 43, "./topsort": 44 }], 39: [function (require, module, exports) { var topsort = require("./topsort"); module.exports = isAcyclic; function isAcyclic(g) { try { topsort(g) } catch (e) { if (e instanceof topsort.CycleException) { return false } throw e } return true } }, { "./topsort": 44 }], 40: [function (require, module, exports) { var dfs = require("./dfs"); module.exports = postorder; function postorder(g, vs) { return dfs(g, vs, "post") } }, { "./dfs": 33 }], 41: [function (require, module, exports) { var dfs = require("./dfs"); module.exports = preorder; function preorder(g, vs) { return dfs(g, vs, "pre") } }, { "./dfs": 33 }], 42: [function (require, module, exports) { - var _ = require("../lodash"); var Graph = require("../graph"); var PriorityQueue = require("../data/priority-queue"); module.exports = prim; function prim(g, weightFunc) { - var result = new Graph; var parents = {}; var pq = new PriorityQueue; var v; function updateNeighbors(edge) { var w = edge.v === v ? edge.w : edge.v; var pri = pq.priority(w); if (pri !== undefined) { var edgeWeight = weightFunc(edge); if (edgeWeight < pri) { parents[w] = v; pq.decrease(w, edgeWeight) } } } if (g.nodeCount() === 0) { return result } _.each(g.nodes(), function (v) { pq.add(v, Number.POSITIVE_INFINITY); result.setNode(v) }); - // Start from an arbitrary node - pq.decrease(g.nodes()[0], 0); var init = false; while (pq.size() > 0) { v = pq.removeMin(); if (_.has(parents, v)) { result.setEdge(v, parents[v]) } else if (init) { throw new Error("Input graph is not connected: " + g) } else { init = true } g.nodeEdges(v).forEach(updateNeighbors) } return result - } - }, { "../data/priority-queue": 45, "../graph": 46, "../lodash": 49 }], 43: [function (require, module, exports) { - var _ = require("../lodash"); module.exports = tarjan; function tarjan(g) { - var index = 0; var stack = []; var visited = {};// node id -> { onStack, lowlink, index } - var results = []; function dfs(v) { var entry = visited[v] = { onStack: true, lowlink: index, index: index++ }; stack.push(v); g.successors(v).forEach(function (w) { if (!_.has(visited, w)) { dfs(w); entry.lowlink = Math.min(entry.lowlink, visited[w].lowlink) } else if (visited[w].onStack) { entry.lowlink = Math.min(entry.lowlink, visited[w].index) } }); if (entry.lowlink === entry.index) { var cmpt = []; var w; do { w = stack.pop(); visited[w].onStack = false; cmpt.push(w) } while (v !== w); results.push(cmpt) } } g.nodes().forEach(function (v) { if (!_.has(visited, v)) { dfs(v) } }); return results - } - }, { "../lodash": 49 }], 44: [function (require, module, exports) { - var _ = require("../lodash"); module.exports = topsort; topsort.CycleException = CycleException; function topsort(g) { var visited = {}; var stack = {}; var results = []; function visit(node) { if (_.has(stack, node)) { throw new CycleException } if (!_.has(visited, node)) { stack[node] = true; visited[node] = true; _.each(g.predecessors(node), visit); delete stack[node]; results.push(node) } } _.each(g.sinks(), visit); if (_.size(visited) !== g.nodeCount()) { throw new CycleException } return results } function CycleException() { } CycleException.prototype = new Error;// must be an instance of Error to pass testing - }, { "../lodash": 49 }], 45: [function (require, module, exports) { - var _ = require("../lodash"); module.exports = PriorityQueue; -/** - * A min-priority queue data structure. This algorithm is derived from Cormen, - * et al., "Introduction to Algorithms". The basic idea of a min-priority - * queue is that you can efficiently (in O(1) time) get the smallest key in - * the queue. Adding and removing elements takes O(log n) time. A key can - * have its priority decreased in O(log n) time. - */function PriorityQueue() { this._arr = []; this._keyIndices = {} } -/** - * Returns the number of elements in the queue. Takes `O(1)` time. - */PriorityQueue.prototype.size = function () { return this._arr.length }; -/** - * Returns the keys that are in the queue. Takes `O(n)` time. - */PriorityQueue.prototype.keys = function () { return this._arr.map(function (x) { return x.key }) }; -/** - * Returns `true` if **key** is in the queue and `false` if not. - */PriorityQueue.prototype.has = function (key) { return _.has(this._keyIndices, key) }; -/** - * Returns the priority for **key**. If **key** is not present in the queue - * then this function returns `undefined`. Takes `O(1)` time. - * - * @param {Object} key - */PriorityQueue.prototype.priority = function (key) { var index = this._keyIndices[key]; if (index !== undefined) { return this._arr[index].priority } }; -/** - * Returns the key for the minimum element in this queue. If the queue is - * empty this function throws an Error. Takes `O(1)` time. - */PriorityQueue.prototype.min = function () { if (this.size() === 0) { throw new Error("Queue underflow") } return this._arr[0].key }; -/** - * Inserts a new key into the priority queue. If the key already exists in - * the queue this function returns `false`; otherwise it will return `true`. - * Takes `O(n)` time. - * - * @param {Object} key the key to add - * @param {Number} priority the initial priority for the key - */PriorityQueue.prototype.add = function (key, priority) { var keyIndices = this._keyIndices; key = String(key); if (!_.has(keyIndices, key)) { var arr = this._arr; var index = arr.length; keyIndices[key] = index; arr.push({ key: key, priority: priority }); this._decrease(index); return true } return false }; -/** - * Removes and returns the smallest key in the queue. Takes `O(log n)` time. - */PriorityQueue.prototype.removeMin = function () { this._swap(0, this._arr.length - 1); var min = this._arr.pop(); delete this._keyIndices[min.key]; this._heapify(0); return min.key }; -/** - * Decreases the priority for **key** to **priority**. If the new priority is - * greater than the previous priority, this function will throw an Error. - * - * @param {Object} key the key for which to raise priority - * @param {Number} priority the new priority for the key - */PriorityQueue.prototype.decrease = function (key, priority) { var index = this._keyIndices[key]; if (priority > this._arr[index].priority) { throw new Error("New priority is greater than current priority. " + "Key: " + key + " Old: " + this._arr[index].priority + " New: " + priority) } this._arr[index].priority = priority; this._decrease(index) }; PriorityQueue.prototype._heapify = function (i) { var arr = this._arr; var l = 2 * i; var r = l + 1; var largest = i; if (l < arr.length) { largest = arr[l].priority < arr[largest].priority ? l : largest; if (r < arr.length) { largest = arr[r].priority < arr[largest].priority ? r : largest } if (largest !== i) { this._swap(i, largest); this._heapify(largest) } } }; PriorityQueue.prototype._decrease = function (index) { var arr = this._arr; var priority = arr[index].priority; var parent; while (index !== 0) { parent = index >> 1; if (arr[parent].priority < priority) { break } this._swap(index, parent); index = parent } }; PriorityQueue.prototype._swap = function (i, j) { var arr = this._arr; var keyIndices = this._keyIndices; var origArrI = arr[i]; var origArrJ = arr[j]; arr[i] = origArrJ; arr[j] = origArrI; keyIndices[origArrJ.key] = i; keyIndices[origArrI.key] = j } - }, { "../lodash": 49 }], 46: [function (require, module, exports) { - "use strict"; var _ = require("./lodash"); module.exports = Graph; var DEFAULT_EDGE_NAME = "\0"; var GRAPH_NODE = "\0"; var EDGE_KEY_DELIM = ""; - // Implementation notes: - // - // * Node id query functions should return string ids for the nodes - // * Edge id query functions should return an "edgeObj", edge object, that is - // composed of enough information to uniquely identify an edge: {v, w, name}. - // * Internally we use an "edgeId", a stringified form of the edgeObj, to - // reference edges. This is because we need a performant way to look these - // edges up and, object properties, which have string keys, are the closest - // we're going to get to a performant hashtable in JavaScript. - function Graph(opts) { - this._isDirected = _.has(opts, "directed") ? opts.directed : true; this._isMultigraph = _.has(opts, "multigraph") ? opts.multigraph : false; this._isCompound = _.has(opts, "compound") ? opts.compound : false; - // Label for the graph itself - this._label = undefined; - // Defaults to be set when creating a new node - this._defaultNodeLabelFn = _.constant(undefined); - // Defaults to be set when creating a new edge - this._defaultEdgeLabelFn = _.constant(undefined); - // v -> label - this._nodes = {}; if (this._isCompound) { - // v -> parent - this._parent = {}; - // v -> children - this._children = {}; this._children[GRAPH_NODE] = {} - } - // v -> edgeObj - this._in = {}; - // u -> v -> Number - this._preds = {}; - // v -> edgeObj - this._out = {}; - // v -> w -> Number - this._sucs = {}; - // e -> edgeObj - this._edgeObjs = {}; - // e -> label - this._edgeLabels = {} - } -/* Number of nodes in the graph. Should only be changed by the implementation. */Graph.prototype._nodeCount = 0; -/* Number of edges in the graph. Should only be changed by the implementation. */Graph.prototype._edgeCount = 0; -/* === Graph functions ========= */Graph.prototype.isDirected = function () { return this._isDirected }; Graph.prototype.isMultigraph = function () { return this._isMultigraph }; Graph.prototype.isCompound = function () { return this._isCompound }; Graph.prototype.setGraph = function (label) { this._label = label; return this }; Graph.prototype.graph = function () { return this._label }; -/* === Node functions ========== */Graph.prototype.setDefaultNodeLabel = function (newDefault) { if (!_.isFunction(newDefault)) { newDefault = _.constant(newDefault) } this._defaultNodeLabelFn = newDefault; return this }; Graph.prototype.nodeCount = function () { return this._nodeCount }; Graph.prototype.nodes = function () { return _.keys(this._nodes) }; Graph.prototype.sources = function () { var self = this; return _.filter(this.nodes(), function (v) { return _.isEmpty(self._in[v]) }) }; Graph.prototype.sinks = function () { var self = this; return _.filter(this.nodes(), function (v) { return _.isEmpty(self._out[v]) }) }; Graph.prototype.setNodes = function (vs, value) { var args = arguments; var self = this; _.each(vs, function (v) { if (args.length > 1) { self.setNode(v, value) } else { self.setNode(v) } }); return this }; Graph.prototype.setNode = function (v, value) { if (_.has(this._nodes, v)) { if (arguments.length > 1) { this._nodes[v] = value } return this } this._nodes[v] = arguments.length > 1 ? value : this._defaultNodeLabelFn(v); if (this._isCompound) { this._parent[v] = GRAPH_NODE; this._children[v] = {}; this._children[GRAPH_NODE][v] = true } this._in[v] = {}; this._preds[v] = {}; this._out[v] = {}; this._sucs[v] = {}; ++this._nodeCount; return this }; Graph.prototype.node = function (v) { return this._nodes[v] }; Graph.prototype.hasNode = function (v) { return _.has(this._nodes, v) }; Graph.prototype.removeNode = function (v) { var self = this; if (_.has(this._nodes, v)) { var removeEdge = function (e) { self.removeEdge(self._edgeObjs[e]) }; delete this._nodes[v]; if (this._isCompound) { this._removeFromParentsChildList(v); delete this._parent[v]; _.each(this.children(v), function (child) { self.setParent(child) }); delete this._children[v] } _.each(_.keys(this._in[v]), removeEdge); delete this._in[v]; delete this._preds[v]; _.each(_.keys(this._out[v]), removeEdge); delete this._out[v]; delete this._sucs[v]; --this._nodeCount } return this }; Graph.prototype.setParent = function (v, parent) { - if (!this._isCompound) { throw new Error("Cannot set parent in a non-compound graph") } if (_.isUndefined(parent)) { parent = GRAPH_NODE } else { - // Coerce parent to string - parent += ""; for (var ancestor = parent; !_.isUndefined(ancestor); ancestor = this.parent(ancestor)) { if (ancestor === v) { throw new Error("Setting " + parent + " as parent of " + v + " would create a cycle") } } this.setNode(parent) - } this.setNode(v); this._removeFromParentsChildList(v); this._parent[v] = parent; this._children[parent][v] = true; return this - }; Graph.prototype._removeFromParentsChildList = function (v) { delete this._children[this._parent[v]][v] }; Graph.prototype.parent = function (v) { if (this._isCompound) { var parent = this._parent[v]; if (parent !== GRAPH_NODE) { return parent } } }; Graph.prototype.children = function (v) { if (_.isUndefined(v)) { v = GRAPH_NODE } if (this._isCompound) { var children = this._children[v]; if (children) { return _.keys(children) } } else if (v === GRAPH_NODE) { return this.nodes() } else if (this.hasNode(v)) { return [] } }; Graph.prototype.predecessors = function (v) { var predsV = this._preds[v]; if (predsV) { return _.keys(predsV) } }; Graph.prototype.successors = function (v) { var sucsV = this._sucs[v]; if (sucsV) { return _.keys(sucsV) } }; Graph.prototype.neighbors = function (v) { var preds = this.predecessors(v); if (preds) { return _.union(preds, this.successors(v)) } }; Graph.prototype.isLeaf = function (v) { var neighbors; if (this.isDirected()) { neighbors = this.successors(v) } else { neighbors = this.neighbors(v) } return neighbors.length === 0 }; Graph.prototype.filterNodes = function (filter) { var copy = new this.constructor({ directed: this._isDirected, multigraph: this._isMultigraph, compound: this._isCompound }); copy.setGraph(this.graph()); var self = this; _.each(this._nodes, function (value, v) { if (filter(v)) { copy.setNode(v, value) } }); _.each(this._edgeObjs, function (e) { if (copy.hasNode(e.v) && copy.hasNode(e.w)) { copy.setEdge(e, self.edge(e)) } }); var parents = {}; function findParent(v) { var parent = self.parent(v); if (parent === undefined || copy.hasNode(parent)) { parents[v] = parent; return parent } else if (parent in parents) { return parents[parent] } else { return findParent(parent) } } if (this._isCompound) { _.each(copy.nodes(), function (v) { copy.setParent(v, findParent(v)) }) } return copy }; -/* === Edge functions ========== */Graph.prototype.setDefaultEdgeLabel = function (newDefault) { if (!_.isFunction(newDefault)) { newDefault = _.constant(newDefault) } this._defaultEdgeLabelFn = newDefault; return this }; Graph.prototype.edgeCount = function () { return this._edgeCount }; Graph.prototype.edges = function () { return _.values(this._edgeObjs) }; Graph.prototype.setPath = function (vs, value) { var self = this; var args = arguments; _.reduce(vs, function (v, w) { if (args.length > 1) { self.setEdge(v, w, value) } else { self.setEdge(v, w) } return w }); return this }; -/* - * setEdge(v, w, [value, [name]]) - * setEdge({ v, w, [name] }, [value]) - */Graph.prototype.setEdge = function () { - var v, w, name, value; var valueSpecified = false; var arg0 = arguments[0]; if (typeof arg0 === "object" && arg0 !== null && "v" in arg0) { v = arg0.v; w = arg0.w; name = arg0.name; if (arguments.length === 2) { value = arguments[1]; valueSpecified = true } } else { v = arg0; w = arguments[1]; name = arguments[3]; if (arguments.length > 2) { value = arguments[2]; valueSpecified = true } } v = "" + v; w = "" + w; if (!_.isUndefined(name)) { name = "" + name } var e = edgeArgsToId(this._isDirected, v, w, name); if (_.has(this._edgeLabels, e)) { if (valueSpecified) { this._edgeLabels[e] = value } return this } if (!_.isUndefined(name) && !this._isMultigraph) { throw new Error("Cannot set a named edge when isMultigraph = false") } - // It didn't exist, so we need to create it. - // First ensure the nodes exist. - this.setNode(v); this.setNode(w); this._edgeLabels[e] = valueSpecified ? value : this._defaultEdgeLabelFn(v, w, name); var edgeObj = edgeArgsToObj(this._isDirected, v, w, name); - // Ensure we add undirected edges in a consistent way. - v = edgeObj.v; w = edgeObj.w; Object.freeze(edgeObj); this._edgeObjs[e] = edgeObj; incrementOrInitEntry(this._preds[w], v); incrementOrInitEntry(this._sucs[v], w); this._in[w][e] = edgeObj; this._out[v][e] = edgeObj; this._edgeCount++; return this - }; Graph.prototype.edge = function (v, w, name) { var e = arguments.length === 1 ? edgeObjToId(this._isDirected, arguments[0]) : edgeArgsToId(this._isDirected, v, w, name); return this._edgeLabels[e] }; Graph.prototype.hasEdge = function (v, w, name) { var e = arguments.length === 1 ? edgeObjToId(this._isDirected, arguments[0]) : edgeArgsToId(this._isDirected, v, w, name); return _.has(this._edgeLabels, e) }; Graph.prototype.removeEdge = function (v, w, name) { var e = arguments.length === 1 ? edgeObjToId(this._isDirected, arguments[0]) : edgeArgsToId(this._isDirected, v, w, name); var edge = this._edgeObjs[e]; if (edge) { v = edge.v; w = edge.w; delete this._edgeLabels[e]; delete this._edgeObjs[e]; decrementOrRemoveEntry(this._preds[w], v); decrementOrRemoveEntry(this._sucs[v], w); delete this._in[w][e]; delete this._out[v][e]; this._edgeCount-- } return this }; Graph.prototype.inEdges = function (v, u) { var inV = this._in[v]; if (inV) { var edges = _.values(inV); if (!u) { return edges } return _.filter(edges, function (edge) { return edge.v === u }) } }; Graph.prototype.outEdges = function (v, w) { var outV = this._out[v]; if (outV) { var edges = _.values(outV); if (!w) { return edges } return _.filter(edges, function (edge) { return edge.w === w }) } }; Graph.prototype.nodeEdges = function (v, w) { var inEdges = this.inEdges(v, w); if (inEdges) { return inEdges.concat(this.outEdges(v, w)) } }; function incrementOrInitEntry(map, k) { if (map[k]) { map[k]++ } else { map[k] = 1 } } function decrementOrRemoveEntry(map, k) { if (!--map[k]) { delete map[k] } } function edgeArgsToId(isDirected, v_, w_, name) { var v = "" + v_; var w = "" + w_; if (!isDirected && v > w) { var tmp = v; v = w; w = tmp } return v + EDGE_KEY_DELIM + w + EDGE_KEY_DELIM + (_.isUndefined(name) ? DEFAULT_EDGE_NAME : name) } function edgeArgsToObj(isDirected, v_, w_, name) { var v = "" + v_; var w = "" + w_; if (!isDirected && v > w) { var tmp = v; v = w; w = tmp } var edgeObj = { v: v, w: w }; if (name) { edgeObj.name = name } return edgeObj } function edgeObjToId(isDirected, edgeObj) { return edgeArgsToId(isDirected, edgeObj.v, edgeObj.w, edgeObj.name) } - }, { "./lodash": 49 }], 47: [function (require, module, exports) { - // Includes only the "core" of graphlib - module.exports = { Graph: require("./graph"), version: require("./version") } - }, { "./graph": 46, "./version": 50 }], 48: [function (require, module, exports) { var _ = require("./lodash"); var Graph = require("./graph"); module.exports = { write: write, read: read }; function write(g) { var json = { options: { directed: g.isDirected(), multigraph: g.isMultigraph(), compound: g.isCompound() }, nodes: writeNodes(g), edges: writeEdges(g) }; if (!_.isUndefined(g.graph())) { json.value = _.clone(g.graph()) } return json } function writeNodes(g) { return _.map(g.nodes(), function (v) { var nodeValue = g.node(v); var parent = g.parent(v); var node = { v: v }; if (!_.isUndefined(nodeValue)) { node.value = nodeValue } if (!_.isUndefined(parent)) { node.parent = parent } return node }) } function writeEdges(g) { return _.map(g.edges(), function (e) { var edgeValue = g.edge(e); var edge = { v: e.v, w: e.w }; if (!_.isUndefined(e.name)) { edge.name = e.name } if (!_.isUndefined(edgeValue)) { edge.value = edgeValue } return edge }) } function read(json) { var g = new Graph(json.options).setGraph(json.value); _.each(json.nodes, function (entry) { g.setNode(entry.v, entry.value); if (entry.parent) { g.setParent(entry.v, entry.parent) } }); _.each(json.edges, function (entry) { g.setEdge({ v: entry.v, w: entry.w, name: entry.name }, entry.value) }); return g } }, { "./graph": 46, "./lodash": 49 }], 49: [function (require, module, exports) { - /* global window */ - var lodash; if (typeof require === "function") { - try { lodash = { clone: require("lodash/clone"), constant: require("lodash/constant"), each: require("lodash/each"), filter: require("lodash/filter"), has: require("lodash/has"), isArray: require("lodash/isArray"), isEmpty: require("lodash/isEmpty"), isFunction: require("lodash/isFunction"), isUndefined: require("lodash/isUndefined"), keys: require("lodash/keys"), map: require("lodash/map"), reduce: require("lodash/reduce"), size: require("lodash/size"), transform: require("lodash/transform"), union: require("lodash/union"), values: require("lodash/values") } } catch (e) { - // continue regardless of error - } - } if (!lodash) { lodash = window._ } module.exports = lodash - }, { "lodash/clone": 226, "lodash/constant": 228, "lodash/each": 230, "lodash/filter": 232, "lodash/has": 239, "lodash/isArray": 243, "lodash/isEmpty": 247, "lodash/isFunction": 248, "lodash/isUndefined": 258, "lodash/keys": 259, "lodash/map": 262, "lodash/reduce": 274, "lodash/size": 275, "lodash/transform": 284, "lodash/union": 285, "lodash/values": 287 }], 50: [function (require, module, exports) { module.exports = "2.1.8" }, {}], 51: [function (require, module, exports) { - var getNative = require("./_getNative"), root = require("./_root"); -/* Built-in method references that are verified to be native. */var DataView = getNative(root, "DataView"); module.exports = DataView - }, { "./_getNative": 163, "./_root": 208 }], 52: [function (require, module, exports) { - var hashClear = require("./_hashClear"), hashDelete = require("./_hashDelete"), hashGet = require("./_hashGet"), hashHas = require("./_hashHas"), hashSet = require("./_hashSet"); -/** - * Creates a hash object. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */function Hash(entries) { var index = -1, length = entries == null ? 0 : entries.length; this.clear(); while (++index < length) { var entry = entries[index]; this.set(entry[0], entry[1]) } } - // Add methods to `Hash`. - Hash.prototype.clear = hashClear; Hash.prototype["delete"] = hashDelete; Hash.prototype.get = hashGet; Hash.prototype.has = hashHas; Hash.prototype.set = hashSet; module.exports = Hash - }, { "./_hashClear": 172, "./_hashDelete": 173, "./_hashGet": 174, "./_hashHas": 175, "./_hashSet": 176 }], 53: [function (require, module, exports) { - var listCacheClear = require("./_listCacheClear"), listCacheDelete = require("./_listCacheDelete"), listCacheGet = require("./_listCacheGet"), listCacheHas = require("./_listCacheHas"), listCacheSet = require("./_listCacheSet"); -/** - * Creates an list cache object. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */function ListCache(entries) { var index = -1, length = entries == null ? 0 : entries.length; this.clear(); while (++index < length) { var entry = entries[index]; this.set(entry[0], entry[1]) } } - // Add methods to `ListCache`. - ListCache.prototype.clear = listCacheClear; ListCache.prototype["delete"] = listCacheDelete; ListCache.prototype.get = listCacheGet; ListCache.prototype.has = listCacheHas; ListCache.prototype.set = listCacheSet; module.exports = ListCache - }, { "./_listCacheClear": 188, "./_listCacheDelete": 189, "./_listCacheGet": 190, "./_listCacheHas": 191, "./_listCacheSet": 192 }], 54: [function (require, module, exports) { - var getNative = require("./_getNative"), root = require("./_root"); -/* Built-in method references that are verified to be native. */var Map = getNative(root, "Map"); module.exports = Map - }, { "./_getNative": 163, "./_root": 208 }], 55: [function (require, module, exports) { - var mapCacheClear = require("./_mapCacheClear"), mapCacheDelete = require("./_mapCacheDelete"), mapCacheGet = require("./_mapCacheGet"), mapCacheHas = require("./_mapCacheHas"), mapCacheSet = require("./_mapCacheSet"); -/** - * Creates a map cache object to store key-value pairs. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */function MapCache(entries) { var index = -1, length = entries == null ? 0 : entries.length; this.clear(); while (++index < length) { var entry = entries[index]; this.set(entry[0], entry[1]) } } - // Add methods to `MapCache`. - MapCache.prototype.clear = mapCacheClear; MapCache.prototype["delete"] = mapCacheDelete; MapCache.prototype.get = mapCacheGet; MapCache.prototype.has = mapCacheHas; MapCache.prototype.set = mapCacheSet; module.exports = MapCache - }, { "./_mapCacheClear": 193, "./_mapCacheDelete": 194, "./_mapCacheGet": 195, "./_mapCacheHas": 196, "./_mapCacheSet": 197 }], 56: [function (require, module, exports) { - var getNative = require("./_getNative"), root = require("./_root"); -/* Built-in method references that are verified to be native. */var Promise = getNative(root, "Promise"); module.exports = Promise - }, { "./_getNative": 163, "./_root": 208 }], 57: [function (require, module, exports) { - var getNative = require("./_getNative"), root = require("./_root"); -/* Built-in method references that are verified to be native. */var Set = getNative(root, "Set"); module.exports = Set - }, { "./_getNative": 163, "./_root": 208 }], 58: [function (require, module, exports) { - var MapCache = require("./_MapCache"), setCacheAdd = require("./_setCacheAdd"), setCacheHas = require("./_setCacheHas"); -/** - * - * Creates an array cache object to store unique values. - * - * @private - * @constructor - * @param {Array} [values] The values to cache. - */function SetCache(values) { var index = -1, length = values == null ? 0 : values.length; this.__data__ = new MapCache; while (++index < length) { this.add(values[index]) } } - // Add methods to `SetCache`. - SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; SetCache.prototype.has = setCacheHas; module.exports = SetCache - }, { "./_MapCache": 55, "./_setCacheAdd": 210, "./_setCacheHas": 211 }], 59: [function (require, module, exports) { - var ListCache = require("./_ListCache"), stackClear = require("./_stackClear"), stackDelete = require("./_stackDelete"), stackGet = require("./_stackGet"), stackHas = require("./_stackHas"), stackSet = require("./_stackSet"); -/** - * Creates a stack cache object to store key-value pairs. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */function Stack(entries) { var data = this.__data__ = new ListCache(entries); this.size = data.size } - // Add methods to `Stack`. - Stack.prototype.clear = stackClear; Stack.prototype["delete"] = stackDelete; Stack.prototype.get = stackGet; Stack.prototype.has = stackHas; Stack.prototype.set = stackSet; module.exports = Stack - }, { "./_ListCache": 53, "./_stackClear": 215, "./_stackDelete": 216, "./_stackGet": 217, "./_stackHas": 218, "./_stackSet": 219 }], 60: [function (require, module, exports) { - var root = require("./_root"); -/** Built-in value references. */var Symbol = root.Symbol; module.exports = Symbol - }, { "./_root": 208 }], 61: [function (require, module, exports) { - var root = require("./_root"); -/** Built-in value references. */var Uint8Array = root.Uint8Array; module.exports = Uint8Array - }, { "./_root": 208 }], 62: [function (require, module, exports) { - var getNative = require("./_getNative"), root = require("./_root"); -/* Built-in method references that are verified to be native. */var WeakMap = getNative(root, "WeakMap"); module.exports = WeakMap - }, { "./_getNative": 163, "./_root": 208 }], 63: [function (require, module, exports) { - /** - * A faster alternative to `Function#apply`, this function invokes `func` - * with the `this` binding of `thisArg` and the arguments of `args`. - * - * @private - * @param {Function} func The function to invoke. - * @param {*} thisArg The `this` binding of `func`. - * @param {Array} args The arguments to invoke `func` with. - * @returns {*} Returns the result of `func`. - */ - function apply(func, thisArg, args) { switch (args.length) { case 0: return func.call(thisArg); case 1: return func.call(thisArg, args[0]); case 2: return func.call(thisArg, args[0], args[1]); case 3: return func.call(thisArg, args[0], args[1], args[2]) }return func.apply(thisArg, args) } module.exports = apply - }, {}], 64: [function (require, module, exports) { - /** - * A specialized version of `_.forEach` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns `array`. - */ - function arrayEach(array, iteratee) { var index = -1, length = array == null ? 0 : array.length; while (++index < length) { if (iteratee(array[index], index, array) === false) { break } } return array } module.exports = arrayEach - }, {}], 65: [function (require, module, exports) { - /** - * A specialized version of `_.filter` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - */ - function arrayFilter(array, predicate) { var index = -1, length = array == null ? 0 : array.length, resIndex = 0, result = []; while (++index < length) { var value = array[index]; if (predicate(value, index, array)) { result[resIndex++] = value } } return result } module.exports = arrayFilter - }, {}], 66: [function (require, module, exports) { - var baseIndexOf = require("./_baseIndexOf"); -/** - * A specialized version of `_.includes` for arrays without support for - * specifying an index to search from. - * - * @private - * @param {Array} [array] The array to inspect. - * @param {*} target The value to search for. - * @returns {boolean} Returns `true` if `target` is found, else `false`. - */function arrayIncludes(array, value) { var length = array == null ? 0 : array.length; return !!length && baseIndexOf(array, value, 0) > -1 } module.exports = arrayIncludes - }, { "./_baseIndexOf": 95 }], 67: [function (require, module, exports) { - /** - * This function is like `arrayIncludes` except that it accepts a comparator. - * - * @private - * @param {Array} [array] The array to inspect. - * @param {*} target The value to search for. - * @param {Function} comparator The comparator invoked per element. - * @returns {boolean} Returns `true` if `target` is found, else `false`. - */ - function arrayIncludesWith(array, value, comparator) { var index = -1, length = array == null ? 0 : array.length; while (++index < length) { if (comparator(value, array[index])) { return true } } return false } module.exports = arrayIncludesWith - }, {}], 68: [function (require, module, exports) { - var baseTimes = require("./_baseTimes"), isArguments = require("./isArguments"), isArray = require("./isArray"), isBuffer = require("./isBuffer"), isIndex = require("./_isIndex"), isTypedArray = require("./isTypedArray"); -/** Used for built-in method references. */var objectProto = Object.prototype; -/** Used to check objects for own properties. */var hasOwnProperty = objectProto.hasOwnProperty; -/** - * Creates an array of the enumerable property names of the array-like `value`. - * - * @private - * @param {*} value The value to query. - * @param {boolean} inherited Specify returning inherited property names. - * @returns {Array} Returns the array of property names. - */function arrayLikeKeys(value, inherited) { - var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length; for (var key in value) { - if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && ( - // Safari 9 has enumerable `arguments.length` in strict mode. - key == "length" || - // Node.js 0.10 has enumerable non-index properties on buffers. - isBuff && (key == "offset" || key == "parent") || - // PhantomJS 2 has enumerable non-index properties on typed arrays. - isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || - // Skip index properties. - isIndex(key, length)))) { result.push(key) } - } return result - } module.exports = arrayLikeKeys - }, { "./_baseTimes": 125, "./_isIndex": 181, "./isArguments": 242, "./isArray": 243, "./isBuffer": 246, "./isTypedArray": 257 }], 69: [function (require, module, exports) { - /** - * A specialized version of `_.map` for arrays without support for iteratee - * shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the new mapped array. - */ - function arrayMap(array, iteratee) { var index = -1, length = array == null ? 0 : array.length, result = Array(length); while (++index < length) { result[index] = iteratee(array[index], index, array) } return result } module.exports = arrayMap - }, {}], 70: [function (require, module, exports) { - /** - * Appends the elements of `values` to `array`. - * - * @private - * @param {Array} array The array to modify. - * @param {Array} values The values to append. - * @returns {Array} Returns `array`. - */ - function arrayPush(array, values) { var index = -1, length = values.length, offset = array.length; while (++index < length) { array[offset + index] = values[index] } return array } module.exports = arrayPush - }, {}], 71: [function (require, module, exports) { - /** - * A specialized version of `_.reduce` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @param {boolean} [initAccum] Specify using the first element of `array` as - * the initial value. - * @returns {*} Returns the accumulated value. - */ - function arrayReduce(array, iteratee, accumulator, initAccum) { var index = -1, length = array == null ? 0 : array.length; if (initAccum && length) { accumulator = array[++index] } while (++index < length) { accumulator = iteratee(accumulator, array[index], index, array) } return accumulator } module.exports = arrayReduce - }, {}], 72: [function (require, module, exports) { - /** - * A specialized version of `_.some` for arrays without support for iteratee - * shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if any element passes the predicate check, - * else `false`. - */ - function arraySome(array, predicate) { var index = -1, length = array == null ? 0 : array.length; while (++index < length) { if (predicate(array[index], index, array)) { return true } } return false } module.exports = arraySome - }, {}], 73: [function (require, module, exports) { - var baseProperty = require("./_baseProperty"); -/** - * Gets the size of an ASCII `string`. - * - * @private - * @param {string} string The string inspect. - * @returns {number} Returns the string size. - */var asciiSize = baseProperty("length"); module.exports = asciiSize - }, { "./_baseProperty": 117 }], 74: [function (require, module, exports) { - var baseAssignValue = require("./_baseAssignValue"), eq = require("./eq"); -/** - * This function is like `assignValue` except that it doesn't assign - * `undefined` values. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */function assignMergeValue(object, key, value) { if (value !== undefined && !eq(object[key], value) || value === undefined && !(key in object)) { baseAssignValue(object, key, value) } } module.exports = assignMergeValue - }, { "./_baseAssignValue": 79, "./eq": 231 }], 75: [function (require, module, exports) { - var baseAssignValue = require("./_baseAssignValue"), eq = require("./eq"); -/** Used for built-in method references. */var objectProto = Object.prototype; -/** Used to check objects for own properties. */var hasOwnProperty = objectProto.hasOwnProperty; -/** - * Assigns `value` to `key` of `object` if the existing value is not equivalent - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */function assignValue(object, key, value) { var objValue = object[key]; if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || value === undefined && !(key in object)) { baseAssignValue(object, key, value) } } module.exports = assignValue - }, { "./_baseAssignValue": 79, "./eq": 231 }], 76: [function (require, module, exports) { - var eq = require("./eq"); -/** - * Gets the index at which the `key` is found in `array` of key-value pairs. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} key The key to search for. - * @returns {number} Returns the index of the matched value, else `-1`. - */function assocIndexOf(array, key) { var length = array.length; while (length--) { if (eq(array[length][0], key)) { return length } } return -1 } module.exports = assocIndexOf - }, { "./eq": 231 }], 77: [function (require, module, exports) { - var copyObject = require("./_copyObject"), keys = require("./keys"); -/** - * The base implementation of `_.assign` without support for multiple sources - * or `customizer` functions. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @returns {Object} Returns `object`. - */function baseAssign(object, source) { return object && copyObject(source, keys(source), object) } module.exports = baseAssign - }, { "./_copyObject": 143, "./keys": 259 }], 78: [function (require, module, exports) { - var copyObject = require("./_copyObject"), keysIn = require("./keysIn"); -/** - * The base implementation of `_.assignIn` without support for multiple sources - * or `customizer` functions. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @returns {Object} Returns `object`. - */function baseAssignIn(object, source) { return object && copyObject(source, keysIn(source), object) } module.exports = baseAssignIn - }, { "./_copyObject": 143, "./keysIn": 260 }], 79: [function (require, module, exports) { - var defineProperty = require("./_defineProperty"); -/** - * The base implementation of `assignValue` and `assignMergeValue` without - * value checks. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */function baseAssignValue(object, key, value) { if (key == "__proto__" && defineProperty) { defineProperty(object, key, { configurable: true, enumerable: true, value: value, writable: true }) } else { object[key] = value } } module.exports = baseAssignValue - }, { "./_defineProperty": 153 }], 80: [function (require, module, exports) { - var Stack = require("./_Stack"), arrayEach = require("./_arrayEach"), assignValue = require("./_assignValue"), baseAssign = require("./_baseAssign"), baseAssignIn = require("./_baseAssignIn"), cloneBuffer = require("./_cloneBuffer"), copyArray = require("./_copyArray"), copySymbols = require("./_copySymbols"), copySymbolsIn = require("./_copySymbolsIn"), getAllKeys = require("./_getAllKeys"), getAllKeysIn = require("./_getAllKeysIn"), getTag = require("./_getTag"), initCloneArray = require("./_initCloneArray"), initCloneByTag = require("./_initCloneByTag"), initCloneObject = require("./_initCloneObject"), isArray = require("./isArray"), isBuffer = require("./isBuffer"), isMap = require("./isMap"), isObject = require("./isObject"), isSet = require("./isSet"), keys = require("./keys"); -/** Used to compose bitmasks for cloning. */var CLONE_DEEP_FLAG = 1, CLONE_FLAT_FLAG = 2, CLONE_SYMBOLS_FLAG = 4; -/** `Object#toString` result references. */var argsTag = "[object Arguments]", arrayTag = "[object Array]", boolTag = "[object Boolean]", dateTag = "[object Date]", errorTag = "[object Error]", funcTag = "[object Function]", genTag = "[object GeneratorFunction]", mapTag = "[object Map]", numberTag = "[object Number]", objectTag = "[object Object]", regexpTag = "[object RegExp]", setTag = "[object Set]", stringTag = "[object String]", symbolTag = "[object Symbol]", weakMapTag = "[object WeakMap]"; var arrayBufferTag = "[object ArrayBuffer]", dataViewTag = "[object DataView]", float32Tag = "[object Float32Array]", float64Tag = "[object Float64Array]", int8Tag = "[object Int8Array]", int16Tag = "[object Int16Array]", int32Tag = "[object Int32Array]", uint8Tag = "[object Uint8Array]", uint8ClampedTag = "[object Uint8ClampedArray]", uint16Tag = "[object Uint16Array]", uint32Tag = "[object Uint32Array]"; -/** Used to identify `toStringTag` values supported by `_.clone`. */var cloneableTags = {}; cloneableTags[argsTag] = cloneableTags[arrayTag] = cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = cloneableTags[boolTag] = cloneableTags[dateTag] = cloneableTags[float32Tag] = cloneableTags[float64Tag] = cloneableTags[int8Tag] = cloneableTags[int16Tag] = cloneableTags[int32Tag] = cloneableTags[mapTag] = cloneableTags[numberTag] = cloneableTags[objectTag] = cloneableTags[regexpTag] = cloneableTags[setTag] = cloneableTags[stringTag] = cloneableTags[symbolTag] = cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; cloneableTags[errorTag] = cloneableTags[funcTag] = cloneableTags[weakMapTag] = false; -/** - * The base implementation of `_.clone` and `_.cloneDeep` which tracks - * traversed objects. - * - * @private - * @param {*} value The value to clone. - * @param {boolean} bitmask The bitmask flags. - * 1 - Deep clone - * 2 - Flatten inherited properties - * 4 - Clone symbols - * @param {Function} [customizer] The function to customize cloning. - * @param {string} [key] The key of `value`. - * @param {Object} [object] The parent object of `value`. - * @param {Object} [stack] Tracks traversed objects and their clone counterparts. - * @returns {*} Returns the cloned value. - */function baseClone(value, bitmask, customizer, key, object, stack) { - var result, isDeep = bitmask & CLONE_DEEP_FLAG, isFlat = bitmask & CLONE_FLAT_FLAG, isFull = bitmask & CLONE_SYMBOLS_FLAG; if (customizer) { result = object ? customizer(value, key, object, stack) : customizer(value) } if (result !== undefined) { return result } if (!isObject(value)) { return value } var isArr = isArray(value); if (isArr) { result = initCloneArray(value); if (!isDeep) { return copyArray(value, result) } } else { var tag = getTag(value), isFunc = tag == funcTag || tag == genTag; if (isBuffer(value)) { return cloneBuffer(value, isDeep) } if (tag == objectTag || tag == argsTag || isFunc && !object) { result = isFlat || isFunc ? {} : initCloneObject(value); if (!isDeep) { return isFlat ? copySymbolsIn(value, baseAssignIn(result, value)) : copySymbols(value, baseAssign(result, value)) } } else { if (!cloneableTags[tag]) { return object ? value : {} } result = initCloneByTag(value, tag, isDeep) } } - // Check for circular references and return its corresponding clone. - stack || (stack = new Stack); var stacked = stack.get(value); if (stacked) { return stacked } stack.set(value, result); if (isSet(value)) { value.forEach(function (subValue) { result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack)) }) } else if (isMap(value)) { value.forEach(function (subValue, key) { result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack)) }) } var keysFunc = isFull ? isFlat ? getAllKeysIn : getAllKeys : isFlat ? keysIn : keys; var props = isArr ? undefined : keysFunc(value); arrayEach(props || value, function (subValue, key) { - if (props) { key = subValue; subValue = value[key] } - // Recursively populate clone (susceptible to call stack limits). - assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack)) - }); return result - } module.exports = baseClone - }, { "./_Stack": 59, "./_arrayEach": 64, "./_assignValue": 75, "./_baseAssign": 77, "./_baseAssignIn": 78, "./_cloneBuffer": 135, "./_copyArray": 142, "./_copySymbols": 144, "./_copySymbolsIn": 145, "./_getAllKeys": 159, "./_getAllKeysIn": 160, "./_getTag": 168, "./_initCloneArray": 177, "./_initCloneByTag": 178, "./_initCloneObject": 179, "./isArray": 243, "./isBuffer": 246, "./isMap": 250, "./isObject": 251, "./isSet": 254, "./keys": 259 }], 81: [function (require, module, exports) { - var isObject = require("./isObject"); -/** Built-in value references. */var objectCreate = Object.create; -/** - * The base implementation of `_.create` without support for assigning - * properties to the created object. - * - * @private - * @param {Object} proto The object to inherit from. - * @returns {Object} Returns the new object. - */var baseCreate = function () { function object() { } return function (proto) { if (!isObject(proto)) { return {} } if (objectCreate) { return objectCreate(proto) } object.prototype = proto; var result = new object; object.prototype = undefined; return result } }(); module.exports = baseCreate - }, { "./isObject": 251 }], 82: [function (require, module, exports) { - var baseForOwn = require("./_baseForOwn"), createBaseEach = require("./_createBaseEach"); -/** - * The base implementation of `_.forEach` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - */var baseEach = createBaseEach(baseForOwn); module.exports = baseEach - }, { "./_baseForOwn": 88, "./_createBaseEach": 148 }], 83: [function (require, module, exports) { - var isSymbol = require("./isSymbol"); -/** - * The base implementation of methods like `_.max` and `_.min` which accepts a - * `comparator` to determine the extremum value. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The iteratee invoked per iteration. - * @param {Function} comparator The comparator used to compare values. - * @returns {*} Returns the extremum value. - */function baseExtremum(array, iteratee, comparator) { var index = -1, length = array.length; while (++index < length) { var value = array[index], current = iteratee(value); if (current != null && (computed === undefined ? current === current && !isSymbol(current) : comparator(current, computed))) { var computed = current, result = value } } return result } module.exports = baseExtremum - }, { "./isSymbol": 256 }], 84: [function (require, module, exports) { - var baseEach = require("./_baseEach"); -/** - * The base implementation of `_.filter` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - */function baseFilter(collection, predicate) { var result = []; baseEach(collection, function (value, index, collection) { if (predicate(value, index, collection)) { result.push(value) } }); return result } module.exports = baseFilter - }, { "./_baseEach": 82 }], 85: [function (require, module, exports) { - /** - * The base implementation of `_.findIndex` and `_.findLastIndex` without - * support for iteratee shorthands. - * - * @private - * @param {Array} array The array to inspect. - * @param {Function} predicate The function invoked per iteration. - * @param {number} fromIndex The index to search from. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function baseFindIndex(array, predicate, fromIndex, fromRight) { var length = array.length, index = fromIndex + (fromRight ? 1 : -1); while (fromRight ? index-- : ++index < length) { if (predicate(array[index], index, array)) { return index } } return -1 } module.exports = baseFindIndex - }, {}], 86: [function (require, module, exports) { - var arrayPush = require("./_arrayPush"), isFlattenable = require("./_isFlattenable"); -/** - * The base implementation of `_.flatten` with support for restricting flattening. - * - * @private - * @param {Array} array The array to flatten. - * @param {number} depth The maximum recursion depth. - * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. - * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. - * @param {Array} [result=[]] The initial result value. - * @returns {Array} Returns the new flattened array. - */function baseFlatten(array, depth, predicate, isStrict, result) { - var index = -1, length = array.length; predicate || (predicate = isFlattenable); result || (result = []); while (++index < length) { - var value = array[index]; if (depth > 0 && predicate(value)) { - if (depth > 1) { - // Recursively flatten arrays (susceptible to call stack limits). - baseFlatten(value, depth - 1, predicate, isStrict, result) - } else { arrayPush(result, value) } - } else if (!isStrict) { result[result.length] = value } - } return result - } module.exports = baseFlatten - }, { "./_arrayPush": 70, "./_isFlattenable": 180 }], 87: [function (require, module, exports) { - var createBaseFor = require("./_createBaseFor"); -/** - * The base implementation of `baseForOwn` which iterates over `object` - * properties returned by `keysFunc` and invokes `iteratee` for each property. - * Iteratee functions may exit iteration early by explicitly returning `false`. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {Function} keysFunc The function to get the keys of `object`. - * @returns {Object} Returns `object`. - */var baseFor = createBaseFor(); module.exports = baseFor - }, { "./_createBaseFor": 149 }], 88: [function (require, module, exports) { - var baseFor = require("./_baseFor"), keys = require("./keys"); -/** - * The base implementation of `_.forOwn` without support for iteratee shorthands. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Object} Returns `object`. - */function baseForOwn(object, iteratee) { return object && baseFor(object, iteratee, keys) } module.exports = baseForOwn - }, { "./_baseFor": 87, "./keys": 259 }], 89: [function (require, module, exports) { - var castPath = require("./_castPath"), toKey = require("./_toKey"); -/** - * The base implementation of `_.get` without support for default values. - * - * @private - * @param {Object} object The object to query. - * @param {Array|string} path The path of the property to get. - * @returns {*} Returns the resolved value. - */function baseGet(object, path) { path = castPath(path, object); var index = 0, length = path.length; while (object != null && index < length) { object = object[toKey(path[index++])] } return index && index == length ? object : undefined } module.exports = baseGet - }, { "./_castPath": 133, "./_toKey": 223 }], 90: [function (require, module, exports) { - var arrayPush = require("./_arrayPush"), isArray = require("./isArray"); -/** - * The base implementation of `getAllKeys` and `getAllKeysIn` which uses - * `keysFunc` and `symbolsFunc` to get the enumerable property names and - * symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @param {Function} keysFunc The function to get the keys of `object`. - * @param {Function} symbolsFunc The function to get the symbols of `object`. - * @returns {Array} Returns the array of property names and symbols. - */function baseGetAllKeys(object, keysFunc, symbolsFunc) { var result = keysFunc(object); return isArray(object) ? result : arrayPush(result, symbolsFunc(object)) } module.exports = baseGetAllKeys - }, { "./_arrayPush": 70, "./isArray": 243 }], 91: [function (require, module, exports) { - var Symbol = require("./_Symbol"), getRawTag = require("./_getRawTag"), objectToString = require("./_objectToString"); -/** `Object#toString` result references. */var nullTag = "[object Null]", undefinedTag = "[object Undefined]"; -/** Built-in value references. */var symToStringTag = Symbol ? Symbol.toStringTag : undefined; -/** - * The base implementation of `getTag` without fallbacks for buggy environments. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the `toStringTag`. - */function baseGetTag(value) { if (value == null) { return value === undefined ? undefinedTag : nullTag } return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value) } module.exports = baseGetTag - }, { "./_Symbol": 60, "./_getRawTag": 165, "./_objectToString": 205 }], 92: [function (require, module, exports) { - /** - * The base implementation of `_.gt` which doesn't coerce arguments. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is greater than `other`, - * else `false`. - */ - function baseGt(value, other) { return value > other } module.exports = baseGt - }, {}], 93: [function (require, module, exports) { - /** Used for built-in method references. */ - var objectProto = Object.prototype; -/** Used to check objects for own properties. */var hasOwnProperty = objectProto.hasOwnProperty; -/** - * The base implementation of `_.has` without support for deep paths. - * - * @private - * @param {Object} [object] The object to query. - * @param {Array|string} key The key to check. - * @returns {boolean} Returns `true` if `key` exists, else `false`. - */function baseHas(object, key) { return object != null && hasOwnProperty.call(object, key) } module.exports = baseHas - }, {}], 94: [function (require, module, exports) { - /** - * The base implementation of `_.hasIn` without support for deep paths. - * - * @private - * @param {Object} [object] The object to query. - * @param {Array|string} key The key to check. - * @returns {boolean} Returns `true` if `key` exists, else `false`. - */ - function baseHasIn(object, key) { return object != null && key in Object(object) } module.exports = baseHasIn - }, {}], 95: [function (require, module, exports) { - var baseFindIndex = require("./_baseFindIndex"), baseIsNaN = require("./_baseIsNaN"), strictIndexOf = require("./_strictIndexOf"); -/** - * The base implementation of `_.indexOf` without `fromIndex` bounds checks. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} fromIndex The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - */function baseIndexOf(array, value, fromIndex) { return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex) } module.exports = baseIndexOf - }, { "./_baseFindIndex": 85, "./_baseIsNaN": 101, "./_strictIndexOf": 220 }], 96: [function (require, module, exports) { - var baseGetTag = require("./_baseGetTag"), isObjectLike = require("./isObjectLike"); -/** `Object#toString` result references. */var argsTag = "[object Arguments]"; -/** - * The base implementation of `_.isArguments`. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an `arguments` object, - */function baseIsArguments(value) { return isObjectLike(value) && baseGetTag(value) == argsTag } module.exports = baseIsArguments - }, { "./_baseGetTag": 91, "./isObjectLike": 252 }], 97: [function (require, module, exports) { - var baseIsEqualDeep = require("./_baseIsEqualDeep"), isObjectLike = require("./isObjectLike"); -/** - * The base implementation of `_.isEqual` which supports partial comparisons - * and tracks traversed objects. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @param {boolean} bitmask The bitmask flags. - * 1 - Unordered comparison - * 2 - Partial comparison - * @param {Function} [customizer] The function to customize comparisons. - * @param {Object} [stack] Tracks traversed `value` and `other` objects. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - */function baseIsEqual(value, other, bitmask, customizer, stack) { if (value === other) { return true } if (value == null || other == null || !isObjectLike(value) && !isObjectLike(other)) { return value !== value && other !== other } return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack) } module.exports = baseIsEqual - }, { "./_baseIsEqualDeep": 98, "./isObjectLike": 252 }], 98: [function (require, module, exports) { - var Stack = require("./_Stack"), equalArrays = require("./_equalArrays"), equalByTag = require("./_equalByTag"), equalObjects = require("./_equalObjects"), getTag = require("./_getTag"), isArray = require("./isArray"), isBuffer = require("./isBuffer"), isTypedArray = require("./isTypedArray"); -/** Used to compose bitmasks for value comparisons. */var COMPARE_PARTIAL_FLAG = 1; -/** `Object#toString` result references. */var argsTag = "[object Arguments]", arrayTag = "[object Array]", objectTag = "[object Object]"; -/** Used for built-in method references. */var objectProto = Object.prototype; -/** Used to check objects for own properties. */var hasOwnProperty = objectProto.hasOwnProperty; -/** - * A specialized version of `baseIsEqual` for arrays and objects which performs - * deep comparisons and tracks traversed objects enabling objects with circular - * references to be compared. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} [stack] Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { var objIsArr = isArray(object), othIsArr = isArray(other), objTag = objIsArr ? arrayTag : getTag(object), othTag = othIsArr ? arrayTag : getTag(other); objTag = objTag == argsTag ? objectTag : objTag; othTag = othTag == argsTag ? objectTag : othTag; var objIsObj = objTag == objectTag, othIsObj = othTag == objectTag, isSameTag = objTag == othTag; if (isSameTag && isBuffer(object)) { if (!isBuffer(other)) { return false } objIsArr = true; objIsObj = false } if (isSameTag && !objIsObj) { stack || (stack = new Stack); return objIsArr || isTypedArray(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack) } if (!(bitmask & COMPARE_PARTIAL_FLAG)) { var objIsWrapped = objIsObj && hasOwnProperty.call(object, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty.call(other, "__wrapped__"); if (objIsWrapped || othIsWrapped) { var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other; stack || (stack = new Stack); return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack) } } if (!isSameTag) { return false } stack || (stack = new Stack); return equalObjects(object, other, bitmask, customizer, equalFunc, stack) } module.exports = baseIsEqualDeep - }, { "./_Stack": 59, "./_equalArrays": 154, "./_equalByTag": 155, "./_equalObjects": 156, "./_getTag": 168, "./isArray": 243, "./isBuffer": 246, "./isTypedArray": 257 }], 99: [function (require, module, exports) { - var getTag = require("./_getTag"), isObjectLike = require("./isObjectLike"); -/** `Object#toString` result references. */var mapTag = "[object Map]"; -/** - * The base implementation of `_.isMap` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a map, else `false`. - */function baseIsMap(value) { return isObjectLike(value) && getTag(value) == mapTag } module.exports = baseIsMap - }, { "./_getTag": 168, "./isObjectLike": 252 }], 100: [function (require, module, exports) { - var Stack = require("./_Stack"), baseIsEqual = require("./_baseIsEqual"); -/** Used to compose bitmasks for value comparisons. */var COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2; -/** - * The base implementation of `_.isMatch` without support for iteratee shorthands. - * - * @private - * @param {Object} object The object to inspect. - * @param {Object} source The object of property values to match. - * @param {Array} matchData The property names, values, and compare flags to match. - * @param {Function} [customizer] The function to customize comparisons. - * @returns {boolean} Returns `true` if `object` is a match, else `false`. - */function baseIsMatch(object, source, matchData, customizer) { var index = matchData.length, length = index, noCustomizer = !customizer; if (object == null) { return !length } object = Object(object); while (index--) { var data = matchData[index]; if (noCustomizer && data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) { return false } } while (++index < length) { data = matchData[index]; var key = data[0], objValue = object[key], srcValue = data[1]; if (noCustomizer && data[2]) { if (objValue === undefined && !(key in object)) { return false } } else { var stack = new Stack; if (customizer) { var result = customizer(objValue, srcValue, key, object, source, stack) } if (!(result === undefined ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) : result)) { return false } } } return true } module.exports = baseIsMatch - }, { "./_Stack": 59, "./_baseIsEqual": 97 }], 101: [function (require, module, exports) { - /** - * The base implementation of `_.isNaN` without support for number objects. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. - */ - function baseIsNaN(value) { return value !== value } module.exports = baseIsNaN - }, {}], 102: [function (require, module, exports) { - var isFunction = require("./isFunction"), isMasked = require("./_isMasked"), isObject = require("./isObject"), toSource = require("./_toSource"); -/** - * Used to match `RegExp` - * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). - */var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; -/** Used to detect host constructors (Safari). */var reIsHostCtor = /^\[object .+?Constructor\]$/; -/** Used for built-in method references. */var funcProto = Function.prototype, objectProto = Object.prototype; -/** Used to resolve the decompiled source of functions. */var funcToString = funcProto.toString; -/** Used to check objects for own properties. */var hasOwnProperty = objectProto.hasOwnProperty; -/** Used to detect if a method is native. */var reIsNative = RegExp("^" + funcToString.call(hasOwnProperty).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"); -/** - * The base implementation of `_.isNative` without bad shim checks. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a native function, - * else `false`. - */function baseIsNative(value) { if (!isObject(value) || isMasked(value)) { return false } var pattern = isFunction(value) ? reIsNative : reIsHostCtor; return pattern.test(toSource(value)) } module.exports = baseIsNative - }, { "./_isMasked": 185, "./_toSource": 224, "./isFunction": 248, "./isObject": 251 }], 103: [function (require, module, exports) { - var getTag = require("./_getTag"), isObjectLike = require("./isObjectLike"); -/** `Object#toString` result references. */var setTag = "[object Set]"; -/** - * The base implementation of `_.isSet` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a set, else `false`. - */function baseIsSet(value) { return isObjectLike(value) && getTag(value) == setTag } module.exports = baseIsSet - }, { "./_getTag": 168, "./isObjectLike": 252 }], 104: [function (require, module, exports) { - var baseGetTag = require("./_baseGetTag"), isLength = require("./isLength"), isObjectLike = require("./isObjectLike"); -/** `Object#toString` result references. */var argsTag = "[object Arguments]", arrayTag = "[object Array]", boolTag = "[object Boolean]", dateTag = "[object Date]", errorTag = "[object Error]", funcTag = "[object Function]", mapTag = "[object Map]", numberTag = "[object Number]", objectTag = "[object Object]", regexpTag = "[object RegExp]", setTag = "[object Set]", stringTag = "[object String]", weakMapTag = "[object WeakMap]"; var arrayBufferTag = "[object ArrayBuffer]", dataViewTag = "[object DataView]", float32Tag = "[object Float32Array]", float64Tag = "[object Float64Array]", int8Tag = "[object Int8Array]", int16Tag = "[object Int16Array]", int32Tag = "[object Int32Array]", uint8Tag = "[object Uint8Array]", uint8ClampedTag = "[object Uint8ClampedArray]", uint16Tag = "[object Uint16Array]", uint32Tag = "[object Uint32Array]"; -/** Used to identify `toStringTag` values of typed arrays. */var typedArrayTags = {}; typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true; typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false; -/** - * The base implementation of `_.isTypedArray` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. - */function baseIsTypedArray(value) { return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)] } module.exports = baseIsTypedArray - }, { "./_baseGetTag": 91, "./isLength": 249, "./isObjectLike": 252 }], 105: [function (require, module, exports) { - var baseMatches = require("./_baseMatches"), baseMatchesProperty = require("./_baseMatchesProperty"), identity = require("./identity"), isArray = require("./isArray"), property = require("./property"); -/** - * The base implementation of `_.iteratee`. - * - * @private - * @param {*} [value=_.identity] The value to convert to an iteratee. - * @returns {Function} Returns the iteratee. - */function baseIteratee(value) { - // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. - // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. - if (typeof value == "function") { return value } if (value == null) { return identity } if (typeof value == "object") { return isArray(value) ? baseMatchesProperty(value[0], value[1]) : baseMatches(value) } return property(value) - } module.exports = baseIteratee - }, { "./_baseMatches": 110, "./_baseMatchesProperty": 111, "./identity": 241, "./isArray": 243, "./property": 272 }], 106: [function (require, module, exports) { - var isPrototype = require("./_isPrototype"), nativeKeys = require("./_nativeKeys"); -/** Used for built-in method references. */var objectProto = Object.prototype; -/** Used to check objects for own properties. */var hasOwnProperty = objectProto.hasOwnProperty; -/** - * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - */function baseKeys(object) { if (!isPrototype(object)) { return nativeKeys(object) } var result = []; for (var key in Object(object)) { if (hasOwnProperty.call(object, key) && key != "constructor") { result.push(key) } } return result } module.exports = baseKeys - }, { "./_isPrototype": 186, "./_nativeKeys": 202 }], 107: [function (require, module, exports) { - var isObject = require("./isObject"), isPrototype = require("./_isPrototype"), nativeKeysIn = require("./_nativeKeysIn"); -/** Used for built-in method references. */var objectProto = Object.prototype; -/** Used to check objects for own properties. */var hasOwnProperty = objectProto.hasOwnProperty; -/** - * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - */function baseKeysIn(object) { if (!isObject(object)) { return nativeKeysIn(object) } var isProto = isPrototype(object), result = []; for (var key in object) { if (!(key == "constructor" && (isProto || !hasOwnProperty.call(object, key)))) { result.push(key) } } return result } module.exports = baseKeysIn - }, { "./_isPrototype": 186, "./_nativeKeysIn": 203, "./isObject": 251 }], 108: [function (require, module, exports) { - /** - * The base implementation of `_.lt` which doesn't coerce arguments. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is less than `other`, - * else `false`. - */ - function baseLt(value, other) { return value < other } module.exports = baseLt - }, {}], 109: [function (require, module, exports) { - var baseEach = require("./_baseEach"), isArrayLike = require("./isArrayLike"); -/** - * The base implementation of `_.map` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the new mapped array. - */function baseMap(collection, iteratee) { var index = -1, result = isArrayLike(collection) ? Array(collection.length) : []; baseEach(collection, function (value, key, collection) { result[++index] = iteratee(value, key, collection) }); return result } module.exports = baseMap - }, { "./_baseEach": 82, "./isArrayLike": 244 }], 110: [function (require, module, exports) { - var baseIsMatch = require("./_baseIsMatch"), getMatchData = require("./_getMatchData"), matchesStrictComparable = require("./_matchesStrictComparable"); -/** - * The base implementation of `_.matches` which doesn't clone `source`. - * - * @private - * @param {Object} source The object of property values to match. - * @returns {Function} Returns the new spec function. - */function baseMatches(source) { var matchData = getMatchData(source); if (matchData.length == 1 && matchData[0][2]) { return matchesStrictComparable(matchData[0][0], matchData[0][1]) } return function (object) { return object === source || baseIsMatch(object, source, matchData) } } module.exports = baseMatches - }, { "./_baseIsMatch": 100, "./_getMatchData": 162, "./_matchesStrictComparable": 199 }], 111: [function (require, module, exports) { - var baseIsEqual = require("./_baseIsEqual"), get = require("./get"), hasIn = require("./hasIn"), isKey = require("./_isKey"), isStrictComparable = require("./_isStrictComparable"), matchesStrictComparable = require("./_matchesStrictComparable"), toKey = require("./_toKey"); -/** Used to compose bitmasks for value comparisons. */var COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2; -/** - * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. - * - * @private - * @param {string} path The path of the property to get. - * @param {*} srcValue The value to match. - * @returns {Function} Returns the new spec function. - */function baseMatchesProperty(path, srcValue) { if (isKey(path) && isStrictComparable(srcValue)) { return matchesStrictComparable(toKey(path), srcValue) } return function (object) { var objValue = get(object, path); return objValue === undefined && objValue === srcValue ? hasIn(object, path) : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG) } } module.exports = baseMatchesProperty - }, { "./_baseIsEqual": 97, "./_isKey": 183, "./_isStrictComparable": 187, "./_matchesStrictComparable": 199, "./_toKey": 223, "./get": 238, "./hasIn": 240 }], 112: [function (require, module, exports) { - var Stack = require("./_Stack"), assignMergeValue = require("./_assignMergeValue"), baseFor = require("./_baseFor"), baseMergeDeep = require("./_baseMergeDeep"), isObject = require("./isObject"), keysIn = require("./keysIn"), safeGet = require("./_safeGet"); -/** - * The base implementation of `_.merge` without support for multiple sources. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @param {number} srcIndex The index of `source`. - * @param {Function} [customizer] The function to customize merged values. - * @param {Object} [stack] Tracks traversed source values and their merged - * counterparts. - */function baseMerge(object, source, srcIndex, customizer, stack) { if (object === source) { return } baseFor(source, function (srcValue, key) { stack || (stack = new Stack); if (isObject(srcValue)) { baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack) } else { var newValue = customizer ? customizer(safeGet(object, key), srcValue, key + "", object, source, stack) : undefined; if (newValue === undefined) { newValue = srcValue } assignMergeValue(object, key, newValue) } }, keysIn) } module.exports = baseMerge - }, { "./_Stack": 59, "./_assignMergeValue": 74, "./_baseFor": 87, "./_baseMergeDeep": 113, "./_safeGet": 209, "./isObject": 251, "./keysIn": 260 }], 113: [function (require, module, exports) { - var assignMergeValue = require("./_assignMergeValue"), cloneBuffer = require("./_cloneBuffer"), cloneTypedArray = require("./_cloneTypedArray"), copyArray = require("./_copyArray"), initCloneObject = require("./_initCloneObject"), isArguments = require("./isArguments"), isArray = require("./isArray"), isArrayLikeObject = require("./isArrayLikeObject"), isBuffer = require("./isBuffer"), isFunction = require("./isFunction"), isObject = require("./isObject"), isPlainObject = require("./isPlainObject"), isTypedArray = require("./isTypedArray"), safeGet = require("./_safeGet"), toPlainObject = require("./toPlainObject"); -/** - * A specialized version of `baseMerge` for arrays and objects which performs - * deep merges and tracks traversed objects enabling objects with circular - * references to be merged. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @param {string} key The key of the value to merge. - * @param {number} srcIndex The index of `source`. - * @param {Function} mergeFunc The function to merge values. - * @param {Function} [customizer] The function to customize assigned values. - * @param {Object} [stack] Tracks traversed source values and their merged - * counterparts. - */function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) { - var objValue = safeGet(object, key), srcValue = safeGet(source, key), stacked = stack.get(srcValue); if (stacked) { assignMergeValue(object, key, stacked); return } var newValue = customizer ? customizer(objValue, srcValue, key + "", object, source, stack) : undefined; var isCommon = newValue === undefined; if (isCommon) { var isArr = isArray(srcValue), isBuff = !isArr && isBuffer(srcValue), isTyped = !isArr && !isBuff && isTypedArray(srcValue); newValue = srcValue; if (isArr || isBuff || isTyped) { if (isArray(objValue)) { newValue = objValue } else if (isArrayLikeObject(objValue)) { newValue = copyArray(objValue) } else if (isBuff) { isCommon = false; newValue = cloneBuffer(srcValue, true) } else if (isTyped) { isCommon = false; newValue = cloneTypedArray(srcValue, true) } else { newValue = [] } } else if (isPlainObject(srcValue) || isArguments(srcValue)) { newValue = objValue; if (isArguments(objValue)) { newValue = toPlainObject(objValue) } else if (!isObject(objValue) || isFunction(objValue)) { newValue = initCloneObject(srcValue) } } else { isCommon = false } } if (isCommon) { - // Recursively merge objects and arrays (susceptible to call stack limits). - stack.set(srcValue, newValue); mergeFunc(newValue, srcValue, srcIndex, customizer, stack); stack["delete"](srcValue) - } assignMergeValue(object, key, newValue) - } module.exports = baseMergeDeep - }, { "./_assignMergeValue": 74, "./_cloneBuffer": 135, "./_cloneTypedArray": 139, "./_copyArray": 142, "./_initCloneObject": 179, "./_safeGet": 209, "./isArguments": 242, "./isArray": 243, "./isArrayLikeObject": 245, "./isBuffer": 246, "./isFunction": 248, "./isObject": 251, "./isPlainObject": 253, "./isTypedArray": 257, "./toPlainObject": 282 }], 114: [function (require, module, exports) { - var arrayMap = require("./_arrayMap"), baseIteratee = require("./_baseIteratee"), baseMap = require("./_baseMap"), baseSortBy = require("./_baseSortBy"), baseUnary = require("./_baseUnary"), compareMultiple = require("./_compareMultiple"), identity = require("./identity"); -/** - * The base implementation of `_.orderBy` without param guards. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by. - * @param {string[]} orders The sort orders of `iteratees`. - * @returns {Array} Returns the new sorted array. - */function baseOrderBy(collection, iteratees, orders) { var index = -1; iteratees = arrayMap(iteratees.length ? iteratees : [identity], baseUnary(baseIteratee)); var result = baseMap(collection, function (value, key, collection) { var criteria = arrayMap(iteratees, function (iteratee) { return iteratee(value) }); return { criteria: criteria, index: ++index, value: value } }); return baseSortBy(result, function (object, other) { return compareMultiple(object, other, orders) }) } module.exports = baseOrderBy - }, { "./_arrayMap": 69, "./_baseIteratee": 105, "./_baseMap": 109, "./_baseSortBy": 124, "./_baseUnary": 127, "./_compareMultiple": 141, "./identity": 241 }], 115: [function (require, module, exports) { - var basePickBy = require("./_basePickBy"), hasIn = require("./hasIn"); -/** - * The base implementation of `_.pick` without support for individual - * property identifiers. - * - * @private - * @param {Object} object The source object. - * @param {string[]} paths The property paths to pick. - * @returns {Object} Returns the new object. - */function basePick(object, paths) { return basePickBy(object, paths, function (value, path) { return hasIn(object, path) }) } module.exports = basePick - }, { "./_basePickBy": 116, "./hasIn": 240 }], 116: [function (require, module, exports) { - var baseGet = require("./_baseGet"), baseSet = require("./_baseSet"), castPath = require("./_castPath"); -/** - * The base implementation of `_.pickBy` without support for iteratee shorthands. - * - * @private - * @param {Object} object The source object. - * @param {string[]} paths The property paths to pick. - * @param {Function} predicate The function invoked per property. - * @returns {Object} Returns the new object. - */function basePickBy(object, paths, predicate) { var index = -1, length = paths.length, result = {}; while (++index < length) { var path = paths[index], value = baseGet(object, path); if (predicate(value, path)) { baseSet(result, castPath(path, object), value) } } return result } module.exports = basePickBy - }, { "./_baseGet": 89, "./_baseSet": 122, "./_castPath": 133 }], 117: [function (require, module, exports) { - /** - * The base implementation of `_.property` without support for deep paths. - * - * @private - * @param {string} key The key of the property to get. - * @returns {Function} Returns the new accessor function. - */ - function baseProperty(key) { return function (object) { return object == null ? undefined : object[key] } } module.exports = baseProperty - }, {}], 118: [function (require, module, exports) { - var baseGet = require("./_baseGet"); -/** - * A specialized version of `baseProperty` which supports deep paths. - * - * @private - * @param {Array|string} path The path of the property to get. - * @returns {Function} Returns the new accessor function. - */function basePropertyDeep(path) { return function (object) { return baseGet(object, path) } } module.exports = basePropertyDeep - }, { "./_baseGet": 89 }], 119: [function (require, module, exports) { - /* Built-in method references for those with the same name as other `lodash` methods. */ - var nativeCeil = Math.ceil, nativeMax = Math.max; -/** - * The base implementation of `_.range` and `_.rangeRight` which doesn't - * coerce arguments. - * - * @private - * @param {number} start The start of the range. - * @param {number} end The end of the range. - * @param {number} step The value to increment or decrement by. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Array} Returns the range of numbers. - */function baseRange(start, end, step, fromRight) { var index = -1, length = nativeMax(nativeCeil((end - start) / (step || 1)), 0), result = Array(length); while (length--) { result[fromRight ? length : ++index] = start; start += step } return result } module.exports = baseRange - }, {}], 120: [function (require, module, exports) { - /** - * The base implementation of `_.reduce` and `_.reduceRight`, without support - * for iteratee shorthands, which iterates over `collection` using `eachFunc`. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {*} accumulator The initial value. - * @param {boolean} initAccum Specify using the first or last element of - * `collection` as the initial value. - * @param {Function} eachFunc The function to iterate over `collection`. - * @returns {*} Returns the accumulated value. - */ - function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) { eachFunc(collection, function (value, index, collection) { accumulator = initAccum ? (initAccum = false, value) : iteratee(accumulator, value, index, collection) }); return accumulator } module.exports = baseReduce - }, {}], 121: [function (require, module, exports) { - var identity = require("./identity"), overRest = require("./_overRest"), setToString = require("./_setToString"); -/** - * The base implementation of `_.rest` which doesn't validate or coerce arguments. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @returns {Function} Returns the new function. - */function baseRest(func, start) { return setToString(overRest(func, start, identity), func + "") } module.exports = baseRest - }, { "./_overRest": 207, "./_setToString": 213, "./identity": 241 }], 122: [function (require, module, exports) { - var assignValue = require("./_assignValue"), castPath = require("./_castPath"), isIndex = require("./_isIndex"), isObject = require("./isObject"), toKey = require("./_toKey"); -/** - * The base implementation of `_.set`. - * - * @private - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to set. - * @param {*} value The value to set. - * @param {Function} [customizer] The function to customize path creation. - * @returns {Object} Returns `object`. - */function baseSet(object, path, value, customizer) { if (!isObject(object)) { return object } path = castPath(path, object); var index = -1, length = path.length, lastIndex = length - 1, nested = object; while (nested != null && ++index < length) { var key = toKey(path[index]), newValue = value; if (index != lastIndex) { var objValue = nested[key]; newValue = customizer ? customizer(objValue, key, nested) : undefined; if (newValue === undefined) { newValue = isObject(objValue) ? objValue : isIndex(path[index + 1]) ? [] : {} } } assignValue(nested, key, newValue); nested = nested[key] } return object } module.exports = baseSet - }, { "./_assignValue": 75, "./_castPath": 133, "./_isIndex": 181, "./_toKey": 223, "./isObject": 251 }], 123: [function (require, module, exports) { - var constant = require("./constant"), defineProperty = require("./_defineProperty"), identity = require("./identity"); -/** - * The base implementation of `setToString` without support for hot loop shorting. - * - * @private - * @param {Function} func The function to modify. - * @param {Function} string The `toString` result. - * @returns {Function} Returns `func`. - */var baseSetToString = !defineProperty ? identity : function (func, string) { return defineProperty(func, "toString", { configurable: true, enumerable: false, value: constant(string), writable: true }) }; module.exports = baseSetToString - }, { "./_defineProperty": 153, "./constant": 228, "./identity": 241 }], 124: [function (require, module, exports) { - /** - * The base implementation of `_.sortBy` which uses `comparer` to define the - * sort order of `array` and replaces criteria objects with their corresponding - * values. - * - * @private - * @param {Array} array The array to sort. - * @param {Function} comparer The function to define sort order. - * @returns {Array} Returns `array`. - */ - function baseSortBy(array, comparer) { var length = array.length; array.sort(comparer); while (length--) { array[length] = array[length].value } return array } module.exports = baseSortBy - }, {}], 125: [function (require, module, exports) { - /** - * The base implementation of `_.times` without support for iteratee shorthands - * or max array length checks. - * - * @private - * @param {number} n The number of times to invoke `iteratee`. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the array of results. - */ - function baseTimes(n, iteratee) { var index = -1, result = Array(n); while (++index < n) { result[index] = iteratee(index) } return result } module.exports = baseTimes - }, {}], 126: [function (require, module, exports) { - var Symbol = require("./_Symbol"), arrayMap = require("./_arrayMap"), isArray = require("./isArray"), isSymbol = require("./isSymbol"); -/** Used as references for various `Number` constants. */var INFINITY = 1 / 0; -/** Used to convert symbols to primitives and strings. */var symbolProto = Symbol ? Symbol.prototype : undefined, symbolToString = symbolProto ? symbolProto.toString : undefined; -/** - * The base implementation of `_.toString` which doesn't convert nullish - * values to empty strings. - * - * @private - * @param {*} value The value to process. - * @returns {string} Returns the string. - */function baseToString(value) { - // Exit early for strings to avoid a performance hit in some environments. - if (typeof value == "string") { return value } if (isArray(value)) { - // Recursively convert values (susceptible to call stack limits). - return arrayMap(value, baseToString) + "" - } if (isSymbol(value)) { return symbolToString ? symbolToString.call(value) : "" } var result = value + ""; return result == "0" && 1 / value == -INFINITY ? "-0" : result - } module.exports = baseToString - }, { "./_Symbol": 60, "./_arrayMap": 69, "./isArray": 243, "./isSymbol": 256 }], 127: [function (require, module, exports) { - /** - * The base implementation of `_.unary` without support for storing metadata. - * - * @private - * @param {Function} func The function to cap arguments for. - * @returns {Function} Returns the new capped function. - */ - function baseUnary(func) { return function (value) { return func(value) } } module.exports = baseUnary - }, {}], 128: [function (require, module, exports) { - var SetCache = require("./_SetCache"), arrayIncludes = require("./_arrayIncludes"), arrayIncludesWith = require("./_arrayIncludesWith"), cacheHas = require("./_cacheHas"), createSet = require("./_createSet"), setToArray = require("./_setToArray"); -/** Used as the size to enable large array optimizations. */var LARGE_ARRAY_SIZE = 200; -/** - * The base implementation of `_.uniqBy` without support for iteratee shorthands. - * - * @private - * @param {Array} array The array to inspect. - * @param {Function} [iteratee] The iteratee invoked per element. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new duplicate free array. - */function baseUniq(array, iteratee, comparator) { var index = -1, includes = arrayIncludes, length = array.length, isCommon = true, result = [], seen = result; if (comparator) { isCommon = false; includes = arrayIncludesWith } else if (length >= LARGE_ARRAY_SIZE) { var set = iteratee ? null : createSet(array); if (set) { return setToArray(set) } isCommon = false; includes = cacheHas; seen = new SetCache } else { seen = iteratee ? [] : result } outer: while (++index < length) { var value = array[index], computed = iteratee ? iteratee(value) : value; value = comparator || value !== 0 ? value : 0; if (isCommon && computed === computed) { var seenIndex = seen.length; while (seenIndex--) { if (seen[seenIndex] === computed) { continue outer } } if (iteratee) { seen.push(computed) } result.push(value) } else if (!includes(seen, computed, comparator)) { if (seen !== result) { seen.push(computed) } result.push(value) } } return result } module.exports = baseUniq - }, { "./_SetCache": 58, "./_arrayIncludes": 66, "./_arrayIncludesWith": 67, "./_cacheHas": 131, "./_createSet": 152, "./_setToArray": 212 }], 129: [function (require, module, exports) { - var arrayMap = require("./_arrayMap"); -/** - * The base implementation of `_.values` and `_.valuesIn` which creates an - * array of `object` property values corresponding to the property names - * of `props`. - * - * @private - * @param {Object} object The object to query. - * @param {Array} props The property names to get values for. - * @returns {Object} Returns the array of property values. - */function baseValues(object, props) { return arrayMap(props, function (key) { return object[key] }) } module.exports = baseValues - }, { "./_arrayMap": 69 }], 130: [function (require, module, exports) { - /** - * This base implementation of `_.zipObject` which assigns values using `assignFunc`. - * - * @private - * @param {Array} props The property identifiers. - * @param {Array} values The property values. - * @param {Function} assignFunc The function to assign values. - * @returns {Object} Returns the new object. - */ - function baseZipObject(props, values, assignFunc) { var index = -1, length = props.length, valsLength = values.length, result = {}; while (++index < length) { var value = index < valsLength ? values[index] : undefined; assignFunc(result, props[index], value) } return result } module.exports = baseZipObject - }, {}], 131: [function (require, module, exports) { - /** - * Checks if a `cache` value for `key` exists. - * - * @private - * @param {Object} cache The cache to query. - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - function cacheHas(cache, key) { return cache.has(key) } module.exports = cacheHas - }, {}], 132: [function (require, module, exports) { - var identity = require("./identity"); -/** - * Casts `value` to `identity` if it's not a function. - * - * @private - * @param {*} value The value to inspect. - * @returns {Function} Returns cast function. - */function castFunction(value) { return typeof value == "function" ? value : identity } module.exports = castFunction - }, { "./identity": 241 }], 133: [function (require, module, exports) { - var isArray = require("./isArray"), isKey = require("./_isKey"), stringToPath = require("./_stringToPath"), toString = require("./toString"); -/** - * Casts `value` to a path array if it's not one. - * - * @private - * @param {*} value The value to inspect. - * @param {Object} [object] The object to query keys on. - * @returns {Array} Returns the cast property path array. - */function castPath(value, object) { if (isArray(value)) { return value } return isKey(value, object) ? [value] : stringToPath(toString(value)) } module.exports = castPath - }, { "./_isKey": 183, "./_stringToPath": 222, "./isArray": 243, "./toString": 283 }], 134: [function (require, module, exports) { - var Uint8Array = require("./_Uint8Array"); -/** - * Creates a clone of `arrayBuffer`. - * - * @private - * @param {ArrayBuffer} arrayBuffer The array buffer to clone. - * @returns {ArrayBuffer} Returns the cloned array buffer. - */function cloneArrayBuffer(arrayBuffer) { var result = new arrayBuffer.constructor(arrayBuffer.byteLength); new Uint8Array(result).set(new Uint8Array(arrayBuffer)); return result } module.exports = cloneArrayBuffer - }, { "./_Uint8Array": 61 }], 135: [function (require, module, exports) { - var root = require("./_root"); -/** Detect free variable `exports`. */var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports; -/** Detect free variable `module`. */var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module; -/** Detect the popular CommonJS extension `module.exports`. */var moduleExports = freeModule && freeModule.exports === freeExports; -/** Built-in value references. */var Buffer = moduleExports ? root.Buffer : undefined, allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined; -/** - * Creates a clone of `buffer`. - * - * @private - * @param {Buffer} buffer The buffer to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Buffer} Returns the cloned buffer. - */function cloneBuffer(buffer, isDeep) { if (isDeep) { return buffer.slice() } var length = buffer.length, result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); buffer.copy(result); return result } module.exports = cloneBuffer - }, { "./_root": 208 }], 136: [function (require, module, exports) { - var cloneArrayBuffer = require("./_cloneArrayBuffer"); -/** - * Creates a clone of `dataView`. - * - * @private - * @param {Object} dataView The data view to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the cloned data view. - */function cloneDataView(dataView, isDeep) { var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer; return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength) } module.exports = cloneDataView - }, { "./_cloneArrayBuffer": 134 }], 137: [function (require, module, exports) { - /** Used to match `RegExp` flags from their coerced string values. */ - var reFlags = /\w*$/; -/** - * Creates a clone of `regexp`. - * - * @private - * @param {Object} regexp The regexp to clone. - * @returns {Object} Returns the cloned regexp. - */function cloneRegExp(regexp) { var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); result.lastIndex = regexp.lastIndex; return result } module.exports = cloneRegExp - }, {}], 138: [function (require, module, exports) { - var Symbol = require("./_Symbol"); -/** Used to convert symbols to primitives and strings. */var symbolProto = Symbol ? Symbol.prototype : undefined, symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; -/** - * Creates a clone of the `symbol` object. - * - * @private - * @param {Object} symbol The symbol object to clone. - * @returns {Object} Returns the cloned symbol object. - */function cloneSymbol(symbol) { return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {} } module.exports = cloneSymbol - }, { "./_Symbol": 60 }], 139: [function (require, module, exports) { - var cloneArrayBuffer = require("./_cloneArrayBuffer"); -/** - * Creates a clone of `typedArray`. - * - * @private - * @param {Object} typedArray The typed array to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the cloned typed array. - */function cloneTypedArray(typedArray, isDeep) { var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length) } module.exports = cloneTypedArray - }, { "./_cloneArrayBuffer": 134 }], 140: [function (require, module, exports) { - var isSymbol = require("./isSymbol"); -/** - * Compares values to sort them in ascending order. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {number} Returns the sort order indicator for `value`. - */function compareAscending(value, other) { if (value !== other) { var valIsDefined = value !== undefined, valIsNull = value === null, valIsReflexive = value === value, valIsSymbol = isSymbol(value); var othIsDefined = other !== undefined, othIsNull = other === null, othIsReflexive = other === other, othIsSymbol = isSymbol(other); if (!othIsNull && !othIsSymbol && !valIsSymbol && value > other || valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol || valIsNull && othIsDefined && othIsReflexive || !valIsDefined && othIsReflexive || !valIsReflexive) { return 1 } if (!valIsNull && !valIsSymbol && !othIsSymbol && value < other || othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol || othIsNull && valIsDefined && valIsReflexive || !othIsDefined && valIsReflexive || !othIsReflexive) { return -1 } } return 0 } module.exports = compareAscending - }, { "./isSymbol": 256 }], 141: [function (require, module, exports) { - var compareAscending = require("./_compareAscending"); -/** - * Used by `_.orderBy` to compare multiple properties of a value to another - * and stable sort them. - * - * If `orders` is unspecified, all values are sorted in ascending order. Otherwise, - * specify an order of "desc" for descending or "asc" for ascending sort order - * of corresponding values. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {boolean[]|string[]} orders The order to sort by for each property. - * @returns {number} Returns the sort order indicator for `object`. - */function compareMultiple(object, other, orders) { - var index = -1, objCriteria = object.criteria, othCriteria = other.criteria, length = objCriteria.length, ordersLength = orders.length; while (++index < length) { var result = compareAscending(objCriteria[index], othCriteria[index]); if (result) { if (index >= ordersLength) { return result } var order = orders[index]; return result * (order == "desc" ? -1 : 1) } } - // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications - // that causes it, under certain circumstances, to provide the same value for - // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247 - // for more details. - // - // This also ensures a stable sort in V8 and other engines. - // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details. - return object.index - other.index - } module.exports = compareMultiple - }, { "./_compareAscending": 140 }], 142: [function (require, module, exports) { - /** - * Copies the values of `source` to `array`. - * - * @private - * @param {Array} source The array to copy values from. - * @param {Array} [array=[]] The array to copy values to. - * @returns {Array} Returns `array`. - */ - function copyArray(source, array) { var index = -1, length = source.length; array || (array = Array(length)); while (++index < length) { array[index] = source[index] } return array } module.exports = copyArray - }, {}], 143: [function (require, module, exports) { - var assignValue = require("./_assignValue"), baseAssignValue = require("./_baseAssignValue"); -/** - * Copies properties of `source` to `object`. - * - * @private - * @param {Object} source The object to copy properties from. - * @param {Array} props The property identifiers to copy. - * @param {Object} [object={}] The object to copy properties to. - * @param {Function} [customizer] The function to customize copied values. - * @returns {Object} Returns `object`. - */function copyObject(source, props, object, customizer) { var isNew = !object; object || (object = {}); var index = -1, length = props.length; while (++index < length) { var key = props[index]; var newValue = customizer ? customizer(object[key], source[key], key, object, source) : undefined; if (newValue === undefined) { newValue = source[key] } if (isNew) { baseAssignValue(object, key, newValue) } else { assignValue(object, key, newValue) } } return object } module.exports = copyObject - }, { "./_assignValue": 75, "./_baseAssignValue": 79 }], 144: [function (require, module, exports) { - var copyObject = require("./_copyObject"), getSymbols = require("./_getSymbols"); -/** - * Copies own symbols of `source` to `object`. - * - * @private - * @param {Object} source The object to copy symbols from. - * @param {Object} [object={}] The object to copy symbols to. - * @returns {Object} Returns `object`. - */function copySymbols(source, object) { return copyObject(source, getSymbols(source), object) } module.exports = copySymbols - }, { "./_copyObject": 143, "./_getSymbols": 166 }], 145: [function (require, module, exports) { - var copyObject = require("./_copyObject"), getSymbolsIn = require("./_getSymbolsIn"); -/** - * Copies own and inherited symbols of `source` to `object`. - * - * @private - * @param {Object} source The object to copy symbols from. - * @param {Object} [object={}] The object to copy symbols to. - * @returns {Object} Returns `object`. - */function copySymbolsIn(source, object) { return copyObject(source, getSymbolsIn(source), object) } module.exports = copySymbolsIn - }, { "./_copyObject": 143, "./_getSymbolsIn": 167 }], 146: [function (require, module, exports) { - var root = require("./_root"); -/** Used to detect overreaching core-js shims. */var coreJsData = root["__core-js_shared__"]; module.exports = coreJsData - }, { "./_root": 208 }], 147: [function (require, module, exports) { - var baseRest = require("./_baseRest"), isIterateeCall = require("./_isIterateeCall"); -/** - * Creates a function like `_.assign`. - * - * @private - * @param {Function} assigner The function to assign values. - * @returns {Function} Returns the new assigner function. - */function createAssigner(assigner) { return baseRest(function (object, sources) { var index = -1, length = sources.length, customizer = length > 1 ? sources[length - 1] : undefined, guard = length > 2 ? sources[2] : undefined; customizer = assigner.length > 3 && typeof customizer == "function" ? (length--, customizer) : undefined; if (guard && isIterateeCall(sources[0], sources[1], guard)) { customizer = length < 3 ? undefined : customizer; length = 1 } object = Object(object); while (++index < length) { var source = sources[index]; if (source) { assigner(object, source, index, customizer) } } return object }) } module.exports = createAssigner - }, { "./_baseRest": 121, "./_isIterateeCall": 182 }], 148: [function (require, module, exports) { - var isArrayLike = require("./isArrayLike"); -/** - * Creates a `baseEach` or `baseEachRight` function. - * - * @private - * @param {Function} eachFunc The function to iterate over a collection. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new base function. - */function createBaseEach(eachFunc, fromRight) { return function (collection, iteratee) { if (collection == null) { return collection } if (!isArrayLike(collection)) { return eachFunc(collection, iteratee) } var length = collection.length, index = fromRight ? length : -1, iterable = Object(collection); while (fromRight ? index-- : ++index < length) { if (iteratee(iterable[index], index, iterable) === false) { break } } return collection } } module.exports = createBaseEach - }, { "./isArrayLike": 244 }], 149: [function (require, module, exports) { - /** - * Creates a base function for methods like `_.forIn` and `_.forOwn`. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new base function. - */ - function createBaseFor(fromRight) { return function (object, iteratee, keysFunc) { var index = -1, iterable = Object(object), props = keysFunc(object), length = props.length; while (length--) { var key = props[fromRight ? length : ++index]; if (iteratee(iterable[key], key, iterable) === false) { break } } return object } } module.exports = createBaseFor - }, {}], 150: [function (require, module, exports) { - var baseIteratee = require("./_baseIteratee"), isArrayLike = require("./isArrayLike"), keys = require("./keys"); -/** - * Creates a `_.find` or `_.findLast` function. - * - * @private - * @param {Function} findIndexFunc The function to find the collection index. - * @returns {Function} Returns the new find function. - */function createFind(findIndexFunc) { return function (collection, predicate, fromIndex) { var iterable = Object(collection); if (!isArrayLike(collection)) { var iteratee = baseIteratee(predicate, 3); collection = keys(collection); predicate = function (key) { return iteratee(iterable[key], key, iterable) } } var index = findIndexFunc(collection, predicate, fromIndex); return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined } } module.exports = createFind - }, { "./_baseIteratee": 105, "./isArrayLike": 244, "./keys": 259 }], 151: [function (require, module, exports) { - var baseRange = require("./_baseRange"), isIterateeCall = require("./_isIterateeCall"), toFinite = require("./toFinite"); -/** - * Creates a `_.range` or `_.rangeRight` function. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new range function. - */function createRange(fromRight) { - return function (start, end, step) { - if (step && typeof step != "number" && isIterateeCall(start, end, step)) { end = step = undefined } - // Ensure the sign of `-0` is preserved. - start = toFinite(start); if (end === undefined) { end = start; start = 0 } else { end = toFinite(end) } step = step === undefined ? start < end ? 1 : -1 : toFinite(step); return baseRange(start, end, step, fromRight) - } - } module.exports = createRange - }, { "./_baseRange": 119, "./_isIterateeCall": 182, "./toFinite": 279 }], 152: [function (require, module, exports) { - var Set = require("./_Set"), noop = require("./noop"), setToArray = require("./_setToArray"); -/** Used as references for various `Number` constants. */var INFINITY = 1 / 0; -/** - * Creates a set object of `values`. - * - * @private - * @param {Array} values The values to add to the set. - * @returns {Object} Returns the new set. - */var createSet = !(Set && 1 / setToArray(new Set([, -0]))[1] == INFINITY) ? noop : function (values) { return new Set(values) }; module.exports = createSet - }, { "./_Set": 57, "./_setToArray": 212, "./noop": 269 }], 153: [function (require, module, exports) { var getNative = require("./_getNative"); var defineProperty = function () { try { var func = getNative(Object, "defineProperty"); func({}, "", {}); return func } catch (e) { } }(); module.exports = defineProperty }, { "./_getNative": 163 }], 154: [function (require, module, exports) { - var SetCache = require("./_SetCache"), arraySome = require("./_arraySome"), cacheHas = require("./_cacheHas"); -/** Used to compose bitmasks for value comparisons. */var COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2; -/** - * A specialized version of `baseIsEqualDeep` for arrays with support for - * partial deep comparisons. - * - * @private - * @param {Array} array The array to compare. - * @param {Array} other The other array to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `array` and `other` objects. - * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. - */function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { - var isPartial = bitmask & COMPARE_PARTIAL_FLAG, arrLength = array.length, othLength = other.length; if (arrLength != othLength && !(isPartial && othLength > arrLength)) { return false } - // Assume cyclic values are equal. - var stacked = stack.get(array); if (stacked && stack.get(other)) { return stacked == other } var index = -1, result = true, seen = bitmask & COMPARE_UNORDERED_FLAG ? new SetCache : undefined; stack.set(array, other); stack.set(other, array); - // Ignore non-index properties. - while (++index < arrLength) { - var arrValue = array[index], othValue = other[index]; if (customizer) { var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack) } if (compared !== undefined) { if (compared) { continue } result = false; break } - // Recursively compare arrays (susceptible to call stack limits). - if (seen) { if (!arraySome(other, function (othValue, othIndex) { if (!cacheHas(seen, othIndex) && (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { return seen.push(othIndex) } })) { result = false; break } } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { result = false; break } - } stack["delete"](array); stack["delete"](other); return result - } module.exports = equalArrays - }, { "./_SetCache": 58, "./_arraySome": 72, "./_cacheHas": 131 }], 155: [function (require, module, exports) { - var Symbol = require("./_Symbol"), Uint8Array = require("./_Uint8Array"), eq = require("./eq"), equalArrays = require("./_equalArrays"), mapToArray = require("./_mapToArray"), setToArray = require("./_setToArray"); -/** Used to compose bitmasks for value comparisons. */var COMPARE_PARTIAL_FLAG = 1, COMPARE_UNORDERED_FLAG = 2; -/** `Object#toString` result references. */var boolTag = "[object Boolean]", dateTag = "[object Date]", errorTag = "[object Error]", mapTag = "[object Map]", numberTag = "[object Number]", regexpTag = "[object RegExp]", setTag = "[object Set]", stringTag = "[object String]", symbolTag = "[object Symbol]"; var arrayBufferTag = "[object ArrayBuffer]", dataViewTag = "[object DataView]"; -/** Used to convert symbols to primitives and strings. */var symbolProto = Symbol ? Symbol.prototype : undefined, symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; -/** - * A specialized version of `baseIsEqualDeep` for comparing objects of - * the same `toStringTag`. - * - * **Note:** This function only supports comparing values with tags of - * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {string} tag The `toStringTag` of the objects to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { - switch (tag) { - case dataViewTag: if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) { return false } object = object.buffer; other = other.buffer; case arrayBufferTag: if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array(object), new Uint8Array(other))) { return false } return true; case boolTag: case dateTag: case numberTag: - // Coerce booleans to `1` or `0` and dates to milliseconds. - // Invalid dates are coerced to `NaN`. - return eq(+object, +other); case errorTag: return object.name == other.name && object.message == other.message; case regexpTag: case stringTag: - // Coerce regexes to strings and treat strings, primitives and objects, - // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring - // for more details. - return object == other + ""; case mapTag: var convert = mapToArray; case setTag: var isPartial = bitmask & COMPARE_PARTIAL_FLAG; convert || (convert = setToArray); if (object.size != other.size && !isPartial) { return false } - // Assume cyclic values are equal. - var stacked = stack.get(object); if (stacked) { return stacked == other } bitmask |= COMPARE_UNORDERED_FLAG; - // Recursively compare objects (susceptible to call stack limits). - stack.set(object, other); var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); stack["delete"](object); return result; case symbolTag: if (symbolValueOf) { return symbolValueOf.call(object) == symbolValueOf.call(other) } - }return false - } module.exports = equalByTag - }, { "./_Symbol": 60, "./_Uint8Array": 61, "./_equalArrays": 154, "./_mapToArray": 198, "./_setToArray": 212, "./eq": 231 }], 156: [function (require, module, exports) { - var getAllKeys = require("./_getAllKeys"); -/** Used to compose bitmasks for value comparisons. */var COMPARE_PARTIAL_FLAG = 1; -/** Used for built-in method references. */var objectProto = Object.prototype; -/** Used to check objects for own properties. */var hasOwnProperty = objectProto.hasOwnProperty; -/** - * A specialized version of `baseIsEqualDeep` for objects with support for - * partial deep comparisons. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { - var isPartial = bitmask & COMPARE_PARTIAL_FLAG, objProps = getAllKeys(object), objLength = objProps.length, othProps = getAllKeys(other), othLength = othProps.length; if (objLength != othLength && !isPartial) { return false } var index = objLength; while (index--) { var key = objProps[index]; if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { return false } } - // Assume cyclic values are equal. - var stacked = stack.get(object); if (stacked && stack.get(other)) { return stacked == other } var result = true; stack.set(object, other); stack.set(other, object); var skipCtor = isPartial; while (++index < objLength) { - key = objProps[index]; var objValue = object[key], othValue = other[key]; if (customizer) { var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack) } - // Recursively compare objects (susceptible to call stack limits). - if (!(compared === undefined ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) { result = false; break } skipCtor || (skipCtor = key == "constructor") - } if (result && !skipCtor) { - var objCtor = object.constructor, othCtor = other.constructor; - // Non `Object` object instances with different constructors are not equal. - if (objCtor != othCtor && ("constructor" in object && "constructor" in other) && !(typeof objCtor == "function" && objCtor instanceof objCtor && typeof othCtor == "function" && othCtor instanceof othCtor)) { result = false } - } stack["delete"](object); stack["delete"](other); return result - } module.exports = equalObjects - }, { "./_getAllKeys": 159 }], 157: [function (require, module, exports) { - var flatten = require("./flatten"), overRest = require("./_overRest"), setToString = require("./_setToString"); -/** - * A specialized version of `baseRest` which flattens the rest array. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @returns {Function} Returns the new function. - */function flatRest(func) { return setToString(overRest(func, undefined, flatten), func + "") } module.exports = flatRest - }, { "./_overRest": 207, "./_setToString": 213, "./flatten": 235 }], 158: [function (require, module, exports) { - (function (global) { - /** Detect free variable `global` from Node.js. */ - var freeGlobal = typeof global == "object" && global && global.Object === Object && global; module.exports = freeGlobal - }).call(this, typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) - }, {}], 159: [function (require, module, exports) { - var baseGetAllKeys = require("./_baseGetAllKeys"), getSymbols = require("./_getSymbols"), keys = require("./keys"); -/** - * Creates an array of own enumerable property names and symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names and symbols. - */function getAllKeys(object) { return baseGetAllKeys(object, keys, getSymbols) } module.exports = getAllKeys - }, { "./_baseGetAllKeys": 90, "./_getSymbols": 166, "./keys": 259 }], 160: [function (require, module, exports) { - var baseGetAllKeys = require("./_baseGetAllKeys"), getSymbolsIn = require("./_getSymbolsIn"), keysIn = require("./keysIn"); -/** - * Creates an array of own and inherited enumerable property names and - * symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names and symbols. - */function getAllKeysIn(object) { return baseGetAllKeys(object, keysIn, getSymbolsIn) } module.exports = getAllKeysIn - }, { "./_baseGetAllKeys": 90, "./_getSymbolsIn": 167, "./keysIn": 260 }], 161: [function (require, module, exports) { - var isKeyable = require("./_isKeyable"); -/** - * Gets the data for `map`. - * - * @private - * @param {Object} map The map to query. - * @param {string} key The reference key. - * @returns {*} Returns the map data. - */function getMapData(map, key) { var data = map.__data__; return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map } module.exports = getMapData - }, { "./_isKeyable": 184 }], 162: [function (require, module, exports) { - var isStrictComparable = require("./_isStrictComparable"), keys = require("./keys"); -/** - * Gets the property names, values, and compare flags of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the match data of `object`. - */function getMatchData(object) { var result = keys(object), length = result.length; while (length--) { var key = result[length], value = object[key]; result[length] = [key, value, isStrictComparable(value)] } return result } module.exports = getMatchData - }, { "./_isStrictComparable": 187, "./keys": 259 }], 163: [function (require, module, exports) { - var baseIsNative = require("./_baseIsNative"), getValue = require("./_getValue"); -/** - * Gets the native function at `key` of `object`. - * - * @private - * @param {Object} object The object to query. - * @param {string} key The key of the method to get. - * @returns {*} Returns the function if it's native, else `undefined`. - */function getNative(object, key) { var value = getValue(object, key); return baseIsNative(value) ? value : undefined } module.exports = getNative - }, { "./_baseIsNative": 102, "./_getValue": 169 }], 164: [function (require, module, exports) { - var overArg = require("./_overArg"); -/** Built-in value references. */var getPrototype = overArg(Object.getPrototypeOf, Object); module.exports = getPrototype - }, { "./_overArg": 206 }], 165: [function (require, module, exports) { - var Symbol = require("./_Symbol"); -/** Used for built-in method references. */var objectProto = Object.prototype; -/** Used to check objects for own properties. */var hasOwnProperty = objectProto.hasOwnProperty; -/** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */var nativeObjectToString = objectProto.toString; -/** Built-in value references. */var symToStringTag = Symbol ? Symbol.toStringTag : undefined; -/** - * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the raw `toStringTag`. - */function getRawTag(value) { var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag]; try { value[symToStringTag] = undefined; var unmasked = true } catch (e) { } var result = nativeObjectToString.call(value); if (unmasked) { if (isOwn) { value[symToStringTag] = tag } else { delete value[symToStringTag] } } return result } module.exports = getRawTag - }, { "./_Symbol": 60 }], 166: [function (require, module, exports) { - var arrayFilter = require("./_arrayFilter"), stubArray = require("./stubArray"); -/** Used for built-in method references. */var objectProto = Object.prototype; -/** Built-in value references. */var propertyIsEnumerable = objectProto.propertyIsEnumerable; -/* Built-in method references for those with the same name as other `lodash` methods. */var nativeGetSymbols = Object.getOwnPropertySymbols; -/** - * Creates an array of the own enumerable symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of symbols. - */var getSymbols = !nativeGetSymbols ? stubArray : function (object) { if (object == null) { return [] } object = Object(object); return arrayFilter(nativeGetSymbols(object), function (symbol) { return propertyIsEnumerable.call(object, symbol) }) }; module.exports = getSymbols - }, { "./_arrayFilter": 65, "./stubArray": 277 }], 167: [function (require, module, exports) { - var arrayPush = require("./_arrayPush"), getPrototype = require("./_getPrototype"), getSymbols = require("./_getSymbols"), stubArray = require("./stubArray"); -/* Built-in method references for those with the same name as other `lodash` methods. */var nativeGetSymbols = Object.getOwnPropertySymbols; -/** - * Creates an array of the own and inherited enumerable symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of symbols. - */var getSymbolsIn = !nativeGetSymbols ? stubArray : function (object) { var result = []; while (object) { arrayPush(result, getSymbols(object)); object = getPrototype(object) } return result }; module.exports = getSymbolsIn - }, { "./_arrayPush": 70, "./_getPrototype": 164, "./_getSymbols": 166, "./stubArray": 277 }], 168: [function (require, module, exports) { - var DataView = require("./_DataView"), Map = require("./_Map"), Promise = require("./_Promise"), Set = require("./_Set"), WeakMap = require("./_WeakMap"), baseGetTag = require("./_baseGetTag"), toSource = require("./_toSource"); -/** `Object#toString` result references. */var mapTag = "[object Map]", objectTag = "[object Object]", promiseTag = "[object Promise]", setTag = "[object Set]", weakMapTag = "[object WeakMap]"; var dataViewTag = "[object DataView]"; -/** Used to detect maps, sets, and weakmaps. */var dataViewCtorString = toSource(DataView), mapCtorString = toSource(Map), promiseCtorString = toSource(Promise), setCtorString = toSource(Set), weakMapCtorString = toSource(WeakMap); -/** - * Gets the `toStringTag` of `value`. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the `toStringTag`. - */var getTag = baseGetTag; - // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. - if (DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag || Map && getTag(new Map) != mapTag || Promise && getTag(Promise.resolve()) != promiseTag || Set && getTag(new Set) != setTag || WeakMap && getTag(new WeakMap) != weakMapTag) { getTag = function (value) { var result = baseGetTag(value), Ctor = result == objectTag ? value.constructor : undefined, ctorString = Ctor ? toSource(Ctor) : ""; if (ctorString) { switch (ctorString) { case dataViewCtorString: return dataViewTag; case mapCtorString: return mapTag; case promiseCtorString: return promiseTag; case setCtorString: return setTag; case weakMapCtorString: return weakMapTag } } return result } } module.exports = getTag - }, { "./_DataView": 51, "./_Map": 54, "./_Promise": 56, "./_Set": 57, "./_WeakMap": 62, "./_baseGetTag": 91, "./_toSource": 224 }], 169: [function (require, module, exports) { - /** - * Gets the value at `key` of `object`. - * - * @private - * @param {Object} [object] The object to query. - * @param {string} key The key of the property to get. - * @returns {*} Returns the property value. - */ - function getValue(object, key) { return object == null ? undefined : object[key] } module.exports = getValue - }, {}], 170: [function (require, module, exports) { - var castPath = require("./_castPath"), isArguments = require("./isArguments"), isArray = require("./isArray"), isIndex = require("./_isIndex"), isLength = require("./isLength"), toKey = require("./_toKey"); -/** - * Checks if `path` exists on `object`. - * - * @private - * @param {Object} object The object to query. - * @param {Array|string} path The path to check. - * @param {Function} hasFunc The function to check properties. - * @returns {boolean} Returns `true` if `path` exists, else `false`. - */function hasPath(object, path, hasFunc) { path = castPath(path, object); var index = -1, length = path.length, result = false; while (++index < length) { var key = toKey(path[index]); if (!(result = object != null && hasFunc(object, key))) { break } object = object[key] } if (result || ++index != length) { return result } length = object == null ? 0 : object.length; return !!length && isLength(length) && isIndex(key, length) && (isArray(object) || isArguments(object)) } module.exports = hasPath - }, { "./_castPath": 133, "./_isIndex": 181, "./_toKey": 223, "./isArguments": 242, "./isArray": 243, "./isLength": 249 }], 171: [function (require, module, exports) { - /** Used to compose unicode character classes. */ - var rsAstralRange = "\\ud800-\\udfff", rsComboMarksRange = "\\u0300-\\u036f", reComboHalfMarksRange = "\\ufe20-\\ufe2f", rsComboSymbolsRange = "\\u20d0-\\u20ff", rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, rsVarRange = "\\ufe0e\\ufe0f"; -/** Used to compose unicode capture groups. */var rsZWJ = "\\u200d"; -/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */var reHasUnicode = RegExp("[" + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + "]"); -/** - * Checks if `string` contains Unicode symbols. - * - * @private - * @param {string} string The string to inspect. - * @returns {boolean} Returns `true` if a symbol is found, else `false`. - */function hasUnicode(string) { return reHasUnicode.test(string) } module.exports = hasUnicode - }, {}], 172: [function (require, module, exports) { - var nativeCreate = require("./_nativeCreate"); -/** - * Removes all key-value entries from the hash. - * - * @private - * @name clear - * @memberOf Hash - */function hashClear() { this.__data__ = nativeCreate ? nativeCreate(null) : {}; this.size = 0 } module.exports = hashClear - }, { "./_nativeCreate": 201 }], 173: [function (require, module, exports) { - /** - * Removes `key` and its value from the hash. - * - * @private - * @name delete - * @memberOf Hash - * @param {Object} hash The hash to modify. - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ - function hashDelete(key) { var result = this.has(key) && delete this.__data__[key]; this.size -= result ? 1 : 0; return result } module.exports = hashDelete - }, {}], 174: [function (require, module, exports) { - var nativeCreate = require("./_nativeCreate"); -/** Used to stand-in for `undefined` hash values. */var HASH_UNDEFINED = "__lodash_hash_undefined__"; -/** Used for built-in method references. */var objectProto = Object.prototype; -/** Used to check objects for own properties. */var hasOwnProperty = objectProto.hasOwnProperty; -/** - * Gets the hash value for `key`. - * - * @private - * @name get - * @memberOf Hash - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */function hashGet(key) { var data = this.__data__; if (nativeCreate) { var result = data[key]; return result === HASH_UNDEFINED ? undefined : result } return hasOwnProperty.call(data, key) ? data[key] : undefined } module.exports = hashGet - }, { "./_nativeCreate": 201 }], 175: [function (require, module, exports) { - var nativeCreate = require("./_nativeCreate"); -/** Used for built-in method references. */var objectProto = Object.prototype; -/** Used to check objects for own properties. */var hasOwnProperty = objectProto.hasOwnProperty; -/** - * Checks if a hash value for `key` exists. - * - * @private - * @name has - * @memberOf Hash - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */function hashHas(key) { var data = this.__data__; return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key) } module.exports = hashHas - }, { "./_nativeCreate": 201 }], 176: [function (require, module, exports) { - var nativeCreate = require("./_nativeCreate"); -/** Used to stand-in for `undefined` hash values. */var HASH_UNDEFINED = "__lodash_hash_undefined__"; -/** - * Sets the hash `key` to `value`. - * - * @private - * @name set - * @memberOf Hash - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the hash instance. - */function hashSet(key, value) { var data = this.__data__; this.size += this.has(key) ? 0 : 1; data[key] = nativeCreate && value === undefined ? HASH_UNDEFINED : value; return this } module.exports = hashSet - }, { "./_nativeCreate": 201 }], 177: [function (require, module, exports) { - /** Used for built-in method references. */ - var objectProto = Object.prototype; -/** Used to check objects for own properties. */var hasOwnProperty = objectProto.hasOwnProperty; -/** - * Initializes an array clone. - * - * @private - * @param {Array} array The array to clone. - * @returns {Array} Returns the initialized clone. - */function initCloneArray(array) { - var length = array.length, result = new array.constructor(length); - // Add properties assigned by `RegExp#exec`. - if (length && typeof array[0] == "string" && hasOwnProperty.call(array, "index")) { result.index = array.index; result.input = array.input } return result - } module.exports = initCloneArray - }, {}], 178: [function (require, module, exports) { - var cloneArrayBuffer = require("./_cloneArrayBuffer"), cloneDataView = require("./_cloneDataView"), cloneRegExp = require("./_cloneRegExp"), cloneSymbol = require("./_cloneSymbol"), cloneTypedArray = require("./_cloneTypedArray"); -/** `Object#toString` result references. */var boolTag = "[object Boolean]", dateTag = "[object Date]", mapTag = "[object Map]", numberTag = "[object Number]", regexpTag = "[object RegExp]", setTag = "[object Set]", stringTag = "[object String]", symbolTag = "[object Symbol]"; var arrayBufferTag = "[object ArrayBuffer]", dataViewTag = "[object DataView]", float32Tag = "[object Float32Array]", float64Tag = "[object Float64Array]", int8Tag = "[object Int8Array]", int16Tag = "[object Int16Array]", int32Tag = "[object Int32Array]", uint8Tag = "[object Uint8Array]", uint8ClampedTag = "[object Uint8ClampedArray]", uint16Tag = "[object Uint16Array]", uint32Tag = "[object Uint32Array]"; -/** - * Initializes an object clone based on its `toStringTag`. - * - * **Note:** This function only supports cloning values with tags of - * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`. - * - * @private - * @param {Object} object The object to clone. - * @param {string} tag The `toStringTag` of the object to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the initialized clone. - */function initCloneByTag(object, tag, isDeep) { var Ctor = object.constructor; switch (tag) { case arrayBufferTag: return cloneArrayBuffer(object); case boolTag: case dateTag: return new Ctor(+object); case dataViewTag: return cloneDataView(object, isDeep); case float32Tag: case float64Tag: case int8Tag: case int16Tag: case int32Tag: case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag: return cloneTypedArray(object, isDeep); case mapTag: return new Ctor; case numberTag: case stringTag: return new Ctor(object); case regexpTag: return cloneRegExp(object); case setTag: return new Ctor; case symbolTag: return cloneSymbol(object) } } module.exports = initCloneByTag - }, { "./_cloneArrayBuffer": 134, "./_cloneDataView": 136, "./_cloneRegExp": 137, "./_cloneSymbol": 138, "./_cloneTypedArray": 139 }], 179: [function (require, module, exports) { - var baseCreate = require("./_baseCreate"), getPrototype = require("./_getPrototype"), isPrototype = require("./_isPrototype"); -/** - * Initializes an object clone. - * - * @private - * @param {Object} object The object to clone. - * @returns {Object} Returns the initialized clone. - */function initCloneObject(object) { return typeof object.constructor == "function" && !isPrototype(object) ? baseCreate(getPrototype(object)) : {} } module.exports = initCloneObject - }, { "./_baseCreate": 81, "./_getPrototype": 164, "./_isPrototype": 186 }], 180: [function (require, module, exports) { - var Symbol = require("./_Symbol"), isArguments = require("./isArguments"), isArray = require("./isArray"); -/** Built-in value references. */var spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined; -/** - * Checks if `value` is a flattenable `arguments` object or array. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. - */function isFlattenable(value) { return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]) } module.exports = isFlattenable - }, { "./_Symbol": 60, "./isArguments": 242, "./isArray": 243 }], 181: [function (require, module, exports) { - /** Used as references for various `Number` constants. */ - var MAX_SAFE_INTEGER = 9007199254740991; -/** Used to detect unsigned integer values. */var reIsUint = /^(?:0|[1-9]\d*)$/; -/** - * Checks if `value` is a valid array-like index. - * - * @private - * @param {*} value The value to check. - * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. - * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. - */function isIndex(value, length) { var type = typeof value; length = length == null ? MAX_SAFE_INTEGER : length; return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length) } module.exports = isIndex - }, {}], 182: [function (require, module, exports) { - var eq = require("./eq"), isArrayLike = require("./isArrayLike"), isIndex = require("./_isIndex"), isObject = require("./isObject"); -/** - * Checks if the given arguments are from an iteratee call. - * - * @private - * @param {*} value The potential iteratee value argument. - * @param {*} index The potential iteratee index or key argument. - * @param {*} object The potential iteratee object argument. - * @returns {boolean} Returns `true` if the arguments are from an iteratee call, - * else `false`. - */function isIterateeCall(value, index, object) { if (!isObject(object)) { return false } var type = typeof index; if (type == "number" ? isArrayLike(object) && isIndex(index, object.length) : type == "string" && index in object) { return eq(object[index], value) } return false } module.exports = isIterateeCall - }, { "./_isIndex": 181, "./eq": 231, "./isArrayLike": 244, "./isObject": 251 }], 183: [function (require, module, exports) { - var isArray = require("./isArray"), isSymbol = require("./isSymbol"); -/** Used to match property names within property paths. */var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, reIsPlainProp = /^\w*$/; -/** - * Checks if `value` is a property name and not a property path. - * - * @private - * @param {*} value The value to check. - * @param {Object} [object] The object to query keys on. - * @returns {boolean} Returns `true` if `value` is a property name, else `false`. - */function isKey(value, object) { if (isArray(value)) { return false } var type = typeof value; if (type == "number" || type == "symbol" || type == "boolean" || value == null || isSymbol(value)) { return true } return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object) } module.exports = isKey - }, { "./isArray": 243, "./isSymbol": 256 }], 184: [function (require, module, exports) { - /** - * Checks if `value` is suitable for use as unique object key. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is suitable, else `false`. - */ - function isKeyable(value) { var type = typeof value; return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null } module.exports = isKeyable - }, {}], 185: [function (require, module, exports) { - var coreJsData = require("./_coreJsData"); -/** Used to detect methods masquerading as native. */var maskSrcKey = function () { var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ""); return uid ? "Symbol(src)_1." + uid : "" }(); -/** - * Checks if `func` has its source masked. - * - * @private - * @param {Function} func The function to check. - * @returns {boolean} Returns `true` if `func` is masked, else `false`. - */function isMasked(func) { return !!maskSrcKey && maskSrcKey in func } module.exports = isMasked - }, { "./_coreJsData": 146 }], 186: [function (require, module, exports) { - /** Used for built-in method references. */ - var objectProto = Object.prototype; -/** - * Checks if `value` is likely a prototype object. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. - */function isPrototype(value) { var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto; return value === proto } module.exports = isPrototype - }, {}], 187: [function (require, module, exports) { - var isObject = require("./isObject"); -/** - * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` if suitable for strict - * equality comparisons, else `false`. - */function isStrictComparable(value) { return value === value && !isObject(value) } module.exports = isStrictComparable - }, { "./isObject": 251 }], 188: [function (require, module, exports) { - /** - * Removes all key-value entries from the list cache. - * - * @private - * @name clear - * @memberOf ListCache - */ - function listCacheClear() { this.__data__ = []; this.size = 0 } module.exports = listCacheClear - }, {}], 189: [function (require, module, exports) { - var assocIndexOf = require("./_assocIndexOf"); -/** Used for built-in method references. */var arrayProto = Array.prototype; -/** Built-in value references. */var splice = arrayProto.splice; -/** - * Removes `key` and its value from the list cache. - * - * @private - * @name delete - * @memberOf ListCache - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */function listCacheDelete(key) { var data = this.__data__, index = assocIndexOf(data, key); if (index < 0) { return false } var lastIndex = data.length - 1; if (index == lastIndex) { data.pop() } else { splice.call(data, index, 1) } --this.size; return true } module.exports = listCacheDelete - }, { "./_assocIndexOf": 76 }], 190: [function (require, module, exports) { - var assocIndexOf = require("./_assocIndexOf"); -/** - * Gets the list cache value for `key`. - * - * @private - * @name get - * @memberOf ListCache - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */function listCacheGet(key) { var data = this.__data__, index = assocIndexOf(data, key); return index < 0 ? undefined : data[index][1] } module.exports = listCacheGet - }, { "./_assocIndexOf": 76 }], 191: [function (require, module, exports) { - var assocIndexOf = require("./_assocIndexOf"); -/** - * Checks if a list cache value for `key` exists. - * - * @private - * @name has - * @memberOf ListCache - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */function listCacheHas(key) { return assocIndexOf(this.__data__, key) > -1 } module.exports = listCacheHas - }, { "./_assocIndexOf": 76 }], 192: [function (require, module, exports) { - var assocIndexOf = require("./_assocIndexOf"); -/** - * Sets the list cache `key` to `value`. - * - * @private - * @name set - * @memberOf ListCache - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the list cache instance. - */function listCacheSet(key, value) { var data = this.__data__, index = assocIndexOf(data, key); if (index < 0) { ++this.size; data.push([key, value]) } else { data[index][1] = value } return this } module.exports = listCacheSet - }, { "./_assocIndexOf": 76 }], 193: [function (require, module, exports) { - var Hash = require("./_Hash"), ListCache = require("./_ListCache"), Map = require("./_Map"); -/** - * Removes all key-value entries from the map. - * - * @private - * @name clear - * @memberOf MapCache - */function mapCacheClear() { this.size = 0; this.__data__ = { hash: new Hash, map: new (Map || ListCache), string: new Hash } } module.exports = mapCacheClear - }, { "./_Hash": 52, "./_ListCache": 53, "./_Map": 54 }], 194: [function (require, module, exports) { - var getMapData = require("./_getMapData"); -/** - * Removes `key` and its value from the map. - * - * @private - * @name delete - * @memberOf MapCache - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */function mapCacheDelete(key) { var result = getMapData(this, key)["delete"](key); this.size -= result ? 1 : 0; return result } module.exports = mapCacheDelete - }, { "./_getMapData": 161 }], 195: [function (require, module, exports) { - var getMapData = require("./_getMapData"); -/** - * Gets the map value for `key`. - * - * @private - * @name get - * @memberOf MapCache - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */function mapCacheGet(key) { return getMapData(this, key).get(key) } module.exports = mapCacheGet - }, { "./_getMapData": 161 }], 196: [function (require, module, exports) { - var getMapData = require("./_getMapData"); -/** - * Checks if a map value for `key` exists. - * - * @private - * @name has - * @memberOf MapCache - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */function mapCacheHas(key) { return getMapData(this, key).has(key) } module.exports = mapCacheHas - }, { "./_getMapData": 161 }], 197: [function (require, module, exports) { - var getMapData = require("./_getMapData"); -/** - * Sets the map `key` to `value`. - * - * @private - * @name set - * @memberOf MapCache - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the map cache instance. - */function mapCacheSet(key, value) { var data = getMapData(this, key), size = data.size; data.set(key, value); this.size += data.size == size ? 0 : 1; return this } module.exports = mapCacheSet - }, { "./_getMapData": 161 }], 198: [function (require, module, exports) { - /** - * Converts `map` to its key-value pairs. - * - * @private - * @param {Object} map The map to convert. - * @returns {Array} Returns the key-value pairs. - */ - function mapToArray(map) { var index = -1, result = Array(map.size); map.forEach(function (value, key) { result[++index] = [key, value] }); return result } module.exports = mapToArray - }, {}], 199: [function (require, module, exports) { - /** - * A specialized version of `matchesProperty` for source values suitable - * for strict equality comparisons, i.e. `===`. - * - * @private - * @param {string} key The key of the property to get. - * @param {*} srcValue The value to match. - * @returns {Function} Returns the new spec function. - */ - function matchesStrictComparable(key, srcValue) { return function (object) { if (object == null) { return false } return object[key] === srcValue && (srcValue !== undefined || key in Object(object)) } } module.exports = matchesStrictComparable - }, {}], 200: [function (require, module, exports) { - var memoize = require("./memoize"); -/** Used as the maximum memoize cache size. */var MAX_MEMOIZE_SIZE = 500; -/** - * A specialized version of `_.memoize` which clears the memoized function's - * cache when it exceeds `MAX_MEMOIZE_SIZE`. - * - * @private - * @param {Function} func The function to have its output memoized. - * @returns {Function} Returns the new memoized function. - */function memoizeCapped(func) { var result = memoize(func, function (key) { if (cache.size === MAX_MEMOIZE_SIZE) { cache.clear() } return key }); var cache = result.cache; return result } module.exports = memoizeCapped - }, { "./memoize": 265 }], 201: [function (require, module, exports) { - var getNative = require("./_getNative"); -/* Built-in method references that are verified to be native. */var nativeCreate = getNative(Object, "create"); module.exports = nativeCreate - }, { "./_getNative": 163 }], 202: [function (require, module, exports) { - var overArg = require("./_overArg"); -/* Built-in method references for those with the same name as other `lodash` methods. */var nativeKeys = overArg(Object.keys, Object); module.exports = nativeKeys - }, { "./_overArg": 206 }], 203: [function (require, module, exports) { - /** - * This function is like - * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) - * except that it includes inherited enumerable properties. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - */ - function nativeKeysIn(object) { var result = []; if (object != null) { for (var key in Object(object)) { result.push(key) } } return result } module.exports = nativeKeysIn - }, {}], 204: [function (require, module, exports) { - var freeGlobal = require("./_freeGlobal"); -/** Detect free variable `exports`. */var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports; -/** Detect free variable `module`. */var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module; -/** Detect the popular CommonJS extension `module.exports`. */var moduleExports = freeModule && freeModule.exports === freeExports; -/** Detect free variable `process` from Node.js. */var freeProcess = moduleExports && freeGlobal.process; -/** Used to access faster Node.js helpers. */var nodeUtil = function () { - try { - // Use `util.types` for Node.js 10+. - var types = freeModule && freeModule.require && freeModule.require("util").types; if (types) { return types } - // Legacy `process.binding('util')` for Node.js < 10. - return freeProcess && freeProcess.binding && freeProcess.binding("util") - } catch (e) { } - }(); module.exports = nodeUtil - }, { "./_freeGlobal": 158 }], 205: [function (require, module, exports) { - /** Used for built-in method references. */ - var objectProto = Object.prototype; -/** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */var nativeObjectToString = objectProto.toString; -/** - * Converts `value` to a string using `Object.prototype.toString`. - * - * @private - * @param {*} value The value to convert. - * @returns {string} Returns the converted string. - */function objectToString(value) { return nativeObjectToString.call(value) } module.exports = objectToString - }, {}], 206: [function (require, module, exports) { - /** - * Creates a unary function that invokes `func` with its argument transformed. - * - * @private - * @param {Function} func The function to wrap. - * @param {Function} transform The argument transform. - * @returns {Function} Returns the new function. - */ - function overArg(func, transform) { return function (arg) { return func(transform(arg)) } } module.exports = overArg - }, {}], 207: [function (require, module, exports) { - var apply = require("./_apply"); -/* Built-in method references for those with the same name as other `lodash` methods. */var nativeMax = Math.max; -/** - * A specialized version of `baseRest` which transforms the rest array. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @param {Function} transform The rest array transform. - * @returns {Function} Returns the new function. - */function overRest(func, start, transform) { start = nativeMax(start === undefined ? func.length - 1 : start, 0); return function () { var args = arguments, index = -1, length = nativeMax(args.length - start, 0), array = Array(length); while (++index < length) { array[index] = args[start + index] } index = -1; var otherArgs = Array(start + 1); while (++index < start) { otherArgs[index] = args[index] } otherArgs[start] = transform(array); return apply(func, this, otherArgs) } } module.exports = overRest - }, { "./_apply": 63 }], 208: [function (require, module, exports) { - var freeGlobal = require("./_freeGlobal"); -/** Detect free variable `self`. */var freeSelf = typeof self == "object" && self && self.Object === Object && self; -/** Used as a reference to the global object. */var root = freeGlobal || freeSelf || Function("return this")(); module.exports = root - }, { "./_freeGlobal": 158 }], 209: [function (require, module, exports) { - /** - * Gets the value at `key`, unless `key` is "__proto__" or "constructor". - * - * @private - * @param {Object} object The object to query. - * @param {string} key The key of the property to get. - * @returns {*} Returns the property value. - */ - function safeGet(object, key) { if (key === "constructor" && typeof object[key] === "function") { return } if (key == "__proto__") { return } return object[key] } module.exports = safeGet - }, {}], 210: [function (require, module, exports) { - /** Used to stand-in for `undefined` hash values. */ - var HASH_UNDEFINED = "__lodash_hash_undefined__"; -/** - * Adds `value` to the array cache. - * - * @private - * @name add - * @memberOf SetCache - * @alias push - * @param {*} value The value to cache. - * @returns {Object} Returns the cache instance. - */function setCacheAdd(value) { this.__data__.set(value, HASH_UNDEFINED); return this } module.exports = setCacheAdd - }, {}], 211: [function (require, module, exports) { - /** - * Checks if `value` is in the array cache. - * - * @private - * @name has - * @memberOf SetCache - * @param {*} value The value to search for. - * @returns {number} Returns `true` if `value` is found, else `false`. - */ - function setCacheHas(value) { return this.__data__.has(value) } module.exports = setCacheHas - }, {}], 212: [function (require, module, exports) { - /** - * Converts `set` to an array of its values. - * - * @private - * @param {Object} set The set to convert. - * @returns {Array} Returns the values. - */ - function setToArray(set) { var index = -1, result = Array(set.size); set.forEach(function (value) { result[++index] = value }); return result } module.exports = setToArray - }, {}], 213: [function (require, module, exports) { - var baseSetToString = require("./_baseSetToString"), shortOut = require("./_shortOut"); -/** - * Sets the `toString` method of `func` to return `string`. - * - * @private - * @param {Function} func The function to modify. - * @param {Function} string The `toString` result. - * @returns {Function} Returns `func`. - */var setToString = shortOut(baseSetToString); module.exports = setToString - }, { "./_baseSetToString": 123, "./_shortOut": 214 }], 214: [function (require, module, exports) { - /** Used to detect hot functions by number of calls within a span of milliseconds. */ - var HOT_COUNT = 800, HOT_SPAN = 16; -/* Built-in method references for those with the same name as other `lodash` methods. */var nativeNow = Date.now; -/** - * Creates a function that'll short out and invoke `identity` instead - * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN` - * milliseconds. - * - * @private - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new shortable function. - */function shortOut(func) { var count = 0, lastCalled = 0; return function () { var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled); lastCalled = stamp; if (remaining > 0) { if (++count >= HOT_COUNT) { return arguments[0] } } else { count = 0 } return func.apply(undefined, arguments) } } module.exports = shortOut - }, {}], 215: [function (require, module, exports) { - var ListCache = require("./_ListCache"); -/** - * Removes all key-value entries from the stack. - * - * @private - * @name clear - * @memberOf Stack - */function stackClear() { this.__data__ = new ListCache; this.size = 0 } module.exports = stackClear - }, { "./_ListCache": 53 }], 216: [function (require, module, exports) { - /** - * Removes `key` and its value from the stack. - * - * @private - * @name delete - * @memberOf Stack - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ - function stackDelete(key) { var data = this.__data__, result = data["delete"](key); this.size = data.size; return result } module.exports = stackDelete - }, {}], 217: [function (require, module, exports) { - /** - * Gets the stack value for `key`. - * - * @private - * @name get - * @memberOf Stack - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ - function stackGet(key) { return this.__data__.get(key) } module.exports = stackGet - }, {}], 218: [function (require, module, exports) { - /** - * Checks if a stack value for `key` exists. - * - * @private - * @name has - * @memberOf Stack - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - function stackHas(key) { return this.__data__.has(key) } module.exports = stackHas - }, {}], 219: [function (require, module, exports) { - var ListCache = require("./_ListCache"), Map = require("./_Map"), MapCache = require("./_MapCache"); -/** Used as the size to enable large array optimizations. */var LARGE_ARRAY_SIZE = 200; -/** - * Sets the stack `key` to `value`. - * - * @private - * @name set - * @memberOf Stack - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the stack cache instance. - */function stackSet(key, value) { var data = this.__data__; if (data instanceof ListCache) { var pairs = data.__data__; if (!Map || pairs.length < LARGE_ARRAY_SIZE - 1) { pairs.push([key, value]); this.size = ++data.size; return this } data = this.__data__ = new MapCache(pairs) } data.set(key, value); this.size = data.size; return this } module.exports = stackSet - }, { "./_ListCache": 53, "./_Map": 54, "./_MapCache": 55 }], 220: [function (require, module, exports) { - /** - * A specialized version of `_.indexOf` which performs strict equality - * comparisons of values, i.e. `===`. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} fromIndex The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function strictIndexOf(array, value, fromIndex) { var index = fromIndex - 1, length = array.length; while (++index < length) { if (array[index] === value) { return index } } return -1 } module.exports = strictIndexOf - }, {}], 221: [function (require, module, exports) { - var asciiSize = require("./_asciiSize"), hasUnicode = require("./_hasUnicode"), unicodeSize = require("./_unicodeSize"); -/** - * Gets the number of symbols in `string`. - * - * @private - * @param {string} string The string to inspect. - * @returns {number} Returns the string size. - */function stringSize(string) { return hasUnicode(string) ? unicodeSize(string) : asciiSize(string) } module.exports = stringSize - }, { "./_asciiSize": 73, "./_hasUnicode": 171, "./_unicodeSize": 225 }], 222: [function (require, module, exports) { - var memoizeCapped = require("./_memoizeCapped"); -/** Used to match property names within property paths. */var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; -/** Used to match backslashes in property paths. */var reEscapeChar = /\\(\\)?/g; -/** - * Converts `string` to a property path array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the property path array. - */var stringToPath = memoizeCapped(function (string) { var result = []; if (string.charCodeAt(0) === 46/* . */) { result.push("") } string.replace(rePropName, function (match, number, quote, subString) { result.push(quote ? subString.replace(reEscapeChar, "$1") : number || match) }); return result }); module.exports = stringToPath - }, { "./_memoizeCapped": 200 }], 223: [function (require, module, exports) { - var isSymbol = require("./isSymbol"); -/** Used as references for various `Number` constants. */var INFINITY = 1 / 0; -/** - * Converts `value` to a string key if it's not a string or symbol. - * - * @private - * @param {*} value The value to inspect. - * @returns {string|symbol} Returns the key. - */function toKey(value) { if (typeof value == "string" || isSymbol(value)) { return value } var result = value + ""; return result == "0" && 1 / value == -INFINITY ? "-0" : result } module.exports = toKey - }, { "./isSymbol": 256 }], 224: [function (require, module, exports) { - /** Used for built-in method references. */ - var funcProto = Function.prototype; -/** Used to resolve the decompiled source of functions. */var funcToString = funcProto.toString; -/** - * Converts `func` to its source code. - * - * @private - * @param {Function} func The function to convert. - * @returns {string} Returns the source code. - */function toSource(func) { if (func != null) { try { return funcToString.call(func) } catch (e) { } try { return func + "" } catch (e) { } } return "" } module.exports = toSource - }, {}], 225: [function (require, module, exports) { - /** Used to compose unicode character classes. */ - var rsAstralRange = "\\ud800-\\udfff", rsComboMarksRange = "\\u0300-\\u036f", reComboHalfMarksRange = "\\ufe20-\\ufe2f", rsComboSymbolsRange = "\\u20d0-\\u20ff", rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, rsVarRange = "\\ufe0e\\ufe0f"; -/** Used to compose unicode capture groups. */var rsAstral = "[" + rsAstralRange + "]", rsCombo = "[" + rsComboRange + "]", rsFitz = "\\ud83c[\\udffb-\\udfff]", rsModifier = "(?:" + rsCombo + "|" + rsFitz + ")", rsNonAstral = "[^" + rsAstralRange + "]", rsRegional = "(?:\\ud83c[\\udde6-\\uddff]){2}", rsSurrPair = "[\\ud800-\\udbff][\\udc00-\\udfff]", rsZWJ = "\\u200d"; -/** Used to compose unicode regexes. */var reOptMod = rsModifier + "?", rsOptVar = "[" + rsVarRange + "]?", rsOptJoin = "(?:" + rsZWJ + "(?:" + [rsNonAstral, rsRegional, rsSurrPair].join("|") + ")" + rsOptVar + reOptMod + ")*", rsSeq = rsOptVar + reOptMod + rsOptJoin, rsSymbol = "(?:" + [rsNonAstral + rsCombo + "?", rsCombo, rsRegional, rsSurrPair, rsAstral].join("|") + ")"; -/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */var reUnicode = RegExp(rsFitz + "(?=" + rsFitz + ")|" + rsSymbol + rsSeq, "g"); -/** - * Gets the size of a Unicode `string`. - * - * @private - * @param {string} string The string inspect. - * @returns {number} Returns the string size. - */function unicodeSize(string) { var result = reUnicode.lastIndex = 0; while (reUnicode.test(string)) { ++result } return result } module.exports = unicodeSize - }, {}], 226: [function (require, module, exports) { - var baseClone = require("./_baseClone"); -/** Used to compose bitmasks for cloning. */var CLONE_SYMBOLS_FLAG = 4; -/** - * Creates a shallow clone of `value`. - * - * **Note:** This method is loosely based on the - * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm) - * and supports cloning arrays, array buffers, booleans, date objects, maps, - * numbers, `Object` objects, regexes, sets, strings, symbols, and typed - * arrays. The own enumerable properties of `arguments` objects are cloned - * as plain objects. An empty object is returned for uncloneable values such - * as error objects, functions, DOM nodes, and WeakMaps. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to clone. - * @returns {*} Returns the cloned value. - * @see _.cloneDeep - * @example - * - * var objects = [{ 'a': 1 }, { 'b': 2 }]; - * - * var shallow = _.clone(objects); - * console.log(shallow[0] === objects[0]); - * // => true - */function clone(value) { return baseClone(value, CLONE_SYMBOLS_FLAG) } module.exports = clone - }, { "./_baseClone": 80 }], 227: [function (require, module, exports) { - var baseClone = require("./_baseClone"); -/** Used to compose bitmasks for cloning. */var CLONE_DEEP_FLAG = 1, CLONE_SYMBOLS_FLAG = 4; -/** - * This method is like `_.clone` except that it recursively clones `value`. - * - * @static - * @memberOf _ - * @since 1.0.0 - * @category Lang - * @param {*} value The value to recursively clone. - * @returns {*} Returns the deep cloned value. - * @see _.clone - * @example - * - * var objects = [{ 'a': 1 }, { 'b': 2 }]; - * - * var deep = _.cloneDeep(objects); - * console.log(deep[0] === objects[0]); - * // => false - */function cloneDeep(value) { return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG) } module.exports = cloneDeep - }, { "./_baseClone": 80 }], 228: [function (require, module, exports) { - /** - * Creates a function that returns `value`. - * - * @static - * @memberOf _ - * @since 2.4.0 - * @category Util - * @param {*} value The value to return from the new function. - * @returns {Function} Returns the new constant function. - * @example - * - * var objects = _.times(2, _.constant({ 'a': 1 })); - * - * console.log(objects); - * // => [{ 'a': 1 }, { 'a': 1 }] - * - * console.log(objects[0] === objects[1]); - * // => true - */ - function constant(value) { return function () { return value } } module.exports = constant - }, {}], 229: [function (require, module, exports) { - var baseRest = require("./_baseRest"), eq = require("./eq"), isIterateeCall = require("./_isIterateeCall"), keysIn = require("./keysIn"); -/** Used for built-in method references. */var objectProto = Object.prototype; -/** Used to check objects for own properties. */var hasOwnProperty = objectProto.hasOwnProperty; -/** - * Assigns own and inherited enumerable string keyed properties of source - * objects to the destination object for all destination properties that - * resolve to `undefined`. Source objects are applied from left to right. - * Once a property is set, additional values of the same property are ignored. - * - * **Note:** This method mutates `object`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @see _.defaultsDeep - * @example - * - * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); - * // => { 'a': 1, 'b': 2 } - */var defaults = baseRest(function (object, sources) { object = Object(object); var index = -1; var length = sources.length; var guard = length > 2 ? sources[2] : undefined; if (guard && isIterateeCall(sources[0], sources[1], guard)) { length = 1 } while (++index < length) { var source = sources[index]; var props = keysIn(source); var propsIndex = -1; var propsLength = props.length; while (++propsIndex < propsLength) { var key = props[propsIndex]; var value = object[key]; if (value === undefined || eq(value, objectProto[key]) && !hasOwnProperty.call(object, key)) { object[key] = source[key] } } } return object }); module.exports = defaults - }, { "./_baseRest": 121, "./_isIterateeCall": 182, "./eq": 231, "./keysIn": 260 }], 230: [function (require, module, exports) { module.exports = require("./forEach") }, { "./forEach": 236 }], 231: [function (require, module, exports) { - /** - * Performs a - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * comparison between two values to determine if they are equivalent. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - * @example - * - * var object = { 'a': 1 }; - * var other = { 'a': 1 }; - * - * _.eq(object, object); - * // => true - * - * _.eq(object, other); - * // => false - * - * _.eq('a', 'a'); - * // => true - * - * _.eq('a', Object('a')); - * // => false - * - * _.eq(NaN, NaN); - * // => true - */ - function eq(value, other) { return value === other || value !== value && other !== other } module.exports = eq - }, {}], 232: [function (require, module, exports) { - var arrayFilter = require("./_arrayFilter"), baseFilter = require("./_baseFilter"), baseIteratee = require("./_baseIteratee"), isArray = require("./isArray"); -/** - * Iterates over elements of `collection`, returning an array of all elements - * `predicate` returns truthy for. The predicate is invoked with three - * arguments: (value, index|key, collection). - * - * **Note:** Unlike `_.remove`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - * @see _.reject - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': true }, - * { 'user': 'fred', 'age': 40, 'active': false } - * ]; - * - * _.filter(users, function(o) { return !o.active; }); - * // => objects for ['fred'] - * - * // The `_.matches` iteratee shorthand. - * _.filter(users, { 'age': 36, 'active': true }); - * // => objects for ['barney'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.filter(users, ['active', false]); - * // => objects for ['fred'] - * - * // The `_.property` iteratee shorthand. - * _.filter(users, 'active'); - * // => objects for ['barney'] - */function filter(collection, predicate) { var func = isArray(collection) ? arrayFilter : baseFilter; return func(collection, baseIteratee(predicate, 3)) } module.exports = filter - }, { "./_arrayFilter": 65, "./_baseFilter": 84, "./_baseIteratee": 105, "./isArray": 243 }], 233: [function (require, module, exports) { - var createFind = require("./_createFind"), findIndex = require("./findIndex"); -/** - * Iterates over elements of `collection`, returning the first element - * `predicate` returns truthy for. The predicate is invoked with three - * arguments: (value, index|key, collection). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param {number} [fromIndex=0] The index to search from. - * @returns {*} Returns the matched element, else `undefined`. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': true }, - * { 'user': 'fred', 'age': 40, 'active': false }, - * { 'user': 'pebbles', 'age': 1, 'active': true } - * ]; - * - * _.find(users, function(o) { return o.age < 40; }); - * // => object for 'barney' - * - * // The `_.matches` iteratee shorthand. - * _.find(users, { 'age': 1, 'active': true }); - * // => object for 'pebbles' - * - * // The `_.matchesProperty` iteratee shorthand. - * _.find(users, ['active', false]); - * // => object for 'fred' - * - * // The `_.property` iteratee shorthand. - * _.find(users, 'active'); - * // => object for 'barney' - */var find = createFind(findIndex); module.exports = find - }, { "./_createFind": 150, "./findIndex": 234 }], 234: [function (require, module, exports) { - var baseFindIndex = require("./_baseFindIndex"), baseIteratee = require("./_baseIteratee"), toInteger = require("./toInteger"); -/* Built-in method references for those with the same name as other `lodash` methods. */var nativeMax = Math.max; -/** - * This method is like `_.find` except that it returns the index of the first - * element `predicate` returns truthy for instead of the element itself. - * - * @static - * @memberOf _ - * @since 1.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param {number} [fromIndex=0] The index to search from. - * @returns {number} Returns the index of the found element, else `-1`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': true } - * ]; - * - * _.findIndex(users, function(o) { return o.user == 'barney'; }); - * // => 0 - * - * // The `_.matches` iteratee shorthand. - * _.findIndex(users, { 'user': 'fred', 'active': false }); - * // => 1 - * - * // The `_.matchesProperty` iteratee shorthand. - * _.findIndex(users, ['active', false]); - * // => 0 - * - * // The `_.property` iteratee shorthand. - * _.findIndex(users, 'active'); - * // => 2 - */function findIndex(array, predicate, fromIndex) { var length = array == null ? 0 : array.length; if (!length) { return -1 } var index = fromIndex == null ? 0 : toInteger(fromIndex); if (index < 0) { index = nativeMax(length + index, 0) } return baseFindIndex(array, baseIteratee(predicate, 3), index) } module.exports = findIndex - }, { "./_baseFindIndex": 85, "./_baseIteratee": 105, "./toInteger": 280 }], 235: [function (require, module, exports) { - var baseFlatten = require("./_baseFlatten"); -/** - * Flattens `array` a single level deep. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to flatten. - * @returns {Array} Returns the new flattened array. - * @example - * - * _.flatten([1, [2, [3, [4]], 5]]); - * // => [1, 2, [3, [4]], 5] - */function flatten(array) { var length = array == null ? 0 : array.length; return length ? baseFlatten(array, 1) : [] } module.exports = flatten - }, { "./_baseFlatten": 86 }], 236: [function (require, module, exports) { - var arrayEach = require("./_arrayEach"), baseEach = require("./_baseEach"), castFunction = require("./_castFunction"), isArray = require("./isArray"); -/** - * Iterates over elements of `collection` and invokes `iteratee` for each element. - * The iteratee is invoked with three arguments: (value, index|key, collection). - * Iteratee functions may exit iteration early by explicitly returning `false`. - * - * **Note:** As with other "Collections" methods, objects with a "length" - * property are iterated like arrays. To avoid this behavior use `_.forIn` - * or `_.forOwn` for object iteration. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @alias each - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - * @see _.forEachRight - * @example - * - * _.forEach([1, 2], function(value) { - * console.log(value); - * }); - * // => Logs `1` then `2`. - * - * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) { - * console.log(key); - * }); - * // => Logs 'a' then 'b' (iteration order is not guaranteed). - */function forEach(collection, iteratee) { var func = isArray(collection) ? arrayEach : baseEach; return func(collection, castFunction(iteratee)) } module.exports = forEach - }, { "./_arrayEach": 64, "./_baseEach": 82, "./_castFunction": 132, "./isArray": 243 }], 237: [function (require, module, exports) { - var baseFor = require("./_baseFor"), castFunction = require("./_castFunction"), keysIn = require("./keysIn"); -/** - * Iterates over own and inherited enumerable string keyed properties of an - * object and invokes `iteratee` for each property. The iteratee is invoked - * with three arguments: (value, key, object). Iteratee functions may exit - * iteration early by explicitly returning `false`. - * - * @static - * @memberOf _ - * @since 0.3.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns `object`. - * @see _.forInRight - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forIn(new Foo, function(value, key) { - * console.log(key); - * }); - * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed). - */function forIn(object, iteratee) { return object == null ? object : baseFor(object, castFunction(iteratee), keysIn) } module.exports = forIn - }, { "./_baseFor": 87, "./_castFunction": 132, "./keysIn": 260 }], 238: [function (require, module, exports) { - var baseGet = require("./_baseGet"); -/** - * Gets the value at `path` of `object`. If the resolved value is - * `undefined`, the `defaultValue` is returned in its place. - * - * @static - * @memberOf _ - * @since 3.7.0 - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path of the property to get. - * @param {*} [defaultValue] The value returned for `undefined` resolved values. - * @returns {*} Returns the resolved value. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }] }; - * - * _.get(object, 'a[0].b.c'); - * // => 3 - * - * _.get(object, ['a', '0', 'b', 'c']); - * // => 3 - * - * _.get(object, 'a.b.c', 'default'); - * // => 'default' - */function get(object, path, defaultValue) { var result = object == null ? undefined : baseGet(object, path); return result === undefined ? defaultValue : result } module.exports = get - }, { "./_baseGet": 89 }], 239: [function (require, module, exports) { - var baseHas = require("./_baseHas"), hasPath = require("./_hasPath"); -/** - * Checks if `path` is a direct property of `object`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path to check. - * @returns {boolean} Returns `true` if `path` exists, else `false`. - * @example - * - * var object = { 'a': { 'b': 2 } }; - * var other = _.create({ 'a': _.create({ 'b': 2 }) }); - * - * _.has(object, 'a'); - * // => true - * - * _.has(object, 'a.b'); - * // => true - * - * _.has(object, ['a', 'b']); - * // => true - * - * _.has(other, 'a'); - * // => false - */function has(object, path) { return object != null && hasPath(object, path, baseHas) } module.exports = has - }, { "./_baseHas": 93, "./_hasPath": 170 }], 240: [function (require, module, exports) { - var baseHasIn = require("./_baseHasIn"), hasPath = require("./_hasPath"); -/** - * Checks if `path` is a direct or inherited property of `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path to check. - * @returns {boolean} Returns `true` if `path` exists, else `false`. - * @example - * - * var object = _.create({ 'a': _.create({ 'b': 2 }) }); - * - * _.hasIn(object, 'a'); - * // => true - * - * _.hasIn(object, 'a.b'); - * // => true - * - * _.hasIn(object, ['a', 'b']); - * // => true - * - * _.hasIn(object, 'b'); - * // => false - */function hasIn(object, path) { return object != null && hasPath(object, path, baseHasIn) } module.exports = hasIn - }, { "./_baseHasIn": 94, "./_hasPath": 170 }], 241: [function (require, module, exports) { - /** - * This method returns the first argument it receives. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Util - * @param {*} value Any value. - * @returns {*} Returns `value`. - * @example - * - * var object = { 'a': 1 }; - * - * console.log(_.identity(object) === object); - * // => true - */ - function identity(value) { return value } module.exports = identity - }, {}], 242: [function (require, module, exports) { - var baseIsArguments = require("./_baseIsArguments"), isObjectLike = require("./isObjectLike"); -/** Used for built-in method references. */var objectProto = Object.prototype; -/** Used to check objects for own properties. */var hasOwnProperty = objectProto.hasOwnProperty; -/** Built-in value references. */var propertyIsEnumerable = objectProto.propertyIsEnumerable; -/** - * Checks if `value` is likely an `arguments` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an `arguments` object, - * else `false`. - * @example - * - * _.isArguments(function() { return arguments; }()); - * // => true - * - * _.isArguments([1, 2, 3]); - * // => false - */var isArguments = baseIsArguments(function () { return arguments }()) ? baseIsArguments : function (value) { return isObjectLike(value) && hasOwnProperty.call(value, "callee") && !propertyIsEnumerable.call(value, "callee") }; module.exports = isArguments - }, { "./_baseIsArguments": 96, "./isObjectLike": 252 }], 243: [function (require, module, exports) { - /** - * Checks if `value` is classified as an `Array` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array, else `false`. - * @example - * - * _.isArray([1, 2, 3]); - * // => true - * - * _.isArray(document.body.children); - * // => false - * - * _.isArray('abc'); - * // => false - * - * _.isArray(_.noop); - * // => false - */ - var isArray = Array.isArray; module.exports = isArray - }, {}], 244: [function (require, module, exports) { - var isFunction = require("./isFunction"), isLength = require("./isLength"); -/** - * Checks if `value` is array-like. A value is considered array-like if it's - * not a function and has a `value.length` that's an integer greater than or - * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is array-like, else `false`. - * @example - * - * _.isArrayLike([1, 2, 3]); - * // => true - * - * _.isArrayLike(document.body.children); - * // => true - * - * _.isArrayLike('abc'); - * // => true - * - * _.isArrayLike(_.noop); - * // => false - */function isArrayLike(value) { return value != null && isLength(value.length) && !isFunction(value) } module.exports = isArrayLike - }, { "./isFunction": 248, "./isLength": 249 }], 245: [function (require, module, exports) { - var isArrayLike = require("./isArrayLike"), isObjectLike = require("./isObjectLike"); -/** - * This method is like `_.isArrayLike` except that it also checks if `value` - * is an object. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array-like object, - * else `false`. - * @example - * - * _.isArrayLikeObject([1, 2, 3]); - * // => true - * - * _.isArrayLikeObject(document.body.children); - * // => true - * - * _.isArrayLikeObject('abc'); - * // => false - * - * _.isArrayLikeObject(_.noop); - * // => false - */function isArrayLikeObject(value) { return isObjectLike(value) && isArrayLike(value) } module.exports = isArrayLikeObject - }, { "./isArrayLike": 244, "./isObjectLike": 252 }], 246: [function (require, module, exports) { - var root = require("./_root"), stubFalse = require("./stubFalse"); -/** Detect free variable `exports`. */var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports; -/** Detect free variable `module`. */var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module; -/** Detect the popular CommonJS extension `module.exports`. */var moduleExports = freeModule && freeModule.exports === freeExports; -/** Built-in value references. */var Buffer = moduleExports ? root.Buffer : undefined; -/* Built-in method references for those with the same name as other `lodash` methods. */var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined; -/** - * Checks if `value` is a buffer. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. - * @example - * - * _.isBuffer(new Buffer(2)); - * // => true - * - * _.isBuffer(new Uint8Array(2)); - * // => false - */var isBuffer = nativeIsBuffer || stubFalse; module.exports = isBuffer - }, { "./_root": 208, "./stubFalse": 278 }], 247: [function (require, module, exports) { - var baseKeys = require("./_baseKeys"), getTag = require("./_getTag"), isArguments = require("./isArguments"), isArray = require("./isArray"), isArrayLike = require("./isArrayLike"), isBuffer = require("./isBuffer"), isPrototype = require("./_isPrototype"), isTypedArray = require("./isTypedArray"); -/** `Object#toString` result references. */var mapTag = "[object Map]", setTag = "[object Set]"; -/** Used for built-in method references. */var objectProto = Object.prototype; -/** Used to check objects for own properties. */var hasOwnProperty = objectProto.hasOwnProperty; -/** - * Checks if `value` is an empty object, collection, map, or set. - * - * Objects are considered empty if they have no own enumerable string keyed - * properties. - * - * Array-like values such as `arguments` objects, arrays, buffers, strings, or - * jQuery-like collections are considered empty if they have a `length` of `0`. - * Similarly, maps and sets are considered empty if they have a `size` of `0`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is empty, else `false`. - * @example - * - * _.isEmpty(null); - * // => true - * - * _.isEmpty(true); - * // => true - * - * _.isEmpty(1); - * // => true - * - * _.isEmpty([1, 2, 3]); - * // => false - * - * _.isEmpty({ 'a': 1 }); - * // => false - */function isEmpty(value) { if (value == null) { return true } if (isArrayLike(value) && (isArray(value) || typeof value == "string" || typeof value.splice == "function" || isBuffer(value) || isTypedArray(value) || isArguments(value))) { return !value.length } var tag = getTag(value); if (tag == mapTag || tag == setTag) { return !value.size } if (isPrototype(value)) { return !baseKeys(value).length } for (var key in value) { if (hasOwnProperty.call(value, key)) { return false } } return true } module.exports = isEmpty - }, { "./_baseKeys": 106, "./_getTag": 168, "./_isPrototype": 186, "./isArguments": 242, "./isArray": 243, "./isArrayLike": 244, "./isBuffer": 246, "./isTypedArray": 257 }], 248: [function (require, module, exports) { - var baseGetTag = require("./_baseGetTag"), isObject = require("./isObject"); -/** `Object#toString` result references. */var asyncTag = "[object AsyncFunction]", funcTag = "[object Function]", genTag = "[object GeneratorFunction]", proxyTag = "[object Proxy]"; -/** - * Checks if `value` is classified as a `Function` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a function, else `false`. - * @example - * - * _.isFunction(_); - * // => true - * - * _.isFunction(/abc/); - * // => false - */function isFunction(value) { - if (!isObject(value)) { return false } - // The use of `Object#toString` avoids issues with the `typeof` operator - // in Safari 9 which returns 'object' for typed arrays and other constructors. - var tag = baseGetTag(value); return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag - } module.exports = isFunction - }, { "./_baseGetTag": 91, "./isObject": 251 }], 249: [function (require, module, exports) { - /** Used as references for various `Number` constants. */ - var MAX_SAFE_INTEGER = 9007199254740991; -/** - * Checks if `value` is a valid array-like length. - * - * **Note:** This method is loosely based on - * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. - * @example - * - * _.isLength(3); - * // => true - * - * _.isLength(Number.MIN_VALUE); - * // => false - * - * _.isLength(Infinity); - * // => false - * - * _.isLength('3'); - * // => false - */function isLength(value) { return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER } module.exports = isLength - }, {}], 250: [function (require, module, exports) { - var baseIsMap = require("./_baseIsMap"), baseUnary = require("./_baseUnary"), nodeUtil = require("./_nodeUtil"); -/* Node.js helper references. */var nodeIsMap = nodeUtil && nodeUtil.isMap; -/** - * Checks if `value` is classified as a `Map` object. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a map, else `false`. - * @example - * - * _.isMap(new Map); - * // => true - * - * _.isMap(new WeakMap); - * // => false - */var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap; module.exports = isMap - }, { "./_baseIsMap": 99, "./_baseUnary": 127, "./_nodeUtil": 204 }], 251: [function (require, module, exports) { - /** - * Checks if `value` is the - * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) - * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an object, else `false`. - * @example - * - * _.isObject({}); - * // => true - * - * _.isObject([1, 2, 3]); - * // => true - * - * _.isObject(_.noop); - * // => true - * - * _.isObject(null); - * // => false - */ - function isObject(value) { var type = typeof value; return value != null && (type == "object" || type == "function") } module.exports = isObject - }, {}], 252: [function (require, module, exports) { - /** - * Checks if `value` is object-like. A value is object-like if it's not `null` - * and has a `typeof` result of "object". - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. - * @example - * - * _.isObjectLike({}); - * // => true - * - * _.isObjectLike([1, 2, 3]); - * // => true - * - * _.isObjectLike(_.noop); - * // => false - * - * _.isObjectLike(null); - * // => false - */ - function isObjectLike(value) { return value != null && typeof value == "object" } module.exports = isObjectLike - }, {}], 253: [function (require, module, exports) { - var baseGetTag = require("./_baseGetTag"), getPrototype = require("./_getPrototype"), isObjectLike = require("./isObjectLike"); -/** `Object#toString` result references. */var objectTag = "[object Object]"; -/** Used for built-in method references. */var funcProto = Function.prototype, objectProto = Object.prototype; -/** Used to resolve the decompiled source of functions. */var funcToString = funcProto.toString; -/** Used to check objects for own properties. */var hasOwnProperty = objectProto.hasOwnProperty; -/** Used to infer the `Object` constructor. */var objectCtorString = funcToString.call(Object); -/** - * Checks if `value` is a plain object, that is, an object created by the - * `Object` constructor or one with a `[[Prototype]]` of `null`. - * - * @static - * @memberOf _ - * @since 0.8.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. - * @example - * - * function Foo() { - * this.a = 1; - * } - * - * _.isPlainObject(new Foo); - * // => false - * - * _.isPlainObject([1, 2, 3]); - * // => false - * - * _.isPlainObject({ 'x': 0, 'y': 0 }); - * // => true - * - * _.isPlainObject(Object.create(null)); - * // => true - */function isPlainObject(value) { if (!isObjectLike(value) || baseGetTag(value) != objectTag) { return false } var proto = getPrototype(value); if (proto === null) { return true } var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor; return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString } module.exports = isPlainObject - }, { "./_baseGetTag": 91, "./_getPrototype": 164, "./isObjectLike": 252 }], 254: [function (require, module, exports) { - var baseIsSet = require("./_baseIsSet"), baseUnary = require("./_baseUnary"), nodeUtil = require("./_nodeUtil"); -/* Node.js helper references. */var nodeIsSet = nodeUtil && nodeUtil.isSet; -/** - * Checks if `value` is classified as a `Set` object. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a set, else `false`. - * @example - * - * _.isSet(new Set); - * // => true - * - * _.isSet(new WeakSet); - * // => false - */var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet; module.exports = isSet - }, { "./_baseIsSet": 103, "./_baseUnary": 127, "./_nodeUtil": 204 }], 255: [function (require, module, exports) { - var baseGetTag = require("./_baseGetTag"), isArray = require("./isArray"), isObjectLike = require("./isObjectLike"); -/** `Object#toString` result references. */var stringTag = "[object String]"; -/** - * Checks if `value` is classified as a `String` primitive or object. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a string, else `false`. - * @example - * - * _.isString('abc'); - * // => true - * - * _.isString(1); - * // => false - */function isString(value) { return typeof value == "string" || !isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag } module.exports = isString - }, { "./_baseGetTag": 91, "./isArray": 243, "./isObjectLike": 252 }], 256: [function (require, module, exports) { - var baseGetTag = require("./_baseGetTag"), isObjectLike = require("./isObjectLike"); -/** `Object#toString` result references. */var symbolTag = "[object Symbol]"; -/** - * Checks if `value` is classified as a `Symbol` primitive or object. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. - * @example - * - * _.isSymbol(Symbol.iterator); - * // => true - * - * _.isSymbol('abc'); - * // => false - */function isSymbol(value) { return typeof value == "symbol" || isObjectLike(value) && baseGetTag(value) == symbolTag } module.exports = isSymbol - }, { "./_baseGetTag": 91, "./isObjectLike": 252 }], 257: [function (require, module, exports) { - var baseIsTypedArray = require("./_baseIsTypedArray"), baseUnary = require("./_baseUnary"), nodeUtil = require("./_nodeUtil"); -/* Node.js helper references. */var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; -/** - * Checks if `value` is classified as a typed array. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. - * @example - * - * _.isTypedArray(new Uint8Array); - * // => true - * - * _.isTypedArray([]); - * // => false - */var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; module.exports = isTypedArray - }, { "./_baseIsTypedArray": 104, "./_baseUnary": 127, "./_nodeUtil": 204 }], 258: [function (require, module, exports) { - /** - * Checks if `value` is `undefined`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`. - * @example - * - * _.isUndefined(void 0); - * // => true - * - * _.isUndefined(null); - * // => false - */ - function isUndefined(value) { return value === undefined } module.exports = isUndefined - }, {}], 259: [function (require, module, exports) { - var arrayLikeKeys = require("./_arrayLikeKeys"), baseKeys = require("./_baseKeys"), isArrayLike = require("./isArrayLike"); -/** - * Creates an array of the own enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. See the - * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) - * for more details. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.keys(new Foo); - * // => ['a', 'b'] (iteration order is not guaranteed) - * - * _.keys('hi'); - * // => ['0', '1'] - */function keys(object) { return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object) } module.exports = keys - }, { "./_arrayLikeKeys": 68, "./_baseKeys": 106, "./isArrayLike": 244 }], 260: [function (require, module, exports) { - var arrayLikeKeys = require("./_arrayLikeKeys"), baseKeysIn = require("./_baseKeysIn"), isArrayLike = require("./isArrayLike"); -/** - * Creates an array of the own and inherited enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.keysIn(new Foo); - * // => ['a', 'b', 'c'] (iteration order is not guaranteed) - */function keysIn(object) { return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object) } module.exports = keysIn - }, { "./_arrayLikeKeys": 68, "./_baseKeysIn": 107, "./isArrayLike": 244 }], 261: [function (require, module, exports) { - /** - * Gets the last element of `array`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to query. - * @returns {*} Returns the last element of `array`. - * @example - * - * _.last([1, 2, 3]); - * // => 3 - */ - function last(array) { var length = array == null ? 0 : array.length; return length ? array[length - 1] : undefined } module.exports = last - }, {}], 262: [function (require, module, exports) { - var arrayMap = require("./_arrayMap"), baseIteratee = require("./_baseIteratee"), baseMap = require("./_baseMap"), isArray = require("./isArray"); -/** - * Creates an array of values by running each element in `collection` thru - * `iteratee`. The iteratee is invoked with three arguments: - * (value, index|key, collection). - * - * Many lodash methods are guarded to work as iteratees for methods like - * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`. - * - * The guarded methods are: - * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`, - * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`, - * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`, - * `template`, `trim`, `trimEnd`, `trimStart`, and `words` - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new mapped array. - * @example - * - * function square(n) { - * return n * n; - * } - * - * _.map([4, 8], square); - * // => [16, 64] - * - * _.map({ 'a': 4, 'b': 8 }, square); - * // => [16, 64] (iteration order is not guaranteed) - * - * var users = [ - * { 'user': 'barney' }, - * { 'user': 'fred' } - * ]; - * - * // The `_.property` iteratee shorthand. - * _.map(users, 'user'); - * // => ['barney', 'fred'] - */function map(collection, iteratee) { var func = isArray(collection) ? arrayMap : baseMap; return func(collection, baseIteratee(iteratee, 3)) } module.exports = map - }, { "./_arrayMap": 69, "./_baseIteratee": 105, "./_baseMap": 109, "./isArray": 243 }], 263: [function (require, module, exports) { - var baseAssignValue = require("./_baseAssignValue"), baseForOwn = require("./_baseForOwn"), baseIteratee = require("./_baseIteratee"); -/** - * Creates an object with the same keys as `object` and values generated - * by running each own enumerable string keyed property of `object` thru - * `iteratee`. The iteratee is invoked with three arguments: - * (value, key, object). - * - * @static - * @memberOf _ - * @since 2.4.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns the new mapped object. - * @see _.mapKeys - * @example - * - * var users = { - * 'fred': { 'user': 'fred', 'age': 40 }, - * 'pebbles': { 'user': 'pebbles', 'age': 1 } - * }; - * - * _.mapValues(users, function(o) { return o.age; }); - * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) - * - * // The `_.property` iteratee shorthand. - * _.mapValues(users, 'age'); - * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) - */function mapValues(object, iteratee) { var result = {}; iteratee = baseIteratee(iteratee, 3); baseForOwn(object, function (value, key, object) { baseAssignValue(result, key, iteratee(value, key, object)) }); return result } module.exports = mapValues - }, { "./_baseAssignValue": 79, "./_baseForOwn": 88, "./_baseIteratee": 105 }], 264: [function (require, module, exports) { - var baseExtremum = require("./_baseExtremum"), baseGt = require("./_baseGt"), identity = require("./identity"); -/** - * Computes the maximum value of `array`. If `array` is empty or falsey, - * `undefined` is returned. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Math - * @param {Array} array The array to iterate over. - * @returns {*} Returns the maximum value. - * @example - * - * _.max([4, 2, 8, 6]); - * // => 8 - * - * _.max([]); - * // => undefined - */function max(array) { return array && array.length ? baseExtremum(array, identity, baseGt) : undefined } module.exports = max - }, { "./_baseExtremum": 83, "./_baseGt": 92, "./identity": 241 }], 265: [function (require, module, exports) { - var MapCache = require("./_MapCache"); -/** Error message constants. */var FUNC_ERROR_TEXT = "Expected a function"; -/** - * Creates a function that memoizes the result of `func`. If `resolver` is - * provided, it determines the cache key for storing the result based on the - * arguments provided to the memoized function. By default, the first argument - * provided to the memoized function is used as the map cache key. The `func` - * is invoked with the `this` binding of the memoized function. - * - * **Note:** The cache is exposed as the `cache` property on the memoized - * function. Its creation may be customized by replacing the `_.memoize.Cache` - * constructor with one whose instances implement the - * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) - * method interface of `clear`, `delete`, `get`, `has`, and `set`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to have its output memoized. - * @param {Function} [resolver] The function to resolve the cache key. - * @returns {Function} Returns the new memoized function. - * @example - * - * var object = { 'a': 1, 'b': 2 }; - * var other = { 'c': 3, 'd': 4 }; - * - * var values = _.memoize(_.values); - * values(object); - * // => [1, 2] - * - * values(other); - * // => [3, 4] - * - * object.a = 2; - * values(object); - * // => [1, 2] - * - * // Modify the result cache. - * values.cache.set(object, ['a', 'b']); - * values(object); - * // => ['a', 'b'] - * - * // Replace `_.memoize.Cache`. - * _.memoize.Cache = WeakMap; - */function memoize(func, resolver) { if (typeof func != "function" || resolver != null && typeof resolver != "function") { throw new TypeError(FUNC_ERROR_TEXT) } var memoized = function () { var args = arguments, key = resolver ? resolver.apply(this, args) : args[0], cache = memoized.cache; if (cache.has(key)) { return cache.get(key) } var result = func.apply(this, args); memoized.cache = cache.set(key, result) || cache; return result }; memoized.cache = new (memoize.Cache || MapCache); return memoized } - // Expose `MapCache`. - memoize.Cache = MapCache; module.exports = memoize - }, { "./_MapCache": 55 }], 266: [function (require, module, exports) { - var baseMerge = require("./_baseMerge"), createAssigner = require("./_createAssigner"); -/** - * This method is like `_.assign` except that it recursively merges own and - * inherited enumerable string keyed properties of source objects into the - * destination object. Source properties that resolve to `undefined` are - * skipped if a destination value exists. Array and plain object properties - * are merged recursively. Other objects and value types are overridden by - * assignment. Source objects are applied from left to right. Subsequent - * sources overwrite property assignments of previous sources. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 0.5.0 - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @example - * - * var object = { - * 'a': [{ 'b': 2 }, { 'd': 4 }] - * }; - * - * var other = { - * 'a': [{ 'c': 3 }, { 'e': 5 }] - * }; - * - * _.merge(object, other); - * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] } - */var merge = createAssigner(function (object, source, srcIndex) { baseMerge(object, source, srcIndex) }); module.exports = merge - }, { "./_baseMerge": 112, "./_createAssigner": 147 }], 267: [function (require, module, exports) { - var baseExtremum = require("./_baseExtremum"), baseLt = require("./_baseLt"), identity = require("./identity"); -/** - * Computes the minimum value of `array`. If `array` is empty or falsey, - * `undefined` is returned. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Math - * @param {Array} array The array to iterate over. - * @returns {*} Returns the minimum value. - * @example - * - * _.min([4, 2, 8, 6]); - * // => 2 - * - * _.min([]); - * // => undefined - */function min(array) { return array && array.length ? baseExtremum(array, identity, baseLt) : undefined } module.exports = min - }, { "./_baseExtremum": 83, "./_baseLt": 108, "./identity": 241 }], 268: [function (require, module, exports) { - var baseExtremum = require("./_baseExtremum"), baseIteratee = require("./_baseIteratee"), baseLt = require("./_baseLt"); -/** - * This method is like `_.min` except that it accepts `iteratee` which is - * invoked for each element in `array` to generate the criterion by which - * the value is ranked. The iteratee is invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Math - * @param {Array} array The array to iterate over. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {*} Returns the minimum value. - * @example - * - * var objects = [{ 'n': 1 }, { 'n': 2 }]; - * - * _.minBy(objects, function(o) { return o.n; }); - * // => { 'n': 1 } - * - * // The `_.property` iteratee shorthand. - * _.minBy(objects, 'n'); - * // => { 'n': 1 } - */function minBy(array, iteratee) { return array && array.length ? baseExtremum(array, baseIteratee(iteratee, 2), baseLt) : undefined } module.exports = minBy - }, { "./_baseExtremum": 83, "./_baseIteratee": 105, "./_baseLt": 108 }], 269: [function (require, module, exports) { - /** - * This method returns `undefined`. - * - * @static - * @memberOf _ - * @since 2.3.0 - * @category Util - * @example - * - * _.times(2, _.noop); - * // => [undefined, undefined] - */ - function noop() { - // No operation performed. - } module.exports = noop - }, {}], 270: [function (require, module, exports) { - var root = require("./_root"); -/** - * Gets the timestamp of the number of milliseconds that have elapsed since - * the Unix epoch (1 January 1970 00:00:00 UTC). - * - * @static - * @memberOf _ - * @since 2.4.0 - * @category Date - * @returns {number} Returns the timestamp. - * @example - * - * _.defer(function(stamp) { - * console.log(_.now() - stamp); - * }, _.now()); - * // => Logs the number of milliseconds it took for the deferred invocation. - */var now = function () { return root.Date.now() }; module.exports = now - }, { "./_root": 208 }], 271: [function (require, module, exports) { - var basePick = require("./_basePick"), flatRest = require("./_flatRest"); -/** - * Creates an object composed of the picked `object` properties. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The source object. - * @param {...(string|string[])} [paths] The property paths to pick. - * @returns {Object} Returns the new object. - * @example - * - * var object = { 'a': 1, 'b': '2', 'c': 3 }; - * - * _.pick(object, ['a', 'c']); - * // => { 'a': 1, 'c': 3 } - */var pick = flatRest(function (object, paths) { return object == null ? {} : basePick(object, paths) }); module.exports = pick - }, { "./_basePick": 115, "./_flatRest": 157 }], 272: [function (require, module, exports) { - var baseProperty = require("./_baseProperty"), basePropertyDeep = require("./_basePropertyDeep"), isKey = require("./_isKey"), toKey = require("./_toKey"); -/** - * Creates a function that returns the value at `path` of a given object. - * - * @static - * @memberOf _ - * @since 2.4.0 - * @category Util - * @param {Array|string} path The path of the property to get. - * @returns {Function} Returns the new accessor function. - * @example - * - * var objects = [ - * { 'a': { 'b': 2 } }, - * { 'a': { 'b': 1 } } - * ]; - * - * _.map(objects, _.property('a.b')); - * // => [2, 1] - * - * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b'); - * // => [1, 2] - */function property(path) { return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path) } module.exports = property - }, { "./_baseProperty": 117, "./_basePropertyDeep": 118, "./_isKey": 183, "./_toKey": 223 }], 273: [function (require, module, exports) { - var createRange = require("./_createRange"); -/** - * Creates an array of numbers (positive and/or negative) progressing from - * `start` up to, but not including, `end`. A step of `-1` is used if a negative - * `start` is specified without an `end` or `step`. If `end` is not specified, - * it's set to `start` with `start` then set to `0`. - * - * **Note:** JavaScript follows the IEEE-754 standard for resolving - * floating-point values which can produce unexpected results. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Util - * @param {number} [start=0] The start of the range. - * @param {number} end The end of the range. - * @param {number} [step=1] The value to increment or decrement by. - * @returns {Array} Returns the range of numbers. - * @see _.inRange, _.rangeRight - * @example - * - * _.range(4); - * // => [0, 1, 2, 3] - * - * _.range(-4); - * // => [0, -1, -2, -3] - * - * _.range(1, 5); - * // => [1, 2, 3, 4] - * - * _.range(0, 20, 5); - * // => [0, 5, 10, 15] - * - * _.range(0, -4, -1); - * // => [0, -1, -2, -3] - * - * _.range(1, 4, 0); - * // => [1, 1, 1] - * - * _.range(0); - * // => [] - */var range = createRange(); module.exports = range - }, { "./_createRange": 151 }], 274: [function (require, module, exports) { - var arrayReduce = require("./_arrayReduce"), baseEach = require("./_baseEach"), baseIteratee = require("./_baseIteratee"), baseReduce = require("./_baseReduce"), isArray = require("./isArray"); -/** - * Reduces `collection` to a value which is the accumulated result of running - * each element in `collection` thru `iteratee`, where each successive - * invocation is supplied the return value of the previous. If `accumulator` - * is not given, the first element of `collection` is used as the initial - * value. The iteratee is invoked with four arguments: - * (accumulator, value, index|key, collection). - * - * Many lodash methods are guarded to work as iteratees for methods like - * `_.reduce`, `_.reduceRight`, and `_.transform`. - * - * The guarded methods are: - * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`, - * and `sortBy` - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @returns {*} Returns the accumulated value. - * @see _.reduceRight - * @example - * - * _.reduce([1, 2], function(sum, n) { - * return sum + n; - * }, 0); - * // => 3 - * - * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { - * (result[value] || (result[value] = [])).push(key); - * return result; - * }, {}); - * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed) - */function reduce(collection, iteratee, accumulator) { var func = isArray(collection) ? arrayReduce : baseReduce, initAccum = arguments.length < 3; return func(collection, baseIteratee(iteratee, 4), accumulator, initAccum, baseEach) } module.exports = reduce - }, { "./_arrayReduce": 71, "./_baseEach": 82, "./_baseIteratee": 105, "./_baseReduce": 120, "./isArray": 243 }], 275: [function (require, module, exports) { - var baseKeys = require("./_baseKeys"), getTag = require("./_getTag"), isArrayLike = require("./isArrayLike"), isString = require("./isString"), stringSize = require("./_stringSize"); -/** `Object#toString` result references. */var mapTag = "[object Map]", setTag = "[object Set]"; -/** - * Gets the size of `collection` by returning its length for array-like - * values or the number of own enumerable string keyed properties for objects. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object|string} collection The collection to inspect. - * @returns {number} Returns the collection size. - * @example - * - * _.size([1, 2, 3]); - * // => 3 - * - * _.size({ 'a': 1, 'b': 2 }); - * // => 2 - * - * _.size('pebbles'); - * // => 7 - */function size(collection) { if (collection == null) { return 0 } if (isArrayLike(collection)) { return isString(collection) ? stringSize(collection) : collection.length } var tag = getTag(collection); if (tag == mapTag || tag == setTag) { return collection.size } return baseKeys(collection).length } module.exports = size - }, { "./_baseKeys": 106, "./_getTag": 168, "./_stringSize": 221, "./isArrayLike": 244, "./isString": 255 }], 276: [function (require, module, exports) { - var baseFlatten = require("./_baseFlatten"), baseOrderBy = require("./_baseOrderBy"), baseRest = require("./_baseRest"), isIterateeCall = require("./_isIterateeCall"); -/** - * Creates an array of elements, sorted in ascending order by the results of - * running each element in a collection thru each iteratee. This method - * performs a stable sort, that is, it preserves the original sort order of - * equal elements. The iteratees are invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {...(Function|Function[])} [iteratees=[_.identity]] - * The iteratees to sort by. - * @returns {Array} Returns the new sorted array. - * @example - * - * var users = [ - * { 'user': 'fred', 'age': 48 }, - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 40 }, - * { 'user': 'barney', 'age': 34 } - * ]; - * - * _.sortBy(users, [function(o) { return o.user; }]); - * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]] - * - * _.sortBy(users, ['user', 'age']); - * // => objects for [['barney', 34], ['barney', 36], ['fred', 40], ['fred', 48]] - */var sortBy = baseRest(function (collection, iteratees) { if (collection == null) { return [] } var length = iteratees.length; if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) { iteratees = [] } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) { iteratees = [iteratees[0]] } return baseOrderBy(collection, baseFlatten(iteratees, 1), []) }); module.exports = sortBy - }, { "./_baseFlatten": 86, "./_baseOrderBy": 114, "./_baseRest": 121, "./_isIterateeCall": 182 }], 277: [function (require, module, exports) { - /** - * This method returns a new empty array. - * - * @static - * @memberOf _ - * @since 4.13.0 - * @category Util - * @returns {Array} Returns the new empty array. - * @example - * - * var arrays = _.times(2, _.stubArray); - * - * console.log(arrays); - * // => [[], []] - * - * console.log(arrays[0] === arrays[1]); - * // => false - */ - function stubArray() { return [] } module.exports = stubArray - }, {}], 278: [function (require, module, exports) { - /** - * This method returns `false`. - * - * @static - * @memberOf _ - * @since 4.13.0 - * @category Util - * @returns {boolean} Returns `false`. - * @example - * - * _.times(2, _.stubFalse); - * // => [false, false] - */ - function stubFalse() { return false } module.exports = stubFalse - }, {}], 279: [function (require, module, exports) { - var toNumber = require("./toNumber"); -/** Used as references for various `Number` constants. */var INFINITY = 1 / 0, MAX_INTEGER = 17976931348623157e292; -/** - * Converts `value` to a finite number. - * - * @static - * @memberOf _ - * @since 4.12.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {number} Returns the converted number. - * @example - * - * _.toFinite(3.2); - * // => 3.2 - * - * _.toFinite(Number.MIN_VALUE); - * // => 5e-324 - * - * _.toFinite(Infinity); - * // => 1.7976931348623157e+308 - * - * _.toFinite('3.2'); - * // => 3.2 - */function toFinite(value) { if (!value) { return value === 0 ? value : 0 } value = toNumber(value); if (value === INFINITY || value === -INFINITY) { var sign = value < 0 ? -1 : 1; return sign * MAX_INTEGER } return value === value ? value : 0 } module.exports = toFinite - }, { "./toNumber": 281 }], 280: [function (require, module, exports) { - var toFinite = require("./toFinite"); -/** - * Converts `value` to an integer. - * - * **Note:** This method is loosely based on - * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {number} Returns the converted integer. - * @example - * - * _.toInteger(3.2); - * // => 3 - * - * _.toInteger(Number.MIN_VALUE); - * // => 0 - * - * _.toInteger(Infinity); - * // => 1.7976931348623157e+308 - * - * _.toInteger('3.2'); - * // => 3 - */function toInteger(value) { var result = toFinite(value), remainder = result % 1; return result === result ? remainder ? result - remainder : result : 0 } module.exports = toInteger - }, { "./toFinite": 279 }], 281: [function (require, module, exports) { - var isObject = require("./isObject"), isSymbol = require("./isSymbol"); -/** Used as references for various `Number` constants. */var NAN = 0 / 0; -/** Used to match leading and trailing whitespace. */var reTrim = /^\s+|\s+$/g; -/** Used to detect bad signed hexadecimal string values. */var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; -/** Used to detect binary string values. */var reIsBinary = /^0b[01]+$/i; -/** Used to detect octal string values. */var reIsOctal = /^0o[0-7]+$/i; -/** Built-in method references without a dependency on `root`. */var freeParseInt = parseInt; -/** - * Converts `value` to a number. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to process. - * @returns {number} Returns the number. - * @example - * - * _.toNumber(3.2); - * // => 3.2 - * - * _.toNumber(Number.MIN_VALUE); - * // => 5e-324 - * - * _.toNumber(Infinity); - * // => Infinity - * - * _.toNumber('3.2'); - * // => 3.2 - */function toNumber(value) { if (typeof value == "number") { return value } if (isSymbol(value)) { return NAN } if (isObject(value)) { var other = typeof value.valueOf == "function" ? value.valueOf() : value; value = isObject(other) ? other + "" : other } if (typeof value != "string") { return value === 0 ? value : +value } value = value.replace(reTrim, ""); var isBinary = reIsBinary.test(value); return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value } module.exports = toNumber - }, { "./isObject": 251, "./isSymbol": 256 }], 282: [function (require, module, exports) { - var copyObject = require("./_copyObject"), keysIn = require("./keysIn"); -/** - * Converts `value` to a plain object flattening inherited enumerable string - * keyed properties of `value` to own properties of the plain object. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {Object} Returns the converted plain object. - * @example - * - * function Foo() { - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.assign({ 'a': 1 }, new Foo); - * // => { 'a': 1, 'b': 2 } - * - * _.assign({ 'a': 1 }, _.toPlainObject(new Foo)); - * // => { 'a': 1, 'b': 2, 'c': 3 } - */function toPlainObject(value) { return copyObject(value, keysIn(value)) } module.exports = toPlainObject - }, { "./_copyObject": 143, "./keysIn": 260 }], 283: [function (require, module, exports) { - var baseToString = require("./_baseToString"); -/** - * Converts `value` to a string. An empty string is returned for `null` - * and `undefined` values. The sign of `-0` is preserved. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {string} Returns the converted string. - * @example - * - * _.toString(null); - * // => '' - * - * _.toString(-0); - * // => '-0' - * - * _.toString([1, 2, 3]); - * // => '1,2,3' - */function toString(value) { return value == null ? "" : baseToString(value) } module.exports = toString - }, { "./_baseToString": 126 }], 284: [function (require, module, exports) { - var arrayEach = require("./_arrayEach"), baseCreate = require("./_baseCreate"), baseForOwn = require("./_baseForOwn"), baseIteratee = require("./_baseIteratee"), getPrototype = require("./_getPrototype"), isArray = require("./isArray"), isBuffer = require("./isBuffer"), isFunction = require("./isFunction"), isObject = require("./isObject"), isTypedArray = require("./isTypedArray"); -/** - * An alternative to `_.reduce`; this method transforms `object` to a new - * `accumulator` object which is the result of running each of its own - * enumerable string keyed properties thru `iteratee`, with each invocation - * potentially mutating the `accumulator` object. If `accumulator` is not - * provided, a new object with the same `[[Prototype]]` will be used. The - * iteratee is invoked with four arguments: (accumulator, value, key, object). - * Iteratee functions may exit iteration early by explicitly returning `false`. - * - * @static - * @memberOf _ - * @since 1.3.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [accumulator] The custom accumulator value. - * @returns {*} Returns the accumulated value. - * @example - * - * _.transform([2, 3, 4], function(result, n) { - * result.push(n *= n); - * return n % 2 == 0; - * }, []); - * // => [4, 9] - * - * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { - * (result[value] || (result[value] = [])).push(key); - * }, {}); - * // => { '1': ['a', 'c'], '2': ['b'] } - */function transform(object, iteratee, accumulator) { var isArr = isArray(object), isArrLike = isArr || isBuffer(object) || isTypedArray(object); iteratee = baseIteratee(iteratee, 4); if (accumulator == null) { var Ctor = object && object.constructor; if (isArrLike) { accumulator = isArr ? new Ctor : [] } else if (isObject(object)) { accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {} } else { accumulator = {} } } (isArrLike ? arrayEach : baseForOwn)(object, function (value, index, object) { return iteratee(accumulator, value, index, object) }); return accumulator } module.exports = transform - }, { "./_arrayEach": 64, "./_baseCreate": 81, "./_baseForOwn": 88, "./_baseIteratee": 105, "./_getPrototype": 164, "./isArray": 243, "./isBuffer": 246, "./isFunction": 248, "./isObject": 251, "./isTypedArray": 257 }], 285: [function (require, module, exports) { - var baseFlatten = require("./_baseFlatten"), baseRest = require("./_baseRest"), baseUniq = require("./_baseUniq"), isArrayLikeObject = require("./isArrayLikeObject"); -/** - * Creates an array of unique values, in order, from all given arrays using - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @returns {Array} Returns the new array of combined values. - * @example - * - * _.union([2], [1, 2]); - * // => [2, 1] - */var union = baseRest(function (arrays) { return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true)) }); module.exports = union - }, { "./_baseFlatten": 86, "./_baseRest": 121, "./_baseUniq": 128, "./isArrayLikeObject": 245 }], 286: [function (require, module, exports) { - var toString = require("./toString"); -/** Used to generate unique IDs. */var idCounter = 0; -/** - * Generates a unique ID. If `prefix` is given, the ID is appended to it. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Util - * @param {string} [prefix=''] The value to prefix the ID with. - * @returns {string} Returns the unique ID. - * @example - * - * _.uniqueId('contact_'); - * // => 'contact_104' - * - * _.uniqueId(); - * // => '105' - */function uniqueId(prefix) { var id = ++idCounter; return toString(prefix) + id } module.exports = uniqueId - }, { "./toString": 283 }], 287: [function (require, module, exports) { - var baseValues = require("./_baseValues"), keys = require("./keys"); -/** - * Creates an array of the own enumerable string keyed property values of `object`. - * - * **Note:** Non-object values are coerced to objects. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property values. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.values(new Foo); - * // => [1, 2] (iteration order is not guaranteed) - * - * _.values('hi'); - * // => ['h', 'i'] - */function values(object) { return object == null ? [] : baseValues(object, keys(object)) } module.exports = values - }, { "./_baseValues": 129, "./keys": 259 }], 288: [function (require, module, exports) { - var assignValue = require("./_assignValue"), baseZipObject = require("./_baseZipObject"); -/** - * This method is like `_.fromPairs` except that it accepts two arrays, - * one of property identifiers and one of corresponding values. - * - * @static - * @memberOf _ - * @since 0.4.0 - * @category Array - * @param {Array} [props=[]] The property identifiers. - * @param {Array} [values=[]] The property values. - * @returns {Object} Returns the new object. - * @example - * - * _.zipObject(['a', 'b'], [1, 2]); - * // => { 'a': 1, 'b': 2 } - */function zipObject(props, values) { return baseZipObject(props || [], values || [], assignValue) } module.exports = zipObject - }, { "./_assignValue": 75, "./_baseZipObject": 130 }] - }, {}, [1])(1) -}); diff --git a/modules/analyze/html/external/halfmoon-ui/cores/halfmoon.cores.css b/modules/analyze/html/external/halfmoon-ui/cores/halfmoon.cores.css new file mode 100644 index 0000000..38744d6 --- /dev/null +++ b/modules/analyze/html/external/halfmoon-ui/cores/halfmoon.cores.css @@ -0,0 +1,514 @@ + +/*! + * ---------------------------------------------------------------------------- + * Halfmoon CSS - Modern theme + * Copyright (c) 2023, Tahmid Khan | MIT License | https://www.gethalfmoon.com + * ---------------------------------------------------------------------------- + * The above notice must be included in its entirety when this file is used. + */ + +/* Color palette */ + +[data-bs-core=modern] { + /* Gray */ + + --bs-slate-hue: 216; + --bs-slate-saturation: 20%; + + /* Light gray */ + + --bs-lightgray-hue: var(--bs-slate-hue); + --bs-lightgray-saturation: var(--bs-slate-saturation); + + /* Sable (almost black) */ + + --bs-sable-hue: var(--bs-darkgray-hue); + --bs-sable-saturation: var(--bs-darkgray-saturation); + --bs-sable-100-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 31%; + --bs-sable-200-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 29%; + --bs-sable-300-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 27%; + --bs-sable-400-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 25%; + --bs-sable-500-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 23%; + --bs-sable-600-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 21%; + --bs-sable-700-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 19%; + --bs-sable-800-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 17%; + --bs-sable-900-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 15%; + --bs-sable-100: hsl(var(--bs-sable-100-hsl)); + --bs-sable-200: hsl(var(--bs-sable-200-hsl)); + --bs-sable-300: hsl(var(--bs-sable-300-hsl)); + --bs-sable-400: hsl(var(--bs-sable-400-hsl)); + --bs-sable-500: hsl(var(--bs-sable-500-hsl)); + --bs-sable-600: hsl(var(--bs-sable-600-hsl)); + --bs-sable-700: hsl(var(--bs-sable-700-hsl)); + --bs-sable-800: hsl(var(--bs-sable-800-hsl)); + --bs-sable-900: hsl(var(--bs-sable-900-hsl)); + --bs-sable-hsl: var(--bs-sable-500-hsl); + --bs-sable: hsl(var(--bs-sable-hsl)); + --bs-sable-foreground-hsl: var(--bs-white-hsl); + --bs-sable-foreground: hsl(var(--bs-sable-foreground-hsl)); + --bs-sable-text-emphasis-hsl: var(--bs-sable-600-hsl); + --bs-sable-text-emphasis: hsl(var(--bs-sable-text-emphasis-hsl)); + --bs-sable-hover-bg: var(--bs-sable-600); + --bs-sable-active-bg: var(--bs-sable-700); + --bs-sable-bg-subtle: hsl(var(--bs-sable-hue), var(--bs-sable-saturation), 70%); + --bs-sable-border-subtle: var(--bs-sable-400); + --bs-sable-checkbox-svg: var(--bs-checkbox-svg-light); + --bs-sable-dash-svg: var(--bs-dash-svg-light); + --bs-sable-radio-svg: var(--bs-radio-svg-light); + --bs-sable-switch-svg: var(--bs-switch-svg-light); + + /* Primary */ + + --bs-primary-hue: var(--bs-navy-hue); + --bs-primary-saturation: var(--bs-navy-saturation); + --bs-primary-100-hsl: var(--bs-navy-100-hsl); + --bs-primary-200-hsl: var(--bs-navy-200-hsl); + --bs-primary-300-hsl: var(--bs-navy-300-hsl); + --bs-primary-400-hsl: var(--bs-navy-400-hsl); + --bs-primary-500-hsl: var(--bs-navy-500-hsl); + --bs-primary-600-hsl: var(--bs-navy-600-hsl); + --bs-primary-700-hsl: var(--bs-navy-700-hsl); + --bs-primary-800-hsl: var(--bs-navy-800-hsl); + --bs-primary-900-hsl: var(--bs-navy-900-hsl); + --bs-primary-100: var(--bs-navy-100); + --bs-primary-200: var(--bs-navy-200); + --bs-primary-300: var(--bs-navy-300); + --bs-primary-400: var(--bs-navy-400); + --bs-primary-500: var(--bs-navy-500); + --bs-primary-600: var(--bs-navy-600); + --bs-primary-700: var(--bs-navy-700); + --bs-primary-800: var(--bs-navy-800); + --bs-primary-900: var(--bs-navy-900); + --bs-primary-hsl: var(--bs-navy-hsl); + --bs-primary: var(--bs-navy); + --bs-primary-foreground-hsl: var(--bs-navy-foreground-hsl); + --bs-primary-foreground: var(--bs-navy-foreground); + --bs-primary-text-emphasis-hsl: var(--bs-navy-text-emphasis-hsl); + --bs-primary-text-emphasis: var(--bs-navy-text-emphasis); + --bs-primary-hover-bg: var(--bs-navy-hover-bg); + --bs-primary-active-bg: var(--bs-navy-active-bg); + --bs-primary-bg-subtle: var(--bs-navy-bg-subtle); + --bs-primary-border-subtle: var(--bs-navy-border-subtle); + --bs-primary-checkbox-svg: var(--bs-navy-checkbox-svg); + --bs-primary-dash-svg: var(--bs-navy-dash-svg); + --bs-primary-radio-svg: var(--bs-navy-radio-svg); + --bs-primary-switch-svg: var(--bs-navy-switch-svg); + + /* Info */ + + --bs-info-hue: var(--bs-blue-hue); + --bs-info-saturation: var(--bs-blue-saturation); + --bs-info-100-hsl: var(--bs-blue-100-hsl); + --bs-info-200-hsl: var(--bs-blue-200-hsl); + --bs-info-300-hsl: var(--bs-blue-300-hsl); + --bs-info-400-hsl: var(--bs-blue-400-hsl); + --bs-info-500-hsl: var(--bs-blue-500-hsl); + --bs-info-600-hsl: var(--bs-blue-600-hsl); + --bs-info-700-hsl: var(--bs-blue-700-hsl); + --bs-info-800-hsl: var(--bs-blue-800-hsl); + --bs-info-900-hsl: var(--bs-blue-900-hsl); + --bs-info-100: var(--bs-blue-100); + --bs-info-200: var(--bs-blue-200); + --bs-info-300: var(--bs-blue-300); + --bs-info-400: var(--bs-blue-400); + --bs-info-500: var(--bs-blue-500); + --bs-info-600: var(--bs-blue-600); + --bs-info-700: var(--bs-blue-700); + --bs-info-800: var(--bs-blue-800); + --bs-info-900: var(--bs-blue-900); + --bs-info-hsl: var(--bs-blue-hsl); + --bs-info: var(--bs-blue); + --bs-info-foreground-hsl: var(--bs-blue-foreground-hsl); + --bs-info-foreground: var(--bs-blue-foreground); + --bs-info-text-emphasis-hsl: var(--bs-blue-text-emphasis-hsl); + --bs-info-text-emphasis: var(--bs-blue-text-emphasis); + --bs-info-hover-bg: var(--bs-blue-hover-bg); + --bs-info-active-bg: var(--bs-blue-active-bg); + --bs-info-bg-subtle: var(--bs-blue-bg-subtle); + --bs-info-border-subtle: var(--bs-blue-border-subtle); + --bs-info-checkbox-svg: var(--bs-blue-checkbox-svg); + --bs-info-dash-svg: var(--bs-blue-dash-svg); + --bs-info-radio-svg: var(--bs-blue-radio-svg); + --bs-info-switch-svg: var(--bs-blue-switch-svg); +} + +[data-bs-core=modern][data-bs-theme=dark] { + /* Dark gray */ + + --bs-darkgray-text-emphasis-hsl: var(--bs-darkgray-200-hsl); + --bs-darkgray-text-emphasis: hsl(var(--bs-darkgray-text-emphasis-hsl)); + + /* Sable (black) */ + + --bs-sable-text-emphasis-hsl: var(--bs-sable-400-hsl); + --bs-sable-text-emphasis: hsl(var(--bs-sable-text-emphasis-hsl)); + --bs-sable-bg-subtle: hsl(var(--bs-sable-hue), var(--bs-sable-saturation), 14%); + --bs-sable-border-subtle: var(--bs-sable-600); + + /* Blue */ + + --bs-blue-text-emphasis-hsl: var(--bs-blue-300-hsl); + --bs-blue-text-emphasis: hsl(var(--bs-blue-text-emphasis-hsl)); + + /* Primary */ + + --bs-primary-hue: var(--bs-sky-hue); + --bs-primary-saturation: var(--bs-sky-saturation); + --bs-primary-100-hsl: var(--bs-sky-100-hsl); + --bs-primary-200-hsl: var(--bs-sky-200-hsl); + --bs-primary-300-hsl: var(--bs-sky-300-hsl); + --bs-primary-400-hsl: var(--bs-sky-400-hsl); + --bs-primary-500-hsl: var(--bs-sky-500-hsl); + --bs-primary-600-hsl: var(--bs-sky-600-hsl); + --bs-primary-700-hsl: var(--bs-sky-700-hsl); + --bs-primary-800-hsl: var(--bs-sky-800-hsl); + --bs-primary-900-hsl: var(--bs-sky-900-hsl); + --bs-primary-100: var(--bs-sky-100); + --bs-primary-200: var(--bs-sky-200); + --bs-primary-300: var(--bs-sky-300); + --bs-primary-400: var(--bs-sky-400); + --bs-primary-500: var(--bs-sky-500); + --bs-primary-600: var(--bs-sky-600); + --bs-primary-700: var(--bs-sky-700); + --bs-primary-800: var(--bs-sky-800); + --bs-primary-900: var(--bs-sky-900); + --bs-primary-hsl: var(--bs-sky-hsl); + --bs-primary: var(--bs-sky); + --bs-primary-foreground-hsl: var(--bs-sky-foreground-hsl); + --bs-primary-foreground: var(--bs-sky-foreground); + --bs-primary-text-emphasis-hsl: var(--bs-sky-text-emphasis-hsl); + --bs-primary-text-emphasis: var(--bs-sky-text-emphasis); + --bs-primary-hover-bg: var(--bs-sky-hover-bg); + --bs-primary-active-bg: var(--bs-sky-active-bg); + --bs-primary-bg-subtle: var(--bs-sky-bg-subtle); + --bs-primary-border-subtle: var(--bs-sky-border-subtle); + --bs-primary-checkbox-svg: var(--bs-sky-checkbox-svg); + --bs-primary-dash-svg: var(--bs-sky-dash-svg); + --bs-primary-radio-svg: var(--bs-sky-radio-svg); + --bs-primary-switch-svg: var(--bs-sky-switch-svg); + + /* Info */ + + --bs-info-text-emphasis-hsl: var(--bs-blue-text-emphasis-hsl); + --bs-info-text-emphasis: var(--bs-blue-text-emphasis); + --bs-info-bg-subtle: var(--bs-blue-bg-subtle); + --bs-info-border-subtle: var(--bs-blue-border-subtle); +} + +/* Variables */ + +[data-bs-core=modern] { + /* Link */ + + --bs-link-color-hsl: var(--bs-info-text-emphasis-hsl); + --bs-link-hover-color-hsl: var(--bs-info-hsl); + + /* Content (used as needed in cards, panels, menus, etc.) */ + + --bs-content-bg-hsl: var(--bs-body-bg-hsl); + --bs-content-border-color: var(--bs-border-color); + + /* Form */ + + --bs-form-focus-border-color: var(--bs-info-border-subtle); + --bs-form-focus-shadow-hsl: var(--bs-info-hsl); + --bs-form-check-focus-border-color: var(--bs-info-border-subtle); +} + +[data-bs-core=modern]:not([data-bs-theme=dark]) { + /* Background */ + + --bs-body-bg-hsl: var(--bs-white-hsl); + --bs-secondary-bg-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 98.75%; + --bs-tertiary-bg-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 97.5%; + + /* Border */ + + --bs-border-color: var(--bs-lightgray-700); + --bs-border-color-light: var(--bs-lightgray-500); +} + +[data-bs-core=modern][data-bs-theme=dark] { + /* Background */ + + --bs-body-bg-hsl: var(--bs-sable-900-hsl); + --bs-secondary-bg-hsl: var(--bs-sable-800-hsl); + --bs-tertiary-bg-hsl: var(--bs-sable-700-hsl); + + /* Border */ + + --bs-border-color: var(--bs-gray-900); + + /* Content (used as needed in cards, panels, menus, etc.) */ + + --bs-content-floating-bg-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 16.5%; + + /* Action (used as needed in buttons, inputs, menu items, page links, etc.) */ + + --bs-action-border-color: var(--bs-border-color); + + /* Contextual buttons */ + + --bs-ctx-btn-border-color: transparent; + --bs-ctx-btn-bg-clip: border-box; + + /* Action bar (used as needed in range, progress, etc.) */ + + --bs-actionbar-border-color: hsla(var(--bs-white-hsl), 0.075); + --bs-progresstrack-border-width: 0; + --bs-progresstrack-box-shadow: inset 0 0 0 var(--bs-border-width) var(--bs-actionbar-border-color); + --bs-progresstrack-bg-clip: border-box; +} + +/* Sidebar */ + +[data-bs-core=modern] .sidebar { + --bs-sidebar-item-padding-x: 1rem; + --bs-sidebar-item-padding-y: 0.25rem; + --bs-sidebar-header-font-weight: var(--bs-font-weight-bold); + --bs-sidebar-divider-bg: var(--bs-sidebar-bg); +} + +[data-bs-core=modern] .sidebar-nav .nav-link { + border-left: var(--bs-border-width) solid var(--bs-border-color-light); +} + +[data-bs-core=modern] .sidebar-nav .nav-link.active, +[data-bs-core=modern] .sidebar-nav .nav-link.show { + font-weight: var(--bs-font-weight-bold); + border-color: currentColor; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/*! + * ---------------------------------------------------------------------------- + * Halfmoon CSS - Elegant theme + * Copyright (c) 2023, Tahmid Khan | MIT License | https://www.gethalfmoon.com + * ---------------------------------------------------------------------------- + * The above notice must be included in its entirety when this file is used. + */ + +/* Color palette */ + +[data-bs-core=elegant] { + /* Light gray */ + + --bs-lightgray-hue: var(--bs-stone-hue); + --bs-lightgray-saturation: var(--bs-stone-saturation); + + /* Dark gray */ + + --bs-darkgray-hue: var(--bs-stone-hue); + --bs-darkgray-saturation: var(--bs-stone-saturation); + + /* Primary */ + + --bs-primary-hue: var(--bs-sable-hue); + --bs-primary-saturation: var(--bs-sable-saturation); + --bs-primary-100-hsl: var(--bs-sable-100-hsl); + --bs-primary-200-hsl: var(--bs-sable-200-hsl); + --bs-primary-300-hsl: var(--bs-sable-300-hsl); + --bs-primary-400-hsl: var(--bs-sable-400-hsl); + --bs-primary-500-hsl: var(--bs-sable-500-hsl); + --bs-primary-600-hsl: var(--bs-sable-600-hsl); + --bs-primary-700-hsl: var(--bs-sable-700-hsl); + --bs-primary-800-hsl: var(--bs-sable-800-hsl); + --bs-primary-900-hsl: var(--bs-sable-900-hsl); + --bs-primary-100: var(--bs-sable-100); + --bs-primary-200: var(--bs-sable-200); + --bs-primary-300: var(--bs-sable-300); + --bs-primary-400: var(--bs-sable-400); + --bs-primary-500: var(--bs-sable-500); + --bs-primary-600: var(--bs-sable-600); + --bs-primary-700: var(--bs-sable-700); + --bs-primary-800: var(--bs-sable-800); + --bs-primary-900: var(--bs-sable-900); + --bs-primary-hsl: var(--bs-sable-hsl); + --bs-primary: var(--bs-sable); + --bs-primary-foreground-hsl: var(--bs-sable-foreground-hsl); + --bs-primary-foreground: var(--bs-sable-foreground); + --bs-primary-text-emphasis-hsl: var(--bs-sable-text-emphasis-hsl); + --bs-primary-text-emphasis: var(--bs-sable-text-emphasis); + --bs-primary-hover-bg: var(--bs-sable-hover-bg); + --bs-primary-active-bg: var(--bs-sable-active-bg); + --bs-primary-bg-subtle: var(--bs-sable-bg-subtle); + --bs-primary-border-subtle: var(--bs-sable-border-subtle); + --bs-primary-checkbox-svg: var(--bs-sable-checkbox-svg); + --bs-primary-dash-svg: var(--bs-sable-dash-svg); + --bs-primary-radio-svg: var(--bs-sable-radio-svg); + --bs-primary-switch-svg: var(--bs-sable-switch-svg); + + /* Info */ + + --bs-info-hue: var(--bs-sienna-hue); + --bs-info-saturation: var(--bs-sienna-saturation); + --bs-info-100-hsl: var(--bs-sienna-100-hsl); + --bs-info-200-hsl: var(--bs-sienna-200-hsl); + --bs-info-300-hsl: var(--bs-sienna-300-hsl); + --bs-info-400-hsl: var(--bs-sienna-400-hsl); + --bs-info-500-hsl: var(--bs-sienna-500-hsl); + --bs-info-600-hsl: var(--bs-sienna-600-hsl); + --bs-info-700-hsl: var(--bs-sienna-700-hsl); + --bs-info-800-hsl: var(--bs-sienna-800-hsl); + --bs-info-900-hsl: var(--bs-sienna-900-hsl); + --bs-info-100: var(--bs-sienna-100); + --bs-info-200: var(--bs-sienna-200); + --bs-info-300: var(--bs-sienna-300); + --bs-info-400: var(--bs-sienna-400); + --bs-info-500: var(--bs-sienna-500); + --bs-info-600: var(--bs-sienna-600); + --bs-info-700: var(--bs-sienna-700); + --bs-info-800: var(--bs-sienna-800); + --bs-info-900: var(--bs-sienna-900); + --bs-info-hsl: var(--bs-sienna-hsl); + --bs-info: var(--bs-sienna); + --bs-info-foreground-hsl: var(--bs-sienna-foreground-hsl); + --bs-info-foreground: var(--bs-sienna-foreground); + --bs-info-text-emphasis-hsl: var(--bs-sienna-text-emphasis-hsl); + --bs-info-text-emphasis: var(--bs-sienna-text-emphasis); + --bs-info-hover-bg: var(--bs-sienna-hover-bg); + --bs-info-active-bg: var(--bs-sienna-active-bg); + --bs-info-bg-subtle: var(--bs-sienna-bg-subtle); + --bs-info-border-subtle: var(--bs-sienna-border-subtle); + --bs-info-checkbox-svg: var(--bs-sienna-checkbox-svg); + --bs-info-dash-svg: var(--bs-sienna-dash-svg); + --bs-info-radio-svg: var(--bs-sienna-radio-svg); + --bs-info-switch-svg: var(--bs-sienna-switch-svg); +} + +[data-bs-core=elegant][data-bs-theme=dark] { + /* Primary */ + + --bs-primary-hue: var(--bs-lightgray-hue); + --bs-primary-saturation: var(--bs-lightgray-saturation); + --bs-primary-100-hsl: var(--bs-lightgray-100-hsl); + --bs-primary-200-hsl: var(--bs-lightgray-200-hsl); + --bs-primary-300-hsl: var(--bs-lightgray-300-hsl); + --bs-primary-400-hsl: var(--bs-lightgray-400-hsl); + --bs-primary-500-hsl: var(--bs-lightgray-500-hsl); + --bs-primary-600-hsl: var(--bs-lightgray-600-hsl); + --bs-primary-700-hsl: var(--bs-lightgray-700-hsl); + --bs-primary-800-hsl: var(--bs-lightgray-800-hsl); + --bs-primary-900-hsl: var(--bs-lightgray-900-hsl); + --bs-primary-100: var(--bs-lightgray-100); + --bs-primary-200: var(--bs-lightgray-200); + --bs-primary-300: var(--bs-lightgray-300); + --bs-primary-400: var(--bs-lightgray-400); + --bs-primary-500: var(--bs-lightgray-500); + --bs-primary-600: var(--bs-lightgray-600); + --bs-primary-700: var(--bs-lightgray-700); + --bs-primary-800: var(--bs-lightgray-800); + --bs-primary-900: var(--bs-lightgray-900); + --bs-primary-hsl: var(--bs-lightgray-hsl); + --bs-primary: var(--bs-lightgray); + --bs-primary-foreground-hsl: var(--bs-lightgray-foreground-hsl); + --bs-primary-foreground: var(--bs-lightgray-foreground); + --bs-primary-text-emphasis-hsl: var(--bs-lightgray-text-emphasis-hsl); + --bs-primary-text-emphasis: var(--bs-lightgray-text-emphasis); + --bs-primary-hover-bg: var(--bs-lightgray-hover-bg); + --bs-primary-active-bg: var(--bs-lightgray-active-bg); + --bs-primary-bg-subtle: var(--bs-lightgray-bg-subtle); + --bs-primary-border-subtle: var(--bs-lightgray-border-subtle); + --bs-primary-checkbox-svg: var(--bs-lightgray-checkbox-svg); + --bs-primary-dash-svg: var(--bs-lightgray-dash-svg); + --bs-primary-radio-svg: var(--bs-lightgray-radio-svg); + --bs-primary-switch-svg: var(--bs-lightgray-switch-svg); + + /* Info */ + + --bs-info-text-emphasis-hsl: var(--bs-sienna-text-emphasis-hsl); + --bs-info-text-emphasis: var(--bs-sienna-text-emphasis); + --bs-info-bg-subtle: var(--bs-sienna-bg-subtle); + --bs-info-border-subtle: var(--bs-sienna-border-subtle); +} + +/* Variables */ + +[data-bs-core=elegant] { + /* Font family */ + + --bs-body-font-family: var(--bs-font-serif); + + /* Link */ + + --bs-link-color-hsl: var(--bs-primary-text-emphasis-hsl); + --bs-link-hover-color-hsl: var(--bs-primary-hsl); + + /* Content (used as needed in cards, panels, menus, etc.) */ + + --bs-content-bg-hsl: var(--bs-body-bg-hsl); + --bs-content-border-color: var(--bs-border-color); + + /* Form */ + + --bs-form-focus-border-color: var(--bs-info-border-subtle); + --bs-form-focus-shadow-hsl: var(--bs-info-hsl); + --bs-form-check-focus-border-color: var(--bs-info-border-subtle); +} + +[data-bs-core=elegant]:not([data-bs-theme=dark]) { + /* Color */ + + --bs-body-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 5%; + --bs-secondary-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 30%; + --bs-tertiary-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 55%; + + /* Background */ + + --bs-body-bg-hsl: var(--bs-info-hue), var(--bs-info-saturation), 97.5%; + --bs-secondary-bg-hsl: var(--bs-info-hue), var(--bs-info-saturation), 95%; + --bs-tertiary-bg-hsl: var(--bs-info-hue), var(--bs-info-saturation), 92.5%; + + /* Border */ + + --bs-border-color: var(--bs-lightgray-900); + + /* Action (used as needed in buttons, inputs, menu items, page links, etc.) */ + + --bs-action-color: hsl(var(--bs-color-hue), var(--bs-color-saturation), 10%); + --bs-action-bg: hsl(var(--bs-info-hue), var(--bs-info-saturation), 99%); + --bs-action-border-color: var(--bs-border-color); + --bs-action-hover-bg: hsl(var(--bs-info-hue), var(--bs-info-saturation), 94%); + --bs-action-active-bg: hsl(var(--bs-info-hue), var(--bs-info-saturation), 89%); + --bs-action-disabled-bg: hsl(var(--bs-info-hue), var(--bs-info-saturation), 89%); +} + +[data-bs-core=elegant][data-bs-theme=dark] { + /* Color */ + + --bs-body-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 90%; + --bs-secondary-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 65%; + --bs-tertiary-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 40%; + + /* Action (used as needed in buttons, inputs, menu items, page links, etc.) */ + + --bs-action-color: hsl(var(--bs-color-hue), var(--bs-color-saturation), 85%); + --bs-action-border-color: var(--bs-border-color); + + /* Contextual buttons */ + + --bs-ctx-btn-border-color: transparent; + --bs-ctx-btn-bg-clip: border-box; + + /* Action bar (used as needed in range, progress, etc.) */ + + --bs-actionbar-border-color: hsla(var(--bs-white-hsl), 0.075); + --bs-progresstrack-border-width: 0; + --bs-progresstrack-box-shadow: inset 0 0 0 var(--bs-border-width) var(--bs-actionbar-border-color); + --bs-progresstrack-bg-clip: border-box; +} + +/* Sidebar */ + +[data-bs-core=elegant] .sidebar { + --bs-sidebar-bg: var(--bs-secondary-bg); + --bs-sidebar-border-width: 0; +} + +[data-bs-core=elegant] .sidebar-nav .nav-link.active, +[data-bs-core=elegant] .sidebar-nav .nav-link.show { + padding-left: 0.75rem; + background-color: hsla(var(--bs-emphasis-color-hsl), 0.05); + border-left: var(--bs-border-width-2) solid var(--bs-info); +} diff --git a/modules/analyze/html/external/halfmoon-ui/cores/halfmoon.elegant.css b/modules/analyze/html/external/halfmoon-ui/cores/halfmoon.elegant.css new file mode 100644 index 0000000..8f43925 --- /dev/null +++ b/modules/analyze/html/external/halfmoon-ui/cores/halfmoon.elegant.css @@ -0,0 +1,232 @@ + +/*! + * ---------------------------------------------------------------------------- + * Halfmoon CSS - Elegant theme + * Copyright (c) 2023, Tahmid Khan | MIT License | https://www.gethalfmoon.com + * ---------------------------------------------------------------------------- + * The above notice must be included in its entirety when this file is used. + */ + +/* Color palette */ + +[data-bs-core=elegant] { + /* Light gray */ + + --bs-lightgray-hue: var(--bs-stone-hue); + --bs-lightgray-saturation: var(--bs-stone-saturation); + + /* Dark gray */ + + --bs-darkgray-hue: var(--bs-stone-hue); + --bs-darkgray-saturation: var(--bs-stone-saturation); + + /* Primary */ + + --bs-primary-hue: var(--bs-sable-hue); + --bs-primary-saturation: var(--bs-sable-saturation); + --bs-primary-100-hsl: var(--bs-sable-100-hsl); + --bs-primary-200-hsl: var(--bs-sable-200-hsl); + --bs-primary-300-hsl: var(--bs-sable-300-hsl); + --bs-primary-400-hsl: var(--bs-sable-400-hsl); + --bs-primary-500-hsl: var(--bs-sable-500-hsl); + --bs-primary-600-hsl: var(--bs-sable-600-hsl); + --bs-primary-700-hsl: var(--bs-sable-700-hsl); + --bs-primary-800-hsl: var(--bs-sable-800-hsl); + --bs-primary-900-hsl: var(--bs-sable-900-hsl); + --bs-primary-100: var(--bs-sable-100); + --bs-primary-200: var(--bs-sable-200); + --bs-primary-300: var(--bs-sable-300); + --bs-primary-400: var(--bs-sable-400); + --bs-primary-500: var(--bs-sable-500); + --bs-primary-600: var(--bs-sable-600); + --bs-primary-700: var(--bs-sable-700); + --bs-primary-800: var(--bs-sable-800); + --bs-primary-900: var(--bs-sable-900); + --bs-primary-hsl: var(--bs-sable-hsl); + --bs-primary: var(--bs-sable); + --bs-primary-foreground-hsl: var(--bs-sable-foreground-hsl); + --bs-primary-foreground: var(--bs-sable-foreground); + --bs-primary-text-emphasis-hsl: var(--bs-sable-text-emphasis-hsl); + --bs-primary-text-emphasis: var(--bs-sable-text-emphasis); + --bs-primary-hover-bg: var(--bs-sable-hover-bg); + --bs-primary-active-bg: var(--bs-sable-active-bg); + --bs-primary-bg-subtle: var(--bs-sable-bg-subtle); + --bs-primary-border-subtle: var(--bs-sable-border-subtle); + --bs-primary-checkbox-svg: var(--bs-sable-checkbox-svg); + --bs-primary-dash-svg: var(--bs-sable-dash-svg); + --bs-primary-radio-svg: var(--bs-sable-radio-svg); + --bs-primary-switch-svg: var(--bs-sable-switch-svg); + + /* Info */ + + --bs-info-hue: var(--bs-sienna-hue); + --bs-info-saturation: var(--bs-sienna-saturation); + --bs-info-100-hsl: var(--bs-sienna-100-hsl); + --bs-info-200-hsl: var(--bs-sienna-200-hsl); + --bs-info-300-hsl: var(--bs-sienna-300-hsl); + --bs-info-400-hsl: var(--bs-sienna-400-hsl); + --bs-info-500-hsl: var(--bs-sienna-500-hsl); + --bs-info-600-hsl: var(--bs-sienna-600-hsl); + --bs-info-700-hsl: var(--bs-sienna-700-hsl); + --bs-info-800-hsl: var(--bs-sienna-800-hsl); + --bs-info-900-hsl: var(--bs-sienna-900-hsl); + --bs-info-100: var(--bs-sienna-100); + --bs-info-200: var(--bs-sienna-200); + --bs-info-300: var(--bs-sienna-300); + --bs-info-400: var(--bs-sienna-400); + --bs-info-500: var(--bs-sienna-500); + --bs-info-600: var(--bs-sienna-600); + --bs-info-700: var(--bs-sienna-700); + --bs-info-800: var(--bs-sienna-800); + --bs-info-900: var(--bs-sienna-900); + --bs-info-hsl: var(--bs-sienna-hsl); + --bs-info: var(--bs-sienna); + --bs-info-foreground-hsl: var(--bs-sienna-foreground-hsl); + --bs-info-foreground: var(--bs-sienna-foreground); + --bs-info-text-emphasis-hsl: var(--bs-sienna-text-emphasis-hsl); + --bs-info-text-emphasis: var(--bs-sienna-text-emphasis); + --bs-info-hover-bg: var(--bs-sienna-hover-bg); + --bs-info-active-bg: var(--bs-sienna-active-bg); + --bs-info-bg-subtle: var(--bs-sienna-bg-subtle); + --bs-info-border-subtle: var(--bs-sienna-border-subtle); + --bs-info-checkbox-svg: var(--bs-sienna-checkbox-svg); + --bs-info-dash-svg: var(--bs-sienna-dash-svg); + --bs-info-radio-svg: var(--bs-sienna-radio-svg); + --bs-info-switch-svg: var(--bs-sienna-switch-svg); +} + +[data-bs-core=elegant][data-bs-theme=dark] { + /* Primary */ + + --bs-primary-hue: var(--bs-lightgray-hue); + --bs-primary-saturation: var(--bs-lightgray-saturation); + --bs-primary-100-hsl: var(--bs-lightgray-100-hsl); + --bs-primary-200-hsl: var(--bs-lightgray-200-hsl); + --bs-primary-300-hsl: var(--bs-lightgray-300-hsl); + --bs-primary-400-hsl: var(--bs-lightgray-400-hsl); + --bs-primary-500-hsl: var(--bs-lightgray-500-hsl); + --bs-primary-600-hsl: var(--bs-lightgray-600-hsl); + --bs-primary-700-hsl: var(--bs-lightgray-700-hsl); + --bs-primary-800-hsl: var(--bs-lightgray-800-hsl); + --bs-primary-900-hsl: var(--bs-lightgray-900-hsl); + --bs-primary-100: var(--bs-lightgray-100); + --bs-primary-200: var(--bs-lightgray-200); + --bs-primary-300: var(--bs-lightgray-300); + --bs-primary-400: var(--bs-lightgray-400); + --bs-primary-500: var(--bs-lightgray-500); + --bs-primary-600: var(--bs-lightgray-600); + --bs-primary-700: var(--bs-lightgray-700); + --bs-primary-800: var(--bs-lightgray-800); + --bs-primary-900: var(--bs-lightgray-900); + --bs-primary-hsl: var(--bs-lightgray-hsl); + --bs-primary: var(--bs-lightgray); + --bs-primary-foreground-hsl: var(--bs-lightgray-foreground-hsl); + --bs-primary-foreground: var(--bs-lightgray-foreground); + --bs-primary-text-emphasis-hsl: var(--bs-lightgray-text-emphasis-hsl); + --bs-primary-text-emphasis: var(--bs-lightgray-text-emphasis); + --bs-primary-hover-bg: var(--bs-lightgray-hover-bg); + --bs-primary-active-bg: var(--bs-lightgray-active-bg); + --bs-primary-bg-subtle: var(--bs-lightgray-bg-subtle); + --bs-primary-border-subtle: var(--bs-lightgray-border-subtle); + --bs-primary-checkbox-svg: var(--bs-lightgray-checkbox-svg); + --bs-primary-dash-svg: var(--bs-lightgray-dash-svg); + --bs-primary-radio-svg: var(--bs-lightgray-radio-svg); + --bs-primary-switch-svg: var(--bs-lightgray-switch-svg); + + /* Info */ + + --bs-info-text-emphasis-hsl: var(--bs-sienna-text-emphasis-hsl); + --bs-info-text-emphasis: var(--bs-sienna-text-emphasis); + --bs-info-bg-subtle: var(--bs-sienna-bg-subtle); + --bs-info-border-subtle: var(--bs-sienna-border-subtle); +} + +/* Variables */ + +[data-bs-core=elegant] { + /* Font family */ + + --bs-body-font-family: var(--bs-font-serif); + + /* Link */ + + --bs-link-color-hsl: var(--bs-primary-text-emphasis-hsl); + --bs-link-hover-color-hsl: var(--bs-primary-hsl); + + /* Content (used as needed in cards, panels, menus, etc.) */ + + --bs-content-bg-hsl: var(--bs-body-bg-hsl); + --bs-content-border-color: var(--bs-border-color); + + /* Form */ + + --bs-form-focus-border-color: var(--bs-info-border-subtle); + --bs-form-focus-shadow-hsl: var(--bs-info-hsl); + --bs-form-check-focus-border-color: var(--bs-info-border-subtle); +} + +[data-bs-core=elegant]:not([data-bs-theme=dark]) { + /* Color */ + + --bs-body-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 5%; + --bs-secondary-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 30%; + --bs-tertiary-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 55%; + + /* Background */ + + --bs-body-bg-hsl: var(--bs-info-hue), var(--bs-info-saturation), 97.5%; + --bs-secondary-bg-hsl: var(--bs-info-hue), var(--bs-info-saturation), 95%; + --bs-tertiary-bg-hsl: var(--bs-info-hue), var(--bs-info-saturation), 92.5%; + + /* Border */ + + --bs-border-color: var(--bs-lightgray-900); + + /* Action (used as needed in buttons, inputs, menu items, page links, etc.) */ + + --bs-action-color: hsl(var(--bs-color-hue), var(--bs-color-saturation), 10%); + --bs-action-bg: hsl(var(--bs-info-hue), var(--bs-info-saturation), 99%); + --bs-action-border-color: var(--bs-border-color); + --bs-action-hover-bg: hsl(var(--bs-info-hue), var(--bs-info-saturation), 94%); + --bs-action-active-bg: hsl(var(--bs-info-hue), var(--bs-info-saturation), 89%); + --bs-action-disabled-bg: hsl(var(--bs-info-hue), var(--bs-info-saturation), 89%); +} + +[data-bs-core=elegant][data-bs-theme=dark] { + /* Color */ + + --bs-body-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 90%; + --bs-secondary-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 65%; + --bs-tertiary-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 40%; + + /* Action (used as needed in buttons, inputs, menu items, page links, etc.) */ + + --bs-action-color: hsl(var(--bs-color-hue), var(--bs-color-saturation), 85%); + --bs-action-border-color: var(--bs-border-color); + + /* Contextual buttons */ + + --bs-ctx-btn-border-color: transparent; + --bs-ctx-btn-bg-clip: border-box; + + /* Action bar (used as needed in range, progress, etc.) */ + + --bs-actionbar-border-color: hsla(var(--bs-white-hsl), 0.075); + --bs-progresstrack-border-width: 0; + --bs-progresstrack-box-shadow: inset 0 0 0 var(--bs-border-width) var(--bs-actionbar-border-color); + --bs-progresstrack-bg-clip: border-box; +} + +/* Sidebar */ + +[data-bs-core=elegant] .sidebar { + --bs-sidebar-bg: var(--bs-secondary-bg); + --bs-sidebar-border-width: 0; +} + +[data-bs-core=elegant] .sidebar-nav .nav-link.active, +[data-bs-core=elegant] .sidebar-nav .nav-link.show { + padding-left: 0.75rem; + background-color: hsla(var(--bs-emphasis-color-hsl), 0.05); + border-left: var(--bs-border-width-2) solid var(--bs-info); +} diff --git a/modules/analyze/html/external/halfmoon-ui/cores/halfmoon.modern.css b/modules/analyze/html/external/halfmoon-ui/cores/halfmoon.modern.css new file mode 100644 index 0000000..d6a8597 --- /dev/null +++ b/modules/analyze/html/external/halfmoon-ui/cores/halfmoon.modern.css @@ -0,0 +1,282 @@ + +/*! + * ---------------------------------------------------------------------------- + * Halfmoon CSS - Modern theme + * Copyright (c) 2023, Tahmid Khan | MIT License | https://www.gethalfmoon.com + * ---------------------------------------------------------------------------- + * The above notice must be included in its entirety when this file is used. + */ + +/* Color palette */ + +[data-bs-core=modern] { + /* Gray */ + + --bs-slate-hue: 216; + --bs-slate-saturation: 20%; + + /* Light gray */ + + --bs-lightgray-hue: var(--bs-slate-hue); + --bs-lightgray-saturation: var(--bs-slate-saturation); + + /* Sable (almost black) */ + + --bs-sable-hue: var(--bs-darkgray-hue); + --bs-sable-saturation: var(--bs-darkgray-saturation); + --bs-sable-100-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 31%; + --bs-sable-200-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 29%; + --bs-sable-300-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 27%; + --bs-sable-400-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 25%; + --bs-sable-500-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 23%; + --bs-sable-600-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 21%; + --bs-sable-700-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 19%; + --bs-sable-800-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 17%; + --bs-sable-900-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 15%; + --bs-sable-100: hsl(var(--bs-sable-100-hsl)); + --bs-sable-200: hsl(var(--bs-sable-200-hsl)); + --bs-sable-300: hsl(var(--bs-sable-300-hsl)); + --bs-sable-400: hsl(var(--bs-sable-400-hsl)); + --bs-sable-500: hsl(var(--bs-sable-500-hsl)); + --bs-sable-600: hsl(var(--bs-sable-600-hsl)); + --bs-sable-700: hsl(var(--bs-sable-700-hsl)); + --bs-sable-800: hsl(var(--bs-sable-800-hsl)); + --bs-sable-900: hsl(var(--bs-sable-900-hsl)); + --bs-sable-hsl: var(--bs-sable-500-hsl); + --bs-sable: hsl(var(--bs-sable-hsl)); + --bs-sable-foreground-hsl: var(--bs-white-hsl); + --bs-sable-foreground: hsl(var(--bs-sable-foreground-hsl)); + --bs-sable-text-emphasis-hsl: var(--bs-sable-600-hsl); + --bs-sable-text-emphasis: hsl(var(--bs-sable-text-emphasis-hsl)); + --bs-sable-hover-bg: var(--bs-sable-600); + --bs-sable-active-bg: var(--bs-sable-700); + --bs-sable-bg-subtle: hsl(var(--bs-sable-hue), var(--bs-sable-saturation), 70%); + --bs-sable-border-subtle: var(--bs-sable-400); + --bs-sable-checkbox-svg: var(--bs-checkbox-svg-light); + --bs-sable-dash-svg: var(--bs-dash-svg-light); + --bs-sable-radio-svg: var(--bs-radio-svg-light); + --bs-sable-switch-svg: var(--bs-switch-svg-light); + + /* Primary */ + + --bs-primary-hue: var(--bs-navy-hue); + --bs-primary-saturation: var(--bs-navy-saturation); + --bs-primary-100-hsl: var(--bs-navy-100-hsl); + --bs-primary-200-hsl: var(--bs-navy-200-hsl); + --bs-primary-300-hsl: var(--bs-navy-300-hsl); + --bs-primary-400-hsl: var(--bs-navy-400-hsl); + --bs-primary-500-hsl: var(--bs-navy-500-hsl); + --bs-primary-600-hsl: var(--bs-navy-600-hsl); + --bs-primary-700-hsl: var(--bs-navy-700-hsl); + --bs-primary-800-hsl: var(--bs-navy-800-hsl); + --bs-primary-900-hsl: var(--bs-navy-900-hsl); + --bs-primary-100: var(--bs-navy-100); + --bs-primary-200: var(--bs-navy-200); + --bs-primary-300: var(--bs-navy-300); + --bs-primary-400: var(--bs-navy-400); + --bs-primary-500: var(--bs-navy-500); + --bs-primary-600: var(--bs-navy-600); + --bs-primary-700: var(--bs-navy-700); + --bs-primary-800: var(--bs-navy-800); + --bs-primary-900: var(--bs-navy-900); + --bs-primary-hsl: var(--bs-navy-hsl); + --bs-primary: var(--bs-navy); + --bs-primary-foreground-hsl: var(--bs-navy-foreground-hsl); + --bs-primary-foreground: var(--bs-navy-foreground); + --bs-primary-text-emphasis-hsl: var(--bs-navy-text-emphasis-hsl); + --bs-primary-text-emphasis: var(--bs-navy-text-emphasis); + --bs-primary-hover-bg: var(--bs-navy-hover-bg); + --bs-primary-active-bg: var(--bs-navy-active-bg); + --bs-primary-bg-subtle: var(--bs-navy-bg-subtle); + --bs-primary-border-subtle: var(--bs-navy-border-subtle); + --bs-primary-checkbox-svg: var(--bs-navy-checkbox-svg); + --bs-primary-dash-svg: var(--bs-navy-dash-svg); + --bs-primary-radio-svg: var(--bs-navy-radio-svg); + --bs-primary-switch-svg: var(--bs-navy-switch-svg); + + /* Info */ + + --bs-info-hue: var(--bs-blue-hue); + --bs-info-saturation: var(--bs-blue-saturation); + --bs-info-100-hsl: var(--bs-blue-100-hsl); + --bs-info-200-hsl: var(--bs-blue-200-hsl); + --bs-info-300-hsl: var(--bs-blue-300-hsl); + --bs-info-400-hsl: var(--bs-blue-400-hsl); + --bs-info-500-hsl: var(--bs-blue-500-hsl); + --bs-info-600-hsl: var(--bs-blue-600-hsl); + --bs-info-700-hsl: var(--bs-blue-700-hsl); + --bs-info-800-hsl: var(--bs-blue-800-hsl); + --bs-info-900-hsl: var(--bs-blue-900-hsl); + --bs-info-100: var(--bs-blue-100); + --bs-info-200: var(--bs-blue-200); + --bs-info-300: var(--bs-blue-300); + --bs-info-400: var(--bs-blue-400); + --bs-info-500: var(--bs-blue-500); + --bs-info-600: var(--bs-blue-600); + --bs-info-700: var(--bs-blue-700); + --bs-info-800: var(--bs-blue-800); + --bs-info-900: var(--bs-blue-900); + --bs-info-hsl: var(--bs-blue-hsl); + --bs-info: var(--bs-blue); + --bs-info-foreground-hsl: var(--bs-blue-foreground-hsl); + --bs-info-foreground: var(--bs-blue-foreground); + --bs-info-text-emphasis-hsl: var(--bs-blue-text-emphasis-hsl); + --bs-info-text-emphasis: var(--bs-blue-text-emphasis); + --bs-info-hover-bg: var(--bs-blue-hover-bg); + --bs-info-active-bg: var(--bs-blue-active-bg); + --bs-info-bg-subtle: var(--bs-blue-bg-subtle); + --bs-info-border-subtle: var(--bs-blue-border-subtle); + --bs-info-checkbox-svg: var(--bs-blue-checkbox-svg); + --bs-info-dash-svg: var(--bs-blue-dash-svg); + --bs-info-radio-svg: var(--bs-blue-radio-svg); + --bs-info-switch-svg: var(--bs-blue-switch-svg); +} + +[data-bs-core=modern][data-bs-theme=dark] { + /* Dark gray */ + + --bs-darkgray-text-emphasis-hsl: var(--bs-darkgray-200-hsl); + --bs-darkgray-text-emphasis: hsl(var(--bs-darkgray-text-emphasis-hsl)); + + /* Sable (black) */ + + --bs-sable-text-emphasis-hsl: var(--bs-sable-400-hsl); + --bs-sable-text-emphasis: hsl(var(--bs-sable-text-emphasis-hsl)); + --bs-sable-bg-subtle: hsl(var(--bs-sable-hue), var(--bs-sable-saturation), 14%); + --bs-sable-border-subtle: var(--bs-sable-600); + + /* Blue */ + + --bs-blue-text-emphasis-hsl: var(--bs-blue-300-hsl); + --bs-blue-text-emphasis: hsl(var(--bs-blue-text-emphasis-hsl)); + + /* Primary */ + + --bs-primary-hue: var(--bs-sky-hue); + --bs-primary-saturation: var(--bs-sky-saturation); + --bs-primary-100-hsl: var(--bs-sky-100-hsl); + --bs-primary-200-hsl: var(--bs-sky-200-hsl); + --bs-primary-300-hsl: var(--bs-sky-300-hsl); + --bs-primary-400-hsl: var(--bs-sky-400-hsl); + --bs-primary-500-hsl: var(--bs-sky-500-hsl); + --bs-primary-600-hsl: var(--bs-sky-600-hsl); + --bs-primary-700-hsl: var(--bs-sky-700-hsl); + --bs-primary-800-hsl: var(--bs-sky-800-hsl); + --bs-primary-900-hsl: var(--bs-sky-900-hsl); + --bs-primary-100: var(--bs-sky-100); + --bs-primary-200: var(--bs-sky-200); + --bs-primary-300: var(--bs-sky-300); + --bs-primary-400: var(--bs-sky-400); + --bs-primary-500: var(--bs-sky-500); + --bs-primary-600: var(--bs-sky-600); + --bs-primary-700: var(--bs-sky-700); + --bs-primary-800: var(--bs-sky-800); + --bs-primary-900: var(--bs-sky-900); + --bs-primary-hsl: var(--bs-sky-hsl); + --bs-primary: var(--bs-sky); + --bs-primary-foreground-hsl: var(--bs-sky-foreground-hsl); + --bs-primary-foreground: var(--bs-sky-foreground); + --bs-primary-text-emphasis-hsl: var(--bs-sky-text-emphasis-hsl); + --bs-primary-text-emphasis: var(--bs-sky-text-emphasis); + --bs-primary-hover-bg: var(--bs-sky-hover-bg); + --bs-primary-active-bg: var(--bs-sky-active-bg); + --bs-primary-bg-subtle: var(--bs-sky-bg-subtle); + --bs-primary-border-subtle: var(--bs-sky-border-subtle); + --bs-primary-checkbox-svg: var(--bs-sky-checkbox-svg); + --bs-primary-dash-svg: var(--bs-sky-dash-svg); + --bs-primary-radio-svg: var(--bs-sky-radio-svg); + --bs-primary-switch-svg: var(--bs-sky-switch-svg); + + /* Info */ + + --bs-info-text-emphasis-hsl: var(--bs-blue-text-emphasis-hsl); + --bs-info-text-emphasis: var(--bs-blue-text-emphasis); + --bs-info-bg-subtle: var(--bs-blue-bg-subtle); + --bs-info-border-subtle: var(--bs-blue-border-subtle); +} + +/* Variables */ + +[data-bs-core=modern] { + /* Link */ + + --bs-link-color-hsl: var(--bs-info-text-emphasis-hsl); + --bs-link-hover-color-hsl: var(--bs-info-hsl); + + /* Content (used as needed in cards, panels, menus, etc.) */ + + --bs-content-bg-hsl: var(--bs-body-bg-hsl); + --bs-content-border-color: var(--bs-border-color); + + /* Form */ + + --bs-form-focus-border-color: var(--bs-info-border-subtle); + --bs-form-focus-shadow-hsl: var(--bs-info-hsl); + --bs-form-check-focus-border-color: var(--bs-info-border-subtle); +} + +[data-bs-core=modern]:not([data-bs-theme=dark]) { + /* Background */ + + --bs-body-bg-hsl: var(--bs-white-hsl); + --bs-secondary-bg-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 98.75%; + --bs-tertiary-bg-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 97.5%; + + /* Border */ + + --bs-border-color: var(--bs-lightgray-700); + --bs-border-color-light: var(--bs-lightgray-500); +} + +[data-bs-core=modern][data-bs-theme=dark] { + /* Background */ + + --bs-body-bg-hsl: var(--bs-sable-900-hsl); + --bs-secondary-bg-hsl: var(--bs-sable-800-hsl); + --bs-tertiary-bg-hsl: var(--bs-sable-700-hsl); + + /* Border */ + + --bs-border-color: var(--bs-gray-900); + + /* Content (used as needed in cards, panels, menus, etc.) */ + + --bs-content-floating-bg-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 16.5%; + + /* Action (used as needed in buttons, inputs, menu items, page links, etc.) */ + + --bs-action-border-color: var(--bs-border-color); + + /* Contextual buttons */ + + --bs-ctx-btn-border-color: transparent; + --bs-ctx-btn-bg-clip: border-box; + + /* Action bar (used as needed in range, progress, etc.) */ + + --bs-actionbar-border-color: hsla(var(--bs-white-hsl), 0.075); + --bs-progresstrack-border-width: 0; + --bs-progresstrack-box-shadow: inset 0 0 0 var(--bs-border-width) var(--bs-actionbar-border-color); + --bs-progresstrack-bg-clip: border-box; +} + +/* Sidebar */ + +[data-bs-core=modern] .sidebar { + --bs-sidebar-item-padding-x: 1rem; + --bs-sidebar-item-padding-y: 0.25rem; + --bs-sidebar-header-font-weight: var(--bs-font-weight-bold); + --bs-sidebar-divider-bg: var(--bs-sidebar-bg); +} + +[data-bs-core=modern] .sidebar-nav .nav-link { + border-left: var(--bs-border-width) solid var(--bs-border-color-light); +} + +[data-bs-core=modern] .sidebar-nav .nav-link.active, +[data-bs-core=modern] .sidebar-nav .nav-link.show { + font-weight: var(--bs-font-weight-bold); + border-color: currentColor; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} diff --git a/modules/analyze/html/external/halfmoon-ui/halfmoon.css b/modules/analyze/html/external/halfmoon-ui/halfmoon.css new file mode 100644 index 0000000..0d5f327 --- /dev/null +++ b/modules/analyze/html/external/halfmoon-ui/halfmoon.css @@ -0,0 +1,19196 @@ +@charset "UTF-8"; + +/*! + * ---------------------------------------------------------------------------- + * Halfmoon CSS + * Version: 2.0.1 + * https://www.gethalfmoon.com + * Copyright (c) 2023, Tahmid Khan + * Licensed under MIT (https://www.gethalfmoon.com/license) + * ---------------------------------------------------------------------------- + * The above notice must be included in its entirety when this file is used. + */ + +/*! + * The following notice(s) is/are provided to honor the licenses of 3rd party + * software used to build Halfmoon. + * ---------------------------------------------------------------------------- + * Bootstrap (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * ---------------------------------------------------------------------------- + */ + +/** + * ---------------------------------------------------------------------------- + * [ SVGs ] + * ---------------------------------------------------------------------------- + */ + +:root, +[data-bs-theme=light] { + --bs-checkbox-svg-light: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e"); + --bs-checkbox-svg-dark: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23222' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e"); + + --bs-dash-svg-light: 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"); + --bs-dash-svg-dark: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23222' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"); + + --bs-radio-svg-light: 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"); + --bs-radio-svg-dark: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23222'/%3e%3c/svg%3e"); + + --bs-switch-svg-light: 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"); + --bs-switch-svg-dark: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23222'/%3e%3c/svg%3e"); + --bs-switch-svg-unchecked: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23bcbec2'/%3e%3c/svg%3e"); +} + +[data-bs-theme=dark] { + --bs-switch-svg-unchecked: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23494b50'/%3e%3c/svg%3e"); +} + +/** + * ---------------------------------------------------------------------------- + * [ Color palette ] + * ---------------------------------------------------------------------------- + */ + +:root, +[data-bs-theme=light] { + /* Black */ + + --bs-black-hsl: 0, 0%, 0%; + --bs-black: hsl(var(--bs-black-hsl)); + + /* White */ + + --bs-white-hsl: 0, 0%, 100%; + --bs-white: hsl(var(--bs-white-hsl)); + + /* Gray */ + + --bs-mistyrose-hue: 0; + --bs-mistyrose-saturation: 5%; + + --bs-stone-hue: 25; + --bs-stone-saturation: 5%; + + --bs-sand-hue: 60; + --bs-sand-saturation: 5%; + + --bs-sage-hue: 152; + --bs-sage-saturation: 6%; + + --bs-slate-hue: 214.3; + --bs-slate-saturation: 12.3%; + + --bs-neutral-hue: 218; + --bs-neutral-saturation: 5%; + + --bs-zinc-hue: 240; + --bs-zinc-saturation: 4%; + + --bs-mauve-hue: 331; + --bs-mauve-saturation: 7.5%; + + /* Light gray */ + + --bs-lightgray-hue: var(--bs-neutral-hue); + --bs-lightgray-saturation: var(--bs-neutral-saturation); + --bs-lightgray-100-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 97.5%; + --bs-lightgray-200-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 95%; + --bs-lightgray-300-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 92.5%; + --bs-lightgray-400-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 90%; + --bs-lightgray-500-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 87.5%; + --bs-lightgray-600-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 85%; + --bs-lightgray-700-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 80%; + --bs-lightgray-800-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 75%; + --bs-lightgray-900-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 70%; + --bs-lightgray-100: hsl(var(--bs-lightgray-100-hsl)); + --bs-lightgray-200: hsl(var(--bs-lightgray-200-hsl)); + --bs-lightgray-300: hsl(var(--bs-lightgray-300-hsl)); + --bs-lightgray-400: hsl(var(--bs-lightgray-400-hsl)); + --bs-lightgray-500: hsl(var(--bs-lightgray-500-hsl)); + --bs-lightgray-600: hsl(var(--bs-lightgray-600-hsl)); + --bs-lightgray-700: hsl(var(--bs-lightgray-700-hsl)); + --bs-lightgray-800: hsl(var(--bs-lightgray-800-hsl)); + --bs-lightgray-900: hsl(var(--bs-lightgray-900-hsl)); + --bs-lightgray-hsl: var(--bs-lightgray-500-hsl); + --bs-lightgray: hsl(var(--bs-lightgray-hsl)); + --bs-lightgray-foreground-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 10%; + --bs-lightgray-foreground: hsl(var(--bs-lightgray-foreground-hsl)); + --bs-lightgray-text-emphasis-hsl: var(--bs-lightgray-600-hsl); + --bs-lightgray-text-emphasis: hsl(var(--bs-lightgray-text-emphasis-hsl)); + --bs-lightgray-hover-bg: var(--bs-lightgray-400); + --bs-lightgray-active-bg: var(--bs-lightgray-300); + --bs-lightgray-bg-subtle: hsl(var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 97.5%); + --bs-lightgray-border-subtle: var(--bs-lightgray-400); + --bs-lightgray-checkbox-svg: var(--bs-checkbox-svg-dark); + --bs-lightgray-dash-svg: var(--bs-dash-svg-dark); + --bs-lightgray-radio-svg: var(--bs-radio-svg-dark); + --bs-lightgray-switch-svg: var(--bs-switch-svg-dark); + + /* Gray */ + + --bs-gray-hue: var(--bs-lightgray-hue); + --bs-gray-saturation: var(--bs-lightgray-saturation); + --bs-gray-100-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 85%; + --bs-gray-200-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 75%; + --bs-gray-300-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 65%; + --bs-gray-400-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 55%; + --bs-gray-500-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 45%; + --bs-gray-600-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 40%; + --bs-gray-700-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 35%; + --bs-gray-800-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 30%; + --bs-gray-900-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 25%; + --bs-gray-100: hsl(var(--bs-gray-100-hsl)); + --bs-gray-200: hsl(var(--bs-gray-200-hsl)); + --bs-gray-300: hsl(var(--bs-gray-300-hsl)); + --bs-gray-400: hsl(var(--bs-gray-400-hsl)); + --bs-gray-500: hsl(var(--bs-gray-500-hsl)); + --bs-gray-600: hsl(var(--bs-gray-600-hsl)); + --bs-gray-700: hsl(var(--bs-gray-700-hsl)); + --bs-gray-800: hsl(var(--bs-gray-800-hsl)); + --bs-gray-900: hsl(var(--bs-gray-900-hsl)); + --bs-gray-hsl: var(--bs-gray-500-hsl); + --bs-gray: hsl(var(--bs-gray-hsl)); + --bs-gray-foreground-hsl: var(--bs-white-hsl); + --bs-gray-foreground: hsl(var(--bs-gray-foreground-hsl)); + --bs-gray-text-emphasis-hsl: var(--bs-gray-600-hsl); + --bs-gray-text-emphasis: hsl(var(--bs-gray-text-emphasis-hsl)); + --bs-gray-hover-bg: var(--bs-gray-600); + --bs-gray-active-bg: var(--bs-gray-700); + --bs-gray-bg-subtle: hsl(var(--bs-gray-hue), var(--bs-gray-saturation), 95%); + --bs-gray-border-subtle: var(--bs-gray-400); + --bs-gray-checkbox-svg: var(--bs-checkbox-svg-light); + --bs-gray-dash-svg: var(--bs-dash-svg-light); + --bs-gray-radio-svg: var(--bs-radio-svg-light); + --bs-gray-switch-svg: var(--bs-switch-svg-light); + + /* Dark gray */ + + --bs-darkgray-hue: var(--bs-slate-hue); + --bs-darkgray-saturation: var(--bs-slate-saturation); + --bs-darkgray-100-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 75%; + --bs-darkgray-200-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 65%; + --bs-darkgray-300-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 55%; + --bs-darkgray-400-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 45%; + --bs-darkgray-500-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 35%; + --bs-darkgray-600-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 30%; + --bs-darkgray-700-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 25%; + --bs-darkgray-800-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 20%; + --bs-darkgray-900-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 17.5%; + --bs-darkgray-100: hsl(var(--bs-darkgray-100-hsl)); + --bs-darkgray-200: hsl(var(--bs-darkgray-200-hsl)); + --bs-darkgray-300: hsl(var(--bs-darkgray-300-hsl)); + --bs-darkgray-400: hsl(var(--bs-darkgray-400-hsl)); + --bs-darkgray-500: hsl(var(--bs-darkgray-500-hsl)); + --bs-darkgray-600: hsl(var(--bs-darkgray-600-hsl)); + --bs-darkgray-700: hsl(var(--bs-darkgray-700-hsl)); + --bs-darkgray-800: hsl(var(--bs-darkgray-800-hsl)); + --bs-darkgray-900: hsl(var(--bs-darkgray-900-hsl)); + --bs-darkgray-hsl: var(--bs-darkgray-500-hsl); + --bs-darkgray: hsl(var(--bs-darkgray-hsl)); + --bs-darkgray-foreground-hsl: var(--bs-white-hsl); + --bs-darkgray-foreground: hsl(var(--bs-darkgray-foreground-hsl)); + --bs-darkgray-text-emphasis-hsl: var(--bs-darkgray-600-hsl); + --bs-darkgray-text-emphasis: hsl(var(--bs-darkgray-text-emphasis-hsl)); + --bs-darkgray-hover-bg: var(--bs-darkgray-600); + --bs-darkgray-active-bg: var(--bs-darkgray-700); + --bs-darkgray-bg-subtle: hsl(var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 80%); + --bs-darkgray-border-subtle: var(--bs-darkgray-400); + --bs-darkgray-checkbox-svg: var(--bs-checkbox-svg-light); + --bs-darkgray-dash-svg: var(--bs-dash-svg-light); + --bs-darkgray-radio-svg: var(--bs-radio-svg-light); + --bs-darkgray-switch-svg: var(--bs-switch-svg-light); + + /* Sable (almost black) */ + + --bs-sable-hue: var(--bs-darkgray-hue); + --bs-sable-saturation: var(--bs-darkgray-saturation); + --bs-sable-100-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 28%; + --bs-sable-200-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 26%; + --bs-sable-300-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 24%; + --bs-sable-400-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 22%; + --bs-sable-500-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 20%; + --bs-sable-600-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 18%; + --bs-sable-700-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 16%; + --bs-sable-800-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 15%; + --bs-sable-900-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 14%; + --bs-sable-100: hsl(var(--bs-sable-100-hsl)); + --bs-sable-200: hsl(var(--bs-sable-200-hsl)); + --bs-sable-300: hsl(var(--bs-sable-300-hsl)); + --bs-sable-400: hsl(var(--bs-sable-400-hsl)); + --bs-sable-500: hsl(var(--bs-sable-500-hsl)); + --bs-sable-600: hsl(var(--bs-sable-600-hsl)); + --bs-sable-700: hsl(var(--bs-sable-700-hsl)); + --bs-sable-800: hsl(var(--bs-sable-800-hsl)); + --bs-sable-900: hsl(var(--bs-sable-900-hsl)); + --bs-sable-hsl: var(--bs-sable-500-hsl); + --bs-sable: hsl(var(--bs-sable-hsl)); + --bs-sable-foreground-hsl: var(--bs-white-hsl); + --bs-sable-foreground: hsl(var(--bs-sable-foreground-hsl)); + --bs-sable-text-emphasis-hsl: var(--bs-sable-600-hsl); + --bs-sable-text-emphasis: hsl(var(--bs-sable-text-emphasis-hsl)); + --bs-sable-hover-bg: var(--bs-sable-600); + --bs-sable-active-bg: var(--bs-sable-700); + --bs-sable-bg-subtle: hsl(var(--bs-sable-hue), var(--bs-sable-saturation), 70%); + --bs-sable-border-subtle: var(--bs-sable-400); + --bs-sable-checkbox-svg: var(--bs-checkbox-svg-light); + --bs-sable-dash-svg: var(--bs-dash-svg-light); + --bs-sable-radio-svg: var(--bs-radio-svg-light); + --bs-sable-switch-svg: var(--bs-switch-svg-light); + + /* Red */ + + --bs-red-hue: 0; + --bs-red-saturation: 67.5%; + --bs-red-100-hsl: var(--bs-red-hue), var(--bs-red-saturation), 90%; + --bs-red-200-hsl: var(--bs-red-hue), var(--bs-red-saturation), 80%; + --bs-red-300-hsl: var(--bs-red-hue), var(--bs-red-saturation), 70%; + --bs-red-400-hsl: var(--bs-red-hue), var(--bs-red-saturation), 60%; + --bs-red-500-hsl: var(--bs-red-hue), var(--bs-red-saturation), 50%; + --bs-red-600-hsl: var(--bs-red-hue), var(--bs-red-saturation), 40%; + --bs-red-700-hsl: var(--bs-red-hue), var(--bs-red-saturation), 30%; + --bs-red-800-hsl: var(--bs-red-hue), var(--bs-red-saturation), 20%; + --bs-red-900-hsl: var(--bs-red-hue), var(--bs-red-saturation), 10%; + --bs-red-100: hsl(var(--bs-red-100-hsl)); + --bs-red-200: hsl(var(--bs-red-200-hsl)); + --bs-red-300: hsl(var(--bs-red-300-hsl)); + --bs-red-400: hsl(var(--bs-red-400-hsl)); + --bs-red-500: hsl(var(--bs-red-500-hsl)); + --bs-red-600: hsl(var(--bs-red-600-hsl)); + --bs-red-700: hsl(var(--bs-red-700-hsl)); + --bs-red-800: hsl(var(--bs-red-800-hsl)); + --bs-red-900: hsl(var(--bs-red-900-hsl)); + --bs-red-hsl: var(--bs-red-500-hsl); + --bs-red: hsl(var(--bs-red-hsl)); + --bs-red-foreground-hsl: var(--bs-white-hsl); + --bs-red-foreground: hsl(var(--bs-red-foreground-hsl)); + --bs-red-text-emphasis-hsl: var(--bs-red-600-hsl); + --bs-red-text-emphasis: hsl(var(--bs-red-text-emphasis-hsl)); + --bs-red-hover-bg: var(--bs-red-600); + --bs-red-active-bg: var(--bs-red-700); + --bs-red-bg-subtle: hsl(var(--bs-red-hue), var(--bs-red-saturation), 95%); + --bs-red-border-subtle: var(--bs-red-400); + --bs-red-checkbox-svg: var(--bs-checkbox-svg-light); + --bs-red-dash-svg: var(--bs-dash-svg-light); + --bs-red-radio-svg: var(--bs-radio-svg-light); + --bs-red-switch-svg: var(--bs-switch-svg-light); + + /* Orange */ + + --bs-orange-hue: 17; + --bs-orange-saturation: 88%; + --bs-orange-100-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 90%; + --bs-orange-200-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 80%; + --bs-orange-300-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 70%; + --bs-orange-400-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 60%; + --bs-orange-500-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 50%; + --bs-orange-600-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 40%; + --bs-orange-700-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 30%; + --bs-orange-800-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 20%; + --bs-orange-900-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 10%; + --bs-orange-100: hsl(var(--bs-orange-100-hsl)); + --bs-orange-200: hsl(var(--bs-orange-200-hsl)); + --bs-orange-300: hsl(var(--bs-orange-300-hsl)); + --bs-orange-400: hsl(var(--bs-orange-400-hsl)); + --bs-orange-500: hsl(var(--bs-orange-500-hsl)); + --bs-orange-600: hsl(var(--bs-orange-600-hsl)); + --bs-orange-700: hsl(var(--bs-orange-700-hsl)); + --bs-orange-800: hsl(var(--bs-orange-800-hsl)); + --bs-orange-900: hsl(var(--bs-orange-900-hsl)); + --bs-orange-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 44%; + --bs-orange: hsl(var(--bs-orange-hsl)); + --bs-orange-foreground-hsl: var(--bs-white-hsl); + --bs-orange-foreground: hsl(var(--bs-orange-foreground-hsl)); + --bs-orange-text-emphasis-hsl: var(--bs-orange-600-hsl); + --bs-orange-text-emphasis: hsl(var(--bs-orange-text-emphasis-hsl)); + --bs-orange-hover-bg: var(--bs-orange-600); + --bs-orange-active-bg: var(--bs-orange-700); + --bs-orange-bg-subtle: hsl(var(--bs-orange-hue), var(--bs-orange-saturation), 95%); + --bs-orange-border-subtle: var(--bs-orange-400); + --bs-orange-checkbox-svg: var(--bs-checkbox-svg-light); + --bs-orange-dash-svg: var(--bs-dash-svg-light); + --bs-orange-radio-svg: var(--bs-radio-svg-light); + --bs-orange-switch-svg: var(--bs-switch-svg-light); + + /* Sienna (burnt orange) */ + + --bs-sienna-hue: 25; + --bs-sienna-saturation: 50%; + --bs-sienna-100-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 90%; + --bs-sienna-200-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 80%; + --bs-sienna-300-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 70%; + --bs-sienna-400-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 60%; + --bs-sienna-500-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 50%; + --bs-sienna-600-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 40%; + --bs-sienna-700-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 30%; + --bs-sienna-800-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 20%; + --bs-sienna-900-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 10%; + --bs-sienna-100: hsl(var(--bs-sienna-100-hsl)); + --bs-sienna-200: hsl(var(--bs-sienna-200-hsl)); + --bs-sienna-300: hsl(var(--bs-sienna-300-hsl)); + --bs-sienna-400: hsl(var(--bs-sienna-400-hsl)); + --bs-sienna-500: hsl(var(--bs-sienna-500-hsl)); + --bs-sienna-600: hsl(var(--bs-sienna-600-hsl)); + --bs-sienna-700: hsl(var(--bs-sienna-700-hsl)); + --bs-sienna-800: hsl(var(--bs-sienna-800-hsl)); + --bs-sienna-900: hsl(var(--bs-sienna-900-hsl)); + --bs-sienna-hsl: var(--bs-sienna-600-hsl); + --bs-sienna: hsl(var(--bs-sienna-hsl)); + --bs-sienna-foreground-hsl: var(--bs-white-hsl); + --bs-sienna-foreground: hsl(var(--bs-sienna-foreground-hsl)); + --bs-sienna-text-emphasis-hsl: var(--bs-sienna-700-hsl); + --bs-sienna-text-emphasis: hsl(var(--bs-sienna-text-emphasis-hsl)); + --bs-sienna-hover-bg: var(--bs-sienna-700); + --bs-sienna-active-bg: var(--bs-sienna-800); + --bs-sienna-bg-subtle: hsl(var(--bs-sienna-hue), var(--bs-sienna-saturation), 95%); + --bs-sienna-border-subtle: var(--bs-sienna-400); + --bs-sienna-checkbox-svg: var(--bs-checkbox-svg-light); + --bs-sienna-dash-svg: var(--bs-dash-svg-light); + --bs-sienna-radio-svg: var(--bs-radio-svg-light); + --bs-sienna-switch-svg: var(--bs-switch-svg-light); + + /* Amber */ + + --bs-amber-hue: 38; + --bs-amber-saturation: 92%; + --bs-amber-100-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 90%; + --bs-amber-200-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 80%; + --bs-amber-300-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 70%; + --bs-amber-400-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 60%; + --bs-amber-500-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 50%; + --bs-amber-600-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 40%; + --bs-amber-700-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 30%; + --bs-amber-800-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 20%; + --bs-amber-900-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 10%; + --bs-amber-100: hsl(var(--bs-amber-100-hsl)); + --bs-amber-200: hsl(var(--bs-amber-200-hsl)); + --bs-amber-300: hsl(var(--bs-amber-300-hsl)); + --bs-amber-400: hsl(var(--bs-amber-400-hsl)); + --bs-amber-500: hsl(var(--bs-amber-500-hsl)); + --bs-amber-600: hsl(var(--bs-amber-600-hsl)); + --bs-amber-700: hsl(var(--bs-amber-700-hsl)); + --bs-amber-800: hsl(var(--bs-amber-800-hsl)); + --bs-amber-900: hsl(var(--bs-amber-900-hsl)); + --bs-amber-hsl: var(--bs-amber-500-hsl); + --bs-amber: hsl(var(--bs-amber-hsl)); + --bs-amber-foreground-hsl: var(--bs-amber-900-hsl); + --bs-amber-foreground: hsl(var(--bs-amber-foreground-hsl)); + --bs-amber-text-emphasis-hsl: var(--bs-amber-700-hsl); + --bs-amber-text-emphasis: hsl(var(--bs-amber-text-emphasis-hsl)); + --bs-amber-hover-bg: var(--bs-amber-400); + --bs-amber-active-bg: var(--bs-amber-300); + --bs-amber-bg-subtle: hsl(var(--bs-amber-hue), var(--bs-amber-saturation), 95%); + --bs-amber-border-subtle: var(--bs-amber-400); + --bs-amber-checkbox-svg: var(--bs-checkbox-svg-dark); + --bs-amber-dash-svg: var(--bs-dash-svg-dark); + --bs-amber-radio-svg: var(--bs-radio-svg-dark); + --bs-amber-switch-svg: var(--bs-switch-svg-dark); + + /* Yellow */ + + --bs-yellow-hue: 50; + --bs-yellow-saturation: 93%; + --bs-yellow-100-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 90%; + --bs-yellow-200-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 80%; + --bs-yellow-300-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 70%; + --bs-yellow-400-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 60%; + --bs-yellow-500-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 50%; + --bs-yellow-600-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 40%; + --bs-yellow-700-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 30%; + --bs-yellow-800-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 20%; + --bs-yellow-900-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 10%; + --bs-yellow-100: hsl(var(--bs-yellow-100-hsl)); + --bs-yellow-200: hsl(var(--bs-yellow-200-hsl)); + --bs-yellow-300: hsl(var(--bs-yellow-300-hsl)); + --bs-yellow-400: hsl(var(--bs-yellow-400-hsl)); + --bs-yellow-500: hsl(var(--bs-yellow-500-hsl)); + --bs-yellow-600: hsl(var(--bs-yellow-600-hsl)); + --bs-yellow-700: hsl(var(--bs-yellow-700-hsl)); + --bs-yellow-800: hsl(var(--bs-yellow-800-hsl)); + --bs-yellow-900: hsl(var(--bs-yellow-900-hsl)); + --bs-yellow-hsl: var(--bs-yellow-500-hsl); + --bs-yellow: hsl(var(--bs-yellow-hsl)); + --bs-yellow-foreground-hsl: var(--bs-yellow-900-hsl); + --bs-yellow-foreground: hsl(var(--bs-yellow-foreground-hsl)); + --bs-yellow-text-emphasis-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 25%; + --bs-yellow-text-emphasis: hsl(var(--bs-yellow-text-emphasis-hsl)); + --bs-yellow-hover-bg: var(--bs-yellow-400); + --bs-yellow-active-bg: var(--bs-yellow-300); + --bs-yellow-bg-subtle: hsl(var(--bs-yellow-hue), var(--bs-yellow-saturation), 95%); + --bs-yellow-border-subtle: var(--bs-yellow-400); + --bs-yellow-checkbox-svg: var(--bs-checkbox-svg-dark); + --bs-yellow-dash-svg: var(--bs-dash-svg-dark); + --bs-yellow-radio-svg: var(--bs-radio-svg-dark); + --bs-yellow-switch-svg: var(--bs-switch-svg-dark); + + /* Lime */ + + --bs-lime-hue: 83; + --bs-lime-saturation: 78%; + --bs-lime-100-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 90%; + --bs-lime-200-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 80%; + --bs-lime-300-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 70%; + --bs-lime-400-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 60%; + --bs-lime-500-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 50%; + --bs-lime-600-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 40%; + --bs-lime-700-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 30%; + --bs-lime-800-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 20%; + --bs-lime-900-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 10%; + --bs-lime-100: hsl(var(--bs-lime-100-hsl)); + --bs-lime-200: hsl(var(--bs-lime-200-hsl)); + --bs-lime-300: hsl(var(--bs-lime-300-hsl)); + --bs-lime-400: hsl(var(--bs-lime-400-hsl)); + --bs-lime-500: hsl(var(--bs-lime-500-hsl)); + --bs-lime-600: hsl(var(--bs-lime-600-hsl)); + --bs-lime-700: hsl(var(--bs-lime-700-hsl)); + --bs-lime-800: hsl(var(--bs-lime-800-hsl)); + --bs-lime-900: hsl(var(--bs-lime-900-hsl)); + --bs-lime-hsl: var(--bs-lime-500-hsl); + --bs-lime: hsl(var(--bs-lime-hsl)); + --bs-lime-foreground-hsl: var(--bs-lime-900-hsl); + --bs-lime-foreground: hsl(var(--bs-lime-foreground-hsl)); + --bs-lime-text-emphasis-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 27.5%; + --bs-lime-text-emphasis: hsl(var(--bs-lime-text-emphasis-hsl)); + --bs-lime-hover-bg: var(--bs-lime-400); + --bs-lime-active-bg: var(--bs-lime-300); + --bs-lime-bg-subtle: hsl(var(--bs-lime-hue), var(--bs-lime-saturation), 95%); + --bs-lime-border-subtle: var(--bs-lime-400); + --bs-lime-checkbox-svg: var(--bs-checkbox-svg-dark); + --bs-lime-dash-svg: var(--bs-dash-svg-dark); + --bs-lime-radio-svg: var(--bs-radio-svg-dark); + --bs-lime-switch-svg: var(--bs-switch-svg-dark); + + /* Green */ + + --bs-green-hue: 145; + --bs-green-saturation: 52%; + --bs-green-100-hsl: var(--bs-green-hue), var(--bs-green-saturation), 90%; + --bs-green-200-hsl: var(--bs-green-hue), var(--bs-green-saturation), 80%; + --bs-green-300-hsl: var(--bs-green-hue), var(--bs-green-saturation), 70%; + --bs-green-400-hsl: var(--bs-green-hue), var(--bs-green-saturation), 60%; + --bs-green-500-hsl: var(--bs-green-hue), var(--bs-green-saturation), 50%; + --bs-green-600-hsl: var(--bs-green-hue), var(--bs-green-saturation), 40%; + --bs-green-700-hsl: var(--bs-green-hue), var(--bs-green-saturation), 30%; + --bs-green-800-hsl: var(--bs-green-hue), var(--bs-green-saturation), 20%; + --bs-green-900-hsl: var(--bs-green-hue), var(--bs-green-saturation), 10%; + --bs-green-100: hsl(var(--bs-green-100-hsl)); + --bs-green-200: hsl(var(--bs-green-200-hsl)); + --bs-green-300: hsl(var(--bs-green-300-hsl)); + --bs-green-400: hsl(var(--bs-green-400-hsl)); + --bs-green-500: hsl(var(--bs-green-500-hsl)); + --bs-green-600: hsl(var(--bs-green-600-hsl)); + --bs-green-700: hsl(var(--bs-green-700-hsl)); + --bs-green-800: hsl(var(--bs-green-800-hsl)); + --bs-green-900: hsl(var(--bs-green-900-hsl)); + --bs-green-hsl: var(--bs-green-hue), var(--bs-green-saturation), 34%; + --bs-green: hsl(var(--bs-green-hsl)); + --bs-green-foreground-hsl: var(--bs-white-hsl); + --bs-green-foreground: hsl(var(--bs-green-foreground-hsl)); + --bs-green-text-emphasis-hsl: var(--bs-green-700-hsl); + --bs-green-text-emphasis: hsl(var(--bs-green-text-emphasis-hsl)); + --bs-green-hover-bg: var(--bs-green-700); + --bs-green-active-bg: var(--bs-green-800); + --bs-green-bg-subtle: hsl(var(--bs-green-hue), var(--bs-green-saturation), 95%); + --bs-green-border-subtle: var(--bs-green-400); + --bs-green-checkbox-svg: var(--bs-checkbox-svg-light); + --bs-green-dash-svg: var(--bs-dash-svg-light); + --bs-green-radio-svg: var(--bs-radio-svg-light); + --bs-green-switch-svg: var(--bs-switch-svg-light); + + /* Emerald */ + + --bs-emerald-hue: 160; + --bs-emerald-saturation: 84%; + --bs-emerald-100-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 90%; + --bs-emerald-200-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 80%; + --bs-emerald-300-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 70%; + --bs-emerald-400-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 60%; + --bs-emerald-500-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 50%; + --bs-emerald-600-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 40%; + --bs-emerald-700-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 30%; + --bs-emerald-800-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 20%; + --bs-emerald-900-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 10%; + --bs-emerald-100: hsl(var(--bs-emerald-100-hsl)); + --bs-emerald-200: hsl(var(--bs-emerald-200-hsl)); + --bs-emerald-300: hsl(var(--bs-emerald-300-hsl)); + --bs-emerald-400: hsl(var(--bs-emerald-400-hsl)); + --bs-emerald-500: hsl(var(--bs-emerald-500-hsl)); + --bs-emerald-600: hsl(var(--bs-emerald-600-hsl)); + --bs-emerald-700: hsl(var(--bs-emerald-700-hsl)); + --bs-emerald-800: hsl(var(--bs-emerald-800-hsl)); + --bs-emerald-900: hsl(var(--bs-emerald-900-hsl)); + --bs-emerald-hsl: var(--bs-emerald-500-hsl); + --bs-emerald: hsl(var(--bs-emerald-hsl)); + --bs-emerald-foreground-hsl: var(--bs-emerald-900-hsl); + --bs-emerald-foreground: hsl(var(--bs-emerald-foreground-hsl)); + --bs-emerald-text-emphasis-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 27.5%; + --bs-emerald-text-emphasis: hsl(var(--bs-emerald-text-emphasis-hsl)); + --bs-emerald-hover-bg: var(--bs-emerald-400); + --bs-emerald-active-bg: var(--bs-emerald-300); + --bs-emerald-bg-subtle: hsl(var(--bs-emerald-hue), var(--bs-emerald-saturation), 95%); + --bs-emerald-border-subtle: var(--bs-emerald-400); + --bs-emerald-checkbox-svg: var(--bs-checkbox-svg-dark); + --bs-emerald-dash-svg: var(--bs-dash-svg-dark); + --bs-emerald-radio-svg: var(--bs-radio-svg-dark); + --bs-emerald-switch-svg: var(--bs-switch-svg-dark); + + /* Turquoise */ + + --bs-turquoise-hue: 168; + --bs-turquoise-saturation: 52%; + --bs-turquoise-100-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 90%; + --bs-turquoise-200-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 80%; + --bs-turquoise-300-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 70%; + --bs-turquoise-400-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 60%; + --bs-turquoise-500-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 50%; + --bs-turquoise-600-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 40%; + --bs-turquoise-700-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 30%; + --bs-turquoise-800-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 20%; + --bs-turquoise-900-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 10%; + --bs-turquoise-100: hsl(var(--bs-turquoise-100-hsl)); + --bs-turquoise-200: hsl(var(--bs-turquoise-200-hsl)); + --bs-turquoise-300: hsl(var(--bs-turquoise-300-hsl)); + --bs-turquoise-400: hsl(var(--bs-turquoise-400-hsl)); + --bs-turquoise-500: hsl(var(--bs-turquoise-500-hsl)); + --bs-turquoise-600: hsl(var(--bs-turquoise-600-hsl)); + --bs-turquoise-700: hsl(var(--bs-turquoise-700-hsl)); + --bs-turquoise-800: hsl(var(--bs-turquoise-800-hsl)); + --bs-turquoise-900: hsl(var(--bs-turquoise-900-hsl)); + --bs-turquoise-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 34%; + --bs-turquoise: hsl(var(--bs-turquoise-hsl)); + --bs-turquoise-foreground-hsl: var(--bs-white-hsl); + --bs-turquoise-foreground: hsl(var(--bs-turquoise-foreground-hsl)); + --bs-turquoise-text-emphasis-hsl: var(--bs-turquoise-700-hsl); + --bs-turquoise-text-emphasis: hsl(var(--bs-turquoise-text-emphasis-hsl)); + --bs-turquoise-hover-bg: var(--bs-turquoise-700); + --bs-turquoise-active-bg: var(--bs-turquoise-800); + --bs-turquoise-bg-subtle: hsl(var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 95%); + --bs-turquoise-border-subtle: var(--bs-turquoise-400); + --bs-turquoise-checkbox-svg: var(--bs-checkbox-svg-light); + --bs-turquoise-dash-svg: var(--bs-dash-svg-light); + --bs-turquoise-radio-svg: var(--bs-radio-svg-light); + --bs-turquoise-switch-svg: var(--bs-switch-svg-light); + + /* Teal */ + + --bs-teal-hue: 173; + --bs-teal-saturation: 80%; + --bs-teal-100-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 90%; + --bs-teal-200-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 80%; + --bs-teal-300-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 70%; + --bs-teal-400-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 60%; + --bs-teal-500-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 50%; + --bs-teal-600-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 40%; + --bs-teal-700-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 30%; + --bs-teal-800-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 20%; + --bs-teal-900-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 10%; + --bs-teal-100: hsl(var(--bs-teal-100-hsl)); + --bs-teal-200: hsl(var(--bs-teal-200-hsl)); + --bs-teal-300: hsl(var(--bs-teal-300-hsl)); + --bs-teal-400: hsl(var(--bs-teal-400-hsl)); + --bs-teal-500: hsl(var(--bs-teal-500-hsl)); + --bs-teal-600: hsl(var(--bs-teal-600-hsl)); + --bs-teal-700: hsl(var(--bs-teal-700-hsl)); + --bs-teal-800: hsl(var(--bs-teal-800-hsl)); + --bs-teal-900: hsl(var(--bs-teal-900-hsl)); + --bs-teal-hsl: var(--bs-teal-500-hsl); + --bs-teal: hsl(var(--bs-teal-hsl)); + --bs-teal-foreground-hsl: var(--bs-teal-900-hsl); + --bs-teal-foreground: hsl(var(--bs-teal-foreground-hsl)); + --bs-teal-text-emphasis-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 27.5%; + --bs-teal-text-emphasis: hsl(var(--bs-teal-text-emphasis-hsl)); + --bs-teal-hover-bg: var(--bs-teal-400); + --bs-teal-active-bg: var(--bs-teal-300); + --bs-teal-bg-subtle: hsl(var(--bs-teal-hue), var(--bs-teal-saturation), 95%); + --bs-teal-border-subtle: var(--bs-teal-400); + --bs-teal-checkbox-svg: var(--bs-checkbox-svg-dark); + --bs-teal-dash-svg: var(--bs-dash-svg-dark); + --bs-teal-radio-svg: var(--bs-radio-svg-dark); + --bs-teal-switch-svg: var(--bs-switch-svg-dark); + + /* Cyan */ + + --bs-cyan-hue: 189; + --bs-cyan-saturation: 94%; + --bs-cyan-100-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 90%; + --bs-cyan-200-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 80%; + --bs-cyan-300-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 70%; + --bs-cyan-400-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 60%; + --bs-cyan-500-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 50%; + --bs-cyan-600-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 40%; + --bs-cyan-700-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 30%; + --bs-cyan-800-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 20%; + --bs-cyan-900-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 10%; + --bs-cyan-100: hsl(var(--bs-cyan-100-hsl)); + --bs-cyan-200: hsl(var(--bs-cyan-200-hsl)); + --bs-cyan-300: hsl(var(--bs-cyan-300-hsl)); + --bs-cyan-400: hsl(var(--bs-cyan-400-hsl)); + --bs-cyan-500: hsl(var(--bs-cyan-500-hsl)); + --bs-cyan-600: hsl(var(--bs-cyan-600-hsl)); + --bs-cyan-700: hsl(var(--bs-cyan-700-hsl)); + --bs-cyan-800: hsl(var(--bs-cyan-800-hsl)); + --bs-cyan-900: hsl(var(--bs-cyan-900-hsl)); + --bs-cyan-hsl: var(--bs-cyan-500-hsl); + --bs-cyan: hsl(var(--bs-cyan-hsl)); + --bs-cyan-foreground-hsl: var(--bs-cyan-900-hsl); + --bs-cyan-foreground: hsl(var(--bs-cyan-foreground-hsl)); + --bs-cyan-text-emphasis-hsl: var(--bs-cyan-700-hsl); + --bs-cyan-text-emphasis: hsl(var(--bs-cyan-text-emphasis-hsl)); + --bs-cyan-hover-bg: var(--bs-cyan-400); + --bs-cyan-active-bg: var(--bs-cyan-300); + --bs-cyan-bg-subtle: hsl(var(--bs-cyan-hue), var(--bs-cyan-saturation), 95%); + --bs-cyan-border-subtle: var(--bs-cyan-400); + --bs-cyan-checkbox-svg: var(--bs-checkbox-svg-dark); + --bs-cyan-dash-svg: var(--bs-dash-svg-dark); + --bs-cyan-radio-svg: var(--bs-radio-svg-dark); + --bs-cyan-switch-svg: var(--bs-switch-svg-dark); + + /* Sky */ + + --bs-sky-hue: 198; + --bs-sky-saturation: 100%; + --bs-sky-100-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 90%; + --bs-sky-200-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 80%; + --bs-sky-300-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 70%; + --bs-sky-400-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 60%; + --bs-sky-500-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 50%; + --bs-sky-600-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 40%; + --bs-sky-700-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 30%; + --bs-sky-800-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 20%; + --bs-sky-900-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 10%; + --bs-sky-100: hsl(var(--bs-sky-100-hsl)); + --bs-sky-200: hsl(var(--bs-sky-200-hsl)); + --bs-sky-300: hsl(var(--bs-sky-300-hsl)); + --bs-sky-400: hsl(var(--bs-sky-400-hsl)); + --bs-sky-500: hsl(var(--bs-sky-500-hsl)); + --bs-sky-600: hsl(var(--bs-sky-600-hsl)); + --bs-sky-700: hsl(var(--bs-sky-700-hsl)); + --bs-sky-800: hsl(var(--bs-sky-800-hsl)); + --bs-sky-900: hsl(var(--bs-sky-900-hsl)); + --bs-sky-hsl: var(--bs-sky-500-hsl); + --bs-sky: hsl(var(--bs-sky-hsl)); + --bs-sky-foreground-hsl: var(--bs-sky-900-hsl); + --bs-sky-foreground: hsl(var(--bs-sky-foreground-hsl)); + --bs-sky-text-emphasis-hsl: var(--bs-sky-700-hsl); + --bs-sky-text-emphasis: hsl(var(--bs-sky-text-emphasis-hsl)); + --bs-sky-hover-bg: var(--bs-sky-400); + --bs-sky-active-bg: var(--bs-sky-300); + --bs-sky-bg-subtle: hsl(var(--bs-sky-hue), var(--bs-sky-saturation), 95%); + --bs-sky-border-subtle: var(--bs-sky-400); + --bs-sky-checkbox-svg: var(--bs-checkbox-svg-dark); + --bs-sky-dash-svg: var(--bs-dash-svg-dark); + --bs-sky-radio-svg: var(--bs-radio-svg-dark); + --bs-sky-switch-svg: var(--bs-switch-svg-dark); + + /* Blue */ + + --bs-blue-hue: 216; + --bs-blue-saturation: 100%; + --bs-blue-100-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 90%; + --bs-blue-200-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 80%; + --bs-blue-300-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 70%; + --bs-blue-400-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 60%; + --bs-blue-500-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 50%; + --bs-blue-600-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 40%; + --bs-blue-700-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 30%; + --bs-blue-800-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 20%; + --bs-blue-900-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 10%; + --bs-blue-100: hsl(var(--bs-blue-100-hsl)); + --bs-blue-200: hsl(var(--bs-blue-200-hsl)); + --bs-blue-300: hsl(var(--bs-blue-300-hsl)); + --bs-blue-400: hsl(var(--bs-blue-400-hsl)); + --bs-blue-500: hsl(var(--bs-blue-500-hsl)); + --bs-blue-600: hsl(var(--bs-blue-600-hsl)); + --bs-blue-700: hsl(var(--bs-blue-700-hsl)); + --bs-blue-800: hsl(var(--bs-blue-800-hsl)); + --bs-blue-900: hsl(var(--bs-blue-900-hsl)); + --bs-blue-hsl: var(--bs-blue-500-hsl); + --bs-blue: hsl(var(--bs-blue-hsl)); + --bs-blue-foreground-hsl: var(--bs-white-hsl); + --bs-blue-foreground: hsl(var(--bs-blue-foreground-hsl)); + --bs-blue-text-emphasis-hsl: var(--bs-blue-600-hsl); + --bs-blue-text-emphasis: hsl(var(--bs-blue-text-emphasis-hsl)); + --bs-blue-hover-bg: var(--bs-blue-600); + --bs-blue-active-bg: var(--bs-blue-700); + --bs-blue-bg-subtle: hsl(var(--bs-blue-hue), var(--bs-blue-saturation), 95%); + --bs-blue-border-subtle: var(--bs-blue-400); + --bs-blue-checkbox-svg: var(--bs-checkbox-svg-light); + --bs-blue-dash-svg: var(--bs-dash-svg-light); + --bs-blue-radio-svg: var(--bs-radio-svg-light); + --bs-blue-switch-svg: var(--bs-switch-svg-light); + + /* Navy */ + + --bs-navy-hue: 235; + --bs-navy-saturation: 85%; + --bs-navy-100-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 90%; + --bs-navy-200-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 80%; + --bs-navy-300-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 70%; + --bs-navy-400-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 60%; + --bs-navy-500-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 50%; + --bs-navy-600-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 40%; + --bs-navy-700-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 30%; + --bs-navy-800-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 20%; + --bs-navy-900-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 10%; + --bs-navy-100: hsl(var(--bs-navy-100-hsl)); + --bs-navy-200: hsl(var(--bs-navy-200-hsl)); + --bs-navy-300: hsl(var(--bs-navy-300-hsl)); + --bs-navy-400: hsl(var(--bs-navy-400-hsl)); + --bs-navy-500: hsl(var(--bs-navy-500-hsl)); + --bs-navy-600: hsl(var(--bs-navy-600-hsl)); + --bs-navy-700: hsl(var(--bs-navy-700-hsl)); + --bs-navy-800: hsl(var(--bs-navy-800-hsl)); + --bs-navy-900: hsl(var(--bs-navy-900-hsl)); + --bs-navy-hsl: var(--bs-navy-500-hsl); + --bs-navy: hsl(var(--bs-navy-hsl)); + --bs-navy-foreground-hsl: var(--bs-white-hsl); + --bs-navy-foreground: hsl(var(--bs-navy-foreground-hsl)); + --bs-navy-text-emphasis-hsl: var(--bs-navy-600-hsl); + --bs-navy-text-emphasis: hsl(var(--bs-navy-text-emphasis-hsl)); + --bs-navy-hover-bg: var(--bs-navy-600); + --bs-navy-active-bg: var(--bs-navy-700); + --bs-navy-bg-subtle: hsl(var(--bs-navy-hue), var(--bs-navy-saturation), 95%); + --bs-navy-border-subtle: var(--bs-navy-400); + --bs-navy-checkbox-svg: var(--bs-checkbox-svg-light); + --bs-navy-dash-svg: var(--bs-dash-svg-light); + --bs-navy-radio-svg: var(--bs-radio-svg-light); + --bs-navy-switch-svg: var(--bs-switch-svg-light); + + /* Indigo */ + + --bs-indigo-hue: 241; + --bs-indigo-saturation: 60%; + --bs-indigo-100-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 90%; + --bs-indigo-200-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 80%; + --bs-indigo-300-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 70%; + --bs-indigo-400-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 60%; + --bs-indigo-500-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 50%; + --bs-indigo-600-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 40%; + --bs-indigo-700-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 30%; + --bs-indigo-800-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 20%; + --bs-indigo-900-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 10%; + --bs-indigo-100: hsl(var(--bs-indigo-100-hsl)); + --bs-indigo-200: hsl(var(--bs-indigo-200-hsl)); + --bs-indigo-300: hsl(var(--bs-indigo-300-hsl)); + --bs-indigo-400: hsl(var(--bs-indigo-400-hsl)); + --bs-indigo-500: hsl(var(--bs-indigo-500-hsl)); + --bs-indigo-600: hsl(var(--bs-indigo-600-hsl)); + --bs-indigo-700: hsl(var(--bs-indigo-700-hsl)); + --bs-indigo-800: hsl(var(--bs-indigo-800-hsl)); + --bs-indigo-900: hsl(var(--bs-indigo-900-hsl)); + --bs-indigo-hsl: var(--bs-indigo-500-hsl); + --bs-indigo: hsl(var(--bs-indigo-hsl)); + --bs-indigo-foreground-hsl: var(--bs-white-hsl); + --bs-indigo-foreground: hsl(var(--bs-indigo-foreground-hsl)); + --bs-indigo-text-emphasis-hsl: var(--bs-indigo-600-hsl); + --bs-indigo-text-emphasis: hsl(var(--bs-indigo-text-emphasis-hsl)); + --bs-indigo-hover-bg: var(--bs-indigo-600); + --bs-indigo-active-bg: var(--bs-indigo-700); + --bs-indigo-bg-subtle: hsl(var(--bs-indigo-hue), var(--bs-indigo-saturation), 95%); + --bs-indigo-border-subtle: var(--bs-indigo-400); + --bs-indigo-checkbox-svg: var(--bs-checkbox-svg-light); + --bs-indigo-dash-svg: var(--bs-dash-svg-light); + --bs-indigo-radio-svg: var(--bs-radio-svg-light); + --bs-indigo-switch-svg: var(--bs-switch-svg-light); + + /* Violet */ + + --bs-violet-hue: 262; + --bs-violet-saturation: 83%; + --bs-violet-100-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 90%; + --bs-violet-200-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 80%; + --bs-violet-300-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 70%; + --bs-violet-400-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 60%; + --bs-violet-500-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 50%; + --bs-violet-600-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 40%; + --bs-violet-700-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 30%; + --bs-violet-800-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 20%; + --bs-violet-900-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 10%; + --bs-violet-100: hsl(var(--bs-violet-100-hsl)); + --bs-violet-200: hsl(var(--bs-violet-200-hsl)); + --bs-violet-300: hsl(var(--bs-violet-300-hsl)); + --bs-violet-400: hsl(var(--bs-violet-400-hsl)); + --bs-violet-500: hsl(var(--bs-violet-500-hsl)); + --bs-violet-600: hsl(var(--bs-violet-600-hsl)); + --bs-violet-700: hsl(var(--bs-violet-700-hsl)); + --bs-violet-800: hsl(var(--bs-violet-800-hsl)); + --bs-violet-900: hsl(var(--bs-violet-900-hsl)); + --bs-violet-hsl: var(--bs-violet-500-hsl); + --bs-violet: hsl(var(--bs-violet-hsl)); + --bs-violet-foreground-hsl: var(--bs-white-hsl); + --bs-violet-foreground: hsl(var(--bs-violet-foreground-hsl)); + --bs-violet-text-emphasis-hsl: var(--bs-violet-600-hsl); + --bs-violet-text-emphasis: hsl(var(--bs-violet-text-emphasis-hsl)); + --bs-violet-hover-bg: var(--bs-violet-600); + --bs-violet-active-bg: var(--bs-violet-700); + --bs-violet-bg-subtle: hsl(var(--bs-violet-hue), var(--bs-violet-saturation), 95%); + --bs-violet-border-subtle: var(--bs-violet-400); + --bs-violet-checkbox-svg: var(--bs-checkbox-svg-light); + --bs-violet-dash-svg: var(--bs-dash-svg-light); + --bs-violet-radio-svg: var(--bs-radio-svg-light); + --bs-violet-switch-svg: var(--bs-switch-svg-light); + + /* Purple */ + + --bs-purple-hue: 271; + --bs-purple-saturation: 80%; + --bs-purple-100-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 90%; + --bs-purple-200-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 80%; + --bs-purple-300-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 70%; + --bs-purple-400-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 60%; + --bs-purple-500-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 50%; + --bs-purple-600-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 40%; + --bs-purple-700-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 30%; + --bs-purple-800-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 20%; + --bs-purple-900-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 10%; + --bs-purple-100: hsl(var(--bs-purple-100-hsl)); + --bs-purple-200: hsl(var(--bs-purple-200-hsl)); + --bs-purple-300: hsl(var(--bs-purple-300-hsl)); + --bs-purple-400: hsl(var(--bs-purple-400-hsl)); + --bs-purple-500: hsl(var(--bs-purple-500-hsl)); + --bs-purple-600: hsl(var(--bs-purple-600-hsl)); + --bs-purple-700: hsl(var(--bs-purple-700-hsl)); + --bs-purple-800: hsl(var(--bs-purple-800-hsl)); + --bs-purple-900: hsl(var(--bs-purple-900-hsl)); + --bs-purple-hsl: var(--bs-purple-500-hsl); + --bs-purple: hsl(var(--bs-purple-hsl)); + --bs-purple-foreground-hsl: var(--bs-white-hsl); + --bs-purple-foreground: hsl(var(--bs-purple-foreground-hsl)); + --bs-purple-text-emphasis-hsl: var(--bs-purple-600-hsl); + --bs-purple-text-emphasis: hsl(var(--bs-purple-text-emphasis-hsl)); + --bs-purple-hover-bg: var(--bs-purple-600); + --bs-purple-active-bg: var(--bs-purple-700); + --bs-purple-bg-subtle: hsl(var(--bs-purple-hue), var(--bs-purple-saturation), 95%); + --bs-purple-border-subtle: var(--bs-purple-400); + --bs-purple-checkbox-svg: var(--bs-checkbox-svg-light); + --bs-purple-dash-svg: var(--bs-dash-svg-light); + --bs-purple-radio-svg: var(--bs-radio-svg-light); + --bs-purple-switch-svg: var(--bs-switch-svg-light); + + /* Fuchsia */ + + --bs-fuchsia-hue: 292; + --bs-fuchsia-saturation: 52.5%; + --bs-fuchsia-100-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 90%; + --bs-fuchsia-200-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 80%; + --bs-fuchsia-300-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 70%; + --bs-fuchsia-400-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 60%; + --bs-fuchsia-500-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 50%; + --bs-fuchsia-600-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 40%; + --bs-fuchsia-700-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 30%; + --bs-fuchsia-800-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 20%; + --bs-fuchsia-900-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 10%; + --bs-fuchsia-100: hsl(var(--bs-fuchsia-100-hsl)); + --bs-fuchsia-200: hsl(var(--bs-fuchsia-200-hsl)); + --bs-fuchsia-300: hsl(var(--bs-fuchsia-300-hsl)); + --bs-fuchsia-400: hsl(var(--bs-fuchsia-400-hsl)); + --bs-fuchsia-500: hsl(var(--bs-fuchsia-500-hsl)); + --bs-fuchsia-600: hsl(var(--bs-fuchsia-600-hsl)); + --bs-fuchsia-700: hsl(var(--bs-fuchsia-700-hsl)); + --bs-fuchsia-800: hsl(var(--bs-fuchsia-800-hsl)); + --bs-fuchsia-900: hsl(var(--bs-fuchsia-900-hsl)); + --bs-fuchsia-hsl: var(--bs-fuchsia-500-hsl); + --bs-fuchsia: hsl(var(--bs-fuchsia-hsl)); + --bs-fuchsia-foreground-hsl: var(--bs-white-hsl); + --bs-fuchsia-foreground: hsl(var(--bs-fuchsia-foreground-hsl)); + --bs-fuchsia-text-emphasis-hsl: var(--bs-fuchsia-600-hsl); + --bs-fuchsia-text-emphasis: hsl(var(--bs-fuchsia-text-emphasis-hsl)); + --bs-fuchsia-hover-bg: var(--bs-fuchsia-600); + --bs-fuchsia-active-bg: var(--bs-fuchsia-700); + --bs-fuchsia-bg-subtle: hsl(var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 95%); + --bs-fuchsia-border-subtle: var(--bs-fuchsia-400); + --bs-fuchsia-checkbox-svg: var(--bs-checkbox-svg-light); + --bs-fuchsia-dash-svg: var(--bs-dash-svg-light); + --bs-fuchsia-radio-svg: var(--bs-radio-svg-light); + --bs-fuchsia-switch-svg: var(--bs-switch-svg-light); + + /* Pink (magenta) */ + + --bs-pink-hue: 331; + --bs-pink-saturation: 60%; + --bs-pink-100-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 90%; + --bs-pink-200-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 80%; + --bs-pink-300-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 70%; + --bs-pink-400-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 60%; + --bs-pink-500-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 50%; + --bs-pink-600-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 40%; + --bs-pink-700-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 30%; + --bs-pink-800-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 20%; + --bs-pink-900-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 10%; + --bs-pink-100: hsl(var(--bs-pink-100-hsl)); + --bs-pink-200: hsl(var(--bs-pink-200-hsl)); + --bs-pink-300: hsl(var(--bs-pink-300-hsl)); + --bs-pink-400: hsl(var(--bs-pink-400-hsl)); + --bs-pink-500: hsl(var(--bs-pink-500-hsl)); + --bs-pink-600: hsl(var(--bs-pink-600-hsl)); + --bs-pink-700: hsl(var(--bs-pink-700-hsl)); + --bs-pink-800: hsl(var(--bs-pink-800-hsl)); + --bs-pink-900: hsl(var(--bs-pink-900-hsl)); + --bs-pink-hsl: var(--bs-pink-500-hsl); + --bs-pink: hsl(var(--bs-pink-hsl)); + --bs-pink-foreground-hsl: var(--bs-white-hsl); + --bs-pink-foreground: hsl(var(--bs-pink-foreground-hsl)); + --bs-pink-text-emphasis-hsl: var(--bs-pink-600-hsl); + --bs-pink-text-emphasis: hsl(var(--bs-pink-text-emphasis-hsl)); + --bs-pink-hover-bg: var(--bs-pink-600); + --bs-pink-active-bg: var(--bs-pink-700); + --bs-pink-bg-subtle: hsl(var(--bs-pink-hue), var(--bs-pink-saturation), 95%); + --bs-pink-border-subtle: var(--bs-pink-400); + --bs-pink-checkbox-svg: var(--bs-checkbox-svg-light); + --bs-pink-dash-svg: var(--bs-dash-svg-light); + --bs-pink-radio-svg: var(--bs-radio-svg-light); + --bs-pink-switch-svg: var(--bs-switch-svg-light); + + /* Primary */ + + --bs-primary-hue: var(--bs-blue-hue); + --bs-primary-saturation: var(--bs-blue-saturation); + --bs-primary-100-hsl: var(--bs-blue-100-hsl); + --bs-primary-200-hsl: var(--bs-blue-200-hsl); + --bs-primary-300-hsl: var(--bs-blue-300-hsl); + --bs-primary-400-hsl: var(--bs-blue-400-hsl); + --bs-primary-500-hsl: var(--bs-blue-500-hsl); + --bs-primary-600-hsl: var(--bs-blue-600-hsl); + --bs-primary-700-hsl: var(--bs-blue-700-hsl); + --bs-primary-800-hsl: var(--bs-blue-800-hsl); + --bs-primary-900-hsl: var(--bs-blue-900-hsl); + --bs-primary-100: var(--bs-blue-100); + --bs-primary-200: var(--bs-blue-200); + --bs-primary-300: var(--bs-blue-300); + --bs-primary-400: var(--bs-blue-400); + --bs-primary-500: var(--bs-blue-500); + --bs-primary-600: var(--bs-blue-600); + --bs-primary-700: var(--bs-blue-700); + --bs-primary-800: var(--bs-blue-800); + --bs-primary-900: var(--bs-blue-900); + --bs-primary-hsl: var(--bs-blue-hsl); + --bs-primary: var(--bs-blue); + --bs-primary-foreground-hsl: var(--bs-blue-foreground-hsl); + --bs-primary-foreground: var(--bs-blue-foreground); + --bs-primary-text-emphasis-hsl: var(--bs-blue-text-emphasis-hsl); + --bs-primary-text-emphasis: var(--bs-blue-text-emphasis); + --bs-primary-hover-bg: var(--bs-blue-hover-bg); + --bs-primary-active-bg: var(--bs-blue-active-bg); + --bs-primary-bg-subtle: var(--bs-blue-bg-subtle); + --bs-primary-border-subtle: var(--bs-blue-border-subtle); + --bs-primary-checkbox-svg: var(--bs-blue-checkbox-svg); + --bs-primary-dash-svg: var(--bs-blue-dash-svg); + --bs-primary-radio-svg: var(--bs-blue-radio-svg); + --bs-primary-switch-svg: var(--bs-blue-switch-svg); + + /* Secondary */ + + --bs-secondary-hue: var(--bs-gray-hue); + --bs-secondary-saturation: var(--bs-gray-saturation); + --bs-secondary-100-hsl: var(--bs-gray-100-hsl); + --bs-secondary-200-hsl: var(--bs-gray-200-hsl); + --bs-secondary-300-hsl: var(--bs-gray-300-hsl); + --bs-secondary-400-hsl: var(--bs-gray-400-hsl); + --bs-secondary-500-hsl: var(--bs-gray-500-hsl); + --bs-secondary-600-hsl: var(--bs-gray-600-hsl); + --bs-secondary-700-hsl: var(--bs-gray-700-hsl); + --bs-secondary-800-hsl: var(--bs-gray-800-hsl); + --bs-secondary-900-hsl: var(--bs-gray-900-hsl); + --bs-secondary-100: var(--bs-gray-100); + --bs-secondary-200: var(--bs-gray-200); + --bs-secondary-300: var(--bs-gray-300); + --bs-secondary-400: var(--bs-gray-400); + --bs-secondary-500: var(--bs-gray-500); + --bs-secondary-600: var(--bs-gray-600); + --bs-secondary-700: var(--bs-gray-700); + --bs-secondary-800: var(--bs-gray-800); + --bs-secondary-900: var(--bs-gray-900); + --bs-secondary-hsl: var(--bs-gray-hsl); + --bs-secondary: var(--bs-gray); + --bs-secondary-foreground-hsl: var(--bs-gray-foreground-hsl); + --bs-secondary-foreground: var(--bs-gray-foreground); + --bs-secondary-text-emphasis-hsl: var(--bs-gray-text-emphasis-hsl); + --bs-secondary-text-emphasis: var(--bs-gray-text-emphasis); + --bs-secondary-hover-bg: var(--bs-gray-hover-bg); + --bs-secondary-active-bg: var(--bs-gray-active-bg); + --bs-secondary-bg-subtle: var(--bs-gray-bg-subtle); + --bs-secondary-border-subtle: var(--bs-gray-border-subtle); + --bs-secondary-checkbox-svg: var(--bs-gray-checkbox-svg); + --bs-secondary-dash-svg: var(--bs-gray-dash-svg); + --bs-secondary-radio-svg: var(--bs-gray-radio-svg); + --bs-secondary-switch-svg: var(--bs-gray-switch-svg); + + /* Success */ + + --bs-success-hue: var(--bs-green-hue); + --bs-success-saturation: var(--bs-green-saturation); + --bs-success-100-hsl: var(--bs-green-100-hsl); + --bs-success-200-hsl: var(--bs-green-200-hsl); + --bs-success-300-hsl: var(--bs-green-300-hsl); + --bs-success-400-hsl: var(--bs-green-400-hsl); + --bs-success-500-hsl: var(--bs-green-500-hsl); + --bs-success-600-hsl: var(--bs-green-600-hsl); + --bs-success-700-hsl: var(--bs-green-700-hsl); + --bs-success-800-hsl: var(--bs-green-800-hsl); + --bs-success-900-hsl: var(--bs-green-900-hsl); + --bs-success-100: var(--bs-green-100); + --bs-success-200: var(--bs-green-200); + --bs-success-300: var(--bs-green-300); + --bs-success-400: var(--bs-green-400); + --bs-success-500: var(--bs-green-500); + --bs-success-600: var(--bs-green-600); + --bs-success-700: var(--bs-green-700); + --bs-success-800: var(--bs-green-800); + --bs-success-900: var(--bs-green-900); + --bs-success-hsl: var(--bs-green-hsl); + --bs-success: var(--bs-green); + --bs-success-foreground-hsl: var(--bs-green-foreground-hsl); + --bs-success-foreground: var(--bs-green-foreground); + --bs-success-text-emphasis-hsl: var(--bs-green-text-emphasis-hsl); + --bs-success-text-emphasis: var(--bs-green-text-emphasis); + --bs-success-hover-bg: var(--bs-green-hover-bg); + --bs-success-active-bg: var(--bs-green-active-bg); + --bs-success-bg-subtle: var(--bs-green-bg-subtle); + --bs-success-border-subtle: var(--bs-green-border-subtle); + --bs-success-checkbox-svg: var(--bs-green-checkbox-svg); + --bs-success-dash-svg: var(--bs-green-dash-svg); + --bs-success-radio-svg: var(--bs-green-radio-svg); + --bs-success-switch-svg: var(--bs-green-switch-svg); + + /* Info */ + + --bs-info-hue: var(--bs-cyan-hue); + --bs-info-saturation: var(--bs-cyan-saturation); + --bs-info-100-hsl: var(--bs-cyan-100-hsl); + --bs-info-200-hsl: var(--bs-cyan-200-hsl); + --bs-info-300-hsl: var(--bs-cyan-300-hsl); + --bs-info-400-hsl: var(--bs-cyan-400-hsl); + --bs-info-500-hsl: var(--bs-cyan-500-hsl); + --bs-info-600-hsl: var(--bs-cyan-600-hsl); + --bs-info-700-hsl: var(--bs-cyan-700-hsl); + --bs-info-800-hsl: var(--bs-cyan-800-hsl); + --bs-info-900-hsl: var(--bs-cyan-900-hsl); + --bs-info-100: var(--bs-cyan-100); + --bs-info-200: var(--bs-cyan-200); + --bs-info-300: var(--bs-cyan-300); + --bs-info-400: var(--bs-cyan-400); + --bs-info-500: var(--bs-cyan-500); + --bs-info-600: var(--bs-cyan-600); + --bs-info-700: var(--bs-cyan-700); + --bs-info-800: var(--bs-cyan-800); + --bs-info-900: var(--bs-cyan-900); + --bs-info-hsl: var(--bs-cyan-hsl); + --bs-info: var(--bs-cyan); + --bs-info-foreground-hsl: var(--bs-cyan-foreground-hsl); + --bs-info-foreground: var(--bs-cyan-foreground); + --bs-info-text-emphasis-hsl: var(--bs-cyan-text-emphasis-hsl); + --bs-info-text-emphasis: var(--bs-cyan-text-emphasis); + --bs-info-hover-bg: var(--bs-cyan-hover-bg); + --bs-info-active-bg: var(--bs-cyan-active-bg); + --bs-info-bg-subtle: var(--bs-cyan-bg-subtle); + --bs-info-border-subtle: var(--bs-cyan-border-subtle); + --bs-info-checkbox-svg: var(--bs-cyan-checkbox-svg); + --bs-info-dash-svg: var(--bs-cyan-dash-svg); + --bs-info-radio-svg: var(--bs-cyan-radio-svg); + --bs-info-switch-svg: var(--bs-cyan-switch-svg); + + /* Warning */ + + --bs-warning-hue: var(--bs-yellow-hue); + --bs-warning-saturation: var(--bs-yellow-saturation); + --bs-warning-100-hsl: var(--bs-yellow-100-hsl); + --bs-warning-200-hsl: var(--bs-yellow-200-hsl); + --bs-warning-300-hsl: var(--bs-yellow-300-hsl); + --bs-warning-400-hsl: var(--bs-yellow-400-hsl); + --bs-warning-500-hsl: var(--bs-yellow-500-hsl); + --bs-warning-600-hsl: var(--bs-yellow-600-hsl); + --bs-warning-700-hsl: var(--bs-yellow-700-hsl); + --bs-warning-800-hsl: var(--bs-yellow-800-hsl); + --bs-warning-900-hsl: var(--bs-yellow-900-hsl); + --bs-warning-100: var(--bs-yellow-100); + --bs-warning-200: var(--bs-yellow-200); + --bs-warning-300: var(--bs-yellow-300); + --bs-warning-400: var(--bs-yellow-400); + --bs-warning-500: var(--bs-yellow-500); + --bs-warning-600: var(--bs-yellow-600); + --bs-warning-700: var(--bs-yellow-700); + --bs-warning-800: var(--bs-yellow-800); + --bs-warning-900: var(--bs-yellow-900); + --bs-warning-hsl: var(--bs-yellow-hsl); + --bs-warning: var(--bs-yellow); + --bs-warning-foreground-hsl: var(--bs-yellow-foreground-hsl); + --bs-warning-foreground: var(--bs-yellow-foreground); + --bs-warning-text-emphasis-hsl: var(--bs-yellow-text-emphasis-hsl); + --bs-warning-text-emphasis: var(--bs-yellow-text-emphasis); + --bs-warning-hover-bg: var(--bs-yellow-hover-bg); + --bs-warning-active-bg: var(--bs-yellow-active-bg); + --bs-warning-bg-subtle: var(--bs-yellow-bg-subtle); + --bs-warning-border-subtle: var(--bs-yellow-border-subtle); + --bs-warning-checkbox-svg: var(--bs-yellow-checkbox-svg); + --bs-warning-dash-svg: var(--bs-yellow-dash-svg); + --bs-warning-radio-svg: var(--bs-yellow-radio-svg); + --bs-warning-switch-svg: var(--bs-yellow-switch-svg); + + /* Danger */ + + --bs-danger-hue: var(--bs-red-hue); + --bs-danger-saturation: var(--bs-red-saturation); + --bs-danger-100-hsl: var(--bs-red-100-hsl); + --bs-danger-200-hsl: var(--bs-red-200-hsl); + --bs-danger-300-hsl: var(--bs-red-300-hsl); + --bs-danger-400-hsl: var(--bs-red-400-hsl); + --bs-danger-500-hsl: var(--bs-red-500-hsl); + --bs-danger-600-hsl: var(--bs-red-600-hsl); + --bs-danger-700-hsl: var(--bs-red-700-hsl); + --bs-danger-800-hsl: var(--bs-red-800-hsl); + --bs-danger-900-hsl: var(--bs-red-900-hsl); + --bs-danger-100: var(--bs-red-100); + --bs-danger-200: var(--bs-red-200); + --bs-danger-300: var(--bs-red-300); + --bs-danger-400: var(--bs-red-400); + --bs-danger-500: var(--bs-red-500); + --bs-danger-600: var(--bs-red-600); + --bs-danger-700: var(--bs-red-700); + --bs-danger-800: var(--bs-red-800); + --bs-danger-900: var(--bs-red-900); + --bs-danger-hsl: var(--bs-red-hsl); + --bs-danger: var(--bs-red); + --bs-danger-foreground-hsl: var(--bs-red-foreground-hsl); + --bs-danger-foreground: var(--bs-red-foreground); + --bs-danger-text-emphasis-hsl: var(--bs-red-text-emphasis-hsl); + --bs-danger-text-emphasis: var(--bs-red-text-emphasis); + --bs-danger-hover-bg: var(--bs-red-hover-bg); + --bs-danger-active-bg: var(--bs-red-active-bg); + --bs-danger-bg-subtle: var(--bs-red-bg-subtle); + --bs-danger-border-subtle: var(--bs-red-border-subtle); + --bs-danger-checkbox-svg: var(--bs-red-checkbox-svg); + --bs-danger-dash-svg: var(--bs-red-dash-svg); + --bs-danger-radio-svg: var(--bs-red-radio-svg); + --bs-danger-switch-svg: var(--bs-red-switch-svg); + + /* Light */ + + --bs-light-hue: var(--bs-lightgray-hue); + --bs-light-saturation: var(--bs-lightgray-saturation); + --bs-light-100-hsl: var(--bs-lightgray-100-hsl); + --bs-light-200-hsl: var(--bs-lightgray-200-hsl); + --bs-light-300-hsl: var(--bs-lightgray-300-hsl); + --bs-light-400-hsl: var(--bs-lightgray-400-hsl); + --bs-light-500-hsl: var(--bs-lightgray-500-hsl); + --bs-light-600-hsl: var(--bs-lightgray-600-hsl); + --bs-light-700-hsl: var(--bs-lightgray-700-hsl); + --bs-light-800-hsl: var(--bs-lightgray-800-hsl); + --bs-light-900-hsl: var(--bs-lightgray-900-hsl); + --bs-light-100: var(--bs-lightgray-100); + --bs-light-200: var(--bs-lightgray-200); + --bs-light-300: var(--bs-lightgray-300); + --bs-light-400: var(--bs-lightgray-400); + --bs-light-500: var(--bs-lightgray-500); + --bs-light-600: var(--bs-lightgray-600); + --bs-light-700: var(--bs-lightgray-700); + --bs-light-800: var(--bs-lightgray-800); + --bs-light-900: var(--bs-lightgray-900); + --bs-light-hsl: var(--bs-lightgray-hsl); + --bs-light: var(--bs-lightgray); + --bs-light-foreground-hsl: var(--bs-lightgray-foreground-hsl); + --bs-light-foreground: var(--bs-lightgray-foreground); + --bs-light-text-emphasis-hsl: var(--bs-lightgray-text-emphasis-hsl); + --bs-light-text-emphasis: var(--bs-lightgray-text-emphasis); + --bs-light-hover-bg: var(--bs-lightgray-hover-bg); + --bs-light-active-bg: var(--bs-lightgray-active-bg); + --bs-light-bg-subtle: var(--bs-lightgray-bg-subtle); + --bs-light-border-subtle: var(--bs-lightgray-border-subtle); + --bs-light-checkbox-svg: var(--bs-lightgray-checkbox-svg); + --bs-light-dash-svg: var(--bs-lightgray-dash-svg); + --bs-light-radio-svg: var(--bs-lightgray-radio-svg); + --bs-light-switch-svg: var(--bs-lightgray-switch-svg); + + /* Dark */ + + --bs-dark-hue: var(--bs-darkgray-hue); + --bs-dark-saturation: var(--bs-darkgray-saturation); + --bs-dark-100-hsl: var(--bs-darkgray-100-hsl); + --bs-dark-200-hsl: var(--bs-darkgray-200-hsl); + --bs-dark-300-hsl: var(--bs-darkgray-300-hsl); + --bs-dark-400-hsl: var(--bs-darkgray-400-hsl); + --bs-dark-500-hsl: var(--bs-darkgray-500-hsl); + --bs-dark-600-hsl: var(--bs-darkgray-600-hsl); + --bs-dark-700-hsl: var(--bs-darkgray-700-hsl); + --bs-dark-800-hsl: var(--bs-darkgray-800-hsl); + --bs-dark-900-hsl: var(--bs-darkgray-900-hsl); + --bs-dark-100: var(--bs-darkgray-100); + --bs-dark-200: var(--bs-darkgray-200); + --bs-dark-300: var(--bs-darkgray-300); + --bs-dark-400: var(--bs-darkgray-400); + --bs-dark-500: var(--bs-darkgray-500); + --bs-dark-600: var(--bs-darkgray-600); + --bs-dark-700: var(--bs-darkgray-700); + --bs-dark-800: var(--bs-darkgray-800); + --bs-dark-900: var(--bs-darkgray-900); + --bs-dark-hsl: var(--bs-darkgray-hsl); + --bs-dark: var(--bs-darkgray); + --bs-dark-foreground-hsl: var(--bs-darkgray-foreground-hsl); + --bs-dark-foreground: var(--bs-darkgray-foreground); + --bs-dark-text-emphasis-hsl: var(--bs-darkgray-text-emphasis-hsl); + --bs-dark-text-emphasis: var(--bs-darkgray-text-emphasis); + --bs-dark-hover-bg: var(--bs-darkgray-hover-bg); + --bs-dark-active-bg: var(--bs-darkgray-active-bg); + --bs-dark-bg-subtle: var(--bs-darkgray-bg-subtle); + --bs-dark-border-subtle: var(--bs-darkgray-border-subtle); + --bs-dark-checkbox-svg: var(--bs-darkgray-checkbox-svg); + --bs-dark-dash-svg: var(--bs-darkgray-dash-svg); + --bs-dark-radio-svg: var(--bs-darkgray-radio-svg); + --bs-dark-switch-svg: var(--bs-darkgray-switch-svg); +} + +[data-bs-theme=dark] { + /* Light gray */ + + --bs-lightgray-text-emphasis-hsl: var(--bs-lightgray-400-hsl); + --bs-lightgray-text-emphasis: hsl(var(--bs-lightgray-text-emphasis-hsl)); + --bs-lightgray-bg-subtle: hsl(var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 30%); + --bs-lightgray-border-subtle: var(--bs-lightgray-600); + + /* Gray */ + + --bs-gray-text-emphasis-hsl: var(--bs-gray-300-hsl); + --bs-gray-text-emphasis: hsl(var(--bs-gray-text-emphasis-hsl)); + --bs-gray-bg-subtle: hsl(var(--bs-gray-hue), var(--bs-gray-saturation), 25%); + --bs-gray-border-subtle: var(--bs-gray-600); + + /* Dark gray */ + + --bs-darkgray-text-emphasis-hsl: var(--bs-darkgray-300-hsl); + --bs-darkgray-text-emphasis: hsl(var(--bs-darkgray-text-emphasis-hsl)); + --bs-darkgray-bg-subtle: hsl(var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 17.5%); + --bs-darkgray-border-subtle: var(--bs-darkgray-600); + + /* Sable (black) */ + + --bs-sable-text-emphasis-hsl: var(--bs-sable-400-hsl); + --bs-sable-text-emphasis: hsl(var(--bs-sable-text-emphasis-hsl)); + --bs-sable-bg-subtle: hsl(var(--bs-sable-hue), var(--bs-sable-saturation), 12%); + --bs-sable-border-subtle: var(--bs-sable-600); + + /* Red */ + + --bs-red-text-emphasis-hsl: var(--bs-red-hue), var(--bs-red-saturation), 65%; + --bs-red-text-emphasis: hsl(var(--bs-red-text-emphasis-hsl)); + --bs-red-bg-subtle: hsl(var(--bs-red-hue), calc(var(--bs-red-saturation)/3), 15%); + --bs-red-border-subtle: var(--bs-red-600); + + /* Orange */ + + --bs-orange-text-emphasis-hsl: var(--bs-orange-400-hsl); + --bs-orange-text-emphasis: hsl(var(--bs-orange-text-emphasis-hsl)); + --bs-orange-bg-subtle: hsl(var(--bs-orange-hue), calc(var(--bs-orange-saturation)/3), 15%); + --bs-orange-border-subtle: var(--bs-orange-600); + + /* Sienna (burnt orange) */ + + --bs-sienna-text-emphasis-hsl: var(--bs-sienna-400-hsl); + --bs-sienna-text-emphasis: hsl(var(--bs-sienna-text-emphasis-hsl)); + --bs-sienna-bg-subtle: hsl(var(--bs-sienna-hue), calc(var(--bs-sienna-saturation)/3), 15%); + --bs-sienna-border-subtle: var(--bs-sienna-600); + + /* Amber */ + + --bs-amber-text-emphasis-hsl: var(--bs-amber-400-hsl); + --bs-amber-text-emphasis: hsl(var(--bs-amber-text-emphasis-hsl)); + --bs-amber-bg-subtle: hsl(var(--bs-amber-hue), calc(var(--bs-amber-saturation)/3), 15%); + --bs-amber-border-subtle: var(--bs-amber-600); + + /* Yellow */ + + --bs-yellow-text-emphasis-hsl: var(--bs-yellow-400-hsl); + --bs-yellow-text-emphasis: hsl(var(--bs-yellow-text-emphasis-hsl)); + --bs-yellow-bg-subtle: hsl(var(--bs-yellow-hue), calc(var(--bs-yellow-saturation)/3), 15%); + --bs-yellow-border-subtle: var(--bs-yellow-600); + + /* Lime */ + + --bs-lime-text-emphasis-hsl: var(--bs-lime-400-hsl); + --bs-lime-text-emphasis: hsl(var(--bs-lime-text-emphasis-hsl)); + --bs-lime-bg-subtle: hsl(var(--bs-lime-hue), calc(var(--bs-lime-saturation)/3), 15%); + --bs-lime-border-subtle: var(--bs-lime-600); + + /* Green */ + + --bs-green-text-emphasis-hsl: var(--bs-green-400-hsl); + --bs-green-text-emphasis: hsl(var(--bs-green-text-emphasis-hsl)); + --bs-green-bg-subtle: hsl(var(--bs-green-hue), calc(var(--bs-green-saturation)/3), 15%); + --bs-green-border-subtle: var(--bs-green-600); + + /* Emerald */ + + --bs-emerald-text-emphasis-hsl: var(--bs-emerald-400-hsl); + --bs-emerald-text-emphasis: hsl(var(--bs-emerald-text-emphasis-hsl)); + --bs-emerald-bg-subtle: hsl(var(--bs-emerald-hue), calc(var(--bs-emerald-saturation)/3), 15%); + --bs-emerald-border-subtle: var(--bs-emerald-600); + + /* Turquoise */ + + --bs-turquoise-text-emphasis-hsl: var(--bs-turquoise-400-hsl); + --bs-turquoise-text-emphasis: hsl(var(--bs-turquoise-text-emphasis-hsl)); + --bs-turquoise-bg-subtle: hsl(var(--bs-turquoise-hue), calc(var(--bs-turquoise-saturation)/3), 15%); + --bs-turquoise-border-subtle: var(--bs-turquoise-600); + + /* Teal */ + + --bs-teal-text-emphasis-hsl: var(--bs-teal-400-hsl); + --bs-teal-text-emphasis: hsl(var(--bs-teal-text-emphasis-hsl)); + --bs-teal-bg-subtle: hsl(var(--bs-teal-hue), calc(var(--bs-teal-saturation)/3), 15%); + --bs-teal-border-subtle: var(--bs-teal-600); + + /* Cyan */ + + --bs-cyan-text-emphasis-hsl: var(--bs-cyan-400-hsl); + --bs-cyan-text-emphasis: hsl(var(--bs-cyan-text-emphasis-hsl)); + --bs-cyan-bg-subtle: hsl(var(--bs-cyan-hue), calc(var(--bs-cyan-saturation)/3), 15%); + --bs-cyan-border-subtle: var(--bs-cyan-600); + + /* Sky */ + + --bs-sky-text-emphasis-hsl: var(--bs-sky-400-hsl); + --bs-sky-text-emphasis: hsl(var(--bs-sky-text-emphasis-hsl)); + --bs-sky-bg-subtle: hsl(var(--bs-sky-hue), calc(var(--bs-sky-saturation)/3), 15%); + --bs-sky-border-subtle: var(--bs-sky-600); + + /* Blue */ + + --bs-blue-text-emphasis-hsl: var(--bs-blue-400-hsl); + --bs-blue-text-emphasis: hsl(var(--bs-blue-text-emphasis-hsl)); + --bs-blue-bg-subtle: hsl(var(--bs-blue-hue), calc(var(--bs-blue-saturation)/3), 15%); + --bs-blue-border-subtle: var(--bs-blue-600); + + /* Navy */ + + --bs-navy-text-emphasis-hsl: var(--bs-navy-300-hsl); + --bs-navy-text-emphasis: hsl(var(--bs-navy-text-emphasis-hsl)); + --bs-navy-bg-subtle: hsl(var(--bs-navy-hue), calc(var(--bs-navy-saturation)/3), 15%); + --bs-navy-border-subtle: var(--bs-navy-600); + + /* Indigo */ + + --bs-indigo-text-emphasis-hsl: var(--bs-indigo-300-hsl); + --bs-indigo-text-emphasis: hsl(var(--bs-indigo-text-emphasis-hsl)); + --bs-indigo-bg-subtle: hsl(var(--bs-indigo-hue), calc(var(--bs-indigo-saturation)/3), 15%); + --bs-indigo-border-subtle: var(--bs-indigo-600); + + /* Violet */ + + --bs-violet-text-emphasis-hsl: var(--bs-violet-300-hsl); + --bs-violet-text-emphasis: hsl(var(--bs-violet-text-emphasis-hsl)); + --bs-violet-bg-subtle: hsl(var(--bs-violet-hue), calc(var(--bs-violet-saturation)/3), 15%); + --bs-violet-border-subtle: var(--bs-violet-600); + + /* Purple */ + + --bs-purple-text-emphasis-hsl: var(--bs-purple-300-hsl); + --bs-purple-text-emphasis: hsl(var(--bs-purple-text-emphasis-hsl)); + --bs-purple-bg-subtle: hsl(var(--bs-purple-hue), calc(var(--bs-purple-saturation)/3), 15%); + --bs-purple-border-subtle: var(--bs-purple-600); + + /* Fuchsia */ + + --bs-fuchsia-text-emphasis-hsl: var(--bs-fuchsia-400-hsl); + --bs-fuchsia-text-emphasis: hsl(var(--bs-fuchsia-text-emphasis-hsl)); + --bs-fuchsia-bg-subtle: hsl(var(--bs-fuchsia-hue), calc(var(--bs-fuchsia-saturation)/3), 15%); + --bs-fuchsia-border-subtle: var(--bs-fuchsia-600); + + /* Pink (magenta) */ + + --bs-pink-text-emphasis-hsl: var(--bs-pink-400-hsl); + --bs-pink-text-emphasis: hsl(var(--bs-pink-text-emphasis-hsl)); + --bs-pink-bg-subtle: hsl(var(--bs-pink-hue), calc(var(--bs-pink-saturation)/3), 15%); + --bs-pink-border-subtle: var(--bs-pink-600); + + /* Primary */ + + --bs-primary-text-emphasis-hsl: var(--bs-blue-text-emphasis-hsl); + --bs-primary-text-emphasis: var(--bs-blue-text-emphasis); + --bs-primary-bg-subtle: var(--bs-blue-bg-subtle); + --bs-primary-border-subtle: var(--bs-blue-border-subtle); + + /* Secondary */ + + --bs-secondary-hue: var(--bs-darkgray-hue); + --bs-secondary-saturation: var(--bs-darkgray-saturation); + --bs-secondary-100-hsl: var(--bs-darkgray-100-hsl); + --bs-secondary-200-hsl: var(--bs-darkgray-200-hsl); + --bs-secondary-300-hsl: var(--bs-darkgray-300-hsl); + --bs-secondary-400-hsl: var(--bs-darkgray-400-hsl); + --bs-secondary-500-hsl: var(--bs-darkgray-500-hsl); + --bs-secondary-600-hsl: var(--bs-darkgray-600-hsl); + --bs-secondary-700-hsl: var(--bs-darkgray-700-hsl); + --bs-secondary-800-hsl: var(--bs-darkgray-800-hsl); + --bs-secondary-900-hsl: var(--bs-darkgray-900-hsl); + --bs-secondary-100: var(--bs-darkgray-100); + --bs-secondary-200: var(--bs-darkgray-200); + --bs-secondary-300: var(--bs-darkgray-300); + --bs-secondary-400: var(--bs-darkgray-400); + --bs-secondary-500: var(--bs-darkgray-500); + --bs-secondary-600: var(--bs-darkgray-600); + --bs-secondary-700: var(--bs-darkgray-700); + --bs-secondary-800: var(--bs-darkgray-800); + --bs-secondary-900: var(--bs-darkgray-900); + --bs-secondary-hsl: var(--bs-darkgray-hsl); + --bs-secondary: var(--bs-darkgray); + --bs-secondary-foreground-hsl: var(--bs-darkgray-foreground-hsl); + --bs-secondary-foreground: var(--bs-darkgray-foreground); + --bs-secondary-text-emphasis-hsl: var(--bs-darkgray-text-emphasis-hsl); + --bs-secondary-text-emphasis: var(--bs-darkgray-text-emphasis); + --bs-secondary-hover-bg: var(--bs-darkgray-hover-bg); + --bs-secondary-active-bg: var(--bs-darkgray-active-bg); + --bs-secondary-bg-subtle: var(--bs-darkgray-bg-subtle); + --bs-secondary-border-subtle: var(--bs-darkgray-border-subtle); + --bs-secondary-checkbox-svg: var(--bs-darkgray-checkbox-svg); + --bs-secondary-dash-svg: var(--bs-darkgray-dash-svg); + --bs-secondary-radio-svg: var(--bs-darkgray-radio-svg); + --bs-secondary-switch-svg: var(--bs-darkgray-switch-svg); + + /* Success */ + + --bs-success-text-emphasis-hsl: var(--bs-green-text-emphasis-hsl); + --bs-success-text-emphasis: var(--bs-green-text-emphasis); + --bs-success-bg-subtle: var(--bs-green-bg-subtle); + --bs-success-border-subtle: var(--bs-green-border-subtle); + + /* Info */ + + --bs-info-text-emphasis-hsl: var(--bs-cyan-text-emphasis-hsl); + --bs-info-text-emphasis: var(--bs-cyan-text-emphasis); + --bs-info-bg-subtle: var(--bs-cyan-bg-subtle); + --bs-info-border-subtle: var(--bs-cyan-border-subtle); + + /* Warning */ + + --bs-warning-text-emphasis-hsl: var(--bs-yellow-text-emphasis-hsl); + --bs-warning-text-emphasis: var(--bs-yellow-text-emphasis); + --bs-warning-bg-subtle: var(--bs-yellow-bg-subtle); + --bs-warning-border-subtle: var(--bs-yellow-border-subtle); + + /* Danger */ + + --bs-danger-text-emphasis-hsl: var(--bs-red-text-emphasis-hsl); + --bs-danger-text-emphasis: var(--bs-red-text-emphasis); + --bs-danger-bg-subtle: var(--bs-red-bg-subtle); + --bs-danger-border-subtle: var(--bs-red-border-subtle); + + /* Light */ + + --bs-light-hue: var(--bs-gray-hue); + --bs-light-saturation: var(--bs-gray-saturation); + --bs-light-100-hsl: var(--bs-gray-100-hsl); + --bs-light-200-hsl: var(--bs-gray-200-hsl); + --bs-light-300-hsl: var(--bs-gray-300-hsl); + --bs-light-400-hsl: var(--bs-gray-400-hsl); + --bs-light-500-hsl: var(--bs-gray-500-hsl); + --bs-light-600-hsl: var(--bs-gray-600-hsl); + --bs-light-700-hsl: var(--bs-gray-700-hsl); + --bs-light-800-hsl: var(--bs-gray-800-hsl); + --bs-light-900-hsl: var(--bs-gray-900-hsl); + --bs-light-100: var(--bs-gray-100); + --bs-light-200: var(--bs-gray-200); + --bs-light-300: var(--bs-gray-300); + --bs-light-400: var(--bs-gray-400); + --bs-light-500: var(--bs-gray-500); + --bs-light-600: var(--bs-gray-600); + --bs-light-700: var(--bs-gray-700); + --bs-light-800: var(--bs-gray-800); + --bs-light-900: var(--bs-gray-900); + --bs-light-hsl: var(--bs-gray-hsl); + --bs-light: var(--bs-gray); + --bs-light-foreground-hsl: var(--bs-gray-foreground-hsl); + --bs-light-foreground: var(--bs-gray-foreground); + --bs-light-text-emphasis-hsl: var(--bs-gray-text-emphasis-hsl); + --bs-light-text-emphasis: var(--bs-gray-text-emphasis); + --bs-light-hover-bg: var(--bs-gray-hover-bg); + --bs-light-active-bg: var(--bs-gray-active-bg); + --bs-light-bg-subtle: var(--bs-gray-bg-subtle); + --bs-light-border-subtle: var(--bs-gray-border-subtle); + --bs-light-checkbox-svg: var(--bs-gray-checkbox-svg); + --bs-light-dash-svg: var(--bs-gray-dash-svg); + --bs-light-radio-svg: var(--bs-gray-radio-svg); + --bs-light-switch-svg: var(--bs-gray-switch-svg); + + /* Dark */ + + --bs-dark-hue: var(--bs-sable-hue); + --bs-dark-saturation: var(--bs-sable-saturation); + --bs-dark-100-hsl: var(--bs-sable-100-hsl); + --bs-dark-200-hsl: var(--bs-sable-200-hsl); + --bs-dark-300-hsl: var(--bs-sable-300-hsl); + --bs-dark-400-hsl: var(--bs-sable-400-hsl); + --bs-dark-500-hsl: var(--bs-sable-500-hsl); + --bs-dark-600-hsl: var(--bs-sable-600-hsl); + --bs-dark-700-hsl: var(--bs-sable-700-hsl); + --bs-dark-800-hsl: var(--bs-sable-800-hsl); + --bs-dark-900-hsl: var(--bs-sable-900-hsl); + --bs-dark-100: var(--bs-sable-100); + --bs-dark-200: var(--bs-sable-200); + --bs-dark-300: var(--bs-sable-300); + --bs-dark-400: var(--bs-sable-400); + --bs-dark-500: var(--bs-sable-500); + --bs-dark-600: var(--bs-sable-600); + --bs-dark-700: var(--bs-sable-700); + --bs-dark-800: var(--bs-sable-800); + --bs-dark-900: var(--bs-sable-900); + --bs-dark-hsl: var(--bs-sable-hsl); + --bs-dark: var(--bs-sable); + --bs-dark-foreground-hsl: var(--bs-sable-foreground-hsl); + --bs-dark-foreground: var(--bs-sable-foreground); + --bs-dark-text-emphasis-hsl: var(--bs-sable-text-emphasis-hsl); + --bs-dark-text-emphasis: var(--bs-sable-text-emphasis); + --bs-dark-hover-bg: var(--bs-sable-hover-bg); + --bs-dark-active-bg: var(--bs-sable-active-bg); + --bs-dark-bg-subtle: var(--bs-sable-bg-subtle); + --bs-dark-border-subtle: var(--bs-sable-border-subtle); + --bs-dark-checkbox-svg: var(--bs-sable-checkbox-svg); + --bs-dark-dash-svg: var(--bs-sable-dash-svg); + --bs-dark-radio-svg: var(--bs-sable-radio-svg); + --bs-dark-switch-svg: var(--bs-sable-switch-svg); +} + +/** + * ---------------------------------------------------------------------------- + * [ Variables ] + * ---------------------------------------------------------------------------- + */ + +:root, +[data-bs-theme=light] { + /* Color scheme */ + + color-scheme: light; + + /* Font family */ + + --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-serif: Iowan Old Style, Apple Garamond, Baskerville, Times New Roman, Droid Serif, Times, Source Serif Pro, serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; + --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + --bs-body-font-family: var(--bs-font-sans-serif); + + /* Font size */ + + --bs-font-size-base: 0.875rem; + --bs-font-size-sm: 0.75rem; + --bs-font-size-lg: 1rem; + --bs-relative-font-size-sm: 0.85714285714em; /* 12px */ + --bs-relative-font-size-xs: 0.71428571428em; /* 10px */ + --bs-relative-font-size-2xs: 0.57142857142em; /* 8px */ + --bs-relative-font-size-3xs: 0.42857142857em; /* 6px */ + --bs-relative-font-size-4xs: 0.28571428571em; /* 4px */ + --bs-relative-font-size-5xs: 0.21428571428em; /* 3px */ + --bs-relative-font-size-6xs: 0.14285714285em; /* 2px */ + --bs-relative-font-size-7xs: 0.07142857142em; /* 1px */ + --bs-body-font-size: var(--bs-font-size-base); + --bs-h1-font-size: calc(var(--bs-font-size-base) + 1.375rem); + --bs-h2-font-size: calc(var(--bs-font-size-base) + 1rem); + --bs-h3-font-size: calc(var(--bs-font-size-base) + 0.75rem); + --bs-h4-font-size: calc(var(--bs-font-size-base) + 0.5rem); + --bs-h5-font-size: calc(var(--bs-font-size-base) + 0.25rem); + --bs-h6-font-size: var(--bs-font-size-base); + + /* Font weight */ + + --bs-font-weight-lighter: lighter; + --bs-font-weight-light: 300; + --bs-font-weight-normal: 400; + --bs-font-weight-medium: 500; + --bs-font-weight-semibold: 600; + --bs-font-weight-bold: 700; + --bs-font-weight-bolder: bolder; + --bs-body-font-weight: var(--bs-font-weight-normal); + --bs-heading-font-weight: var(--bs-font-weight-bold); + + /* Line height */ + + --bs-line-height-base: 1.5; + --bs-line-height-sm: 1.25; + --bs-line-height-lg: 2; + --bs-body-line-height: var(--bs-line-height-base); + --bs-heading-line-height: 1.2; + + /* Font smoothing */ + + --bs-body-webkit-font-smoothing: antialiased; + --bs-body-moz-osx-font-smoothing: grayscale; + + /* Spacer */ + + --bs-spacer: 1rem; + --bs-spacer-1: calc(var(--bs-spacer) * 0.25); + --bs-spacer-2: calc(var(--bs-spacer) * 0.5); + --bs-spacer-3: var(--bs-spacer); + --bs-spacer-4: calc(var(--bs-spacer) * 1.5); + --bs-spacer-5: calc(var(--bs-spacer) * 3); + + /* Color */ + + --bs-color-hue: var(--bs-gray-hue); + --bs-color-saturation: var(--bs-gray-saturation); + --bs-body-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 15%; + --bs-body-color: hsl(var(--bs-body-color-hsl)); + --bs-emphasis-color-hsl: var(--bs-black-hsl); + --bs-emphasis-color: hsl(var(--bs-emphasis-color-hsl)); + --bs-secondary-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 40%; + --bs-secondary-color: hsl(var(--bs-secondary-color-hsl)); + --bs-tertiary-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 65%; + --bs-tertiary-color: hsl(var(--bs-tertiary-color-hsl)); + --bs-heading-color: inherit; + + /* Background */ + + --bs-body-bg-hsl: var(--bs-white-hsl); + --bs-body-bg: hsl(var(--bs-body-bg-hsl)); + --bs-secondary-bg-hsl: var(--bs-lightgray-100-hsl); + --bs-secondary-bg: hsl(var(--bs-secondary-bg-hsl)); + --bs-tertiary-bg-hsl: var(--bs-lightgray-200-hsl); + --bs-tertiary-bg: hsl(var(--bs-tertiary-bg-hsl)); + --bs-gradient: linear-gradient(180deg, hsla(var(--bs-white-hsl), 0.15), hsla(var(--bs-white-hsl), 0)); + + /* Border */ + + --bs-border-width: 1px; + --bs-border-width-1: var(--bs-border-width); + --bs-border-width-2: calc(var(--bs-border-width) + 1px); + --bs-border-width-3: calc(var(--bs-border-width) + 2px); + --bs-border-width-4: calc(var(--bs-border-width) + 3px); + --bs-border-width-5: calc(var(--bs-border-width) + 4px); + --bs-border-style: solid; + --bs-border-color: var(--bs-lightgray-800); + --bs-border-color-light: var(--bs-lightgray-600); + --bs-border-color-dark: var(--bs-border-color); + --bs-border-color-translucent: hsla(var(--bs-black-hsl), 0.15); + --bs-border-radius: 0.375rem; + --bs-border-radius-sm: 0.25rem; + --bs-border-radius-lg: 0.5rem; + --bs-border-radius-xl: 1rem; + --bs-border-radius-xxl: 2rem; + --bs-border-radius-2xl: var(--bs-border-radius-xxl); + --bs-border-radius-pill: 50rem; + + /* Box shadow */ + + --bs-box-shadow-color: hsla(var(--bs-black-hsl), 0.15); + --bs-box-shadow: 0 0.5rem 1rem var(--bs-box-shadow-color); + --bs-box-shadow-sm: 0 0.125rem 0.25rem var(--bs-box-shadow-color); + --bs-box-shadow-lg: 0 1rem 3rem var(--bs-box-shadow-color); + --bs-box-shadow-inset: inset 0 1px var(--bs-box-shadow-color); + + /* Focus ring */ + + --bs-focus-ring-width: 0.25rem; + --bs-focus-ring-opacity: 0.25; + --bs-focus-ring-color: hsla(var(--bs-primary-hsl), var(--bs-focus-ring-opacity)); + + /* Link */ + + --bs-link-color-hsl: var(--bs-primary-hsl); + --bs-link-color: hsl(var(--bs-link-color-hsl)); + --bs-link-decoration: underline; + --bs-link-decoration-offset: var(--bs-relative-font-size-4xs); + --bs-link-hover-color-hsl: var(--bs-primary-text-emphasis-hsl); + --bs-link-hover-color: hsl(var(--bs-link-hover-color-hsl)); + --bs-link-hover-decoration: underline; + + /* Highlight */ + + --bs-highlight-padding: var(--bs-relative-font-size-6xs); + --bs-highlight-color: inherit; + --bs-highlight-bg: hsla(var(--bs-yellow-hsl), 0.25); + --bs-highlight-border-radius: 0; + + /* Code */ + + --bs-code-padding: var(--bs-relative-font-size-6xs) var(--bs-relative-font-size-4xs); + --bs-code-font-size: var(--bs-relative-font-size-sm); + --bs-code-color: inherit; + --bs-code-bg: hsla(var(--bs-black-hsl), 0.1); + --bs-code-border-radius: var(--bs-border-radius-sm); + + /* Keyboard input */ + + --bs-kbd-padding: 0.125rem 0.375rem; + --bs-kbd-font-size: var(--bs-font-size-sm); + --bs-kbd-color: var(--bs-dark-foreground); + --bs-kbd-bg: var(--bs-dark); + --bs-kbd-border-radius: var(--bs-border-radius-sm); + + /* Container */ + + --bs-container-max-width-sm: 540px; + --bs-container-max-width-md: 720px; + --bs-container-max-width-lg: 960px; + --bs-container-max-width-xl: 1140px; + --bs-container-max-width-xxl: 1320px; + + /* Sidebar */ + + --bs-sidebar-margin: 0; + --bs-sidebar-width: 20rem; + --bs-sidebar-height: 100%; + --bs-padding-sbwidth: var(--bs-sidebar-width); + + /* Content (used as needed in cards, panels, menus, etc.) */ + + --bs-content-color-hsl: var(--bs-body-color-hsl); + --bs-content-color: hsl(var(--bs-content-color-hsl)); + --bs-content-bg-hsl: var(--bs-body-bg-hsl); + --bs-content-bg: hsl(var(--bs-content-bg-hsl)); + --bs-content-border-color: var(--bs-border-color-dark); + --bs-content-box-shadow: none; + --bs-content-floating-color-hsl: var(--bs-content-color-hsl); + --bs-content-floating-color: hsl(var(--bs-content-floating-color-hsl)); + --bs-content-floating-bg-hsl: var(--bs-content-bg-hsl); + --bs-content-floating-bg: hsl(var(--bs-content-floating-bg-hsl)); + --bs-content-floating-border-color: var(--bs-content-border-color); + --bs-content-floating-box-shadow: 0 1rem 2.25rem 0 rgba(0, 0, 0, 0.05), 0 0.25rem 1rem 0 rgba(0, 0, 0, 0.04); + + /* Action (used as needed in buttons, inputs, menu items, page links, etc.) */ + + --bs-action-padding-x: 0.5rem; + --bs-action-padding-y: 0.25rem; + --bs-action-font-size: var(--bs-font-size-base); + --bs-action-line-height: calc(20/14); + --bs-action-sm-padding-x: 0.375rem; + --bs-action-sm-padding-y: 0.125rem; + --bs-action-sm-font-size: var(--bs-font-size-sm); + --bs-action-sm-line-height: calc(18/12); + --bs-action-lg-padding-x: 0.625rem; + --bs-action-lg-padding-y: 0.3125rem; + --bs-action-lg-font-size: var(--bs-font-size-lg); + --bs-action-lg-line-height: calc(24/16); + --bs-action-color: hsl(var(--bs-color-hue), var(--bs-color-saturation), 20%); + --bs-action-bg: var(--bs-white); + --bs-action-border-color: var(--bs-border-color-dark); + --bs-action-hover-color: var(--bs-action-color); + --bs-action-hover-bg: var(--bs-lightgray-200); + --bs-action-hover-border-color: var(--bs-action-border-color); + --bs-action-focus-shadow-hsl: var(--bs-primary-hsl); + --bs-action-active-color: var(--bs-action-color); + --bs-action-active-bg: var(--bs-lightgray-400); + --bs-action-active-border-color: var(--bs-action-border-color); + --bs-action-active-shadow: none; + --bs-action-disabled-color: var(--bs-secondary-color); + --bs-action-disabled-bg: var(--bs-lightgray-400); + --bs-action-disabled-border-color: var(--bs-action-border-color); + + /* Form */ + + --bs-form-color: var(--bs-body-color); + --bs-form-bg: var(--bs-action-bg); + --bs-form-secondary-bg: var(--bs-action-hover-bg); + --bs-form-tertiary-bg: var(--bs-action-active-bg); + --bs-form-border-color: var(--bs-action-border-color); + --bs-form-focus-border-color: var(--bs-form-border-color); + --bs-form-focus-shadow-hsl: var(--bs-primary-hsl); + --bs-form-disabled-color: var(--bs-action-disabled-color); + --bs-form-disabled-bg: var(--bs-action-disabled-bg); + --bs-form-disabled-border-color: var(--bs-action-disabled-border-color); + --bs-form-valid-color: var(--bs-success-text-emphasis); + --bs-form-valid-border-color: var(--bs-success-border-subtle); + --bs-form-invalid-color: var(--bs-danger-text-emphasis); + --bs-form-invalid-border-color: var(--bs-danger-border-subtle); + --bs-form-check-bg: var(--bs-form-bg); + --bs-form-check-border-color: var(--bs-border-color); + --bs-form-check-focus-border-color: var(--bs-form-check-border-color); + --bs-form-check-focus-shadow-hsl: var(--bs-form-focus-shadow-hsl); + + /* Contextual buttons */ + + --bs-ctx-btn-border-color: transparent; + --bs-ctx-btn-hover-border-color: var(--bs-ctx-btn-border-color); + --bs-ctx-btn-active-border-color: var(--bs-ctx-btn-border-color); + --bs-ctx-btn-disabled-border-color: var(--bs-ctx-btn-border-color); + --bs-ctx-btn-bg-clip: border-box; + + /* Action bar (used as needed in range, progress, etc.) */ + + --bs-actionbar-bg: var(--bs-action-hover-bg); + --bs-actionbar-border-color: hsla(var(--bs-black-hsl), 0.075); + --bs-progresstrack-border-width: 0; + --bs-progresstrack-box-shadow: inset 0 0 0 var(--bs-border-width) var(--bs-actionbar-border-color); + --bs-progresstrack-bg-clip: border-box; +} + +[data-bs-theme=dark] { + /* Color scheme */ + + color-scheme: dark; + + /* Color */ + + --bs-color-hue: var(--bs-gray-hue); + --bs-color-saturation: var(--bs-gray-saturation); + --bs-body-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 85%; + --bs-body-color: hsl(var(--bs-body-color-hsl)); + --bs-emphasis-color-hsl: var(--bs-white-hsl); + --bs-emphasis-color: hsl(var(--bs-emphasis-color-hsl)); + --bs-secondary-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 60%; + --bs-secondary-color: hsl(var(--bs-secondary-color-hsl)); + --bs-tertiary-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 35%; + --bs-tertiary-color: hsl(var(--bs-tertiary-color-hsl)); + --bs-heading-color: inherit; + + /* Background */ + + --bs-body-bg-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 13%; + --bs-body-bg: hsl(var(--bs-body-bg-hsl)); + --bs-secondary-bg-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 11.8%; + --bs-secondary-bg: hsl(var(--bs-secondary-bg-hsl)); + --bs-tertiary-bg-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 11%; + --bs-tertiary-bg: hsl(var(--bs-tertiary-bg-hsl)); + --bs-gradient: linear-gradient(180deg, hsla(var(--bs-white-hsl), 0.15), hsla(var(--bs-white-hsl), 0)); + + /* Border */ + + --bs-border-color: var(--bs-gray-800); + --bs-border-color-light: var(--bs-border-color); + --bs-border-color-dark: hsl(var(--bs-sable-hue), var(--bs-sable-saturation), 9.5%); + --bs-border-color-translucent: hsla(var(--bs-white-hsl), 0.15); + + /* Box shadow */ + + --bs-box-shadow-color: hsla(var(--bs-black-hsl), 0.4); + --bs-box-shadow: 0 0.5rem 1rem var(--bs-box-shadow-color); + --bs-box-shadow-sm: 0 0.125rem 0.25rem var(--bs-box-shadow-color); + --bs-box-shadow-lg: 0 1rem 3rem var(--bs-box-shadow-color); + --bs-box-shadow-inset: inset 0 1px var(--bs-box-shadow-color); + + /* Link */ + + --bs-link-color-hsl: var(--bs-primary-text-emphasis-hsl); + --bs-link-color: hsl(var(--bs-link-color-hsl)); + --bs-link-hover-color-hsl: var(--bs-primary-hsl); + --bs-link-hover-color: hsl(var(--bs-link-hover-color-hsl)); + + /* Highlight */ + + --bs-highlight-color: inherit; + --bs-highlight-bg: hsla(var(--bs-yellow-hsl), 0.1); + + /* Code */ + + --bs-code-color: inherit; + --bs-code-bg: hsla(var(--bs-white-hsl), 0.075); + + /* Keyboard input */ + + --bs-kbd-color: var(--bs-light-foreground); + --bs-kbd-bg: var(--bs-light); + + /* Content (used as needed in cards, panels, menus, etc.) */ + + --bs-content-color-hsl: var(--bs-body-color-hsl); + --bs-content-color: hsl(var(--bs-content-color-hsl)); + --bs-content-bg-hsl: var(--bs-tertiary-bg-hsl); + --bs-content-bg: hsl(var(--bs-content-bg-hsl)); + --bs-content-border-color: var(--bs-border-color-dark); + --bs-content-box-shadow: none; + --bs-content-floating-color-hsl: var(--bs-content-color-hsl); + --bs-content-floating-color: hsl(var(--bs-content-floating-color-hsl)); + --bs-content-floating-bg-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 13.5%; + --bs-content-floating-bg: hsl(var(--bs-content-floating-bg-hsl)); + --bs-content-floating-border-color: var(--bs-content-border-color); + --bs-content-floating-box-shadow: 0 1rem 2.25rem 0 rgba(0, 0, 0, 0.2), 0 0.25rem 1rem 0 rgba(0, 0, 0, 0.16); + + /* Action (used as needed in buttons, inputs, menu items, page links, etc.) */ + + --bs-action-color: hsl(var(--bs-color-hue), var(--bs-color-saturation), 80%); + --bs-action-bg: var(--bs-sable-700); + --bs-action-border-color: var(--bs-border-color-dark); + --bs-action-hover-color: var(--bs-action-color); + --bs-action-hover-bg: var(--bs-sable-600); + --bs-action-hover-border-color: var(--bs-action-border-color); + --bs-action-focus-shadow-hsl: var(--bs-primary-hsl); + --bs-action-active-color: var(--bs-action-color); + --bs-action-active-bg: var(--bs-sable-500); + --bs-action-active-border-color: var(--bs-action-border-color); + --bs-action-active-shadow: none; + --bs-action-disabled-color: var(--bs-secondary-color); + --bs-action-disabled-bg: var(--bs-sable-400); + --bs-action-disabled-border-color: var(--bs-action-border-color); + + /* Form */ + + --bs-form-color: var(--bs-body-color); + --bs-form-bg: var(--bs-action-bg); + --bs-form-secondary-bg: var(--bs-action-hover-bg); + --bs-form-tertiary-bg: var(--bs-action-active-bg); + --bs-form-border-color: var(--bs-action-border-color); + --bs-form-focus-border-color: var(--bs-form-border-color); + --bs-form-focus-shadow-hsl: var(--bs-primary-hsl); + --bs-form-disabled-color: var(--bs-action-disabled-color); + --bs-form-disabled-bg: var(--bs-action-disabled-bg); + --bs-form-disabled-border-color: var(--bs-action-disabled-border-color); + --bs-form-valid-color: var(--bs-success-text-emphasis); + --bs-form-valid-border-color: var(--bs-success-border-subtle); + --bs-form-invalid-color: var(--bs-danger-text-emphasis); + --bs-form-invalid-border-color: var(--bs-danger-border-subtle); + --bs-form-check-bg: var(--bs-form-bg); + --bs-form-check-border-color: var(--bs-border-color); + --bs-form-check-focus-border-color: var(--bs-form-check-border-color); + --bs-form-check-focus-shadow-hsl: var(--bs-form-focus-shadow-hsl); + + /* Contextual buttons */ + + --bs-ctx-btn-border-color: var(--bs-border-color-dark); + --bs-ctx-btn-hover-border-color: var(--bs-ctx-btn-border-color); + --bs-ctx-btn-active-border-color: var(--bs-ctx-btn-border-color); + --bs-ctx-btn-disabled-border-color: var(--bs-ctx-btn-border-color); + --bs-ctx-btn-bg-clip: padding-box; + + /* Action bar (used as needed in range, progress, etc.) */ + + --bs-actionbar-bg: var(--bs-action-bg); + --bs-actionbar-border-color: var(--bs-action-border-color); + --bs-progresstrack-border-width: var(--bs-border-width); + --bs-progresstrack-box-shadow: none; + --bs-progresstrack-bg-clip: padding-box; +} + +/** + * ---------------------------------------------------------------------------- + * [ Reboot ] + * ---------------------------------------------------------------------------- + */ + +*, +*::before, +*::after { + box-sizing: border-box; +} + +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-font-smoothing: var(--bs-body-webkit-font-smoothing); + -moz-osx-font-smoothing: var(--bs-body-moz-osx-font-smoothing); + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: hsla(0, 0, 0, 0); +} + +hr { + margin: 1rem 0; + color: inherit; + border: 0; + border-top: var(--bs-border-width) solid; + opacity: 0.25; +} + +h6, .h6, +h5, .h5, +h4, .h4, +h3, .h3, +h2, .h2, +h1, .h1 { + margin-top: 0; + margin-bottom: 0.5rem; + font-weight: var(--bs-heading-font-weight); + line-height: var(--bs-heading-line-height); + color: var(--bs-heading-color); +} + +h1, .h1 { + font-size: calc((var(--bs-font-size-base) + 0.4875rem) + 1.5vw); +} + +@media (min-width: 1200px) { + h1, .h1 { + font-size: var(--bs-h1-font-size); + } +} + +h2, .h2 { + font-size: calc((var(--bs-font-size-base) + 0.4375rem) + 0.9vw); +} + +@media (min-width: 1200px) { + h2, .h2 { + font-size: var(--bs-h2-font-size); + } +} + +h3, .h3 { + font-size: calc((var(--bs-font-size-base) + 0.4rem) + 0.6vw); +} + +@media (min-width: 1200px) { + h3, .h3 { + font-size: var(--bs-h3-font-size); + } +} + +h4, .h4 { + font-size: calc((var(--bs-font-size-base) + 0.375rem) + 0.3vw); +} + +@media (min-width: 1200px) { + h4, .h4 { + font-size: var(--bs-h4-font-size); + } +} + +h5, .h5 { + font-size: var(--bs-h5-font-size); +} + +h6, .h6 { + font-size: var(--bs-h6-font-size); +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title] { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} + +a > abbr[title] { + text-underline-offset: var(--bs-relative-font-size-6xs); +} + +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: var(--bs-font-weight-bold); +} + +dd { + margin-bottom: 0.5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: var(--bs-font-weight-bolder); +} + +small, .small { + font-size: var(--bs-relative-font-size-sm); +} + +mark, .mark { + padding: var(--bs-highlight-padding); + color: var(--bs-highlight-color); + background-color: var(--bs-highlight-bg); + border-radius: var(--bs-highlight-border-radius); +} + +sub, +sup { + position: relative; + font-size: var(--bs-relative-font-size-xs); + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: calc(-1 * var(--bs-relative-font-size-4xs)); +} + +sup { + top: calc(-1 * var(--bs-relative-font-size-3xs)); +} + +a { + color: hsla(var(--bs-link-color-hsl), var(--bs-link-opacity, 1)); + text-decoration: var(--bs-link-decoration); + text-underline-offset: var(--bs-link-decoration-offset); + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} + +a:hover { + --bs-link-color-hsl: var(--bs-link-hover-color-hsl); + --bs-link-decoration: var(--bs-link-hover-decoration); +} + +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: var(--bs-relative-font-size-sm); +} + +pre code { + padding: 0; + font-size: inherit; + color: inherit; + background-color: transparent; + border-radius: 0; + word-break: normal; + word-wrap: normal; +} + +code { + padding: var(--bs-code-padding); + font-size: var(--bs-code-font-size); + color: var(--bs-code-color); + background-color: var(--bs-code-bg); + border-radius: var(--bs-code-border-radius); + word-wrap: break-word; + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} + +a > code { + color: inherit; +} + +kbd { + padding: var(--bs-kbd-padding); + font-size: var(--bs-kbd-font-size); + color: var(--bs-kbd-color); + background-color: var(--bs-kbd-bg); + border-radius: var(--bs-kbd-border-radius); + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} + +kbd kbd { + padding: 0; + font-size: 1em; +} + +figure { + margin: 0 0 1rem; +} + +img, +svg { + vertical-align: middle; +} + +table { + caption-side: bottom; + border-collapse: collapse; +} + +caption { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: var(--bs-secondary-color); + text-align: left; +} + +th { + text-align: inherit; + text-align: -webkit-match-parent; +} + +thead, +tbody, +tfoot, +tr, +td, +th { + border-color: inherit; + border-style: solid; + border-width: 0; +} + +label { + display: inline-block; +} + +button { + border-radius: 0; +} + +button:focus:not(:focus-visible) { + outline: 0; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +select { + text-transform: none; +} + +[role=button] { + cursor: pointer; +} + +select { + word-wrap: normal; +} + +select:disabled { + opacity: 1; +} + +[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator { + display: none !important; +} + +button, +[type=button], +[type=reset], +[type=submit] { + -webkit-appearance: button; +} + +button:not(:disabled), +[type=button]:not(:disabled), +[type=reset]:not(:disabled), +[type=submit]:not(:disabled) { + cursor: pointer; +} + +::-moz-focus-inner { + padding: 0; + border-style: none; +} + +textarea { + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + float: left; + width: 100%; + padding: 0; + margin-bottom: 0.5rem; + font-size: calc((var(--bs-font-size-base) + 0.375rem) + 0.3vw); + line-height: inherit; +} + +@media (min-width: 1200px) { + legend { + font-size: calc(var(--bs-font-size-base) + 0.5rem); + } +} + +legend + * { + clear: left; +} + +::-webkit-datetime-edit-fields-wrapper, +::-webkit-datetime-edit-text, +::-webkit-datetime-edit-minute, +::-webkit-datetime-edit-hour-field, +::-webkit-datetime-edit-day-field, +::-webkit-datetime-edit-month-field, +::-webkit-datetime-edit-year-field { + padding: 0; +} + +::-webkit-inner-spin-button { + height: auto; +} + +[type=search] { + outline-offset: -2px; + -webkit-appearance: textfield; +} + +/* rtl:raw: +[type="tel"], +[type="url"], +[type="email"], +[type="number"] { + direction: ltr; +} +*/ + +::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-color-swatch-wrapper { + padding: 0; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +::file-selector-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +iframe { + border: 0; +} + +summary { + display: list-item; + cursor: pointer; +} + +progress { + vertical-align: baseline; +} + +[hidden] { + display: none !important; +} + +/** + * ---------------------------------------------------------------------------- + * [ Typography ] + * ---------------------------------------------------------------------------- + */ + +.lead { + font-size: calc(var(--bs-font-size-base) + 0.25rem); +} + +.display-1, +.display-2, +.display-3, +.display-4, +.display-5, +.display-6 { + font-weight: var(--bs-font-weight-bold); + line-height: 1.2; +} + +.display-1 { + font-size: calc((var(--bs-font-size-base) + 0.7rem) + 4.5vw); +} + +@media (min-width: 1200px) { + .display-1 { + font-size: calc(var(--bs-font-size-base) + 3.875rem); + } +} + +.display-2 { + font-size: calc((var(--bs-font-size-base) + 0.65rem) + 3.9vw); +} + +@media (min-width: 1200px) { + .display-2 { + font-size: calc(var(--bs-font-size-base) + 3.375rem); + } +} + +.display-3 { + font-size: calc((var(--bs-font-size-base) + 0.6rem) + 3.3vw); +} + +@media (min-width: 1200px) { + .display-3 { + font-size: calc(var(--bs-font-size-base) + 2.875rem); + } +} + +.display-4 { + font-size: calc((var(--bs-font-size-base) + 0.55rem) + 2.7vw); +} + +@media (min-width: 1200px) { + .display-4 { + font-size: calc(var(--bs-font-size-base) + 2.375rem); + } +} + +.display-5 { + font-size: calc((var(--bs-font-size-base) + 0.5rem) + 2.1vw); +} + +@media (min-width: 1200px) { + .display-5 { + font-size: calc(var(--bs-font-size-base) + 1.875rem); + } +} + +.display-6 { + font-size: calc((var(--bs-font-size-base) + 0.45rem) + 1.5vw); +} + +@media (min-width: 1200px) { + .display-6 { + font-size: calc(var(--bs-font-size-base) + 1.375rem); + } +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; +} + +.list-inline-item { + display: inline-block; +} + +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} + +.initialism { + font-size: var(--bs-relative-font-size-sm); + text-transform: uppercase; +} + +.blockquote { + margin-bottom: 1rem; + font-size: calc(var(--bs-font-size-base) + 0.25rem); +} + +.blockquote > :last-child { + margin-bottom: 0; +} + +.blockquote-footer { + margin-top: -1rem; + margin-bottom: 1rem; + font-size: var(--bs-relative-font-size-sm); + color: var(--bs-secondary-color); +} + +.blockquote-footer::before { + content: "— "; +} + +/** + * ---------------------------------------------------------------------------- + * [ Images ] + * ---------------------------------------------------------------------------- + */ + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: var(--bs-body-bg); + border: var(--bs-border-width) solid var(--bs-border-color); + border-radius: var(--bs-border-radius); + max-width: 100%; + height: auto; +} + +/** + * ---------------------------------------------------------------------------- + * [ Figures ] + * ---------------------------------------------------------------------------- + */ + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: var(--bs-relative-font-size-sm); + color: var(--bs-secondary-color); +} + +/** + * ---------------------------------------------------------------------------- + * [ Grid ] + * ---------------------------------------------------------------------------- + */ + +.container, +.container-fluid, +.container-xxl, +.container-xl, +.container-lg, +.container-md, +.container-sm { + --bs-gutter-x: var(--bs-spacer-4); + --bs-gutter-y: 0; + width: 100%; + padding-right: calc(var(--bs-gutter-x) * 0.5); + padding-left: calc(var(--bs-gutter-x) * 0.5); + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container-sm, .container { + max-width: var(--bs-container-max-width-sm); + } +} + +@media (min-width: 768px) { + .container-md, .container-sm, .container { + max-width: var(--bs-container-max-width-md); + } +} + +@media (min-width: 992px) { + .container-lg, .container-md, .container-sm, .container { + max-width: var(--bs-container-max-width-lg); + } +} + +@media (min-width: 1200px) { + .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: var(--bs-container-max-width-xl); + } +} + +@media (min-width: 1400px) { + .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: var(--bs-container-max-width-xxl); + } +} + +:root { + --bs-breakpoint-xs: 0; + --bs-breakpoint-sm: 576px; + --bs-breakpoint-md: 768px; + --bs-breakpoint-lg: 992px; + --bs-breakpoint-xl: 1200px; + --bs-breakpoint-xxl: 1400px; +} + +.row { + --bs-gutter-x: var(--bs-spacer-4); + --bs-gutter-y: 0; + display: flex; + flex-wrap: wrap; + margin-top: calc(-1 * var(--bs-gutter-y)); + margin-right: calc(-0.5 * var(--bs-gutter-x)); + margin-left: calc(-0.5 * var(--bs-gutter-x)); +} + +.row > * { + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-right: calc(var(--bs-gutter-x) * 0.5); + padding-left: calc(var(--bs-gutter-x) * 0.5); + margin-top: var(--bs-gutter-y); +} + +.col { + flex: 1 0 0%; +} + +.row-cols-auto > * { + flex: 0 0 auto; + width: auto; +} + +.row-cols-1 > * { + flex: 0 0 auto; + width: 100%; +} + +.row-cols-2 > * { + flex: 0 0 auto; + width: 50%; +} + +.row-cols-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; +} + +.row-cols-4 > * { + flex: 0 0 auto; + width: 25%; +} + +.row-cols-5 > * { + flex: 0 0 auto; + width: 20%; +} + +.row-cols-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; +} + +.col-auto { + flex: 0 0 auto; + width: auto; +} + +.col-1 { + flex: 0 0 auto; + width: 8.33333333%; +} + +.col-2 { + flex: 0 0 auto; + width: 16.66666667%; +} + +.col-3 { + flex: 0 0 auto; + width: 25%; +} + +.col-4 { + flex: 0 0 auto; + width: 33.33333333%; +} + +.col-5 { + flex: 0 0 auto; + width: 41.66666667%; +} + +.col-6 { + flex: 0 0 auto; + width: 50%; +} + +.col-7 { + flex: 0 0 auto; + width: 58.33333333%; +} + +.col-8 { + flex: 0 0 auto; + width: 66.66666667%; +} + +.col-9 { + flex: 0 0 auto; + width: 75%; +} + +.col-10 { + flex: 0 0 auto; + width: 83.33333333%; +} + +.col-11 { + flex: 0 0 auto; + width: 91.66666667%; +} + +.col-12 { + flex: 0 0 auto; + width: 100%; +} + +.offset-1 { + margin-left: 8.33333333%; +} + +.offset-2 { + margin-left: 16.66666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.33333333%; +} + +.offset-5 { + margin-left: 41.66666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.33333333%; +} + +.offset-8 { + margin-left: 66.66666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.33333333%; +} + +.offset-11 { + margin-left: 91.66666667%; +} + +.g-0, +.gx-0 { + --bs-gutter-x: 0; +} + +.g-0, +.gy-0 { + --bs-gutter-y: 0; +} + +.g-1, +.gx-1 { + --bs-gutter-x: var(--bs-spacer-1); +} + +.g-1, +.gy-1 { + --bs-gutter-y: var(--bs-spacer-1); +} + +.g-2, +.gx-2 { + --bs-gutter-x: var(--bs-spacer-2); +} + +.g-2, +.gy-2 { + --bs-gutter-y: var(--bs-spacer-2); +} + +.g-3, +.gx-3 { + --bs-gutter-x: var(--bs-spacer-3); +} + +.g-3, +.gy-3 { + --bs-gutter-y: var(--bs-spacer-3); +} + +.g-4, +.gx-4 { + --bs-gutter-x: var(--bs-spacer-4); +} + +.g-4, +.gy-4 { + --bs-gutter-y: var(--bs-spacer-4); +} + +.g-5, +.gx-5 { + --bs-gutter-x: var(--bs-spacer-5); +} + +.g-5, +.gy-5 { + --bs-gutter-y: var(--bs-spacer-5); +} + +@media (min-width: 576px) { + .col-sm { + flex: 1 0 0%; + } + + .row-cols-sm-auto > * { + flex: 0 0 auto; + width: auto; + } + + .row-cols-sm-1 > * { + flex: 0 0 auto; + width: 100%; + } + + .row-cols-sm-2 > * { + flex: 0 0 auto; + width: 50%; + } + + .row-cols-sm-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + + .row-cols-sm-4 > * { + flex: 0 0 auto; + width: 25%; + } + + .row-cols-sm-5 > * { + flex: 0 0 auto; + width: 20%; + } + + .row-cols-sm-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + + .col-sm-auto { + flex: 0 0 auto; + width: auto; + } + + .col-sm-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + + .col-sm-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + + .col-sm-3 { + flex: 0 0 auto; + width: 25%; + } + + .col-sm-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + + .col-sm-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + + .col-sm-6 { + flex: 0 0 auto; + width: 50%; + } + + .col-sm-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + + .col-sm-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + + .col-sm-9 { + flex: 0 0 auto; + width: 75%; + } + + .col-sm-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + + .col-sm-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + + .col-sm-12 { + flex: 0 0 auto; + width: 100%; + } + + .offset-sm-0 { + margin-left: 0; + } + + .offset-sm-1 { + margin-left: 8.33333333%; + } + + .offset-sm-2 { + margin-left: 16.66666667%; + } + + .offset-sm-3 { + margin-left: 25%; + } + + .offset-sm-4 { + margin-left: 33.33333333%; + } + + .offset-sm-5 { + margin-left: 41.66666667%; + } + + .offset-sm-6 { + margin-left: 50%; + } + + .offset-sm-7 { + margin-left: 58.33333333%; + } + + .offset-sm-8 { + margin-left: 66.66666667%; + } + + .offset-sm-9 { + margin-left: 75%; + } + + .offset-sm-10 { + margin-left: 83.33333333%; + } + + .offset-sm-11 { + margin-left: 91.66666667%; + } + + .g-sm-0, + .gx-sm-0 { + --bs-gutter-x: 0; + } + + .g-sm-0, + .gy-sm-0 { + --bs-gutter-y: 0; + } + + .g-sm-1, + .gx-sm-1 { + --bs-gutter-x: var(--bs-spacer-1); + } + + .g-sm-1, + .gy-sm-1 { + --bs-gutter-y: var(--bs-spacer-1); + } + + .g-sm-2, + .gx-sm-2 { + --bs-gutter-x: var(--bs-spacer-2); + } + + .g-sm-2, + .gy-sm-2 { + --bs-gutter-y: var(--bs-spacer-2); + } + + .g-sm-3, + .gx-sm-3 { + --bs-gutter-x: var(--bs-spacer-3); + } + + .g-sm-3, + .gy-sm-3 { + --bs-gutter-y: var(--bs-spacer-3); + } + + .g-sm-4, + .gx-sm-4 { + --bs-gutter-x: var(--bs-spacer-4); + } + + .g-sm-4, + .gy-sm-4 { + --bs-gutter-y: var(--bs-spacer-4); + } + + .g-sm-5, + .gx-sm-5 { + --bs-gutter-x: var(--bs-spacer-5); + } + + .g-sm-5, + .gy-sm-5 { + --bs-gutter-y: var(--bs-spacer-5); + } +} + +@media (min-width: 768px) { + .col-md { + flex: 1 0 0%; + } + + .row-cols-md-auto > * { + flex: 0 0 auto; + width: auto; + } + + .row-cols-md-1 > * { + flex: 0 0 auto; + width: 100%; + } + + .row-cols-md-2 > * { + flex: 0 0 auto; + width: 50%; + } + + .row-cols-md-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + + .row-cols-md-4 > * { + flex: 0 0 auto; + width: 25%; + } + + .row-cols-md-5 > * { + flex: 0 0 auto; + width: 20%; + } + + .row-cols-md-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + + .col-md-auto { + flex: 0 0 auto; + width: auto; + } + + .col-md-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + + .col-md-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + + .col-md-3 { + flex: 0 0 auto; + width: 25%; + } + + .col-md-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + + .col-md-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + + .col-md-6 { + flex: 0 0 auto; + width: 50%; + } + + .col-md-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + + .col-md-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + + .col-md-9 { + flex: 0 0 auto; + width: 75%; + } + + .col-md-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + + .col-md-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + + .col-md-12 { + flex: 0 0 auto; + width: 100%; + } + + .offset-md-0 { + margin-left: 0; + } + + .offset-md-1 { + margin-left: 8.33333333%; + } + + .offset-md-2 { + margin-left: 16.66666667%; + } + + .offset-md-3 { + margin-left: 25%; + } + + .offset-md-4 { + margin-left: 33.33333333%; + } + + .offset-md-5 { + margin-left: 41.66666667%; + } + + .offset-md-6 { + margin-left: 50%; + } + + .offset-md-7 { + margin-left: 58.33333333%; + } + + .offset-md-8 { + margin-left: 66.66666667%; + } + + .offset-md-9 { + margin-left: 75%; + } + + .offset-md-10 { + margin-left: 83.33333333%; + } + + .offset-md-11 { + margin-left: 91.66666667%; + } + + .g-md-0, + .gx-md-0 { + --bs-gutter-x: 0; + } + + .g-md-0, + .gy-md-0 { + --bs-gutter-y: 0; + } + + .g-md-1, + .gx-md-1 { + --bs-gutter-x: var(--bs-spacer-1); + } + + .g-md-1, + .gy-md-1 { + --bs-gutter-y: var(--bs-spacer-1); + } + + .g-md-2, + .gx-md-2 { + --bs-gutter-x: var(--bs-spacer-2); + } + + .g-md-2, + .gy-md-2 { + --bs-gutter-y: var(--bs-spacer-2); + } + + .g-md-3, + .gx-md-3 { + --bs-gutter-x: var(--bs-spacer-3); + } + + .g-md-3, + .gy-md-3 { + --bs-gutter-y: var(--bs-spacer-3); + } + + .g-md-4, + .gx-md-4 { + --bs-gutter-x: var(--bs-spacer-4); + } + + .g-md-4, + .gy-md-4 { + --bs-gutter-y: var(--bs-spacer-4); + } + + .g-md-5, + .gx-md-5 { + --bs-gutter-x: var(--bs-spacer-5); + } + + .g-md-5, + .gy-md-5 { + --bs-gutter-y: var(--bs-spacer-5); + } +} + +@media (min-width: 992px) { + .col-lg { + flex: 1 0 0%; + } + + .row-cols-lg-auto > * { + flex: 0 0 auto; + width: auto; + } + + .row-cols-lg-1 > * { + flex: 0 0 auto; + width: 100%; + } + + .row-cols-lg-2 > * { + flex: 0 0 auto; + width: 50%; + } + + .row-cols-lg-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + + .row-cols-lg-4 > * { + flex: 0 0 auto; + width: 25%; + } + + .row-cols-lg-5 > * { + flex: 0 0 auto; + width: 20%; + } + + .row-cols-lg-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + + .col-lg-auto { + flex: 0 0 auto; + width: auto; + } + + .col-lg-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + + .col-lg-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + + .col-lg-3 { + flex: 0 0 auto; + width: 25%; + } + + .col-lg-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + + .col-lg-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + + .col-lg-6 { + flex: 0 0 auto; + width: 50%; + } + + .col-lg-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + + .col-lg-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + + .col-lg-9 { + flex: 0 0 auto; + width: 75%; + } + + .col-lg-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + + .col-lg-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + + .col-lg-12 { + flex: 0 0 auto; + width: 100%; + } + + .offset-lg-0 { + margin-left: 0; + } + + .offset-lg-1 { + margin-left: 8.33333333%; + } + + .offset-lg-2 { + margin-left: 16.66666667%; + } + + .offset-lg-3 { + margin-left: 25%; + } + + .offset-lg-4 { + margin-left: 33.33333333%; + } + + .offset-lg-5 { + margin-left: 41.66666667%; + } + + .offset-lg-6 { + margin-left: 50%; + } + + .offset-lg-7 { + margin-left: 58.33333333%; + } + + .offset-lg-8 { + margin-left: 66.66666667%; + } + + .offset-lg-9 { + margin-left: 75%; + } + + .offset-lg-10 { + margin-left: 83.33333333%; + } + + .offset-lg-11 { + margin-left: 91.66666667%; + } + + .g-lg-0, + .gx-lg-0 { + --bs-gutter-x: 0; + } + + .g-lg-0, + .gy-lg-0 { + --bs-gutter-y: 0; + } + + .g-lg-1, + .gx-lg-1 { + --bs-gutter-x: var(--bs-spacer-1); + } + + .g-lg-1, + .gy-lg-1 { + --bs-gutter-y: var(--bs-spacer-1); + } + + .g-lg-2, + .gx-lg-2 { + --bs-gutter-x: var(--bs-spacer-2); + } + + .g-lg-2, + .gy-lg-2 { + --bs-gutter-y: var(--bs-spacer-2); + } + + .g-lg-3, + .gx-lg-3 { + --bs-gutter-x: var(--bs-spacer-3); + } + + .g-lg-3, + .gy-lg-3 { + --bs-gutter-y: var(--bs-spacer-3); + } + + .g-lg-4, + .gx-lg-4 { + --bs-gutter-x: var(--bs-spacer-4); + } + + .g-lg-4, + .gy-lg-4 { + --bs-gutter-y: var(--bs-spacer-4); + } + + .g-lg-5, + .gx-lg-5 { + --bs-gutter-x: var(--bs-spacer-5); + } + + .g-lg-5, + .gy-lg-5 { + --bs-gutter-y: var(--bs-spacer-5); + } +} + +@media (min-width: 1200px) { + .col-xl { + flex: 1 0 0%; + } + + .row-cols-xl-auto > * { + flex: 0 0 auto; + width: auto; + } + + .row-cols-xl-1 > * { + flex: 0 0 auto; + width: 100%; + } + + .row-cols-xl-2 > * { + flex: 0 0 auto; + width: 50%; + } + + .row-cols-xl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + + .row-cols-xl-4 > * { + flex: 0 0 auto; + width: 25%; + } + + .row-cols-xl-5 > * { + flex: 0 0 auto; + width: 20%; + } + + .row-cols-xl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + + .col-xl-auto { + flex: 0 0 auto; + width: auto; + } + + .col-xl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + + .col-xl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + + .col-xl-3 { + flex: 0 0 auto; + width: 25%; + } + + .col-xl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + + .col-xl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + + .col-xl-6 { + flex: 0 0 auto; + width: 50%; + } + + .col-xl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + + .col-xl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + + .col-xl-9 { + flex: 0 0 auto; + width: 75%; + } + + .col-xl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + + .col-xl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + + .col-xl-12 { + flex: 0 0 auto; + width: 100%; + } + + .offset-xl-0 { + margin-left: 0; + } + + .offset-xl-1 { + margin-left: 8.33333333%; + } + + .offset-xl-2 { + margin-left: 16.66666667%; + } + + .offset-xl-3 { + margin-left: 25%; + } + + .offset-xl-4 { + margin-left: 33.33333333%; + } + + .offset-xl-5 { + margin-left: 41.66666667%; + } + + .offset-xl-6 { + margin-left: 50%; + } + + .offset-xl-7 { + margin-left: 58.33333333%; + } + + .offset-xl-8 { + margin-left: 66.66666667%; + } + + .offset-xl-9 { + margin-left: 75%; + } + + .offset-xl-10 { + margin-left: 83.33333333%; + } + + .offset-xl-11 { + margin-left: 91.66666667%; + } + + .g-xl-0, + .gx-xl-0 { + --bs-gutter-x: 0; + } + + .g-xl-0, + .gy-xl-0 { + --bs-gutter-y: 0; + } + + .g-xl-1, + .gx-xl-1 { + --bs-gutter-x: var(--bs-spacer-1); + } + + .g-xl-1, + .gy-xl-1 { + --bs-gutter-y: var(--bs-spacer-1); + } + + .g-xl-2, + .gx-xl-2 { + --bs-gutter-x: var(--bs-spacer-2); + } + + .g-xl-2, + .gy-xl-2 { + --bs-gutter-y: var(--bs-spacer-2); + } + + .g-xl-3, + .gx-xl-3 { + --bs-gutter-x: var(--bs-spacer-3); + } + + .g-xl-3, + .gy-xl-3 { + --bs-gutter-y: var(--bs-spacer-3); + } + + .g-xl-4, + .gx-xl-4 { + --bs-gutter-x: var(--bs-spacer-4); + } + + .g-xl-4, + .gy-xl-4 { + --bs-gutter-y: var(--bs-spacer-4); + } + + .g-xl-5, + .gx-xl-5 { + --bs-gutter-x: var(--bs-spacer-5); + } + + .g-xl-5, + .gy-xl-5 { + --bs-gutter-y: var(--bs-spacer-5); + } +} + +@media (min-width: 1400px) { + .col-xxl { + flex: 1 0 0%; + } + + .row-cols-xxl-auto > * { + flex: 0 0 auto; + width: auto; + } + + .row-cols-xxl-1 > * { + flex: 0 0 auto; + width: 100%; + } + + .row-cols-xxl-2 > * { + flex: 0 0 auto; + width: 50%; + } + + .row-cols-xxl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + + .row-cols-xxl-4 > * { + flex: 0 0 auto; + width: 25%; + } + + .row-cols-xxl-5 > * { + flex: 0 0 auto; + width: 20%; + } + + .row-cols-xxl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + + .col-xxl-auto { + flex: 0 0 auto; + width: auto; + } + + .col-xxl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + + .col-xxl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + + .col-xxl-3 { + flex: 0 0 auto; + width: 25%; + } + + .col-xxl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + + .col-xxl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + + .col-xxl-6 { + flex: 0 0 auto; + width: 50%; + } + + .col-xxl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + + .col-xxl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + + .col-xxl-9 { + flex: 0 0 auto; + width: 75%; + } + + .col-xxl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + + .col-xxl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + + .col-xxl-12 { + flex: 0 0 auto; + width: 100%; + } + + .offset-xxl-0 { + margin-left: 0; + } + + .offset-xxl-1 { + margin-left: 8.33333333%; + } + + .offset-xxl-2 { + margin-left: 16.66666667%; + } + + .offset-xxl-3 { + margin-left: 25%; + } + + .offset-xxl-4 { + margin-left: 33.33333333%; + } + + .offset-xxl-5 { + margin-left: 41.66666667%; + } + + .offset-xxl-6 { + margin-left: 50%; + } + + .offset-xxl-7 { + margin-left: 58.33333333%; + } + + .offset-xxl-8 { + margin-left: 66.66666667%; + } + + .offset-xxl-9 { + margin-left: 75%; + } + + .offset-xxl-10 { + margin-left: 83.33333333%; + } + + .offset-xxl-11 { + margin-left: 91.66666667%; + } + + .g-xxl-0, + .gx-xxl-0 { + --bs-gutter-x: 0; + } + + .g-xxl-0, + .gy-xxl-0 { + --bs-gutter-y: 0; + } + + .g-xxl-1, + .gx-xxl-1 { + --bs-gutter-x: var(--bs-spacer-1); + } + + .g-xxl-1, + .gy-xxl-1 { + --bs-gutter-y: var(--bs-spacer-1); + } + + .g-xxl-2, + .gx-xxl-2 { + --bs-gutter-x: var(--bs-spacer-2); + } + + .g-xxl-2, + .gy-xxl-2 { + --bs-gutter-y: var(--bs-spacer-2); + } + + .g-xxl-3, + .gx-xxl-3 { + --bs-gutter-x: var(--bs-spacer-3); + } + + .g-xxl-3, + .gy-xxl-3 { + --bs-gutter-y: var(--bs-spacer-3); + } + + .g-xxl-4, + .gx-xxl-4 { + --bs-gutter-x: var(--bs-spacer-4); + } + + .g-xxl-4, + .gy-xxl-4 { + --bs-gutter-y: var(--bs-spacer-4); + } + + .g-xxl-5, + .gx-xxl-5 { + --bs-gutter-x: var(--bs-spacer-5); + } + + .g-xxl-5, + .gy-xxl-5 { + --bs-gutter-y: var(--bs-spacer-5); + } +} + +/** + * ---------------------------------------------------------------------------- + * [ Tables ] + * ---------------------------------------------------------------------------- + */ + +.table { + --bs-table-color-type: initial; + --bs-table-bg-type: initial; + --bs-table-color-state: initial; + --bs-table-bg-state: initial; + --bs-table-color: var(--bs-body-color); + --bs-table-bg: transparent; + --bs-table-border-color: var(--bs-border-color); + --bs-table-accent-bg: transparent; + --bs-table-striped-color: var(--bs-table-color); + --bs-table-striped-bg: hsla(var(--bs-black-hsl), 0.03); + --bs-table-active-color: var(--bs-table-color); + --bs-table-active-bg: hsla(var(--bs-black-hsl), 0.09); + --bs-table-hover-color: var(--bs-table-color); + --bs-table-hover-bg: hsla(var(--bs-black-hsl), 0.06); + width: 100%; + margin-bottom: 1rem; + vertical-align: top; + border-color: var(--bs-table-border-color); +} + +[data-bs-theme=dark] .table { + --bs-table-striped-bg: hsla(var(--bs-white-hsl), 0.025); + --bs-table-active-bg: hsla(var(--bs-white-hsl), 0.075); + --bs-table-hover-bg: hsla(var(--bs-white-hsl), 0.05); +} + +.table > :not(caption) > * > * { + padding: 0.375rem 0.5rem; + color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color))); + background-color: var(--bs-table-bg); + border-bottom-width: var(--bs-border-width); + box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg))); +} + +.table > tbody { + vertical-align: inherit; +} + +.table > thead { + vertical-align: bottom; +} + +.table-group-divider { + border-top: var(--bs-border-width-2) solid currentcolor; +} + +.caption-top { + caption-side: top; +} + +.table-sm > :not(caption) > * > * { + padding: 0.25rem 0.375rem; +} + +.table-bordered > :not(caption) > * { + border-width: var(--bs-border-width) 0; +} + +.table-bordered > :not(caption) > * > * { + border-width: 0 var(--bs-border-width); +} + +.table-borderless > :not(caption) > * > * { + border-bottom-width: 0; +} + +.table-borderless > :not(:first-child) { + border-top-width: 0; +} + +.table-striped > tbody > tr:nth-of-type(odd) > * { + --bs-table-color-type: var(--bs-table-striped-color); + --bs-table-bg-type: var(--bs-table-striped-bg); +} + +.table-striped-columns > :not(caption) > tr > :nth-child(even) { + --bs-table-color-type: var(--bs-table-striped-color); + --bs-table-bg-type: var(--bs-table-striped-bg); +} + +.table-active { + --bs-table-color-state: var(--bs-table-active-color); + --bs-table-bg-state: var(--bs-table-active-bg); +} + +.table-hover > tbody > tr:hover > * { + --bs-table-color-state: var(--bs-table-hover-color); + --bs-table-bg-state: var(--bs-table-hover-bg); +} + +/* Primary table */ + +.table-primary { + --bs-table-color: var(--bs-body-color); + --bs-table-bg: hsla(var(--bs-primary-hsl), 0.125); + --bs-table-border-color: var(--bs-border-color); + --bs-table-striped-color: var(--bs-table-color); + --bs-table-striped-bg: hsla(var(--bs-primary-hsl), 0.15); + --bs-table-active-color: var(--bs-table-color); + --bs-table-active-bg: hsla(var(--bs-primary-hsl), 0.25); + --bs-table-hover-color: var(--bs-table-color); + --bs-table-hover-bg: hsla(var(--bs-primary-hsl), 0.2); + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +/* Secondary table */ + +.table-secondary { + --bs-table-color: var(--bs-body-color); + --bs-table-bg: hsla(var(--bs-secondary-hsl), 0.125); + --bs-table-border-color: var(--bs-border-color); + --bs-table-striped-color: var(--bs-table-color); + --bs-table-striped-bg: hsla(var(--bs-secondary-hsl), 0.15); + --bs-table-active-color: var(--bs-table-color); + --bs-table-active-bg: hsla(var(--bs-secondary-hsl), 0.25); + --bs-table-hover-color: var(--bs-table-color); + --bs-table-hover-bg: hsla(var(--bs-secondary-hsl), 0.2); + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +/* Success table */ + +.table-success { + --bs-table-color: var(--bs-body-color); + --bs-table-bg: hsla(var(--bs-success-hsl), 0.125); + --bs-table-border-color: var(--bs-border-color); + --bs-table-striped-color: var(--bs-table-color); + --bs-table-striped-bg: hsla(var(--bs-success-hsl), 0.15); + --bs-table-active-color: var(--bs-table-color); + --bs-table-active-bg: hsla(var(--bs-success-hsl), 0.25); + --bs-table-hover-color: var(--bs-table-color); + --bs-table-hover-bg: hsla(var(--bs-success-hsl), 0.2); + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +/* Info table */ + +.table-info { + --bs-table-color: var(--bs-body-color); + --bs-table-bg: hsla(var(--bs-info-hsl), 0.125); + --bs-table-border-color: var(--bs-border-color); + --bs-table-striped-color: var(--bs-table-color); + --bs-table-striped-bg: hsla(var(--bs-info-hsl), 0.15); + --bs-table-active-color: var(--bs-table-color); + --bs-table-active-bg: hsla(var(--bs-info-hsl), 0.25); + --bs-table-hover-color: var(--bs-table-color); + --bs-table-hover-bg: hsla(var(--bs-info-hsl), 0.2); + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +/* Warning table */ + +.table-warning { + --bs-table-color: var(--bs-body-color); + --bs-table-bg: hsla(var(--bs-warning-hsl), 0.125); + --bs-table-border-color: var(--bs-border-color); + --bs-table-striped-color: var(--bs-table-color); + --bs-table-striped-bg: hsla(var(--bs-warning-hsl), 0.15); + --bs-table-active-color: var(--bs-table-color); + --bs-table-active-bg: hsla(var(--bs-warning-hsl), 0.25); + --bs-table-hover-color: var(--bs-table-color); + --bs-table-hover-bg: hsla(var(--bs-warning-hsl), 0.2); + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +/* Danger table */ + +.table-danger { + --bs-table-color: var(--bs-body-color); + --bs-table-bg: hsla(var(--bs-danger-hsl), 0.125); + --bs-table-border-color: var(--bs-border-color); + --bs-table-striped-color: var(--bs-table-color); + --bs-table-striped-bg: hsla(var(--bs-danger-hsl), 0.15); + --bs-table-active-color: var(--bs-table-color); + --bs-table-active-bg: hsla(var(--bs-danger-hsl), 0.25); + --bs-table-hover-color: var(--bs-table-color); + --bs-table-hover-bg: hsla(var(--bs-danger-hsl), 0.2); + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +/* Light table */ + +.table-light { + --bs-table-color: var(--bs-body-color); + --bs-table-bg: hsla(var(--bs-light-hsl), 0.125); + --bs-table-border-color: var(--bs-border-color); + --bs-table-striped-color: var(--bs-table-color); + --bs-table-striped-bg: hsla(var(--bs-light-hsl), 0.15); + --bs-table-active-color: var(--bs-table-color); + --bs-table-active-bg: hsla(var(--bs-light-hsl), 0.25); + --bs-table-hover-color: var(--bs-table-color); + --bs-table-hover-bg: hsla(var(--bs-light-hsl), 0.2); + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +/* Dark table */ + +.table-dark { + --bs-table-color: var(--bs-body-color); + --bs-table-bg: hsla(var(--bs-dark-hsl), 0.125); + --bs-table-border-color: var(--bs-border-color); + --bs-table-striped-color: var(--bs-table-color); + --bs-table-striped-bg: hsla(var(--bs-dark-hsl), 0.15); + --bs-table-active-color: var(--bs-table-color); + --bs-table-active-bg: hsla(var(--bs-dark-hsl), 0.25); + --bs-table-hover-color: var(--bs-table-color); + --bs-table-hover-bg: hsla(var(--bs-dark-hsl), 0.2); + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +/* Responsive table */ + +.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 ] + * ---------------------------------------------------------------------------- + */ + +.form-label { + margin-bottom: 0.5rem; +} + +.col-form-label { + padding-top: calc(var(--bs-action-padding-y) + var(--bs-border-width)); + padding-bottom: calc(var(--bs-action-padding-y) + var(--bs-border-width)); + margin-bottom: 0; + font-size: var(--bs-action-font-size); + line-height: var(--bs-action-line-height); +} + +.col-form-label-lg { + padding-top: calc(var(--bs-action-lg-padding-y) + var(--bs-border-width)); + padding-bottom: calc(var(--bs-action-lg-padding-y) + var(--bs-border-width)); + font-size: var(--bs-action-lg-font-size); + line-height: var(--bs-action-lg-line-height); +} + +.col-form-label-sm { + padding-top: calc(var(--bs-action-sm-padding-y) + var(--bs-border-width)); + padding-bottom: calc(var(--bs-action-sm-padding-y) + var(--bs-border-width)); + font-size: var(--bs-action-sm-font-size); + line-height: var(--bs-action-sm-line-height); +} + +.form-text { + margin-top: 0.25rem; + font-size: var(--bs-font-size-sm); + color: var(--bs-secondary-color); +} + +/* Form control */ + +.form-control { + display: block; + width: 100%; + padding: var(--bs-action-padding-y) var(--bs-action-padding-x); + font-size: var(--bs-action-font-size); + font-weight: var(--bs-font-weight-normal); + line-height: var(--bs-action-line-height); + color: var(--bs-form-color); + background-color: var(--bs-form-bg); + background-clip: padding-box; + border: var(--bs-border-width) solid var(--bs-form-border-color); + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border-radius: var(--bs-border-radius); +} + +@media (prefers-reduced-motion: reduce) { + .form-control { + transition: none; + } +} + +.form-control[type=file] { + overflow: hidden; +} + +.form-control[type=file]:not(:disabled):not([readonly]) { + cursor: pointer; +} + +.form-control:focus { + color: var(--bs-form-color); + background-color: var(--bs-form-bg); + border-color: var(--bs-form-focus-border-color); + outline: 0; + box-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-form-focus-shadow-hsl), 0.35); +} + +.form-control::-webkit-date-and-time-value { + min-width: 5.3125rem; + height: 1.5em; + margin: 0; +} + +.form-control::-webkit-datetime-edit { + display: block; + padding: 0; +} + +.form-control::-moz-placeholder { + color: var(--bs-tertiary-color); + opacity: 1; +} + +.form-control::placeholder { + color: var(--bs-tertiary-color); + opacity: 1; +} + +.form-control:disabled { + color: var(--bs-form-disabled-color); + background-color: var(--bs-form-disabled-bg); + border-color: var(--bs-form-disabled-border-color); + opacity: 1; +} + +.form-control::-webkit-file-upload-button { + padding: var(--bs-action-padding-y) var(--bs-action-padding-x); + margin: calc(-1 * var(--bs-action-padding-y)) calc(-1 * var(--bs-action-padding-x)); + -webkit-margin-end: var(--bs-action-padding-x); + margin-inline-end: var(--bs-action-padding-x); + color: var(--bs-form-color); + background-color: var(--bs-form-secondary-bg); + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: var(--bs-border-width); + border-radius: 0; +} + +.form-control::file-selector-button { + padding: var(--bs-action-padding-y) var(--bs-action-padding-x); + margin: calc(-1 * var(--bs-action-padding-y)) calc(-1 * var(--bs-action-padding-x)); + -webkit-margin-end: var(--bs-action-padding-x); + margin-inline-end: var(--bs-action-padding-x); + color: var(--bs-form-color); + background-color: var(--bs-form-secondary-bg); + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: var(--bs-border-width); + border-radius: 0; +} + +@media (prefers-reduced-motion: reduce) { + .form-control::-webkit-file-upload-button { + -webkit-transition: none; + transition: none; + } + + .form-control::file-selector-button { + transition: none; + } +} + +.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button { + background-color: var(--bs-form-tertiary-bg); +} + +.form-control:hover:not(:disabled):not([readonly])::file-selector-button { + background-color: var(--bs-form-tertiary-bg); +} + +.form-control-plaintext { + display: block; + width: 100%; + padding: var(--bs-action-padding-y) 0; + margin-bottom: 0; + line-height: var(--bs-action-line-height); + color: var(--bs-form-color); + background-color: transparent; + border: solid transparent; + border-width: var(--bs-border-width) 0; +} + +.form-control-plaintext:focus { + outline: 0; +} + +.form-control-plaintext.form-control-sm, +.form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; +} + +.form-control-sm { + min-height: calc(var(--bs-action-sm-font-size) * var(--bs-action-sm-line-height) + var(--bs-action-sm-padding-y) * 2 + var(--bs-border-width) * 2); + padding: var(--bs-action-sm-padding-y) var(--bs-action-sm-padding-x); + font-size: var(--bs-action-sm-font-size); + line-height: var(--bs-action-sm-line-height); + border-radius: var(--bs-border-radius-sm); +} + +.form-control-sm::-webkit-file-upload-button { + padding: var(--bs-action-sm-padding-y) var(--bs-action-sm-padding-x); + margin: calc(-1 * var(--bs-action-sm-padding-y)) calc(-1 * var(--bs-action-sm-padding-x)); + -webkit-margin-end: var(--bs-action-sm-padding-x); + margin-inline-end: var(--bs-action-sm-padding-x); +} + +.form-control-sm::file-selector-button { + padding: var(--bs-action-sm-padding-y) var(--bs-action-sm-padding-x); + margin: calc(-1 * var(--bs-action-sm-padding-y)) calc(-1 * var(--bs-action-sm-padding-x)); + -webkit-margin-end: var(--bs-action-sm-padding-x); + margin-inline-end: var(--bs-action-sm-padding-x); +} + +.form-control-lg { + min-height: calc(var(--bs-action-lg-font-size) * var(--bs-action-lg-line-height) + var(--bs-action-lg-padding-y) * 2 + var(--bs-border-width) * 2); + padding: var(--bs-action-lg-padding-y) var(--bs-action-lg-padding-x); + font-size: var(--bs-action-lg-font-size); + line-height: var(--bs-action-lg-line-height); + border-radius: var(--bs-border-radius-lg); +} + +.form-control-lg::-webkit-file-upload-button { + padding: var(--bs-action-lg-padding-y) var(--bs-action-lg-padding-x); + margin: calc(-1 * var(--bs-action-lg-padding-y)) calc(-1 * var(--bs-action-lg-padding-x)); + -webkit-margin-end: var(--bs-action-lg-padding-x); + margin-inline-end: var(--bs-action-lg-padding-x); +} + +.form-control-lg::file-selector-button { + padding: var(--bs-action-lg-padding-y) var(--bs-action-lg-padding-x); + margin: calc(-1 * var(--bs-action-lg-padding-y)) calc(-1 * var(--bs-action-lg-padding-x)); + -webkit-margin-end: var(--bs-action-lg-padding-x); + margin-inline-end: var(--bs-action-lg-padding-x); +} + +textarea.form-control { + min-height: calc(var(--bs-action-font-size) * var(--bs-action-line-height) + var(--bs-action-padding-y) * 2 + var(--bs-border-width) * 2); +} + +textarea.form-control-sm, +.input-group-sm > textarea.form-control { + min-height: calc(var(--bs-action-sm-font-size) * var(--bs-action-sm-line-height) + var(--bs-action-sm-padding-y) * 2 + var(--bs-border-width) * 2); +} + +textarea.form-control-lg, +.input-group-lg > textarea.form-control { + min-height: calc(var(--bs-action-lg-font-size) * var(--bs-action-lg-line-height) + var(--bs-action-lg-padding-y) * 2 + var(--bs-border-width) * 2); +} + +.form-control-color { + width: 3rem; + height: calc(1.5em + var(--bs-action-padding-y) + var(--bs-border-width) * 2); + padding: 0.375rem; +} + +.form-control-color:not(:disabled):not([readonly]) { + cursor: pointer; +} + +.form-control-color::-moz-color-swatch { + border: 0 !important; + border-radius: var(--bs-border-radius); +} + +.form-control-color::-webkit-color-swatch { + border: 0 !important; + border-radius: var(--bs-border-radius); +} + +.form-control-color.form-control-sm { + height: calc(1.5em + var(--bs-action-sm-padding-y) + var(--bs-border-width) * 2); +} + +.form-control-color.form-control-lg { + height: calc(1.5em + var(--bs-action-lg-padding-y) + var(--bs-border-width) * 2); +} + +/* Form select */ + +.form-select { + --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%233d4043' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); + display: block; + width: 100%; + padding: var(--bs-action-padding-y) 2rem var(--bs-action-padding-y) var(--bs-action-padding-x); + font-size: var(--bs-action-font-size); + font-weight: var(--bs-font-weight-normal); + line-height: var(--bs-action-line-height); + color: var(--bs-form-color); + background-color: var(--bs-form-bg); + background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); + background-repeat: no-repeat; + background-position: right var(--bs-action-padding-x) center; + background-size: 1rem 0.75rem; + border: var(--bs-border-width) solid var(--bs-form-border-color); + border-radius: var(--bs-border-radius); + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .form-select { + transition: none; + } +} + +.form-select:focus { + border-color: var(--bs-form-focus-border-color); + outline: 0; + box-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-form-focus-shadow-hsl), 0.35); +} + +.form-select[multiple], +.form-select[size]:not([size="1"]) { + padding-right: var(--bs-action-padding-x); + background-image: none; +} + +.form-select:disabled { + color: var(--bs-form-disabled-color); + background-color: var(--bs-form-disabled-bg); + border-color: var(--bs-form-disabled-border-color); +} + +.form-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 var(--bs-form-color); +} + +.form-select-sm { + padding-top: var(--bs-action-sm-padding-y); + padding-bottom: var(--bs-action-sm-padding-y); + padding-left: var(--bs-action-sm-padding-x); + font-size: var(--bs-action-sm-font-size); + line-height: var(--bs-action-sm-line-height); + border-radius: var(--bs-border-radius-sm); +} + +.form-select-lg { + padding-top: var(--bs-action-lg-padding-y); + padding-bottom: var(--bs-action-lg-padding-y); + padding-left: var(--bs-action-lg-padding-x); + font-size: var(--bs-action-lg-font-size); + line-height: var(--bs-action-lg-line-height); + border-radius: var(--bs-border-radius-lg); +} + +[data-bs-theme=dark] .form-select { + --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23aeb1b7' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); +} + +.form-select[multiple] { + overflow-y: auto; +} + +/* Form check */ + +.form-check { + display: block; + min-height: 1.5rem; + padding-left: 1.5em; + margin-bottom: 0.125rem; +} + +.form-check .form-check-input { + float: left; + margin-left: -1.5em; +} + +.form-check-reverse { + padding-right: 1.5em; + padding-left: 0; + text-align: right; +} + +.form-check-reverse .form-check-input { + float: right; + margin-right: -1.5em; + margin-left: 0; +} + +.form-check-input { + flex-shrink: 0; + width: 1em; + height: 1em; + margin-top: var(--bs-relative-font-size-4xs); + vertical-align: top; + background-color: var(--bs-form-check-bg); + background-image: var(--bs-form-check-bg-image); + background-repeat: no-repeat; + background-position: center; + background-size: contain; + border: var(--bs-border-width) solid var(--bs-form-check-border-color); + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + -webkit-print-color-adjust: exact; + color-adjust: exact; + print-color-adjust: exact; +} + +.form-check-input[type=checkbox] { + border-radius: var(--bs-relative-font-size-4xs); +} + +.form-check-input[type=radio] { + border-radius: 50%; +} + +.form-check-input:active { + filter: brightness(90%); +} + +.form-check-input:focus { + border-color: var(--bs-form-check-focus-border-color); + outline: 0; + box-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-form-check-focus-shadow-hsl), 0.35); +} + +.form-check-input:checked { + background-color: var(--bs-primary); + border-color: var(--bs-primary); +} + +.form-check-input:checked[type=checkbox] { + --bs-form-check-bg-image: var(--bs-primary-checkbox-svg); +} + +.form-check-input:checked[type=radio] { + --bs-form-check-bg-image: var(--bs-primary-radio-svg); +} + +.form-check-input[type=checkbox]:indeterminate { + background-color: var(--bs-primary); + border-color: var(--bs-primary); + --bs-form-check-bg-image: var(--bs-primary-dash-svg); +} + +.form-check-input:disabled { + pointer-events: none; + filter: none; + opacity: 0.5; +} + +.form-check-input[disabled] ~ .form-check-label, +.form-check-input:disabled ~ .form-check-label { + cursor: default; + opacity: 0.5; +} + +.form-switch { + padding-left: 2.5em; +} + +.form-switch .form-check-input { + --bs-form-switch-bg: var(--bs-switch-svg-unchecked); + width: 2em; + margin-left: -2.5em; + background-image: var(--bs-form-switch-bg); + background-position: left center; + border-radius: 2em; + transition: background-position 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .form-switch .form-check-input { + transition: none; + } +} + +.form-switch .form-check-input:focus { + --bs-form-switch-bg: var(--bs-switch-svg-unchecked); +} + +.form-switch .form-check-input:checked { + background-position: right center; + --bs-form-switch-bg: var(--bs-primary-switch-svg); +} + +.form-switch.form-check-reverse { + padding-right: 2.5em; + padding-left: 0; +} + +.form-switch.form-check-reverse .form-check-input { + margin-right: -2.5em; + margin-left: 0; +} + +.form-check-inline { + display: inline-block; + margin-right: 1rem; +} + +.btn-check { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} + +.btn-check[disabled] + .btn, +.btn-check:disabled + .btn { + pointer-events: none; + filter: none; + opacity: 0.65; +} + +/* Form range */ + +.form-range { + width: 100%; + height: 1.625rem; + padding: 0; + background-color: transparent; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.form-range:focus { + outline: 0; +} + +.form-range:focus::-webkit-slider-thumb { + border-color: var(--bs-primary-border-subtle); + box-shadow: 0 0 0 0.3125rem hsla(var(--bs-form-focus-shadow-hsl), 0.35); +} + +.form-range:focus::-moz-range-thumb { + border-color: var(--bs-primary-border-subtle); + box-shadow: 0 0 0 0.3125rem hsla(var(--bs-form-focus-shadow-hsl), 0.35); +} + +.form-range::-moz-focus-outer { + border: 0; +} + +.form-range::-webkit-slider-thumb { + width: 1.625rem; + height: 1.625rem; + margin-top: -0.625rem; + background-color: var(--bs-form-check-bg); + border: var(--bs-border-width-2) solid var(--bs-form-check-border-color); + border-radius: 50%; + -webkit-appearance: none; + appearance: none; + box-sizing: border-box; + cursor: pointer; +} + +@media (prefers-reduced-motion: reduce) { + .form-range::-webkit-slider-thumb { + -webkit-transition: none; + transition: none; + } +} + +.form-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + box-sizing: border-box; + cursor: pointer; + background-color: var(--bs-actionbar-bg); + border: var(--bs-border-width) solid var(--bs-actionbar-border-color); + border-radius: 1rem; +} + +.form-range::-moz-range-thumb { + width: 1.625rem; + height: 1.625rem; + background-color: var(--bs-form-check-bg); + border: var(--bs-border-width-2) solid var(--bs-form-check-border-color); + border-radius: 50%; + -moz-appearance: none; + appearance: none; + box-sizing: border-box; + cursor: pointer; +} + +@media (prefers-reduced-motion: reduce) { + .form-range::-moz-range-thumb { + -moz-transition: none; + transition: none; + } +} + +.form-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + box-sizing: border-box; + cursor: pointer; + background-color: var(--bs-actionbar-bg); + border: var(--bs-border-width) solid var(--bs-actionbar-border-color); + border-radius: 1rem; +} + +.form-range:disabled { + pointer-events: none; +} + +.form-range:disabled::-webkit-slider-thumb { + background-color: var(--bs-form-check-border-color); +} + +.form-range:disabled::-moz-range-thumb { + background-color: var(--bs-form-check-border-color); +} + +/* Floating labels */ + +.form-floating { + position: relative; +} + +.form-floating > .form-control, +.form-floating > .form-control-plaintext, +.form-floating > .form-select { + height: calc(3.5rem + calc(var(--bs-border-width) * 2)); + min-height: calc(3.5rem + calc(var(--bs-border-width) * 2)); + line-height: var(--bs-line-height-sm); +} + +.form-floating > label { + position: absolute; + top: 0; + left: 0; + z-index: 2; + height: 100%; + padding: 1rem 0.75rem; + overflow: hidden; + text-align: start; + text-overflow: ellipsis; + white-space: nowrap; + pointer-events: none; + color: hsla(var(--bs-body-color-hsl), 0.75); + border: var(--bs-border-width) solid transparent; + transform-origin: 0 0; + transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .form-floating > label { + transition: none; + } +} + +.form-floating > .form-control, +.form-floating > .form-control-plaintext { + padding: 1rem 0.75rem; +} + +.form-floating > .form-control::-moz-placeholder, +.form-floating > .form-control-plaintext::-moz-placeholder { + color: transparent; +} + +.form-floating > .form-control::placeholder, +.form-floating > .form-control-plaintext::placeholder { + color: transparent; +} + +.form-floating > .form-control:not(:-moz-placeholder-shown), +.form-floating > .form-control-plaintext:not(:-moz-placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} + +.form-floating > .form-control:focus, +.form-floating > .form-control:not(:placeholder-shown), +.form-floating > .form-control-plaintext:focus, +.form-floating > .form-control-plaintext:not(:placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} + +.form-floating > .form-control:-webkit-autofill, +.form-floating > .form-control-plaintext:-webkit-autofill { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} + +.form-floating > .form-select { + padding-top: 1.625rem; + padding-bottom: 0.625rem; + padding-left: 0.75rem; +} + +.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label { + color: hsla(var(--bs-body-color-hsl), 0.75); + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} + +.form-floating > .form-control:focus ~ label, +.form-floating > .form-control:not(:placeholder-shown) ~ label, +.form-floating > .form-control-plaintext ~ label, +.form-floating > .form-select ~ label { + color: hsla(var(--bs-body-color-hsl), 0.75); + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} + +.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label::after { + position: absolute; + inset: 1rem 0.375rem; + z-index: -1; + height: 1.5em; + content: ""; + background-color: var(--bs-form-bg); + border-radius: var(--bs-border-radius); +} + +.form-floating > .form-control:focus ~ label::after, +.form-floating > .form-control:not(:placeholder-shown) ~ label::after, +.form-floating > .form-control-plaintext ~ label::after, +.form-floating > .form-select ~ label::after { + position: absolute; + inset: 1rem 0.375rem; + z-index: -1; + height: 1.5em; + content: ""; + background-color: var(--bs-form-bg); + border-radius: var(--bs-border-radius); +} + +.form-floating > .form-control-plaintext ~ label::after { + background-color: transparent; +} + +.form-floating > .form-control:-webkit-autofill ~ label { + color: hsla(var(--bs-body-color-hsl), 0.75); + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} + +.form-floating > .form-control-plaintext ~ label { + border-width: var(--bs-border-width) 0; +} + +.form-floating > :disabled ~ label, +.form-floating > .form-control:disabled ~ label { + color: var(--bs-form-disabled-color); +} + +.form-floating > :disabled ~ label::after, +.form-floating > .form-control:disabled ~ label::after { + background-color: var(--bs-form-disabled-bg); +} + +/* Input group */ + +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100%; +} + +.input-group > .form-control, +.input-group > .form-select, +.input-group > .form-floating { + position: relative; + flex: 1 1 auto; + width: 1%; + min-width: 0; +} + +.input-group > .form-control:focus, +.input-group > .form-select:focus, +.input-group > .form-floating:focus-within { + z-index: 5; +} + +.input-group .btn { + position: relative; + z-index: 2; +} + +.input-group .btn:focus { + z-index: 5; +} + +.input-group-text { + display: flex; + align-items: center; + padding: var(--bs-action-padding-y) var(--bs-action-padding-x); + font-size: var(--bs-action-font-size); + font-weight: var(--bs-font-weight-normal); + line-height: var(--bs-action-line-height); + color: var(--bs-body-color); + text-align: center; + white-space: nowrap; + background-color: var(--bs-form-tertiary-bg); + border: var(--bs-border-width) solid var(--bs-form-border-color); + border-radius: var(--bs-border-radius); +} + +.input-group-lg > .form-control, +.input-group-lg > .form-select, +.input-group-lg > .input-group-text, +.input-group-lg > .btn { + padding: var(--bs-action-lg-padding-y) var(--bs-action-lg-padding-x); + font-size: var(--bs-action-lg-font-size); + line-height: var(--bs-action-lg-line-height); + border-radius: var(--bs-border-radius-lg); +} + +.input-group-sm > .form-control, +.input-group-sm > .form-select, +.input-group-sm > .input-group-text, +.input-group-sm > .btn { + padding: var(--bs-action-sm-padding-y) var(--bs-action-sm-padding-x); + font-size: var(--bs-action-sm-font-size); + line-height: var(--bs-action-sm-line-height); + border-radius: var(--bs-border-radius-sm); +} + +.input-group-lg > .form-select, +.input-group-sm > .form-select { + padding-right: 2rem; +} + +.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), +.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3), +.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control, +.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), +.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4), +.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control, +.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) { + margin-left: calc(var(--bs-border-width) * -1); + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.input-group > .form-floating:not(:first-child) > .form-control, +.input-group > .form-floating:not(:first-child) > .form-select { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +/* Success validation */ + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: var(--bs-relative-font-size-sm); + color: var(--bs-form-valid-color); + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} + +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.375rem; + margin-top: 0.125rem; + font-size: var(--bs-font-size-sm); + line-height: var(--bs-line-height-sm); + color: var(--bs-success-foreground); + background-color: var(--bs-success); + border-radius: var(--bs-border-radius-sm); + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} + +.was-validated :valid ~ .valid-feedback, +.was-validated :valid ~ .valid-tooltip, +.is-valid ~ .valid-feedback, +.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-control:valid, +.form-control.is-valid { + border-color: var(--bs-form-valid-border-color); + padding-right: calc(1.5em + var(--bs-action-padding-x)); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%233b844f' 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(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y) / 2)) center; + background-size: calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y)) calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y)); +} + +.was-validated .form-control:valid:focus, +.form-control.is-valid:focus { + border-color: var(--bs-form-valid-border-color); + box-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-success-hsl), 0.35); +} + +.was-validated textarea.form-control:valid, +textarea.form-control.is-valid { + padding-right: calc(1.5em + var(--bs-action-padding-x)); + background-position: top calc(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y) / 2)) right calc(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y) / 2)); +} + +.was-validated .form-select:valid, +.form-select.is-valid { + border-color: var(--bs-form-valid-border-color); +} + +.was-validated .form-select:valid:not([multiple]):not([size]), +.was-validated .form-select:valid:not([multiple])[size="1"], +.form-select.is-valid:not([multiple]):not([size]), +.form-select.is-valid:not([multiple])[size="1"] { + --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%233b844f' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + padding-right: 3.5rem; + background-position: right var(--bs-action-padding-x) center, center right 2rem; + background-size: 1rem 0.75rem, calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y)) calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y)); +} + +.was-validated .form-select:valid:focus, +.form-select.is-valid:focus { + border-color: var(--bs-form-valid-border-color); + box-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-success-hsl), 0.35); +} + +.was-validated .form-control-color:valid, +.form-control-color.is-valid { + width: calc(3rem + calc(1.5em + var(--bs-action-padding-x))); +} + +.was-validated .form-check-input:valid, +.form-check-input.is-valid { + border-color: var(--bs-form-valid-border-color); +} + +.was-validated .form-check-input:valid:checked, +.form-check-input.is-valid:checked { + background-color: var(--bs-success); + border-color: var(--bs-success); +} + +.was-validated .form-check-input:valid:checked[type=checkbox], +.form-check-input.is-valid:checked[type=checkbox] { + --bs-form-check-bg-image: var(--bs-success-checkbox-svg); +} + +.was-validated .form-check-input:valid:checked[type=radio], +.form-check-input.is-valid:checked[type=radio] { + --bs-form-check-bg-image: var(--bs-success-radio-svg); +} + +.was-validated.form-switch .form-check-input:valid:checked, +.was-validated .form-switch .form-check-input:valid:checked, +.form-switch .form-check-input.is-valid:checked { + --bs-form-switch-bg: var(--bs-success-switch-svg); +} + +.was-validated .form-check-input:valid:focus, +.form-check-input.is-valid:focus { + box-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-success-hsl), 0.35); +} + +.was-validated .form-check-input:valid ~ .form-check-label, +.form-check-input.is-valid ~ .form-check-label { + color: var(--bs-form-valid-color); +} + +.form-check-inline .form-check-input ~ .valid-feedback { + margin-left: 0.5em; +} + +.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid, +.was-validated .input-group > .form-select:not(:focus):valid, +.input-group > .form-select:not(:focus).is-valid, +.was-validated .input-group > .form-floating:not(:focus-within):valid, +.input-group > .form-floating:not(:focus-within).is-valid { + z-index: 3; +} + +/* Error validation */ + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: var(--bs-relative-font-size-sm); + color: var(--bs-form-invalid-color); + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.375rem; + margin-top: 0.125rem; + font-size: var(--bs-font-size-sm); + line-height: var(--bs-line-height-sm); + color: var(--bs-danger-foreground); + background-color: var(--bs-danger); + border-radius: var(--bs-border-radius-sm); + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} + +.was-validated :invalid ~ .invalid-feedback, +.was-validated :invalid ~ .invalid-tooltip, +.is-invalid ~ .invalid-feedback, +.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-control:invalid, +.form-control.is-invalid { + border-color: var(--bs-form-invalid-border-color); + padding-right: calc(1.5em + var(--bs-action-padding-x)); + 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(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y) / 2)) center; + background-size: calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y)) calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y)); +} + +.was-validated .form-control:invalid:focus, +.form-control.is-invalid:focus { + border-color: var(--bs-form-invalid-border-color); + box-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-danger-hsl), 0.35); +} + +.was-validated textarea.form-control:invalid, +textarea.form-control.is-invalid { + padding-right: calc(1.5em + var(--bs-action-padding-x)); + background-position: top calc(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y) / 2)) right calc(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y) / 2)); +} + +.was-validated .form-select:invalid, +.form-select.is-invalid { + border-color: var(--bs-form-invalid-border-color); +} + +.was-validated .form-select:invalid:not([multiple]):not([size]), +.was-validated .form-select:invalid:not([multiple])[size="1"], +.form-select.is-invalid:not([multiple]):not([size]), +.form-select.is-invalid:not([multiple])[size="1"] { + --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); + padding-right: 3.5rem; + background-position: right var(--bs-action-padding-x) center, center right 2rem; + background-size: 1rem 0.75rem, calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y)) calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y)); +} + +.was-validated .form-select:invalid:focus, +.form-select.is-invalid:focus { + border-color: var(--bs-form-invalid-border-color); + box-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-danger-hsl), 0.35); +} + +.was-validated .form-control-color:invalid, +.form-control-color.is-invalid { + width: calc(3rem + calc(1.5em + var(--bs-action-padding-x))); +} + +.was-validated .form-check-input:invalid, +.form-check-input.is-invalid { + border-color: var(--bs-form-invalid-border-color); +} + +.was-validated .form-check-input:invalid:checked, +.form-check-input.is-invalid:checked { + background-color: var(--bs-danger); + border-color: var(--bs-danger); +} + +.was-validated .form-check-input:invalid:checked[type=checkbox], +.form-check-input.is-invalid:checked[type=checkbox] { + --bs-form-check-bg-image: var(--bs-danger-checkbox-svg); +} + +.was-validated .form-check-input:invalid:checked[type=radio], +.form-check-input.is-invalid:checked[type=radio] { + --bs-form-check-bg-image: var(--bs-danger-radio-svg); +} + +.was-validated.form-switch .form-check-input:invalid:checked, +.was-validated .form-switch .form-check-input:invalid:checked, +.form-switch .form-check-input.is-invalid:checked { + --bs-form-switch-bg: var(--bs-danger-switch-svg); +} + +.was-validated .form-check-input:invalid:focus, +.form-check-input.is-invalid:focus { + box-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-danger-hsl), 0.35); +} + +.was-validated .form-check-input:invalid ~ .form-check-label, +.form-check-input.is-invalid ~ .form-check-label { + color: var(--bs-form-invalid-color); +} + +.form-check-inline .form-check-input ~ .invalid-feedback { + margin-left: 0.5em; +} + +.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid, +.was-validated .input-group > .form-select:not(:focus):invalid, +.input-group > .form-select:not(:focus).is-invalid, +.was-validated .input-group > .form-floating:not(:focus-within):invalid, +.input-group > .form-floating:not(:focus-within).is-invalid { + z-index: 4; +} + +/** + * ---------------------------------------------------------------------------- + * [ Buttons ] + * + * The secondary button is unique because it largely uses the --bs-action-* + * variables. Therefore, it has been styled and given a "default" look. + * ---------------------------------------------------------------------------- + */ + +.btn { + --bs-btn-padding-x: var(--bs-action-padding-x); + --bs-btn-padding-y: var(--bs-action-padding-y); + --bs-btn-font-family: ; + --bs-btn-font-size: var(--bs-action-font-size); + --bs-btn-font-weight: var(--bs-font-weight-normal); + --bs-btn-line-height: var(--bs-action-line-height); + --bs-btn-color: var(--bs-body-color); + --bs-btn-bg: transparent; + --bs-btn-border-width: var(--bs-border-width); + --bs-btn-border-color: transparent; + --bs-btn-border-radius: var(--bs-border-radius); + --bs-btn-hover-border-color: var(--bs-btn-border-color); + --bs-btn-box-shadow: none; + --bs-btn-disabled-opacity: 0.65; + --bs-btn-focus-box-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-btn-focus-shadow-hsl), 0.5); + --bs-btn-bg-clip: border-box; + --bs-btn-webkit-font-smoothing: auto; + --bs-btn-moz-osx-font-smoothing: auto; + display: inline-block; + padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x); + font-family: var(--bs-btn-font-family); + font-size: var(--bs-btn-font-size); + font-weight: var(--bs-btn-font-weight); + line-height: var(--bs-btn-line-height); + color: var(--bs-btn-color); + text-align: center; + text-decoration: none; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + border: var(--bs-btn-border-width) solid var(--bs-btn-border-color); + border-radius: var(--bs-btn-border-radius); + background-color: var(--bs-btn-bg); + background-clip: var(--bs-btn-bg-clip); + -webkit-font-smoothing: var(--bs-btn-webkit-font-smoothing); + -moz-osx-font-smoothing: var(--bs-btn-moz-osx-font-smoothing); +} + +@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 { + 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 { + 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); +} + +/* Primary button */ + +.btn-primary { + --bs-btn-color: var(--bs-primary-foreground); + --bs-btn-bg: var(--bs-primary); + --bs-btn-border-color: var(--bs-ctx-btn-border-color); + --bs-btn-hover-color: var(--bs-btn-color); + --bs-btn-hover-bg: var(--bs-primary-hover-bg); + --bs-btn-hover-border-color: var(--bs-ctx-btn-hover-border-color); + --bs-btn-focus-shadow-hsl: var(--bs-primary-hsl); + --bs-btn-active-color: var(--bs-btn-color); + --bs-btn-active-bg: var(--bs-primary-active-bg); + --bs-btn-active-border-color: var(--bs-ctx-btn-active-border-color); + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-ctx-btn-disabled-border-color); + --bs-btn-bg-clip: var(--bs-ctx-btn-bg-clip); +} + +/* Secondary button */ + +.btn-secondary { + --bs-btn-color: var(--bs-action-color); + --bs-btn-bg: var(--bs-action-bg); + --bs-btn-border-color: var(--bs-action-border-color); + --bs-btn-hover-color: var(--bs-action-hover-color); + --bs-btn-hover-bg: var(--bs-action-hover-bg); + --bs-btn-hover-border-color: var(--bs-action-hover-border-color); + --bs-btn-focus-shadow-hsl: var(--bs-action-focus-shadow-hsl); + --bs-btn-active-color: var(--bs-action-active-color); + --bs-btn-active-bg: var(--bs-action-active-bg); + --bs-btn-active-border-color: var(--bs-action-active-border-color); + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-btn-border-color); + --bs-btn-bg-clip: border-box; +} + +/* Success button */ + +.btn-success { + --bs-btn-color: var(--bs-success-foreground); + --bs-btn-bg: var(--bs-success); + --bs-btn-border-color: var(--bs-ctx-btn-border-color); + --bs-btn-hover-color: var(--bs-btn-color); + --bs-btn-hover-bg: var(--bs-success-hover-bg); + --bs-btn-hover-border-color: var(--bs-ctx-btn-hover-border-color); + --bs-btn-focus-shadow-hsl: var(--bs-success-hsl); + --bs-btn-active-color: var(--bs-btn-color); + --bs-btn-active-bg: var(--bs-success-active-bg); + --bs-btn-active-border-color: var(--bs-ctx-btn-active-border-color); + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-ctx-btn-disabled-border-color); + --bs-btn-bg-clip: var(--bs-ctx-btn-bg-clip); +} + +/* Info button */ + +.btn-info { + --bs-btn-color: var(--bs-info-foreground); + --bs-btn-bg: var(--bs-info); + --bs-btn-border-color: var(--bs-ctx-btn-border-color); + --bs-btn-hover-color: var(--bs-btn-color); + --bs-btn-hover-bg: var(--bs-info-hover-bg); + --bs-btn-hover-border-color: var(--bs-ctx-btn-hover-border-color); + --bs-btn-focus-shadow-hsl: var(--bs-info-hsl); + --bs-btn-active-color: var(--bs-btn-color); + --bs-btn-active-bg: var(--bs-info-active-bg); + --bs-btn-active-border-color: var(--bs-ctx-btn-active-border-color); + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-ctx-btn-disabled-border-color); + --bs-btn-bg-clip: var(--bs-ctx-btn-bg-clip); +} + +/* Warning button */ + +.btn-warning { + --bs-btn-color: var(--bs-warning-foreground); + --bs-btn-bg: var(--bs-warning); + --bs-btn-border-color: var(--bs-ctx-btn-border-color); + --bs-btn-hover-color: var(--bs-btn-color); + --bs-btn-hover-bg: var(--bs-warning-hover-bg); + --bs-btn-hover-border-color: var(--bs-ctx-btn-hover-border-color); + --bs-btn-focus-shadow-hsl: var(--bs-warning-hsl); + --bs-btn-active-color: var(--bs-btn-color); + --bs-btn-active-bg: var(--bs-warning-active-bg); + --bs-btn-active-border-color: var(--bs-ctx-btn-active-border-color); + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-ctx-btn-disabled-border-color); + --bs-btn-bg-clip: var(--bs-ctx-btn-bg-clip); +} + +/* Danger button */ + +.btn-danger { + --bs-btn-color: var(--bs-danger-foreground); + --bs-btn-bg: var(--bs-danger); + --bs-btn-border-color: var(--bs-ctx-btn-border-color); + --bs-btn-hover-color: var(--bs-btn-color); + --bs-btn-hover-bg: var(--bs-danger-hover-bg); + --bs-btn-hover-border-color: var(--bs-ctx-btn-hover-border-color); + --bs-btn-focus-shadow-hsl: var(--bs-danger-hsl); + --bs-btn-active-color: var(--bs-btn-color); + --bs-btn-active-bg: var(--bs-danger-active-bg); + --bs-btn-active-border-color: var(--bs-ctx-btn-active-border-color); + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-ctx-btn-disabled-border-color); + --bs-btn-bg-clip: var(--bs-ctx-btn-bg-clip); +} + +/* Light button */ + +.btn-light { + --bs-btn-color: var(--bs-light-foreground); + --bs-btn-bg: var(--bs-light); + --bs-btn-border-color: var(--bs-ctx-btn-border-color); + --bs-btn-hover-color: var(--bs-btn-color); + --bs-btn-hover-bg: var(--bs-light-hover-bg); + --bs-btn-hover-border-color: var(--bs-ctx-btn-hover-border-color); + --bs-btn-focus-shadow-hsl: var(--bs-light-hsl); + --bs-btn-active-color: var(--bs-btn-color); + --bs-btn-active-bg: var(--bs-light-active-bg); + --bs-btn-active-border-color: var(--bs-ctx-btn-active-border-color); + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-ctx-btn-disabled-border-color); + --bs-btn-bg-clip: var(--bs-ctx-btn-bg-clip); +} + +/* Dark button */ + +.btn-dark { + --bs-btn-color: var(--bs-dark-foreground); + --bs-btn-bg: var(--bs-dark); + --bs-btn-border-color: var(--bs-ctx-btn-border-color); + --bs-btn-hover-color: var(--bs-btn-color); + --bs-btn-hover-bg: var(--bs-dark-hover-bg); + --bs-btn-hover-border-color: var(--bs-ctx-btn-hover-border-color); + --bs-btn-focus-shadow-hsl: var(--bs-dark-hsl); + --bs-btn-active-color: var(--bs-btn-color); + --bs-btn-active-bg: var(--bs-dark-active-bg); + --bs-btn-active-border-color: var(--bs-ctx-btn-active-border-color); + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-ctx-btn-disabled-border-color); + --bs-btn-bg-clip: var(--bs-ctx-btn-bg-clip); +} + +/* Primary outline button */ + +.btn-outline-primary { + --bs-btn-color: var(--bs-primary-text-emphasis); + --bs-btn-border-color: var(--bs-primary-text-emphasis); + --bs-btn-hover-color: var(--bs-primary-foreground); + --bs-btn-hover-bg: var(--bs-primary); + --bs-btn-hover-border-color: var(--bs-primary); + --bs-btn-focus-shadow-hsl: var(--bs-primary-hsl); + --bs-btn-active-color: var(--bs-btn-hover-color); + --bs-btn-active-bg: var(--bs-btn-hover-bg); + --bs-btn-active-border-color: var(--bs-btn-hover-border-color); + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-btn-border-color); + --bs-btn-bg-clip: border-box; + --bs-gradient: none; +} + +/* Secondary outline button */ + +.btn-outline-secondary { + --bs-btn-color: var(--bs-secondary-text-emphasis); + --bs-btn-border-color: var(--bs-secondary-text-emphasis); + --bs-btn-hover-color: var(--bs-secondary-foreground); + --bs-btn-hover-bg: var(--bs-secondary); + --bs-btn-hover-border-color: var(--bs-secondary); + --bs-btn-focus-shadow-hsl: var(--bs-secondary-hsl); + --bs-btn-active-color: var(--bs-btn-hover-color); + --bs-btn-active-bg: var(--bs-btn-hover-bg); + --bs-btn-active-border-color: var(--bs-btn-hover-border-color); + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-btn-border-color); + --bs-btn-bg-clip: border-box; + --bs-gradient: none; +} + +/* Success outline button */ + +.btn-outline-success { + --bs-btn-color: var(--bs-success-text-emphasis); + --bs-btn-border-color: var(--bs-success-text-emphasis); + --bs-btn-hover-color: var(--bs-success-foreground); + --bs-btn-hover-bg: var(--bs-success); + --bs-btn-hover-border-color: var(--bs-success); + --bs-btn-focus-shadow-hsl: var(--bs-success-hsl); + --bs-btn-active-color: var(--bs-btn-hover-color); + --bs-btn-active-bg: var(--bs-btn-hover-bg); + --bs-btn-active-border-color: var(--bs-btn-hover-border-color); + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-btn-border-color); + --bs-btn-bg-clip: border-box; + --bs-gradient: none; +} + +/* Info outline button */ + +.btn-outline-info { + --bs-btn-color: var(--bs-info-text-emphasis); + --bs-btn-border-color: var(--bs-info-text-emphasis); + --bs-btn-hover-color: var(--bs-info-foreground); + --bs-btn-hover-bg: var(--bs-info); + --bs-btn-hover-border-color: var(--bs-info); + --bs-btn-focus-shadow-hsl: var(--bs-info-hsl); + --bs-btn-active-color: var(--bs-btn-hover-color); + --bs-btn-active-bg: var(--bs-btn-hover-bg); + --bs-btn-active-border-color: var(--bs-btn-hover-border-color); + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-btn-border-color); + --bs-btn-bg-clip: border-box; + --bs-gradient: none; +} + +/* Warning outline button */ + +.btn-outline-warning { + --bs-btn-color: var(--bs-warning-text-emphasis); + --bs-btn-border-color: var(--bs-warning-text-emphasis); + --bs-btn-hover-color: var(--bs-warning-foreground); + --bs-btn-hover-bg: var(--bs-warning); + --bs-btn-hover-border-color: var(--bs-warning); + --bs-btn-focus-shadow-hsl: var(--bs-warning-hsl); + --bs-btn-active-color: var(--bs-btn-hover-color); + --bs-btn-active-bg: var(--bs-btn-hover-bg); + --bs-btn-active-border-color: var(--bs-btn-hover-border-color); + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-btn-border-color); + --bs-btn-bg-clip: border-box; + --bs-gradient: none; +} + +/* Danger outline button */ + +.btn-outline-danger { + --bs-btn-color: var(--bs-danger-text-emphasis); + --bs-btn-border-color: var(--bs-danger-text-emphasis); + --bs-btn-hover-color: var(--bs-danger-foreground); + --bs-btn-hover-bg: var(--bs-danger); + --bs-btn-hover-border-color: var(--bs-danger); + --bs-btn-focus-shadow-hsl: var(--bs-danger-hsl); + --bs-btn-active-color: var(--bs-btn-hover-color); + --bs-btn-active-bg: var(--bs-btn-hover-bg); + --bs-btn-active-border-color: var(--bs-btn-hover-border-color); + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-btn-border-color); + --bs-btn-bg-clip: border-box; + --bs-gradient: none; +} + +/* Light outline button */ + +.btn-outline-light { + --bs-btn-color: var(--bs-light-text-emphasis); + --bs-btn-border-color: var(--bs-light-text-emphasis); + --bs-btn-hover-color: var(--bs-light-foreground); + --bs-btn-hover-bg: var(--bs-light); + --bs-btn-hover-border-color: var(--bs-light); + --bs-btn-focus-shadow-hsl: var(--bs-light-hsl); + --bs-btn-active-color: var(--bs-btn-hover-color); + --bs-btn-active-bg: var(--bs-btn-hover-bg); + --bs-btn-active-border-color: var(--bs-btn-hover-border-color); + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-btn-border-color); + --bs-btn-bg-clip: border-box; + --bs-gradient: none; +} + +/* Dark outline button */ + +.btn-outline-dark { + --bs-btn-color: var(--bs-dark-text-emphasis); + --bs-btn-border-color: var(--bs-dark-text-emphasis); + --bs-btn-hover-color: var(--bs-dark-foreground); + --bs-btn-hover-bg: var(--bs-dark); + --bs-btn-hover-border-color: var(--bs-dark); + --bs-btn-focus-shadow-hsl: var(--bs-dark-hsl); + --bs-btn-active-color: var(--bs-btn-hover-color); + --bs-btn-active-bg: var(--bs-btn-hover-bg); + --bs-btn-active-border-color: var(--bs-btn-hover-border-color); + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-btn-border-color); + --bs-btn-bg-clip: border-box; + --bs-gradient: none; +} + +/* Link button */ + +.btn-link { + --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: var(--bs-secondary-color); + --bs-btn-disabled-border-color: transparent; + --bs-btn-box-shadow: none; + --bs-btn-focus-shadow-hsl: var(--bs-primary-hsl); + text-decoration: var(--bs-link-decoration); + text-underline-offset: var(--bs-link-decoration-offset); +} + +.btn-link:focus-visible { + color: var(--bs-btn-color); +} + +.btn-link:hover { + color: var(--bs-btn-hover-color); + text-decoration: var(--bs-link-hover-decoration); +} + +/* Large button */ + +.btn-lg, +.btn-group-lg > .btn { + --bs-btn-padding-x: var(--bs-action-lg-padding-x); + --bs-btn-padding-y: var(--bs-action-lg-padding-y); + --bs-btn-font-size: var(--bs-action-lg-font-size); + --bs-btn-line-height: var(--bs-action-lg-line-height); + --bs-btn-border-radius: var(--bs-border-radius-lg); +} + +/* Small button */ + +.btn-sm, +.btn-group-sm > .btn { + --bs-btn-padding-x: var(--bs-action-sm-padding-x); + --bs-btn-padding-y: var(--bs-action-sm-padding-y); + --bs-btn-font-size: var(--bs-action-sm-font-size); + --bs-btn-line-height: var(--bs-action-sm-line-height); + --bs-btn-border-radius: var(--bs-border-radius-sm); +} + +/** + * ---------------------------------------------------------------------------- + * [ Collapse ] + * ---------------------------------------------------------------------------- + */ + +.fade { + transition: opacity 0.15s linear; +} + +@media (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} + +.fade:not(.show) { + opacity: 0; +} + +.collapse:not(.show) { + display: none; +} + +.collapsing { + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} + +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} + +.collapsing.collapse-horizontal { + width: 0; + height: auto; + transition: width 0.35s ease; +} + +@media (prefers-reduced-motion: reduce) { + .collapsing.collapse-horizontal { + transition: none; + } +} + +/** + * ---------------------------------------------------------------------------- + * [ Dropdowns ] + * ---------------------------------------------------------------------------- + */ + +.dropup, +.dropend, +.dropdown, +.dropstart, +.dropup-center, +.dropdown-center { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; +} + +.dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} + +.dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropdown-menu { + --bs-dropdown-zindex: 1000; + --bs-dropdown-min-width: 11.25rem; + --bs-dropdown-padding-x: 0.25rem; + --bs-dropdown-padding-y: 0.25rem; + --bs-dropdown-spacer: 0.125rem; + --bs-dropdown-font-size: var(--bs-font-size-base); + --bs-dropdown-color: var(--bs-content-floating-color); + --bs-dropdown-bg: var(--bs-content-floating-bg); + --bs-dropdown-border-color: var(--bs-content-floating-border-color); + --bs-dropdown-border-radius: var(--bs-border-radius); + --bs-dropdown-border-width: var(--bs-border-width); + --bs-dropdown-inner-border-radius: calc(var(--bs-dropdown-border-radius) - var(--bs-border-width)); + --bs-dropdown-divider-bg: var(--bs-border-color-translucent); + --bs-dropdown-divider-margin-y: 0.5rem; + --bs-dropdown-box-shadow: var(--bs-content-floating-box-shadow); + --bs-dropdown-link-color: var(--bs-dropdown-color); + --bs-dropdown-link-hover-color: var(--bs-dropdown-link-color); + --bs-dropdown-link-hover-bg: var(--bs-action-hover-bg); + --bs-dropdown-link-active-color: var(--bs-dropdown-link-color); + --bs-dropdown-link-active-bg: var(--bs-action-active-bg); + --bs-dropdown-link-disabled-color: var(--bs-tertiary-color); + --bs-dropdown-link-webkit-font-smoothing: var(--bs-body-webkit-font-smoothing); + --bs-dropdown-link-moz-osx-font-smoothing: var(--bs-body-moz-osx-font-smoothing); + --bs-dropdown-item-padding-x: 1rem; + --bs-dropdown-item-padding-y: 0.25rem; + --bs-dropdown-item-border-radius: var(--bs-border-radius-sm); + --bs-dropdown-header-color: var(--bs-secondary-color); + --bs-dropdown-header-padding-x: 1rem; + --bs-dropdown-header-padding-y: 0.5rem; + position: absolute; + z-index: var(--bs-dropdown-zindex); + display: none; + min-width: var(--bs-dropdown-min-width); + padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x); + margin: 0; + font-size: var(--bs-dropdown-font-size); + color: var(--bs-dropdown-color); + text-align: left; + list-style: none; + background-color: var(--bs-dropdown-bg); + background-clip: padding-box; + border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color); + border-radius: var(--bs-dropdown-border-radius); + box-shadow: var(--bs-dropdown-box-shadow); +} + +.dropdown-menu[data-bs-popper] { + top: 100%; + left: 0; + margin-top: var(--bs-dropdown-spacer); +} + +.dropdown-menu-start { + --bs-position: start; +} + +.dropdown-menu-start[data-bs-popper] { + right: auto; + left: 0; +} + +.dropdown-menu-end { + --bs-position: end; +} + +.dropdown-menu-end[data-bs-popper] { + right: 0; + left: auto; +} + +@media (min-width: 576px) { + .dropdown-menu-sm-start { + --bs-position: start; + } + + .dropdown-menu-sm-start[data-bs-popper] { + right: auto; + left: 0; + } + + .dropdown-menu-sm-end { + --bs-position: end; + } + + .dropdown-menu-sm-end[data-bs-popper] { + right: 0; + left: auto; + } +} + +@media (min-width: 768px) { + .dropdown-menu-md-start { + --bs-position: start; + } + + .dropdown-menu-md-start[data-bs-popper] { + right: auto; + left: 0; + } + + .dropdown-menu-md-end { + --bs-position: end; + } + + .dropdown-menu-md-end[data-bs-popper] { + right: 0; + left: auto; + } +} + +@media (min-width: 992px) { + .dropdown-menu-lg-start { + --bs-position: start; + } + + .dropdown-menu-lg-start[data-bs-popper] { + right: auto; + left: 0; + } + + .dropdown-menu-lg-end { + --bs-position: end; + } + + .dropdown-menu-lg-end[data-bs-popper] { + right: 0; + left: auto; + } +} + +@media (min-width: 1200px) { + .dropdown-menu-xl-start { + --bs-position: start; + } + + .dropdown-menu-xl-start[data-bs-popper] { + right: auto; + left: 0; + } + + .dropdown-menu-xl-end { + --bs-position: end; + } + + .dropdown-menu-xl-end[data-bs-popper] { + right: 0; + left: auto; + } +} + +@media (min-width: 1400px) { + .dropdown-menu-xxl-start { + --bs-position: start; + } + + .dropdown-menu-xxl-start[data-bs-popper] { + right: auto; + left: 0; + } + + .dropdown-menu-xxl-end { + --bs-position: end; + } + + .dropdown-menu-xxl-end[data-bs-popper] { + right: 0; + left: auto; + } +} + +.dropup .dropdown-menu[data-bs-popper] { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: var(--bs-dropdown-spacer); +} + +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} + +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropend .dropdown-menu[data-bs-popper] { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: var(--bs-dropdown-spacer); +} + +.dropend .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; +} + +.dropend .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropend .dropdown-toggle::after { + vertical-align: 0; +} + +.dropstart .dropdown-menu[data-bs-popper] { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: var(--bs-dropdown-spacer); +} + +.dropstart .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; +} + +.dropstart .dropdown-toggle::after { + display: none; +} + +.dropstart .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} + +.dropstart .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropstart .dropdown-toggle::before { + vertical-align: 0; +} + +.dropdown-divider { + height: 0; + margin: var(--bs-dropdown-divider-margin-y) 0; + overflow: hidden; + border-top: var(--bs-border-width) solid var(--bs-dropdown-divider-bg); + opacity: 1; +} + +.dropdown-item { + display: block; + width: 100%; + padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x); + clear: both; + font-weight: var(--bs-font-weight-normal); + color: var(--bs-dropdown-link-color); + text-align: inherit; + text-decoration: none; + white-space: nowrap; + background-color: transparent; + border: 0; + border-radius: var(--bs-dropdown-item-border-radius); + -webkit-font-smoothing: var(--bs-dropdown-link-webkit-font-smoothing); + -moz-osx-font-smoothing: var(--bs-dropdown-link-moz-osx-font-smoothing); +} + +.dropdown-item:hover, +.dropdown-item:focus { + color: var(--bs-dropdown-link-hover-color); + background-color: var(--bs-dropdown-link-hover-bg); +} + +.dropdown-item:active { + color: var(--bs-dropdown-link-active-color); + text-decoration: none; + background-color: var(--bs-dropdown-link-active-bg); +} + +.dropdown-item.active { + color: var(--bs-primary-foreground); + background-color: var(--bs-primary); + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} + +.dropdown-item.active:focus-visible { + background-color: var(--bs-primary-hover-bg); +} + +.dropdown-item.disabled, .dropdown-item:disabled { + color: var(--bs-dropdown-link-disabled-color); + pointer-events: none; + background-color: transparent; +} + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x); + margin-bottom: 0; + font-size: var(--bs-dropdown-font-size); + 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); +} + +/** + * ---------------------------------------------------------------------------- + * [ Button group ] + * + * Because the secondary button is the "default" variation, the z-indices are + * slightly adjusted for a better look overall. + * ---------------------------------------------------------------------------- + */ + +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; +} + +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + flex: 1 1 auto; +} + +.btn-group > .btn-check + .btn:not(.btn-secondary), +.btn-group > .btn:not(.btn-secondary), +.btn-group-vertical > .btn-check + .btn:not(.btn-secondary), +.btn-group-vertical > .btn:not(.btn-secondary) { + z-index: 1; +} + +.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: 2; +} + +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} + +.btn-toolbar .input-group { + width: auto; +} + +.btn-group { + border-radius: var(--bs-border-radius); +} + +.btn-group > :not(.btn-check:first-child) + .btn, +.btn-group > .btn-group:not(:first-child) { + margin-left: calc(-1 * var(--bs-border-width)); +} + +.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: 0.5rem; + padding-left: 0.5rem; +} + +.dropdown-toggle-split::after, +.dropup .dropdown-toggle-split::after, +.dropend .dropdown-toggle-split::after { + margin-left: 0; +} + +.dropstart .dropdown-toggle-split::before { + margin-right: 0; +} + +.btn-sm + .dropdown-toggle-split, +.btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.375rem; + padding-left: 0.375rem; +} + +.btn-lg + .dropdown-toggle-split, +.btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 0.625rem; + padding-left: 0.625rem; +} + +.btn-group-vertical { + flex-direction: column; + align-items: flex-start; + justify-content: center; +} + +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} + +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) { + margin-top: calc(-1 * var(--bs-border-width)); +} + +.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; +} + +/** + * ---------------------------------------------------------------------------- + * [ Navs and tabs ] + * ---------------------------------------------------------------------------- + */ + +.nav { + --bs-nav-link-padding-x: 0.5rem; + --bs-nav-link-padding-y: 0.25rem; + --bs-nav-link-font-weight: ; + --bs-nav-link-color: var(--bs-link-color); + --bs-nav-link-hover-color: var(--bs-link-hover-color); + --bs-nav-link-disabled-color: var(--bs-tertiary-color); + --bs-nav-link-webkit-font-smoothing: auto; + --bs-nav-link-moz-osx-font-smoothing: auto; + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x); + font-size: var(--bs-nav-link-font-size); + font-weight: var(--bs-nav-link-font-weight); + color: var(--bs-nav-link-color); + text-decoration: none; + background: none; + border: 0; + -webkit-font-smoothing: var(--bs-nav-link-webkit-font-smoothing); + -moz-osx-font-smoothing: var(--bs-nav-link-moz-osx-font-smoothing); +} + +.nav-link:hover, +.nav-link:focus { + color: var(--bs-nav-link-hover-color); +} + +.nav-link:focus-visible { + outline: 0; + box-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-action-focus-shadow-hsl), 0.5); +} + +.nav-link.disabled, +.nav-link:disabled { + color: var(--bs-nav-link-disabled-color); + pointer-events: none; + cursor: default; +} + +.nav-tabs { + --bs-nav-link-color: var(--bs-body-color); + --bs-nav-link-hover-color: var(--bs-nav-link-color); + --bs-nav-link-webkit-font-smoothing: var(--bs-body-webkit-font-smoothing); + --bs-nav-link-moz-osx-font-smoothing: var(--bs-body-moz-osx-font-smoothing); + --bs-nav-tabs-border-width: var(--bs-border-width); + --bs-nav-tabs-border-color: var(--bs-border-color); + --bs-nav-tabs-border-radius: var(--bs-border-radius); + --bs-nav-tabs-link-hover-border-color: var(--bs-border-color-translucent) var(--bs-border-color-translucent) transparent; + --bs-nav-tabs-link-active-color: var(--bs-nav-link-color); + --bs-nav-tabs-link-active-bg: var(--bs-content-bg); + --bs-nav-tabs-link-active-border-color: var(--bs-nav-tabs-border-color) var(--bs-nav-tabs-border-color) var(--bs-nav-tabs-link-active-bg); + border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color); +} + +.nav-tabs .nav-link { + margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width)); + border: var(--bs-nav-tabs-border-width) solid transparent; + border-top-left-radius: var(--bs-nav-tabs-border-radius); + border-top-right-radius: var(--bs-nav-tabs-border-radius); +} + +.nav-tabs .nav-link:hover, +.nav-tabs .nav-link:focus { + isolation: isolate; + border-color: var(--bs-nav-tabs-link-hover-border-color); +} + +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: var(--bs-nav-tabs-link-active-color); + background-color: var(--bs-nav-tabs-link-active-bg); + border-color: var(--bs-nav-tabs-link-active-border-color); +} + +.nav-tabs .dropdown-menu { + margin-top: calc(-1 * var(--bs-nav-tabs-border-width)); + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav-pills { + --bs-nav-link-color: var(--bs-body-color); + --bs-nav-link-hover-color: var(--bs-secondary-color); + --bs-nav-link-webkit-font-smoothing: var(--bs-body-webkit-font-smoothing); + --bs-nav-link-moz-osx-font-smoothing: var(--bs-body-moz-osx-font-smoothing); + --bs-nav-pills-border-radius: var(--bs-border-radius); + --bs-nav-pills-link-active-color: var(--bs-primary-foreground); + --bs-nav-pills-link-active-bg: var(--bs-primary); +} + +.nav-pills .nav-link { + border-radius: var(--bs-nav-pills-border-radius); +} + +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: var(--bs-nav-pills-link-active-color); + background-color: var(--bs-nav-pills-link-active-bg); + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} + +.nav-underline { + --bs-nav-link-color: var(--bs-body-color); + --bs-nav-link-hover-color: var(--bs-secondary-color); + --bs-nav-link-webkit-font-smoothing: var(--bs-body-webkit-font-smoothing); + --bs-nav-link-moz-osx-font-smoothing: var(--bs-body-moz-osx-font-smoothing); + --bs-nav-underline-gap: 1rem; + --bs-nav-underline-border-width: 0.125rem; + --bs-nav-underline-link-padding: var(--bs-nav-link-padding-y) 0 calc(var(--bs-nav-link-padding-y) + var(--bs-nav-underline-border-width)) 0; + --bs-nav-underline-link-active-color: var(--bs-link-color); + gap: var(--bs-nav-underline-gap); +} + +.nav-underline .nav-link { + padding: var(--bs-nav-underline-link-padding); + border-bottom: var(--bs-nav-underline-border-width) solid transparent; +} + +.nav-underline .nav-link.active, +.nav-underline .show > .nav-link { + color: var(--bs-nav-underline-link-active-color); + border-bottom-color: currentcolor; + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} + +.nav-fill > .nav-link, +.nav-fill .nav-item { + flex: 1 1 auto; + text-align: center; +} + +.nav-justified > .nav-link, +.nav-justified .nav-item { + flex-basis: 0; + flex-grow: 1; + text-align: center; +} + +.nav-fill .nav-item .nav-link, +.nav-justified .nav-item .nav-link { + width: 100%; +} + +.tab-content > .tab-pane { + display: none; +} + +.tab-content > .active { + display: block; +} + +/** + * ---------------------------------------------------------------------------- + * [ Navbar ] + * ---------------------------------------------------------------------------- + */ + +.navbar { + --bs-color-hsl: var(--bs-emphasis-color-hsl); + --bs-navbar-padding-x: 0; + --bs-navbar-padding-y: 0.5rem; + --bs-navbar-color: hsla(var(--bs-color-hsl), 0.65); + --bs-navbar-hover-color: hsla(var(--bs-color-hsl), 0.75); + --bs-navbar-disabled-color: hsla(var(--bs-color-hsl), 0.3); + --bs-navbar-active-color: hsla(var(--bs-color-hsl), 0.95); + --bs-navbar-brand-padding-y: 0.3125rem; + --bs-navbar-brand-margin-end: 1rem; + --bs-navbar-brand-font-size: calc(var(--bs-font-size-base) + 0.25rem); + --bs-navbar-brand-color: hsla(var(--bs-color-hsl), 0.85); + --bs-navbar-brand-hover-color: var(--bs-navbar-brand-color); + --bs-navbar-nav-link-padding-x: 0.75rem; + --bs-navbar-toggler-padding-y: 0.125rem; + --bs-navbar-toggler-padding-x: 0.25rem; + --bs-navbar-toggler-font-size: var(--bs-font-size-lg); + --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='%23242628' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); + --bs-navbar-toggler-border-color: transparent; + --bs-navbar-toggler-border-radius: var(--bs-border-radius-sm); + --bs-navbar-toggler-focus-width: var(--bs-focus-ring-width); + --bs-navbar-toggler-transition: none; + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x); +} + +.navbar > .container, +.navbar > .container-fluid, +.navbar > .container-sm, +.navbar > .container-md, +.navbar > .container-lg, +.navbar > .container-xl, +.navbar > .container-xxl { + display: flex; + flex-wrap: inherit; + align-items: center; + justify-content: space-between; +} + +.navbar-brand { + padding-top: var(--bs-navbar-brand-padding-y); + padding-bottom: var(--bs-navbar-brand-padding-y); + margin-right: var(--bs-navbar-brand-margin-end); + font-size: var(--bs-navbar-brand-font-size); + color: var(--bs-navbar-brand-color); + text-decoration: none; + white-space: nowrap; +} + +.navbar-brand:hover, +.navbar-brand:focus { + color: var(--bs-navbar-brand-hover-color); +} + +.navbar-nav { + --bs-nav-link-padding-x: 0; + --bs-nav-link-padding-y: 0.5rem; + --bs-nav-link-font-weight: ; + --bs-nav-link-color: var(--bs-navbar-color); + --bs-nav-link-hover-color: var(--bs-navbar-hover-color); + --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color); + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.navbar-nav .nav-link.active, +.navbar-nav .nav-link.show { + color: var(--bs-navbar-active-color); +} + +.navbar-nav .dropdown-menu { + position: static; +} + +.navbar-text { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: var(--bs-navbar-color); +} + +.navbar-text a, +.navbar-text a:hover, +.navbar-text a:focus { + color: var(--bs-navbar-active-color); +} + +.navbar-collapse { + flex-basis: 100%; + flex-grow: 1; + align-items: center; +} + +.navbar-toggler { + padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x); + font-size: var(--bs-navbar-toggler-font-size); + line-height: 1; + color: var(--bs-navbar-color); + background-color: transparent; + border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color); + border-radius: var(--bs-navbar-toggler-border-radius); + transition: var(--bs-navbar-toggler-transition); +} + +@media (prefers-reduced-motion: reduce) { + .navbar-toggler { + transition: none; + } +} + +.navbar-toggler:hover { + text-decoration: none; +} + +.navbar-toggler:focus-visible { + text-decoration: none; + outline: 0; + box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width) hsla(var(--bs-emphasis-color-hsl), 0.25); +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + background-image: var(--bs-navbar-toggler-icon-bg); + background-repeat: no-repeat; + background-position: center; + background-size: 100%; +} + +.navbar-nav-scroll { + max-height: var(--bs-scroll-height, 75vh); + overflow-y: auto; +} + +@media (min-width: 576px) { + .navbar-expand-sm { + flex-wrap: nowrap; + justify-content: flex-start; + } + + .navbar-expand-sm .navbar-nav { + flex-direction: row; + } + + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + + .navbar-expand-sm .navbar-nav-scroll { + overflow: visible; + } + + .navbar-expand-sm .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + + .navbar-expand-sm .navbar-toggler { + display: none; + } + + .navbar-expand-sm .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + + .navbar-expand-sm .offcanvas .offcanvas-header { + display: none; + } + + .navbar-expand-sm .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} + +@media (min-width: 768px) { + .navbar-expand-md { + flex-wrap: nowrap; + justify-content: flex-start; + } + + .navbar-expand-md .navbar-nav { + flex-direction: row; + } + + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + + .navbar-expand-md .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + + .navbar-expand-md .navbar-nav-scroll { + overflow: visible; + } + + .navbar-expand-md .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + + .navbar-expand-md .navbar-toggler { + display: none; + } + + .navbar-expand-md .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + + .navbar-expand-md .offcanvas .offcanvas-header { + display: none; + } + + .navbar-expand-md .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} + +@media (min-width: 992px) { + .navbar-expand-lg { + flex-wrap: nowrap; + justify-content: flex-start; + } + + .navbar-expand-lg .navbar-nav { + flex-direction: row; + } + + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + + .navbar-expand-lg .navbar-nav-scroll { + overflow: visible; + } + + .navbar-expand-lg .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + + .navbar-expand-lg .navbar-toggler { + display: none; + } + + .navbar-expand-lg .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + + .navbar-expand-lg .offcanvas .offcanvas-header { + display: none; + } + + .navbar-expand-lg .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} + +@media (min-width: 1200px) { + .navbar-expand-xl { + flex-wrap: nowrap; + justify-content: flex-start; + } + + .navbar-expand-xl .navbar-nav { + flex-direction: row; + } + + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + + .navbar-expand-xl .navbar-nav-scroll { + overflow: visible; + } + + .navbar-expand-xl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + + .navbar-expand-xl .navbar-toggler { + display: none; + } + + .navbar-expand-xl .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + + .navbar-expand-xl .offcanvas .offcanvas-header { + display: none; + } + + .navbar-expand-xl .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} + +@media (min-width: 1400px) { + .navbar-expand-xxl { + flex-wrap: nowrap; + justify-content: flex-start; + } + + .navbar-expand-xxl .navbar-nav { + flex-direction: row; + } + + .navbar-expand-xxl .navbar-nav .dropdown-menu { + position: absolute; + } + + .navbar-expand-xxl .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); + } + + .navbar-expand-xxl .navbar-nav-scroll { + overflow: visible; + } + + .navbar-expand-xxl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + + .navbar-expand-xxl .navbar-toggler { + display: none; + } + + .navbar-expand-xxl .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + + .navbar-expand-xxl .offcanvas .offcanvas-header { + display: none; + } + + .navbar-expand-xxl .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} + +.navbar-expand { + flex-wrap: nowrap; + justify-content: flex-start; +} + +.navbar-expand .navbar-nav { + flex-direction: row; +} + +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} + +.navbar-expand .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); +} + +.navbar-expand .navbar-nav-scroll { + overflow: visible; +} + +.navbar-expand .navbar-collapse { + display: flex !important; + flex-basis: auto; +} + +.navbar-expand .navbar-toggler { + display: none; +} + +.navbar-expand .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; +} + +.navbar-expand .offcanvas .offcanvas-header { + display: none; +} + +.navbar-expand .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; +} + +[data-bs-theme=dark] .navbar-toggler-icon { + --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23c9cbcf' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +/* Local light and dark variants */ + +.navbar-toggler[data-bs-theme=light] .navbar-toggler-icon { + --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23242628' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.navbar-toggler[data-bs-theme=dark] .navbar-toggler-icon { + --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23c9cbcf' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +/** + * ---------------------------------------------------------------------------- + * [ Card ] + * ---------------------------------------------------------------------------- + */ + +.card { + --bs-card-spacer-y: 1rem; + --bs-card-spacer-x: 1rem; + --bs-card-title-spacer-y: 0.5rem; + --bs-card-title-color: ; + --bs-card-subtitle-color: ; + --bs-card-border-width: var(--bs-border-width); + --bs-card-border-color: var(--bs-content-border-color); + --bs-card-inner-border-color: var(--bs-border-color-translucent); + --bs-card-group-border-color: var(--bs-border-color); + --bs-card-border-radius: var(--bs-border-radius-lg); + --bs-card-box-shadow: var(--bs-content-box-shadow); + --bs-card-inner-border-radius: calc(var(--bs-card-border-radius) - (var(--bs-card-border-width))); + --bs-card-cap-padding-y: 0.5rem; + --bs-card-cap-padding-x: 1rem; + --bs-card-cap-bg: hsla(var(--bs-black-hsl), 0.025); + --bs-card-cap-color: ; + --bs-card-height: ; + --bs-card-color: ; + --bs-card-bg: var(--bs-content-bg); + --bs-card-img-overlay-padding: 1rem; + --bs-card-group-margin: 0.75rem; + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + height: var(--bs-card-height); + color: var(--bs-body-color); + word-wrap: break-word; + background-color: var(--bs-card-bg); + background-clip: border-box; + border: var(--bs-card-border-width) solid var(--bs-card-border-color); + border-radius: var(--bs-card-border-radius); + box-shadow: var(--bs-card-box-shadow); +} + +[data-bs-theme=dark] .card { + --bs-card-cap-bg: hsla(var(--bs-black-hsl), 0.1); +} + +.card > hr { + margin-right: 0; + margin-left: 0; +} + +.card > .list-group { + border-top: var(--bs-card-border-width) solid var(--bs-list-group-border-color); + border-bottom: var(--bs-card-border-width) solid var(--bs-list-group-border-color); +} + +.card > .list-group:first-child { + border-top-width: 0; + border-top-left-radius: var(--bs-card-inner-border-radius); + border-top-right-radius: var(--bs-card-inner-border-radius); +} + +.card > .list-group:last-child { + border-bottom-width: 0; + border-bottom-right-radius: var(--bs-card-inner-border-radius); + border-bottom-left-radius: var(--bs-card-inner-border-radius); +} + +.card > .card-header + .list-group, +.card > .list-group + .card-footer { + border-top: 0; +} + +.card-body { + flex: 1 1 auto; + padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x); + color: var(--bs-card-color); +} + +.card-title { + margin-bottom: var(--bs-card-title-spacer-y); + color: var(--bs-card-title-color); +} + +.card-subtitle { + margin-top: calc(-0.5 * var(--bs-card-title-spacer-y)); + margin-bottom: 0; + color: var(--bs-card-subtitle-color); +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link + .card-link { + margin-left: var(--bs-card-spacer-x); +} + +.card-header { + padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x); + margin-bottom: 0; + color: var(--bs-card-cap-color); + background-color: var(--bs-card-cap-bg); + border-bottom: var(--bs-card-border-width) solid var(--bs-card-inner-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-inner-border-color); +} + +.card-footer:last-child { + border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius); +} + +.card-header-tabs { + margin-right: calc(-0.5 * var(--bs-card-cap-padding-x)); + margin-bottom: calc(-1 * var(--bs-card-cap-padding-y)); + margin-left: calc(-0.5 * var(--bs-card-cap-padding-x)); + border-bottom: 0; +} + +.card-header-tabs .nav-link.active { + background-color: var(--bs-card-bg); + border-bottom-color: var(--bs-card-bg); +} + +.card-header-pills { + margin-right: calc(-0.5 * var(--bs-card-cap-padding-x)); + margin-left: calc(-0.5 * var(--bs-card-cap-padding-x)); +} + +.card-header-underline { + margin-right: calc(-0.5 * var(--bs-card-cap-padding-x)); + margin-bottom: calc(-1 * var(--bs-card-cap-padding-y)); + margin-left: calc(-0.5 * var(--bs-card-cap-padding-x)); +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: var(--bs-card-img-overlay-padding); + border-radius: var(--bs-card-inner-border-radius); +} + +.card-img, +.card-img-top, +.card-img-bottom { + width: 100%; +} + +.card-img, +.card-img-top { + border-top-left-radius: var(--bs-card-inner-border-radius); + border-top-right-radius: var(--bs-card-inner-border-radius); +} + +.card-img, +.card-img-bottom { + border-bottom-right-radius: var(--bs-card-inner-border-radius); + border-bottom-left-radius: var(--bs-card-inner-border-radius); +} + +.card-group > .card { + margin-bottom: var(--bs-card-group-margin); +} + +@media (min-width: 576px) { + .card-group { + display: flex; + flex-flow: row wrap; + } + + .card-group > .card { + flex: 1 0 0%; + margin-bottom: 0; + } + + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + + .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-right-color: var(--bs-card-group-border-color); + } + + .card-group > .card:not(:last-child) .card-img-top, + .card-group > .card:not(:last-child) .card-header { + border-top-right-radius: 0; + } + + .card-group > .card:not(:last-child) .card-img-bottom, + .card-group > .card:not(:last-child) .card-footer { + border-bottom-right-radius: 0; + } + + .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-left-color: var(--bs-card-group-border-color); + } + + .card-group > .card:not(:first-child) .card-img-top, + .card-group > .card:not(:first-child) .card-header { + border-top-left-radius: 0; + } + + .card-group > .card:not(:first-child) .card-img-bottom, + .card-group > .card:not(:first-child) .card-footer { + border-bottom-left-radius: 0; + } +} + +/** + * ---------------------------------------------------------------------------- + * [ Accordion ] + * ---------------------------------------------------------------------------- + */ + +.accordion { + --bs-accordion-color: var(--bs-body-color); + --bs-accordion-bg: transparent; + --bs-accordion-transition: ; + --bs-accordion-border-color: var(--bs-border-color); + --bs-accordion-border-width: var(--bs-border-width); + --bs-accordion-border-radius: var(--bs-border-radius); + --bs-accordion-inner-border-radius: calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width)); + --bs-accordion-btn-padding-x: 1rem; + --bs-accordion-btn-padding-y: 0.75rem; + --bs-accordion-btn-color: var(--bs-accordion-color); + --bs-accordion-btn-bg: var(--bs-accordion-bg); + --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23242628'%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: 0.75rem; + --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='%23242628'%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: var(--bs-accordion-border-color); + --bs-accordion-btn-focus-box-shadow: inset 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-action-focus-shadow-hsl), 0.5); + --bs-accordion-body-padding-x: 1rem; + --bs-accordion-body-padding-y: 1rem; + --bs-accordion-active-color: var(--bs-accordion-color); + --bs-accordion-active-bg: var(--bs-accordion-bg); +} + +[data-bs-theme=dark] .accordion { + --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23c9cbcf'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23c9cbcf'%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"); +} + +.accordion-button { + position: relative; + display: flex; + align-items: center; + width: 100%; + padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x); + font-size: var(--bs-font-size-base); + color: var(--bs-accordion-btn-color); + text-align: left; + background-color: var(--bs-accordion-btn-bg); + border: 0; + border-radius: 0; + overflow-anchor: none; + transition: var(--bs-accordion-transition); +} + +@media (prefers-reduced-motion: reduce) { + .accordion-button { + transition: none; + } +} + +.accordion-button:not(.collapsed) { + color: var(--bs-accordion-active-color); + background-color: var(--bs-accordion-active-bg); + box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color); +} + +.accordion-button:not(.collapsed)::after { + background-image: var(--bs-accordion-btn-active-icon); + transform: var(--bs-accordion-btn-icon-transform); +} + +.accordion-button::after { + flex-shrink: 0; + width: var(--bs-accordion-btn-icon-width); + height: var(--bs-accordion-btn-icon-width); + margin-left: auto; + content: ""; + background-image: var(--bs-accordion-btn-icon); + background-repeat: no-repeat; + background-size: var(--bs-accordion-btn-icon-width); + transition: var(--bs-accordion-btn-icon-transition); +} + +@media (prefers-reduced-motion: reduce) { + .accordion-button::after { + transition: none; + } +} + +.accordion-button:hover { + z-index: 2; +} + +.accordion-button:focus { + z-index: 3; + border-color: var(--bs-accordion-btn-focus-border-color); + outline: 0; + box-shadow: var(--bs-accordion-btn-focus-box-shadow); +} + +.accordion-header { + margin-bottom: 0; +} + +.accordion-item { + color: var(--bs-accordion-color); + background-color: var(--bs-accordion-bg); + border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color); +} + +.accordion-item:first-of-type { + border-top-left-radius: var(--bs-accordion-border-radius); + border-top-right-radius: var(--bs-accordion-border-radius); +} + +.accordion-item:first-of-type .accordion-button { + border-top-left-radius: var(--bs-accordion-inner-border-radius); + border-top-right-radius: var(--bs-accordion-inner-border-radius); +} + +.accordion-item:not(:first-of-type) { + border-top: 0; +} + +.accordion-item:last-of-type { + border-bottom-right-radius: var(--bs-accordion-border-radius); + border-bottom-left-radius: var(--bs-accordion-border-radius); +} + +.accordion-item:last-of-type .accordion-button.collapsed { + border-bottom-right-radius: var(--bs-accordion-inner-border-radius); + border-bottom-left-radius: var(--bs-accordion-inner-border-radius); +} + +.accordion-item:last-of-type .accordion-collapse { + border-bottom-right-radius: var(--bs-accordion-border-radius); + border-bottom-left-radius: var(--bs-accordion-border-radius); +} + +.accordion-body { + padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x); +} + +.accordion-flush .accordion-collapse { + border-width: 0; +} + +.accordion-flush .accordion-item { + border-right: 0; + border-left: 0; + border-radius: 0; +} + +.accordion-flush .accordion-item:first-child { + border-top: 0; +} + +.accordion-flush .accordion-item:last-child { + border-bottom: 0; +} + +.accordion-flush .accordion-item .accordion-button, +.accordion-flush .accordion-item .accordion-button.collapsed { + border-radius: 0; +} + +/** + * ---------------------------------------------------------------------------- + * [ Breadcrumb ] + * ---------------------------------------------------------------------------- + */ + +.breadcrumb { + --bs-breadcrumb-padding-x: 0; + --bs-breadcrumb-padding-y: 0; + --bs-breadcrumb-margin-bottom: 1rem; + --bs-breadcrumb-bg: ; + --bs-breadcrumb-border-radius: ; + --bs-breadcrumb-divider-color: var(--bs-secondary-color); + --bs-breadcrumb-item-padding-x: 0.5rem; + --bs-breadcrumb-item-active-color: var(--bs-secondary-color); + display: flex; + flex-wrap: wrap; + padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x); + margin-bottom: var(--bs-breadcrumb-margin-bottom); + font-size: var(--bs-breadcrumb-font-size); + list-style: none; + background-color: var(--bs-breadcrumb-bg); + border-radius: var(--bs-breadcrumb-border-radius); +} + +.breadcrumb-item + .breadcrumb-item { + padding-left: var(--bs-breadcrumb-item-padding-x); +} + +.breadcrumb-item + .breadcrumb-item::before { + float: left; + padding-right: var(--bs-breadcrumb-item-padding-x); + color: var(--bs-breadcrumb-divider-color); + content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */; +} + +.breadcrumb-item.active { + color: var(--bs-breadcrumb-item-active-color); +} + +/** + * ---------------------------------------------------------------------------- + * [ Pagination ] + * ---------------------------------------------------------------------------- + */ + +.pagination { + --bs-pagination-padding-x: 0.375rem; + --bs-pagination-padding-y: 0.25rem; + --bs-pagination-font-size: var(--bs-font-size-base); + --bs-pagination-line-height: calc(20/14); + --bs-pagination-min-width: 1.875rem; + --bs-pagination-color: var(--bs-action-color); + --bs-pagination-bg: var(--bs-action-bg); + --bs-pagination-border-width: var(--bs-border-width); + --bs-pagination-border-color: var(--bs-action-border-color); + --bs-pagination-border-radius: var(--bs-border-radius); + --bs-pagination-hover-color: var(--bs-action-hover-color); + --bs-pagination-hover-bg: var(--bs-action-hover-bg); + --bs-pagination-hover-border-color: var(--bs-action-border-color); + --bs-pagination-focus-color: var(--bs-action-active-color); + --bs-pagination-focus-bg: var(--bs-action-active-bg); + --bs-pagination-focus-box-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-action-focus-shadow-hsl), 0.5); + --bs-pagination-active-color: var(--bs-primary-foreground); + --bs-pagination-active-bg: var(--bs-primary); + --bs-pagination-active-border-color: var(--bs-ctx-btn-border-color); + --bs-pagination-active-bg-clip: var(--bs-ctx-btn-bg-clip); + --bs-pagination-active-webkit-font-smoothing: auto; + --bs-pagination-active-moz-osx-font-smoothing: auto; + --bs-pagination-disabled-color: var(--bs-action-disabled-color); + --bs-pagination-disabled-bg: var(--bs-action-disabled-bg); + --bs-pagination-disabled-border-color: var(--bs-action-disabled-border-color); + display: flex; + padding-left: 0; + list-style: none; +} + +.page-link { + position: relative; + display: block; + padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x); + font-size: var(--bs-pagination-font-size); + line-height: var(--bs-pagination-line-height); + min-width: var(--bs-pagination-min-width); + color: var(--bs-pagination-color); + text-decoration: none; + text-align: center; + background-color: var(--bs-pagination-bg); + border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color); +} + +@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); + background-clip: var(--bs-pagination-active-bg-clip); + -webkit-font-smoothing: var(--bs-pagination-active-webkit-font-smoothing); + -moz-osx-font-smoothing: var(--bs-pagination-active-moz-osx-font-smoothing); +} + +.page-link.disabled, +.disabled > .page-link { + color: var(--bs-pagination-disabled-color); + pointer-events: none; + background-color: var(--bs-pagination-disabled-bg); + border-color: var(--bs-pagination-disabled-border-color); +} + +.page-item:not(:first-child) .page-link { + margin-left: calc(-1 * var(--bs-pagination-border-width)); +} + +.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: 0.625rem; + --bs-pagination-padding-y: 0.3125rem; + --bs-pagination-font-size: var(--bs-font-size-lg); + --bs-pagination-line-height: calc(24/16); + --bs-pagination-min-width: 2.25rem; + --bs-pagination-border-radius: var(--bs-border-radius-lg); +} + +.pagination-sm { + --bs-pagination-padding-x: 0.125rem; + --bs-pagination-padding-y: 0.125rem; + --bs-pagination-font-size: var(--bs-font-size-sm); + --bs-pagination-line-height: calc(18/12); + --bs-pagination-min-width: 1.5rem; + --bs-pagination-border-radius: var(--bs-border-radius-sm); +} + +/** + * ---------------------------------------------------------------------------- + * [ Badge ] + * ---------------------------------------------------------------------------- + */ + +.badge { + --bs-badge-padding-x: var(--bs-relative-font-size-2xs); + --bs-badge-padding-y: var(--bs-relative-font-size-4xs); + --bs-badge-font-size: var(--bs-relative-font-size-sm); + --bs-badge-font-weight: var(--bs-font-weight-normal); + --bs-badge-color: var(--bs-secondary-foreground); + --bs-badge-bg: var(--bs-secondary); + --bs-badge-border-radius: var(--bs-border-radius); + display: inline-block; + padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x); + font-size: var(--bs-badge-font-size); + font-weight: var(--bs-badge-font-weight); + line-height: 1; + color: var(--bs-badge-color); + background-color: var(--bs-badge-bg); + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: var(--bs-badge-border-radius); + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} + +.badge:empty { + display: none; +} + +.btn .badge { + position: relative; + top: -1px; +} + +/** + * ---------------------------------------------------------------------------- + * [ Alerts ] + * ---------------------------------------------------------------------------- + */ + +.alert { + --bs-alert-bg: transparent; + --bs-alert-padding-x: 1rem; + --bs-alert-padding-y: 0.75rem; + --bs-alert-margin-bottom: 1rem; + --bs-alert-color: inherit; + --bs-alert-border-color: transparent; + --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color); + --bs-alert-border-radius: var(--bs-border-radius); + --bs-alert-link-color: inherit; + position: relative; + padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x); + margin-bottom: var(--bs-alert-margin-bottom); + color: var(--bs-alert-color); + background-color: var(--bs-alert-bg); + border: var(--bs-alert-border); + border-radius: var(--bs-alert-border-radius); +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: var(--bs-font-weight-normal); + color: var(--bs-alert-link-color); + text-decoration: underline; + -webkit-font-smoothing: var(--bs-body-webkit-font-smoothing); + -moz-osx-font-smoothing: var(--bs-body-moz-osx-font-smoothing); +} + +.alert-link:hover { + opacity: 0.75; + text-decoration: underline; +} + +.alert-dismissible { + padding-right: 2.5rem; +} + +.alert-dismissible .btn-close { + position: absolute; + top: 50%; + right: 0.375rem; + transform: translateY(-50%); + z-index: 2; +} + +/* Primary alert */ + +.alert-primary { + --bs-alert-color: var(--bs-body-color); + --bs-alert-bg: var(--bs-primary-bg-subtle); + --bs-alert-border-color: var(--bs-primary-border-subtle); + --bs-alert-link-color: var(--bs-alert-color); +} + +/* Secondary alert */ + +.alert-secondary { + --bs-alert-color: var(--bs-body-color); + --bs-alert-bg: var(--bs-secondary-bg-subtle); + --bs-alert-border-color: var(--bs-secondary-border-subtle); + --bs-alert-link-color: var(--bs-alert-color); +} + +/* Success alert */ + +.alert-success { + --bs-alert-color: var(--bs-body-color); + --bs-alert-bg: var(--bs-success-bg-subtle); + --bs-alert-border-color: var(--bs-success-border-subtle); + --bs-alert-link-color: var(--bs-alert-color); +} + +/* Info alert */ + +.alert-info { + --bs-alert-color: var(--bs-body-color); + --bs-alert-bg: var(--bs-info-bg-subtle); + --bs-alert-border-color: var(--bs-info-border-subtle); + --bs-alert-link-color: var(--bs-alert-color); +} + +/* Warning alert */ + +.alert-warning { + --bs-alert-color: var(--bs-body-color); + --bs-alert-bg: var(--bs-warning-bg-subtle); + --bs-alert-border-color: var(--bs-warning-border-subtle); + --bs-alert-link-color: var(--bs-alert-color); +} + +/* Danger alert */ + +.alert-danger { + --bs-alert-color: var(--bs-body-color); + --bs-alert-bg: var(--bs-danger-bg-subtle); + --bs-alert-border-color: var(--bs-danger-border-subtle); + --bs-alert-link-color: var(--bs-alert-color); +} + +/* Light alert */ + +.alert-light { + --bs-alert-color: var(--bs-body-color); + --bs-alert-bg: var(--bs-light-bg-subtle); + --bs-alert-border-color: var(--bs-light-border-subtle); + --bs-alert-link-color: var(--bs-alert-color); +} + +/* Dark alert */ + +.alert-dark { + --bs-alert-color: var(--bs-body-color); + --bs-alert-bg: var(--bs-dark-bg-subtle); + --bs-alert-border-color: var(--bs-dark-border-subtle); + --bs-alert-link-color: var(--bs-alert-color); +} + +/** + * ---------------------------------------------------------------------------- + * [ Progress ] + * ---------------------------------------------------------------------------- + */ + +@keyframes progress-bar-stripes { + 0% { + background-position-x: 0.625rem; + } +} + +.progress, +.progress-stacked { + --bs-progress-height: 0.625rem; + --bs-progress-font-size: 0.5rem; + --bs-progress-bg: var(--bs-actionbar-bg); + --bs-progress-border: var(--bs-progresstrack-border-width) solid var(--bs-actionbar-border-color); + --bs-progress-border-radius: var(--bs-border-radius-pill); + --bs-progress-box-shadow: var(--bs-progresstrack-box-shadow); + --bs-progress-bg-clip: var(--bs-progresstrack-bg-clip); + --bs-progress-bar-color: var(--bs-primary-foreground); + --bs-progress-bar-bg: var(--bs-primary); + --bs-progress-bar-transition: width 0.6s ease; + display: flex; + height: var(--bs-progress-height); + overflow: hidden; + font-size: var(--bs-progress-font-size); + background-color: var(--bs-progress-bg); + border: var(--bs-progress-border); + border-radius: var(--bs-progress-border-radius); + box-shadow: var(--bs-progress-box-shadow); + background-clip: var(--bs-progress-bg-clip); +} + +.progress-bar { + display: flex; + flex-direction: column; + justify-content: center; + overflow: hidden; + color: var(--bs-progress-bar-color); + text-align: center; + white-space: nowrap; + background-color: var(--bs-progress-bar-bg); + transition: var(--bs-progress-bar-transition); + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} + +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} + +.progress-bar-striped { + background-image: linear-gradient( + 45deg, + hsla(var(--bs-primary-foreground-hsl), 0.15) 25%, + transparent 25%, + transparent 50%, + hsla(var(--bs-primary-foreground-hsl), 0.15) 50%, + hsla(var(--bs-primary-foreground-hsl), 0.15) 75%, + transparent 75%, + transparent + ); + background-size: var(--bs-progress-height) var(--bs-progress-height); +} + +.progress-stacked > .progress { + height: 100%; + overflow: visible; + font-size: inherit; + background-color: transparent; + border: 0; + border-radius: 0; + box-shadow: none; + background-clip: border-box; +} + +.progress-stacked > .progress > .progress-bar { + width: 100%; +} + +.progress-bar-animated { + animation: 1s linear infinite progress-bar-stripes; +} + +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + animation: none; + } +} + +/** + * ---------------------------------------------------------------------------- + * [ List group ] + * ---------------------------------------------------------------------------- + */ + +.list-group { + --bs-list-group-color: var(--bs-body-color); + --bs-list-group-bg: transparent; + --bs-list-group-border-color: var(--bs-border-color); + --bs-list-group-border-width: var(--bs-border-width); + --bs-list-group-border-radius: var(--bs-border-radius); + --bs-list-group-item-padding-x: 1rem; + --bs-list-group-item-padding-y: 0.375rem; + --bs-list-group-action-color: var(--bs-list-group-color); + --bs-list-group-action-hover-color: var(--bs-list-group-action-color); + --bs-list-group-action-hover-bg: hsla(var(--bs-black-hsl), 0.06); + --bs-list-group-action-active-color: var(--bs-list-group-action-color); + --bs-list-group-action-active-bg: hsla(var(--bs-black-hsl), 0.09); + --bs-list-group-disabled-color: var(--bs-secondary-color); + --bs-list-group-disabled-bg: hsla(var(--bs-black-hsl), 0.03); + --bs-list-group-active-color: var(--bs-primary-foreground); + --bs-list-group-active-bg: var(--bs-primary); + --bs-list-group-active-border-color: var(--bs-primary); + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + border-radius: var(--bs-list-group-border-radius); +} + +[data-bs-theme=dark] .list-group { + --bs-list-group-action-hover-bg: hsla(var(--bs-white-hsl), 0.05); + --bs-list-group-action-active-bg: hsla(var(--bs-white-hsl), 0.075); + --bs-list-group-disabled-bg: hsla(var(--bs-white-hsl), 0.025); +} + +.list-group-numbered { + list-style-type: none; + counter-reset: section; +} + +.list-group-numbered > .list-group-item::before { + content: counters(section, ".") ". "; + counter-increment: section; +} + +.list-group-item-action { + width: 100%; + color: var(--bs-list-group-action-color); + text-align: inherit; +} + +.list-group-item-action:hover, +.list-group-item-action:focus { + z-index: 1; + color: var(--bs-list-group-action-hover-color); + text-decoration: none; + background-color: var(--bs-list-group-action-hover-bg); +} + +.list-group-item-action:active { + color: var(--bs-list-group-action-active-color); + background-color: var(--bs-list-group-action-active-bg); +} + +.list-group-item { + position: relative; + display: block; + padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x); + color: var(--bs-list-group-color); + text-decoration: none; + background-color: var(--bs-list-group-bg); + border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color); + -webkit-font-smoothing: var(--bs-body-webkit-font-smoothing); + -moz-osx-font-smoothing: var(--bs-body-moz-osx-font-smoothing); +} + +.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); + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} + +.list-group-item + .list-group-item { + border-top-width: 0; +} + +.list-group-item + .list-group-item.active { + margin-top: calc(-1 * var(--bs-list-group-border-width)); + border-top-width: var(--bs-list-group-border-width); +} + +.list-group-horizontal { + flex-direction: row; +} + +.list-group-horizontal > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; +} + +.list-group-horizontal > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; +} + +.list-group-horizontal > .list-group-item.active { + margin-top: 0; +} + +.list-group-horizontal > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; +} + +.list-group-horizontal > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); +} + +@media (min-width: 576px) { + .list-group-horizontal-sm { + flex-direction: row; + } + + .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + + .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + + .list-group-horizontal-sm > .list-group-item.active { + margin-top: 0; + } + + .list-group-horizontal-sm > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + + .list-group-horizontal-sm > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} + +@media (min-width: 768px) { + .list-group-horizontal-md { + flex-direction: row; + } + + .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + + .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + + .list-group-horizontal-md > .list-group-item.active { + margin-top: 0; + } + + .list-group-horizontal-md > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + + .list-group-horizontal-md > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} + +@media (min-width: 992px) { + .list-group-horizontal-lg { + flex-direction: row; + } + + .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + + .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + + .list-group-horizontal-lg > .list-group-item.active { + margin-top: 0; + } + + .list-group-horizontal-lg > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + + .list-group-horizontal-lg > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} + +@media (min-width: 1200px) { + .list-group-horizontal-xl { + flex-direction: row; + } + + .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + + .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + + .list-group-horizontal-xl > .list-group-item.active { + margin-top: 0; + } + + .list-group-horizontal-xl > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + + .list-group-horizontal-xl > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} + +@media (min-width: 1400px) { + .list-group-horizontal-xxl { + flex-direction: row; + } + + .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) { + border-bottom-left-radius: var(--bs-list-group-border-radius); + border-top-right-radius: 0; + } + + .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) { + border-top-right-radius: var(--bs-list-group-border-radius); + border-bottom-left-radius: 0; + } + + .list-group-horizontal-xxl > .list-group-item.active { + margin-top: 0; + } + + .list-group-horizontal-xxl > .list-group-item + .list-group-item { + border-top-width: var(--bs-list-group-border-width); + border-left-width: 0; + } + + .list-group-horizontal-xxl > .list-group-item + .list-group-item.active { + margin-left: calc(-1 * var(--bs-list-group-border-width)); + border-left-width: var(--bs-list-group-border-width); + } +} + +.list-group-flush { + border-radius: 0; +} + +.list-group-flush > .list-group-item { + border-width: 0 0 var(--bs-list-group-border-width); +} + +.list-group-flush > .list-group-item:last-child { + border-bottom-width: 0; +} + +/* Primary list group item */ + +.list-group-item-primary { + --bs-list-group-color: var(--bs-body-color); + --bs-list-group-bg: hsla(var(--bs-primary-hsl), 0.125); + --bs-list-group-border-color: var(--bs-border-color); + --bs-list-group-action-hover-color: var(--bs-list-group-action-color); + --bs-list-group-action-hover-bg: hsla(var(--bs-primary-hsl), 0.2); + --bs-list-group-action-active-color: var(--bs-list-group-action-color); + --bs-list-group-action-active-bg: hsla(var(--bs-primary-hsl), 0.25); + --bs-list-group-active-color: var(--bs-primary-foreground); + --bs-list-group-active-bg: var(--bs-primary-hover-bg); + --bs-list-group-active-border-color: var(--bs-primary-hover-bg); +} + +/* Secondary list group item */ + +.list-group-item-secondary { + --bs-list-group-color: var(--bs-body-color); + --bs-list-group-bg: hsla(var(--bs-secondary-hsl), 0.125); + --bs-list-group-border-color: var(--bs-border-color); + --bs-list-group-action-hover-color: var(--bs-list-group-action-color); + --bs-list-group-action-hover-bg: hsla(var(--bs-secondary-hsl), 0.2); + --bs-list-group-action-active-color: var(--bs-list-group-action-color); + --bs-list-group-action-active-bg: hsla(var(--bs-secondary-hsl), 0.25); + --bs-list-group-active-color: var(--bs-secondary-foreground); + --bs-list-group-active-bg: var(--bs-secondary-hover-bg); + --bs-list-group-active-border-color: var(--bs-secondary-hover-bg); +} + +/* Success list group item */ + +.list-group-item-success { + --bs-list-group-color: var(--bs-body-color); + --bs-list-group-bg: hsla(var(--bs-success-hsl), 0.125); + --bs-list-group-border-color: var(--bs-border-color); + --bs-list-group-action-hover-color: var(--bs-list-group-action-color); + --bs-list-group-action-hover-bg: hsla(var(--bs-success-hsl), 0.2); + --bs-list-group-action-active-color: var(--bs-list-group-action-color); + --bs-list-group-action-active-bg: hsla(var(--bs-success-hsl), 0.25); + --bs-list-group-active-color: var(--bs-success-foreground); + --bs-list-group-active-bg: var(--bs-success-hover-bg); + --bs-list-group-active-border-color: var(--bs-success-hover-bg); +} + +/* Info list group item */ + +.list-group-item-info { + --bs-list-group-color: var(--bs-body-color); + --bs-list-group-bg: hsla(var(--bs-info-hsl), 0.125); + --bs-list-group-border-color: var(--bs-border-color); + --bs-list-group-action-hover-color: var(--bs-list-group-action-color); + --bs-list-group-action-hover-bg: hsla(var(--bs-info-hsl), 0.2); + --bs-list-group-action-active-color: var(--bs-list-group-action-color); + --bs-list-group-action-active-bg: hsla(var(--bs-info-hsl), 0.25); + --bs-list-group-active-color: var(--bs-info-foreground); + --bs-list-group-active-bg: var(--bs-info-hover-bg); + --bs-list-group-active-border-color: var(--bs-info-hover-bg); +} + +/* Warning list group item */ + +.list-group-item-warning { + --bs-list-group-color: var(--bs-body-color); + --bs-list-group-bg: hsla(var(--bs-warning-hsl), 0.125); + --bs-list-group-border-color: var(--bs-border-color); + --bs-list-group-action-hover-color: var(--bs-list-group-action-color); + --bs-list-group-action-hover-bg: hsla(var(--bs-warning-hsl), 0.2); + --bs-list-group-action-active-color: var(--bs-list-group-action-color); + --bs-list-group-action-active-bg: hsla(var(--bs-warning-hsl), 0.25); + --bs-list-group-active-color: var(--bs-warning-foreground); + --bs-list-group-active-bg: var(--bs-warning-hover-bg); + --bs-list-group-active-border-color: var(--bs-warning-hover-bg); +} + +/* Danger list group item */ + +.list-group-item-danger { + --bs-list-group-color: var(--bs-body-color); + --bs-list-group-bg: hsla(var(--bs-danger-hsl), 0.125); + --bs-list-group-border-color: var(--bs-border-color); + --bs-list-group-action-hover-color: var(--bs-list-group-action-color); + --bs-list-group-action-hover-bg: hsla(var(--bs-danger-hsl), 0.2); + --bs-list-group-action-active-color: var(--bs-list-group-action-color); + --bs-list-group-action-active-bg: hsla(var(--bs-danger-hsl), 0.25); + --bs-list-group-active-color: var(--bs-danger-foreground); + --bs-list-group-active-bg: var(--bs-danger-hover-bg); + --bs-list-group-active-border-color: var(--bs-danger-hover-bg); +} + +/* Light list group item */ + +.list-group-item-light { + --bs-list-group-color: var(--bs-body-color); + --bs-list-group-bg: hsla(var(--bs-light-hsl), 0.125); + --bs-list-group-border-color: var(--bs-border-color); + --bs-list-group-action-hover-color: var(--bs-list-group-action-color); + --bs-list-group-action-hover-bg: hsla(var(--bs-light-hsl), 0.2); + --bs-list-group-action-active-color: var(--bs-list-group-action-color); + --bs-list-group-action-active-bg: hsla(var(--bs-light-hsl), 0.25); + --bs-list-group-active-color: var(--bs-light-foreground); + --bs-list-group-active-bg: var(--bs-light-hover-bg); + --bs-list-group-active-border-color: var(--bs-light-hover-bg); +} + +/* Dark list group item */ + +.list-group-item-dark { + --bs-list-group-color: var(--bs-body-color); + --bs-list-group-bg: hsla(var(--bs-dark-hsl), 0.125); + --bs-list-group-border-color: var(--bs-border-color); + --bs-list-group-action-hover-color: var(--bs-list-group-action-color); + --bs-list-group-action-hover-bg: hsla(var(--bs-dark-hsl), 0.2); + --bs-list-group-action-active-color: var(--bs-list-group-action-color); + --bs-list-group-action-active-bg: hsla(var(--bs-dark-hsl), 0.25); + --bs-list-group-active-color: var(--bs-dark-foreground); + --bs-list-group-active-bg: var(--bs-dark-hover-bg); + --bs-list-group-active-border-color: var(--bs-dark-hover-bg); +} + +/** + * ---------------------------------------------------------------------------- + * [ Close button ] + * ---------------------------------------------------------------------------- + */ + +.btn-close { + --bs-btn-close-color: var(--bs-black); + --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e"); + --bs-btn-close-opacity: 0.5; + --bs-btn-close-hover-opacity: 0.75; + --bs-btn-close-focus-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-black-hsl), 0.25); + --bs-btn-close-focus-opacity: 1; + --bs-btn-close-disabled-opacity: 0.25; + --bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%); + box-sizing: content-box; + width: 1em; + height: 1em; + padding: var(--bs-relative-font-size-4xs); + color: var(--bs-btn-close-color); + background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat; + border: 0; + border-radius: var(--bs-border-radius-sm); + opacity: var(--bs-btn-close-opacity); +} + +.btn-close:hover { + color: var(--bs-btn-close-color); + text-decoration: none; + opacity: var(--bs-btn-close-hover-opacity); +} + +.btn-close:focus { + outline: 0; + box-shadow: var(--bs-btn-close-focus-shadow); + opacity: var(--bs-btn-close-focus-opacity); +} + +.btn-close:disabled, .btn-close.disabled { + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + opacity: var(--bs-btn-close-disabled-opacity); +} + +[data-bs-theme=dark] .btn-close { + filter: var(--bs-btn-close-white-filter); +} + +/* Local light and dark variants */ + +.btn-close[data-bs-theme=light] { + filter: none; +} + +.btn-close[data-bs-theme=dark] { + filter: var(--bs-btn-close-white-filter); +} + +/** + * ---------------------------------------------------------------------------- + * [ Toast ] + * ---------------------------------------------------------------------------- + */ + +.toast { + --bs-toast-zindex: 1090; + --bs-toast-padding-x: 0.75rem; + --bs-toast-padding-y: 0.5rem; + --bs-toast-spacing: 1.5rem; + --bs-toast-max-width: 21.875rem; + --bs-toast-font-size: 0.875rem; + --bs-toast-color: ; + --bs-toast-bg: hsla(var(--bs-content-floating-bg-hsl), 0.95); + --bs-toast-border-width: var(--bs-border-width); + --bs-toast-border-color: var(--bs-content-floating-border-color); + --bs-toast-border-radius: var(--bs-border-radius); + --bs-toast-box-shadow: var(--bs-content-floating-box-shadow); + --bs-toast-header-color: var(--bs-secondary-color); + --bs-toast-header-bg: var(--bs-toast-bg); + --bs-toast-header-border-color: var(--bs-border-color-translucent); + width: var(--bs-toast-max-width); + max-width: 100%; + font-size: var(--bs-toast-font-size); + color: var(--bs-toast-color); + pointer-events: auto; + background-color: var(--bs-toast-bg); + background-clip: padding-box; + border: var(--bs-toast-border-width) solid var(--bs-toast-border-color); + box-shadow: var(--bs-toast-box-shadow); + border-radius: var(--bs-toast-border-radius); +} + +.toast.showing { + opacity: 0; +} + +.toast:not(.show) { + display: none; +} + +.toast-container { + --bs-toast-zindex: 1090; + position: absolute; + z-index: var(--bs-toast-zindex); + width: -webkit-max-content; + width: -moz-max-content; + width: max-content; + max-width: 100%; + pointer-events: none; +} + +.toast-container > :not(:last-child) { + margin-bottom: var(--bs-toast-spacing); +} + +.toast-header { + display: flex; + align-items: center; + padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x); + color: var(--bs-toast-header-color); + background-color: var(--bs-toast-header-bg); + background-clip: padding-box; + border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color); + border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width)); + border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width)); +} + +.toast-header .btn-close { + margin-right: calc(-0.5 * var(--bs-toast-padding-x)); + margin-left: var(--bs-toast-padding-x); +} + +.toast-body { + padding: var(--bs-toast-padding-x); + word-wrap: break-word; +} + +/** + * ---------------------------------------------------------------------------- + * [ Modal ] + * ---------------------------------------------------------------------------- + */ + +.modal { + --bs-modal-zindex: 1055; + --bs-modal-width: 25rem; + --bs-modal-padding: 1rem; + --bs-modal-margin: 0.5rem; + --bs-modal-color: ; + --bs-modal-bg: var(--bs-content-bg); + --bs-modal-border-color: var(--bs-content-border-color); + --bs-modal-border-width: var(--bs-border-width); + --bs-modal-border-radius: var(--bs-border-radius-lg); + --bs-modal-box-shadow: var(--bs-content-box-shadow); + --bs-modal-inner-border-radius: calc(var(--bs-modal-border-radius) - (var(--bs-modal-border-width))); + --bs-modal-header-padding-x: 1rem; + --bs-modal-header-padding-y: 1rem; + --bs-modal-header-padding: var(--bs-modal-header-padding-y) var(--bs-modal-header-padding-x); + --bs-modal-header-border-color: var(--bs-border-color-translucent); + --bs-modal-header-border-width: var(--bs-border-width); + --bs-modal-title-line-height: var(--bs-line-height-sm); + --bs-modal-footer-padding-x: 1rem; + --bs-modal-footer-padding-y: 1rem; + --bs-modal-footer-gap: 0.5rem; + --bs-modal-footer-bg: ; + --bs-modal-footer-border-color: var(--bs-border-color-translucent); + --bs-modal-footer-border-width: var(--bs-border-width); + position: fixed; + top: 0; + left: 0; + z-index: var(--bs-modal-zindex); + display: none; + width: 100%; + height: 100%; + overflow-x: hidden; + overflow-y: auto; + outline: 0; +} + +.modal-dialog { + position: relative; + width: auto; + margin: var(--bs-modal-margin); + pointer-events: none; +} + +.modal.fade .modal-dialog { + transition: transform 0.3s ease-out; + transform: translate(0, -50px); +} + +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} + +.modal.show .modal-dialog { + transform: none; +} + +.modal.modal-static .modal-dialog { + transform: scale(1.02); +} + +.modal-dialog-scrollable { + height: calc(100% - var(--bs-modal-margin) * 2); +} + +.modal-dialog-scrollable .modal-content { + max-height: 100%; + overflow: hidden; +} + +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} + +.modal-dialog-centered { + display: flex; + align-items: center; + min-height: calc(100% - var(--bs-modal-margin) * 2); +} + +.modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + color: var(--bs-modal-color); + pointer-events: auto; + background-color: var(--bs-modal-bg); + background-clip: padding-box; + border: var(--bs-modal-border-width) solid var(--bs-modal-border-color); + border-radius: var(--bs-modal-border-radius); + box-shadow: var(--bs-modal-box-shadow); + outline: 0; +} + +.modal-backdrop { + --bs-backdrop-zindex: 1050; + --bs-backdrop-bg: var(--bs-black); + --bs-backdrop-opacity: 0.5; + position: fixed; + top: 0; + left: 0; + z-index: var(--bs-backdrop-zindex); + width: 100vw; + height: 100vh; + background-color: var(--bs-backdrop-bg); +} + +.modal-backdrop.fade { + opacity: 0; +} + +.modal-backdrop.show { + opacity: var(--bs-backdrop-opacity); +} + +.modal-header { + display: flex; + flex-shrink: 0; + align-items: center; + justify-content: space-between; + padding: var(--bs-modal-header-padding); + border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color); + border-top-left-radius: var(--bs-modal-inner-border-radius); + border-top-right-radius: var(--bs-modal-inner-border-radius); +} + +.modal-header .btn-close { + padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5); + margin: calc(-0.5 * var(--bs-modal-header-padding-y)) calc(-0.5 * var(--bs-modal-header-padding-x)) calc(-0.5 * var(--bs-modal-header-padding-y)) auto; +} + +.modal-title { + margin-bottom: 0; + line-height: var(--bs-modal-title-line-height); +} + +.modal-body { + position: relative; + flex: 1 1 auto; + padding: var(--bs-modal-padding); +} + +.modal-footer { + display: flex; + flex-shrink: 0; + flex-wrap: wrap; + align-items: center; + justify-content: flex-end; + padding: calc(var(--bs-modal-footer-padding-y) - var(--bs-modal-footer-gap) * 0.5) calc(var(--bs-modal-footer-padding-x) - var(--bs-modal-footer-gap) * 0.5); + background-color: var(--bs-modal-footer-bg); + border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color); + border-bottom-right-radius: var(--bs-modal-inner-border-radius); + border-bottom-left-radius: var(--bs-modal-inner-border-radius); +} + +.modal-footer > * { + margin: calc(var(--bs-modal-footer-gap) * 0.5); +} + +@media (min-width: 576px) { + .modal { + --bs-modal-margin: 1.75rem; + } + + .modal-dialog { + max-width: var(--bs-modal-width); + margin-right: auto; + margin-left: auto; + } + + .modal-sm { + --bs-modal-width: 18.75rem; + } +} + +@media (min-width: 992px) { + .modal-lg, + .modal-xl { + --bs-modal-width: 42.5rem; + } +} + +@media (min-width: 1200px) { + .modal-xl { + --bs-modal-width: 65rem; + } +} + +.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; + } +} + +/** + * ---------------------------------------------------------------------------- + * [ Tooltips ] + * ---------------------------------------------------------------------------- + */ + +.tooltip { + --bs-tooltip-zindex: 1080; + --bs-tooltip-max-width: 12.5rem; + --bs-tooltip-padding-x: 0.5rem; + --bs-tooltip-padding-y: 0.25rem; + --bs-tooltip-margin: ; + --bs-tooltip-font-size: var(--bs-font-size-sm); + --bs-tooltip-color: var(--bs-body-bg); + --bs-tooltip-bg: var(--bs-emphasis-color); + --bs-tooltip-border-radius: var(--bs-border-radius); + --bs-tooltip-opacity: 0.95; + --bs-tooltip-webkit-font-smoothing: auto; + --bs-tooltip-moz-osx-font-smoothing: auto; + --bs-tooltip-arrow-width: 0.8rem; + --bs-tooltip-arrow-height: 0.4rem; + z-index: var(--bs-tooltip-zindex); + display: block; + margin: var(--bs-tooltip-margin); + font-family: var(--bs-body-font-family); + font-style: normal; + font-weight: var(--bs-font-weight-normal); + line-height: var(--bs-line-height-base); + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + white-space: normal; + word-spacing: normal; + line-break: auto; + font-size: var(--bs-tooltip-font-size); + word-wrap: break-word; + opacity: 0; +} + +.tooltip.show { + opacity: var(--bs-tooltip-opacity); +} + +.tooltip .tooltip-arrow { + display: block; + width: var(--bs-tooltip-arrow-width); + height: var(--bs-tooltip-arrow-height); +} + +.tooltip .tooltip-arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-top .tooltip-arrow, +.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow { + bottom: calc(-1 * var(--bs-tooltip-arrow-height)); +} + +.bs-tooltip-top .tooltip-arrow::before, +.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before { + top: -1px; + border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0; + border-top-color: var(--bs-tooltip-bg); +} + +/* rtl:begin:ignore */ +.bs-tooltip-end .tooltip-arrow, +.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow { + left: calc(-1 * var(--bs-tooltip-arrow-height)); + width: var(--bs-tooltip-arrow-height); + height: var(--bs-tooltip-arrow-width); +} + +.bs-tooltip-end .tooltip-arrow::before, +.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before { + right: -1px; + border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0; + border-right-color: var(--bs-tooltip-bg); +} +/* rtl:end:ignore */ + +.bs-tooltip-bottom .tooltip-arrow, +.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow { + top: calc(-1 * var(--bs-tooltip-arrow-height)); +} + +.bs-tooltip-bottom .tooltip-arrow::before, +.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before { + bottom: -1px; + border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height); + border-bottom-color: var(--bs-tooltip-bg); +} + +/* rtl:begin:ignore */ +.bs-tooltip-start .tooltip-arrow, +.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow { + right: calc(-1 * var(--bs-tooltip-arrow-height)); + width: var(--bs-tooltip-arrow-height); + height: var(--bs-tooltip-arrow-width); +} + +.bs-tooltip-start .tooltip-arrow::before, +.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before { + left: -1px; + border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height); + border-left-color: var(--bs-tooltip-bg); +} +/* rtl:end:ignore */ + +.tooltip-inner { + max-width: var(--bs-tooltip-max-width); + padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x); + color: var(--bs-tooltip-color); + text-align: center; + background-color: var(--bs-tooltip-bg); + border-radius: var(--bs-tooltip-border-radius); + -webkit-font-smoothing: var(--bs-tooltip-webkit-font-smoothing); + -moz-osx-font-smoothing: var(--bs-tooltip-moz-osx-font-smoothing); +} + +/** + * ---------------------------------------------------------------------------- + * [ Popovers ] + * ---------------------------------------------------------------------------- + */ + +.popover { + --bs-popover-zindex: 1070; + --bs-popover-max-width: 17.25rem; + --bs-popover-font-size: var(--bs-font-size-base); + --bs-popover-bg: var(--bs-content-floating-bg); + --bs-popover-border-width: var(--bs-border-width); + --bs-popover-border-color: var(--bs-content-floating-border-color); + --bs-popover-border-radius: var(--bs-border-radius); + --bs-popover-inner-border-radius: calc(var(--bs-popover-border-radius) - var(--bs-popover-border-width)); + --bs-popover-box-shadow: var(--bs-content-floating-box-shadow); + --bs-popover-header-padding-x: 0.75rem; + --bs-popover-header-padding-y: 0.5rem; + --bs-popover-header-font-size: var(--bs-popover-font-size); + --bs-popover-header-color: var(--bs-body-color); + --bs-popover-header-bg: var(--bs-popover-bg); + --bs-popover-header-border-color: var(--bs-border-color-translucent); + --bs-popover-body-padding-x: 0.75rem; + --bs-popover-body-padding-y: 0.75rem; + --bs-popover-body-color: var(--bs-content-floating-color); + --bs-popover-arrow-width: 1rem; + --bs-popover-arrow-height: 0.5rem; + --bs-popover-arrow-border: var(--bs-popover-border-color); + z-index: var(--bs-popover-zindex); + display: block; + max-width: var(--bs-popover-max-width); + font-family: var(--bs-body-font-family); + font-style: normal; + font-weight: var(--bs-font-weight-normal); + line-height: var(--bs-line-height-base); + 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); + box-shadow: var(--bs-popover-box-shadow); +} + +.popover .popover-arrow { + display: block; + width: var(--bs-popover-arrow-width); + height: var(--bs-popover-arrow-height); +} + +.popover .popover-arrow::before, +.popover .popover-arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; + border-width: 0; +} + +.bs-popover-top > .popover-arrow, +.bs-popover-auto[data-popper-placement^=top] > .popover-arrow { + bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); +} + +.bs-popover-top > .popover-arrow::before, +.bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, +.bs-popover-top > .popover-arrow::after, +.bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { + border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0; +} + +.bs-popover-top > .popover-arrow::before, +.bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before { + bottom: 0; + border-top-color: var(--bs-popover-arrow-border); +} + +.bs-popover-top > .popover-arrow::after, +.bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { + bottom: var(--bs-popover-border-width); + border-top-color: var(--bs-popover-bg); +} + +/* rtl:begin:ignore */ +.bs-popover-end > .popover-arrow, +.bs-popover-auto[data-popper-placement^=right] > .popover-arrow { + left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); + width: var(--bs-popover-arrow-height); + height: var(--bs-popover-arrow-width); +} + +.bs-popover-end > .popover-arrow::before, +.bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, +.bs-popover-end > .popover-arrow::after, +.bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { + border-width: calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0; +} + +.bs-popover-end > .popover-arrow::before, +.bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before { + left: 0; + border-right-color: var(--bs-popover-arrow-border); +} + +.bs-popover-end > .popover-arrow::after, +.bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { + left: var(--bs-popover-border-width); + border-right-color: var(--bs-popover-bg); +} +/* rtl:end:ignore */ + +.bs-popover-bottom > .popover-arrow, +.bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow { + top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); +} + +.bs-popover-bottom > .popover-arrow::before, +.bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, +.bs-popover-bottom > .popover-arrow::after, +.bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { + border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height); +} + +.bs-popover-bottom > .popover-arrow::before, +.bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before { + top: 0; + border-bottom-color: var(--bs-popover-arrow-border); +} + +.bs-popover-bottom > .popover-arrow::after, +.bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { + top: var(--bs-popover-border-width); + border-bottom-color: var(--bs-popover-bg); +} + +.bs-popover-bottom .popover-header::before, +.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: var(--bs-popover-arrow-width); + margin-left: calc(-0.5 * var(--bs-popover-arrow-width)); + content: ""; + border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg); +} + +/* rtl:begin:ignore */ +.bs-popover-start > .popover-arrow, +.bs-popover-auto[data-popper-placement^=left] > .popover-arrow { + right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); + width: var(--bs-popover-arrow-height); + height: var(--bs-popover-arrow-width); +} + +.bs-popover-start > .popover-arrow::before, +.bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, +.bs-popover-start > .popover-arrow::after, +.bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { + border-width: calc(var(--bs-popover-arrow-width) * 0.5) 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height); +} + +.bs-popover-start > .popover-arrow::before, +.bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before { + right: 0; + border-left-color: var(--bs-popover-arrow-border); +} + +.bs-popover-start > .popover-arrow::after, +.bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { + right: var(--bs-popover-border-width); + border-left-color: var(--bs-popover-bg); +} +/* rtl:end:ignore */ + +.popover-header { + padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x); + margin-bottom: 0; + font-size: var(--bs-popover-header-font-size); + color: var(--bs-popover-header-color); + background-color: var(--bs-popover-header-bg); + border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-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 ] + * ---------------------------------------------------------------------------- + */ + +.carousel { + position: relative; +} + +.carousel.pointer-event { + touch-action: pan-y; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} + +.carousel-inner::after { + display: block; + clear: both; + content: ""; +} + +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transition: transform 0.6s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +.carousel-item-next:not(.carousel-item-start), +.active.carousel-item-end { + transform: translateX(100%); +} + +.carousel-item-prev:not(.carousel-item-end), +.active.carousel-item-start { + transform: translateX(-100%); +} + +.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + transform: none; +} + +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-start, +.carousel-fade .carousel-item-prev.carousel-item-end { + z-index: 1; + opacity: 1; +} + +.carousel-fade .active.carousel-item-start, +.carousel-fade .active.carousel-item-end { + z-index: 0; + opacity: 0; + transition: opacity 0s 0.6s; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-start, + .carousel-fade .active.carousel-item-end { + transition: none; + } +} + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: flex; + align-items: center; + justify-content: center; + width: 15%; + padding: 0; + color: var(--bs-white); + text-align: center; + background: none; + border: 0; + opacity: 0.5; + transition: opacity 0.15s ease; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-control-prev, + .carousel-control-next { + transition: none; + } +} + +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: var(--bs-white); + text-decoration: none; + outline: 0; + opacity: 0.9; +} + +.carousel-control-prev { + left: 0; +} + +.carousel-control-next { + right: 0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 2.5rem; + height: 2.5rem; + background-color: var(--bs-white); + background-repeat: no-repeat; + background-size: 50% 50%; + border-radius: 50%; +} + +.carousel-control-prev-icon { + background-position: 45% center; +} + +.carousel-control-next-icon { + background-position: 55% center; +} + +/* rtl:options: { + "autoRename": true, + "stringMap":[ { + "name" : "prev-next", + "search" : "prev", + "replace" : "next" + } ] +} */ + +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23242628'%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='%23242628'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); +} + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 2; + display: flex; + justify-content: center; + padding: 0; + margin-right: 15%; + margin-bottom: 1rem; + margin-left: 15%; +} + +.carousel-indicators [data-bs-target] { + box-sizing: content-box; + flex: 0 1 auto; + width: 1.875rem; + height: 0.1875rem; + padding: 0; + margin-right: 0.1875rem; + margin-left: 0.1875rem; + text-indent: -999px; + cursor: pointer; + background-color: var(--bs-white); + background-clip: padding-box; + border: 0; + border-top: 0.625rem solid transparent; + border-bottom: 0.625rem solid transparent; + opacity: 0.5; + transition: opacity 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-indicators [data-bs-target] { + transition: none; + } +} + +.carousel-indicators .active { + opacity: 1; +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 1.25rem; + left: 15%; + padding-top: 1.25rem; + padding-bottom: 1.25rem; + color: var(--bs-white); + text-align: center; +} + +[data-bs-theme=dark] .carousel .carousel-control-prev-icon, +[data-bs-theme=dark] .carousel .carousel-control-next-icon, +[data-bs-theme=dark].carousel .carousel-control-prev-icon, +[data-bs-theme=dark].carousel .carousel-control-next-icon { + background-color: var(--bs-black); +} + +[data-bs-theme=dark] .carousel .carousel-control-prev-icon, +[data-bs-theme=dark].carousel .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='%23c9cbcf'%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"); +} + +[data-bs-theme=dark] .carousel .carousel-control-next-icon, +[data-bs-theme=dark].carousel .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='%23c9cbcf'%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"); +} + +[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target], +[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target] { + background-color: var(--bs-black); +} + +[data-bs-theme=dark] .carousel .carousel-caption, +[data-bs-theme=dark].carousel .carousel-caption { + color: var(--bs-black); +} + +/** + * ---------------------------------------------------------------------------- + * [ Spinner ] + * ---------------------------------------------------------------------------- + */ + +.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: calc(var(--bs-font-size-base) * 2); + --bs-spinner-height: calc(var(--bs-font-size-base) * 2); + --bs-spinner-vertical-align: calc(-1 * var(--bs-relative-font-size-6xs)); + --bs-spinner-border-width: var(--bs-relative-font-size-4xs); + --bs-spinner-animation-speed: 0.75s; + --bs-spinner-animation-name: spinner-border; + border: var(--bs-spinner-border-width) solid currentcolor; + border-right-color: transparent; +} + +.spinner-border-sm { + --bs-spinner-width: var(--bs-font-size-base); + --bs-spinner-height: var(--bs-font-size-base); + --bs-spinner-border-width: var(--bs-relative-font-size-6xs); +} + +@keyframes spinner-grow { + 0% { + transform: scale(0); + } + + 50% { + opacity: 1; + transform: none; + } +} + +.spinner-grow { + --bs-spinner-width: calc(var(--bs-font-size-base) * 2); + --bs-spinner-height: calc(var(--bs-font-size-base) * 2); + --bs-spinner-vertical-align: calc(-1 * var(--bs-relative-font-size-6xs)); + --bs-spinner-animation-speed: 0.75s; + --bs-spinner-animation-name: spinner-grow; + background-color: currentcolor; + opacity: 0; +} + +.spinner-grow-sm { + --bs-spinner-width: var(--bs-font-size-base); + --bs-spinner-height: var(--bs-font-size-base); +} + +@media (prefers-reduced-motion:reduce) { + .spinner-border, + .spinner-grow { + --bs-spinner-animation-speed: 1.5s; + } +} + +/** + * ---------------------------------------------------------------------------- + * [ Offcanvas ] + * ---------------------------------------------------------------------------- + */ + +.offcanvas, +.offcanvas-xxl, +.offcanvas-xl, +.offcanvas-lg, +.offcanvas-md, +.offcanvas-sm { + --bs-offcanvas-zindex: 1045; + --bs-offcanvas-width: 21.875rem; + --bs-offcanvas-height: 30vh; + --bs-offcanvas-padding-x: 1rem; + --bs-offcanvas-padding-y: 1rem; + --bs-offcanvas-color: var(--bs-content-color); + --bs-offcanvas-bg: var(--bs-content-bg); + --bs-offcanvas-border-width: var(--bs-border-width); + --bs-offcanvas-border-color: var(--bs-content-border-color); + --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm); + --bs-offcanvas-transition: transform 0.3s ease-in-out; + --bs-offcanvas-title-line-height: var(--bs-line-height-sm); +} + +@media (max-width: 575.98px) { + .offcanvas-sm { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); + } +} + +@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-sm { + transition: none; + } +} + +@media (max-width: 575.98px) { + .offcanvas-sm.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } + + .offcanvas-sm.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } + + .offcanvas-sm.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } + + .offcanvas-sm.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + + .offcanvas-sm.showing, + .offcanvas-sm.show:not(.hiding) { + transform: none; + } + + .offcanvas-sm.showing, + .offcanvas-sm.hiding, + .offcanvas-sm.show { + visibility: visible; + } +} + +@media (min-width: 576px) { + .offcanvas-sm { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + + .offcanvas-sm .offcanvas-header { + display: none; + } + + .offcanvas-sm .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 767.98px) { + .offcanvas-md { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); + } +} + +@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-md { + transition: none; + } +} + +@media (max-width: 767.98px) { + .offcanvas-md.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } + + .offcanvas-md.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } + + .offcanvas-md.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } + + .offcanvas-md.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + + .offcanvas-md.showing, + .offcanvas-md.show:not(.hiding) { + transform: none; + } + + .offcanvas-md.showing, + .offcanvas-md.hiding, + .offcanvas-md.show { + visibility: visible; + } +} + +@media (min-width: 768px) { + .offcanvas-md { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + + .offcanvas-md .offcanvas-header { + display: none; + } + + .offcanvas-md .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 991.98px) { + .offcanvas-lg { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); + } +} + +@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-lg { + transition: none; + } +} + +@media (max-width: 991.98px) { + .offcanvas-lg.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } + + .offcanvas-lg.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } + + .offcanvas-lg.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } + + .offcanvas-lg.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + + .offcanvas-lg.showing, + .offcanvas-lg.show:not(.hiding) { + transform: none; + } + + .offcanvas-lg.showing, + .offcanvas-lg.hiding, + .offcanvas-lg.show { + visibility: visible; + } +} + +@media (min-width: 992px) { + .offcanvas-lg { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + + .offcanvas-lg .offcanvas-header { + display: none; + } + + .offcanvas-lg .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 1199.98px) { + .offcanvas-xl { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); + } +} + +@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-xl { + transition: none; + } +} + +@media (max-width: 1199.98px) { + .offcanvas-xl.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } + + .offcanvas-xl.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } + + .offcanvas-xl.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } + + .offcanvas-xl.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + + .offcanvas-xl.showing, + .offcanvas-xl.show:not(.hiding) { + transform: none; + } + + .offcanvas-xl.showing, + .offcanvas-xl.hiding, + .offcanvas-xl.show { + visibility: visible; + } +} + +@media (min-width: 1200px) { + .offcanvas-xl { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + + .offcanvas-xl .offcanvas-header { + display: none; + } + + .offcanvas-xl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 1399.98px) { + .offcanvas-xxl { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); + } +} + +@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-xxl { + transition: none; + } +} + +@media (max-width: 1399.98px) { + .offcanvas-xxl.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); + } + + .offcanvas-xxl.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); + } + + .offcanvas-xxl.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); + } + + .offcanvas-xxl.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + + .offcanvas-xxl.showing, + .offcanvas-xxl.show:not(.hiding) { + transform: none; + } + + .offcanvas-xxl.showing, + .offcanvas-xxl.hiding, + .offcanvas-xxl.show { + visibility: visible; + } +} + +@media (min-width: 1400px) { + .offcanvas-xxl { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + + .offcanvas-xxl .offcanvas-header { + display: none; + } + + .offcanvas-xxl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +.offcanvas { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); +} + +@media (prefers-reduced-motion: reduce) { + .offcanvas { + transition: none; + } +} + +.offcanvas.offcanvas-start { + top: 0; + left: 0; + width: var(--bs-offcanvas-width); + border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(-100%); +} + +.offcanvas.offcanvas-end { + top: 0; + right: 0; + width: var(--bs-offcanvas-width); + border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateX(100%); +} + +.offcanvas.offcanvas-top { + top: 0; + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(-100%); +} + +.offcanvas.offcanvas-bottom { + right: 0; + left: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); +} + +.offcanvas.showing, +.offcanvas.show:not(.hiding) { + transform: none; +} + +.offcanvas.showing, +.offcanvas.hiding, +.offcanvas.show { + visibility: visible; +} + +.offcanvas-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: var(--bs-black); +} + +.offcanvas-backdrop.fade { + opacity: 0; +} + +.offcanvas-backdrop.show { + opacity: 0.5; +} + +.offcanvas-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x); +} + +.offcanvas-header .btn-close { + padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5); + margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y)); + margin-right: calc(-0.5 * var(--bs-offcanvas-padding-x)); + margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y)); +} + +.offcanvas-title { + margin-bottom: 0; + line-height: var(--bs-offcanvas-title-line-height); +} + +.offcanvas-body { + flex-grow: 1; + padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x); + overflow-y: auto; +} + +/** + * ---------------------------------------------------------------------------- + * [ Sidebar ] + * ---------------------------------------------------------------------------- + */ + +.sidebar { + --bs-sidebar-padding: var(--bs-spacer); + --bs-sidebar-color: hsla(var(--bs-emphasis-color-hsl), 0.65); + --bs-sidebar-hover-color: hsla(var(--bs-emphasis-color-hsl), 0.8); + --bs-sidebar-disabled-color: hsla(var(--bs-emphasis-color-hsl), 0.3); + --bs-sidebar-active-color: var(--bs-link-color); + --bs-sidebar-bg: var(--bs-content-bg); + --bs-sidebar-border-width: var(--bs-border-width); + --bs-sidebar-border-color: var(--bs-content-border-color); + --bs-sidebar-border-radius: 0; + --bs-sidebar-brand-padding-y: 0; + --bs-sidebar-brand-margin-end: 1rem; + --bs-sidebar-brand-font-size: calc(var(--bs-font-size-base) + 0.25rem); + --bs-sidebar-brand-color: hsla(var(--bs-emphasis-color-hsl), 0.85); + --bs-sidebar-brand-hover-color: var(--bs-sidebar-brand-color); + --bs-sidebar-item-padding-x: 0; + --bs-sidebar-item-padding-y: 0.375rem; + --bs-sidebar-header-font-size: var(--bs-font-size-base); + --bs-sidebar-header-font-weight: var(--bs-font-weight-normal); + --bs-sidebar-divider-bg: var(--bs-border-color-translucent); + --bs-sidebar-divider-margin-y: 0.5rem; + position: fixed; + top: 0; + left: 0; + margin: var(--bs-sidebar-margin); + width: var(--bs-sidebar-width); + height: var(--bs-sidebar-height); + display: flex; + flex-direction: column; + background-color: var(--bs-sidebar-bg) !important; + border-right: var(--bs-sidebar-border-width) solid var(--bs-sidebar-border-color) !important; + border-radius: var(--bs-sidebar-border-radius); + outline: 0; +} + +@media (min-width: 576px) { + body:has(> .sidebar.offcanvas-sm) { + padding-left: var(--bs-padding-sbwidth); + } + + .ps-sm-sbwidth { + padding-left: var(--bs-padding-sbwidth) !important; + } +} + +@media (min-width: 768px) { + body:has(> .sidebar.offcanvas-md) { + padding-left: var(--bs-padding-sbwidth); + } + + .ps-md-sbwidth { + padding-left: var(--bs-padding-sbwidth) !important; + } +} + +@media (min-width: 992px) { + body:has(> .sidebar.offcanvas-lg) { + padding-left: var(--bs-padding-sbwidth); + } + + .ps-lg-sbwidth { + padding-left: var(--bs-padding-sbwidth) !important; + } +} + +@media (min-width: 1200px) { + body:has(> .sidebar.offcanvas-xl) { + padding-left: var(--bs-padding-sbwidth); + } + + .ps-xl-sbwidth { + padding-left: var(--bs-padding-sbwidth) !important; + } +} + +@media (min-width: 1400px) { + body:has(> .sidebar.offcanvas-xxl) { + padding-left: var(--bs-padding-sbwidth); + } + + .ps-xxl-sbwidth { + padding-left: var(--bs-padding-sbwidth) !important; + } +} + +.sidebar .offcanvas-header { + display: flex; +} + +.sidebar .offcanvas-body { + display: flex; + flex-direction: column; + flex-grow: 1; + padding: var(--bs-sidebar-padding); + overflow-y: auto; +} + +.sidebar-brand { + padding-top: var(--bs-sidebar-brand-padding-y); + padding-bottom: var(--bs-sidebar-brand-padding-y); + margin-right: var(--bs-sidebar-brand-margin-end); + font-size: var(--bs-sidebar-brand-font-size); + color: var(--bs-sidebar-brand-color); + text-decoration: none; + white-space: nowrap; +} + +.sidebar-brand:hover, +.sidebar-brand:focus { + color: var(--bs-sidebar-brand-hover-color); +} + +.sidebar-nav { + --bs-nav-link-padding-x: var(--bs-sidebar-item-padding-x); + --bs-nav-link-padding-y: var(--bs-sidebar-item-padding-y); + --bs-nav-link-font-weight: ; + --bs-nav-link-color: var(--bs-sidebar-color); + --bs-nav-link-hover-color: var(--bs-sidebar-hover-color); + --bs-nav-link-disabled-color: var(--bs-sidebar-disabled-color); + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.sidebar-nav .nav-link.active, +.sidebar-nav .nav-link.show { + color: var(--bs-sidebar-active-color); + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} + +.sidebar-header { + display: block; + padding: var(--bs-sidebar-item-padding-y) 0; + margin-bottom: 0; + font-size: var(--bs-sidebar-header-font-size); + font-weight: var(--bs-sidebar-header-font-weight); +} + +.sidebar-divider { + height: 0; + margin: var(--bs-sidebar-divider-margin-y) 0; + overflow: hidden; + border-top: var(--bs-border-width) solid var(--bs-sidebar-divider-bg); + opacity: 1; +} + +/** + * ---------------------------------------------------------------------------- + * [ Placeholders ] + * ---------------------------------------------------------------------------- + */ + +.placeholder { + display: inline-block; + min-height: 1em; + vertical-align: middle; + cursor: wait; + background-color: currentcolor; + opacity: 0.5; +} + +.placeholder.btn::before { + display: inline-block; + content: ""; +} + +.placeholder-xs { + min-height: 0.6em; +} + +.placeholder-sm { + min-height: 0.8em; +} + +.placeholder-lg { + min-height: 1.2em; +} + +.placeholder-glow .placeholder { + animation: placeholder-glow 2s ease-in-out infinite; +} + +@keyframes placeholder-glow { + 50% { + opacity: 0.2; + } +} + +.placeholder-wave { + -webkit-mask-image: linear-gradient( + 130deg, + var(--bs-black) 55%, + hsla(var(--bs-black-hsl), 0.65) 75%, + var(--bs-black) 95% + ); + mask-image: linear-gradient( + 130deg, + var(--bs-black) 55%, + hsla(var(--bs-black-hsl), 0.65) 75%, + var(--bs-black) 95% + ); + -webkit-mask-size: 200% 100%; + mask-size: 200% 100%; + animation: placeholder-wave 2s linear infinite; +} + +@keyframes placeholder-wave { + 100% { + -webkit-mask-position: -200% 0%; + mask-position: -200% 0%; + } +} + +/** + * ---------------------------------------------------------------------------- + * [ Clearfix ] + * ---------------------------------------------------------------------------- + */ + +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +/** + * ---------------------------------------------------------------------------- + * [ Color and background ] + * ---------------------------------------------------------------------------- + */ + +.text-bg-primary { + --bs-color-hsl: var(--bs-primary-foreground-hsl); + color: hsla(var(--bs-color-hsl), var(--bs-text-opacity, 1)) !important; + background-color: hsla(var(--bs-primary-hsl), var(--bs-bg-opacity, 1)) !important; + -webkit-font-smoothing: auto !important; + -moz-osx-font-smoothing: auto !important; +} + +.text-bg-secondary { + --bs-color-hsl: var(--bs-secondary-foreground-hsl); + color: hsla(var(--bs-color-hsl), var(--bs-text-opacity, 1)) !important; + background-color: hsla(var(--bs-secondary-hsl), var(--bs-bg-opacity, 1)) !important; + -webkit-font-smoothing: auto !important; + -moz-osx-font-smoothing: auto !important; +} + +.text-bg-success { + --bs-color-hsl: var(--bs-success-foreground-hsl); + color: hsla(var(--bs-color-hsl), var(--bs-text-opacity, 1)) !important; + background-color: hsla(var(--bs-success-hsl), var(--bs-bg-opacity, 1)) !important; + -webkit-font-smoothing: auto !important; + -moz-osx-font-smoothing: auto !important; +} + +.text-bg-info { + --bs-color-hsl: var(--bs-info-foreground-hsl); + color: hsla(var(--bs-color-hsl), var(--bs-text-opacity, 1)) !important; + background-color: hsla(var(--bs-info-hsl), var(--bs-bg-opacity, 1)) !important; + -webkit-font-smoothing: auto !important; + -moz-osx-font-smoothing: auto !important; +} + +.text-bg-warning { + --bs-color-hsl: var(--bs-warning-foreground-hsl); + color: hsla(var(--bs-color-hsl), var(--bs-text-opacity, 1)) !important; + background-color: hsla(var(--bs-warning-hsl), var(--bs-bg-opacity, 1)) !important; + -webkit-font-smoothing: auto !important; + -moz-osx-font-smoothing: auto !important; +} + +.text-bg-danger { + --bs-color-hsl: var(--bs-danger-foreground-hsl); + color: hsla(var(--bs-color-hsl), var(--bs-text-opacity, 1)) !important; + background-color: hsla(var(--bs-danger-hsl), var(--bs-bg-opacity, 1)) !important; + -webkit-font-smoothing: auto !important; + -moz-osx-font-smoothing: auto !important; +} + +.text-bg-light { + --bs-color-hsl: var(--bs-light-foreground-hsl); + color: hsla(var(--bs-color-hsl), var(--bs-text-opacity, 1)) !important; + background-color: hsla(var(--bs-light-hsl), var(--bs-bg-opacity, 1)) !important; + -webkit-font-smoothing: auto !important; + -moz-osx-font-smoothing: auto !important; +} + +.text-bg-dark { + --bs-color-hsl: var(--bs-dark-foreground-hsl); + color: hsla(var(--bs-color-hsl), var(--bs-text-opacity, 1)) !important; + background-color: hsla(var(--bs-dark-hsl), var(--bs-bg-opacity, 1)) !important; + -webkit-font-smoothing: auto !important; + -moz-osx-font-smoothing: auto !important; +} + +/** + * ---------------------------------------------------------------------------- + * [ Colored links ] + * ---------------------------------------------------------------------------- + */ + +.link-primary { + color: hsla(var(--bs-primary-text-emphasis-hsl, var(--bs-link-opacity, 1))) !important; + -webkit-text-decoration-color: hsla(var(--bs-primary-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-primary-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-primary:hover, +.link-primary:focus { + color: hsla(var(--bs-primary-hsl), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: hsla(var(--bs-primary-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-primary-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-secondary { + color: hsla(var(--bs-secondary-text-emphasis-hsl, var(--bs-link-opacity, 1))) !important; + -webkit-text-decoration-color: hsla(var(--bs-secondary-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-secondary-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-secondary:hover, +.link-secondary:focus { + color: hsla(var(--bs-secondary-hsl), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: hsla(var(--bs-secondary-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-secondary-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-success { + color: hsla(var(--bs-success-text-emphasis-hsl, var(--bs-link-opacity, 1))) !important; + -webkit-text-decoration-color: hsla(var(--bs-success-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-success-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-success:hover, +.link-success:focus { + color: hsla(var(--bs-success-hsl), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: hsla(var(--bs-success-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-success-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-info { + color: hsla(var(--bs-info-text-emphasis-hsl, var(--bs-link-opacity, 1))) !important; + -webkit-text-decoration-color: hsla(var(--bs-info-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-info-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-info:hover, +.link-info:focus { + color: hsla(var(--bs-info-hsl), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: hsla(var(--bs-info-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-info-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-warning { + color: hsla(var(--bs-warning-text-emphasis-hsl, var(--bs-link-opacity, 1))) !important; + -webkit-text-decoration-color: hsla(var(--bs-warning-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-warning-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-warning:hover, +.link-warning:focus { + color: hsla(var(--bs-warning-hsl), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: hsla(var(--bs-warning-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-warning-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-danger { + color: hsla(var(--bs-danger-text-emphasis-hsl, var(--bs-link-opacity, 1))) !important; + -webkit-text-decoration-color: hsla(var(--bs-danger-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-danger-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-danger:hover, +.link-danger:focus { + color: hsla(var(--bs-danger-hsl), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: hsla(var(--bs-danger-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-danger-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-light { + color: hsla(var(--bs-light-text-emphasis-hsl, var(--bs-link-opacity, 1))) !important; + -webkit-text-decoration-color: hsla(var(--bs-light-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-light-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-light:hover, +.link-light:focus { + color: hsla(var(--bs-light-hsl), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: hsla(var(--bs-light-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-light-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-dark { + color: hsla(var(--bs-dark-text-emphasis-hsl, var(--bs-link-opacity, 1))) !important; + -webkit-text-decoration-color: hsla(var(--bs-dark-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-dark-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-dark:hover, +.link-dark:focus { + color: hsla(var(--bs-dark-hsl), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: hsla(var(--bs-dark-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-dark-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-body-emphasis { + color: hsla(var(--bs-emphasis-color-hsl), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: hsla(var(--bs-emphasis-color-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-emphasis-color-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-body-emphasis:hover, +.link-body-emphasis:focus { + color: hsla(var(--bs-emphasis-color-hsl), var(--bs-link-opacity, 0.75)) !important; + -webkit-text-decoration-color: hsla(var(--bs-emphasis-color-hsl), var(--bs-link-underline-opacity, 0.75)) !important; + text-decoration-color: hsla(var(--bs-emphasis-color-hsl), var(--bs-link-underline-opacity, 0.75)) !important; +} + +/** + * ---------------------------------------------------------------------------- + * [ Focus ring ] + * ---------------------------------------------------------------------------- + */ + +.focus-ring:focus { + outline: 0 !important; + box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color) !important; +} + +.focus-ring-primary { + --bs-focus-ring-color: hsla(var(--bs-primary-hsl), var(--bs-focus-ring-opacity)); +} + +.focus-ring-secondary { + --bs-focus-ring-color: hsla(var(--bs-secondary-hsl), var(--bs-focus-ring-opacity)); +} + +.focus-ring-success { + --bs-focus-ring-color: hsla(var(--bs-success-hsl), var(--bs-focus-ring-opacity)); +} + +.focus-ring-info { + --bs-focus-ring-color: hsla(var(--bs-info-hsl), var(--bs-focus-ring-opacity)); +} + +.focus-ring-warning { + --bs-focus-ring-color: hsla(var(--bs-warning-hsl), var(--bs-focus-ring-opacity)); +} + +.focus-ring-danger { + --bs-focus-ring-color: hsla(var(--bs-danger-hsl), var(--bs-focus-ring-opacity)); +} + +.focus-ring-light { + --bs-focus-ring-color: hsla(var(--bs-light-hsl), var(--bs-focus-ring-opacity)); +} + +.focus-ring-dark { + --bs-focus-ring-color: hsla(var(--bs-dark-hsl), var(--bs-focus-ring-opacity)); +} + +/** + * ---------------------------------------------------------------------------- + * [ Icon link ] + * ---------------------------------------------------------------------------- + */ + +.icon-link { + display: inline-flex; + gap: 0.375rem; + align-items: center; + -webkit-text-decoration-color: hsla(var(--bs-link-color-hsl), var(--bs-link-opacity, 1)); + text-decoration-color: hsla(var(--bs-link-color-hsl), var(--bs-link-opacity, 1)); + text-underline-offset: var(--bs-link-decoration-offset); + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} + +.icon-link > .bi { + flex-shrink: 0; + width: 1em; + height: 1em; + fill: currentcolor; + transition: 0.2s ease-in-out transform; +} + +@media (prefers-reduced-motion: reduce) { + .icon-link > .bi { + transition: none; + } +} + +.icon-link-hover:hover > .bi, +.icon-link-hover:focus-visible > .bi { + transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0)); +} + +/** + * ---------------------------------------------------------------------------- + * [ Position ] + * ---------------------------------------------------------------------------- + */ + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + +.sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; +} + +.sticky-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; +} + +@media (min-width: 576px) { + .sticky-sm-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + + .sticky-sm-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} + +@media (min-width: 768px) { + .sticky-md-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + + .sticky-md-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} + +@media (min-width: 992px) { + .sticky-lg-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + + .sticky-lg-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} + +@media (min-width: 1200px) { + .sticky-xl-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + + .sticky-xl-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} + +@media (min-width: 1400px) { + .sticky-xxl-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + + .sticky-xxl-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} + +/** + * ---------------------------------------------------------------------------- + * [ Ratio ] + * ---------------------------------------------------------------------------- + */ + +.ratio { + position: relative; + width: 100%; +} + +.ratio::before { + display: block; + padding-top: var(--bs-aspect-ratio); + content: ""; +} + +.ratio > * { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +.ratio-1x1 { + --bs-aspect-ratio: 100%; +} + +.ratio-4x3 { + --bs-aspect-ratio: 75%; +} + +.ratio-16x9 { + --bs-aspect-ratio: 56.25%; +} + +.ratio-21x9 { + --bs-aspect-ratio: 42.8571428571%; +} + +/** + * ---------------------------------------------------------------------------- + * [ Stacks ] + * ---------------------------------------------------------------------------- + */ + +.hstack { + display: flex; + flex-direction: row; + align-items: center; + align-self: stretch; +} + +.vstack { + display: flex; + flex: 1 1 auto; + flex-direction: column; + align-self: stretch; +} + +/** + * ---------------------------------------------------------------------------- + * [ Stretched link ] + * ---------------------------------------------------------------------------- + */ + +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + content: ""; +} + +/** + * ---------------------------------------------------------------------------- + * [ Text truncation ] + * ---------------------------------------------------------------------------- + */ + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +/** + * ---------------------------------------------------------------------------- + * [ Vertical rule ] + * ---------------------------------------------------------------------------- + */ + +.vr { + display: inline-block; + align-self: stretch; + width: var(--bs-border-width); + min-height: 1em; + background-color: currentcolor; + opacity: 0.25; +} + +/** + * ---------------------------------------------------------------------------- + * [ Visually hidden ] + * ---------------------------------------------------------------------------- + */ + +.visually-hidden, +.visually-hidden-focusable:not(:focus):not(:focus-within) { + width: 1px !important; + height: 1px !important; + padding: 0 !important; + margin: -1px !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; +} + +.visually-hidden:not(caption), +.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) { + position: absolute !important; +} + +/** + * ---------------------------------------------------------------------------- + * [ Background utilities ] + * ---------------------------------------------------------------------------- + */ + +.bg-primary { + --bs-bg-opacity: 1; + background-color: hsla(var(--bs-primary-hsl), var(--bs-bg-opacity)) !important; +} + +.bg-secondary { + --bs-bg-opacity: 1; + background-color: hsla(var(--bs-secondary-hsl), var(--bs-bg-opacity)) !important; +} + +.bg-success { + --bs-bg-opacity: 1; + background-color: hsla(var(--bs-success-hsl), var(--bs-bg-opacity)) !important; +} + +.bg-info { + --bs-bg-opacity: 1; + background-color: hsla(var(--bs-info-hsl), var(--bs-bg-opacity)) !important; +} + +.bg-warning { + --bs-bg-opacity: 1; + background-color: hsla(var(--bs-warning-hsl), var(--bs-bg-opacity)) !important; +} + +.bg-danger { + --bs-bg-opacity: 1; + background-color: hsla(var(--bs-danger-hsl), var(--bs-bg-opacity)) !important; +} + +.bg-light { + --bs-bg-opacity: 1; + background-color: hsla(var(--bs-light-hsl), var(--bs-bg-opacity)) !important; +} + +.bg-dark { + --bs-bg-opacity: 1; + background-color: hsla(var(--bs-dark-hsl), var(--bs-bg-opacity)) !important; +} + +.bg-black { + --bs-bg-opacity: 1; + background-color: hsla(var(--bs-black-hsl), var(--bs-bg-opacity)) !important; +} + +.bg-white { + --bs-bg-opacity: 1; + background-color: hsla(var(--bs-white-hsl), var(--bs-bg-opacity)) !important; +} + +.bg-body { + --bs-bg-opacity: 1; + background-color: hsla(var(--bs-body-bg-hsl), var(--bs-bg-opacity)) !important; +} + +.bg-transparent { + --bs-bg-opacity: 1; + background-color: transparent !important; +} + +.bg-body-secondary { + --bs-bg-opacity: 1; + background-color: hsla(var(--bs-secondary-bg-hsl), var(--bs-bg-opacity)) !important; +} + +.bg-body-tertiary { + --bs-bg-opacity: 1; + background-color: hsla(var(--bs-tertiary-bg-hsl), var(--bs-bg-opacity)) !important; +} + +.bg-body-emphasis { + --bs-bg-opacity: 1; + background-color: hsla(var(--bs-emphasis-bg-hsl), var(--bs-bg-opacity)) !important; +} + +.bg-opacity-10 { + --bs-bg-opacity: 0.1; +} + +.bg-opacity-25 { + --bs-bg-opacity: 0.25; +} + +.bg-opacity-50 { + --bs-bg-opacity: 0.5; +} + +.bg-opacity-75 { + --bs-bg-opacity: 0.75; +} + +.bg-opacity-100 { + --bs-bg-opacity: 1; +} + +.bg-primary-subtle { + background-color: var(--bs-primary-bg-subtle) !important; +} + +.bg-secondary-subtle { + background-color: var(--bs-secondary-bg-subtle) !important; +} + +.bg-success-subtle { + background-color: var(--bs-success-bg-subtle) !important; +} + +.bg-info-subtle { + background-color: var(--bs-info-bg-subtle) !important; +} + +.bg-warning-subtle { + background-color: var(--bs-warning-bg-subtle) !important; +} + +.bg-danger-subtle { + background-color: var(--bs-danger-bg-subtle) !important; +} + +.bg-light-subtle { + background-color: var(--bs-light-bg-subtle) !important; +} + +.bg-dark-subtle { + background-color: var(--bs-dark-bg-subtle) !important; +} + +.bg-gradient { + background-image: var(--bs-gradient) !important; +} + +/** + * ---------------------------------------------------------------------------- + * [ Border utilities ] + * ---------------------------------------------------------------------------- + */ + +.border { + border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-0 { + border: 0 !important; +} + +.border-top { + border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-top-0 { + border-top: 0 !important; +} + +.border-end { + border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-end-0 { + border-right: 0 !important; +} + +.border-bottom { + border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +.border-start { + border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-start-0 { + border-left: 0 !important; +} + +.border-primary { + --bs-border-opacity: 1; + border-color: hsla(var(--bs-primary-hsl), var(--bs-border-opacity)) !important; +} + +.border-secondary { + --bs-border-opacity: 1; + border-color: hsla(var(--bs-secondary-hsl), var(--bs-border-opacity)) !important; +} + +.border-success { + --bs-border-opacity: 1; + border-color: hsla(var(--bs-success-hsl), var(--bs-border-opacity)) !important; +} + +.border-info { + --bs-border-opacity: 1; + border-color: hsla(var(--bs-info-hsl), var(--bs-border-opacity)) !important; +} + +.border-warning { + --bs-border-opacity: 1; + border-color: hsla(var(--bs-warning-hsl), var(--bs-border-opacity)) !important; +} + +.border-danger { + --bs-border-opacity: 1; + border-color: hsla(var(--bs-danger-hsl), var(--bs-border-opacity)) !important; +} + +.border-light { + --bs-border-opacity: 1; + border-color: hsla(var(--bs-light-hsl), var(--bs-border-opacity)) !important; +} + +.border-dark { + --bs-border-opacity: 1; + border-color: hsla(var(--bs-dark-hsl), var(--bs-border-opacity)) !important; +} + +.border-black { + --bs-border-opacity: 1; + border-color: hsla(var(--bs-black-hsl), var(--bs-border-opacity)) !important; +} + +.border-white { + --bs-border-opacity: 1; + border-color: hsla(var(--bs-white-hsl), var(--bs-border-opacity)) !important; +} + +.border-primary-subtle { + border-color: var(--bs-primary-border-subtle) !important; +} + +.border-secondary-subtle { + border-color: var(--bs-secondary-border-subtle) !important; +} + +.border-success-subtle { + border-color: var(--bs-success-border-subtle) !important; +} + +.border-info-subtle { + border-color: var(--bs-info-border-subtle) !important; +} + +.border-warning-subtle { + border-color: var(--bs-warning-border-subtle) !important; +} + +.border-danger-subtle { + border-color: var(--bs-danger-border-subtle) !important; +} + +.border-light-subtle { + border-color: var(--bs-light-border-subtle) !important; +} + +.border-dark-subtle { + border-color: var(--bs-dark-border-subtle) !important; +} + +.border-1 { + border-width: var(--bs-border-width-1) !important; +} + +.border-2 { + border-width: var(--bs-border-width-2) !important; +} + +.border-3 { + border-width: var(--bs-border-width-3) !important; +} + +.border-4 { + border-width: var(--bs-border-width-4) !important; +} + +.border-5 { + border-width: var(--bs-border-width-5) !important; +} + +.border-opacity-10 { + --bs-border-opacity: 0.1; +} + +.border-opacity-25 { + --bs-border-opacity: 0.25; +} + +.border-opacity-50 { + --bs-border-opacity: 0.5; +} + +.border-opacity-75 { + --bs-border-opacity: 0.75; +} + +.border-opacity-100 { + --bs-border-opacity: 1; +} + +.rounded { + border-radius: var(--bs-border-radius) !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.rounded-1 { + border-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-2 { + border-radius: var(--bs-border-radius) !important; +} + +.rounded-3 { + border-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-4 { + border-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-5 { + border-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-pill { + border-radius: var(--bs-border-radius-pill) !important; +} + +.rounded-top { + border-top-left-radius: var(--bs-border-radius) !important; + border-top-right-radius: var(--bs-border-radius) !important; +} + +.rounded-top-0 { + border-top-left-radius: 0 !important; + border-top-right-radius: 0 !important; +} + +.rounded-top-1 { + border-top-left-radius: var(--bs-border-radius-sm) !important; + border-top-right-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-top-2 { + border-top-left-radius: var(--bs-border-radius) !important; + border-top-right-radius: var(--bs-border-radius) !important; +} + +.rounded-top-3 { + border-top-left-radius: var(--bs-border-radius-lg) !important; + border-top-right-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-top-4 { + border-top-left-radius: var(--bs-border-radius-xl) !important; + border-top-right-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-top-5 { + border-top-left-radius: var(--bs-border-radius-xxl) !important; + border-top-right-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-top-circle { + border-top-left-radius: 50% !important; + border-top-right-radius: 50% !important; +} + +.rounded-top-pill { + border-top-left-radius: var(--bs-border-radius-pill) !important; + border-top-right-radius: var(--bs-border-radius-pill) !important; +} + +.rounded-end { + border-top-right-radius: var(--bs-border-radius) !important; + border-bottom-right-radius: var(--bs-border-radius) !important; +} + +.rounded-end-0 { + border-top-right-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} + +.rounded-end-1 { + border-top-right-radius: var(--bs-border-radius-sm) !important; + border-bottom-right-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-end-2 { + border-top-right-radius: var(--bs-border-radius) !important; + border-bottom-right-radius: var(--bs-border-radius) !important; +} + +.rounded-end-3 { + border-top-right-radius: var(--bs-border-radius-lg) !important; + border-bottom-right-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-end-4 { + border-top-right-radius: var(--bs-border-radius-xl) !important; + border-bottom-right-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-end-5 { + border-top-right-radius: var(--bs-border-radius-xxl) !important; + border-bottom-right-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-end-circle { + border-top-right-radius: 50% !important; + border-bottom-right-radius: 50% !important; +} + +.rounded-end-pill { + border-top-right-radius: var(--bs-border-radius-pill) !important; + border-bottom-right-radius: var(--bs-border-radius-pill) !important; +} + +.rounded-bottom { + border-bottom-right-radius: var(--bs-border-radius) !important; + border-bottom-left-radius: var(--bs-border-radius) !important; +} + +.rounded-bottom-0 { + border-bottom-right-radius: 0 !important; + border-bottom-left-radius: 0 !important; +} + +.rounded-bottom-1 { + border-bottom-right-radius: var(--bs-border-radius-sm) !important; + border-bottom-left-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-bottom-2 { + border-bottom-right-radius: var(--bs-border-radius) !important; + border-bottom-left-radius: var(--bs-border-radius) !important; +} + +.rounded-bottom-3 { + border-bottom-right-radius: var(--bs-border-radius-lg) !important; + border-bottom-left-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-bottom-4 { + border-bottom-right-radius: var(--bs-border-radius-xl) !important; + border-bottom-left-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-bottom-5 { + border-bottom-right-radius: var(--bs-border-radius-xxl) !important; + border-bottom-left-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-bottom-circle { + border-bottom-right-radius: 50% !important; + border-bottom-left-radius: 50% !important; +} + +.rounded-bottom-pill { + border-bottom-right-radius: var(--bs-border-radius-pill) !important; + border-bottom-left-radius: var(--bs-border-radius-pill) !important; +} + +.rounded-start { + border-bottom-left-radius: var(--bs-border-radius) !important; + border-top-left-radius: var(--bs-border-radius) !important; +} + +.rounded-start-0 { + border-bottom-left-radius: 0 !important; + border-top-left-radius: 0 !important; +} + +.rounded-start-1 { + border-bottom-left-radius: var(--bs-border-radius-sm) !important; + border-top-left-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-start-2 { + border-bottom-left-radius: var(--bs-border-radius) !important; + border-top-left-radius: var(--bs-border-radius) !important; +} + +.rounded-start-3 { + border-bottom-left-radius: var(--bs-border-radius-lg) !important; + border-top-left-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-start-4 { + border-bottom-left-radius: var(--bs-border-radius-xl) !important; + border-top-left-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-start-5 { + border-bottom-left-radius: var(--bs-border-radius-xxl) !important; + border-top-left-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-start-circle { + border-bottom-left-radius: 50% !important; + border-top-left-radius: 50% !important; +} + +.rounded-start-pill { + border-bottom-left-radius: var(--bs-border-radius-pill) !important; + border-top-left-radius: var(--bs-border-radius-pill) !important; +} + +/** + * ---------------------------------------------------------------------------- + * [ Box shadow utilities ] + * ---------------------------------------------------------------------------- + */ + +.shadow { + box-shadow: var(--bs-box-shadow) !important; +} + +.shadow-sm { + box-shadow: var(--bs-box-shadow-sm) !important; +} + +.shadow-lg { + box-shadow: var(--bs-box-shadow-lg) !important; +} + +.shadow-none { + box-shadow: none !important; +} + +/** + * ---------------------------------------------------------------------------- + * [ Color utilities ] + * ---------------------------------------------------------------------------- + */ + +.text-primary { + --bs-text-opacity: 1; + color: hsla(var(--bs-primary-hsl), var(--bs-text-opacity)) !important; +} + +.text-secondary { + --bs-text-opacity: 1; + color: hsla(var(--bs-secondary-hsl), var(--bs-text-opacity)) !important; +} + +.text-success { + --bs-text-opacity: 1; + color: hsla(var(--bs-success-hsl), var(--bs-text-opacity)) !important; +} + +.text-info { + --bs-text-opacity: 1; + color: hsla(var(--bs-info-hsl), var(--bs-text-opacity)) !important; +} + +.text-warning { + --bs-text-opacity: 1; + color: hsla(var(--bs-warning-hsl), var(--bs-text-opacity)) !important; +} + +.text-danger { + --bs-text-opacity: 1; + color: hsla(var(--bs-danger-hsl), var(--bs-text-opacity)) !important; +} + +.text-light { + --bs-text-opacity: 1; + color: hsla(var(--bs-light-hsl), var(--bs-text-opacity)) !important; +} + +.text-dark { + --bs-text-opacity: 1; + color: hsla(var(--bs-dark-hsl), var(--bs-text-opacity)) !important; +} + +.text-black { + --bs-text-opacity: 1; + color: hsla(var(--bs-black-hsl), var(--bs-text-opacity)) !important; +} + +.text-white { + --bs-text-opacity: 1; + color: hsla(var(--bs-white-hsl), var(--bs-text-opacity)) !important; +} + +.text-body { + --bs-text-opacity: 1; + color: hsla(var(--bs-body-color-hsl), var(--bs-text-opacity)) !important; +} + +.text-muted { + --bs-text-opacity: 1; + color: var(--bs-secondary-color) !important; +} + +.text-black-50 { + --bs-text-opacity: 1; + color: hsla(var(--bs-black-hsl), 0.5) !important; +} + +.text-white-50 { + --bs-text-opacity: 1; + color: hsla(var(--bs-white-hsl), 0.5) !important; +} + +.text-body-secondary { + --bs-text-opacity: 1; + color: var(--bs-secondary-color) !important; +} + +.text-body-tertiary { + --bs-text-opacity: 1; + color: var(--bs-tertiary-color) !important; +} + +.text-body-emphasis { + --bs-text-opacity: 1; + color: var(--bs-emphasis-color) !important; +} + +.text-reset { + --bs-text-opacity: 1; + color: inherit !important; +} + +.text-opacity-25 { + --bs-text-opacity: 0.25; +} + +.text-opacity-50 { + --bs-text-opacity: 0.5; +} + +.text-opacity-75 { + --bs-text-opacity: 0.75; +} + +.text-opacity-100 { + --bs-text-opacity: 1; +} + +.text-primary-emphasis { + color: var(--bs-primary-text-emphasis) !important; +} + +.text-secondary-emphasis { + color: var(--bs-secondary-text-emphasis) !important; +} + +.text-success-emphasis { + color: var(--bs-success-text-emphasis) !important; +} + +.text-info-emphasis { + color: var(--bs-info-text-emphasis) !important; +} + +.text-warning-emphasis { + color: var(--bs-warning-text-emphasis) !important; +} + +.text-danger-emphasis { + color: var(--bs-danger-text-emphasis) !important; +} + +.text-light-emphasis { + color: var(--bs-light-text-emphasis) !important; +} + +.text-dark-emphasis { + color: var(--bs-dark-text-emphasis) !important; +} + +/** + * ---------------------------------------------------------------------------- + * [ Display utilities ] + * ---------------------------------------------------------------------------- + */ + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-grid { + display: grid !important; +} + +.d-inline-grid { + display: inline-grid !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +.d-none { + display: none !important; +} + +@media (min-width: 576px) { + .d-sm-inline { + display: inline !important; + } + + .d-sm-inline-block { + display: inline-block !important; + } + + .d-sm-block { + display: block !important; + } + + .d-sm-grid { + display: grid !important; + } + + .d-sm-inline-grid { + display: inline-grid !important; + } + + .d-sm-table { + display: table !important; + } + + .d-sm-table-row { + display: table-row !important; + } + + .d-sm-table-cell { + display: table-cell !important; + } + + .d-sm-flex { + display: flex !important; + } + + .d-sm-inline-flex { + display: inline-flex !important; + } + + .d-sm-none { + display: none !important; + } +} + +@media (min-width: 768px) { + .d-md-inline { + display: inline !important; + } + + .d-md-inline-block { + display: inline-block !important; + } + + .d-md-block { + display: block !important; + } + + .d-md-grid { + display: grid !important; + } + + .d-md-inline-grid { + display: inline-grid !important; + } + + .d-md-table { + display: table !important; + } + + .d-md-table-row { + display: table-row !important; + } + + .d-md-table-cell { + display: table-cell !important; + } + + .d-md-flex { + display: flex !important; + } + + .d-md-inline-flex { + display: inline-flex !important; + } + + .d-md-none { + display: none !important; + } +} + +@media (min-width: 992px) { + .d-lg-inline { + display: inline !important; + } + + .d-lg-inline-block { + display: inline-block !important; + } + + .d-lg-block { + display: block !important; + } + + .d-lg-grid { + display: grid !important; + } + + .d-lg-inline-grid { + display: inline-grid !important; + } + + .d-lg-table { + display: table !important; + } + + .d-lg-table-row { + display: table-row !important; + } + + .d-lg-table-cell { + display: table-cell !important; + } + + .d-lg-flex { + display: flex !important; + } + + .d-lg-inline-flex { + display: inline-flex !important; + } + + .d-lg-none { + display: none !important; + } +} + +@media (min-width: 1200px) { + .d-xl-inline { + display: inline !important; + } + + .d-xl-inline-block { + display: inline-block !important; + } + + .d-xl-block { + display: block !important; + } + + .d-xl-grid { + display: grid !important; + } + + .d-xl-inline-grid { + display: inline-grid !important; + } + + .d-xl-table { + display: table !important; + } + + .d-xl-table-row { + display: table-row !important; + } + + .d-xl-table-cell { + display: table-cell !important; + } + + .d-xl-flex { + display: flex !important; + } + + .d-xl-inline-flex { + display: inline-flex !important; + } + + .d-xl-none { + display: none !important; + } +} + +@media (min-width: 1400px) { + .d-xxl-inline { + display: inline !important; + } + + .d-xxl-inline-block { + display: inline-block !important; + } + + .d-xxl-block { + display: block !important; + } + + .d-xxl-grid { + display: grid !important; + } + + .d-xxl-inline-grid { + display: inline-grid !important; + } + + .d-xxl-table { + display: table !important; + } + + .d-xxl-table-row { + display: table-row !important; + } + + .d-xxl-table-cell { + display: table-cell !important; + } + + .d-xxl-flex { + display: flex !important; + } + + .d-xxl-inline-flex { + display: inline-flex !important; + } + + .d-xxl-none { + display: none !important; + } +} + +@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; + } +} + +/** + * ---------------------------------------------------------------------------- + * [ Flex utilities ] + * ---------------------------------------------------------------------------- + */ + +.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; +} + +@media (min-width: 576px) { + .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; + } +} + +@media (min-width: 768px) { + .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; + } +} + +@media (min-width: 992px) { + .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; + } +} + +@media (min-width: 1200px) { + .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; + } +} + +@media (min-width: 1400px) { + .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; + } +} + +/** + * ---------------------------------------------------------------------------- + * [ Float utilities ] + * ---------------------------------------------------------------------------- + */ + +.float-start { + float: left !important; +} + +.float-end { + float: right !important; +} + +.float-none { + float: none !important; +} + +@media (min-width: 576px) { + .float-sm-start { + float: left !important; + } + + .float-sm-end { + float: right !important; + } + + .float-sm-none { + float: none !important; + } +} + +@media (min-width: 768px) { + .float-md-start { + float: left !important; + } + + .float-md-end { + float: right !important; + } + + .float-md-none { + float: none !important; + } +} + +@media (min-width: 992px) { + .float-lg-start { + float: left !important; + } + + .float-lg-end { + float: right !important; + } + + .float-lg-none { + float: none !important; + } +} + +@media (min-width: 1200px) { + .float-xl-start { + float: left !important; + } + + .float-xl-end { + float: right !important; + } + + .float-xl-none { + float: none !important; + } +} + +@media (min-width: 1400px) { + .float-xxl-start { + float: left !important; + } + + .float-xxl-end { + float: right !important; + } + + .float-xxl-none { + float: none !important; + } +} + +/** + * ---------------------------------------------------------------------------- + * [ Interaction utilities ] + * ---------------------------------------------------------------------------- + */ + +.user-select-all { + -webkit-user-select: all !important; + -moz-user-select: all !important; + user-select: all !important; +} + +.user-select-auto { + -webkit-user-select: auto !important; + -moz-user-select: auto !important; + user-select: auto !important; +} + +.user-select-none { + -webkit-user-select: none !important; + -moz-user-select: none !important; + user-select: none !important; +} + +.pe-none { + pointer-events: none !important; +} + +.pe-auto { + pointer-events: auto !important; +} + +/** + * ---------------------------------------------------------------------------- + * [ Link utilities ] + * ---------------------------------------------------------------------------- + */ + +.link-opacity-10 { + --bs-link-opacity: 0.1; +} + +.link-opacity-10-hover:hover { + --bs-link-opacity: 0.1; +} + +.link-opacity-25 { + --bs-link-opacity: 0.25; +} + +.link-opacity-25-hover:hover { + --bs-link-opacity: 0.25; +} + +.link-opacity-50 { + --bs-link-opacity: 0.5; +} + +.link-opacity-50-hover:hover { + --bs-link-opacity: 0.5; +} + +.link-opacity-75 { + --bs-link-opacity: 0.75; +} + +.link-opacity-75-hover:hover { + --bs-link-opacity: 0.75; +} + +.link-opacity-100 { + --bs-link-opacity: 1; +} + +.link-opacity-100-hover:hover { + --bs-link-opacity: 1; +} + +.link-offset-1 { + text-underline-offset: var(--bs-relative-font-size-6xs) !important; +} + +.link-offset-1-hover:hover { + text-underline-offset: var(--bs-relative-font-size-6xs) !important; +} + +.link-offset-2 { + text-underline-offset: var(--bs-relative-font-size-4xs) !important; +} + +.link-offset-2-hover:hover { + text-underline-offset: var(--bs-relative-font-size-4xs) !important; +} + +.link-offset-3 { + text-underline-offset: var(--bs-relative-font-size-3xs) !important; +} + +.link-offset-3-hover:hover { + text-underline-offset: var(--bs-relative-font-size-3xs) !important; +} + +.link-underline-primary { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: hsla(var(--bs-primary-hsl), var(--bs-link-underline-opacity)) !important; + text-decoration-color: hsla(var(--bs-primary-hsl), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-secondary { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: hsla(var(--bs-secondary-hsl), var(--bs-link-underline-opacity)) !important; + text-decoration-color: hsla(var(--bs-secondary-hsl), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-success { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: hsla(var(--bs-success-hsl), var(--bs-link-underline-opacity)) !important; + text-decoration-color: hsla(var(--bs-success-hsl), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-info { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: hsla(var(--bs-info-hsl), var(--bs-link-underline-opacity)) !important; + text-decoration-color: hsla(var(--bs-info-hsl), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-warning { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: hsla(var(--bs-warning-hsl), var(--bs-link-underline-opacity)) !important; + text-decoration-color: hsla(var(--bs-warning-hsl), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-danger { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: hsla(var(--bs-danger-hsl), var(--bs-link-underline-opacity)) !important; + text-decoration-color: hsla(var(--bs-danger-hsl), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-light { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: hsla(var(--bs-light-hsl), var(--bs-link-underline-opacity)) !important; + text-decoration-color: hsla(var(--bs-light-hsl), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-dark { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: hsla(var(--bs-dark-hsl), var(--bs-link-underline-opacity)) !important; + text-decoration-color: hsla(var(--bs-dark-hsl), var(--bs-link-underline-opacity)) !important; +} + +.link-underline { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: hsla(var(--bs-link-color-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-link-color-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-underline-opacity-0 { + --bs-link-underline-opacity: 0; +} + +.link-underline-opacity-0-hover:hover { + --bs-link-underline-opacity: 0; +} + +.link-underline-opacity-10 { + --bs-link-underline-opacity: 0.1; +} + +.link-underline-opacity-10-hover:hover { + --bs-link-underline-opacity: 0.1; +} + +.link-underline-opacity-25 { + --bs-link-underline-opacity: 0.25; +} + +.link-underline-opacity-25-hover:hover { + --bs-link-underline-opacity: 0.25; +} + +.link-underline-opacity-50 { + --bs-link-underline-opacity: 0.5; +} + +.link-underline-opacity-50-hover:hover { + --bs-link-underline-opacity: 0.5; +} + +.link-underline-opacity-75 { + --bs-link-underline-opacity: 0.75; +} + +.link-underline-opacity-75-hover:hover { + --bs-link-underline-opacity: 0.75; +} + +.link-underline-opacity-100 { + --bs-link-underline-opacity: 1; +} + +.link-underline-opacity-100-hover:hover { + --bs-link-underline-opacity: 1; +} + +/** + * ---------------------------------------------------------------------------- + * [ Object fit utilities ] + * ---------------------------------------------------------------------------- + */ + +.object-fit-contain { + object-fit: contain !important; +} + +.object-fit-cover { + object-fit: cover !important; +} + +.object-fit-fill { + object-fit: fill !important; +} + +.object-fit-scale { + object-fit: scale-down !important; +} + +.object-fit-none { + object-fit: none !important; +} + + +@media (min-width: 576px) { + .object-fit-sm-contain { + object-fit: contain !important; + } + + .object-fit-sm-cover { + object-fit: cover !important; + } + + .object-fit-sm-fill { + object-fit: fill !important; + } + + .object-fit-sm-scale { + object-fit: scale-down !important; + } + + .object-fit-sm-none { + object-fit: none !important; + } +} + +@media (min-width: 768px) { + .object-fit-md-contain { + object-fit: contain !important; + } + + .object-fit-md-cover { + object-fit: cover !important; + } + + .object-fit-md-fill { + object-fit: fill !important; + } + + .object-fit-md-scale { + object-fit: scale-down !important; + } + + .object-fit-md-none { + object-fit: none !important; + } +} + +@media (min-width: 992px) { + .object-fit-lg-contain { + object-fit: contain !important; + } + + .object-fit-lg-cover { + object-fit: cover !important; + } + + .object-fit-lg-fill { + object-fit: fill !important; + } + + .object-fit-lg-scale { + object-fit: scale-down !important; + } + + .object-fit-lg-none { + object-fit: none !important; + } +} + +@media (min-width: 1200px) { + .object-fit-xl-contain { + object-fit: contain !important; + } + + .object-fit-xl-cover { + object-fit: cover !important; + } + + .object-fit-xl-fill { + object-fit: fill !important; + } + + .object-fit-xl-scale { + object-fit: scale-down !important; + } + + .object-fit-xl-none { + object-fit: none !important; + } +} + +@media (min-width: 1400px) { + .object-fit-xxl-contain { + object-fit: contain !important; + } + + .object-fit-xxl-cover { + object-fit: cover !important; + } + + .object-fit-xxl-fill { + object-fit: fill !important; + } + + .object-fit-xxl-scale { + object-fit: scale-down !important; + } + + .object-fit-xxl-none { + object-fit: none !important; + } +} + +/** + * ---------------------------------------------------------------------------- + * [ Opacity utilities ] + * ---------------------------------------------------------------------------- + */ + +.opacity-0 { + opacity: 0 !important; +} + +.opacity-25 { + opacity: 0.25 !important; +} + +.opacity-50 { + opacity: 0.5 !important; +} + +.opacity-75 { + opacity: 0.75 !important; +} + +.opacity-100 { + opacity: 1 !important; +} + +/** + * ---------------------------------------------------------------------------- + * [ Overflow utilities ] + * ---------------------------------------------------------------------------- + */ + +.overflow-auto { + overflow: auto !important; +} + +.overflow-hidden { + overflow: hidden !important; +} + +.overflow-visible { + overflow: visible !important; +} + +.overflow-scroll { + overflow: scroll !important; +} + +.overflow-x-auto { + overflow-x: auto !important; +} + +.overflow-x-hidden { + overflow-x: hidden !important; +} + +.overflow-x-visible { + overflow-x: visible !important; +} + +.overflow-x-scroll { + overflow-x: scroll !important; +} + +.overflow-y-auto { + overflow-y: auto !important; +} + +.overflow-y-hidden { + overflow-y: hidden !important; +} + +.overflow-y-visible { + overflow-y: visible !important; +} + +.overflow-y-scroll { + overflow-y: scroll !important; +} + +@media (min-width: 576px) { + .overflow-sm-auto { + overflow: auto !important; + } + + .overflow-sm-hidden { + overflow: hidden !important; + } + + .overflow-sm-visible { + overflow: visible !important; + } + + .overflow-sm-scroll { + overflow: scroll !important; + } + + .overflow-x-sm-auto { + overflow-x: auto !important; + } + + .overflow-x-sm-hidden { + overflow-x: hidden !important; + } + + .overflow-x-sm-visible { + overflow-x: visible !important; + } + + .overflow-x-sm-scroll { + overflow-x: scroll !important; + } + + .overflow-y-sm-auto { + overflow-y: auto !important; + } + + .overflow-y-sm-hidden { + overflow-y: hidden !important; + } + + .overflow-y-sm-visible { + overflow-y: visible !important; + } + + .overflow-y-sm-scroll { + overflow-y: scroll !important; + } +} + +@media (min-width: 768px) { + .overflow-md-auto { + overflow: auto !important; + } + + .overflow-md-hidden { + overflow: hidden !important; + } + + .overflow-md-visible { + overflow: visible !important; + } + + .overflow-md-scroll { + overflow: scroll !important; + } + + .overflow-x-md-auto { + overflow-x: auto !important; + } + + .overflow-x-md-hidden { + overflow-x: hidden !important; + } + + .overflow-x-md-visible { + overflow-x: visible !important; + } + + .overflow-x-md-scroll { + overflow-x: scroll !important; + } + + .overflow-y-md-auto { + overflow-y: auto !important; + } + + .overflow-y-md-hidden { + overflow-y: hidden !important; + } + + .overflow-y-md-visible { + overflow-y: visible !important; + } + + .overflow-y-md-scroll { + overflow-y: scroll !important; + } +} + +@media (min-width: 992px) { + .overflow-lg-auto { + overflow: auto !important; + } + + .overflow-lg-hidden { + overflow: hidden !important; + } + + .overflow-lg-visible { + overflow: visible !important; + } + + .overflow-lg-scroll { + overflow: scroll !important; + } + + .overflow-x-lg-auto { + overflow-x: auto !important; + } + + .overflow-x-lg-hidden { + overflow-x: hidden !important; + } + + .overflow-x-lg-visible { + overflow-x: visible !important; + } + + .overflow-x-lg-scroll { + overflow-x: scroll !important; + } + + .overflow-y-lg-auto { + overflow-y: auto !important; + } + + .overflow-y-lg-hidden { + overflow-y: hidden !important; + } + + .overflow-y-lg-visible { + overflow-y: visible !important; + } + + .overflow-y-lg-scroll { + overflow-y: scroll !important; + } +} + +@media (min-width: 1200px) { + .overflow-xl-auto { + overflow: auto !important; + } + + .overflow-xl-hidden { + overflow: hidden !important; + } + + .overflow-xl-visible { + overflow: visible !important; + } + + .overflow-xl-scroll { + overflow: scroll !important; + } + + .overflow-x-xl-auto { + overflow-x: auto !important; + } + + .overflow-x-xl-hidden { + overflow-x: hidden !important; + } + + .overflow-x-xl-visible { + overflow-x: visible !important; + } + + .overflow-x-xl-scroll { + overflow-x: scroll !important; + } + + .overflow-y-xl-auto { + overflow-y: auto !important; + } + + .overflow-y-xl-hidden { + overflow-y: hidden !important; + } + + .overflow-y-xl-visible { + overflow-y: visible !important; + } + + .overflow-y-xl-scroll { + overflow-y: scroll !important; + } +} + +@media (min-width: 1400px) { + .overflow-xxl-auto { + overflow: auto !important; + } + + .overflow-xxl-hidden { + overflow: hidden !important; + } + + .overflow-xxl-visible { + overflow: visible !important; + } + + .overflow-xxl-scroll { + overflow: scroll !important; + } + + .overflow-x-xxl-auto { + overflow-x: auto !important; + } + + .overflow-x-xxl-hidden { + overflow-x: hidden !important; + } + + .overflow-x-xxl-visible { + overflow-x: visible !important; + } + + .overflow-x-xxl-scroll { + overflow-x: scroll !important; + } + + .overflow-y-xxl-auto { + overflow-y: auto !important; + } + + .overflow-y-xxl-hidden { + overflow-y: hidden !important; + } + + .overflow-y-xxl-visible { + overflow-y: visible !important; + } + + .overflow-y-xxl-scroll { + overflow-y: scroll !important; + } +} + +/** + * ---------------------------------------------------------------------------- + * [ Position utilities ] + * ---------------------------------------------------------------------------- + */ + +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important; +} + +.top-0 { + top: 0 !important; +} + +.top-50 { + top: 50% !important; +} + +.top-100 { + top: 100% !important; +} + +.bottom-0 { + bottom: 0 !important; +} + +.bottom-50 { + bottom: 50% !important; +} + +.bottom-100 { + bottom: 100% !important; +} + +.start-0 { + left: 0 !important; +} + +.start-50 { + left: 50% !important; +} + +.start-100 { + left: 100% !important; +} + +.end-0 { + right: 0 !important; +} + +.end-50 { + right: 50% !important; +} + +.end-100 { + right: 100% !important; +} + +.translate-middle { + transform: translate(-50%, -50%) !important; +} + +.translate-middle-x { + transform: translateX(-50%) !important; +} + +.translate-middle-y { + transform: translateY(-50%) !important; +} + +@media (min-width: 576px) { + .position-sm-static { + position: static !important; + } + + .position-sm-relative { + position: relative !important; + } + + .position-sm-absolute { + position: absolute !important; + } + + .position-sm-fixed { + position: fixed !important; + } + + .position-sm-sticky { + position: -webkit-sticky !important; + position: sticky !important; + } + + .top-sm-0 { + top: 0 !important; + } + + .top-sm-50 { + top: 50% !important; + } + + .top-sm-100 { + top: 100% !important; + } + + .bottom-sm-0 { + bottom: 0 !important; + } + + .bottom-sm-50 { + bottom: 50% !important; + } + + .bottom-sm-100 { + bottom: 100% !important; + } + + .start-sm-0 { + left: 0 !important; + } + + .start-sm-50 { + left: 50% !important; + } + + .start-sm-100 { + left: 100% !important; + } + + .end-sm-0 { + right: 0 !important; + } + + .end-sm-50 { + right: 50% !important; + } + + .end-sm-100 { + right: 100% !important; + } + + .translate-middle-sm { + transform: translate(-50%, -50%) !important; + } + + .translate-middle-sm-x { + transform: translateX(-50%) !important; + } + + .translate-middle-sm-y { + transform: translateY(-50%) !important; + } +} + +@media (min-width: 768px) { + .position-md-static { + position: static !important; + } + + .position-md-relative { + position: relative !important; + } + + .position-md-absolute { + position: absolute !important; + } + + .position-md-fixed { + position: fixed !important; + } + + .position-md-sticky { + position: -webkit-sticky !important; + position: sticky !important; + } + + .top-md-0 { + top: 0 !important; + } + + .top-md-50 { + top: 50% !important; + } + + .top-md-100 { + top: 100% !important; + } + + .bottom-md-0 { + bottom: 0 !important; + } + + .bottom-md-50 { + bottom: 50% !important; + } + + .bottom-md-100 { + bottom: 100% !important; + } + + .start-md-0 { + left: 0 !important; + } + + .start-md-50 { + left: 50% !important; + } + + .start-md-100 { + left: 100% !important; + } + + .end-md-0 { + right: 0 !important; + } + + .end-md-50 { + right: 50% !important; + } + + .end-md-100 { + right: 100% !important; + } + + .translate-middle-md { + transform: translate(-50%, -50%) !important; + } + + .translate-middle-md-x { + transform: translateX(-50%) !important; + } + + .translate-middle-md-y { + transform: translateY(-50%) !important; + } +} + +@media (min-width: 992px) { + .position-lg-static { + position: static !important; + } + + .position-lg-relative { + position: relative !important; + } + + .position-lg-absolute { + position: absolute !important; + } + + .position-lg-fixed { + position: fixed !important; + } + + .position-lg-sticky { + position: -webkit-sticky !important; + position: sticky !important; + } + + .top-lg-0 { + top: 0 !important; + } + + .top-lg-50 { + top: 50% !important; + } + + .top-lg-100 { + top: 100% !important; + } + + .bottom-lg-0 { + bottom: 0 !important; + } + + .bottom-lg-50 { + bottom: 50% !important; + } + + .bottom-lg-100 { + bottom: 100% !important; + } + + .start-lg-0 { + left: 0 !important; + } + + .start-lg-50 { + left: 50% !important; + } + + .start-lg-100 { + left: 100% !important; + } + + .end-lg-0 { + right: 0 !important; + } + + .end-lg-50 { + right: 50% !important; + } + + .end-lg-100 { + right: 100% !important; + } + + .translate-middle-lg { + transform: translate(-50%, -50%) !important; + } + + .translate-middle-lg-x { + transform: translateX(-50%) !important; + } + + .translate-middle-lg-y { + transform: translateY(-50%) !important; + } +} + +@media (min-width: 1200px) { + .position-xl-static { + position: static !important; + } + + .position-xl-relative { + position: relative !important; + } + + .position-xl-absolute { + position: absolute !important; + } + + .position-xl-fixed { + position: fixed !important; + } + + .position-xl-sticky { + position: -webkit-sticky !important; + position: sticky !important; + } + + .top-xl-0 { + top: 0 !important; + } + + .top-xl-50 { + top: 50% !important; + } + + .top-xl-100 { + top: 100% !important; + } + + .bottom-xl-0 { + bottom: 0 !important; + } + + .bottom-xl-50 { + bottom: 50% !important; + } + + .bottom-xl-100 { + bottom: 100% !important; + } + + .start-xl-0 { + left: 0 !important; + } + + .start-xl-50 { + left: 50% !important; + } + + .start-xl-100 { + left: 100% !important; + } + + .end-xl-0 { + right: 0 !important; + } + + .end-xl-50 { + right: 50% !important; + } + + .end-xl-100 { + right: 100% !important; + } + + .translate-middle-xl { + transform: translate(-50%, -50%) !important; + } + + .translate-middle-xl-x { + transform: translateX(-50%) !important; + } + + .translate-middle-xl-y { + transform: translateY(-50%) !important; + } +} + +@media (min-width: 1400px) { + .position-xxl-static { + position: static !important; + } + + .position-xxl-relative { + position: relative !important; + } + + .position-xxl-absolute { + position: absolute !important; + } + + .position-xxl-fixed { + position: fixed !important; + } + + .position-xxl-sticky { + position: -webkit-sticky !important; + position: sticky !important; + } + + .top-xxl-0 { + top: 0 !important; + } + + .top-xxl-50 { + top: 50% !important; + } + + .top-xxl-100 { + top: 100% !important; + } + + .bottom-xxl-0 { + bottom: 0 !important; + } + + .bottom-xxl-50 { + bottom: 50% !important; + } + + .bottom-xxl-100 { + bottom: 100% !important; + } + + .start-xxl-0 { + left: 0 !important; + } + + .start-xxl-50 { + left: 50% !important; + } + + .start-xxl-100 { + left: 100% !important; + } + + .end-xxl-0 { + right: 0 !important; + } + + .end-xxl-50 { + right: 50% !important; + } + + .end-xxl-100 { + right: 100% !important; + } + + .translate-middle-xxl { + transform: translate(-50%, -50%) !important; + } + + .translate-middle-xxl-x { + transform: translateX(-50%) !important; + } + + .translate-middle-xxl-y { + transform: translateY(-50%) !important; + } +} + +/** + * ---------------------------------------------------------------------------- + * [ Sizing utilities ] + * ---------------------------------------------------------------------------- + */ + +.specific-w-25 { + width: 1.5625rem !important; +} + +.specific-w-50 { + width: 3.125rem !important; +} + +.specific-w-75 { + width: 4.6875rem !important; +} + +.specific-w-100 { + width: 6.25rem !important; +} + +.specific-w-150 { + width: 9.375rem !important; +} + +.specific-w-200 { + width: 12.5rem !important; +} + +.specific-w-250 { + width: 15.625rem !important; +} + +.specific-w-300 { + width: 18.75rem !important; +} + +.specific-w-350 { + width: 21.875rem !important; +} + +.specific-w-400 { + width: 25rem !important; +} + +.specific-w-450 { + width: 28.125rem !important; +} + +.specific-w-500 { + width: 31.25rem !important; +} + +.specific-w-550 { + width: 34.375rem !important; +} + +.specific-w-600 { + width: 37.5rem !important; +} + +.w-auto { + width: auto !important; +} + +.w-25 { + width: 25% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +.mw-100 { + max-width: 100% !important; +} + +.vw-100 { + width: 100vw !important; +} + +.min-vw-100 { + min-width: 100vw !important; +} + +.specific-h-25 { + height: 1.5625rem !important; +} + +.specific-h-50 { + height: 3.125rem !important; +} + +.specific-h-75 { + height: 4.6875rem !important; +} + +.specific-h-100 { + height: 6.25rem !important; +} + +.specific-h-150 { + height: 9.375rem !important; +} + +.specific-h-200 { + height: 12.5rem !important; +} + +.specific-h-250 { + height: 15.625rem !important; +} + +.specific-h-300 { + height: 18.75rem !important; +} + +.specific-h-350 { + height: 21.875rem !important; +} + +.specific-h-400 { + height: 25rem !important; +} + +.specific-h-450 { + height: 28.125rem !important; +} + +.specific-h-500 { + height: 31.25rem !important; +} + +.specific-h-550 { + height: 34.375rem !important; +} + +.specific-h-600 { + height: 37.5rem !important; +} + +.h-auto { + height: auto !important; +} + +.h-25 { + height: 25% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +.mh-100 { + max-height: 100% !important; +} + +.vh-100 { + height: 100vh !important; +} + +.min-vh-100 { + min-height: 100vh !important; +} + +@media (min-width: 576px) { + .specific-w-sm-25 { + width: 1.5625rem !important; + } + + .specific-w-sm-50 { + width: 3.125rem !important; + } + + .specific-w-sm-75 { + width: 4.6875rem !important; + } + + .specific-w-sm-100 { + width: 6.25rem !important; + } + + .specific-w-sm-150 { + width: 9.375rem !important; + } + + .specific-w-sm-200 { + width: 12.5rem !important; + } + + .specific-w-sm-250 { + width: 15.625rem !important; + } + + .specific-w-sm-300 { + width: 18.75rem !important; + } + + .specific-w-sm-350 { + width: 21.875rem !important; + } + + .specific-w-sm-400 { + width: 25rem !important; + } + + .specific-w-sm-450 { + width: 28.125rem !important; + } + + .specific-w-sm-500 { + width: 31.25rem !important; + } + + .specific-w-sm-550 { + width: 34.375rem !important; + } + + .specific-w-sm-600 { + width: 37.5rem !important; + } + + .w-sm-auto { + width: auto !important; + } + + .w-sm-25 { + width: 25% !important; + } + + .w-sm-50 { + width: 50% !important; + } + + .w-sm-75 { + width: 75% !important; + } + + .w-sm-100 { + width: 100% !important; + } + + .mw-sm-100 { + max-width: 100% !important; + } + + .vw-sm-100 { + width: 100vw !important; + } + + .min-vw-sm-100 { + min-width: 100vw !important; + } + + .specific-h-sm-25 { + height: 1.5625rem !important; + } + + .specific-h-sm-50 { + height: 3.125rem !important; + } + + .specific-h-sm-75 { + height: 4.6875rem !important; + } + + .specific-h-sm-100 { + height: 6.25rem !important; + } + + .specific-h-sm-150 { + height: 9.375rem !important; + } + + .specific-h-sm-200 { + height: 12.5rem !important; + } + + .specific-h-sm-250 { + height: 15.625rem !important; + } + + .specific-h-sm-300 { + height: 18.75rem !important; + } + + .specific-h-sm-350 { + height: 21.875rem !important; + } + + .specific-h-sm-400 { + height: 25rem !important; + } + + .specific-h-sm-450 { + height: 28.125rem !important; + } + + .specific-h-sm-500 { + height: 31.25rem !important; + } + + .specific-h-sm-550 { + height: 34.375rem !important; + } + + .specific-h-sm-600 { + height: 37.5rem !important; + } + + .h-sm-auto { + height: auto !important; + } + + .h-sm-25 { + height: 25% !important; + } + + .h-sm-50 { + height: 50% !important; + } + + .h-sm-75 { + height: 75% !important; + } + + .h-sm-100 { + height: 100% !important; + } + + .mh-sm-100 { + max-height: 100% !important; + } + + .vh-sm-100 { + height: 100vh !important; + } + + .min-vh-sm-100 { + min-height: 100vh !important; + } +} + +@media (min-width: 768px) { + .specific-w-md-25 { + width: 1.5625rem !important; + } + + .specific-w-md-50 { + width: 3.125rem !important; + } + + .specific-w-md-75 { + width: 4.6875rem !important; + } + + .specific-w-md-100 { + width: 6.25rem !important; + } + + .specific-w-md-150 { + width: 9.375rem !important; + } + + .specific-w-md-200 { + width: 12.5rem !important; + } + + .specific-w-md-250 { + width: 15.625rem !important; + } + + .specific-w-md-300 { + width: 18.75rem !important; + } + + .specific-w-md-350 { + width: 21.875rem !important; + } + + .specific-w-md-400 { + width: 25rem !important; + } + + .specific-w-md-450 { + width: 28.125rem !important; + } + + .specific-w-md-500 { + width: 31.25rem !important; + } + + .specific-w-md-550 { + width: 34.375rem !important; + } + + .specific-w-md-600 { + width: 37.5rem !important; + } + + .w-md-auto { + width: auto !important; + } + + .w-md-25 { + width: 25% !important; + } + + .w-md-50 { + width: 50% !important; + } + + .w-md-75 { + width: 75% !important; + } + + .w-md-100 { + width: 100% !important; + } + + .mw-md-100 { + max-width: 100% !important; + } + + .vw-md-100 { + width: 100vw !important; + } + + .min-vw-md-100 { + min-width: 100vw !important; + } + + .specific-h-md-25 { + height: 1.5625rem !important; + } + + .specific-h-md-50 { + height: 3.125rem !important; + } + + .specific-h-md-75 { + height: 4.6875rem !important; + } + + .specific-h-md-100 { + height: 6.25rem !important; + } + + .specific-h-md-150 { + height: 9.375rem !important; + } + + .specific-h-md-200 { + height: 12.5rem !important; + } + + .specific-h-md-250 { + height: 15.625rem !important; + } + + .specific-h-md-300 { + height: 18.75rem !important; + } + + .specific-h-md-350 { + height: 21.875rem !important; + } + + .specific-h-md-400 { + height: 25rem !important; + } + + .specific-h-md-450 { + height: 28.125rem !important; + } + + .specific-h-md-500 { + height: 31.25rem !important; + } + + .specific-h-md-550 { + height: 34.375rem !important; + } + + .specific-h-md-600 { + height: 37.5rem !important; + } + + .h-md-auto { + height: auto !important; + } + + .h-md-25 { + height: 25% !important; + } + + .h-md-50 { + height: 50% !important; + } + + .h-md-75 { + height: 75% !important; + } + + .h-md-100 { + height: 100% !important; + } + + .mh-md-100 { + max-height: 100% !important; + } + + .vh-md-100 { + height: 100vh !important; + } + + .min-vh-md-100 { + min-height: 100vh !important; + } +} + +@media (min-width: 992px) { + .specific-w-lg-25 { + width: 1.5625rem !important; + } + + .specific-w-lg-50 { + width: 3.125rem !important; + } + + .specific-w-lg-75 { + width: 4.6875rem !important; + } + + .specific-w-lg-100 { + width: 6.25rem !important; + } + + .specific-w-lg-150 { + width: 9.375rem !important; + } + + .specific-w-lg-200 { + width: 12.5rem !important; + } + + .specific-w-lg-250 { + width: 15.625rem !important; + } + + .specific-w-lg-300 { + width: 18.75rem !important; + } + + .specific-w-lg-350 { + width: 21.875rem !important; + } + + .specific-w-lg-400 { + width: 25rem !important; + } + + .specific-w-lg-450 { + width: 28.125rem !important; + } + + .specific-w-lg-500 { + width: 31.25rem !important; + } + + .specific-w-lg-550 { + width: 34.375rem !important; + } + + .specific-w-lg-600 { + width: 37.5rem !important; + } + + .w-lg-auto { + width: auto !important; + } + + .w-lg-25 { + width: 25% !important; + } + + .w-lg-50 { + width: 50% !important; + } + + .w-lg-75 { + width: 75% !important; + } + + .w-lg-100 { + width: 100% !important; + } + + .mw-lg-100 { + max-width: 100% !important; + } + + .vw-lg-100 { + width: 100vw !important; + } + + .min-vw-lg-100 { + min-width: 100vw !important; + } + + .specific-h-lg-25 { + height: 1.5625rem !important; + } + + .specific-h-lg-50 { + height: 3.125rem !important; + } + + .specific-h-lg-75 { + height: 4.6875rem !important; + } + + .specific-h-lg-100 { + height: 6.25rem !important; + } + + .specific-h-lg-150 { + height: 9.375rem !important; + } + + .specific-h-lg-200 { + height: 12.5rem !important; + } + + .specific-h-lg-250 { + height: 15.625rem !important; + } + + .specific-h-lg-300 { + height: 18.75rem !important; + } + + .specific-h-lg-350 { + height: 21.875rem !important; + } + + .specific-h-lg-400 { + height: 25rem !important; + } + + .specific-h-lg-450 { + height: 28.125rem !important; + } + + .specific-h-lg-500 { + height: 31.25rem !important; + } + + .specific-h-lg-550 { + height: 34.375rem !important; + } + + .specific-h-lg-600 { + height: 37.5rem !important; + } + + .h-lg-auto { + height: auto !important; + } + + .h-lg-25 { + height: 25% !important; + } + + .h-lg-50 { + height: 50% !important; + } + + .h-lg-75 { + height: 75% !important; + } + + .h-lg-100 { + height: 100% !important; + } + + .mh-lg-100 { + max-height: 100% !important; + } + + .vh-lg-100 { + height: 100vh !important; + } + + .min-vh-lg-100 { + min-height: 100vh !important; + } +} + +@media (min-width: 1200px) { + .specific-w-xl-25 { + width: 1.5625rem !important; + } + + .specific-w-xl-50 { + width: 3.125rem !important; + } + + .specific-w-xl-75 { + width: 4.6875rem !important; + } + + .specific-w-xl-100 { + width: 6.25rem !important; + } + + .specific-w-xl-150 { + width: 9.375rem !important; + } + + .specific-w-xl-200 { + width: 12.5rem !important; + } + + .specific-w-xl-250 { + width: 15.625rem !important; + } + + .specific-w-xl-300 { + width: 18.75rem !important; + } + + .specific-w-xl-350 { + width: 21.875rem !important; + } + + .specific-w-xl-400 { + width: 25rem !important; + } + + .specific-w-xl-450 { + width: 28.125rem !important; + } + + .specific-w-xl-500 { + width: 31.25rem !important; + } + + .specific-w-xl-550 { + width: 34.375rem !important; + } + + .specific-w-xl-600 { + width: 37.5rem !important; + } + + .w-xl-auto { + width: auto !important; + } + + .w-xl-25 { + width: 25% !important; + } + + .w-xl-50 { + width: 50% !important; + } + + .w-xl-75 { + width: 75% !important; + } + + .w-xl-100 { + width: 100% !important; + } + + .mw-xl-100 { + max-width: 100% !important; + } + + .vw-xl-100 { + width: 100vw !important; + } + + .min-vw-xl-100 { + min-width: 100vw !important; + } + + .specific-h-xl-25 { + height: 1.5625rem !important; + } + + .specific-h-xl-50 { + height: 3.125rem !important; + } + + .specific-h-xl-75 { + height: 4.6875rem !important; + } + + .specific-h-xl-100 { + height: 6.25rem !important; + } + + .specific-h-xl-150 { + height: 9.375rem !important; + } + + .specific-h-xl-200 { + height: 12.5rem !important; + } + + .specific-h-xl-250 { + height: 15.625rem !important; + } + + .specific-h-xl-300 { + height: 18.75rem !important; + } + + .specific-h-xl-350 { + height: 21.875rem !important; + } + + .specific-h-xl-400 { + height: 25rem !important; + } + + .specific-h-xl-450 { + height: 28.125rem !important; + } + + .specific-h-xl-500 { + height: 31.25rem !important; + } + + .specific-h-xl-550 { + height: 34.375rem !important; + } + + .specific-h-xl-600 { + height: 37.5rem !important; + } + + .h-xl-auto { + height: auto !important; + } + + .h-xl-25 { + height: 25% !important; + } + + .h-xl-50 { + height: 50% !important; + } + + .h-xl-75 { + height: 75% !important; + } + + .h-xl-100 { + height: 100% !important; + } + + .mh-xl-100 { + max-height: 100% !important; + } + + .vh-xl-100 { + height: 100vh !important; + } + + .min-vh-xl-100 { + min-height: 100vh !important; + } +} + +@media (min-width: 1400px) { + .specific-w-xxl-25 { + width: 1.5625rem !important; + } + + .specific-w-xxl-50 { + width: 3.125rem !important; + } + + .specific-w-xxl-75 { + width: 4.6875rem !important; + } + + .specific-w-xxl-100 { + width: 6.25rem !important; + } + + .specific-w-xxl-150 { + width: 9.375rem !important; + } + + .specific-w-xxl-200 { + width: 12.5rem !important; + } + + .specific-w-xxl-250 { + width: 15.625rem !important; + } + + .specific-w-xxl-300 { + width: 18.75rem !important; + } + + .specific-w-xxl-350 { + width: 21.875rem !important; + } + + .specific-w-xxl-400 { + width: 25rem !important; + } + + .specific-w-xxl-450 { + width: 28.125rem !important; + } + + .specific-w-xxl-500 { + width: 31.25rem !important; + } + + .specific-w-xxl-550 { + width: 34.375rem !important; + } + + .specific-w-xxl-600 { + width: 37.5rem !important; + } + + .w-xxl-auto { + width: auto !important; + } + + .w-xxl-25 { + width: 25% !important; + } + + .w-xxl-50 { + width: 50% !important; + } + + .w-xxl-75 { + width: 75% !important; + } + + .w-xxl-100 { + width: 100% !important; + } + + .mw-xxl-100 { + max-width: 100% !important; + } + + .vw-xxl-100 { + width: 100vw !important; + } + + .min-vw-xxl-100 { + min-width: 100vw !important; + } + + .specific-h-xxl-25 { + height: 1.5625rem !important; + } + + .specific-h-xxl-50 { + height: 3.125rem !important; + } + + .specific-h-xxl-75 { + height: 4.6875rem !important; + } + + .specific-h-xxl-100 { + height: 6.25rem !important; + } + + .specific-h-xxl-150 { + height: 9.375rem !important; + } + + .specific-h-xxl-200 { + height: 12.5rem !important; + } + + .specific-h-xxl-250 { + height: 15.625rem !important; + } + + .specific-h-xxl-300 { + height: 18.75rem !important; + } + + .specific-h-xxl-350 { + height: 21.875rem !important; + } + + .specific-h-xxl-400 { + height: 25rem !important; + } + + .specific-h-xxl-450 { + height: 28.125rem !important; + } + + .specific-h-xxl-500 { + height: 31.25rem !important; + } + + .specific-h-xxl-550 { + height: 34.375rem !important; + } + + .specific-h-xxl-600 { + height: 37.5rem !important; + } + + .h-xxl-auto { + height: auto !important; + } + + .h-xxl-25 { + height: 25% !important; + } + + .h-xxl-50 { + height: 50% !important; + } + + .h-xxl-75 { + height: 75% !important; + } + + .h-xxl-100 { + height: 100% !important; + } + + .mh-xxl-100 { + max-height: 100% !important; + } + + .vh-xxl-100 { + height: 100vh !important; + } + + .min-vh-xxl-100 { + min-height: 100vh !important; + } +} + +/** + * ---------------------------------------------------------------------------- + * [ Spacing utilities ] + * ---------------------------------------------------------------------------- + */ + +.m-0 { + margin: 0 !important; +} + +.m-1 { + margin: var(--bs-spacer-1) !important; +} + +.m-2 { + margin: var(--bs-spacer-2) !important; +} + +.m-3 { + margin: var(--bs-spacer-3) !important; +} + +.m-4 { + margin: var(--bs-spacer-4) !important; +} + +.m-5 { + margin: var(--bs-spacer-5) !important; +} + +.m-auto { + margin: auto !important; +} + +.m-n1 { + margin: calc(-1 * var(--bs-spacer-1)) !important; +} + +.m-n2 { + margin: calc(-1 * var(--bs-spacer-2)) !important; +} + +.m-n3 { + margin: calc(-1 * var(--bs-spacer-3)) !important; +} + +.m-n4 { + margin: calc(-1 * var(--bs-spacer-4)) !important; +} + +.m-n5 { + margin: calc(-1 * var(--bs-spacer-5)) !important; +} + +.mx-0 { + margin-right: 0 !important; + margin-left: 0 !important; +} + +.mx-1 { + margin-right: var(--bs-spacer-1) !important; + margin-left: var(--bs-spacer-1) !important; +} + +.mx-2 { + margin-right: var(--bs-spacer-2) !important; + margin-left: var(--bs-spacer-2) !important; +} + +.mx-3 { + margin-right: var(--bs-spacer-3) !important; + margin-left: var(--bs-spacer-3) !important; +} + +.mx-4 { + margin-right: var(--bs-spacer-4) !important; + margin-left: var(--bs-spacer-4) !important; +} + +.mx-5 { + margin-right: var(--bs-spacer-5) !important; + margin-left: var(--bs-spacer-5) !important; +} + +.mx-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.mx-n1 { + margin-right: calc(-1 * var(--bs-spacer-1)) !important; + margin-left: calc(-1 * var(--bs-spacer-1)) !important; +} + +.mx-n2 { + margin-right: calc(-1 * var(--bs-spacer-2)) !important; + margin-left: calc(-1 * var(--bs-spacer-2)) !important; +} + +.mx-n3 { + margin-right: calc(-1 * var(--bs-spacer-3)) !important; + margin-left: calc(-1 * var(--bs-spacer-3)) !important; +} + +.mx-n4 { + margin-right: calc(-1 * var(--bs-spacer-4)) !important; + margin-left: calc(-1 * var(--bs-spacer-4)) !important; +} + +.mx-n5 { + margin-right: calc(-1 * var(--bs-spacer-5)) !important; + margin-left: calc(-1 * var(--bs-spacer-5)) !important; +} + +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +.my-1 { + margin-top: var(--bs-spacer-1) !important; + margin-bottom: var(--bs-spacer-1) !important; +} + +.my-2 { + margin-top: var(--bs-spacer-2) !important; + margin-bottom: var(--bs-spacer-2) !important; +} + +.my-3 { + margin-top: var(--bs-spacer-3) !important; + margin-bottom: var(--bs-spacer-3) !important; +} + +.my-4 { + margin-top: var(--bs-spacer-4) !important; + margin-bottom: var(--bs-spacer-4) !important; +} + +.my-5 { + margin-top: var(--bs-spacer-5) !important; + margin-bottom: var(--bs-spacer-5) !important; +} + +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; +} + +.my-n1 { + margin-top: calc(-1 * var(--bs-spacer-1)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-1)) !important; +} + +.my-n2 { + margin-top: calc(-1 * var(--bs-spacer-2)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-2)) !important; +} + +.my-n3 { + margin-top: calc(-1 * var(--bs-spacer-3)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-3)) !important; +} + +.my-n4 { + margin-top: calc(-1 * var(--bs-spacer-4)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-4)) !important; +} + +.my-n5 { + margin-top: calc(-1 * var(--bs-spacer-5)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-5)) !important; +} + +.mt-0 { + margin-top: 0 !important; +} + +.mt-1 { + margin-top: var(--bs-spacer-1) !important; +} + +.mt-2 { + margin-top: var(--bs-spacer-2) !important; +} + +.mt-3 { + margin-top: var(--bs-spacer-3) !important; +} + +.mt-4 { + margin-top: var(--bs-spacer-4) !important; +} + +.mt-5 { + margin-top: var(--bs-spacer-5) !important; +} + +.mt-auto { + margin-top: auto !important; +} + +.mt-n1 { + margin-top: calc(-1 * var(--bs-spacer-1)) !important; +} + +.mt-n2 { + margin-top: calc(-1 * var(--bs-spacer-2)) !important; +} + +.mt-n3 { + margin-top: calc(-1 * var(--bs-spacer-3)) !important; +} + +.mt-n4 { + margin-top: calc(-1 * var(--bs-spacer-4)) !important; +} + +.mt-n5 { + margin-top: calc(-1 * var(--bs-spacer-5)) !important; +} + +.me-0 { + margin-right: 0 !important; +} + +.me-1 { + margin-right: var(--bs-spacer-1) !important; +} + +.me-2 { + margin-right: var(--bs-spacer-2) !important; +} + +.me-3 { + margin-right: var(--bs-spacer-3) !important; +} + +.me-4 { + margin-right: var(--bs-spacer-4) !important; +} + +.me-5 { + margin-right: var(--bs-spacer-5) !important; +} + +.me-auto { + margin-right: auto !important; +} + +.me-n1 { + margin-right: calc(-1 * var(--bs-spacer-1)) !important; +} + +.me-n2 { + margin-right: calc(-1 * var(--bs-spacer-2)) !important; +} + +.me-n3 { + margin-right: calc(-1 * var(--bs-spacer-3)) !important; +} + +.me-n4 { + margin-right: calc(-1 * var(--bs-spacer-4)) !important; +} + +.me-n5 { + margin-right: calc(-1 * var(--bs-spacer-5)) !important; +} + +.mb-0 { + margin-bottom: 0 !important; +} + +.mb-1 { + margin-bottom: var(--bs-spacer-1) !important; +} + +.mb-2 { + margin-bottom: var(--bs-spacer-2) !important; +} + +.mb-3 { + margin-bottom: var(--bs-spacer-3) !important; +} + +.mb-4 { + margin-bottom: var(--bs-spacer-4) !important; +} + +.mb-5 { + margin-bottom: var(--bs-spacer-5) !important; +} + +.mb-auto { + margin-bottom: auto !important; +} + +.mb-n1 { + margin-bottom: calc(-1 * var(--bs-spacer-1)) !important; +} + +.mb-n2 { + margin-bottom: calc(-1 * var(--bs-spacer-2)) !important; +} + +.mb-n3 { + margin-bottom: calc(-1 * var(--bs-spacer-3)) !important; +} + +.mb-n4 { + margin-bottom: calc(-1 * var(--bs-spacer-4)) !important; +} + +.mb-n5 { + margin-bottom: calc(-1 * var(--bs-spacer-5)) !important; +} + +.ms-0 { + margin-left: 0 !important; +} + +.ms-1 { + margin-left: var(--bs-spacer-1) !important; +} + +.ms-2 { + margin-left: var(--bs-spacer-2) !important; +} + +.ms-3 { + margin-left: var(--bs-spacer-3) !important; +} + +.ms-4 { + margin-left: var(--bs-spacer-4) !important; +} + +.ms-5 { + margin-left: var(--bs-spacer-5) !important; +} + +.ms-auto { + margin-left: auto !important; +} + +.ms-n1 { + margin-left: calc(-1 * var(--bs-spacer-1)) !important; +} + +.ms-n2 { + margin-left: calc(-1 * var(--bs-spacer-2)) !important; +} + +.ms-n3 { + margin-left: calc(-1 * var(--bs-spacer-3)) !important; +} + +.ms-n4 { + margin-left: calc(-1 * var(--bs-spacer-4)) !important; +} + +.ms-n5 { + margin-left: calc(-1 * var(--bs-spacer-5)) !important; +} + +.p-0 { + padding: 0 !important; +} + +.p-1 { + padding: var(--bs-spacer-1) !important; +} + +.p-2 { + padding: var(--bs-spacer-2) !important; +} + +.p-3 { + padding: var(--bs-spacer-3) !important; +} + +.p-4 { + padding: var(--bs-spacer-4) !important; +} + +.p-5 { + padding: var(--bs-spacer-5) !important; +} + +.px-0 { + padding-right: 0 !important; + padding-left: 0 !important; +} + +.px-1 { + padding-right: var(--bs-spacer-1) !important; + padding-left: var(--bs-spacer-1) !important; +} + +.px-2 { + padding-right: var(--bs-spacer-2) !important; + padding-left: var(--bs-spacer-2) !important; +} + +.px-3 { + padding-right: var(--bs-spacer-3) !important; + padding-left: var(--bs-spacer-3) !important; +} + +.px-4 { + padding-right: var(--bs-spacer-4) !important; + padding-left: var(--bs-spacer-4) !important; +} + +.px-5 { + padding-right: var(--bs-spacer-5) !important; + padding-left: var(--bs-spacer-5) !important; +} + +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +.py-1 { + padding-top: var(--bs-spacer-1) !important; + padding-bottom: var(--bs-spacer-1) !important; +} + +.py-2 { + padding-top: var(--bs-spacer-2) !important; + padding-bottom: var(--bs-spacer-2) !important; +} + +.py-3 { + padding-top: var(--bs-spacer-3) !important; + padding-bottom: var(--bs-spacer-3) !important; +} + +.py-4 { + padding-top: var(--bs-spacer-4) !important; + padding-bottom: var(--bs-spacer-4) !important; +} + +.py-5 { + padding-top: var(--bs-spacer-5) !important; + padding-bottom: var(--bs-spacer-5) !important; +} + +.pt-0 { + padding-top: 0 !important; +} + +.pt-1 { + padding-top: var(--bs-spacer-1) !important; +} + +.pt-2 { + padding-top: var(--bs-spacer-2) !important; +} + +.pt-3 { + padding-top: var(--bs-spacer-3) !important; +} + +.pt-4 { + padding-top: var(--bs-spacer-4) !important; +} + +.pt-5 { + padding-top: var(--bs-spacer-5) !important; +} + +.pe-0 { + padding-right: 0 !important; +} + +.pe-1 { + padding-right: var(--bs-spacer-1) !important; +} + +.pe-2 { + padding-right: var(--bs-spacer-2) !important; +} + +.pe-3 { + padding-right: var(--bs-spacer-3) !important; +} + +.pe-4 { + padding-right: var(--bs-spacer-4) !important; +} + +.pe-5 { + padding-right: var(--bs-spacer-5) !important; +} + +.pb-0 { + padding-bottom: 0 !important; +} + +.pb-1 { + padding-bottom: var(--bs-spacer-1) !important; +} + +.pb-2 { + padding-bottom: var(--bs-spacer-2) !important; +} + +.pb-3 { + padding-bottom: var(--bs-spacer-3) !important; +} + +.pb-4 { + padding-bottom: var(--bs-spacer-4) !important; +} + +.pb-5 { + padding-bottom: var(--bs-spacer-5) !important; +} + +.ps-0 { + padding-left: 0 !important; +} + +.ps-1 { + padding-left: var(--bs-spacer-1) !important; +} + +.ps-2 { + padding-left: var(--bs-spacer-2) !important; +} + +.ps-3 { + padding-left: var(--bs-spacer-3) !important; +} + +.ps-4 { + padding-left: var(--bs-spacer-4) !important; +} + +.ps-5 { + padding-left: var(--bs-spacer-5) !important; +} + +.gap-0 { + gap: 0 !important; +} + +.gap-1 { + gap: var(--bs-spacer-1) !important; +} + +.gap-2 { + gap: var(--bs-spacer-2) !important; +} + +.gap-3 { + gap: var(--bs-spacer-3) !important; +} + +.gap-4 { + gap: var(--bs-spacer-4) !important; +} + +.gap-5 { + gap: var(--bs-spacer-5) !important; +} + +.row-gap-0 { + gap: 0 !important; +} + +.row-gap-1 { + row-gap: var(--bs-spacer-1) !important; +} + +.row-gap-2 { + row-gap: var(--bs-spacer-2) !important; +} + +.row-gap-3 { + row-gap: var(--bs-spacer-3) !important; +} + +.row-gap-4 { + row-gap: var(--bs-spacer-4) !important; +} + +.row-gap-5 { + row-gap: var(--bs-spacer-5) !important; +} + +.column-gap-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; +} + +.column-gap-1 { + -moz-column-gap: var(--bs-spacer-1) !important; + column-gap: var(--bs-spacer-1) !important; +} + +.column-gap-2 { + -moz-column-gap: var(--bs-spacer-2) !important; + column-gap: var(--bs-spacer-2) !important; +} + +.column-gap-3 { + -moz-column-gap: var(--bs-spacer-3) !important; + column-gap: var(--bs-spacer-3) !important; +} + +.column-gap-4 { + -moz-column-gap: var(--bs-spacer-4) !important; + column-gap: var(--bs-spacer-4) !important; +} + +.column-gap-5 { + -moz-column-gap: var(--bs-spacer-5) !important; + column-gap: var(--bs-spacer-5) !important; +} + +@media (min-width: 576px) { + .m-sm-0 { + margin: 0 !important; + } + + .m-sm-1 { + margin: var(--bs-spacer-1) !important; + } + + .m-sm-2 { + margin: var(--bs-spacer-2) !important; + } + + .m-sm-3 { + margin: var(--bs-spacer-3) !important; + } + + .m-sm-4 { + margin: var(--bs-spacer-4) !important; + } + + .m-sm-5 { + margin: var(--bs-spacer-5) !important; + } + + .m-sm-auto { + margin: auto !important; + } + + .m-sm-n1 { + margin: calc(-1 * var(--bs-spacer-1)) !important; + } + + .m-sm-n2 { + margin: calc(-1 * var(--bs-spacer-2)) !important; + } + + .m-sm-n3 { + margin: calc(-1 * var(--bs-spacer-3)) !important; + } + + .m-sm-n4 { + margin: calc(-1 * var(--bs-spacer-4)) !important; + } + + .m-sm-n5 { + margin: calc(-1 * var(--bs-spacer-5)) !important; + } + + .mx-sm-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + + .mx-sm-1 { + margin-right: var(--bs-spacer-1) !important; + margin-left: var(--bs-spacer-1) !important; + } + + .mx-sm-2 { + margin-right: var(--bs-spacer-2) !important; + margin-left: var(--bs-spacer-2) !important; + } + + .mx-sm-3 { + margin-right: var(--bs-spacer-3) !important; + margin-left: var(--bs-spacer-3) !important; + } + + .mx-sm-4 { + margin-right: var(--bs-spacer-4) !important; + margin-left: var(--bs-spacer-4) !important; + } + + .mx-sm-5 { + margin-right: var(--bs-spacer-5) !important; + margin-left: var(--bs-spacer-5) !important; + } + + .mx-sm-auto { + margin-right: auto !important; + margin-left: auto !important; + } + + .mx-sm-n1 { + margin-right: calc(-1 * var(--bs-spacer-1)) !important; + margin-left: calc(-1 * var(--bs-spacer-1)) !important; + } + + .mx-sm-n2 { + margin-right: calc(-1 * var(--bs-spacer-2)) !important; + margin-left: calc(-1 * var(--bs-spacer-2)) !important; + } + + .mx-sm-n3 { + margin-right: calc(-1 * var(--bs-spacer-3)) !important; + margin-left: calc(-1 * var(--bs-spacer-3)) !important; + } + + .mx-sm-n4 { + margin-right: calc(-1 * var(--bs-spacer-4)) !important; + margin-left: calc(-1 * var(--bs-spacer-4)) !important; + } + + .mx-sm-n5 { + margin-right: calc(-1 * var(--bs-spacer-5)) !important; + margin-left: calc(-1 * var(--bs-spacer-5)) !important; + } + + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-sm-1 { + margin-top: var(--bs-spacer-1) !important; + margin-bottom: var(--bs-spacer-1) !important; + } + + .my-sm-2 { + margin-top: var(--bs-spacer-2) !important; + margin-bottom: var(--bs-spacer-2) !important; + } + + .my-sm-3 { + margin-top: var(--bs-spacer-3) !important; + margin-bottom: var(--bs-spacer-3) !important; + } + + .my-sm-4 { + margin-top: var(--bs-spacer-4) !important; + margin-bottom: var(--bs-spacer-4) !important; + } + + .my-sm-5 { + margin-top: var(--bs-spacer-5) !important; + margin-bottom: var(--bs-spacer-5) !important; + } + + .my-sm-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .my-sm-n1 { + margin-top: calc(-1 * var(--bs-spacer-1)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-1)) !important; + } + + .my-sm-n2 { + margin-top: calc(-1 * var(--bs-spacer-2)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-2)) !important; + } + + .my-sm-n3 { + margin-top: calc(-1 * var(--bs-spacer-3)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-3)) !important; + } + + .my-sm-n4 { + margin-top: calc(-1 * var(--bs-spacer-4)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-4)) !important; + } + + .my-sm-n5 { + margin-top: calc(-1 * var(--bs-spacer-5)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-5)) !important; + } + + .mt-sm-0 { + margin-top: 0 !important; + } + + .mt-sm-1 { + margin-top: var(--bs-spacer-1) !important; + } + + .mt-sm-2 { + margin-top: var(--bs-spacer-2) !important; + } + + .mt-sm-3 { + margin-top: var(--bs-spacer-3) !important; + } + + .mt-sm-4 { + margin-top: var(--bs-spacer-4) !important; + } + + .mt-sm-5 { + margin-top: var(--bs-spacer-5) !important; + } + + .mt-sm-auto { + margin-top: auto !important; + } + + .mt-sm-n1 { + margin-top: calc(-1 * var(--bs-spacer-1)) !important; + } + + .mt-sm-n2 { + margin-top: calc(-1 * var(--bs-spacer-2)) !important; + } + + .mt-sm-n3 { + margin-top: calc(-1 * var(--bs-spacer-3)) !important; + } + + .mt-sm-n4 { + margin-top: calc(-1 * var(--bs-spacer-4)) !important; + } + + .mt-sm-n5 { + margin-top: calc(-1 * var(--bs-spacer-5)) !important; + } + + .me-sm-0 { + margin-right: 0 !important; + } + + .me-sm-1 { + margin-right: var(--bs-spacer-1) !important; + } + + .me-sm-2 { + margin-right: var(--bs-spacer-2) !important; + } + + .me-sm-3 { + margin-right: var(--bs-spacer-3) !important; + } + + .me-sm-4 { + margin-right: var(--bs-spacer-4) !important; + } + + .me-sm-5 { + margin-right: var(--bs-spacer-5) !important; + } + + .me-sm-auto { + margin-right: auto !important; + } + + .me-sm-n1 { + margin-right: calc(-1 * var(--bs-spacer-1)) !important; + } + + .me-sm-n2 { + margin-right: calc(-1 * var(--bs-spacer-2)) !important; + } + + .me-sm-n3 { + margin-right: calc(-1 * var(--bs-spacer-3)) !important; + } + + .me-sm-n4 { + margin-right: calc(-1 * var(--bs-spacer-4)) !important; + } + + .me-sm-n5 { + margin-right: calc(-1 * var(--bs-spacer-5)) !important; + } + + .mb-sm-0 { + margin-bottom: 0 !important; + } + + .mb-sm-1 { + margin-bottom: var(--bs-spacer-1) !important; + } + + .mb-sm-2 { + margin-bottom: var(--bs-spacer-2) !important; + } + + .mb-sm-3 { + margin-bottom: var(--bs-spacer-3) !important; + } + + .mb-sm-4 { + margin-bottom: var(--bs-spacer-4) !important; + } + + .mb-sm-5 { + margin-bottom: var(--bs-spacer-5) !important; + } + + .mb-sm-auto { + margin-bottom: auto !important; + } + + .mb-sm-n1 { + margin-bottom: calc(-1 * var(--bs-spacer-1)) !important; + } + + .mb-sm-n2 { + margin-bottom: calc(-1 * var(--bs-spacer-2)) !important; + } + + .mb-sm-n3 { + margin-bottom: calc(-1 * var(--bs-spacer-3)) !important; + } + + .mb-sm-n4 { + margin-bottom: calc(-1 * var(--bs-spacer-4)) !important; + } + + .mb-sm-n5 { + margin-bottom: calc(-1 * var(--bs-spacer-5)) !important; + } + + .ms-sm-0 { + margin-left: 0 !important; + } + + .ms-sm-1 { + margin-left: var(--bs-spacer-1) !important; + } + + .ms-sm-2 { + margin-left: var(--bs-spacer-2) !important; + } + + .ms-sm-3 { + margin-left: var(--bs-spacer-3) !important; + } + + .ms-sm-4 { + margin-left: var(--bs-spacer-4) !important; + } + + .ms-sm-5 { + margin-left: var(--bs-spacer-5) !important; + } + + .ms-sm-auto { + margin-left: auto !important; + } + + .ms-sm-n1 { + margin-left: calc(-1 * var(--bs-spacer-1)) !important; + } + + .ms-sm-n2 { + margin-left: calc(-1 * var(--bs-spacer-2)) !important; + } + + .ms-sm-n3 { + margin-left: calc(-1 * var(--bs-spacer-3)) !important; + } + + .ms-sm-n4 { + margin-left: calc(-1 * var(--bs-spacer-4)) !important; + } + + .ms-sm-n5 { + margin-left: calc(-1 * var(--bs-spacer-5)) !important; + } + + .p-sm-0 { + padding: 0 !important; + } + + .p-sm-1 { + padding: var(--bs-spacer-1) !important; + } + + .p-sm-2 { + padding: var(--bs-spacer-2) !important; + } + + .p-sm-3 { + padding: var(--bs-spacer-3) !important; + } + + .p-sm-4 { + padding: var(--bs-spacer-4) !important; + } + + .p-sm-5 { + padding: var(--bs-spacer-5) !important; + } + + .px-sm-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + + .px-sm-1 { + padding-right: var(--bs-spacer-1) !important; + padding-left: var(--bs-spacer-1) !important; + } + + .px-sm-2 { + padding-right: var(--bs-spacer-2) !important; + padding-left: var(--bs-spacer-2) !important; + } + + .px-sm-3 { + padding-right: var(--bs-spacer-3) !important; + padding-left: var(--bs-spacer-3) !important; + } + + .px-sm-4 { + padding-right: var(--bs-spacer-4) !important; + padding-left: var(--bs-spacer-4) !important; + } + + .px-sm-5 { + padding-right: var(--bs-spacer-5) !important; + padding-left: var(--bs-spacer-5) !important; + } + + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-sm-1 { + padding-top: var(--bs-spacer-1) !important; + padding-bottom: var(--bs-spacer-1) !important; + } + + .py-sm-2 { + padding-top: var(--bs-spacer-2) !important; + padding-bottom: var(--bs-spacer-2) !important; + } + + .py-sm-3 { + padding-top: var(--bs-spacer-3) !important; + padding-bottom: var(--bs-spacer-3) !important; + } + + .py-sm-4 { + padding-top: var(--bs-spacer-4) !important; + padding-bottom: var(--bs-spacer-4) !important; + } + + .py-sm-5 { + padding-top: var(--bs-spacer-5) !important; + padding-bottom: var(--bs-spacer-5) !important; + } + + .pt-sm-0 { + padding-top: 0 !important; + } + + .pt-sm-1 { + padding-top: var(--bs-spacer-1) !important; + } + + .pt-sm-2 { + padding-top: var(--bs-spacer-2) !important; + } + + .pt-sm-3 { + padding-top: var(--bs-spacer-3) !important; + } + + .pt-sm-4 { + padding-top: var(--bs-spacer-4) !important; + } + + .pt-sm-5 { + padding-top: var(--bs-spacer-5) !important; + } + + .pe-sm-0 { + padding-right: 0 !important; + } + + .pe-sm-1 { + padding-right: var(--bs-spacer-1) !important; + } + + .pe-sm-2 { + padding-right: var(--bs-spacer-2) !important; + } + + .pe-sm-3 { + padding-right: var(--bs-spacer-3) !important; + } + + .pe-sm-4 { + padding-right: var(--bs-spacer-4) !important; + } + + .pe-sm-5 { + padding-right: var(--bs-spacer-5) !important; + } + + .pb-sm-0 { + padding-bottom: 0 !important; + } + + .pb-sm-1 { + padding-bottom: var(--bs-spacer-1) !important; + } + + .pb-sm-2 { + padding-bottom: var(--bs-spacer-2) !important; + } + + .pb-sm-3 { + padding-bottom: var(--bs-spacer-3) !important; + } + + .pb-sm-4 { + padding-bottom: var(--bs-spacer-4) !important; + } + + .pb-sm-5 { + padding-bottom: var(--bs-spacer-5) !important; + } + + .ps-sm-0 { + padding-left: 0 !important; + } + + .ps-sm-1 { + padding-left: var(--bs-spacer-1) !important; + } + + .ps-sm-2 { + padding-left: var(--bs-spacer-2) !important; + } + + .ps-sm-3 { + padding-left: var(--bs-spacer-3) !important; + } + + .ps-sm-4 { + padding-left: var(--bs-spacer-4) !important; + } + + .ps-sm-5 { + padding-left: var(--bs-spacer-5) !important; + } + + .gap-sm-0 { + gap: 0 !important; + } + + .gap-sm-1 { + gap: var(--bs-spacer-1) !important; + } + + .gap-sm-2 { + gap: var(--bs-spacer-2) !important; + } + + .gap-sm-3 { + gap: var(--bs-spacer-3) !important; + } + + .gap-sm-4 { + gap: var(--bs-spacer-4) !important; + } + + .gap-sm-5 { + gap: var(--bs-spacer-5) !important; + } + + .row-gap-sm-0 { + gap: 0 !important; + } + + .row-gap-sm-1 { + row-gap: var(--bs-spacer-1) !important; + } + + .row-gap-sm-2 { + row-gap: var(--bs-spacer-2) !important; + } + + .row-gap-sm-3 { + row-gap: var(--bs-spacer-3) !important; + } + + .row-gap-sm-4 { + row-gap: var(--bs-spacer-4) !important; + } + + .row-gap-sm-5 { + row-gap: var(--bs-spacer-5) !important; + } + + .column-gap-sm-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + + .column-gap-sm-1 { + -moz-column-gap: var(--bs-spacer-1) !important; + column-gap: var(--bs-spacer-1) !important; + } + + .column-gap-sm-2 { + -moz-column-gap: var(--bs-spacer-2) !important; + column-gap: var(--bs-spacer-2) !important; + } + + .column-gap-sm-3 { + -moz-column-gap: var(--bs-spacer-3) !important; + column-gap: var(--bs-spacer-3) !important; + } + + .column-gap-sm-4 { + -moz-column-gap: var(--bs-spacer-4) !important; + column-gap: var(--bs-spacer-4) !important; + } + + .column-gap-sm-5 { + -moz-column-gap: var(--bs-spacer-5) !important; + column-gap: var(--bs-spacer-5) !important; + } +} + +@media (min-width: 768px) { + .m-md-0 { + margin: 0 !important; + } + + .m-md-1 { + margin: var(--bs-spacer-1) !important; + } + + .m-md-2 { + margin: var(--bs-spacer-2) !important; + } + + .m-md-3 { + margin: var(--bs-spacer-3) !important; + } + + .m-md-4 { + margin: var(--bs-spacer-4) !important; + } + + .m-md-5 { + margin: var(--bs-spacer-5) !important; + } + + .m-md-auto { + margin: auto !important; + } + + .m-md-n1 { + margin: calc(-1 * var(--bs-spacer-1)) !important; + } + + .m-md-n2 { + margin: calc(-1 * var(--bs-spacer-2)) !important; + } + + .m-md-n3 { + margin: calc(-1 * var(--bs-spacer-3)) !important; + } + + .m-md-n4 { + margin: calc(-1 * var(--bs-spacer-4)) !important; + } + + .m-md-n5 { + margin: calc(-1 * var(--bs-spacer-5)) !important; + } + + .mx-md-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + + .mx-md-1 { + margin-right: var(--bs-spacer-1) !important; + margin-left: var(--bs-spacer-1) !important; + } + + .mx-md-2 { + margin-right: var(--bs-spacer-2) !important; + margin-left: var(--bs-spacer-2) !important; + } + + .mx-md-3 { + margin-right: var(--bs-spacer-3) !important; + margin-left: var(--bs-spacer-3) !important; + } + + .mx-md-4 { + margin-right: var(--bs-spacer-4) !important; + margin-left: var(--bs-spacer-4) !important; + } + + .mx-md-5 { + margin-right: var(--bs-spacer-5) !important; + margin-left: var(--bs-spacer-5) !important; + } + + .mx-md-auto { + margin-right: auto !important; + margin-left: auto !important; + } + + .mx-md-n1 { + margin-right: calc(-1 * var(--bs-spacer-1)) !important; + margin-left: calc(-1 * var(--bs-spacer-1)) !important; + } + + .mx-md-n2 { + margin-right: calc(-1 * var(--bs-spacer-2)) !important; + margin-left: calc(-1 * var(--bs-spacer-2)) !important; + } + + .mx-md-n3 { + margin-right: calc(-1 * var(--bs-spacer-3)) !important; + margin-left: calc(-1 * var(--bs-spacer-3)) !important; + } + + .mx-md-n4 { + margin-right: calc(-1 * var(--bs-spacer-4)) !important; + margin-left: calc(-1 * var(--bs-spacer-4)) !important; + } + + .mx-md-n5 { + margin-right: calc(-1 * var(--bs-spacer-5)) !important; + margin-left: calc(-1 * var(--bs-spacer-5)) !important; + } + + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-md-1 { + margin-top: var(--bs-spacer-1) !important; + margin-bottom: var(--bs-spacer-1) !important; + } + + .my-md-2 { + margin-top: var(--bs-spacer-2) !important; + margin-bottom: var(--bs-spacer-2) !important; + } + + .my-md-3 { + margin-top: var(--bs-spacer-3) !important; + margin-bottom: var(--bs-spacer-3) !important; + } + + .my-md-4 { + margin-top: var(--bs-spacer-4) !important; + margin-bottom: var(--bs-spacer-4) !important; + } + + .my-md-5 { + margin-top: var(--bs-spacer-5) !important; + margin-bottom: var(--bs-spacer-5) !important; + } + + .my-md-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .my-md-n1 { + margin-top: calc(-1 * var(--bs-spacer-1)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-1)) !important; + } + + .my-md-n2 { + margin-top: calc(-1 * var(--bs-spacer-2)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-2)) !important; + } + + .my-md-n3 { + margin-top: calc(-1 * var(--bs-spacer-3)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-3)) !important; + } + + .my-md-n4 { + margin-top: calc(-1 * var(--bs-spacer-4)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-4)) !important; + } + + .my-md-n5 { + margin-top: calc(-1 * var(--bs-spacer-5)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-5)) !important; + } + + .mt-md-0 { + margin-top: 0 !important; + } + + .mt-md-1 { + margin-top: var(--bs-spacer-1) !important; + } + + .mt-md-2 { + margin-top: var(--bs-spacer-2) !important; + } + + .mt-md-3 { + margin-top: var(--bs-spacer-3) !important; + } + + .mt-md-4 { + margin-top: var(--bs-spacer-4) !important; + } + + .mt-md-5 { + margin-top: var(--bs-spacer-5) !important; + } + + .mt-md-auto { + margin-top: auto !important; + } + + .mt-md-n1 { + margin-top: calc(-1 * var(--bs-spacer-1)) !important; + } + + .mt-md-n2 { + margin-top: calc(-1 * var(--bs-spacer-2)) !important; + } + + .mt-md-n3 { + margin-top: calc(-1 * var(--bs-spacer-3)) !important; + } + + .mt-md-n4 { + margin-top: calc(-1 * var(--bs-spacer-4)) !important; + } + + .mt-md-n5 { + margin-top: calc(-1 * var(--bs-spacer-5)) !important; + } + + .me-md-0 { + margin-right: 0 !important; + } + + .me-md-1 { + margin-right: var(--bs-spacer-1) !important; + } + + .me-md-2 { + margin-right: var(--bs-spacer-2) !important; + } + + .me-md-3 { + margin-right: var(--bs-spacer-3) !important; + } + + .me-md-4 { + margin-right: var(--bs-spacer-4) !important; + } + + .me-md-5 { + margin-right: var(--bs-spacer-5) !important; + } + + .me-md-auto { + margin-right: auto !important; + } + + .me-md-n1 { + margin-right: calc(-1 * var(--bs-spacer-1)) !important; + } + + .me-md-n2 { + margin-right: calc(-1 * var(--bs-spacer-2)) !important; + } + + .me-md-n3 { + margin-right: calc(-1 * var(--bs-spacer-3)) !important; + } + + .me-md-n4 { + margin-right: calc(-1 * var(--bs-spacer-4)) !important; + } + + .me-md-n5 { + margin-right: calc(-1 * var(--bs-spacer-5)) !important; + } + + .mb-md-0 { + margin-bottom: 0 !important; + } + + .mb-md-1 { + margin-bottom: var(--bs-spacer-1) !important; + } + + .mb-md-2 { + margin-bottom: var(--bs-spacer-2) !important; + } + + .mb-md-3 { + margin-bottom: var(--bs-spacer-3) !important; + } + + .mb-md-4 { + margin-bottom: var(--bs-spacer-4) !important; + } + + .mb-md-5 { + margin-bottom: var(--bs-spacer-5) !important; + } + + .mb-md-auto { + margin-bottom: auto !important; + } + + .mb-md-n1 { + margin-bottom: calc(-1 * var(--bs-spacer-1)) !important; + } + + .mb-md-n2 { + margin-bottom: calc(-1 * var(--bs-spacer-2)) !important; + } + + .mb-md-n3 { + margin-bottom: calc(-1 * var(--bs-spacer-3)) !important; + } + + .mb-md-n4 { + margin-bottom: calc(-1 * var(--bs-spacer-4)) !important; + } + + .mb-md-n5 { + margin-bottom: calc(-1 * var(--bs-spacer-5)) !important; + } + + .ms-md-0 { + margin-left: 0 !important; + } + + .ms-md-1 { + margin-left: var(--bs-spacer-1) !important; + } + + .ms-md-2 { + margin-left: var(--bs-spacer-2) !important; + } + + .ms-md-3 { + margin-left: var(--bs-spacer-3) !important; + } + + .ms-md-4 { + margin-left: var(--bs-spacer-4) !important; + } + + .ms-md-5 { + margin-left: var(--bs-spacer-5) !important; + } + + .ms-md-auto { + margin-left: auto !important; + } + + .ms-md-n1 { + margin-left: calc(-1 * var(--bs-spacer-1)) !important; + } + + .ms-md-n2 { + margin-left: calc(-1 * var(--bs-spacer-2)) !important; + } + + .ms-md-n3 { + margin-left: calc(-1 * var(--bs-spacer-3)) !important; + } + + .ms-md-n4 { + margin-left: calc(-1 * var(--bs-spacer-4)) !important; + } + + .ms-md-n5 { + margin-left: calc(-1 * var(--bs-spacer-5)) !important; + } + + .p-md-0 { + padding: 0 !important; + } + + .p-md-1 { + padding: var(--bs-spacer-1) !important; + } + + .p-md-2 { + padding: var(--bs-spacer-2) !important; + } + + .p-md-3 { + padding: var(--bs-spacer-3) !important; + } + + .p-md-4 { + padding: var(--bs-spacer-4) !important; + } + + .p-md-5 { + padding: var(--bs-spacer-5) !important; + } + + .px-md-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + + .px-md-1 { + padding-right: var(--bs-spacer-1) !important; + padding-left: var(--bs-spacer-1) !important; + } + + .px-md-2 { + padding-right: var(--bs-spacer-2) !important; + padding-left: var(--bs-spacer-2) !important; + } + + .px-md-3 { + padding-right: var(--bs-spacer-3) !important; + padding-left: var(--bs-spacer-3) !important; + } + + .px-md-4 { + padding-right: var(--bs-spacer-4) !important; + padding-left: var(--bs-spacer-4) !important; + } + + .px-md-5 { + padding-right: var(--bs-spacer-5) !important; + padding-left: var(--bs-spacer-5) !important; + } + + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-md-1 { + padding-top: var(--bs-spacer-1) !important; + padding-bottom: var(--bs-spacer-1) !important; + } + + .py-md-2 { + padding-top: var(--bs-spacer-2) !important; + padding-bottom: var(--bs-spacer-2) !important; + } + + .py-md-3 { + padding-top: var(--bs-spacer-3) !important; + padding-bottom: var(--bs-spacer-3) !important; + } + + .py-md-4 { + padding-top: var(--bs-spacer-4) !important; + padding-bottom: var(--bs-spacer-4) !important; + } + + .py-md-5 { + padding-top: var(--bs-spacer-5) !important; + padding-bottom: var(--bs-spacer-5) !important; + } + + .pt-md-0 { + padding-top: 0 !important; + } + + .pt-md-1 { + padding-top: var(--bs-spacer-1) !important; + } + + .pt-md-2 { + padding-top: var(--bs-spacer-2) !important; + } + + .pt-md-3 { + padding-top: var(--bs-spacer-3) !important; + } + + .pt-md-4 { + padding-top: var(--bs-spacer-4) !important; + } + + .pt-md-5 { + padding-top: var(--bs-spacer-5) !important; + } + + .pe-md-0 { + padding-right: 0 !important; + } + + .pe-md-1 { + padding-right: var(--bs-spacer-1) !important; + } + + .pe-md-2 { + padding-right: var(--bs-spacer-2) !important; + } + + .pe-md-3 { + padding-right: var(--bs-spacer-3) !important; + } + + .pe-md-4 { + padding-right: var(--bs-spacer-4) !important; + } + + .pe-md-5 { + padding-right: var(--bs-spacer-5) !important; + } + + .pb-md-0 { + padding-bottom: 0 !important; + } + + .pb-md-1 { + padding-bottom: var(--bs-spacer-1) !important; + } + + .pb-md-2 { + padding-bottom: var(--bs-spacer-2) !important; + } + + .pb-md-3 { + padding-bottom: var(--bs-spacer-3) !important; + } + + .pb-md-4 { + padding-bottom: var(--bs-spacer-4) !important; + } + + .pb-md-5 { + padding-bottom: var(--bs-spacer-5) !important; + } + + .ps-md-0 { + padding-left: 0 !important; + } + + .ps-md-1 { + padding-left: var(--bs-spacer-1) !important; + } + + .ps-md-2 { + padding-left: var(--bs-spacer-2) !important; + } + + .ps-md-3 { + padding-left: var(--bs-spacer-3) !important; + } + + .ps-md-4 { + padding-left: var(--bs-spacer-4) !important; + } + + .ps-md-5 { + padding-left: var(--bs-spacer-5) !important; + } + + .gap-md-0 { + gap: 0 !important; + } + + .gap-md-1 { + gap: var(--bs-spacer-1) !important; + } + + .gap-md-2 { + gap: var(--bs-spacer-2) !important; + } + + .gap-md-3 { + gap: var(--bs-spacer-3) !important; + } + + .gap-md-4 { + gap: var(--bs-spacer-4) !important; + } + + .gap-md-5 { + gap: var(--bs-spacer-5) !important; + } + + .row-gap-md-0 { + gap: 0 !important; + } + + .row-gap-md-1 { + row-gap: var(--bs-spacer-1) !important; + } + + .row-gap-md-2 { + row-gap: var(--bs-spacer-2) !important; + } + + .row-gap-md-3 { + row-gap: var(--bs-spacer-3) !important; + } + + .row-gap-md-4 { + row-gap: var(--bs-spacer-4) !important; + } + + .row-gap-md-5 { + row-gap: var(--bs-spacer-5) !important; + } + + .column-gap-md-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + + .column-gap-md-1 { + -moz-column-gap: var(--bs-spacer-1) !important; + column-gap: var(--bs-spacer-1) !important; + } + + .column-gap-md-2 { + -moz-column-gap: var(--bs-spacer-2) !important; + column-gap: var(--bs-spacer-2) !important; + } + + .column-gap-md-3 { + -moz-column-gap: var(--bs-spacer-3) !important; + column-gap: var(--bs-spacer-3) !important; + } + + .column-gap-md-4 { + -moz-column-gap: var(--bs-spacer-4) !important; + column-gap: var(--bs-spacer-4) !important; + } + + .column-gap-md-5 { + -moz-column-gap: var(--bs-spacer-5) !important; + column-gap: var(--bs-spacer-5) !important; + } +} + +@media (min-width: 992px) { + .m-lg-0 { + margin: 0 !important; + } + + .m-lg-1 { + margin: var(--bs-spacer-1) !important; + } + + .m-lg-2 { + margin: var(--bs-spacer-2) !important; + } + + .m-lg-3 { + margin: var(--bs-spacer-3) !important; + } + + .m-lg-4 { + margin: var(--bs-spacer-4) !important; + } + + .m-lg-5 { + margin: var(--bs-spacer-5) !important; + } + + .m-lg-auto { + margin: auto !important; + } + + .m-lg-n1 { + margin: calc(-1 * var(--bs-spacer-1)) !important; + } + + .m-lg-n2 { + margin: calc(-1 * var(--bs-spacer-2)) !important; + } + + .m-lg-n3 { + margin: calc(-1 * var(--bs-spacer-3)) !important; + } + + .m-lg-n4 { + margin: calc(-1 * var(--bs-spacer-4)) !important; + } + + .m-lg-n5 { + margin: calc(-1 * var(--bs-spacer-5)) !important; + } + + .mx-lg-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + + .mx-lg-1 { + margin-right: var(--bs-spacer-1) !important; + margin-left: var(--bs-spacer-1) !important; + } + + .mx-lg-2 { + margin-right: var(--bs-spacer-2) !important; + margin-left: var(--bs-spacer-2) !important; + } + + .mx-lg-3 { + margin-right: var(--bs-spacer-3) !important; + margin-left: var(--bs-spacer-3) !important; + } + + .mx-lg-4 { + margin-right: var(--bs-spacer-4) !important; + margin-left: var(--bs-spacer-4) !important; + } + + .mx-lg-5 { + margin-right: var(--bs-spacer-5) !important; + margin-left: var(--bs-spacer-5) !important; + } + + .mx-lg-auto { + margin-right: auto !important; + margin-left: auto !important; + } + + .mx-lg-n1 { + margin-right: calc(-1 * var(--bs-spacer-1)) !important; + margin-left: calc(-1 * var(--bs-spacer-1)) !important; + } + + .mx-lg-n2 { + margin-right: calc(-1 * var(--bs-spacer-2)) !important; + margin-left: calc(-1 * var(--bs-spacer-2)) !important; + } + + .mx-lg-n3 { + margin-right: calc(-1 * var(--bs-spacer-3)) !important; + margin-left: calc(-1 * var(--bs-spacer-3)) !important; + } + + .mx-lg-n4 { + margin-right: calc(-1 * var(--bs-spacer-4)) !important; + margin-left: calc(-1 * var(--bs-spacer-4)) !important; + } + + .mx-lg-n5 { + margin-right: calc(-1 * var(--bs-spacer-5)) !important; + margin-left: calc(-1 * var(--bs-spacer-5)) !important; + } + + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-lg-1 { + margin-top: var(--bs-spacer-1) !important; + margin-bottom: var(--bs-spacer-1) !important; + } + + .my-lg-2 { + margin-top: var(--bs-spacer-2) !important; + margin-bottom: var(--bs-spacer-2) !important; + } + + .my-lg-3 { + margin-top: var(--bs-spacer-3) !important; + margin-bottom: var(--bs-spacer-3) !important; + } + + .my-lg-4 { + margin-top: var(--bs-spacer-4) !important; + margin-bottom: var(--bs-spacer-4) !important; + } + + .my-lg-5 { + margin-top: var(--bs-spacer-5) !important; + margin-bottom: var(--bs-spacer-5) !important; + } + + .my-lg-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .my-lg-n1 { + margin-top: calc(-1 * var(--bs-spacer-1)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-1)) !important; + } + + .my-lg-n2 { + margin-top: calc(-1 * var(--bs-spacer-2)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-2)) !important; + } + + .my-lg-n3 { + margin-top: calc(-1 * var(--bs-spacer-3)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-3)) !important; + } + + .my-lg-n4 { + margin-top: calc(-1 * var(--bs-spacer-4)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-4)) !important; + } + + .my-lg-n5 { + margin-top: calc(-1 * var(--bs-spacer-5)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-5)) !important; + } + + .mt-lg-0 { + margin-top: 0 !important; + } + + .mt-lg-1 { + margin-top: var(--bs-spacer-1) !important; + } + + .mt-lg-2 { + margin-top: var(--bs-spacer-2) !important; + } + + .mt-lg-3 { + margin-top: var(--bs-spacer-3) !important; + } + + .mt-lg-4 { + margin-top: var(--bs-spacer-4) !important; + } + + .mt-lg-5 { + margin-top: var(--bs-spacer-5) !important; + } + + .mt-lg-auto { + margin-top: auto !important; + } + + .mt-lg-n1 { + margin-top: calc(-1 * var(--bs-spacer-1)) !important; + } + + .mt-lg-n2 { + margin-top: calc(-1 * var(--bs-spacer-2)) !important; + } + + .mt-lg-n3 { + margin-top: calc(-1 * var(--bs-spacer-3)) !important; + } + + .mt-lg-n4 { + margin-top: calc(-1 * var(--bs-spacer-4)) !important; + } + + .mt-lg-n5 { + margin-top: calc(-1 * var(--bs-spacer-5)) !important; + } + + .me-lg-0 { + margin-right: 0 !important; + } + + .me-lg-1 { + margin-right: var(--bs-spacer-1) !important; + } + + .me-lg-2 { + margin-right: var(--bs-spacer-2) !important; + } + + .me-lg-3 { + margin-right: var(--bs-spacer-3) !important; + } + + .me-lg-4 { + margin-right: var(--bs-spacer-4) !important; + } + + .me-lg-5 { + margin-right: var(--bs-spacer-5) !important; + } + + .me-lg-auto { + margin-right: auto !important; + } + + .me-lg-n1 { + margin-right: calc(-1 * var(--bs-spacer-1)) !important; + } + + .me-lg-n2 { + margin-right: calc(-1 * var(--bs-spacer-2)) !important; + } + + .me-lg-n3 { + margin-right: calc(-1 * var(--bs-spacer-3)) !important; + } + + .me-lg-n4 { + margin-right: calc(-1 * var(--bs-spacer-4)) !important; + } + + .me-lg-n5 { + margin-right: calc(-1 * var(--bs-spacer-5)) !important; + } + + .mb-lg-0 { + margin-bottom: 0 !important; + } + + .mb-lg-1 { + margin-bottom: var(--bs-spacer-1) !important; + } + + .mb-lg-2 { + margin-bottom: var(--bs-spacer-2) !important; + } + + .mb-lg-3 { + margin-bottom: var(--bs-spacer-3) !important; + } + + .mb-lg-4 { + margin-bottom: var(--bs-spacer-4) !important; + } + + .mb-lg-5 { + margin-bottom: var(--bs-spacer-5) !important; + } + + .mb-lg-auto { + margin-bottom: auto !important; + } + + .mb-lg-n1 { + margin-bottom: calc(-1 * var(--bs-spacer-1)) !important; + } + + .mb-lg-n2 { + margin-bottom: calc(-1 * var(--bs-spacer-2)) !important; + } + + .mb-lg-n3 { + margin-bottom: calc(-1 * var(--bs-spacer-3)) !important; + } + + .mb-lg-n4 { + margin-bottom: calc(-1 * var(--bs-spacer-4)) !important; + } + + .mb-lg-n5 { + margin-bottom: calc(-1 * var(--bs-spacer-5)) !important; + } + + .ms-lg-0 { + margin-left: 0 !important; + } + + .ms-lg-1 { + margin-left: var(--bs-spacer-1) !important; + } + + .ms-lg-2 { + margin-left: var(--bs-spacer-2) !important; + } + + .ms-lg-3 { + margin-left: var(--bs-spacer-3) !important; + } + + .ms-lg-4 { + margin-left: var(--bs-spacer-4) !important; + } + + .ms-lg-5 { + margin-left: var(--bs-spacer-5) !important; + } + + .ms-lg-auto { + margin-left: auto !important; + } + + .ms-lg-n1 { + margin-left: calc(-1 * var(--bs-spacer-1)) !important; + } + + .ms-lg-n2 { + margin-left: calc(-1 * var(--bs-spacer-2)) !important; + } + + .ms-lg-n3 { + margin-left: calc(-1 * var(--bs-spacer-3)) !important; + } + + .ms-lg-n4 { + margin-left: calc(-1 * var(--bs-spacer-4)) !important; + } + + .ms-lg-n5 { + margin-left: calc(-1 * var(--bs-spacer-5)) !important; + } + + .p-lg-0 { + padding: 0 !important; + } + + .p-lg-1 { + padding: var(--bs-spacer-1) !important; + } + + .p-lg-2 { + padding: var(--bs-spacer-2) !important; + } + + .p-lg-3 { + padding: var(--bs-spacer-3) !important; + } + + .p-lg-4 { + padding: var(--bs-spacer-4) !important; + } + + .p-lg-5 { + padding: var(--bs-spacer-5) !important; + } + + .px-lg-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + + .px-lg-1 { + padding-right: var(--bs-spacer-1) !important; + padding-left: var(--bs-spacer-1) !important; + } + + .px-lg-2 { + padding-right: var(--bs-spacer-2) !important; + padding-left: var(--bs-spacer-2) !important; + } + + .px-lg-3 { + padding-right: var(--bs-spacer-3) !important; + padding-left: var(--bs-spacer-3) !important; + } + + .px-lg-4 { + padding-right: var(--bs-spacer-4) !important; + padding-left: var(--bs-spacer-4) !important; + } + + .px-lg-5 { + padding-right: var(--bs-spacer-5) !important; + padding-left: var(--bs-spacer-5) !important; + } + + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-lg-1 { + padding-top: var(--bs-spacer-1) !important; + padding-bottom: var(--bs-spacer-1) !important; + } + + .py-lg-2 { + padding-top: var(--bs-spacer-2) !important; + padding-bottom: var(--bs-spacer-2) !important; + } + + .py-lg-3 { + padding-top: var(--bs-spacer-3) !important; + padding-bottom: var(--bs-spacer-3) !important; + } + + .py-lg-4 { + padding-top: var(--bs-spacer-4) !important; + padding-bottom: var(--bs-spacer-4) !important; + } + + .py-lg-5 { + padding-top: var(--bs-spacer-5) !important; + padding-bottom: var(--bs-spacer-5) !important; + } + + .pt-lg-0 { + padding-top: 0 !important; + } + + .pt-lg-1 { + padding-top: var(--bs-spacer-1) !important; + } + + .pt-lg-2 { + padding-top: var(--bs-spacer-2) !important; + } + + .pt-lg-3 { + padding-top: var(--bs-spacer-3) !important; + } + + .pt-lg-4 { + padding-top: var(--bs-spacer-4) !important; + } + + .pt-lg-5 { + padding-top: var(--bs-spacer-5) !important; + } + + .pe-lg-0 { + padding-right: 0 !important; + } + + .pe-lg-1 { + padding-right: var(--bs-spacer-1) !important; + } + + .pe-lg-2 { + padding-right: var(--bs-spacer-2) !important; + } + + .pe-lg-3 { + padding-right: var(--bs-spacer-3) !important; + } + + .pe-lg-4 { + padding-right: var(--bs-spacer-4) !important; + } + + .pe-lg-5 { + padding-right: var(--bs-spacer-5) !important; + } + + .pb-lg-0 { + padding-bottom: 0 !important; + } + + .pb-lg-1 { + padding-bottom: var(--bs-spacer-1) !important; + } + + .pb-lg-2 { + padding-bottom: var(--bs-spacer-2) !important; + } + + .pb-lg-3 { + padding-bottom: var(--bs-spacer-3) !important; + } + + .pb-lg-4 { + padding-bottom: var(--bs-spacer-4) !important; + } + + .pb-lg-5 { + padding-bottom: var(--bs-spacer-5) !important; + } + + .ps-lg-0 { + padding-left: 0 !important; + } + + .ps-lg-1 { + padding-left: var(--bs-spacer-1) !important; + } + + .ps-lg-2 { + padding-left: var(--bs-spacer-2) !important; + } + + .ps-lg-3 { + padding-left: var(--bs-spacer-3) !important; + } + + .ps-lg-4 { + padding-left: var(--bs-spacer-4) !important; + } + + .ps-lg-5 { + padding-left: var(--bs-spacer-5) !important; + } + + .gap-lg-0 { + gap: 0 !important; + } + + .gap-lg-1 { + gap: var(--bs-spacer-1) !important; + } + + .gap-lg-2 { + gap: var(--bs-spacer-2) !important; + } + + .gap-lg-3 { + gap: var(--bs-spacer-3) !important; + } + + .gap-lg-4 { + gap: var(--bs-spacer-4) !important; + } + + .gap-lg-5 { + gap: var(--bs-spacer-5) !important; + } + + .row-gap-lg-0 { + gap: 0 !important; + } + + .row-gap-lg-1 { + row-gap: var(--bs-spacer-1) !important; + } + + .row-gap-lg-2 { + row-gap: var(--bs-spacer-2) !important; + } + + .row-gap-lg-3 { + row-gap: var(--bs-spacer-3) !important; + } + + .row-gap-lg-4 { + row-gap: var(--bs-spacer-4) !important; + } + + .row-gap-lg-5 { + row-gap: var(--bs-spacer-5) !important; + } + + .column-gap-lg-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + + .column-gap-lg-1 { + -moz-column-gap: var(--bs-spacer-1) !important; + column-gap: var(--bs-spacer-1) !important; + } + + .column-gap-lg-2 { + -moz-column-gap: var(--bs-spacer-2) !important; + column-gap: var(--bs-spacer-2) !important; + } + + .column-gap-lg-3 { + -moz-column-gap: var(--bs-spacer-3) !important; + column-gap: var(--bs-spacer-3) !important; + } + + .column-gap-lg-4 { + -moz-column-gap: var(--bs-spacer-4) !important; + column-gap: var(--bs-spacer-4) !important; + } + + .column-gap-lg-5 { + -moz-column-gap: var(--bs-spacer-5) !important; + column-gap: var(--bs-spacer-5) !important; + } +} + +@media (min-width: 1200px) { + .m-xl-0 { + margin: 0 !important; + } + + .m-xl-1 { + margin: var(--bs-spacer-1) !important; + } + + .m-xl-2 { + margin: var(--bs-spacer-2) !important; + } + + .m-xl-3 { + margin: var(--bs-spacer-3) !important; + } + + .m-xl-4 { + margin: var(--bs-spacer-4) !important; + } + + .m-xl-5 { + margin: var(--bs-spacer-5) !important; + } + + .m-xl-auto { + margin: auto !important; + } + + .m-xl-n1 { + margin: calc(-1 * var(--bs-spacer-1)) !important; + } + + .m-xl-n2 { + margin: calc(-1 * var(--bs-spacer-2)) !important; + } + + .m-xl-n3 { + margin: calc(-1 * var(--bs-spacer-3)) !important; + } + + .m-xl-n4 { + margin: calc(-1 * var(--bs-spacer-4)) !important; + } + + .m-xl-n5 { + margin: calc(-1 * var(--bs-spacer-5)) !important; + } + + .mx-xl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + + .mx-xl-1 { + margin-right: var(--bs-spacer-1) !important; + margin-left: var(--bs-spacer-1) !important; + } + + .mx-xl-2 { + margin-right: var(--bs-spacer-2) !important; + margin-left: var(--bs-spacer-2) !important; + } + + .mx-xl-3 { + margin-right: var(--bs-spacer-3) !important; + margin-left: var(--bs-spacer-3) !important; + } + + .mx-xl-4 { + margin-right: var(--bs-spacer-4) !important; + margin-left: var(--bs-spacer-4) !important; + } + + .mx-xl-5 { + margin-right: var(--bs-spacer-5) !important; + margin-left: var(--bs-spacer-5) !important; + } + + .mx-xl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + + .mx-xl-n1 { + margin-right: calc(-1 * var(--bs-spacer-1)) !important; + margin-left: calc(-1 * var(--bs-spacer-1)) !important; + } + + .mx-xl-n2 { + margin-right: calc(-1 * var(--bs-spacer-2)) !important; + margin-left: calc(-1 * var(--bs-spacer-2)) !important; + } + + .mx-xl-n3 { + margin-right: calc(-1 * var(--bs-spacer-3)) !important; + margin-left: calc(-1 * var(--bs-spacer-3)) !important; + } + + .mx-xl-n4 { + margin-right: calc(-1 * var(--bs-spacer-4)) !important; + margin-left: calc(-1 * var(--bs-spacer-4)) !important; + } + + .mx-xl-n5 { + margin-right: calc(-1 * var(--bs-spacer-5)) !important; + margin-left: calc(-1 * var(--bs-spacer-5)) !important; + } + + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-xl-1 { + margin-top: var(--bs-spacer-1) !important; + margin-bottom: var(--bs-spacer-1) !important; + } + + .my-xl-2 { + margin-top: var(--bs-spacer-2) !important; + margin-bottom: var(--bs-spacer-2) !important; + } + + .my-xl-3 { + margin-top: var(--bs-spacer-3) !important; + margin-bottom: var(--bs-spacer-3) !important; + } + + .my-xl-4 { + margin-top: var(--bs-spacer-4) !important; + margin-bottom: var(--bs-spacer-4) !important; + } + + .my-xl-5 { + margin-top: var(--bs-spacer-5) !important; + margin-bottom: var(--bs-spacer-5) !important; + } + + .my-xl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .my-xl-n1 { + margin-top: calc(-1 * var(--bs-spacer-1)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-1)) !important; + } + + .my-xl-n2 { + margin-top: calc(-1 * var(--bs-spacer-2)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-2)) !important; + } + + .my-xl-n3 { + margin-top: calc(-1 * var(--bs-spacer-3)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-3)) !important; + } + + .my-xl-n4 { + margin-top: calc(-1 * var(--bs-spacer-4)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-4)) !important; + } + + .my-xl-n5 { + margin-top: calc(-1 * var(--bs-spacer-5)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-5)) !important; + } + + .mt-xl-0 { + margin-top: 0 !important; + } + + .mt-xl-1 { + margin-top: var(--bs-spacer-1) !important; + } + + .mt-xl-2 { + margin-top: var(--bs-spacer-2) !important; + } + + .mt-xl-3 { + margin-top: var(--bs-spacer-3) !important; + } + + .mt-xl-4 { + margin-top: var(--bs-spacer-4) !important; + } + + .mt-xl-5 { + margin-top: var(--bs-spacer-5) !important; + } + + .mt-xl-auto { + margin-top: auto !important; + } + + .mt-xl-n1 { + margin-top: calc(-1 * var(--bs-spacer-1)) !important; + } + + .mt-xl-n2 { + margin-top: calc(-1 * var(--bs-spacer-2)) !important; + } + + .mt-xl-n3 { + margin-top: calc(-1 * var(--bs-spacer-3)) !important; + } + + .mt-xl-n4 { + margin-top: calc(-1 * var(--bs-spacer-4)) !important; + } + + .mt-xl-n5 { + margin-top: calc(-1 * var(--bs-spacer-5)) !important; + } + + .me-xl-0 { + margin-right: 0 !important; + } + + .me-xl-1 { + margin-right: var(--bs-spacer-1) !important; + } + + .me-xl-2 { + margin-right: var(--bs-spacer-2) !important; + } + + .me-xl-3 { + margin-right: var(--bs-spacer-3) !important; + } + + .me-xl-4 { + margin-right: var(--bs-spacer-4) !important; + } + + .me-xl-5 { + margin-right: var(--bs-spacer-5) !important; + } + + .me-xl-auto { + margin-right: auto !important; + } + + .me-xl-n1 { + margin-right: calc(-1 * var(--bs-spacer-1)) !important; + } + + .me-xl-n2 { + margin-right: calc(-1 * var(--bs-spacer-2)) !important; + } + + .me-xl-n3 { + margin-right: calc(-1 * var(--bs-spacer-3)) !important; + } + + .me-xl-n4 { + margin-right: calc(-1 * var(--bs-spacer-4)) !important; + } + + .me-xl-n5 { + margin-right: calc(-1 * var(--bs-spacer-5)) !important; + } + + .mb-xl-0 { + margin-bottom: 0 !important; + } + + .mb-xl-1 { + margin-bottom: var(--bs-spacer-1) !important; + } + + .mb-xl-2 { + margin-bottom: var(--bs-spacer-2) !important; + } + + .mb-xl-3 { + margin-bottom: var(--bs-spacer-3) !important; + } + + .mb-xl-4 { + margin-bottom: var(--bs-spacer-4) !important; + } + + .mb-xl-5 { + margin-bottom: var(--bs-spacer-5) !important; + } + + .mb-xl-auto { + margin-bottom: auto !important; + } + + .mb-xl-n1 { + margin-bottom: calc(-1 * var(--bs-spacer-1)) !important; + } + + .mb-xl-n2 { + margin-bottom: calc(-1 * var(--bs-spacer-2)) !important; + } + + .mb-xl-n3 { + margin-bottom: calc(-1 * var(--bs-spacer-3)) !important; + } + + .mb-xl-n4 { + margin-bottom: calc(-1 * var(--bs-spacer-4)) !important; + } + + .mb-xl-n5 { + margin-bottom: calc(-1 * var(--bs-spacer-5)) !important; + } + + .ms-xl-0 { + margin-left: 0 !important; + } + + .ms-xl-1 { + margin-left: var(--bs-spacer-1) !important; + } + + .ms-xl-2 { + margin-left: var(--bs-spacer-2) !important; + } + + .ms-xl-3 { + margin-left: var(--bs-spacer-3) !important; + } + + .ms-xl-4 { + margin-left: var(--bs-spacer-4) !important; + } + + .ms-xl-5 { + margin-left: var(--bs-spacer-5) !important; + } + + .ms-xl-auto { + margin-left: auto !important; + } + + .ms-xl-n1 { + margin-left: calc(-1 * var(--bs-spacer-1)) !important; + } + + .ms-xl-n2 { + margin-left: calc(-1 * var(--bs-spacer-2)) !important; + } + + .ms-xl-n3 { + margin-left: calc(-1 * var(--bs-spacer-3)) !important; + } + + .ms-xl-n4 { + margin-left: calc(-1 * var(--bs-spacer-4)) !important; + } + + .ms-xl-n5 { + margin-left: calc(-1 * var(--bs-spacer-5)) !important; + } + + .p-xl-0 { + padding: 0 !important; + } + + .p-xl-1 { + padding: var(--bs-spacer-1) !important; + } + + .p-xl-2 { + padding: var(--bs-spacer-2) !important; + } + + .p-xl-3 { + padding: var(--bs-spacer-3) !important; + } + + .p-xl-4 { + padding: var(--bs-spacer-4) !important; + } + + .p-xl-5 { + padding: var(--bs-spacer-5) !important; + } + + .px-xl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + + .px-xl-1 { + padding-right: var(--bs-spacer-1) !important; + padding-left: var(--bs-spacer-1) !important; + } + + .px-xl-2 { + padding-right: var(--bs-spacer-2) !important; + padding-left: var(--bs-spacer-2) !important; + } + + .px-xl-3 { + padding-right: var(--bs-spacer-3) !important; + padding-left: var(--bs-spacer-3) !important; + } + + .px-xl-4 { + padding-right: var(--bs-spacer-4) !important; + padding-left: var(--bs-spacer-4) !important; + } + + .px-xl-5 { + padding-right: var(--bs-spacer-5) !important; + padding-left: var(--bs-spacer-5) !important; + } + + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-xl-1 { + padding-top: var(--bs-spacer-1) !important; + padding-bottom: var(--bs-spacer-1) !important; + } + + .py-xl-2 { + padding-top: var(--bs-spacer-2) !important; + padding-bottom: var(--bs-spacer-2) !important; + } + + .py-xl-3 { + padding-top: var(--bs-spacer-3) !important; + padding-bottom: var(--bs-spacer-3) !important; + } + + .py-xl-4 { + padding-top: var(--bs-spacer-4) !important; + padding-bottom: var(--bs-spacer-4) !important; + } + + .py-xl-5 { + padding-top: var(--bs-spacer-5) !important; + padding-bottom: var(--bs-spacer-5) !important; + } + + .pt-xl-0 { + padding-top: 0 !important; + } + + .pt-xl-1 { + padding-top: var(--bs-spacer-1) !important; + } + + .pt-xl-2 { + padding-top: var(--bs-spacer-2) !important; + } + + .pt-xl-3 { + padding-top: var(--bs-spacer-3) !important; + } + + .pt-xl-4 { + padding-top: var(--bs-spacer-4) !important; + } + + .pt-xl-5 { + padding-top: var(--bs-spacer-5) !important; + } + + .pe-xl-0 { + padding-right: 0 !important; + } + + .pe-xl-1 { + padding-right: var(--bs-spacer-1) !important; + } + + .pe-xl-2 { + padding-right: var(--bs-spacer-2) !important; + } + + .pe-xl-3 { + padding-right: var(--bs-spacer-3) !important; + } + + .pe-xl-4 { + padding-right: var(--bs-spacer-4) !important; + } + + .pe-xl-5 { + padding-right: var(--bs-spacer-5) !important; + } + + .pb-xl-0 { + padding-bottom: 0 !important; + } + + .pb-xl-1 { + padding-bottom: var(--bs-spacer-1) !important; + } + + .pb-xl-2 { + padding-bottom: var(--bs-spacer-2) !important; + } + + .pb-xl-3 { + padding-bottom: var(--bs-spacer-3) !important; + } + + .pb-xl-4 { + padding-bottom: var(--bs-spacer-4) !important; + } + + .pb-xl-5 { + padding-bottom: var(--bs-spacer-5) !important; + } + + .ps-xl-0 { + padding-left: 0 !important; + } + + .ps-xl-1 { + padding-left: var(--bs-spacer-1) !important; + } + + .ps-xl-2 { + padding-left: var(--bs-spacer-2) !important; + } + + .ps-xl-3 { + padding-left: var(--bs-spacer-3) !important; + } + + .ps-xl-4 { + padding-left: var(--bs-spacer-4) !important; + } + + .ps-xl-5 { + padding-left: var(--bs-spacer-5) !important; + } + + .gap-xl-0 { + gap: 0 !important; + } + + .gap-xl-1 { + gap: var(--bs-spacer-1) !important; + } + + .gap-xl-2 { + gap: var(--bs-spacer-2) !important; + } + + .gap-xl-3 { + gap: var(--bs-spacer-3) !important; + } + + .gap-xl-4 { + gap: var(--bs-spacer-4) !important; + } + + .gap-xl-5 { + gap: var(--bs-spacer-5) !important; + } + + .row-gap-xl-0 { + gap: 0 !important; + } + + .row-gap-xl-1 { + row-gap: var(--bs-spacer-1) !important; + } + + .row-gap-xl-2 { + row-gap: var(--bs-spacer-2) !important; + } + + .row-gap-xl-3 { + row-gap: var(--bs-spacer-3) !important; + } + + .row-gap-xl-4 { + row-gap: var(--bs-spacer-4) !important; + } + + .row-gap-xl-5 { + row-gap: var(--bs-spacer-5) !important; + } + + .column-gap-xl-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + + .column-gap-xl-1 { + -moz-column-gap: var(--bs-spacer-1) !important; + column-gap: var(--bs-spacer-1) !important; + } + + .column-gap-xl-2 { + -moz-column-gap: var(--bs-spacer-2) !important; + column-gap: var(--bs-spacer-2) !important; + } + + .column-gap-xl-3 { + -moz-column-gap: var(--bs-spacer-3) !important; + column-gap: var(--bs-spacer-3) !important; + } + + .column-gap-xl-4 { + -moz-column-gap: var(--bs-spacer-4) !important; + column-gap: var(--bs-spacer-4) !important; + } + + .column-gap-xl-5 { + -moz-column-gap: var(--bs-spacer-5) !important; + column-gap: var(--bs-spacer-5) !important; + } +} + +@media (min-width: 1400px) { + .m-xxl-0 { + margin: 0 !important; + } + + .m-xxl-1 { + margin: var(--bs-spacer-1) !important; + } + + .m-xxl-2 { + margin: var(--bs-spacer-2) !important; + } + + .m-xxl-3 { + margin: var(--bs-spacer-3) !important; + } + + .m-xxl-4 { + margin: var(--bs-spacer-4) !important; + } + + .m-xxl-5 { + margin: var(--bs-spacer-5) !important; + } + + .m-xxl-auto { + margin: auto !important; + } + + .m-xxl-n1 { + margin: calc(-1 * var(--bs-spacer-1)) !important; + } + + .m-xxl-n2 { + margin: calc(-1 * var(--bs-spacer-2)) !important; + } + + .m-xxl-n3 { + margin: calc(-1 * var(--bs-spacer-3)) !important; + } + + .m-xxl-n4 { + margin: calc(-1 * var(--bs-spacer-4)) !important; + } + + .m-xxl-n5 { + margin: calc(-1 * var(--bs-spacer-5)) !important; + } + + .mx-xxl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + + .mx-xxl-1 { + margin-right: var(--bs-spacer-1) !important; + margin-left: var(--bs-spacer-1) !important; + } + + .mx-xxl-2 { + margin-right: var(--bs-spacer-2) !important; + margin-left: var(--bs-spacer-2) !important; + } + + .mx-xxl-3 { + margin-right: var(--bs-spacer-3) !important; + margin-left: var(--bs-spacer-3) !important; + } + + .mx-xxl-4 { + margin-right: var(--bs-spacer-4) !important; + margin-left: var(--bs-spacer-4) !important; + } + + .mx-xxl-5 { + margin-right: var(--bs-spacer-5) !important; + margin-left: var(--bs-spacer-5) !important; + } + + .mx-xxl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + + .mx-xxl-n1 { + margin-right: calc(-1 * var(--bs-spacer-1)) !important; + margin-left: calc(-1 * var(--bs-spacer-1)) !important; + } + + .mx-xxl-n2 { + margin-right: calc(-1 * var(--bs-spacer-2)) !important; + margin-left: calc(-1 * var(--bs-spacer-2)) !important; + } + + .mx-xxl-n3 { + margin-right: calc(-1 * var(--bs-spacer-3)) !important; + margin-left: calc(-1 * var(--bs-spacer-3)) !important; + } + + .mx-xxl-n4 { + margin-right: calc(-1 * var(--bs-spacer-4)) !important; + margin-left: calc(-1 * var(--bs-spacer-4)) !important; + } + + .mx-xxl-n5 { + margin-right: calc(-1 * var(--bs-spacer-5)) !important; + margin-left: calc(-1 * var(--bs-spacer-5)) !important; + } + + .my-xxl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-xxl-1 { + margin-top: var(--bs-spacer-1) !important; + margin-bottom: var(--bs-spacer-1) !important; + } + + .my-xxl-2 { + margin-top: var(--bs-spacer-2) !important; + margin-bottom: var(--bs-spacer-2) !important; + } + + .my-xxl-3 { + margin-top: var(--bs-spacer-3) !important; + margin-bottom: var(--bs-spacer-3) !important; + } + + .my-xxl-4 { + margin-top: var(--bs-spacer-4) !important; + margin-bottom: var(--bs-spacer-4) !important; + } + + .my-xxl-5 { + margin-top: var(--bs-spacer-5) !important; + margin-bottom: var(--bs-spacer-5) !important; + } + + .my-xxl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .my-xxl-n1 { + margin-top: calc(-1 * var(--bs-spacer-1)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-1)) !important; + } + + .my-xxl-n2 { + margin-top: calc(-1 * var(--bs-spacer-2)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-2)) !important; + } + + .my-xxl-n3 { + margin-top: calc(-1 * var(--bs-spacer-3)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-3)) !important; + } + + .my-xxl-n4 { + margin-top: calc(-1 * var(--bs-spacer-4)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-4)) !important; + } + + .my-xxl-n5 { + margin-top: calc(-1 * var(--bs-spacer-5)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-5)) !important; + } + + .mt-xxl-0 { + margin-top: 0 !important; + } + + .mt-xxl-1 { + margin-top: var(--bs-spacer-1) !important; + } + + .mt-xxl-2 { + margin-top: var(--bs-spacer-2) !important; + } + + .mt-xxl-3 { + margin-top: var(--bs-spacer-3) !important; + } + + .mt-xxl-4 { + margin-top: var(--bs-spacer-4) !important; + } + + .mt-xxl-5 { + margin-top: var(--bs-spacer-5) !important; + } + + .mt-xxl-auto { + margin-top: auto !important; + } + + .mt-xxl-n1 { + margin-top: calc(-1 * var(--bs-spacer-1)) !important; + } + + .mt-xxl-n2 { + margin-top: calc(-1 * var(--bs-spacer-2)) !important; + } + + .mt-xxl-n3 { + margin-top: calc(-1 * var(--bs-spacer-3)) !important; + } + + .mt-xxl-n4 { + margin-top: calc(-1 * var(--bs-spacer-4)) !important; + } + + .mt-xxl-n5 { + margin-top: calc(-1 * var(--bs-spacer-5)) !important; + } + + .me-xxl-0 { + margin-right: 0 !important; + } + + .me-xxl-1 { + margin-right: var(--bs-spacer-1) !important; + } + + .me-xxl-2 { + margin-right: var(--bs-spacer-2) !important; + } + + .me-xxl-3 { + margin-right: var(--bs-spacer-3) !important; + } + + .me-xxl-4 { + margin-right: var(--bs-spacer-4) !important; + } + + .me-xxl-5 { + margin-right: var(--bs-spacer-5) !important; + } + + .me-xxl-auto { + margin-right: auto !important; + } + + .me-xxl-n1 { + margin-right: calc(-1 * var(--bs-spacer-1)) !important; + } + + .me-xxl-n2 { + margin-right: calc(-1 * var(--bs-spacer-2)) !important; + } + + .me-xxl-n3 { + margin-right: calc(-1 * var(--bs-spacer-3)) !important; + } + + .me-xxl-n4 { + margin-right: calc(-1 * var(--bs-spacer-4)) !important; + } + + .me-xxl-n5 { + margin-right: calc(-1 * var(--bs-spacer-5)) !important; + } + + .mb-xxl-0 { + margin-bottom: 0 !important; + } + + .mb-xxl-1 { + margin-bottom: var(--bs-spacer-1) !important; + } + + .mb-xxl-2 { + margin-bottom: var(--bs-spacer-2) !important; + } + + .mb-xxl-3 { + margin-bottom: var(--bs-spacer-3) !important; + } + + .mb-xxl-4 { + margin-bottom: var(--bs-spacer-4) !important; + } + + .mb-xxl-5 { + margin-bottom: var(--bs-spacer-5) !important; + } + + .mb-xxl-auto { + margin-bottom: auto !important; + } + + .mb-xxl-n1 { + margin-bottom: calc(-1 * var(--bs-spacer-1)) !important; + } + + .mb-xxl-n2 { + margin-bottom: calc(-1 * var(--bs-spacer-2)) !important; + } + + .mb-xxl-n3 { + margin-bottom: calc(-1 * var(--bs-spacer-3)) !important; + } + + .mb-xxl-n4 { + margin-bottom: calc(-1 * var(--bs-spacer-4)) !important; + } + + .mb-xxl-n5 { + margin-bottom: calc(-1 * var(--bs-spacer-5)) !important; + } + + .ms-xxl-0 { + margin-left: 0 !important; + } + + .ms-xxl-1 { + margin-left: var(--bs-spacer-1) !important; + } + + .ms-xxl-2 { + margin-left: var(--bs-spacer-2) !important; + } + + .ms-xxl-3 { + margin-left: var(--bs-spacer-3) !important; + } + + .ms-xxl-4 { + margin-left: var(--bs-spacer-4) !important; + } + + .ms-xxl-5 { + margin-left: var(--bs-spacer-5) !important; + } + + .ms-xxl-auto { + margin-left: auto !important; + } + + .ms-xxl-n1 { + margin-left: calc(-1 * var(--bs-spacer-1)) !important; + } + + .ms-xxl-n2 { + margin-left: calc(-1 * var(--bs-spacer-2)) !important; + } + + .ms-xxl-n3 { + margin-left: calc(-1 * var(--bs-spacer-3)) !important; + } + + .ms-xxl-n4 { + margin-left: calc(-1 * var(--bs-spacer-4)) !important; + } + + .ms-xxl-n5 { + margin-left: calc(-1 * var(--bs-spacer-5)) !important; + } + + .p-xxl-0 { + padding: 0 !important; + } + + .p-xxl-1 { + padding: var(--bs-spacer-1) !important; + } + + .p-xxl-2 { + padding: var(--bs-spacer-2) !important; + } + + .p-xxl-3 { + padding: var(--bs-spacer-3) !important; + } + + .p-xxl-4 { + padding: var(--bs-spacer-4) !important; + } + + .p-xxl-5 { + padding: var(--bs-spacer-5) !important; + } + + .px-xxl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + + .px-xxl-1 { + padding-right: var(--bs-spacer-1) !important; + padding-left: var(--bs-spacer-1) !important; + } + + .px-xxl-2 { + padding-right: var(--bs-spacer-2) !important; + padding-left: var(--bs-spacer-2) !important; + } + + .px-xxl-3 { + padding-right: var(--bs-spacer-3) !important; + padding-left: var(--bs-spacer-3) !important; + } + + .px-xxl-4 { + padding-right: var(--bs-spacer-4) !important; + padding-left: var(--bs-spacer-4) !important; + } + + .px-xxl-5 { + padding-right: var(--bs-spacer-5) !important; + padding-left: var(--bs-spacer-5) !important; + } + + .py-xxl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-xxl-1 { + padding-top: var(--bs-spacer-1) !important; + padding-bottom: var(--bs-spacer-1) !important; + } + + .py-xxl-2 { + padding-top: var(--bs-spacer-2) !important; + padding-bottom: var(--bs-spacer-2) !important; + } + + .py-xxl-3 { + padding-top: var(--bs-spacer-3) !important; + padding-bottom: var(--bs-spacer-3) !important; + } + + .py-xxl-4 { + padding-top: var(--bs-spacer-4) !important; + padding-bottom: var(--bs-spacer-4) !important; + } + + .py-xxl-5 { + padding-top: var(--bs-spacer-5) !important; + padding-bottom: var(--bs-spacer-5) !important; + } + + .pt-xxl-0 { + padding-top: 0 !important; + } + + .pt-xxl-1 { + padding-top: var(--bs-spacer-1) !important; + } + + .pt-xxl-2 { + padding-top: var(--bs-spacer-2) !important; + } + + .pt-xxl-3 { + padding-top: var(--bs-spacer-3) !important; + } + + .pt-xxl-4 { + padding-top: var(--bs-spacer-4) !important; + } + + .pt-xxl-5 { + padding-top: var(--bs-spacer-5) !important; + } + + .pe-xxl-0 { + padding-right: 0 !important; + } + + .pe-xxl-1 { + padding-right: var(--bs-spacer-1) !important; + } + + .pe-xxl-2 { + padding-right: var(--bs-spacer-2) !important; + } + + .pe-xxl-3 { + padding-right: var(--bs-spacer-3) !important; + } + + .pe-xxl-4 { + padding-right: var(--bs-spacer-4) !important; + } + + .pe-xxl-5 { + padding-right: var(--bs-spacer-5) !important; + } + + .pb-xxl-0 { + padding-bottom: 0 !important; + } + + .pb-xxl-1 { + padding-bottom: var(--bs-spacer-1) !important; + } + + .pb-xxl-2 { + padding-bottom: var(--bs-spacer-2) !important; + } + + .pb-xxl-3 { + padding-bottom: var(--bs-spacer-3) !important; + } + + .pb-xxl-4 { + padding-bottom: var(--bs-spacer-4) !important; + } + + .pb-xxl-5 { + padding-bottom: var(--bs-spacer-5) !important; + } + + .ps-xxl-0 { + padding-left: 0 !important; + } + + .ps-xxl-1 { + padding-left: var(--bs-spacer-1) !important; + } + + .ps-xxl-2 { + padding-left: var(--bs-spacer-2) !important; + } + + .ps-xxl-3 { + padding-left: var(--bs-spacer-3) !important; + } + + .ps-xxl-4 { + padding-left: var(--bs-spacer-4) !important; + } + + .ps-xxl-5 { + padding-left: var(--bs-spacer-5) !important; + } + + .gap-xxl-0 { + gap: 0 !important; + } + + .gap-xxl-1 { + gap: var(--bs-spacer-1) !important; + } + + .gap-xxl-2 { + gap: var(--bs-spacer-2) !important; + } + + .gap-xxl-3 { + gap: var(--bs-spacer-3) !important; + } + + .gap-xxl-4 { + gap: var(--bs-spacer-4) !important; + } + + .gap-xxl-5 { + gap: var(--bs-spacer-5) !important; + } + + .row-gap-xxl-0 { + gap: 0 !important; + } + + .row-gap-xxl-1 { + row-gap: var(--bs-spacer-1) !important; + } + + .row-gap-xxl-2 { + row-gap: var(--bs-spacer-2) !important; + } + + .row-gap-xxl-3 { + row-gap: var(--bs-spacer-3) !important; + } + + .row-gap-xxl-4 { + row-gap: var(--bs-spacer-4) !important; + } + + .row-gap-xxl-5 { + row-gap: var(--bs-spacer-5) !important; + } + + .column-gap-xxl-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + + .column-gap-xxl-1 { + -moz-column-gap: var(--bs-spacer-1) !important; + column-gap: var(--bs-spacer-1) !important; + } + + .column-gap-xxl-2 { + -moz-column-gap: var(--bs-spacer-2) !important; + column-gap: var(--bs-spacer-2) !important; + } + + .column-gap-xxl-3 { + -moz-column-gap: var(--bs-spacer-3) !important; + column-gap: var(--bs-spacer-3) !important; + } + + .column-gap-xxl-4 { + -moz-column-gap: var(--bs-spacer-4) !important; + column-gap: var(--bs-spacer-4) !important; + } + + .column-gap-xxl-5 { + -moz-column-gap: var(--bs-spacer-5) !important; + column-gap: var(--bs-spacer-5) !important; + } +} + +/** + * ---------------------------------------------------------------------------- + * [ Text utilities ] + * ---------------------------------------------------------------------------- + */ + +.font-monospace { + font-family: var(--bs-font-monospace) !important; +} + +.fs-1 { + font-size: calc((var(--bs-font-size-base) + 0.4875rem) + 1.5vw) !important; +} + +.fs-2 { + font-size: calc((var(--bs-font-size-base) + 0.4375rem) + 0.9vw) !important; +} + +.fs-3 { + font-size: calc((var(--bs-font-size-base) + 0.4rem) + 0.6vw) !important; +} + +.fs-4 { + font-size: calc((var(--bs-font-size-base) + 0.375rem) + 0.3vw) !important; +} + +.fs-5 { + font-size: 1.125rem !important; +} + +.fs-6 { + font-size: 0.875rem !important; +} + +.fst-italic { + font-style: italic !important; +} + +.fst-normal { + font-style: normal !important; +} + +.fw-lighter { + font-weight: var(--bs-font-weight-lighter) !important; +} + +.fw-light { + font-weight: var(--bs-font-weight-light) !important; +} + +.fw-normal { + font-weight: var(--bs-font-weight-normal) !important; +} + +.fw-medium { + font-weight: var(--bs-font-weight-medium) !important; +} + +.fw-semibold { + font-weight: var(--bs-font-weight-semibold) !important; +} + +.fw-bold { + font-weight: var(--bs-font-weight-bold) !important; +} + +.fw-bolder { + font-weight: var(--bs-font-weight-bolder) !important; +} + +.lh-1 { + line-height: 1 !important; +} + +.lh-sm { + line-height: var(--bs-line-height-sm) !important; +} + +.lh-base { + line-height: var(--bs-line-height-base) !important; +} + +.lh-lg { + line-height: var(--bs-line-height-lg) !important; +} + +.text-start { + text-align: left !important; +} + +.text-end { + text-align: right !important; +} + +.text-center { + text-align: center !important; +} + +@media (min-width: 576px) { + .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) { + .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) { + .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) { + .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) { + .text-xxl-start { + text-align: left !important; + } + + .text-xxl-end { + text-align: right !important; + } + + .text-xxl-center { + text-align: center !important; + } +} + +.text-decoration-none { + text-decoration: none !important; +} + +.text-decoration-underline { + text-decoration: underline !important; +} + +.text-decoration-line-through { + text-decoration: line-through !important; +} + +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.text-wrap { + white-space: normal !important; +} + +.text-nowrap { + white-space: nowrap !important; +} + +/* rtl:begin:remove */ +.text-break { + word-wrap: break-word !important; + word-break: break-word !important; +} +/* rtl:end:remove */ + +.antialiased { + -webkit-font-smoothing: antialiased !important; + -moz-osx-font-smoothing: grayscale !important; +} + +.subpixel-antialiased { + -webkit-font-smoothing: auto !important; + -moz-osx-font-smoothing: auto !important; +} + +/** + * ---------------------------------------------------------------------------- + * [ Vertical alignment utilities ] + * ---------------------------------------------------------------------------- + */ + +.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; +} + +/** + * ---------------------------------------------------------------------------- + * [ Visibility utilities ] + * ---------------------------------------------------------------------------- + */ + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +/** + * ---------------------------------------------------------------------------- + * [ Z-index utilities ] + * ---------------------------------------------------------------------------- + */ + +.z-n1 { + z-index: -1 !important; +} + +.z-0 { + z-index: 0 !important; +} + +.z-1 { + z-index: 1 !important; +} + +.z-2 { + z-index: 2 !important; +} + +.z-3 { + z-index: 3 !important; +} + +@media (min-width: 576px) { + .z-sm-n1 { + z-index: -1 !important; + } + + .z-sm-0 { + z-index: 0 !important; + } + + .z-sm-1 { + z-index: 1 !important; + } + + .z-sm-2 { + z-index: 2 !important; + } + + .z-sm-3 { + z-index: 3 !important; + } +} + +@media (min-width: 768px) { + .z-md-n1 { + z-index: -1 !important; + } + + .z-md-0 { + z-index: 0 !important; + } + + .z-md-1 { + z-index: 1 !important; + } + + .z-md-2 { + z-index: 2 !important; + } + + .z-md-3 { + z-index: 3 !important; + } +} + +@media (min-width: 992px) { + .z-lg-n1 { + z-index: -1 !important; + } + + .z-lg-0 { + z-index: 0 !important; + } + + .z-lg-1 { + z-index: 1 !important; + } + + .z-lg-2 { + z-index: 2 !important; + } + + .z-lg-3 { + z-index: 3 !important; + } +} + +@media (min-width: 1200px) { + .z-xl-n1 { + z-index: -1 !important; + } + + .z-xl-0 { + z-index: 0 !important; + } + + .z-xl-1 { + z-index: 1 !important; + } + + .z-xl-2 { + z-index: 2 !important; + } + + .z-xl-3 { + z-index: 3 !important; + } +} + +@media (min-width: 1400px) { + .z-xxl-n1 { + z-index: -1 !important; + } + + .z-xxl-0 { + z-index: 0 !important; + } + + .z-xxl-1 { + z-index: 1 !important; + } + + .z-xxl-2 { + z-index: 2 !important; + } + + .z-xxl-3 { + z-index: 3 !important; + } +} diff --git a/modules/analyze/html/external/halfmoon-ui/halfmoon.min.css b/modules/analyze/html/external/halfmoon-ui/halfmoon.min.css new file mode 100644 index 0000000..1c2c272 --- /dev/null +++ b/modules/analyze/html/external/halfmoon-ui/halfmoon.min.css @@ -0,0 +1,22 @@ +@charset "UTF-8"; +/*! + * ---------------------------------------------------------------------------- + * Halfmoon CSS + * Version: 2.0.1 + * https://www.gethalfmoon.com + * Copyright (c) 2023, Tahmid Khan + * Licensed under MIT (https://www.gethalfmoon.com/license) + * ---------------------------------------------------------------------------- + * The above notice must be included in its entirety when this file is used. + */ +/*! + * The following notice(s) is/are provided to honor the licenses of 3rd party + * software used to build Halfmoon. + * ---------------------------------------------------------------------------- + * Bootstrap (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * ---------------------------------------------------------------------------- + */ +@keyframes progress-bar-stripes{0%{background-position-x:.625rem}}@keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-wave{to{-webkit-mask-position:-200%0;mask-position:-200%0}}:root,[data-bs-theme=light]{--bs-checkbox-svg-light:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");--bs-checkbox-svg-dark:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23222' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");--bs-dash-svg-light: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");--bs-dash-svg-dark:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23222' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");--bs-radio-svg-light: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");--bs-radio-svg-dark:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23222'/%3e%3c/svg%3e");--bs-switch-svg-light: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");--bs-switch-svg-dark:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23222'/%3e%3c/svg%3e");--bs-switch-svg-unchecked:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23bcbec2'/%3e%3c/svg%3e")}[data-bs-theme=dark]{--bs-switch-svg-unchecked:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23494b50'/%3e%3c/svg%3e")}:root,[data-bs-theme=light]{--bs-black-hsl:0, 0%, 0%;--bs-black:hsl(var(--bs-black-hsl));--bs-white-hsl:0, 0%, 100%;--bs-white:hsl(var(--bs-white-hsl));--bs-mistyrose-hue:0;--bs-mistyrose-saturation:5%;--bs-stone-hue:25;--bs-stone-saturation:5%;--bs-sand-hue:60;--bs-sand-saturation:5%;--bs-sage-hue:152;--bs-sage-saturation:6%;--bs-slate-hue:214.3;--bs-slate-saturation:12.3%;--bs-neutral-hue:218;--bs-neutral-saturation:5%;--bs-zinc-hue:240;--bs-zinc-saturation:4%;--bs-mauve-hue:331;--bs-mauve-saturation:7.5%;--bs-lightgray-hue:var(--bs-neutral-hue);--bs-lightgray-saturation:var(--bs-neutral-saturation);--bs-lightgray-100-hsl:var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 97.5%;--bs-lightgray-200-hsl:var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 95%;--bs-lightgray-300-hsl:var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 92.5%;--bs-lightgray-400-hsl:var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 90%;--bs-lightgray-500-hsl:var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 87.5%;--bs-lightgray-600-hsl:var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 85%;--bs-lightgray-700-hsl:var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 80%;--bs-lightgray-800-hsl:var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 75%;--bs-lightgray-900-hsl:var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 70%;--bs-lightgray-100:hsl(var(--bs-lightgray-100-hsl));--bs-lightgray-200:hsl(var(--bs-lightgray-200-hsl));--bs-lightgray-300:hsl(var(--bs-lightgray-300-hsl));--bs-lightgray-400:hsl(var(--bs-lightgray-400-hsl));--bs-lightgray-500:hsl(var(--bs-lightgray-500-hsl));--bs-lightgray-600:hsl(var(--bs-lightgray-600-hsl));--bs-lightgray-700:hsl(var(--bs-lightgray-700-hsl));--bs-lightgray-800:hsl(var(--bs-lightgray-800-hsl));--bs-lightgray-900:hsl(var(--bs-lightgray-900-hsl));--bs-lightgray-hsl:var(--bs-lightgray-500-hsl);--bs-lightgray:hsl(var(--bs-lightgray-hsl));--bs-lightgray-foreground-hsl:var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 10%;--bs-lightgray-foreground:hsl(var(--bs-lightgray-foreground-hsl));--bs-lightgray-text-emphasis-hsl:var(--bs-lightgray-600-hsl);--bs-lightgray-text-emphasis:hsl(var(--bs-lightgray-text-emphasis-hsl));--bs-lightgray-hover-bg:var(--bs-lightgray-400);--bs-lightgray-active-bg:var(--bs-lightgray-300);--bs-lightgray-bg-subtle:hsl(var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 97.5%);--bs-lightgray-border-subtle:var(--bs-lightgray-400);--bs-lightgray-checkbox-svg:var(--bs-checkbox-svg-dark);--bs-lightgray-dash-svg:var(--bs-dash-svg-dark);--bs-lightgray-radio-svg:var(--bs-radio-svg-dark);--bs-lightgray-switch-svg:var(--bs-switch-svg-dark);--bs-gray-hue:var(--bs-lightgray-hue);--bs-gray-saturation:var(--bs-lightgray-saturation);--bs-gray-100-hsl:var(--bs-gray-hue), var(--bs-gray-saturation), 85%;--bs-gray-200-hsl:var(--bs-gray-hue), var(--bs-gray-saturation), 75%;--bs-gray-300-hsl:var(--bs-gray-hue), var(--bs-gray-saturation), 65%;--bs-gray-400-hsl:var(--bs-gray-hue), var(--bs-gray-saturation), 55%;--bs-gray-500-hsl:var(--bs-gray-hue), var(--bs-gray-saturation), 45%;--bs-gray-600-hsl:var(--bs-gray-hue), var(--bs-gray-saturation), 40%;--bs-gray-700-hsl:var(--bs-gray-hue), var(--bs-gray-saturation), 35%;--bs-gray-800-hsl:var(--bs-gray-hue), var(--bs-gray-saturation), 30%;--bs-gray-900-hsl:var(--bs-gray-hue), var(--bs-gray-saturation), 25%;--bs-gray-100:hsl(var(--bs-gray-100-hsl));--bs-gray-200:hsl(var(--bs-gray-200-hsl));--bs-gray-300:hsl(var(--bs-gray-300-hsl));--bs-gray-400:hsl(var(--bs-gray-400-hsl));--bs-gray-500:hsl(var(--bs-gray-500-hsl));--bs-gray-600:hsl(var(--bs-gray-600-hsl));--bs-gray-700:hsl(var(--bs-gray-700-hsl));--bs-gray-800:hsl(var(--bs-gray-800-hsl));--bs-gray-900:hsl(var(--bs-gray-900-hsl));--bs-gray-hsl:var(--bs-gray-500-hsl);--bs-gray:hsl(var(--bs-gray-hsl));--bs-gray-foreground-hsl:var(--bs-white-hsl);--bs-gray-foreground:hsl(var(--bs-gray-foreground-hsl));--bs-gray-text-emphasis-hsl:var(--bs-gray-600-hsl);--bs-gray-text-emphasis:hsl(var(--bs-gray-text-emphasis-hsl));--bs-gray-hover-bg:var(--bs-gray-600);--bs-gray-active-bg:var(--bs-gray-700);--bs-gray-bg-subtle:hsl(var(--bs-gray-hue), var(--bs-gray-saturation), 95%);--bs-gray-border-subtle:var(--bs-gray-400);--bs-gray-checkbox-svg:var(--bs-checkbox-svg-light);--bs-gray-dash-svg:var(--bs-dash-svg-light);--bs-gray-radio-svg:var(--bs-radio-svg-light);--bs-gray-switch-svg:var(--bs-switch-svg-light);--bs-darkgray-hue:var(--bs-slate-hue);--bs-darkgray-saturation:var(--bs-slate-saturation);--bs-darkgray-100-hsl:var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 75%;--bs-darkgray-200-hsl:var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 65%;--bs-darkgray-300-hsl:var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 55%;--bs-darkgray-400-hsl:var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 45%;--bs-darkgray-500-hsl:var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 35%;--bs-darkgray-600-hsl:var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 30%;--bs-darkgray-700-hsl:var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 25%;--bs-darkgray-800-hsl:var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 20%;--bs-darkgray-900-hsl:var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 17.5%;--bs-darkgray-100:hsl(var(--bs-darkgray-100-hsl));--bs-darkgray-200:hsl(var(--bs-darkgray-200-hsl));--bs-darkgray-300:hsl(var(--bs-darkgray-300-hsl));--bs-darkgray-400:hsl(var(--bs-darkgray-400-hsl));--bs-darkgray-500:hsl(var(--bs-darkgray-500-hsl));--bs-darkgray-600:hsl(var(--bs-darkgray-600-hsl));--bs-darkgray-700:hsl(var(--bs-darkgray-700-hsl));--bs-darkgray-800:hsl(var(--bs-darkgray-800-hsl));--bs-darkgray-900:hsl(var(--bs-darkgray-900-hsl));--bs-darkgray-hsl:var(--bs-darkgray-500-hsl);--bs-darkgray:hsl(var(--bs-darkgray-hsl));--bs-darkgray-foreground-hsl:var(--bs-white-hsl);--bs-darkgray-foreground:hsl(var(--bs-darkgray-foreground-hsl));--bs-darkgray-text-emphasis-hsl:var(--bs-darkgray-600-hsl);--bs-darkgray-text-emphasis:hsl(var(--bs-darkgray-text-emphasis-hsl));--bs-darkgray-hover-bg:var(--bs-darkgray-600);--bs-darkgray-active-bg:var(--bs-darkgray-700);--bs-darkgray-bg-subtle:hsl(var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 80%);--bs-darkgray-border-subtle:var(--bs-darkgray-400);--bs-darkgray-checkbox-svg:var(--bs-checkbox-svg-light);--bs-darkgray-dash-svg:var(--bs-dash-svg-light);--bs-darkgray-radio-svg:var(--bs-radio-svg-light);--bs-darkgray-switch-svg:var(--bs-switch-svg-light);--bs-sable-hue:var(--bs-darkgray-hue);--bs-sable-saturation:var(--bs-darkgray-saturation);--bs-sable-100-hsl:var(--bs-sable-hue), var(--bs-sable-saturation), 28%;--bs-sable-200-hsl:var(--bs-sable-hue), var(--bs-sable-saturation), 26%;--bs-sable-300-hsl:var(--bs-sable-hue), var(--bs-sable-saturation), 24%;--bs-sable-400-hsl:var(--bs-sable-hue), var(--bs-sable-saturation), 22%;--bs-sable-500-hsl:var(--bs-sable-hue), var(--bs-sable-saturation), 20%;--bs-sable-600-hsl:var(--bs-sable-hue), var(--bs-sable-saturation), 18%;--bs-sable-700-hsl:var(--bs-sable-hue), var(--bs-sable-saturation), 16%;--bs-sable-800-hsl:var(--bs-sable-hue), var(--bs-sable-saturation), 15%;--bs-sable-900-hsl:var(--bs-sable-hue), var(--bs-sable-saturation), 14%;--bs-sable-100:hsl(var(--bs-sable-100-hsl));--bs-sable-200:hsl(var(--bs-sable-200-hsl));--bs-sable-300:hsl(var(--bs-sable-300-hsl));--bs-sable-400:hsl(var(--bs-sable-400-hsl));--bs-sable-500:hsl(var(--bs-sable-500-hsl));--bs-sable-600:hsl(var(--bs-sable-600-hsl));--bs-sable-700:hsl(var(--bs-sable-700-hsl));--bs-sable-800:hsl(var(--bs-sable-800-hsl));--bs-sable-900:hsl(var(--bs-sable-900-hsl));--bs-sable-hsl:var(--bs-sable-500-hsl);--bs-sable:hsl(var(--bs-sable-hsl));--bs-sable-foreground-hsl:var(--bs-white-hsl);--bs-sable-foreground:hsl(var(--bs-sable-foreground-hsl));--bs-sable-text-emphasis-hsl:var(--bs-sable-600-hsl);--bs-sable-text-emphasis:hsl(var(--bs-sable-text-emphasis-hsl));--bs-sable-hover-bg:var(--bs-sable-600);--bs-sable-active-bg:var(--bs-sable-700);--bs-sable-bg-subtle:hsl(var(--bs-sable-hue), var(--bs-sable-saturation), 70%);--bs-sable-border-subtle:var(--bs-sable-400);--bs-sable-checkbox-svg:var(--bs-checkbox-svg-light);--bs-sable-dash-svg:var(--bs-dash-svg-light);--bs-sable-radio-svg:var(--bs-radio-svg-light);--bs-sable-switch-svg:var(--bs-switch-svg-light);--bs-red-hue:0;--bs-red-saturation:67.5%;--bs-red-100-hsl:var(--bs-red-hue), var(--bs-red-saturation), 90%;--bs-red-200-hsl:var(--bs-red-hue), var(--bs-red-saturation), 80%;--bs-red-300-hsl:var(--bs-red-hue), var(--bs-red-saturation), 70%;--bs-red-400-hsl:var(--bs-red-hue), var(--bs-red-saturation), 60%;--bs-red-500-hsl:var(--bs-red-hue), var(--bs-red-saturation), 50%;--bs-red-600-hsl:var(--bs-red-hue), var(--bs-red-saturation), 40%;--bs-red-700-hsl:var(--bs-red-hue), var(--bs-red-saturation), 30%;--bs-red-800-hsl:var(--bs-red-hue), var(--bs-red-saturation), 20%;--bs-red-900-hsl:var(--bs-red-hue), var(--bs-red-saturation), 10%;--bs-red-100:hsl(var(--bs-red-100-hsl));--bs-red-200:hsl(var(--bs-red-200-hsl));--bs-red-300:hsl(var(--bs-red-300-hsl));--bs-red-400:hsl(var(--bs-red-400-hsl));--bs-red-500:hsl(var(--bs-red-500-hsl));--bs-red-600:hsl(var(--bs-red-600-hsl));--bs-red-700:hsl(var(--bs-red-700-hsl));--bs-red-800:hsl(var(--bs-red-800-hsl));--bs-red-900:hsl(var(--bs-red-900-hsl));--bs-red-hsl:var(--bs-red-500-hsl);--bs-red:hsl(var(--bs-red-hsl));--bs-red-foreground-hsl:var(--bs-white-hsl);--bs-red-foreground:hsl(var(--bs-red-foreground-hsl));--bs-red-text-emphasis-hsl:var(--bs-red-600-hsl);--bs-red-text-emphasis:hsl(var(--bs-red-text-emphasis-hsl));--bs-red-hover-bg:var(--bs-red-600);--bs-red-active-bg:var(--bs-red-700);--bs-red-bg-subtle:hsl(var(--bs-red-hue), var(--bs-red-saturation), 95%);--bs-red-border-subtle:var(--bs-red-400);--bs-red-checkbox-svg:var(--bs-checkbox-svg-light);--bs-red-dash-svg:var(--bs-dash-svg-light);--bs-red-radio-svg:var(--bs-radio-svg-light);--bs-red-switch-svg:var(--bs-switch-svg-light);--bs-orange-hue:17;--bs-orange-saturation:88%;--bs-orange-100-hsl:var(--bs-orange-hue), var(--bs-orange-saturation), 90%;--bs-orange-200-hsl:var(--bs-orange-hue), var(--bs-orange-saturation), 80%;--bs-orange-300-hsl:var(--bs-orange-hue), var(--bs-orange-saturation), 70%;--bs-orange-400-hsl:var(--bs-orange-hue), var(--bs-orange-saturation), 60%;--bs-orange-500-hsl:var(--bs-orange-hue), var(--bs-orange-saturation), 50%;--bs-orange-600-hsl:var(--bs-orange-hue), var(--bs-orange-saturation), 40%;--bs-orange-700-hsl:var(--bs-orange-hue), var(--bs-orange-saturation), 30%;--bs-orange-800-hsl:var(--bs-orange-hue), var(--bs-orange-saturation), 20%;--bs-orange-900-hsl:var(--bs-orange-hue), var(--bs-orange-saturation), 10%;--bs-orange-100:hsl(var(--bs-orange-100-hsl));--bs-orange-200:hsl(var(--bs-orange-200-hsl));--bs-orange-300:hsl(var(--bs-orange-300-hsl));--bs-orange-400:hsl(var(--bs-orange-400-hsl));--bs-orange-500:hsl(var(--bs-orange-500-hsl));--bs-orange-600:hsl(var(--bs-orange-600-hsl));--bs-orange-700:hsl(var(--bs-orange-700-hsl));--bs-orange-800:hsl(var(--bs-orange-800-hsl));--bs-orange-900:hsl(var(--bs-orange-900-hsl));--bs-orange-hsl:var(--bs-orange-hue), var(--bs-orange-saturation), 44%;--bs-orange:hsl(var(--bs-orange-hsl));--bs-orange-foreground-hsl:var(--bs-white-hsl);--bs-orange-foreground:hsl(var(--bs-orange-foreground-hsl));--bs-orange-text-emphasis-hsl:var(--bs-orange-600-hsl);--bs-orange-text-emphasis:hsl(var(--bs-orange-text-emphasis-hsl));--bs-orange-hover-bg:var(--bs-orange-600);--bs-orange-active-bg:var(--bs-orange-700);--bs-orange-bg-subtle:hsl(var(--bs-orange-hue), var(--bs-orange-saturation), 95%);--bs-orange-border-subtle:var(--bs-orange-400);--bs-orange-checkbox-svg:var(--bs-checkbox-svg-light);--bs-orange-dash-svg:var(--bs-dash-svg-light);--bs-orange-radio-svg:var(--bs-radio-svg-light);--bs-orange-switch-svg:var(--bs-switch-svg-light);--bs-sienna-hue:25;--bs-sienna-saturation:50%;--bs-sienna-100-hsl:var(--bs-sienna-hue), var(--bs-sienna-saturation), 90%;--bs-sienna-200-hsl:var(--bs-sienna-hue), var(--bs-sienna-saturation), 80%;--bs-sienna-300-hsl:var(--bs-sienna-hue), var(--bs-sienna-saturation), 70%;--bs-sienna-400-hsl:var(--bs-sienna-hue), var(--bs-sienna-saturation), 60%;--bs-sienna-500-hsl:var(--bs-sienna-hue), var(--bs-sienna-saturation), 50%;--bs-sienna-600-hsl:var(--bs-sienna-hue), var(--bs-sienna-saturation), 40%;--bs-sienna-700-hsl:var(--bs-sienna-hue), var(--bs-sienna-saturation), 30%;--bs-sienna-800-hsl:var(--bs-sienna-hue), var(--bs-sienna-saturation), 20%;--bs-sienna-900-hsl:var(--bs-sienna-hue), var(--bs-sienna-saturation), 10%;--bs-sienna-100:hsl(var(--bs-sienna-100-hsl));--bs-sienna-200:hsl(var(--bs-sienna-200-hsl));--bs-sienna-300:hsl(var(--bs-sienna-300-hsl));--bs-sienna-400:hsl(var(--bs-sienna-400-hsl));--bs-sienna-500:hsl(var(--bs-sienna-500-hsl));--bs-sienna-600:hsl(var(--bs-sienna-600-hsl));--bs-sienna-700:hsl(var(--bs-sienna-700-hsl));--bs-sienna-800:hsl(var(--bs-sienna-800-hsl));--bs-sienna-900:hsl(var(--bs-sienna-900-hsl));--bs-sienna-hsl:var(--bs-sienna-600-hsl);--bs-sienna:hsl(var(--bs-sienna-hsl));--bs-sienna-foreground-hsl:var(--bs-white-hsl);--bs-sienna-foreground:hsl(var(--bs-sienna-foreground-hsl));--bs-sienna-text-emphasis-hsl:var(--bs-sienna-700-hsl);--bs-sienna-text-emphasis:hsl(var(--bs-sienna-text-emphasis-hsl));--bs-sienna-hover-bg:var(--bs-sienna-700);--bs-sienna-active-bg:var(--bs-sienna-800);--bs-sienna-bg-subtle:hsl(var(--bs-sienna-hue), var(--bs-sienna-saturation), 95%);--bs-sienna-border-subtle:var(--bs-sienna-400);--bs-sienna-checkbox-svg:var(--bs-checkbox-svg-light);--bs-sienna-dash-svg:var(--bs-dash-svg-light);--bs-sienna-radio-svg:var(--bs-radio-svg-light);--bs-sienna-switch-svg:var(--bs-switch-svg-light);--bs-amber-hue:38;--bs-amber-saturation:92%;--bs-amber-100-hsl:var(--bs-amber-hue), var(--bs-amber-saturation), 90%;--bs-amber-200-hsl:var(--bs-amber-hue), var(--bs-amber-saturation), 80%;--bs-amber-300-hsl:var(--bs-amber-hue), var(--bs-amber-saturation), 70%;--bs-amber-400-hsl:var(--bs-amber-hue), var(--bs-amber-saturation), 60%;--bs-amber-500-hsl:var(--bs-amber-hue), var(--bs-amber-saturation), 50%;--bs-amber-600-hsl:var(--bs-amber-hue), var(--bs-amber-saturation), 40%;--bs-amber-700-hsl:var(--bs-amber-hue), var(--bs-amber-saturation), 30%;--bs-amber-800-hsl:var(--bs-amber-hue), var(--bs-amber-saturation), 20%;--bs-amber-900-hsl:var(--bs-amber-hue), var(--bs-amber-saturation), 10%;--bs-amber-100:hsl(var(--bs-amber-100-hsl));--bs-amber-200:hsl(var(--bs-amber-200-hsl));--bs-amber-300:hsl(var(--bs-amber-300-hsl));--bs-amber-400:hsl(var(--bs-amber-400-hsl));--bs-amber-500:hsl(var(--bs-amber-500-hsl));--bs-amber-600:hsl(var(--bs-amber-600-hsl));--bs-amber-700:hsl(var(--bs-amber-700-hsl));--bs-amber-800:hsl(var(--bs-amber-800-hsl));--bs-amber-900:hsl(var(--bs-amber-900-hsl));--bs-amber-hsl:var(--bs-amber-500-hsl);--bs-amber:hsl(var(--bs-amber-hsl));--bs-amber-foreground-hsl:var(--bs-amber-900-hsl);--bs-amber-foreground:hsl(var(--bs-amber-foreground-hsl));--bs-amber-text-emphasis-hsl:var(--bs-amber-700-hsl);--bs-amber-text-emphasis:hsl(var(--bs-amber-text-emphasis-hsl));--bs-amber-hover-bg:var(--bs-amber-400);--bs-amber-active-bg:var(--bs-amber-300);--bs-amber-bg-subtle:hsl(var(--bs-amber-hue), var(--bs-amber-saturation), 95%);--bs-amber-border-subtle:var(--bs-amber-400);--bs-amber-checkbox-svg:var(--bs-checkbox-svg-dark);--bs-amber-dash-svg:var(--bs-dash-svg-dark);--bs-amber-radio-svg:var(--bs-radio-svg-dark);--bs-amber-switch-svg:var(--bs-switch-svg-dark);--bs-yellow-hue:50;--bs-yellow-saturation:93%;--bs-yellow-100-hsl:var(--bs-yellow-hue), var(--bs-yellow-saturation), 90%;--bs-yellow-200-hsl:var(--bs-yellow-hue), var(--bs-yellow-saturation), 80%;--bs-yellow-300-hsl:var(--bs-yellow-hue), var(--bs-yellow-saturation), 70%;--bs-yellow-400-hsl:var(--bs-yellow-hue), var(--bs-yellow-saturation), 60%;--bs-yellow-500-hsl:var(--bs-yellow-hue), var(--bs-yellow-saturation), 50%;--bs-yellow-600-hsl:var(--bs-yellow-hue), var(--bs-yellow-saturation), 40%;--bs-yellow-700-hsl:var(--bs-yellow-hue), var(--bs-yellow-saturation), 30%;--bs-yellow-800-hsl:var(--bs-yellow-hue), var(--bs-yellow-saturation), 20%;--bs-yellow-900-hsl:var(--bs-yellow-hue), var(--bs-yellow-saturation), 10%;--bs-yellow-100:hsl(var(--bs-yellow-100-hsl));--bs-yellow-200:hsl(var(--bs-yellow-200-hsl));--bs-yellow-300:hsl(var(--bs-yellow-300-hsl));--bs-yellow-400:hsl(var(--bs-yellow-400-hsl));--bs-yellow-500:hsl(var(--bs-yellow-500-hsl));--bs-yellow-600:hsl(var(--bs-yellow-600-hsl));--bs-yellow-700:hsl(var(--bs-yellow-700-hsl));--bs-yellow-800:hsl(var(--bs-yellow-800-hsl));--bs-yellow-900:hsl(var(--bs-yellow-900-hsl));--bs-yellow-hsl:var(--bs-yellow-500-hsl);--bs-yellow:hsl(var(--bs-yellow-hsl));--bs-yellow-foreground-hsl:var(--bs-yellow-900-hsl);--bs-yellow-foreground:hsl(var(--bs-yellow-foreground-hsl));--bs-yellow-text-emphasis-hsl:var(--bs-yellow-hue), var(--bs-yellow-saturation), 25%;--bs-yellow-text-emphasis:hsl(var(--bs-yellow-text-emphasis-hsl));--bs-yellow-hover-bg:var(--bs-yellow-400);--bs-yellow-active-bg:var(--bs-yellow-300);--bs-yellow-bg-subtle:hsl(var(--bs-yellow-hue), var(--bs-yellow-saturation), 95%);--bs-yellow-border-subtle:var(--bs-yellow-400);--bs-yellow-checkbox-svg:var(--bs-checkbox-svg-dark);--bs-yellow-dash-svg:var(--bs-dash-svg-dark);--bs-yellow-radio-svg:var(--bs-radio-svg-dark);--bs-yellow-switch-svg:var(--bs-switch-svg-dark);--bs-lime-hue:83;--bs-lime-saturation:78%;--bs-lime-100-hsl:var(--bs-lime-hue), var(--bs-lime-saturation), 90%;--bs-lime-200-hsl:var(--bs-lime-hue), var(--bs-lime-saturation), 80%;--bs-lime-300-hsl:var(--bs-lime-hue), var(--bs-lime-saturation), 70%;--bs-lime-400-hsl:var(--bs-lime-hue), var(--bs-lime-saturation), 60%;--bs-lime-500-hsl:var(--bs-lime-hue), var(--bs-lime-saturation), 50%;--bs-lime-600-hsl:var(--bs-lime-hue), var(--bs-lime-saturation), 40%;--bs-lime-700-hsl:var(--bs-lime-hue), var(--bs-lime-saturation), 30%;--bs-lime-800-hsl:var(--bs-lime-hue), var(--bs-lime-saturation), 20%;--bs-lime-900-hsl:var(--bs-lime-hue), var(--bs-lime-saturation), 10%;--bs-lime-100:hsl(var(--bs-lime-100-hsl));--bs-lime-200:hsl(var(--bs-lime-200-hsl));--bs-lime-300:hsl(var(--bs-lime-300-hsl));--bs-lime-400:hsl(var(--bs-lime-400-hsl));--bs-lime-500:hsl(var(--bs-lime-500-hsl));--bs-lime-600:hsl(var(--bs-lime-600-hsl));--bs-lime-700:hsl(var(--bs-lime-700-hsl));--bs-lime-800:hsl(var(--bs-lime-800-hsl));--bs-lime-900:hsl(var(--bs-lime-900-hsl));--bs-lime-hsl:var(--bs-lime-500-hsl);--bs-lime:hsl(var(--bs-lime-hsl));--bs-lime-foreground-hsl:var(--bs-lime-900-hsl);--bs-lime-foreground:hsl(var(--bs-lime-foreground-hsl));--bs-lime-text-emphasis-hsl:var(--bs-lime-hue), var(--bs-lime-saturation), 27.5%;--bs-lime-text-emphasis:hsl(var(--bs-lime-text-emphasis-hsl));--bs-lime-hover-bg:var(--bs-lime-400);--bs-lime-active-bg:var(--bs-lime-300);--bs-lime-bg-subtle:hsl(var(--bs-lime-hue), var(--bs-lime-saturation), 95%);--bs-lime-border-subtle:var(--bs-lime-400);--bs-lime-checkbox-svg:var(--bs-checkbox-svg-dark);--bs-lime-dash-svg:var(--bs-dash-svg-dark);--bs-lime-radio-svg:var(--bs-radio-svg-dark);--bs-lime-switch-svg:var(--bs-switch-svg-dark);--bs-green-hue:145;--bs-green-saturation:52%;--bs-green-100-hsl:var(--bs-green-hue), var(--bs-green-saturation), 90%;--bs-green-200-hsl:var(--bs-green-hue), var(--bs-green-saturation), 80%;--bs-green-300-hsl:var(--bs-green-hue), var(--bs-green-saturation), 70%;--bs-green-400-hsl:var(--bs-green-hue), var(--bs-green-saturation), 60%;--bs-green-500-hsl:var(--bs-green-hue), var(--bs-green-saturation), 50%;--bs-green-600-hsl:var(--bs-green-hue), var(--bs-green-saturation), 40%;--bs-green-700-hsl:var(--bs-green-hue), var(--bs-green-saturation), 30%;--bs-green-800-hsl:var(--bs-green-hue), var(--bs-green-saturation), 20%;--bs-green-900-hsl:var(--bs-green-hue), var(--bs-green-saturation), 10%;--bs-green-100:hsl(var(--bs-green-100-hsl));--bs-green-200:hsl(var(--bs-green-200-hsl));--bs-green-300:hsl(var(--bs-green-300-hsl));--bs-green-400:hsl(var(--bs-green-400-hsl));--bs-green-500:hsl(var(--bs-green-500-hsl));--bs-green-600:hsl(var(--bs-green-600-hsl));--bs-green-700:hsl(var(--bs-green-700-hsl));--bs-green-800:hsl(var(--bs-green-800-hsl));--bs-green-900:hsl(var(--bs-green-900-hsl));--bs-green-hsl:var(--bs-green-hue), var(--bs-green-saturation), 34%;--bs-green:hsl(var(--bs-green-hsl));--bs-green-foreground-hsl:var(--bs-white-hsl);--bs-green-foreground:hsl(var(--bs-green-foreground-hsl));--bs-green-text-emphasis-hsl:var(--bs-green-700-hsl);--bs-green-text-emphasis:hsl(var(--bs-green-text-emphasis-hsl));--bs-green-hover-bg:var(--bs-green-700);--bs-green-active-bg:var(--bs-green-800);--bs-green-bg-subtle:hsl(var(--bs-green-hue), var(--bs-green-saturation), 95%);--bs-green-border-subtle:var(--bs-green-400);--bs-green-checkbox-svg:var(--bs-checkbox-svg-light);--bs-green-dash-svg:var(--bs-dash-svg-light);--bs-green-radio-svg:var(--bs-radio-svg-light);--bs-green-switch-svg:var(--bs-switch-svg-light);--bs-emerald-hue:160;--bs-emerald-saturation:84%;--bs-emerald-100-hsl:var(--bs-emerald-hue), var(--bs-emerald-saturation), 90%;--bs-emerald-200-hsl:var(--bs-emerald-hue), var(--bs-emerald-saturation), 80%;--bs-emerald-300-hsl:var(--bs-emerald-hue), var(--bs-emerald-saturation), 70%;--bs-emerald-400-hsl:var(--bs-emerald-hue), var(--bs-emerald-saturation), 60%;--bs-emerald-500-hsl:var(--bs-emerald-hue), var(--bs-emerald-saturation), 50%;--bs-emerald-600-hsl:var(--bs-emerald-hue), var(--bs-emerald-saturation), 40%;--bs-emerald-700-hsl:var(--bs-emerald-hue), var(--bs-emerald-saturation), 30%;--bs-emerald-800-hsl:var(--bs-emerald-hue), var(--bs-emerald-saturation), 20%;--bs-emerald-900-hsl:var(--bs-emerald-hue), var(--bs-emerald-saturation), 10%;--bs-emerald-100:hsl(var(--bs-emerald-100-hsl));--bs-emerald-200:hsl(var(--bs-emerald-200-hsl));--bs-emerald-300:hsl(var(--bs-emerald-300-hsl));--bs-emerald-400:hsl(var(--bs-emerald-400-hsl));--bs-emerald-500:hsl(var(--bs-emerald-500-hsl));--bs-emerald-600:hsl(var(--bs-emerald-600-hsl));--bs-emerald-700:hsl(var(--bs-emerald-700-hsl));--bs-emerald-800:hsl(var(--bs-emerald-800-hsl));--bs-emerald-900:hsl(var(--bs-emerald-900-hsl));--bs-emerald-hsl:var(--bs-emerald-500-hsl);--bs-emerald:hsl(var(--bs-emerald-hsl));--bs-emerald-foreground-hsl:var(--bs-emerald-900-hsl);--bs-emerald-foreground:hsl(var(--bs-emerald-foreground-hsl));--bs-emerald-text-emphasis-hsl:var(--bs-emerald-hue), var(--bs-emerald-saturation), 27.5%;--bs-emerald-text-emphasis:hsl(var(--bs-emerald-text-emphasis-hsl));--bs-emerald-hover-bg:var(--bs-emerald-400);--bs-emerald-active-bg:var(--bs-emerald-300);--bs-emerald-bg-subtle:hsl(var(--bs-emerald-hue), var(--bs-emerald-saturation), 95%);--bs-emerald-border-subtle:var(--bs-emerald-400);--bs-emerald-checkbox-svg:var(--bs-checkbox-svg-dark);--bs-emerald-dash-svg:var(--bs-dash-svg-dark);--bs-emerald-radio-svg:var(--bs-radio-svg-dark);--bs-emerald-switch-svg:var(--bs-switch-svg-dark);--bs-turquoise-hue:168;--bs-turquoise-saturation:52%;--bs-turquoise-100-hsl:var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 90%;--bs-turquoise-200-hsl:var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 80%;--bs-turquoise-300-hsl:var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 70%;--bs-turquoise-400-hsl:var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 60%;--bs-turquoise-500-hsl:var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 50%;--bs-turquoise-600-hsl:var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 40%;--bs-turquoise-700-hsl:var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 30%;--bs-turquoise-800-hsl:var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 20%;--bs-turquoise-900-hsl:var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 10%;--bs-turquoise-100:hsl(var(--bs-turquoise-100-hsl));--bs-turquoise-200:hsl(var(--bs-turquoise-200-hsl));--bs-turquoise-300:hsl(var(--bs-turquoise-300-hsl));--bs-turquoise-400:hsl(var(--bs-turquoise-400-hsl));--bs-turquoise-500:hsl(var(--bs-turquoise-500-hsl));--bs-turquoise-600:hsl(var(--bs-turquoise-600-hsl));--bs-turquoise-700:hsl(var(--bs-turquoise-700-hsl));--bs-turquoise-800:hsl(var(--bs-turquoise-800-hsl));--bs-turquoise-900:hsl(var(--bs-turquoise-900-hsl));--bs-turquoise-hsl:var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 34%;--bs-turquoise:hsl(var(--bs-turquoise-hsl));--bs-turquoise-foreground-hsl:var(--bs-white-hsl);--bs-turquoise-foreground:hsl(var(--bs-turquoise-foreground-hsl));--bs-turquoise-text-emphasis-hsl:var(--bs-turquoise-700-hsl);--bs-turquoise-text-emphasis:hsl(var(--bs-turquoise-text-emphasis-hsl));--bs-turquoise-hover-bg:var(--bs-turquoise-700);--bs-turquoise-active-bg:var(--bs-turquoise-800);--bs-turquoise-bg-subtle:hsl(var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 95%);--bs-turquoise-border-subtle:var(--bs-turquoise-400);--bs-turquoise-checkbox-svg:var(--bs-checkbox-svg-light);--bs-turquoise-dash-svg:var(--bs-dash-svg-light);--bs-turquoise-radio-svg:var(--bs-radio-svg-light);--bs-turquoise-switch-svg:var(--bs-switch-svg-light);--bs-teal-hue:173;--bs-teal-saturation:80%;--bs-teal-100-hsl:var(--bs-teal-hue), var(--bs-teal-saturation), 90%;--bs-teal-200-hsl:var(--bs-teal-hue), var(--bs-teal-saturation), 80%;--bs-teal-300-hsl:var(--bs-teal-hue), var(--bs-teal-saturation), 70%;--bs-teal-400-hsl:var(--bs-teal-hue), var(--bs-teal-saturation), 60%;--bs-teal-500-hsl:var(--bs-teal-hue), var(--bs-teal-saturation), 50%;--bs-teal-600-hsl:var(--bs-teal-hue), var(--bs-teal-saturation), 40%;--bs-teal-700-hsl:var(--bs-teal-hue), var(--bs-teal-saturation), 30%;--bs-teal-800-hsl:var(--bs-teal-hue), var(--bs-teal-saturation), 20%;--bs-teal-900-hsl:var(--bs-teal-hue), var(--bs-teal-saturation), 10%;--bs-teal-100:hsl(var(--bs-teal-100-hsl));--bs-teal-200:hsl(var(--bs-teal-200-hsl));--bs-teal-300:hsl(var(--bs-teal-300-hsl));--bs-teal-400:hsl(var(--bs-teal-400-hsl));--bs-teal-500:hsl(var(--bs-teal-500-hsl));--bs-teal-600:hsl(var(--bs-teal-600-hsl));--bs-teal-700:hsl(var(--bs-teal-700-hsl));--bs-teal-800:hsl(var(--bs-teal-800-hsl));--bs-teal-900:hsl(var(--bs-teal-900-hsl));--bs-teal-hsl:var(--bs-teal-500-hsl);--bs-teal:hsl(var(--bs-teal-hsl));--bs-teal-foreground-hsl:var(--bs-teal-900-hsl);--bs-teal-foreground:hsl(var(--bs-teal-foreground-hsl));--bs-teal-text-emphasis-hsl:var(--bs-teal-hue), var(--bs-teal-saturation), 27.5%;--bs-teal-text-emphasis:hsl(var(--bs-teal-text-emphasis-hsl));--bs-teal-hover-bg:var(--bs-teal-400);--bs-teal-active-bg:var(--bs-teal-300);--bs-teal-bg-subtle:hsl(var(--bs-teal-hue), var(--bs-teal-saturation), 95%);--bs-teal-border-subtle:var(--bs-teal-400);--bs-teal-checkbox-svg:var(--bs-checkbox-svg-dark);--bs-teal-dash-svg:var(--bs-dash-svg-dark);--bs-teal-radio-svg:var(--bs-radio-svg-dark);--bs-teal-switch-svg:var(--bs-switch-svg-dark);--bs-cyan-hue:189;--bs-cyan-saturation:94%;--bs-cyan-100-hsl:var(--bs-cyan-hue), var(--bs-cyan-saturation), 90%;--bs-cyan-200-hsl:var(--bs-cyan-hue), var(--bs-cyan-saturation), 80%;--bs-cyan-300-hsl:var(--bs-cyan-hue), var(--bs-cyan-saturation), 70%;--bs-cyan-400-hsl:var(--bs-cyan-hue), var(--bs-cyan-saturation), 60%;--bs-cyan-500-hsl:var(--bs-cyan-hue), var(--bs-cyan-saturation), 50%;--bs-cyan-600-hsl:var(--bs-cyan-hue), var(--bs-cyan-saturation), 40%;--bs-cyan-700-hsl:var(--bs-cyan-hue), var(--bs-cyan-saturation), 30%;--bs-cyan-800-hsl:var(--bs-cyan-hue), var(--bs-cyan-saturation), 20%;--bs-cyan-900-hsl:var(--bs-cyan-hue), var(--bs-cyan-saturation), 10%;--bs-cyan-100:hsl(var(--bs-cyan-100-hsl));--bs-cyan-200:hsl(var(--bs-cyan-200-hsl));--bs-cyan-300:hsl(var(--bs-cyan-300-hsl));--bs-cyan-400:hsl(var(--bs-cyan-400-hsl));--bs-cyan-500:hsl(var(--bs-cyan-500-hsl));--bs-cyan-600:hsl(var(--bs-cyan-600-hsl));--bs-cyan-700:hsl(var(--bs-cyan-700-hsl));--bs-cyan-800:hsl(var(--bs-cyan-800-hsl));--bs-cyan-900:hsl(var(--bs-cyan-900-hsl));--bs-cyan-hsl:var(--bs-cyan-500-hsl);--bs-cyan:hsl(var(--bs-cyan-hsl));--bs-cyan-foreground-hsl:var(--bs-cyan-900-hsl);--bs-cyan-foreground:hsl(var(--bs-cyan-foreground-hsl));--bs-cyan-text-emphasis-hsl:var(--bs-cyan-700-hsl);--bs-cyan-text-emphasis:hsl(var(--bs-cyan-text-emphasis-hsl));--bs-cyan-hover-bg:var(--bs-cyan-400);--bs-cyan-active-bg:var(--bs-cyan-300);--bs-cyan-bg-subtle:hsl(var(--bs-cyan-hue), var(--bs-cyan-saturation), 95%);--bs-cyan-border-subtle:var(--bs-cyan-400);--bs-cyan-checkbox-svg:var(--bs-checkbox-svg-dark);--bs-cyan-dash-svg:var(--bs-dash-svg-dark);--bs-cyan-radio-svg:var(--bs-radio-svg-dark);--bs-cyan-switch-svg:var(--bs-switch-svg-dark);--bs-sky-hue:198;--bs-sky-saturation:100%;--bs-sky-100-hsl:var(--bs-sky-hue), var(--bs-sky-saturation), 90%;--bs-sky-200-hsl:var(--bs-sky-hue), var(--bs-sky-saturation), 80%;--bs-sky-300-hsl:var(--bs-sky-hue), var(--bs-sky-saturation), 70%;--bs-sky-400-hsl:var(--bs-sky-hue), var(--bs-sky-saturation), 60%;--bs-sky-500-hsl:var(--bs-sky-hue), var(--bs-sky-saturation), 50%;--bs-sky-600-hsl:var(--bs-sky-hue), var(--bs-sky-saturation), 40%;--bs-sky-700-hsl:var(--bs-sky-hue), var(--bs-sky-saturation), 30%;--bs-sky-800-hsl:var(--bs-sky-hue), var(--bs-sky-saturation), 20%;--bs-sky-900-hsl:var(--bs-sky-hue), var(--bs-sky-saturation), 10%;--bs-sky-100:hsl(var(--bs-sky-100-hsl));--bs-sky-200:hsl(var(--bs-sky-200-hsl));--bs-sky-300:hsl(var(--bs-sky-300-hsl));--bs-sky-400:hsl(var(--bs-sky-400-hsl));--bs-sky-500:hsl(var(--bs-sky-500-hsl));--bs-sky-600:hsl(var(--bs-sky-600-hsl));--bs-sky-700:hsl(var(--bs-sky-700-hsl));--bs-sky-800:hsl(var(--bs-sky-800-hsl));--bs-sky-900:hsl(var(--bs-sky-900-hsl));--bs-sky-hsl:var(--bs-sky-500-hsl);--bs-sky:hsl(var(--bs-sky-hsl));--bs-sky-foreground-hsl:var(--bs-sky-900-hsl);--bs-sky-foreground:hsl(var(--bs-sky-foreground-hsl));--bs-sky-text-emphasis-hsl:var(--bs-sky-700-hsl);--bs-sky-text-emphasis:hsl(var(--bs-sky-text-emphasis-hsl));--bs-sky-hover-bg:var(--bs-sky-400);--bs-sky-active-bg:var(--bs-sky-300);--bs-sky-bg-subtle:hsl(var(--bs-sky-hue), var(--bs-sky-saturation), 95%);--bs-sky-border-subtle:var(--bs-sky-400);--bs-sky-checkbox-svg:var(--bs-checkbox-svg-dark);--bs-sky-dash-svg:var(--bs-dash-svg-dark);--bs-sky-radio-svg:var(--bs-radio-svg-dark);--bs-sky-switch-svg:var(--bs-switch-svg-dark);--bs-blue-hue:216;--bs-blue-saturation:100%;--bs-blue-100-hsl:var(--bs-blue-hue), var(--bs-blue-saturation), 90%;--bs-blue-200-hsl:var(--bs-blue-hue), var(--bs-blue-saturation), 80%;--bs-blue-300-hsl:var(--bs-blue-hue), var(--bs-blue-saturation), 70%;--bs-blue-400-hsl:var(--bs-blue-hue), var(--bs-blue-saturation), 60%;--bs-blue-500-hsl:var(--bs-blue-hue), var(--bs-blue-saturation), 50%;--bs-blue-600-hsl:var(--bs-blue-hue), var(--bs-blue-saturation), 40%;--bs-blue-700-hsl:var(--bs-blue-hue), var(--bs-blue-saturation), 30%;--bs-blue-800-hsl:var(--bs-blue-hue), var(--bs-blue-saturation), 20%;--bs-blue-900-hsl:var(--bs-blue-hue), var(--bs-blue-saturation), 10%;--bs-blue-100:hsl(var(--bs-blue-100-hsl));--bs-blue-200:hsl(var(--bs-blue-200-hsl));--bs-blue-300:hsl(var(--bs-blue-300-hsl));--bs-blue-400:hsl(var(--bs-blue-400-hsl));--bs-blue-500:hsl(var(--bs-blue-500-hsl));--bs-blue-600:hsl(var(--bs-blue-600-hsl));--bs-blue-700:hsl(var(--bs-blue-700-hsl));--bs-blue-800:hsl(var(--bs-blue-800-hsl));--bs-blue-900:hsl(var(--bs-blue-900-hsl));--bs-blue-hsl:var(--bs-blue-500-hsl);--bs-blue:hsl(var(--bs-blue-hsl));--bs-blue-foreground-hsl:var(--bs-white-hsl);--bs-blue-foreground:hsl(var(--bs-blue-foreground-hsl));--bs-blue-text-emphasis-hsl:var(--bs-blue-600-hsl);--bs-blue-text-emphasis:hsl(var(--bs-blue-text-emphasis-hsl));--bs-blue-hover-bg:var(--bs-blue-600);--bs-blue-active-bg:var(--bs-blue-700);--bs-blue-bg-subtle:hsl(var(--bs-blue-hue), var(--bs-blue-saturation), 95%);--bs-blue-border-subtle:var(--bs-blue-400);--bs-blue-checkbox-svg:var(--bs-checkbox-svg-light);--bs-blue-dash-svg:var(--bs-dash-svg-light);--bs-blue-radio-svg:var(--bs-radio-svg-light);--bs-blue-switch-svg:var(--bs-switch-svg-light);--bs-navy-hue:235;--bs-navy-saturation:85%;--bs-navy-100-hsl:var(--bs-navy-hue), var(--bs-navy-saturation), 90%;--bs-navy-200-hsl:var(--bs-navy-hue), var(--bs-navy-saturation), 80%;--bs-navy-300-hsl:var(--bs-navy-hue), var(--bs-navy-saturation), 70%;--bs-navy-400-hsl:var(--bs-navy-hue), var(--bs-navy-saturation), 60%;--bs-navy-500-hsl:var(--bs-navy-hue), var(--bs-navy-saturation), 50%;--bs-navy-600-hsl:var(--bs-navy-hue), var(--bs-navy-saturation), 40%;--bs-navy-700-hsl:var(--bs-navy-hue), var(--bs-navy-saturation), 30%;--bs-navy-800-hsl:var(--bs-navy-hue), var(--bs-navy-saturation), 20%;--bs-navy-900-hsl:var(--bs-navy-hue), var(--bs-navy-saturation), 10%;--bs-navy-100:hsl(var(--bs-navy-100-hsl));--bs-navy-200:hsl(var(--bs-navy-200-hsl));--bs-navy-300:hsl(var(--bs-navy-300-hsl));--bs-navy-400:hsl(var(--bs-navy-400-hsl));--bs-navy-500:hsl(var(--bs-navy-500-hsl));--bs-navy-600:hsl(var(--bs-navy-600-hsl));--bs-navy-700:hsl(var(--bs-navy-700-hsl));--bs-navy-800:hsl(var(--bs-navy-800-hsl));--bs-navy-900:hsl(var(--bs-navy-900-hsl));--bs-navy-hsl:var(--bs-navy-500-hsl);--bs-navy:hsl(var(--bs-navy-hsl));--bs-navy-foreground-hsl:var(--bs-white-hsl);--bs-navy-foreground:hsl(var(--bs-navy-foreground-hsl));--bs-navy-text-emphasis-hsl:var(--bs-navy-600-hsl);--bs-navy-text-emphasis:hsl(var(--bs-navy-text-emphasis-hsl));--bs-navy-hover-bg:var(--bs-navy-600);--bs-navy-active-bg:var(--bs-navy-700);--bs-navy-bg-subtle:hsl(var(--bs-navy-hue), var(--bs-navy-saturation), 95%);--bs-navy-border-subtle:var(--bs-navy-400);--bs-navy-checkbox-svg:var(--bs-checkbox-svg-light);--bs-navy-dash-svg:var(--bs-dash-svg-light);--bs-navy-radio-svg:var(--bs-radio-svg-light);--bs-navy-switch-svg:var(--bs-switch-svg-light);--bs-indigo-hue:241;--bs-indigo-saturation:60%;--bs-indigo-100-hsl:var(--bs-indigo-hue), var(--bs-indigo-saturation), 90%;--bs-indigo-200-hsl:var(--bs-indigo-hue), var(--bs-indigo-saturation), 80%;--bs-indigo-300-hsl:var(--bs-indigo-hue), var(--bs-indigo-saturation), 70%;--bs-indigo-400-hsl:var(--bs-indigo-hue), var(--bs-indigo-saturation), 60%;--bs-indigo-500-hsl:var(--bs-indigo-hue), var(--bs-indigo-saturation), 50%;--bs-indigo-600-hsl:var(--bs-indigo-hue), var(--bs-indigo-saturation), 40%;--bs-indigo-700-hsl:var(--bs-indigo-hue), var(--bs-indigo-saturation), 30%;--bs-indigo-800-hsl:var(--bs-indigo-hue), var(--bs-indigo-saturation), 20%;--bs-indigo-900-hsl:var(--bs-indigo-hue), var(--bs-indigo-saturation), 10%;--bs-indigo-100:hsl(var(--bs-indigo-100-hsl));--bs-indigo-200:hsl(var(--bs-indigo-200-hsl));--bs-indigo-300:hsl(var(--bs-indigo-300-hsl));--bs-indigo-400:hsl(var(--bs-indigo-400-hsl));--bs-indigo-500:hsl(var(--bs-indigo-500-hsl));--bs-indigo-600:hsl(var(--bs-indigo-600-hsl));--bs-indigo-700:hsl(var(--bs-indigo-700-hsl));--bs-indigo-800:hsl(var(--bs-indigo-800-hsl));--bs-indigo-900:hsl(var(--bs-indigo-900-hsl));--bs-indigo-hsl:var(--bs-indigo-500-hsl);--bs-indigo:hsl(var(--bs-indigo-hsl));--bs-indigo-foreground-hsl:var(--bs-white-hsl);--bs-indigo-foreground:hsl(var(--bs-indigo-foreground-hsl));--bs-indigo-text-emphasis-hsl:var(--bs-indigo-600-hsl);--bs-indigo-text-emphasis:hsl(var(--bs-indigo-text-emphasis-hsl));--bs-indigo-hover-bg:var(--bs-indigo-600);--bs-indigo-active-bg:var(--bs-indigo-700);--bs-indigo-bg-subtle:hsl(var(--bs-indigo-hue), var(--bs-indigo-saturation), 95%);--bs-indigo-border-subtle:var(--bs-indigo-400);--bs-indigo-checkbox-svg:var(--bs-checkbox-svg-light);--bs-indigo-dash-svg:var(--bs-dash-svg-light);--bs-indigo-radio-svg:var(--bs-radio-svg-light);--bs-indigo-switch-svg:var(--bs-switch-svg-light);--bs-violet-hue:262;--bs-violet-saturation:83%;--bs-violet-100-hsl:var(--bs-violet-hue), var(--bs-violet-saturation), 90%;--bs-violet-200-hsl:var(--bs-violet-hue), var(--bs-violet-saturation), 80%;--bs-violet-300-hsl:var(--bs-violet-hue), var(--bs-violet-saturation), 70%;--bs-violet-400-hsl:var(--bs-violet-hue), var(--bs-violet-saturation), 60%;--bs-violet-500-hsl:var(--bs-violet-hue), var(--bs-violet-saturation), 50%;--bs-violet-600-hsl:var(--bs-violet-hue), var(--bs-violet-saturation), 40%;--bs-violet-700-hsl:var(--bs-violet-hue), var(--bs-violet-saturation), 30%;--bs-violet-800-hsl:var(--bs-violet-hue), var(--bs-violet-saturation), 20%;--bs-violet-900-hsl:var(--bs-violet-hue), var(--bs-violet-saturation), 10%;--bs-violet-100:hsl(var(--bs-violet-100-hsl));--bs-violet-200:hsl(var(--bs-violet-200-hsl));--bs-violet-300:hsl(var(--bs-violet-300-hsl));--bs-violet-400:hsl(var(--bs-violet-400-hsl));--bs-violet-500:hsl(var(--bs-violet-500-hsl));--bs-violet-600:hsl(var(--bs-violet-600-hsl));--bs-violet-700:hsl(var(--bs-violet-700-hsl));--bs-violet-800:hsl(var(--bs-violet-800-hsl));--bs-violet-900:hsl(var(--bs-violet-900-hsl));--bs-violet-hsl:var(--bs-violet-500-hsl);--bs-violet:hsl(var(--bs-violet-hsl));--bs-violet-foreground-hsl:var(--bs-white-hsl);--bs-violet-foreground:hsl(var(--bs-violet-foreground-hsl));--bs-violet-text-emphasis-hsl:var(--bs-violet-600-hsl);--bs-violet-text-emphasis:hsl(var(--bs-violet-text-emphasis-hsl));--bs-violet-hover-bg:var(--bs-violet-600);--bs-violet-active-bg:var(--bs-violet-700);--bs-violet-bg-subtle:hsl(var(--bs-violet-hue), var(--bs-violet-saturation), 95%);--bs-violet-border-subtle:var(--bs-violet-400);--bs-violet-checkbox-svg:var(--bs-checkbox-svg-light);--bs-violet-dash-svg:var(--bs-dash-svg-light);--bs-violet-radio-svg:var(--bs-radio-svg-light);--bs-violet-switch-svg:var(--bs-switch-svg-light);--bs-purple-hue:271;--bs-purple-saturation:80%;--bs-purple-100-hsl:var(--bs-purple-hue), var(--bs-purple-saturation), 90%;--bs-purple-200-hsl:var(--bs-purple-hue), var(--bs-purple-saturation), 80%;--bs-purple-300-hsl:var(--bs-purple-hue), var(--bs-purple-saturation), 70%;--bs-purple-400-hsl:var(--bs-purple-hue), var(--bs-purple-saturation), 60%;--bs-purple-500-hsl:var(--bs-purple-hue), var(--bs-purple-saturation), 50%;--bs-purple-600-hsl:var(--bs-purple-hue), var(--bs-purple-saturation), 40%;--bs-purple-700-hsl:var(--bs-purple-hue), var(--bs-purple-saturation), 30%;--bs-purple-800-hsl:var(--bs-purple-hue), var(--bs-purple-saturation), 20%;--bs-purple-900-hsl:var(--bs-purple-hue), var(--bs-purple-saturation), 10%;--bs-purple-100:hsl(var(--bs-purple-100-hsl));--bs-purple-200:hsl(var(--bs-purple-200-hsl));--bs-purple-300:hsl(var(--bs-purple-300-hsl));--bs-purple-400:hsl(var(--bs-purple-400-hsl));--bs-purple-500:hsl(var(--bs-purple-500-hsl));--bs-purple-600:hsl(var(--bs-purple-600-hsl));--bs-purple-700:hsl(var(--bs-purple-700-hsl));--bs-purple-800:hsl(var(--bs-purple-800-hsl));--bs-purple-900:hsl(var(--bs-purple-900-hsl));--bs-purple-hsl:var(--bs-purple-500-hsl);--bs-purple:hsl(var(--bs-purple-hsl));--bs-purple-foreground-hsl:var(--bs-white-hsl);--bs-purple-foreground:hsl(var(--bs-purple-foreground-hsl));--bs-purple-text-emphasis-hsl:var(--bs-purple-600-hsl);--bs-purple-text-emphasis:hsl(var(--bs-purple-text-emphasis-hsl));--bs-purple-hover-bg:var(--bs-purple-600);--bs-purple-active-bg:var(--bs-purple-700);--bs-purple-bg-subtle:hsl(var(--bs-purple-hue), var(--bs-purple-saturation), 95%);--bs-purple-border-subtle:var(--bs-purple-400);--bs-purple-checkbox-svg:var(--bs-checkbox-svg-light);--bs-purple-dash-svg:var(--bs-dash-svg-light);--bs-purple-radio-svg:var(--bs-radio-svg-light);--bs-purple-switch-svg:var(--bs-switch-svg-light);--bs-fuchsia-hue:292;--bs-fuchsia-saturation:52.5%;--bs-fuchsia-100-hsl:var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 90%;--bs-fuchsia-200-hsl:var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 80%;--bs-fuchsia-300-hsl:var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 70%;--bs-fuchsia-400-hsl:var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 60%;--bs-fuchsia-500-hsl:var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 50%;--bs-fuchsia-600-hsl:var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 40%;--bs-fuchsia-700-hsl:var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 30%;--bs-fuchsia-800-hsl:var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 20%;--bs-fuchsia-900-hsl:var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 10%;--bs-fuchsia-100:hsl(var(--bs-fuchsia-100-hsl));--bs-fuchsia-200:hsl(var(--bs-fuchsia-200-hsl));--bs-fuchsia-300:hsl(var(--bs-fuchsia-300-hsl));--bs-fuchsia-400:hsl(var(--bs-fuchsia-400-hsl));--bs-fuchsia-500:hsl(var(--bs-fuchsia-500-hsl));--bs-fuchsia-600:hsl(var(--bs-fuchsia-600-hsl));--bs-fuchsia-700:hsl(var(--bs-fuchsia-700-hsl));--bs-fuchsia-800:hsl(var(--bs-fuchsia-800-hsl));--bs-fuchsia-900:hsl(var(--bs-fuchsia-900-hsl));--bs-fuchsia-hsl:var(--bs-fuchsia-500-hsl);--bs-fuchsia:hsl(var(--bs-fuchsia-hsl));--bs-fuchsia-foreground-hsl:var(--bs-white-hsl);--bs-fuchsia-foreground:hsl(var(--bs-fuchsia-foreground-hsl));--bs-fuchsia-text-emphasis-hsl:var(--bs-fuchsia-600-hsl);--bs-fuchsia-text-emphasis:hsl(var(--bs-fuchsia-text-emphasis-hsl));--bs-fuchsia-hover-bg:var(--bs-fuchsia-600);--bs-fuchsia-active-bg:var(--bs-fuchsia-700);--bs-fuchsia-bg-subtle:hsl(var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 95%);--bs-fuchsia-border-subtle:var(--bs-fuchsia-400);--bs-fuchsia-checkbox-svg:var(--bs-checkbox-svg-light);--bs-fuchsia-dash-svg:var(--bs-dash-svg-light);--bs-fuchsia-radio-svg:var(--bs-radio-svg-light);--bs-fuchsia-switch-svg:var(--bs-switch-svg-light);--bs-pink-hue:331;--bs-pink-saturation:60%;--bs-pink-100-hsl:var(--bs-pink-hue), var(--bs-pink-saturation), 90%;--bs-pink-200-hsl:var(--bs-pink-hue), var(--bs-pink-saturation), 80%;--bs-pink-300-hsl:var(--bs-pink-hue), var(--bs-pink-saturation), 70%;--bs-pink-400-hsl:var(--bs-pink-hue), var(--bs-pink-saturation), 60%;--bs-pink-500-hsl:var(--bs-pink-hue), var(--bs-pink-saturation), 50%;--bs-pink-600-hsl:var(--bs-pink-hue), var(--bs-pink-saturation), 40%;--bs-pink-700-hsl:var(--bs-pink-hue), var(--bs-pink-saturation), 30%;--bs-pink-800-hsl:var(--bs-pink-hue), var(--bs-pink-saturation), 20%;--bs-pink-900-hsl:var(--bs-pink-hue), var(--bs-pink-saturation), 10%;--bs-pink-100:hsl(var(--bs-pink-100-hsl));--bs-pink-200:hsl(var(--bs-pink-200-hsl));--bs-pink-300:hsl(var(--bs-pink-300-hsl));--bs-pink-400:hsl(var(--bs-pink-400-hsl));--bs-pink-500:hsl(var(--bs-pink-500-hsl));--bs-pink-600:hsl(var(--bs-pink-600-hsl));--bs-pink-700:hsl(var(--bs-pink-700-hsl));--bs-pink-800:hsl(var(--bs-pink-800-hsl));--bs-pink-900:hsl(var(--bs-pink-900-hsl));--bs-pink-hsl:var(--bs-pink-500-hsl);--bs-pink:hsl(var(--bs-pink-hsl));--bs-pink-foreground-hsl:var(--bs-white-hsl);--bs-pink-foreground:hsl(var(--bs-pink-foreground-hsl));--bs-pink-text-emphasis-hsl:var(--bs-pink-600-hsl);--bs-pink-text-emphasis:hsl(var(--bs-pink-text-emphasis-hsl));--bs-pink-hover-bg:var(--bs-pink-600);--bs-pink-active-bg:var(--bs-pink-700);--bs-pink-bg-subtle:hsl(var(--bs-pink-hue), var(--bs-pink-saturation), 95%);--bs-pink-border-subtle:var(--bs-pink-400);--bs-pink-checkbox-svg:var(--bs-checkbox-svg-light);--bs-pink-dash-svg:var(--bs-dash-svg-light);--bs-pink-radio-svg:var(--bs-radio-svg-light);--bs-pink-switch-svg:var(--bs-switch-svg-light);--bs-primary-hue:var(--bs-blue-hue);--bs-primary-saturation:var(--bs-blue-saturation);--bs-primary-100-hsl:var(--bs-blue-100-hsl);--bs-primary-200-hsl:var(--bs-blue-200-hsl);--bs-primary-300-hsl:var(--bs-blue-300-hsl);--bs-primary-400-hsl:var(--bs-blue-400-hsl);--bs-primary-500-hsl:var(--bs-blue-500-hsl);--bs-primary-600-hsl:var(--bs-blue-600-hsl);--bs-primary-700-hsl:var(--bs-blue-700-hsl);--bs-primary-800-hsl:var(--bs-blue-800-hsl);--bs-primary-900-hsl:var(--bs-blue-900-hsl);--bs-primary-100:var(--bs-blue-100);--bs-primary-200:var(--bs-blue-200);--bs-primary-300:var(--bs-blue-300);--bs-primary-400:var(--bs-blue-400);--bs-primary-500:var(--bs-blue-500);--bs-primary-600:var(--bs-blue-600);--bs-primary-700:var(--bs-blue-700);--bs-primary-800:var(--bs-blue-800);--bs-primary-900:var(--bs-blue-900);--bs-primary-hsl:var(--bs-blue-hsl);--bs-primary:var(--bs-blue);--bs-primary-foreground-hsl:var(--bs-blue-foreground-hsl);--bs-primary-foreground:var(--bs-blue-foreground);--bs-primary-text-emphasis-hsl:var(--bs-blue-text-emphasis-hsl);--bs-primary-text-emphasis:var(--bs-blue-text-emphasis);--bs-primary-hover-bg:var(--bs-blue-hover-bg);--bs-primary-active-bg:var(--bs-blue-active-bg);--bs-primary-bg-subtle:var(--bs-blue-bg-subtle);--bs-primary-border-subtle:var(--bs-blue-border-subtle);--bs-primary-checkbox-svg:var(--bs-blue-checkbox-svg);--bs-primary-dash-svg:var(--bs-blue-dash-svg);--bs-primary-radio-svg:var(--bs-blue-radio-svg);--bs-primary-switch-svg:var(--bs-blue-switch-svg);--bs-secondary-hue:var(--bs-gray-hue);--bs-secondary-saturation:var(--bs-gray-saturation);--bs-secondary-100-hsl:var(--bs-gray-100-hsl);--bs-secondary-200-hsl:var(--bs-gray-200-hsl);--bs-secondary-300-hsl:var(--bs-gray-300-hsl);--bs-secondary-400-hsl:var(--bs-gray-400-hsl);--bs-secondary-500-hsl:var(--bs-gray-500-hsl);--bs-secondary-600-hsl:var(--bs-gray-600-hsl);--bs-secondary-700-hsl:var(--bs-gray-700-hsl);--bs-secondary-800-hsl:var(--bs-gray-800-hsl);--bs-secondary-900-hsl:var(--bs-gray-900-hsl);--bs-secondary-100:var(--bs-gray-100);--bs-secondary-200:var(--bs-gray-200);--bs-secondary-300:var(--bs-gray-300);--bs-secondary-400:var(--bs-gray-400);--bs-secondary-500:var(--bs-gray-500);--bs-secondary-600:var(--bs-gray-600);--bs-secondary-700:var(--bs-gray-700);--bs-secondary-800:var(--bs-gray-800);--bs-secondary-900:var(--bs-gray-900);--bs-secondary-hsl:var(--bs-gray-hsl);--bs-secondary:var(--bs-gray);--bs-secondary-foreground-hsl:var(--bs-gray-foreground-hsl);--bs-secondary-foreground:var(--bs-gray-foreground);--bs-secondary-text-emphasis-hsl:var(--bs-gray-text-emphasis-hsl);--bs-secondary-text-emphasis:var(--bs-gray-text-emphasis);--bs-secondary-hover-bg:var(--bs-gray-hover-bg);--bs-secondary-active-bg:var(--bs-gray-active-bg);--bs-secondary-bg-subtle:var(--bs-gray-bg-subtle);--bs-secondary-border-subtle:var(--bs-gray-border-subtle);--bs-secondary-checkbox-svg:var(--bs-gray-checkbox-svg);--bs-secondary-dash-svg:var(--bs-gray-dash-svg);--bs-secondary-radio-svg:var(--bs-gray-radio-svg);--bs-secondary-switch-svg:var(--bs-gray-switch-svg);--bs-success-hue:var(--bs-green-hue);--bs-success-saturation:var(--bs-green-saturation);--bs-success-100-hsl:var(--bs-green-100-hsl);--bs-success-200-hsl:var(--bs-green-200-hsl);--bs-success-300-hsl:var(--bs-green-300-hsl);--bs-success-400-hsl:var(--bs-green-400-hsl);--bs-success-500-hsl:var(--bs-green-500-hsl);--bs-success-600-hsl:var(--bs-green-600-hsl);--bs-success-700-hsl:var(--bs-green-700-hsl);--bs-success-800-hsl:var(--bs-green-800-hsl);--bs-success-900-hsl:var(--bs-green-900-hsl);--bs-success-100:var(--bs-green-100);--bs-success-200:var(--bs-green-200);--bs-success-300:var(--bs-green-300);--bs-success-400:var(--bs-green-400);--bs-success-500:var(--bs-green-500);--bs-success-600:var(--bs-green-600);--bs-success-700:var(--bs-green-700);--bs-success-800:var(--bs-green-800);--bs-success-900:var(--bs-green-900);--bs-success-hsl:var(--bs-green-hsl);--bs-success:var(--bs-green);--bs-success-foreground-hsl:var(--bs-green-foreground-hsl);--bs-success-foreground:var(--bs-green-foreground);--bs-success-text-emphasis-hsl:var(--bs-green-text-emphasis-hsl);--bs-success-text-emphasis:var(--bs-green-text-emphasis);--bs-success-hover-bg:var(--bs-green-hover-bg);--bs-success-active-bg:var(--bs-green-active-bg);--bs-success-bg-subtle:var(--bs-green-bg-subtle);--bs-success-border-subtle:var(--bs-green-border-subtle);--bs-success-checkbox-svg:var(--bs-green-checkbox-svg);--bs-success-dash-svg:var(--bs-green-dash-svg);--bs-success-radio-svg:var(--bs-green-radio-svg);--bs-success-switch-svg:var(--bs-green-switch-svg);--bs-info-hue:var(--bs-cyan-hue);--bs-info-saturation:var(--bs-cyan-saturation);--bs-info-100-hsl:var(--bs-cyan-100-hsl);--bs-info-200-hsl:var(--bs-cyan-200-hsl);--bs-info-300-hsl:var(--bs-cyan-300-hsl);--bs-info-400-hsl:var(--bs-cyan-400-hsl);--bs-info-500-hsl:var(--bs-cyan-500-hsl);--bs-info-600-hsl:var(--bs-cyan-600-hsl);--bs-info-700-hsl:var(--bs-cyan-700-hsl);--bs-info-800-hsl:var(--bs-cyan-800-hsl);--bs-info-900-hsl:var(--bs-cyan-900-hsl);--bs-info-100:var(--bs-cyan-100);--bs-info-200:var(--bs-cyan-200);--bs-info-300:var(--bs-cyan-300);--bs-info-400:var(--bs-cyan-400);--bs-info-500:var(--bs-cyan-500);--bs-info-600:var(--bs-cyan-600);--bs-info-700:var(--bs-cyan-700);--bs-info-800:var(--bs-cyan-800);--bs-info-900:var(--bs-cyan-900);--bs-info-hsl:var(--bs-cyan-hsl);--bs-info:var(--bs-cyan);--bs-info-foreground-hsl:var(--bs-cyan-foreground-hsl);--bs-info-foreground:var(--bs-cyan-foreground);--bs-info-text-emphasis-hsl:var(--bs-cyan-text-emphasis-hsl);--bs-info-text-emphasis:var(--bs-cyan-text-emphasis);--bs-info-hover-bg:var(--bs-cyan-hover-bg);--bs-info-active-bg:var(--bs-cyan-active-bg);--bs-info-bg-subtle:var(--bs-cyan-bg-subtle);--bs-info-border-subtle:var(--bs-cyan-border-subtle);--bs-info-checkbox-svg:var(--bs-cyan-checkbox-svg);--bs-info-dash-svg:var(--bs-cyan-dash-svg);--bs-info-radio-svg:var(--bs-cyan-radio-svg);--bs-info-switch-svg:var(--bs-cyan-switch-svg);--bs-warning-hue:var(--bs-yellow-hue);--bs-warning-saturation:var(--bs-yellow-saturation);--bs-warning-100-hsl:var(--bs-yellow-100-hsl);--bs-warning-200-hsl:var(--bs-yellow-200-hsl);--bs-warning-300-hsl:var(--bs-yellow-300-hsl);--bs-warning-400-hsl:var(--bs-yellow-400-hsl);--bs-warning-500-hsl:var(--bs-yellow-500-hsl);--bs-warning-600-hsl:var(--bs-yellow-600-hsl);--bs-warning-700-hsl:var(--bs-yellow-700-hsl);--bs-warning-800-hsl:var(--bs-yellow-800-hsl);--bs-warning-900-hsl:var(--bs-yellow-900-hsl);--bs-warning-100:var(--bs-yellow-100);--bs-warning-200:var(--bs-yellow-200);--bs-warning-300:var(--bs-yellow-300);--bs-warning-400:var(--bs-yellow-400);--bs-warning-500:var(--bs-yellow-500);--bs-warning-600:var(--bs-yellow-600);--bs-warning-700:var(--bs-yellow-700);--bs-warning-800:var(--bs-yellow-800);--bs-warning-900:var(--bs-yellow-900);--bs-warning-hsl:var(--bs-yellow-hsl);--bs-warning:var(--bs-yellow);--bs-warning-foreground-hsl:var(--bs-yellow-foreground-hsl);--bs-warning-foreground:var(--bs-yellow-foreground);--bs-warning-text-emphasis-hsl:var(--bs-yellow-text-emphasis-hsl);--bs-warning-text-emphasis:var(--bs-yellow-text-emphasis);--bs-warning-hover-bg:var(--bs-yellow-hover-bg);--bs-warning-active-bg:var(--bs-yellow-active-bg);--bs-warning-bg-subtle:var(--bs-yellow-bg-subtle);--bs-warning-border-subtle:var(--bs-yellow-border-subtle);--bs-warning-checkbox-svg:var(--bs-yellow-checkbox-svg);--bs-warning-dash-svg:var(--bs-yellow-dash-svg);--bs-warning-radio-svg:var(--bs-yellow-radio-svg);--bs-warning-switch-svg:var(--bs-yellow-switch-svg);--bs-danger-hue:var(--bs-red-hue);--bs-danger-saturation:var(--bs-red-saturation);--bs-danger-100-hsl:var(--bs-red-100-hsl);--bs-danger-200-hsl:var(--bs-red-200-hsl);--bs-danger-300-hsl:var(--bs-red-300-hsl);--bs-danger-400-hsl:var(--bs-red-400-hsl);--bs-danger-500-hsl:var(--bs-red-500-hsl);--bs-danger-600-hsl:var(--bs-red-600-hsl);--bs-danger-700-hsl:var(--bs-red-700-hsl);--bs-danger-800-hsl:var(--bs-red-800-hsl);--bs-danger-900-hsl:var(--bs-red-900-hsl);--bs-danger-100:var(--bs-red-100);--bs-danger-200:var(--bs-red-200);--bs-danger-300:var(--bs-red-300);--bs-danger-400:var(--bs-red-400);--bs-danger-500:var(--bs-red-500);--bs-danger-600:var(--bs-red-600);--bs-danger-700:var(--bs-red-700);--bs-danger-800:var(--bs-red-800);--bs-danger-900:var(--bs-red-900);--bs-danger-hsl:var(--bs-red-hsl);--bs-danger:var(--bs-red);--bs-danger-foreground-hsl:var(--bs-red-foreground-hsl);--bs-danger-foreground:var(--bs-red-foreground);--bs-danger-text-emphasis-hsl:var(--bs-red-text-emphasis-hsl);--bs-danger-text-emphasis:var(--bs-red-text-emphasis);--bs-danger-hover-bg:var(--bs-red-hover-bg);--bs-danger-active-bg:var(--bs-red-active-bg);--bs-danger-bg-subtle:var(--bs-red-bg-subtle);--bs-danger-border-subtle:var(--bs-red-border-subtle);--bs-danger-checkbox-svg:var(--bs-red-checkbox-svg);--bs-danger-dash-svg:var(--bs-red-dash-svg);--bs-danger-radio-svg:var(--bs-red-radio-svg);--bs-danger-switch-svg:var(--bs-red-switch-svg);--bs-light-hue:var(--bs-lightgray-hue);--bs-light-saturation:var(--bs-lightgray-saturation);--bs-light-100-hsl:var(--bs-lightgray-100-hsl);--bs-light-200-hsl:var(--bs-lightgray-200-hsl);--bs-light-300-hsl:var(--bs-lightgray-300-hsl);--bs-light-400-hsl:var(--bs-lightgray-400-hsl);--bs-light-500-hsl:var(--bs-lightgray-500-hsl);--bs-light-600-hsl:var(--bs-lightgray-600-hsl);--bs-light-700-hsl:var(--bs-lightgray-700-hsl);--bs-light-800-hsl:var(--bs-lightgray-800-hsl);--bs-light-900-hsl:var(--bs-lightgray-900-hsl);--bs-light-100:var(--bs-lightgray-100);--bs-light-200:var(--bs-lightgray-200);--bs-light-300:var(--bs-lightgray-300);--bs-light-400:var(--bs-lightgray-400);--bs-light-500:var(--bs-lightgray-500);--bs-light-600:var(--bs-lightgray-600);--bs-light-700:var(--bs-lightgray-700);--bs-light-800:var(--bs-lightgray-800);--bs-light-900:var(--bs-lightgray-900);--bs-light-hsl:var(--bs-lightgray-hsl);--bs-light:var(--bs-lightgray);--bs-light-foreground-hsl:var(--bs-lightgray-foreground-hsl);--bs-light-foreground:var(--bs-lightgray-foreground);--bs-light-text-emphasis-hsl:var(--bs-lightgray-text-emphasis-hsl);--bs-light-text-emphasis:var(--bs-lightgray-text-emphasis);--bs-light-hover-bg:var(--bs-lightgray-hover-bg);--bs-light-active-bg:var(--bs-lightgray-active-bg);--bs-light-bg-subtle:var(--bs-lightgray-bg-subtle);--bs-light-border-subtle:var(--bs-lightgray-border-subtle);--bs-light-checkbox-svg:var(--bs-lightgray-checkbox-svg);--bs-light-dash-svg:var(--bs-lightgray-dash-svg);--bs-light-radio-svg:var(--bs-lightgray-radio-svg);--bs-light-switch-svg:var(--bs-lightgray-switch-svg);--bs-dark-hue:var(--bs-darkgray-hue);--bs-dark-saturation:var(--bs-darkgray-saturation);--bs-dark-100-hsl:var(--bs-darkgray-100-hsl);--bs-dark-200-hsl:var(--bs-darkgray-200-hsl);--bs-dark-300-hsl:var(--bs-darkgray-300-hsl);--bs-dark-400-hsl:var(--bs-darkgray-400-hsl);--bs-dark-500-hsl:var(--bs-darkgray-500-hsl);--bs-dark-600-hsl:var(--bs-darkgray-600-hsl);--bs-dark-700-hsl:var(--bs-darkgray-700-hsl);--bs-dark-800-hsl:var(--bs-darkgray-800-hsl);--bs-dark-900-hsl:var(--bs-darkgray-900-hsl);--bs-dark-100:var(--bs-darkgray-100);--bs-dark-200:var(--bs-darkgray-200);--bs-dark-300:var(--bs-darkgray-300);--bs-dark-400:var(--bs-darkgray-400);--bs-dark-500:var(--bs-darkgray-500);--bs-dark-600:var(--bs-darkgray-600);--bs-dark-700:var(--bs-darkgray-700);--bs-dark-800:var(--bs-darkgray-800);--bs-dark-900:var(--bs-darkgray-900);--bs-dark-hsl:var(--bs-darkgray-hsl);--bs-dark:var(--bs-darkgray);--bs-dark-foreground-hsl:var(--bs-darkgray-foreground-hsl);--bs-dark-foreground:var(--bs-darkgray-foreground);--bs-dark-text-emphasis-hsl:var(--bs-darkgray-text-emphasis-hsl);--bs-dark-text-emphasis:var(--bs-darkgray-text-emphasis);--bs-dark-hover-bg:var(--bs-darkgray-hover-bg);--bs-dark-active-bg:var(--bs-darkgray-active-bg);--bs-dark-bg-subtle:var(--bs-darkgray-bg-subtle);--bs-dark-border-subtle:var(--bs-darkgray-border-subtle);--bs-dark-checkbox-svg:var(--bs-darkgray-checkbox-svg);--bs-dark-dash-svg:var(--bs-darkgray-dash-svg);--bs-dark-radio-svg:var(--bs-darkgray-radio-svg);--bs-dark-switch-svg:var(--bs-darkgray-switch-svg)}[data-bs-theme=dark]{--bs-lightgray-text-emphasis-hsl:var(--bs-lightgray-400-hsl);--bs-lightgray-text-emphasis:hsl(var(--bs-lightgray-text-emphasis-hsl));--bs-lightgray-bg-subtle:hsl(var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 30%);--bs-lightgray-border-subtle:var(--bs-lightgray-600);--bs-gray-text-emphasis-hsl:var(--bs-gray-300-hsl);--bs-gray-text-emphasis:hsl(var(--bs-gray-text-emphasis-hsl));--bs-gray-bg-subtle:hsl(var(--bs-gray-hue), var(--bs-gray-saturation), 25%);--bs-gray-border-subtle:var(--bs-gray-600);--bs-darkgray-text-emphasis-hsl:var(--bs-darkgray-300-hsl);--bs-darkgray-text-emphasis:hsl(var(--bs-darkgray-text-emphasis-hsl));--bs-darkgray-bg-subtle:hsl(var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 17.5%);--bs-darkgray-border-subtle:var(--bs-darkgray-600);--bs-sable-text-emphasis-hsl:var(--bs-sable-400-hsl);--bs-sable-text-emphasis:hsl(var(--bs-sable-text-emphasis-hsl));--bs-sable-bg-subtle:hsl(var(--bs-sable-hue), var(--bs-sable-saturation), 12%);--bs-sable-border-subtle:var(--bs-sable-600);--bs-red-text-emphasis-hsl:var(--bs-red-hue), var(--bs-red-saturation), 65%;--bs-red-text-emphasis:hsl(var(--bs-red-text-emphasis-hsl));--bs-red-bg-subtle:hsl(var(--bs-red-hue), calc(var(--bs-red-saturation)/3), 15%);--bs-red-border-subtle:var(--bs-red-600);--bs-orange-text-emphasis-hsl:var(--bs-orange-400-hsl);--bs-orange-text-emphasis:hsl(var(--bs-orange-text-emphasis-hsl));--bs-orange-bg-subtle:hsl(var(--bs-orange-hue), calc(var(--bs-orange-saturation)/3), 15%);--bs-orange-border-subtle:var(--bs-orange-600);--bs-sienna-text-emphasis-hsl:var(--bs-sienna-400-hsl);--bs-sienna-text-emphasis:hsl(var(--bs-sienna-text-emphasis-hsl));--bs-sienna-bg-subtle:hsl(var(--bs-sienna-hue), calc(var(--bs-sienna-saturation)/3), 15%);--bs-sienna-border-subtle:var(--bs-sienna-600);--bs-amber-text-emphasis-hsl:var(--bs-amber-400-hsl);--bs-amber-text-emphasis:hsl(var(--bs-amber-text-emphasis-hsl));--bs-amber-bg-subtle:hsl(var(--bs-amber-hue), calc(var(--bs-amber-saturation)/3), 15%);--bs-amber-border-subtle:var(--bs-amber-600);--bs-yellow-text-emphasis-hsl:var(--bs-yellow-400-hsl);--bs-yellow-text-emphasis:hsl(var(--bs-yellow-text-emphasis-hsl));--bs-yellow-bg-subtle:hsl(var(--bs-yellow-hue), calc(var(--bs-yellow-saturation)/3), 15%);--bs-yellow-border-subtle:var(--bs-yellow-600);--bs-lime-text-emphasis-hsl:var(--bs-lime-400-hsl);--bs-lime-text-emphasis:hsl(var(--bs-lime-text-emphasis-hsl));--bs-lime-bg-subtle:hsl(var(--bs-lime-hue), calc(var(--bs-lime-saturation)/3), 15%);--bs-lime-border-subtle:var(--bs-lime-600);--bs-green-text-emphasis-hsl:var(--bs-green-400-hsl);--bs-green-text-emphasis:hsl(var(--bs-green-text-emphasis-hsl));--bs-green-bg-subtle:hsl(var(--bs-green-hue), calc(var(--bs-green-saturation)/3), 15%);--bs-green-border-subtle:var(--bs-green-600);--bs-emerald-text-emphasis-hsl:var(--bs-emerald-400-hsl);--bs-emerald-text-emphasis:hsl(var(--bs-emerald-text-emphasis-hsl));--bs-emerald-bg-subtle:hsl(var(--bs-emerald-hue), calc(var(--bs-emerald-saturation)/3), 15%);--bs-emerald-border-subtle:var(--bs-emerald-600);--bs-turquoise-text-emphasis-hsl:var(--bs-turquoise-400-hsl);--bs-turquoise-text-emphasis:hsl(var(--bs-turquoise-text-emphasis-hsl));--bs-turquoise-bg-subtle:hsl(var(--bs-turquoise-hue), calc(var(--bs-turquoise-saturation)/3), 15%);--bs-turquoise-border-subtle:var(--bs-turquoise-600);--bs-teal-text-emphasis-hsl:var(--bs-teal-400-hsl);--bs-teal-text-emphasis:hsl(var(--bs-teal-text-emphasis-hsl));--bs-teal-bg-subtle:hsl(var(--bs-teal-hue), calc(var(--bs-teal-saturation)/3), 15%);--bs-teal-border-subtle:var(--bs-teal-600);--bs-cyan-text-emphasis-hsl:var(--bs-cyan-400-hsl);--bs-cyan-text-emphasis:hsl(var(--bs-cyan-text-emphasis-hsl));--bs-cyan-bg-subtle:hsl(var(--bs-cyan-hue), calc(var(--bs-cyan-saturation)/3), 15%);--bs-cyan-border-subtle:var(--bs-cyan-600);--bs-sky-text-emphasis-hsl:var(--bs-sky-400-hsl);--bs-sky-text-emphasis:hsl(var(--bs-sky-text-emphasis-hsl));--bs-sky-bg-subtle:hsl(var(--bs-sky-hue), calc(var(--bs-sky-saturation)/3), 15%);--bs-sky-border-subtle:var(--bs-sky-600);--bs-blue-text-emphasis-hsl:var(--bs-blue-400-hsl);--bs-blue-text-emphasis:hsl(var(--bs-blue-text-emphasis-hsl));--bs-blue-bg-subtle:hsl(var(--bs-blue-hue), calc(var(--bs-blue-saturation)/3), 15%);--bs-blue-border-subtle:var(--bs-blue-600);--bs-navy-text-emphasis-hsl:var(--bs-navy-300-hsl);--bs-navy-text-emphasis:hsl(var(--bs-navy-text-emphasis-hsl));--bs-navy-bg-subtle:hsl(var(--bs-navy-hue), calc(var(--bs-navy-saturation)/3), 15%);--bs-navy-border-subtle:var(--bs-navy-600);--bs-indigo-text-emphasis-hsl:var(--bs-indigo-300-hsl);--bs-indigo-text-emphasis:hsl(var(--bs-indigo-text-emphasis-hsl));--bs-indigo-bg-subtle:hsl(var(--bs-indigo-hue), calc(var(--bs-indigo-saturation)/3), 15%);--bs-indigo-border-subtle:var(--bs-indigo-600);--bs-violet-text-emphasis-hsl:var(--bs-violet-300-hsl);--bs-violet-text-emphasis:hsl(var(--bs-violet-text-emphasis-hsl));--bs-violet-bg-subtle:hsl(var(--bs-violet-hue), calc(var(--bs-violet-saturation)/3), 15%);--bs-violet-border-subtle:var(--bs-violet-600);--bs-purple-text-emphasis-hsl:var(--bs-purple-300-hsl);--bs-purple-text-emphasis:hsl(var(--bs-purple-text-emphasis-hsl));--bs-purple-bg-subtle:hsl(var(--bs-purple-hue), calc(var(--bs-purple-saturation)/3), 15%);--bs-purple-border-subtle:var(--bs-purple-600);--bs-fuchsia-text-emphasis-hsl:var(--bs-fuchsia-400-hsl);--bs-fuchsia-text-emphasis:hsl(var(--bs-fuchsia-text-emphasis-hsl));--bs-fuchsia-bg-subtle:hsl(var(--bs-fuchsia-hue), calc(var(--bs-fuchsia-saturation)/3), 15%);--bs-fuchsia-border-subtle:var(--bs-fuchsia-600);--bs-pink-text-emphasis-hsl:var(--bs-pink-400-hsl);--bs-pink-text-emphasis:hsl(var(--bs-pink-text-emphasis-hsl));--bs-pink-bg-subtle:hsl(var(--bs-pink-hue), calc(var(--bs-pink-saturation)/3), 15%);--bs-pink-border-subtle:var(--bs-pink-600);--bs-primary-text-emphasis-hsl:var(--bs-blue-text-emphasis-hsl);--bs-primary-text-emphasis:var(--bs-blue-text-emphasis);--bs-primary-bg-subtle:var(--bs-blue-bg-subtle);--bs-primary-border-subtle:var(--bs-blue-border-subtle);--bs-secondary-hue:var(--bs-darkgray-hue);--bs-secondary-saturation:var(--bs-darkgray-saturation);--bs-secondary-100-hsl:var(--bs-darkgray-100-hsl);--bs-secondary-200-hsl:var(--bs-darkgray-200-hsl);--bs-secondary-300-hsl:var(--bs-darkgray-300-hsl);--bs-secondary-400-hsl:var(--bs-darkgray-400-hsl);--bs-secondary-500-hsl:var(--bs-darkgray-500-hsl);--bs-secondary-600-hsl:var(--bs-darkgray-600-hsl);--bs-secondary-700-hsl:var(--bs-darkgray-700-hsl);--bs-secondary-800-hsl:var(--bs-darkgray-800-hsl);--bs-secondary-900-hsl:var(--bs-darkgray-900-hsl);--bs-secondary-100:var(--bs-darkgray-100);--bs-secondary-200:var(--bs-darkgray-200);--bs-secondary-300:var(--bs-darkgray-300);--bs-secondary-400:var(--bs-darkgray-400);--bs-secondary-500:var(--bs-darkgray-500);--bs-secondary-600:var(--bs-darkgray-600);--bs-secondary-700:var(--bs-darkgray-700);--bs-secondary-800:var(--bs-darkgray-800);--bs-secondary-900:var(--bs-darkgray-900);--bs-secondary-hsl:var(--bs-darkgray-hsl);--bs-secondary:var(--bs-darkgray);--bs-secondary-foreground-hsl:var(--bs-darkgray-foreground-hsl);--bs-secondary-foreground:var(--bs-darkgray-foreground);--bs-secondary-text-emphasis-hsl:var(--bs-darkgray-text-emphasis-hsl);--bs-secondary-text-emphasis:var(--bs-darkgray-text-emphasis);--bs-secondary-hover-bg:var(--bs-darkgray-hover-bg);--bs-secondary-active-bg:var(--bs-darkgray-active-bg);--bs-secondary-bg-subtle:var(--bs-darkgray-bg-subtle);--bs-secondary-border-subtle:var(--bs-darkgray-border-subtle);--bs-secondary-checkbox-svg:var(--bs-darkgray-checkbox-svg);--bs-secondary-dash-svg:var(--bs-darkgray-dash-svg);--bs-secondary-radio-svg:var(--bs-darkgray-radio-svg);--bs-secondary-switch-svg:var(--bs-darkgray-switch-svg);--bs-success-text-emphasis-hsl:var(--bs-green-text-emphasis-hsl);--bs-success-text-emphasis:var(--bs-green-text-emphasis);--bs-success-bg-subtle:var(--bs-green-bg-subtle);--bs-success-border-subtle:var(--bs-green-border-subtle);--bs-info-text-emphasis-hsl:var(--bs-cyan-text-emphasis-hsl);--bs-info-text-emphasis:var(--bs-cyan-text-emphasis);--bs-info-bg-subtle:var(--bs-cyan-bg-subtle);--bs-info-border-subtle:var(--bs-cyan-border-subtle);--bs-warning-text-emphasis-hsl:var(--bs-yellow-text-emphasis-hsl);--bs-warning-text-emphasis:var(--bs-yellow-text-emphasis);--bs-warning-bg-subtle:var(--bs-yellow-bg-subtle);--bs-warning-border-subtle:var(--bs-yellow-border-subtle);--bs-danger-text-emphasis-hsl:var(--bs-red-text-emphasis-hsl);--bs-danger-text-emphasis:var(--bs-red-text-emphasis);--bs-danger-bg-subtle:var(--bs-red-bg-subtle);--bs-danger-border-subtle:var(--bs-red-border-subtle);--bs-light-hue:var(--bs-gray-hue);--bs-light-saturation:var(--bs-gray-saturation);--bs-light-100-hsl:var(--bs-gray-100-hsl);--bs-light-200-hsl:var(--bs-gray-200-hsl);--bs-light-300-hsl:var(--bs-gray-300-hsl);--bs-light-400-hsl:var(--bs-gray-400-hsl);--bs-light-500-hsl:var(--bs-gray-500-hsl);--bs-light-600-hsl:var(--bs-gray-600-hsl);--bs-light-700-hsl:var(--bs-gray-700-hsl);--bs-light-800-hsl:var(--bs-gray-800-hsl);--bs-light-900-hsl:var(--bs-gray-900-hsl);--bs-light-100:var(--bs-gray-100);--bs-light-200:var(--bs-gray-200);--bs-light-300:var(--bs-gray-300);--bs-light-400:var(--bs-gray-400);--bs-light-500:var(--bs-gray-500);--bs-light-600:var(--bs-gray-600);--bs-light-700:var(--bs-gray-700);--bs-light-800:var(--bs-gray-800);--bs-light-900:var(--bs-gray-900);--bs-light-hsl:var(--bs-gray-hsl);--bs-light:var(--bs-gray);--bs-light-foreground-hsl:var(--bs-gray-foreground-hsl);--bs-light-foreground:var(--bs-gray-foreground);--bs-light-text-emphasis-hsl:var(--bs-gray-text-emphasis-hsl);--bs-light-text-emphasis:var(--bs-gray-text-emphasis);--bs-light-hover-bg:var(--bs-gray-hover-bg);--bs-light-active-bg:var(--bs-gray-active-bg);--bs-light-bg-subtle:var(--bs-gray-bg-subtle);--bs-light-border-subtle:var(--bs-gray-border-subtle);--bs-light-checkbox-svg:var(--bs-gray-checkbox-svg);--bs-light-dash-svg:var(--bs-gray-dash-svg);--bs-light-radio-svg:var(--bs-gray-radio-svg);--bs-light-switch-svg:var(--bs-gray-switch-svg);--bs-dark-hue:var(--bs-sable-hue);--bs-dark-saturation:var(--bs-sable-saturation);--bs-dark-100-hsl:var(--bs-sable-100-hsl);--bs-dark-200-hsl:var(--bs-sable-200-hsl);--bs-dark-300-hsl:var(--bs-sable-300-hsl);--bs-dark-400-hsl:var(--bs-sable-400-hsl);--bs-dark-500-hsl:var(--bs-sable-500-hsl);--bs-dark-600-hsl:var(--bs-sable-600-hsl);--bs-dark-700-hsl:var(--bs-sable-700-hsl);--bs-dark-800-hsl:var(--bs-sable-800-hsl);--bs-dark-900-hsl:var(--bs-sable-900-hsl);--bs-dark-100:var(--bs-sable-100);--bs-dark-200:var(--bs-sable-200);--bs-dark-300:var(--bs-sable-300);--bs-dark-400:var(--bs-sable-400);--bs-dark-500:var(--bs-sable-500);--bs-dark-600:var(--bs-sable-600);--bs-dark-700:var(--bs-sable-700);--bs-dark-800:var(--bs-sable-800);--bs-dark-900:var(--bs-sable-900);--bs-dark-hsl:var(--bs-sable-hsl);--bs-dark:var(--bs-sable);--bs-dark-foreground-hsl:var(--bs-sable-foreground-hsl);--bs-dark-foreground:var(--bs-sable-foreground);--bs-dark-text-emphasis-hsl:var(--bs-sable-text-emphasis-hsl);--bs-dark-text-emphasis:var(--bs-sable-text-emphasis);--bs-dark-hover-bg:var(--bs-sable-hover-bg);--bs-dark-active-bg:var(--bs-sable-active-bg);--bs-dark-bg-subtle:var(--bs-sable-bg-subtle);--bs-dark-border-subtle:var(--bs-sable-border-subtle);--bs-dark-checkbox-svg:var(--bs-sable-checkbox-svg);--bs-dark-dash-svg:var(--bs-sable-dash-svg);--bs-dark-radio-svg:var(--bs-sable-radio-svg);--bs-dark-switch-svg:var(--bs-sable-switch-svg)}:root,[data-bs-theme=light]{color-scheme:light;--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-serif:Iowan Old Style, Apple Garamond, Baskerville, Times New Roman, Droid Serif, Times, Source Serif Pro, serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;--bs-font-monospace:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-body-font-family:var(--bs-font-sans-serif);--bs-font-size-base:0.875rem;--bs-font-size-sm:0.75rem;--bs-font-size-lg:1rem;--bs-relative-font-size-sm:0.85714285714em;--bs-relative-font-size-xs:0.71428571428em;--bs-relative-font-size-2xs:0.57142857142em;--bs-relative-font-size-3xs:0.42857142857em;--bs-relative-font-size-4xs:0.28571428571em;--bs-relative-font-size-5xs:0.21428571428em;--bs-relative-font-size-6xs:0.14285714285em;--bs-relative-font-size-7xs:0.07142857142em;--bs-body-font-size:var(--bs-font-size-base);--bs-h1-font-size:calc(var(--bs-font-size-base) + 1.375rem);--bs-h2-font-size:calc(var(--bs-font-size-base) + 1rem);--bs-h3-font-size:calc(var(--bs-font-size-base) + 0.75rem);--bs-h4-font-size:calc(var(--bs-font-size-base) + 0.5rem);--bs-h5-font-size:calc(var(--bs-font-size-base) + 0.25rem);--bs-h6-font-size:var(--bs-font-size-base);--bs-font-weight-lighter:lighter;--bs-font-weight-light:300;--bs-font-weight-normal:400;--bs-font-weight-medium:500;--bs-font-weight-semibold:600;--bs-font-weight-bold:700;--bs-font-weight-bolder:bolder;--bs-body-font-weight:var(--bs-font-weight-normal);--bs-heading-font-weight:var(--bs-font-weight-bold);--bs-line-height-base:1.5;--bs-line-height-sm:1.25;--bs-line-height-lg:2;--bs-body-line-height:var(--bs-line-height-base);--bs-heading-line-height:1.2;--bs-body-webkit-font-smoothing:antialiased;--bs-body-moz-osx-font-smoothing:grayscale;--bs-spacer:1rem;--bs-spacer-1:calc(var(--bs-spacer) * 0.25);--bs-spacer-2:calc(var(--bs-spacer) * 0.5);--bs-spacer-3:var(--bs-spacer);--bs-spacer-4:calc(var(--bs-spacer) * 1.5);--bs-spacer-5:calc(var(--bs-spacer) * 3);--bs-color-hue:var(--bs-gray-hue);--bs-color-saturation:var(--bs-gray-saturation);--bs-body-color-hsl:var(--bs-color-hue), var(--bs-color-saturation), 15%;--bs-body-color:hsl(var(--bs-body-color-hsl));--bs-emphasis-color-hsl:var(--bs-black-hsl);--bs-emphasis-color:hsl(var(--bs-emphasis-color-hsl));--bs-secondary-color-hsl:var(--bs-color-hue), var(--bs-color-saturation), 40%;--bs-secondary-color:hsl(var(--bs-secondary-color-hsl));--bs-tertiary-color-hsl:var(--bs-color-hue), var(--bs-color-saturation), 65%;--bs-tertiary-color:hsl(var(--bs-tertiary-color-hsl));--bs-heading-color:inherit;--bs-body-bg-hsl:var(--bs-white-hsl);--bs-body-bg:hsl(var(--bs-body-bg-hsl));--bs-secondary-bg-hsl:var(--bs-lightgray-100-hsl);--bs-secondary-bg:hsl(var(--bs-secondary-bg-hsl));--bs-tertiary-bg-hsl:var(--bs-lightgray-200-hsl);--bs-tertiary-bg:hsl(var(--bs-tertiary-bg-hsl));--bs-gradient:linear-gradient(180deg, hsla(var(--bs-white-hsl), 0.15), hsla(var(--bs-white-hsl), 0));--bs-border-width:1px;--bs-border-width-1:var(--bs-border-width);--bs-border-width-2:calc(var(--bs-border-width) + 1px);--bs-border-width-3:calc(var(--bs-border-width) + 2px);--bs-border-width-4:calc(var(--bs-border-width) + 3px);--bs-border-width-5:calc(var(--bs-border-width) + 4px);--bs-border-style:solid;--bs-border-color:var(--bs-lightgray-800);--bs-border-color-light:var(--bs-lightgray-600);--bs-border-color-dark:var(--bs-border-color);--bs-border-color-translucent:hsla(var(--bs-black-hsl), 0.15);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow-color:hsla(var(--bs-black-hsl), 0.15);--bs-box-shadow:0 0.5rem 1rem var(--bs-box-shadow-color);--bs-box-shadow-sm:0 0.125rem 0.25rem var(--bs-box-shadow-color);--bs-box-shadow-lg:0 1rem 3rem var(--bs-box-shadow-color);--bs-box-shadow-inset:inset 0 1px var(--bs-box-shadow-color);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:hsla(var(--bs-primary-hsl), var(--bs-focus-ring-opacity));--bs-link-color-hsl:var(--bs-primary-hsl);--bs-link-color:hsl(var(--bs-link-color-hsl));--bs-link-decoration:underline;--bs-link-decoration-offset:var(--bs-relative-font-size-4xs);--bs-link-hover-color-hsl:var(--bs-primary-text-emphasis-hsl);--bs-link-hover-color:hsl(var(--bs-link-hover-color-hsl));--bs-link-hover-decoration:underline;--bs-highlight-padding:var(--bs-relative-font-size-6xs);--bs-highlight-color:inherit;--bs-highlight-bg:hsla(var(--bs-yellow-hsl), 0.25);--bs-highlight-border-radius:0;--bs-code-padding:var(--bs-relative-font-size-6xs) var(--bs-relative-font-size-4xs);--bs-code-font-size:var(--bs-relative-font-size-sm);--bs-code-color:inherit;--bs-code-bg:hsla(var(--bs-black-hsl), 0.1);--bs-code-border-radius:var(--bs-border-radius-sm);--bs-kbd-padding:0.125rem 0.375rem;--bs-kbd-font-size:var(--bs-font-size-sm);--bs-kbd-color:var(--bs-dark-foreground);--bs-kbd-bg:var(--bs-dark);--bs-kbd-border-radius:var(--bs-border-radius-sm);--bs-container-max-width-sm:540px;--bs-container-max-width-md:720px;--bs-container-max-width-lg:960px;--bs-container-max-width-xl:1140px;--bs-container-max-width-xxl:1320px;--bs-sidebar-margin:0;--bs-sidebar-width:20rem;--bs-sidebar-height:100%;--bs-padding-sbwidth:var(--bs-sidebar-width);--bs-content-color-hsl:var(--bs-body-color-hsl);--bs-content-color:hsl(var(--bs-content-color-hsl));--bs-content-bg-hsl:var(--bs-body-bg-hsl);--bs-content-bg:hsl(var(--bs-content-bg-hsl));--bs-content-border-color:var(--bs-border-color-dark);--bs-content-box-shadow:none;--bs-content-floating-color-hsl:var(--bs-content-color-hsl);--bs-content-floating-color:hsl(var(--bs-content-floating-color-hsl));--bs-content-floating-bg-hsl:var(--bs-content-bg-hsl);--bs-content-floating-bg:hsl(var(--bs-content-floating-bg-hsl));--bs-content-floating-border-color:var(--bs-content-border-color);--bs-content-floating-box-shadow:0 1rem 2.25rem 0 rgba(0, 0, 0, 0.05), 0 0.25rem 1rem 0 rgba(0, 0, 0, 0.04);--bs-action-padding-x:0.5rem;--bs-action-padding-y:0.25rem;--bs-action-font-size:var(--bs-font-size-base);--bs-action-line-height:calc(20/14);--bs-action-sm-padding-x:0.375rem;--bs-action-sm-padding-y:0.125rem;--bs-action-sm-font-size:var(--bs-font-size-sm);--bs-action-sm-line-height:calc(18/12);--bs-action-lg-padding-x:0.625rem;--bs-action-lg-padding-y:0.3125rem;--bs-action-lg-font-size:var(--bs-font-size-lg);--bs-action-lg-line-height:calc(24/16);--bs-action-color:hsl(var(--bs-color-hue), var(--bs-color-saturation), 20%);--bs-action-bg:var(--bs-white);--bs-action-border-color:var(--bs-border-color-dark);--bs-action-hover-color:var(--bs-action-color);--bs-action-hover-bg:var(--bs-lightgray-200);--bs-action-hover-border-color:var(--bs-action-border-color);--bs-action-focus-shadow-hsl:var(--bs-primary-hsl);--bs-action-active-color:var(--bs-action-color);--bs-action-active-bg:var(--bs-lightgray-400);--bs-action-active-border-color:var(--bs-action-border-color);--bs-action-active-shadow:none;--bs-action-disabled-color:var(--bs-secondary-color);--bs-action-disabled-bg:var(--bs-lightgray-400);--bs-action-disabled-border-color:var(--bs-action-border-color);--bs-form-color:var(--bs-body-color);--bs-form-bg:var(--bs-action-bg);--bs-form-secondary-bg:var(--bs-action-hover-bg);--bs-form-tertiary-bg:var(--bs-action-active-bg);--bs-form-border-color:var(--bs-action-border-color);--bs-form-focus-border-color:var(--bs-form-border-color);--bs-form-focus-shadow-hsl:var(--bs-primary-hsl);--bs-form-disabled-color:var(--bs-action-disabled-color);--bs-form-disabled-bg:var(--bs-action-disabled-bg);--bs-form-disabled-border-color:var(--bs-action-disabled-border-color);--bs-form-valid-color:var(--bs-success-text-emphasis);--bs-form-valid-border-color:var(--bs-success-border-subtle);--bs-form-invalid-color:var(--bs-danger-text-emphasis);--bs-form-invalid-border-color:var(--bs-danger-border-subtle);--bs-form-check-bg:var(--bs-form-bg);--bs-form-check-border-color:var(--bs-border-color);--bs-form-check-focus-border-color:var(--bs-form-check-border-color);--bs-form-check-focus-shadow-hsl:var(--bs-form-focus-shadow-hsl);--bs-ctx-btn-border-color:transparent;--bs-ctx-btn-hover-border-color:var(--bs-ctx-btn-border-color);--bs-ctx-btn-active-border-color:var(--bs-ctx-btn-border-color);--bs-ctx-btn-disabled-border-color:var(--bs-ctx-btn-border-color);--bs-ctx-btn-bg-clip:border-box;--bs-actionbar-bg:var(--bs-action-hover-bg);--bs-actionbar-border-color:hsla(var(--bs-black-hsl), 0.075);--bs-progresstrack-border-width:0;--bs-progresstrack-box-shadow:inset 0 0 0 var(--bs-border-width) var(--bs-actionbar-border-color);--bs-progresstrack-bg-clip:border-box}[data-bs-theme=dark]{color-scheme:dark;--bs-color-hue:var(--bs-gray-hue);--bs-color-saturation:var(--bs-gray-saturation);--bs-body-color-hsl:var(--bs-color-hue), var(--bs-color-saturation), 85%;--bs-body-color:hsl(var(--bs-body-color-hsl));--bs-emphasis-color-hsl:var(--bs-white-hsl);--bs-emphasis-color:hsl(var(--bs-emphasis-color-hsl));--bs-secondary-color-hsl:var(--bs-color-hue), var(--bs-color-saturation), 60%;--bs-secondary-color:hsl(var(--bs-secondary-color-hsl));--bs-tertiary-color-hsl:var(--bs-color-hue), var(--bs-color-saturation), 35%;--bs-tertiary-color:hsl(var(--bs-tertiary-color-hsl));--bs-heading-color:inherit;--bs-body-bg-hsl:var(--bs-sable-hue), var(--bs-sable-saturation), 13%;--bs-body-bg:hsl(var(--bs-body-bg-hsl));--bs-secondary-bg-hsl:var(--bs-sable-hue), var(--bs-sable-saturation), 11.8%;--bs-secondary-bg:hsl(var(--bs-secondary-bg-hsl));--bs-tertiary-bg-hsl:var(--bs-sable-hue), var(--bs-sable-saturation), 11%;--bs-tertiary-bg:hsl(var(--bs-tertiary-bg-hsl));--bs-gradient:linear-gradient(180deg, hsla(var(--bs-white-hsl), 0.15), hsla(var(--bs-white-hsl), 0));--bs-border-color:var(--bs-gray-800);--bs-border-color-light:var(--bs-border-color);--bs-border-color-dark:hsl(var(--bs-sable-hue), var(--bs-sable-saturation), 9.5%);--bs-border-color-translucent:hsla(var(--bs-white-hsl), 0.15);--bs-box-shadow-color:hsla(var(--bs-black-hsl), 0.4);--bs-box-shadow:0 0.5rem 1rem var(--bs-box-shadow-color);--bs-box-shadow-sm:0 0.125rem 0.25rem var(--bs-box-shadow-color);--bs-box-shadow-lg:0 1rem 3rem var(--bs-box-shadow-color);--bs-box-shadow-inset:inset 0 1px var(--bs-box-shadow-color);--bs-link-color-hsl:var(--bs-primary-text-emphasis-hsl);--bs-link-color:hsl(var(--bs-link-color-hsl));--bs-link-hover-color-hsl:var(--bs-primary-hsl);--bs-link-hover-color:hsl(var(--bs-link-hover-color-hsl));--bs-highlight-color:inherit;--bs-highlight-bg:hsla(var(--bs-yellow-hsl), 0.1);--bs-code-color:inherit;--bs-code-bg:hsla(var(--bs-white-hsl), 0.075);--bs-kbd-color:var(--bs-light-foreground);--bs-kbd-bg:var(--bs-light);--bs-content-color-hsl:var(--bs-body-color-hsl);--bs-content-color:hsl(var(--bs-content-color-hsl));--bs-content-bg-hsl:var(--bs-tertiary-bg-hsl);--bs-content-bg:hsl(var(--bs-content-bg-hsl));--bs-content-border-color:var(--bs-border-color-dark);--bs-content-box-shadow:none;--bs-content-floating-color-hsl:var(--bs-content-color-hsl);--bs-content-floating-color:hsl(var(--bs-content-floating-color-hsl));--bs-content-floating-bg-hsl:var(--bs-sable-hue), var(--bs-sable-saturation), 13.5%;--bs-content-floating-bg:hsl(var(--bs-content-floating-bg-hsl));--bs-content-floating-border-color:var(--bs-content-border-color);--bs-content-floating-box-shadow:0 1rem 2.25rem 0 rgba(0, 0, 0, 0.2), 0 0.25rem 1rem 0 rgba(0, 0, 0, 0.16);--bs-action-color:hsl(var(--bs-color-hue), var(--bs-color-saturation), 80%);--bs-action-bg:var(--bs-sable-700);--bs-action-border-color:var(--bs-border-color-dark);--bs-action-hover-color:var(--bs-action-color);--bs-action-hover-bg:var(--bs-sable-600);--bs-action-hover-border-color:var(--bs-action-border-color);--bs-action-focus-shadow-hsl:var(--bs-primary-hsl);--bs-action-active-color:var(--bs-action-color);--bs-action-active-bg:var(--bs-sable-500);--bs-action-active-border-color:var(--bs-action-border-color);--bs-action-active-shadow:none;--bs-action-disabled-color:var(--bs-secondary-color);--bs-action-disabled-bg:var(--bs-sable-400);--bs-action-disabled-border-color:var(--bs-action-border-color);--bs-form-color:var(--bs-body-color);--bs-form-bg:var(--bs-action-bg);--bs-form-secondary-bg:var(--bs-action-hover-bg);--bs-form-tertiary-bg:var(--bs-action-active-bg);--bs-form-border-color:var(--bs-action-border-color);--bs-form-focus-border-color:var(--bs-form-border-color);--bs-form-focus-shadow-hsl:var(--bs-primary-hsl);--bs-form-disabled-color:var(--bs-action-disabled-color);--bs-form-disabled-bg:var(--bs-action-disabled-bg);--bs-form-disabled-border-color:var(--bs-action-disabled-border-color);--bs-form-valid-color:var(--bs-success-text-emphasis);--bs-form-valid-border-color:var(--bs-success-border-subtle);--bs-form-invalid-color:var(--bs-danger-text-emphasis);--bs-form-invalid-border-color:var(--bs-danger-border-subtle);--bs-form-check-bg:var(--bs-form-bg);--bs-form-check-border-color:var(--bs-border-color);--bs-form-check-focus-border-color:var(--bs-form-check-border-color);--bs-form-check-focus-shadow-hsl:var(--bs-form-focus-shadow-hsl);--bs-ctx-btn-border-color:var(--bs-border-color-dark);--bs-ctx-btn-hover-border-color:var(--bs-ctx-btn-border-color);--bs-ctx-btn-active-border-color:var(--bs-ctx-btn-border-color);--bs-ctx-btn-disabled-border-color:var(--bs-ctx-btn-border-color);--bs-ctx-btn-bg-clip:padding-box;--bs-actionbar-bg:var(--bs-action-bg);--bs-actionbar-border-color:var(--bs-action-border-color);--bs-progresstrack-border-width:var(--bs-border-width);--bs-progresstrack-box-shadow:none;--bs-progresstrack-bg-clip:padding-box}*,::after,::before{box-sizing:border-box}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-font-smoothing:var(--bs-body-webkit-font-smoothing);-moz-osx-font-smoothing:var(--bs-body-moz-osx-font-smoothing);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:hsla(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:var(--bs-heading-font-weight);line-height:var(--bs-heading-line-height);color:var(--bs-heading-color)}.h1,h1{font-size:calc((var(--bs-font-size-base) + .4875rem) + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:var(--bs-h1-font-size)}}.h2,h2{font-size:calc((var(--bs-font-size-base) + .4375rem) + .9vw)}@media (min-width:1200px){.h2,h2{font-size:var(--bs-h2-font-size)}}.h3,h3{font-size:calc((var(--bs-font-size-base) + .4rem) + .6vw)}@media (min-width:1200px){.h3,h3{font-size:var(--bs-h3-font-size)}}.h4,h4{font-size:calc((var(--bs-font-size-base) + .375rem) + .3vw)}@media (min-width:1200px){.h4,h4{font-size:var(--bs-h4-font-size)}}.h5,h5{font-size:var(--bs-h5-font-size)}.h6,h6{font-size:var(--bs-h6-font-size)}p{margin-top:0}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}a>abbr[title]{text-underline-offset:var(--bs-relative-font-size-6xs)}address{font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}address,dl,ol,p,ul{margin-bottom:1rem}dl,ol,ul{margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:var(--bs-font-weight-bold)}dd{margin-bottom:.5rem;margin-left:0}blockquote,figure{margin:0 0 1rem}b,strong{font-weight:var(--bs-font-weight-bolder)}.small,small{font-size:var(--bs-relative-font-size-sm)}.mark,mark{padding:var(--bs-highlight-padding);color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg);border-radius:var(--bs-highlight-border-radius)}sub,sup{position:relative;font-size:var(--bs-relative-font-size-xs);line-height:0;vertical-align:baseline}sub{bottom:calc(-1*var(--bs-relative-font-size-4xs))}sup{top:calc(-1*var(--bs-relative-font-size-3xs))}a{color:hsla(var(--bs-link-color-hsl),var(--bs-link-opacity, 1));text-decoration:var(--bs-link-decoration);text-underline-offset:var(--bs-link-decoration-offset);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}a:hover{--bs-link-color-hsl:var(--bs-link-hover-color-hsl);--bs-link-decoration:var(--bs-link-hover-decoration)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:var(--bs-relative-font-size-sm)}pre code{padding:0;font-size:inherit;background-color:transparent;border-radius:0;word-break:normal;word-wrap:normal}code,kbd{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}code{padding:var(--bs-code-padding);font-size:var(--bs-code-font-size);color:var(--bs-code-color);background-color:var(--bs-code-bg);border-radius:var(--bs-code-border-radius);word-wrap:break-word}a>code,pre code{color:inherit}kbd{padding:var(--bs-kbd-padding);font-size:var(--bs-kbd-font-size);color:var(--bs-kbd-color);background-color:var(--bs-kbd-bg);border-radius:var(--bs-kbd-border-radius)}kbd kbd{padding:0;font-size:1em}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label,output{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}.form-control-color:not(:disabled):not([readonly]),.form-control[type=file]:not(:disabled):not([readonly]),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc((var(--bs-font-size-base) + .375rem) + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:calc(var(--bs-font-size-base) + .5rem)}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:calc(var(--bs-font-size-base) + .25rem)}.display-1,.display-2,.display-3,.display-4,.display-5,.display-6{font-weight:var(--bs-font-weight-bold);line-height:1.2}.display-1{font-size:calc((var(--bs-font-size-base) + .7rem) + 4.5vw)}@media (min-width:1200px){.display-1{font-size:calc(var(--bs-font-size-base) + 3.875rem)}}.display-2{font-size:calc((var(--bs-font-size-base) + .65rem) + 3.9vw)}@media (min-width:1200px){.display-2{font-size:calc(var(--bs-font-size-base) + 3.375rem)}}.display-3{font-size:calc((var(--bs-font-size-base) + .6rem) + 3.3vw)}@media (min-width:1200px){.display-3{font-size:calc(var(--bs-font-size-base) + 2.875rem)}}.display-4{font-size:calc((var(--bs-font-size-base) + .55rem) + 2.7vw)}@media (min-width:1200px){.display-4{font-size:calc(var(--bs-font-size-base) + 2.375rem)}}.display-5{font-size:calc((var(--bs-font-size-base) + .5rem) + 2.1vw)}@media (min-width:1200px){.display-5{font-size:calc(var(--bs-font-size-base) + 1.875rem)}}.display-6{font-size:calc((var(--bs-font-size-base) + .45rem) + 1.5vw)}@media (min-width:1200px){.display-6{font-size:calc(var(--bs-font-size-base) + 1.375rem)}}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:var(--bs-relative-font-size-sm);text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:calc(var(--bs-font-size-base) + .25rem)}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:var(--bs-relative-font-size-sm);color:var(--bs-secondary-color)}.blockquote-footer::before{content:"— "}.img-fluid,.img-thumbnail{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:var(--bs-relative-font-size-sm);color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:var(--bs-spacer-4);--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,.container-sm{max-width:var(--bs-container-max-width-sm)}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:var(--bs-container-max-width-md)}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:var(--bs-container-max-width-lg)}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:var(--bs-container-max-width-xl)}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:var(--bs-container-max-width-xxl)}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:var(--bs-spacer-4);--bs-gutter-y:0;display:flex;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;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%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.col-auto,.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{width:auto}.col-1,.col-2{flex:0 0 auto;width:8.33333333%}.col-2{width:16.66666667%}.col-3,.col-4{flex:0 0 auto;width:25%}.col-4{width:33.33333333%}.col-5,.col-6{flex:0 0 auto;width:41.66666667%}.col-6{width:50%}.col-7,.col-8{flex:0 0 auto;width:58.33333333%}.col-8{width:66.66666667%}.col-10,.col-9{flex:0 0 auto;width:75%}.col-10{width:83.33333333%}.col-11,.col-12{flex:0 0 auto;width:91.66666667%}.col-12{width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:var(--bs-spacer-1)}.g-1,.gy-1{--bs-gutter-y:var(--bs-spacer-1)}.g-2,.gx-2{--bs-gutter-x:var(--bs-spacer-2)}.g-2,.gy-2{--bs-gutter-y:var(--bs-spacer-2)}.g-3,.gx-3{--bs-gutter-x:var(--bs-spacer-3)}.g-3,.gy-3{--bs-gutter-y:var(--bs-spacer-3)}.g-4,.gx-4{--bs-gutter-x:var(--bs-spacer-4)}.g-4,.gy-4{--bs-gutter-y:var(--bs-spacer-4)}.g-5,.gx-5{--bs-gutter-x:var(--bs-spacer-5)}.g-5,.gy-5{--bs-gutter-y:var(--bs-spacer-5)}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.col-sm-auto,.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{width:auto}.col-sm-1,.col-sm-2{flex:0 0 auto;width:8.33333333%}.col-sm-2{width:16.66666667%}.col-sm-3,.col-sm-4{flex:0 0 auto;width:25%}.col-sm-4{width:33.33333333%}.col-sm-5,.col-sm-6{flex:0 0 auto;width:41.66666667%}.col-sm-6{width:50%}.col-sm-7,.col-sm-8{flex:0 0 auto;width:58.33333333%}.col-sm-8{width:66.66666667%}.col-sm-10,.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{width:83.33333333%}.col-sm-11,.col-sm-12{flex:0 0 auto;width:91.66666667%}.col-sm-12{width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:var(--bs-spacer-1)}.g-sm-1,.gy-sm-1{--bs-gutter-y:var(--bs-spacer-1)}.g-sm-2,.gx-sm-2{--bs-gutter-x:var(--bs-spacer-2)}.g-sm-2,.gy-sm-2{--bs-gutter-y:var(--bs-spacer-2)}.g-sm-3,.gx-sm-3{--bs-gutter-x:var(--bs-spacer-3)}.g-sm-3,.gy-sm-3{--bs-gutter-y:var(--bs-spacer-3)}.g-sm-4,.gx-sm-4{--bs-gutter-x:var(--bs-spacer-4)}.g-sm-4,.gy-sm-4{--bs-gutter-y:var(--bs-spacer-4)}.g-sm-5,.gx-sm-5{--bs-gutter-x:var(--bs-spacer-5)}.g-sm-5,.gy-sm-5{--bs-gutter-y:var(--bs-spacer-5)}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.col-md-auto,.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{width:auto}.col-md-1,.col-md-2{flex:0 0 auto;width:8.33333333%}.col-md-2{width:16.66666667%}.col-md-3,.col-md-4{flex:0 0 auto;width:25%}.col-md-4{width:33.33333333%}.col-md-5,.col-md-6{flex:0 0 auto;width:41.66666667%}.col-md-6{width:50%}.col-md-7,.col-md-8{flex:0 0 auto;width:58.33333333%}.col-md-8{width:66.66666667%}.col-md-10,.col-md-9{flex:0 0 auto;width:75%}.col-md-10{width:83.33333333%}.col-md-11,.col-md-12{flex:0 0 auto;width:91.66666667%}.col-md-12{width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:var(--bs-spacer-1)}.g-md-1,.gy-md-1{--bs-gutter-y:var(--bs-spacer-1)}.g-md-2,.gx-md-2{--bs-gutter-x:var(--bs-spacer-2)}.g-md-2,.gy-md-2{--bs-gutter-y:var(--bs-spacer-2)}.g-md-3,.gx-md-3{--bs-gutter-x:var(--bs-spacer-3)}.g-md-3,.gy-md-3{--bs-gutter-y:var(--bs-spacer-3)}.g-md-4,.gx-md-4{--bs-gutter-x:var(--bs-spacer-4)}.g-md-4,.gy-md-4{--bs-gutter-y:var(--bs-spacer-4)}.g-md-5,.gx-md-5{--bs-gutter-x:var(--bs-spacer-5)}.g-md-5,.gy-md-5{--bs-gutter-y:var(--bs-spacer-5)}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.col-lg-auto,.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{width:auto}.col-lg-1,.col-lg-2{flex:0 0 auto;width:8.33333333%}.col-lg-2{width:16.66666667%}.col-lg-3,.col-lg-4{flex:0 0 auto;width:25%}.col-lg-4{width:33.33333333%}.col-lg-5,.col-lg-6{flex:0 0 auto;width:41.66666667%}.col-lg-6{width:50%}.col-lg-7,.col-lg-8{flex:0 0 auto;width:58.33333333%}.col-lg-8{width:66.66666667%}.col-lg-10,.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{width:83.33333333%}.col-lg-11,.col-lg-12{flex:0 0 auto;width:91.66666667%}.col-lg-12{width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:var(--bs-spacer-1)}.g-lg-1,.gy-lg-1{--bs-gutter-y:var(--bs-spacer-1)}.g-lg-2,.gx-lg-2{--bs-gutter-x:var(--bs-spacer-2)}.g-lg-2,.gy-lg-2{--bs-gutter-y:var(--bs-spacer-2)}.g-lg-3,.gx-lg-3{--bs-gutter-x:var(--bs-spacer-3)}.g-lg-3,.gy-lg-3{--bs-gutter-y:var(--bs-spacer-3)}.g-lg-4,.gx-lg-4{--bs-gutter-x:var(--bs-spacer-4)}.g-lg-4,.gy-lg-4{--bs-gutter-y:var(--bs-spacer-4)}.g-lg-5,.gx-lg-5{--bs-gutter-x:var(--bs-spacer-5)}.g-lg-5,.gy-lg-5{--bs-gutter-y:var(--bs-spacer-5)}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.col-xl-auto,.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{width:auto}.col-xl-1,.col-xl-2{flex:0 0 auto;width:8.33333333%}.col-xl-2{width:16.66666667%}.col-xl-3,.col-xl-4{flex:0 0 auto;width:25%}.col-xl-4{width:33.33333333%}.col-xl-5,.col-xl-6{flex:0 0 auto;width:41.66666667%}.col-xl-6{width:50%}.col-xl-7,.col-xl-8{flex:0 0 auto;width:58.33333333%}.col-xl-8{width:66.66666667%}.col-xl-10,.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{width:83.33333333%}.col-xl-11,.col-xl-12{flex:0 0 auto;width:91.66666667%}.col-xl-12{width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:var(--bs-spacer-1)}.g-xl-1,.gy-xl-1{--bs-gutter-y:var(--bs-spacer-1)}.g-xl-2,.gx-xl-2{--bs-gutter-x:var(--bs-spacer-2)}.g-xl-2,.gy-xl-2{--bs-gutter-y:var(--bs-spacer-2)}.g-xl-3,.gx-xl-3{--bs-gutter-x:var(--bs-spacer-3)}.g-xl-3,.gy-xl-3{--bs-gutter-y:var(--bs-spacer-3)}.g-xl-4,.gx-xl-4{--bs-gutter-x:var(--bs-spacer-4)}.g-xl-4,.gy-xl-4{--bs-gutter-y:var(--bs-spacer-4)}.g-xl-5,.gx-xl-5{--bs-gutter-x:var(--bs-spacer-5)}.g-xl-5,.gy-xl-5{--bs-gutter-y:var(--bs-spacer-5)}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1,.col-xxl-2{flex:0 0 auto;width:8.33333333%}.col-xxl-2{width:16.66666667%}.col-xxl-3,.col-xxl-4{flex:0 0 auto;width:25%}.col-xxl-4{width:33.33333333%}.col-xxl-5,.col-xxl-6{flex:0 0 auto;width:41.66666667%}.col-xxl-6{width:50%}.col-xxl-7,.col-xxl-8{flex:0 0 auto;width:58.33333333%}.col-xxl-8{width:66.66666667%}.col-xxl-10,.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{width:83.33333333%}.col-xxl-11,.col-xxl-12{flex:0 0 auto;width:91.66666667%}.col-xxl-12{width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:var(--bs-spacer-1)}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:var(--bs-spacer-1)}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:var(--bs-spacer-2)}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:var(--bs-spacer-2)}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:var(--bs-spacer-3)}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:var(--bs-spacer-3)}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:var(--bs-spacer-4)}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:var(--bs-spacer-4)}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:var(--bs-spacer-5)}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:var(--bs-spacer-5)}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-body-color);--bs-table-bg:transparent;--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-table-color);--bs-table-striped-bg:hsla(var(--bs-black-hsl), 0.03);--bs-table-active-color:var(--bs-table-color);--bs-table-active-bg:hsla(var(--bs-black-hsl), 0.09);--bs-table-hover-color:var(--bs-table-color);--bs-table-hover-bg:hsla(var(--bs-black-hsl), 0.06);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}[data-bs-theme=dark] .table{--bs-table-striped-bg:hsla(var(--bs-white-hsl), 0.025);--bs-table-active-bg:hsla(var(--bs-white-hsl), 0.075);--bs-table-hover-bg:hsla(var(--bs-white-hsl), 0.05)}.table>:not(caption)>*>*{padding:.375rem .5rem;color:var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:var(--bs-border-width-2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .375rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width)0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(even){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary,.table-secondary{--bs-table-color:var(--bs-body-color);--bs-table-border-color:var(--bs-border-color);--bs-table-striped-color:var(--bs-table-color);--bs-table-active-color:var(--bs-table-color);--bs-table-hover-color:var(--bs-table-color);color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-primary{--bs-table-bg:hsla(var(--bs-primary-hsl), 0.125);--bs-table-striped-bg:hsla(var(--bs-primary-hsl), 0.15);--bs-table-active-bg:hsla(var(--bs-primary-hsl), 0.25);--bs-table-hover-bg:hsla(var(--bs-primary-hsl), 0.2)}.table-secondary{--bs-table-bg:hsla(var(--bs-secondary-hsl), 0.125);--bs-table-striped-bg:hsla(var(--bs-secondary-hsl), 0.15);--bs-table-active-bg:hsla(var(--bs-secondary-hsl), 0.25);--bs-table-hover-bg:hsla(var(--bs-secondary-hsl), 0.2)}.table-success{--bs-table-bg:hsla(var(--bs-success-hsl), 0.125);--bs-table-striped-bg:hsla(var(--bs-success-hsl), 0.15);--bs-table-active-bg:hsla(var(--bs-success-hsl), 0.25);--bs-table-hover-bg:hsla(var(--bs-success-hsl), 0.2)}.table-info,.table-success,.table-warning{--bs-table-color:var(--bs-body-color);--bs-table-border-color:var(--bs-border-color);--bs-table-striped-color:var(--bs-table-color);--bs-table-active-color:var(--bs-table-color);--bs-table-hover-color:var(--bs-table-color);color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-bg:hsla(var(--bs-info-hsl), 0.125);--bs-table-striped-bg:hsla(var(--bs-info-hsl), 0.15);--bs-table-active-bg:hsla(var(--bs-info-hsl), 0.25);--bs-table-hover-bg:hsla(var(--bs-info-hsl), 0.2)}.table-warning{--bs-table-bg:hsla(var(--bs-warning-hsl), 0.125);--bs-table-striped-bg:hsla(var(--bs-warning-hsl), 0.15);--bs-table-active-bg:hsla(var(--bs-warning-hsl), 0.25);--bs-table-hover-bg:hsla(var(--bs-warning-hsl), 0.2)}.table-danger{--bs-table-bg:hsla(var(--bs-danger-hsl), 0.125);--bs-table-striped-bg:hsla(var(--bs-danger-hsl), 0.15);--bs-table-active-bg:hsla(var(--bs-danger-hsl), 0.25);--bs-table-hover-bg:hsla(var(--bs-danger-hsl), 0.2)}.table-danger,.table-dark,.table-light{--bs-table-color:var(--bs-body-color);--bs-table-border-color:var(--bs-border-color);--bs-table-striped-color:var(--bs-table-color);--bs-table-active-color:var(--bs-table-color);--bs-table-hover-color:var(--bs-table-color);color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-bg:hsla(var(--bs-light-hsl), 0.125);--bs-table-striped-bg:hsla(var(--bs-light-hsl), 0.15);--bs-table-active-bg:hsla(var(--bs-light-hsl), 0.25);--bs-table-hover-bg:hsla(var(--bs-light-hsl), 0.2)}.table-dark{--bs-table-bg:hsla(var(--bs-dark-hsl), 0.125);--bs-table-striped-bg:hsla(var(--bs-dark-hsl), 0.15);--bs-table-active-bg:hsla(var(--bs-dark-hsl), 0.25);--bs-table-hover-bg:hsla(var(--bs-dark-hsl), 0.2)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(var(--bs-action-padding-y) + var(--bs-border-width));padding-bottom:calc(var(--bs-action-padding-y) + var(--bs-border-width));margin-bottom:0;font-size:var(--bs-action-font-size);line-height:var(--bs-action-line-height)}.col-form-label-lg{padding-top:calc(var(--bs-action-lg-padding-y) + var(--bs-border-width));padding-bottom:calc(var(--bs-action-lg-padding-y) + var(--bs-border-width));font-size:var(--bs-action-lg-font-size);line-height:var(--bs-action-lg-line-height)}.col-form-label-sm{padding-top:calc(var(--bs-action-sm-padding-y) + var(--bs-border-width));padding-bottom:calc(var(--bs-action-sm-padding-y) + var(--bs-border-width));font-size:var(--bs-action-sm-font-size);line-height:var(--bs-action-sm-line-height)}.form-text{margin-top:.25rem;font-size:var(--bs-font-size-sm);color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:var(--bs-action-padding-y) var(--bs-action-padding-x);font-size:var(--bs-action-font-size);font-weight:var(--bs-font-weight-normal);line-height:var(--bs-action-line-height);color:var(--bs-form-color);background-color:var(--bs-form-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-form-border-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--bs-border-radius)}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control:focus{color:var(--bs-form-color);background-color:var(--bs-form-bg);border-color:var(--bs-form-focus-border-color);outline:0;box-shadow:0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-form-focus-shadow-hsl),.35)}.form-control::-webkit-date-and-time-value{min-width:5.3125rem;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-moz-placeholder{color:var(--bs-tertiary-color);opacity:1}.form-control::placeholder{color:var(--bs-tertiary-color);opacity:1}.form-control:disabled{color:var(--bs-form-disabled-color);background-color:var(--bs-form-disabled-bg);border-color:var(--bs-form-disabled-border-color);opacity:1}.form-control::-webkit-file-upload-button{padding:var(--bs-action-padding-y) var(--bs-action-padding-x);margin:calc(-1*var(--bs-action-padding-y)) calc(-1*var(--bs-action-padding-x));-webkit-margin-end:var(--bs-action-padding-x);margin-inline-end:var(--bs-action-padding-x);color:var(--bs-form-color);background-color:var(--bs-form-secondary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0}.form-control::file-selector-button{padding:var(--bs-action-padding-y) var(--bs-action-padding-x);margin:calc(-1*var(--bs-action-padding-y)) calc(-1*var(--bs-action-padding-x));-webkit-margin-end:var(--bs-action-padding-x);margin-inline-end:var(--bs-action-padding-x);color:var(--bs-form-color);background-color:var(--bs-form-secondary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-form-tertiary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-form-tertiary-bg)}.form-control-plaintext{display:block;width:100%;padding:var(--bs-action-padding-y)0;margin-bottom:0;line-height:var(--bs-action-line-height);color:var(--bs-form-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width)0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(var(--bs-action-sm-font-size)*var(--bs-action-sm-line-height) + var(--bs-action-sm-padding-y)*2 + var(--bs-border-width)*2);padding:var(--bs-action-sm-padding-y) var(--bs-action-sm-padding-x);font-size:var(--bs-action-sm-font-size);line-height:var(--bs-action-sm-line-height);border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:var(--bs-action-sm-padding-y) var(--bs-action-sm-padding-x);margin:calc(-1*var(--bs-action-sm-padding-y)) calc(-1*var(--bs-action-sm-padding-x));-webkit-margin-end:var(--bs-action-sm-padding-x);margin-inline-end:var(--bs-action-sm-padding-x)}.form-control-sm::file-selector-button{padding:var(--bs-action-sm-padding-y) var(--bs-action-sm-padding-x);margin:calc(-1*var(--bs-action-sm-padding-y)) calc(-1*var(--bs-action-sm-padding-x));-webkit-margin-end:var(--bs-action-sm-padding-x);margin-inline-end:var(--bs-action-sm-padding-x)}.form-control-lg{min-height:calc(var(--bs-action-lg-font-size)*var(--bs-action-lg-line-height) + var(--bs-action-lg-padding-y)*2 + var(--bs-border-width)*2);padding:var(--bs-action-lg-padding-y) var(--bs-action-lg-padding-x);font-size:var(--bs-action-lg-font-size);line-height:var(--bs-action-lg-line-height);border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:var(--bs-action-lg-padding-y) var(--bs-action-lg-padding-x);margin:calc(-1*var(--bs-action-lg-padding-y)) calc(-1*var(--bs-action-lg-padding-x));-webkit-margin-end:var(--bs-action-lg-padding-x);margin-inline-end:var(--bs-action-lg-padding-x)}.form-control-lg::file-selector-button{padding:var(--bs-action-lg-padding-y) var(--bs-action-lg-padding-x);margin:calc(-1*var(--bs-action-lg-padding-y)) calc(-1*var(--bs-action-lg-padding-x));-webkit-margin-end:var(--bs-action-lg-padding-x);margin-inline-end:var(--bs-action-lg-padding-x)}textarea.form-control{min-height:calc(var(--bs-action-font-size)*var(--bs-action-line-height) + var(--bs-action-padding-y)*2 + var(--bs-border-width)*2)}.input-group-sm>textarea.form-control,textarea.form-control-sm{min-height:calc(var(--bs-action-sm-font-size)*var(--bs-action-sm-line-height) + var(--bs-action-sm-padding-y)*2 + var(--bs-border-width)*2)}.input-group-lg>textarea.form-control,textarea.form-control-lg{min-height:calc(var(--bs-action-lg-font-size)*var(--bs-action-lg-line-height) + var(--bs-action-lg-padding-y)*2 + var(--bs-border-width)*2)}.form-control-color{width:3rem;height:calc(1.5em + var(--bs-action-padding-y) + var(--bs-border-width)*2);padding:.375rem}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + var(--bs-action-sm-padding-y) + var(--bs-border-width)*2)}.form-control-color.form-control-lg{height:calc(1.5em + var(--bs-action-lg-padding-y) + var(--bs-border-width)*2)}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%233d4043' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:var(--bs-action-padding-y) 2rem var(--bs-action-padding-y) var(--bs-action-padding-x);font-size:var(--bs-action-font-size);font-weight:var(--bs-font-weight-normal);line-height:var(--bs-action-line-height);color:var(--bs-form-color);background-color:var(--bs-form-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right var(--bs-action-padding-x) center;background-size:1rem .75rem;border:var(--bs-border-width) solid var(--bs-form-border-color);border-radius:var(--bs-border-radius);-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:var(--bs-form-focus-border-color);outline:0;box-shadow:0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-form-focus-shadow-hsl),.35)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:var(--bs-action-padding-x);background-image:none}.form-select:disabled{color:var(--bs-form-disabled-color);background-color:var(--bs-form-disabled-bg);border-color:var(--bs-form-disabled-border-color)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-form-color)}.form-select-sm{padding-top:var(--bs-action-sm-padding-y);padding-bottom:var(--bs-action-sm-padding-y);padding-left:var(--bs-action-sm-padding-x);font-size:var(--bs-action-sm-font-size);line-height:var(--bs-action-sm-line-height);border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:var(--bs-action-lg-padding-y);padding-bottom:var(--bs-action-lg-padding-y);padding-left:var(--bs-action-lg-padding-x);font-size:var(--bs-action-lg-font-size);line-height:var(--bs-action-lg-line-height);border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23aeb1b7' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-select[multiple]{overflow-y:auto}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{flex-shrink:0;width:1em;height:1em;margin-top:var(--bs-relative-font-size-4xs);vertical-align:top;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-form-check-border-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:var(--bs-relative-font-size-4xs)}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:var(--bs-form-check-focus-border-color);outline:0;box-shadow:0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-form-check-focus-shadow-hsl),.35)}.form-check-input:checked{background-color:var(--bs-primary);border-color:var(--bs-primary)}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:var(--bs-primary-checkbox-svg)}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:var(--bs-primary-radio-svg)}.form-check-input[type=checkbox]:indeterminate{background-color:var(--bs-primary);border-color:var(--bs-primary);--bs-form-check-bg-image:var(--bs-primary-dash-svg)}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:var(--bs-switch-svg-unchecked);width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:var(--bs-switch-svg-unchecked)}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:var(--bs-primary-switch-svg)}.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.625rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{border-color:var(--bs-primary-border-subtle);box-shadow:0 0 0 .3125rem hsla(var(--bs-form-focus-shadow-hsl),.35)}.form-range:focus::-moz-range-thumb{border-color:var(--bs-primary-border-subtle);box-shadow:0 0 0 .3125rem hsla(var(--bs-form-focus-shadow-hsl),.35)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1.625rem;height:1.625rem;margin-top:-.625rem;background-color:var(--bs-form-check-bg);border:var(--bs-border-width-2) solid var(--bs-form-check-border-color);border-radius:50%;-webkit-appearance:none;appearance:none;box-sizing:border-box;cursor:pointer}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;box-sizing:border-box;cursor:pointer;background-color:var(--bs-actionbar-bg);border:var(--bs-border-width) solid var(--bs-actionbar-border-color);border-radius:1rem}.form-range::-moz-range-thumb{width:1.625rem;height:1.625rem;background-color:var(--bs-form-check-bg);border:var(--bs-border-width-2) solid var(--bs-form-check-border-color);border-radius:50%;-moz-appearance:none;appearance:none;box-sizing:border-box;cursor:pointer}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;box-sizing:border-box;cursor:pointer;background-color:var(--bs-actionbar-bg);border:var(--bs-border-width) solid var(--bs-actionbar-border-color);border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-form-check-border-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-form-check-border-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width)*2));min-height:calc(3.5rem + calc(var(--bs-border-width)*2));line-height:var(--bs-line-height-sm)}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;color:hsla(var(--bs-body-color-hsl),.75);border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .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-plaintext::-moz-placeholder,.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown),.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem;padding-left:.75rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{color:hsla(var(--bs-body-color-hsl),.75);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{color:hsla(var(--bs-body-color-hsl),.75);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:not(:-moz-placeholder-shown)~label::after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-form-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control-plaintext~label::after,.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-form-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control-plaintext~label::after{background-color:transparent}.form-floating>.form-control:-webkit-autofill~label{color:hsla(var(--bs-body-color-hsl),.75);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width)0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:var(--bs-form-disabled-color)}.form-floating>.form-control:disabled~label::after,.form-floating>:disabled~label::after{background-color:var(--bs-form-disabled-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:var(--bs-action-padding-y) var(--bs-action-padding-x);font-size:var(--bs-action-font-size);font-weight:var(--bs-font-weight-normal);line-height:var(--bs-action-line-height);color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-form-tertiary-bg);border:var(--bs-border-width) solid var(--bs-form-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:var(--bs-action-lg-padding-y) var(--bs-action-lg-padding-x);font-size:var(--bs-action-lg-font-size);line-height:var(--bs-action-lg-line-height);border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:var(--bs-action-sm-padding-y) var(--bs-action-sm-padding-x);font-size:var(--bs-action-sm-font-size);line-height:var(--bs-action-sm-line-height);border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:2rem}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width)*-1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback,.valid-tooltip{display:none;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.valid-feedback{width:100%;margin-top:.25rem;font-size:var(--bs-relative-font-size-sm);color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;max-width:100%;padding:.25rem .375rem;margin-top:.125rem;font-size:var(--bs-font-size-sm);line-height:var(--bs-line-height-sm);color:var(--bs-success-foreground);background-color:var(--bs-success);border-radius:var(--bs-border-radius-sm)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + var(--bs-action-padding-x));background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%233b844f' 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(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y)/2)) center;background-size:calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y)) calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y))}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-success-hsl),.35)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + var(--bs-action-padding-x));background-position:top calc(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y)/2)) right calc(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y)/2))}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%233b844f' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:3.5rem;background-position:right var(--bs-action-padding-x) center,center right 2rem;background-size:1rem .75rem,calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y)) calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y))}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-success-hsl),.35)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.5em + var(--bs-action-padding-x)))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-success);border-color:var(--bs-success)}.form-check-input.is-valid:checked[type=checkbox],.was-validated .form-check-input:valid:checked[type=checkbox]{--bs-form-check-bg-image:var(--bs-success-checkbox-svg)}.form-check-input.is-valid:checked[type=radio],.was-validated .form-check-input:valid:checked[type=radio]{--bs-form-check-bg-image:var(--bs-success-radio-svg)}.form-switch .form-check-input.is-valid:checked,.was-validated .form-switch .form-check-input:valid:checked,.was-validated.form-switch .form-check-input:valid:checked{--bs-form-switch-bg:var(--bs-success-switch-svg)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-success-hsl),.35)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback,.invalid-tooltip{display:none;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.invalid-feedback{width:100%;margin-top:.25rem;font-size:var(--bs-relative-font-size-sm);color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;max-width:100%;padding:.25rem .375rem;margin-top:.125rem;font-size:var(--bs-font-size-sm);line-height:var(--bs-line-height-sm);color:var(--bs-danger-foreground);background-color:var(--bs-danger);border-radius:var(--bs-border-radius-sm)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + var(--bs-action-padding-x));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(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y)/2)) center;background-size:calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y)) calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y))}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-danger-hsl),.35)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + var(--bs-action-padding-x));background-position:top calc(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y)/2)) right calc(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y)/2))}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:3.5rem;background-position:right var(--bs-action-padding-x) center,center right 2rem;background-size:1rem .75rem,calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y)) calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y))}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-danger-hsl),.35)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.5em + var(--bs-action-padding-x)))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-danger);border-color:var(--bs-danger)}.form-check-input.is-invalid:checked[type=checkbox],.was-validated .form-check-input:invalid:checked[type=checkbox]{--bs-form-check-bg-image:var(--bs-danger-checkbox-svg)}.form-check-input.is-invalid:checked[type=radio],.was-validated .form-check-input:invalid:checked[type=radio]{--bs-form-check-bg-image:var(--bs-danger-radio-svg)}.form-switch .form-check-input.is-invalid:checked,.was-validated .form-switch .form-check-input:invalid:checked,.was-validated.form-switch .form-check-input:invalid:checked{--bs-form-switch-bg:var(--bs-danger-switch-svg)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-danger-hsl),.35)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn,.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg)}.btn{--bs-btn-padding-x:var(--bs-action-padding-x);--bs-btn-padding-y:var(--bs-action-padding-y);--bs-btn-font-family: ;--bs-btn-font-size:var(--bs-action-font-size);--bs-btn-font-weight:var(--bs-font-weight-normal);--bs-btn-line-height:var(--bs-action-line-height);--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:var(--bs-btn-border-color);--bs-btn-box-shadow:none;--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-btn-focus-shadow-hsl), 0.5);--bs-btn-bg-clip:border-box;--bs-btn-webkit-font-smoothing:auto;--bs-btn-moz-osx-font-smoothing:auto;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);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-clip:var(--bs-btn-bg-clip);-webkit-font-smoothing:var(--bs-btn-webkit-font-smoothing);-moz-osx-font-smoothing:var(--bs-btn-moz-osx-font-smoothing)}@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{border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg)}.btn-check:focus-visible+.btn,.btn:focus-visible{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary,.btn-secondary{--bs-btn-active-shadow:none;--bs-btn-disabled-color:var(--bs-btn-color);--bs-btn-disabled-bg:var(--bs-btn-bg)}.btn-primary{--bs-btn-color:var(--bs-primary-foreground);--bs-btn-bg:var(--bs-primary);--bs-btn-border-color:var(--bs-ctx-btn-border-color);--bs-btn-hover-color:var(--bs-btn-color);--bs-btn-hover-bg:var(--bs-primary-hover-bg);--bs-btn-hover-border-color:var(--bs-ctx-btn-hover-border-color);--bs-btn-focus-shadow-hsl:var(--bs-primary-hsl);--bs-btn-active-color:var(--bs-btn-color);--bs-btn-active-bg:var(--bs-primary-active-bg);--bs-btn-active-border-color:var(--bs-ctx-btn-active-border-color);--bs-btn-disabled-border-color:var(--bs-ctx-btn-disabled-border-color);--bs-btn-bg-clip:var(--bs-ctx-btn-bg-clip)}.btn-secondary{--bs-btn-color:var(--bs-action-color);--bs-btn-bg:var(--bs-action-bg);--bs-btn-border-color:var(--bs-action-border-color);--bs-btn-hover-color:var(--bs-action-hover-color);--bs-btn-hover-bg:var(--bs-action-hover-bg);--bs-btn-hover-border-color:var(--bs-action-hover-border-color);--bs-btn-focus-shadow-hsl:var(--bs-action-focus-shadow-hsl);--bs-btn-active-color:var(--bs-action-active-color);--bs-btn-active-bg:var(--bs-action-active-bg);--bs-btn-active-border-color:var(--bs-action-active-border-color);--bs-btn-disabled-border-color:var(--bs-btn-border-color);--bs-btn-bg-clip:border-box}.btn-success{--bs-btn-color:var(--bs-success-foreground);--bs-btn-bg:var(--bs-success);--bs-btn-border-color:var(--bs-ctx-btn-border-color);--bs-btn-hover-color:var(--bs-btn-color);--bs-btn-hover-bg:var(--bs-success-hover-bg);--bs-btn-hover-border-color:var(--bs-ctx-btn-hover-border-color);--bs-btn-focus-shadow-hsl:var(--bs-success-hsl);--bs-btn-active-color:var(--bs-btn-color);--bs-btn-active-bg:var(--bs-success-active-bg);--bs-btn-active-border-color:var(--bs-ctx-btn-active-border-color);--bs-btn-disabled-border-color:var(--bs-ctx-btn-disabled-border-color);--bs-btn-bg-clip:var(--bs-ctx-btn-bg-clip)}.btn-info,.btn-success,.btn-warning{--bs-btn-active-shadow:none;--bs-btn-disabled-color:var(--bs-btn-color);--bs-btn-disabled-bg:var(--bs-btn-bg)}.btn-info{--bs-btn-color:var(--bs-info-foreground);--bs-btn-bg:var(--bs-info);--bs-btn-border-color:var(--bs-ctx-btn-border-color);--bs-btn-hover-color:var(--bs-btn-color);--bs-btn-hover-bg:var(--bs-info-hover-bg);--bs-btn-hover-border-color:var(--bs-ctx-btn-hover-border-color);--bs-btn-focus-shadow-hsl:var(--bs-info-hsl);--bs-btn-active-color:var(--bs-btn-color);--bs-btn-active-bg:var(--bs-info-active-bg);--bs-btn-active-border-color:var(--bs-ctx-btn-active-border-color);--bs-btn-disabled-border-color:var(--bs-ctx-btn-disabled-border-color);--bs-btn-bg-clip:var(--bs-ctx-btn-bg-clip)}.btn-warning{--bs-btn-color:var(--bs-warning-foreground);--bs-btn-bg:var(--bs-warning);--bs-btn-hover-bg:var(--bs-warning-hover-bg);--bs-btn-focus-shadow-hsl:var(--bs-warning-hsl);--bs-btn-active-bg:var(--bs-warning-active-bg)}.btn-danger,.btn-light,.btn-warning{--bs-btn-border-color:var(--bs-ctx-btn-border-color);--bs-btn-hover-color:var(--bs-btn-color);--bs-btn-hover-border-color:var(--bs-ctx-btn-hover-border-color);--bs-btn-active-color:var(--bs-btn-color);--bs-btn-active-border-color:var(--bs-ctx-btn-active-border-color);--bs-btn-disabled-border-color:var(--bs-ctx-btn-disabled-border-color);--bs-btn-bg-clip:var(--bs-ctx-btn-bg-clip)}.btn-danger{--bs-btn-color:var(--bs-danger-foreground);--bs-btn-bg:var(--bs-danger);--bs-btn-hover-bg:var(--bs-danger-hover-bg);--bs-btn-focus-shadow-hsl:var(--bs-danger-hsl);--bs-btn-active-bg:var(--bs-danger-active-bg);--bs-btn-active-shadow:none;--bs-btn-disabled-color:var(--bs-btn-color);--bs-btn-disabled-bg:var(--bs-btn-bg)}.btn-light{--bs-btn-color:var(--bs-light-foreground);--bs-btn-bg:var(--bs-light);--bs-btn-hover-bg:var(--bs-light-hover-bg);--bs-btn-focus-shadow-hsl:var(--bs-light-hsl);--bs-btn-active-bg:var(--bs-light-active-bg)}.btn-dark,.btn-light,.btn-outline-primary,.btn-outline-secondary{--bs-btn-active-shadow:none;--bs-btn-disabled-color:var(--bs-btn-color);--bs-btn-disabled-bg:var(--bs-btn-bg)}.btn-dark{--bs-btn-color:var(--bs-dark-foreground);--bs-btn-bg:var(--bs-dark);--bs-btn-border-color:var(--bs-ctx-btn-border-color);--bs-btn-hover-color:var(--bs-btn-color);--bs-btn-hover-bg:var(--bs-dark-hover-bg);--bs-btn-hover-border-color:var(--bs-ctx-btn-hover-border-color);--bs-btn-focus-shadow-hsl:var(--bs-dark-hsl);--bs-btn-active-color:var(--bs-btn-color);--bs-btn-active-bg:var(--bs-dark-active-bg);--bs-btn-active-border-color:var(--bs-ctx-btn-active-border-color);--bs-btn-disabled-border-color:var(--bs-ctx-btn-disabled-border-color);--bs-btn-bg-clip:var(--bs-ctx-btn-bg-clip)}.btn-outline-primary,.btn-outline-secondary{--bs-btn-active-color:var(--bs-btn-hover-color);--bs-btn-active-bg:var(--bs-btn-hover-bg);--bs-btn-active-border-color:var(--bs-btn-hover-border-color);--bs-btn-disabled-border-color:var(--bs-btn-border-color);--bs-btn-bg-clip:border-box;--bs-gradient:none}.btn-outline-primary{--bs-btn-color:var(--bs-primary-text-emphasis);--bs-btn-border-color:var(--bs-primary-text-emphasis);--bs-btn-hover-color:var(--bs-primary-foreground);--bs-btn-hover-bg:var(--bs-primary);--bs-btn-hover-border-color:var(--bs-primary);--bs-btn-focus-shadow-hsl:var(--bs-primary-hsl)}.btn-outline-secondary{--bs-btn-color:var(--bs-secondary-text-emphasis);--bs-btn-border-color:var(--bs-secondary-text-emphasis);--bs-btn-hover-color:var(--bs-secondary-foreground);--bs-btn-hover-bg:var(--bs-secondary);--bs-btn-hover-border-color:var(--bs-secondary);--bs-btn-focus-shadow-hsl:var(--bs-secondary-hsl)}.btn-outline-success{--bs-btn-color:var(--bs-success-text-emphasis);--bs-btn-border-color:var(--bs-success-text-emphasis);--bs-btn-hover-color:var(--bs-success-foreground);--bs-btn-hover-bg:var(--bs-success);--bs-btn-hover-border-color:var(--bs-success);--bs-btn-focus-shadow-hsl:var(--bs-success-hsl)}.btn-outline-info,.btn-outline-success,.btn-outline-warning{--bs-btn-active-color:var(--bs-btn-hover-color);--bs-btn-active-bg:var(--bs-btn-hover-bg);--bs-btn-active-border-color:var(--bs-btn-hover-border-color);--bs-btn-active-shadow:none;--bs-btn-disabled-color:var(--bs-btn-color);--bs-btn-disabled-bg:var(--bs-btn-bg);--bs-btn-disabled-border-color:var(--bs-btn-border-color);--bs-btn-bg-clip:border-box;--bs-gradient:none}.btn-outline-info{--bs-btn-color:var(--bs-info-text-emphasis);--bs-btn-border-color:var(--bs-info-text-emphasis);--bs-btn-hover-color:var(--bs-info-foreground);--bs-btn-hover-bg:var(--bs-info);--bs-btn-hover-border-color:var(--bs-info);--bs-btn-focus-shadow-hsl:var(--bs-info-hsl)}.btn-outline-warning{--bs-btn-color:var(--bs-warning-text-emphasis);--bs-btn-border-color:var(--bs-warning-text-emphasis);--bs-btn-hover-color:var(--bs-warning-foreground);--bs-btn-hover-bg:var(--bs-warning);--bs-btn-hover-border-color:var(--bs-warning);--bs-btn-focus-shadow-hsl:var(--bs-warning-hsl)}.btn-outline-danger{--bs-btn-color:var(--bs-danger-text-emphasis);--bs-btn-border-color:var(--bs-danger-text-emphasis);--bs-btn-hover-color:var(--bs-danger-foreground);--bs-btn-hover-bg:var(--bs-danger);--bs-btn-hover-border-color:var(--bs-danger);--bs-btn-focus-shadow-hsl:var(--bs-danger-hsl)}.btn-outline-danger,.btn-outline-dark,.btn-outline-light{--bs-btn-active-color:var(--bs-btn-hover-color);--bs-btn-active-bg:var(--bs-btn-hover-bg);--bs-btn-active-border-color:var(--bs-btn-hover-border-color);--bs-btn-active-shadow:none;--bs-btn-disabled-color:var(--bs-btn-color);--bs-btn-disabled-bg:var(--bs-btn-bg);--bs-btn-disabled-border-color:var(--bs-btn-border-color);--bs-btn-bg-clip:border-box;--bs-gradient:none}.btn-outline-light{--bs-btn-color:var(--bs-light-text-emphasis);--bs-btn-border-color:var(--bs-light-text-emphasis);--bs-btn-hover-color:var(--bs-light-foreground);--bs-btn-hover-bg:var(--bs-light);--bs-btn-hover-border-color:var(--bs-light);--bs-btn-focus-shadow-hsl:var(--bs-light-hsl)}.btn-outline-dark{--bs-btn-color:var(--bs-dark-text-emphasis);--bs-btn-border-color:var(--bs-dark-text-emphasis);--bs-btn-hover-color:var(--bs-dark-foreground);--bs-btn-hover-bg:var(--bs-dark);--bs-btn-hover-border-color:var(--bs-dark);--bs-btn-focus-shadow-hsl:var(--bs-dark-hsl)}.btn-link{--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:var(--bs-secondary-color);--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:none;--bs-btn-focus-shadow-hsl:var(--bs-primary-hsl);text-decoration:var(--bs-link-decoration);text-underline-offset:var(--bs-link-decoration-offset)}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color);text-decoration:var(--bs-link-hover-decoration)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-x:var(--bs-action-lg-padding-x);--bs-btn-padding-y:var(--bs-action-lg-padding-y);--bs-btn-font-size:var(--bs-action-lg-font-size);--bs-btn-line-height:var(--bs-action-lg-line-height);--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-x:var(--bs-action-sm-padding-x);--bs-btn-padding-y:var(--bs-action-sm-padding-y);--bs-btn-font-size:var(--bs-action-sm-font-size);--bs-btn-line-height:var(--bs-action-sm-line-height);--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.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,.dropend .dropdown-toggle:empty::after,.dropstart .dropdown-toggle:empty::after,.dropup .dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:11.25rem;--bs-dropdown-padding-x:0.25rem;--bs-dropdown-padding-y:0.25rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:var(--bs-font-size-base);--bs-dropdown-color:var(--bs-content-floating-color);--bs-dropdown-bg:var(--bs-content-floating-bg);--bs-dropdown-border-color:var(--bs-content-floating-border-color);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-dropdown-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:var(--bs-content-floating-box-shadow);--bs-dropdown-link-color:var(--bs-dropdown-color);--bs-dropdown-link-hover-color:var(--bs-dropdown-link-color);--bs-dropdown-link-hover-bg:var(--bs-action-hover-bg);--bs-dropdown-link-active-color:var(--bs-dropdown-link-color);--bs-dropdown-link-active-bg:var(--bs-action-active-bg);--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-link-webkit-font-smoothing:var(--bs-body-webkit-font-smoothing);--bs-dropdown-link-moz-osx-font-smoothing:var(--bs-body-moz-osx-font-smoothing);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-item-border-radius:var(--bs-border-radius-sm);--bs-dropdown-header-color:var(--bs-secondary-color);--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius);box-shadow:var(--bs-dropdown-box-shadow)}.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)}.dropend .dropdown-toggle::after,.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}.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{border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid;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{margin-left:.255em;vertical-align:.255em;content:"";display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent;vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y)0;overflow:hidden;border-top:var(--bs-border-width) solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:var(--bs-font-weight-normal);color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius);-webkit-font-smoothing:var(--bs-dropdown-link-webkit-font-smoothing);-moz-osx-font-smoothing:var(--bs-dropdown-link-moz-osx-font-smoothing)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.active{color:var(--bs-primary-foreground);background-color:var(--bs-primary);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.dropdown-item.active:focus-visible{background-color:var(--bs-primary-hover-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:var(--bs-dropdown-font-size);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)}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check+.btn:not(.btn-secondary),.btn-group-vertical>.btn:not(.btn-secondary),.btn-group>.btn-check+.btn:not(.btn-secondary),.btn-group>.btn:not(.btn-secondary){z-index:1}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(-1*var(--bs-border-width))}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5rem;padding-left:.5rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.625rem;padding-left:.625rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(-1*var(--bs-border-width))}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:0.5rem;--bs-nav-link-padding-y:0.25rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-tertiary-color);--bs-nav-link-webkit-font-smoothing:auto;--bs-nav-link-moz-osx-font-smoothing:auto;display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;-webkit-font-smoothing:var(--bs-nav-link-webkit-font-smoothing);-moz-osx-font-smoothing:var(--bs-nav-link-moz-osx-font-smoothing)}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-action-focus-shadow-hsl),.5)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-link-color:var(--bs-body-color);--bs-nav-link-hover-color:var(--bs-nav-link-color);--bs-nav-link-webkit-font-smoothing:var(--bs-body-webkit-font-smoothing);--bs-nav-link-moz-osx-font-smoothing:var(--bs-body-moz-osx-font-smoothing);--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-border-color-translucent) var(--bs-border-color-translucent) transparent;--bs-nav-tabs-link-active-color:var(--bs-nav-link-color);--bs-nav-tabs-link-active-bg:var(--bs-content-bg);--bs-nav-tabs-link-active-border-color:var(--bs-nav-tabs-border-color) var(--bs-nav-tabs-border-color) var(--bs-nav-tabs-link-active-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1*var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1*var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills,.nav-underline{--bs-nav-link-color:var(--bs-body-color);--bs-nav-link-hover-color:var(--bs-secondary-color);--bs-nav-link-webkit-font-smoothing:var(--bs-body-webkit-font-smoothing);--bs-nav-link-moz-osx-font-smoothing:var(--bs-body-moz-osx-font-smoothing)}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:var(--bs-primary-foreground);--bs-nav-pills-link-active-bg:var(--bs-primary)}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:0.125rem;--bs-nav-underline-link-padding:var(--bs-nav-link-padding-y) 0 calc(var(--bs-nav-link-padding-y) + var(--bs-nav-underline-border-width)) 0;--bs-nav-underline-link-active-color:var(--bs-link-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding:var(--bs-nav-underline-link-padding);border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-color-hsl:var(--bs-emphasis-color-hsl);--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:hsla(var(--bs-color-hsl), 0.65);--bs-navbar-hover-color:hsla(var(--bs-color-hsl), 0.75);--bs-navbar-disabled-color:hsla(var(--bs-color-hsl), 0.3);--bs-navbar-active-color:hsla(var(--bs-color-hsl), 0.95);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:calc(var(--bs-font-size-base) + 0.25rem);--bs-navbar-brand-color:hsla(var(--bs-color-hsl), 0.85);--bs-navbar-brand-hover-color:var(--bs-navbar-brand-color);--bs-navbar-nav-link-padding-x:0.75rem;--bs-navbar-toggler-padding-y:0.125rem;--bs-navbar-toggler-padding-x:0.25rem;--bs-navbar-toggler-font-size:var(--bs-font-size-lg);--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='%23242628' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:transparent;--bs-navbar-toggler-border-radius:var(--bs-border-radius-sm);--bs-navbar-toggler-focus-width:var(--bs-focus-ring-width);--bs-navbar-toggler-transition:none;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus-visible{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width) hsla(var(--bs-emphasis-color-hsl),.25)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler,.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler,.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler,.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler,.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler,.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler,.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-toggler[data-bs-theme=light] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23242628' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-toggler[data-bs-theme=dark] .navbar-toggler-icon,[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23c9cbcf' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-content-border-color);--bs-card-inner-border-color:var(--bs-border-color-translucent);--bs-card-group-border-color:var(--bs-border-color);--bs-card-border-radius:var(--bs-border-radius-lg);--bs-card-box-shadow:var(--bs-content-box-shadow);--bs-card-inner-border-radius:calc(var(--bs-card-border-radius) - (var(--bs-card-border-width)));--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:hsla(var(--bs-black-hsl), 0.025);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-content-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius);box-shadow:var(--bs-card-box-shadow)}[data-bs-theme=dark] .card{--bs-card-cap-bg:hsla(var(--bs-black-hsl), 0.1)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:var(--bs-card-border-width) solid var(--bs-list-group-border-color);border-bottom:var(--bs-card-border-width) solid var(--bs-list-group-border-color)}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5*var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-inner-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-inner-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-bottom:calc(-1*var(--bs-card-cap-padding-y));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills,.card-header-tabs,.card-header-underline{margin-right:calc(-.5*var(--bs-card-cap-padding-x));margin-left:calc(-.5*var(--bs-card-cap-padding-x))}.card-header-underline{margin-bottom:calc(-1*var(--bs-card-cap-padding-y))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0;border-right-color:var(--bs-card-group-border-color)}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0;border-left-color:var(--bs-card-group-border-color)}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:transparent;--bs-accordion-transition: ;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width));--bs-accordion-btn-padding-x:1rem;--bs-accordion-btn-padding-y:0.75rem;--bs-accordion-btn-color:var(--bs-accordion-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23242628'%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:0.75rem;--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='%23242628'%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:var(--bs-accordion-border-color);--bs-accordion-btn-focus-box-shadow:inset 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-action-focus-shadow-hsl), 0.5);--bs-accordion-body-padding-x:1rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-accordion-color);--bs-accordion-active-bg:var(--bs-accordion-bg)}[data-bs-theme=dark] .accordion{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23c9cbcf'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23c9cbcf'%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")}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:var(--bs-font-size-base);color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1*var(--bs-accordion-border-width))0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type,.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-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-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}.breadcrumb,.pagination{display:flex;list-style:none}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);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);background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:0.375rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:var(--bs-font-size-base);--bs-pagination-line-height:calc(20/14);--bs-pagination-min-width:1.875rem;--bs-pagination-color:var(--bs-action-color);--bs-pagination-bg:var(--bs-action-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-action-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-action-hover-color);--bs-pagination-hover-bg:var(--bs-action-hover-bg);--bs-pagination-hover-border-color:var(--bs-action-border-color);--bs-pagination-focus-color:var(--bs-action-active-color);--bs-pagination-focus-bg:var(--bs-action-active-bg);--bs-pagination-focus-box-shadow:0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-action-focus-shadow-hsl), 0.5);--bs-pagination-active-color:var(--bs-primary-foreground);--bs-pagination-active-bg:var(--bs-primary);--bs-pagination-active-border-color:var(--bs-ctx-btn-border-color);--bs-pagination-active-bg-clip:var(--bs-ctx-btn-bg-clip);--bs-pagination-active-webkit-font-smoothing:auto;--bs-pagination-active-moz-osx-font-smoothing:auto;--bs-pagination-disabled-color:var(--bs-action-disabled-color);--bs-pagination-disabled-bg:var(--bs-action-disabled-bg);--bs-pagination-disabled-border-color:var(--bs-action-disabled-border-color);padding-left:0}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);line-height:var(--bs-pagination-line-height);min-width:var(--bs-pagination-min-width);color:var(--bs-pagination-color);text-decoration:none;text-align:center;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color)}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color);background-clip:var(--bs-pagination-active-bg-clip);-webkit-font-smoothing:var(--bs-pagination-active-webkit-font-smoothing);-moz-osx-font-smoothing:var(--bs-pagination-active-moz-osx-font-smoothing)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(-1*var(--bs-pagination-border-width))}.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:0.625rem;--bs-pagination-padding-y:0.3125rem;--bs-pagination-font-size:var(--bs-font-size-lg);--bs-pagination-line-height:calc(24/16);--bs-pagination-min-width:2.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:0.125rem;--bs-pagination-padding-y:0.125rem;--bs-pagination-font-size:var(--bs-font-size-sm);--bs-pagination-line-height:calc(18/12);--bs-pagination-min-width:1.5rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:var(--bs-relative-font-size-2xs);--bs-badge-padding-y:var(--bs-relative-font-size-4xs);--bs-badge-font-size:var(--bs-relative-font-size-sm);--bs-badge-font-weight:var(--bs-font-weight-normal);--bs-badge-color:var(--bs-secondary-foreground);--bs-badge-bg:var(--bs-secondary);--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);background-color:var(--bs-badge-bg);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:0.75rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:var(--bs-font-weight-normal);color:var(--bs-alert-link-color);text-decoration:underline;-webkit-font-smoothing:var(--bs-body-webkit-font-smoothing);-moz-osx-font-smoothing:var(--bs-body-moz-osx-font-smoothing)}.alert-link:hover{opacity:.75;text-decoration:underline}.alert-dismissible{padding-right:2.5rem}.alert-dismissible .btn-close{position:absolute;top:50%;right:.375rem;transform:translateY(-50%);z-index:2}.alert-primary,.alert-secondary{--bs-alert-color:var(--bs-body-color);--bs-alert-link-color:var(--bs-alert-color)}.alert-primary{--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle)}.alert-secondary{--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle)}.alert-success{--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle)}.alert-info,.alert-success,.alert-warning{--bs-alert-color:var(--bs-body-color);--bs-alert-link-color:var(--bs-alert-color)}.alert-info{--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle)}.alert-warning{--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle)}.alert-danger{--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle)}.alert-danger,.alert-dark,.alert-light{--bs-alert-color:var(--bs-body-color);--bs-alert-link-color:var(--bs-alert-color)}.alert-light{--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle)}.alert-dark{--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle)}.progress,.progress-stacked{--bs-progress-height:0.625rem;--bs-progress-font-size:0.5rem;--bs-progress-bg:var(--bs-actionbar-bg);--bs-progress-border:var(--bs-progresstrack-border-width) solid var(--bs-actionbar-border-color);--bs-progress-border-radius:var(--bs-border-radius-pill);--bs-progress-box-shadow:var(--bs-progresstrack-box-shadow);--bs-progress-bg-clip:var(--bs-progresstrack-bg-clip);--bs-progress-bar-color:var(--bs-primary-foreground);--bs-progress-bar-bg:var(--bs-primary);--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border:var(--bs-progress-border);border-radius:var(--bs-progress-border-radius);box-shadow:var(--bs-progress-box-shadow);background-clip:var(--bs-progress-bg-clip)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,hsla(var(--bs-primary-foreground-hsl),.15) 25%,transparent 25%,transparent 50%,hsla(var(--bs-primary-foreground-hsl),.15) 50%,hsla(var(--bs-primary-foreground-hsl),.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{height:100%;overflow:visible;font-size:inherit;background-color:transparent;border:0;border-radius:0;box-shadow:none;background-clip:border-box}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:transparent;--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.375rem;--bs-list-group-action-color:var(--bs-list-group-color);--bs-list-group-action-hover-color:var(--bs-list-group-action-color);--bs-list-group-action-hover-bg:hsla(var(--bs-black-hsl), 0.06);--bs-list-group-action-active-color:var(--bs-list-group-action-color);--bs-list-group-action-active-bg:hsla(var(--bs-black-hsl), 0.09);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:hsla(var(--bs-black-hsl), 0.03);--bs-list-group-active-color:var(--bs-primary-foreground);--bs-list-group-active-bg:var(--bs-primary);--bs-list-group-active-border-color:var(--bs-primary);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}[data-bs-theme=dark] .list-group{--bs-list-group-action-hover-bg:hsla(var(--bs-white-hsl), 0.05);--bs-list-group-action-active-bg:hsla(var(--bs-white-hsl), 0.075);--bs-list-group-disabled-bg:hsla(var(--bs-white-hsl), 0.025)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section,".")". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);-webkit-font-smoothing:var(--bs-body-webkit-font-smoothing);-moz-osx-font-smoothing:var(--bs-body-moz-osx-font-smoothing)}.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);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1*var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1*var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary,.list-group-item-secondary{--bs-list-group-color:var(--bs-body-color);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-action-hover-color:var(--bs-list-group-action-color);--bs-list-group-action-active-color:var(--bs-list-group-action-color)}.list-group-item-primary{--bs-list-group-bg:hsla(var(--bs-primary-hsl), 0.125);--bs-list-group-action-hover-bg:hsla(var(--bs-primary-hsl), 0.2);--bs-list-group-action-active-bg:hsla(var(--bs-primary-hsl), 0.25);--bs-list-group-active-color:var(--bs-primary-foreground);--bs-list-group-active-bg:var(--bs-primary-hover-bg);--bs-list-group-active-border-color:var(--bs-primary-hover-bg)}.list-group-item-secondary{--bs-list-group-bg:hsla(var(--bs-secondary-hsl), 0.125);--bs-list-group-action-hover-bg:hsla(var(--bs-secondary-hsl), 0.2);--bs-list-group-action-active-bg:hsla(var(--bs-secondary-hsl), 0.25);--bs-list-group-active-color:var(--bs-secondary-foreground);--bs-list-group-active-bg:var(--bs-secondary-hover-bg);--bs-list-group-active-border-color:var(--bs-secondary-hover-bg)}.list-group-item-success{--bs-list-group-bg:hsla(var(--bs-success-hsl), 0.125);--bs-list-group-action-hover-bg:hsla(var(--bs-success-hsl), 0.2);--bs-list-group-action-active-bg:hsla(var(--bs-success-hsl), 0.25);--bs-list-group-active-color:var(--bs-success-foreground);--bs-list-group-active-bg:var(--bs-success-hover-bg);--bs-list-group-active-border-color:var(--bs-success-hover-bg)}.list-group-item-info,.list-group-item-success,.list-group-item-warning{--bs-list-group-color:var(--bs-body-color);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-action-hover-color:var(--bs-list-group-action-color);--bs-list-group-action-active-color:var(--bs-list-group-action-color)}.list-group-item-info{--bs-list-group-bg:hsla(var(--bs-info-hsl), 0.125);--bs-list-group-action-hover-bg:hsla(var(--bs-info-hsl), 0.2);--bs-list-group-action-active-bg:hsla(var(--bs-info-hsl), 0.25);--bs-list-group-active-color:var(--bs-info-foreground);--bs-list-group-active-bg:var(--bs-info-hover-bg);--bs-list-group-active-border-color:var(--bs-info-hover-bg)}.list-group-item-warning{--bs-list-group-bg:hsla(var(--bs-warning-hsl), 0.125);--bs-list-group-action-hover-bg:hsla(var(--bs-warning-hsl), 0.2);--bs-list-group-action-active-bg:hsla(var(--bs-warning-hsl), 0.25);--bs-list-group-active-color:var(--bs-warning-foreground);--bs-list-group-active-bg:var(--bs-warning-hover-bg);--bs-list-group-active-border-color:var(--bs-warning-hover-bg)}.list-group-item-danger{--bs-list-group-bg:hsla(var(--bs-danger-hsl), 0.125);--bs-list-group-action-hover-bg:hsla(var(--bs-danger-hsl), 0.2);--bs-list-group-action-active-bg:hsla(var(--bs-danger-hsl), 0.25);--bs-list-group-active-color:var(--bs-danger-foreground);--bs-list-group-active-bg:var(--bs-danger-hover-bg);--bs-list-group-active-border-color:var(--bs-danger-hover-bg)}.list-group-item-danger,.list-group-item-dark,.list-group-item-light{--bs-list-group-color:var(--bs-body-color);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-action-hover-color:var(--bs-list-group-action-color);--bs-list-group-action-active-color:var(--bs-list-group-action-color)}.list-group-item-light{--bs-list-group-bg:hsla(var(--bs-light-hsl), 0.125);--bs-list-group-action-hover-bg:hsla(var(--bs-light-hsl), 0.2);--bs-list-group-action-active-bg:hsla(var(--bs-light-hsl), 0.25);--bs-list-group-active-color:var(--bs-light-foreground);--bs-list-group-active-bg:var(--bs-light-hover-bg);--bs-list-group-active-border-color:var(--bs-light-hover-bg)}.list-group-item-dark{--bs-list-group-bg:hsla(var(--bs-dark-hsl), 0.125);--bs-list-group-action-hover-bg:hsla(var(--bs-dark-hsl), 0.2);--bs-list-group-action-active-bg:hsla(var(--bs-dark-hsl), 0.25);--bs-list-group-active-color:var(--bs-dark-foreground);--bs-list-group-active-bg:var(--bs-dark-hover-bg);--bs-list-group-active-border-color:var(--bs-dark-hover-bg)}.btn-close,.btn-close:hover{color:var(--bs-btn-close-color)}.btn-close{--bs-btn-close-color:var(--bs-black);--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-shadow:0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-black-hsl), 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:var(--bs-relative-font-size-4xs);background:var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:var(--bs-border-radius-sm);opacity:var(--bs-btn-close-opacity)}.btn-close:hover{text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.btn-close[data-bs-theme=light]{filter:none}.btn-close[data-bs-theme=dark]{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:21.875rem;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:hsla(var(--bs-content-floating-bg-hsl), 0.95);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-content-floating-border-color);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-content-floating-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:var(--bs-toast-bg);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.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:25rem;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color: ;--bs-modal-bg:var(--bs-content-bg);--bs-modal-border-color:var(--bs-content-border-color);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-content-box-shadow);--bs-modal-inner-border-radius:calc(var(--bs-modal-border-radius) - (var(--bs-modal-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:var(--bs-modal-header-padding-y) var(--bs-modal-header-padding-x);--bs-modal-header-border-color:var(--bs-border-color-translucent);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:var(--bs-line-height-sm);--bs-modal-footer-padding-x:1rem;--bs-modal-footer-padding-y:1rem;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color-translucent);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin)*2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin)*2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);box-shadow:var(--bs-modal-box-shadow);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:var(--bs-black);--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y)*.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;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-footer-padding-y) - var(--bs-modal-footer-gap)*.5) calc(var(--bs-modal-footer-padding-x) - 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}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:18.75rem}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:42.5rem}}@media (min-width:1200px){.modal-xl{--bs-modal-width:65rem}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:12.5rem;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:var(--bs-font-size-sm);--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:0.95;--bs-tooltip-webkit-font-smoothing:auto;--bs-tooltip-moz-osx-font-smoothing:auto;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-body-font-family);font-style:normal;font-weight:var(--bs-font-weight-normal);line-height:var(--bs-line-height-base);text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1*var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width)*.5)0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1*var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width)*.5)0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1*var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1*var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width)*.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);-webkit-font-smoothing:var(--bs-tooltip-webkit-font-smoothing);-moz-osx-font-smoothing:var(--bs-tooltip-moz-osx-font-smoothing)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:17.25rem;--bs-popover-font-size:var(--bs-font-size-base);--bs-popover-bg:var(--bs-content-floating-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-content-floating-border-color);--bs-popover-border-radius:var(--bs-border-radius);--bs-popover-inner-border-radius:calc(var(--bs-popover-border-radius) - var(--bs-popover-border-width));--bs-popover-box-shadow:var(--bs-content-floating-box-shadow);--bs-popover-header-padding-x:0.75rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:var(--bs-popover-font-size);--bs-popover-header-color:var(--bs-body-color);--bs-popover-header-bg:var(--bs-popover-bg);--bs-popover-header-border-color:var(--bs-border-color-translucent);--bs-popover-body-padding-x:0.75rem;--bs-popover-body-padding-y:0.75rem;--bs-popover-body-color:var(--bs-content-floating-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-body-font-family);font-style:normal;font-weight:var(--bs-font-weight-normal);line-height:var(--bs-line-height-base);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);box-shadow:var(--bs-popover-box-shadow)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width)*.5)0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width)*.5)0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5*var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width)*.5)0 calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-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,.carousel-inner{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{width:100%;overflow:hidden}.carousel-inner::after,.clearfix::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:var(--bs-white);text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:var(--bs-white);text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2.5rem;height:2.5rem;background-color:var(--bs-white);background-repeat:no-repeat;background-size:50% 50%;border-radius:50%}.carousel-control-prev-icon{background-position:45%center}.carousel-control-next-icon{background-position:55%center}.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='%23242628'%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='%23242628'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:1.875rem;height:.1875rem;padding:0;margin-right:.1875rem;margin-left:.1875rem;text-indent:-999px;cursor:pointer;background-color:var(--bs-white);background-clip:padding-box;border:0;border-top:.625rem solid transparent;border-bottom:.625rem solid transparent;opacity:.5;transition:opacity .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:var(--bs-white);text-align:center}[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:var(--bs-black)}[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .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='%23c9cbcf'%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")}[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .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='%23c9cbcf'%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")}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:var(--bs-black)}.spinner-border,.spinner-grow{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}.spinner-border{--bs-spinner-width:calc(var(--bs-font-size-base) * 2);--bs-spinner-height:calc(var(--bs-font-size-base) * 2);--bs-spinner-vertical-align:calc(-1 * var(--bs-relative-font-size-6xs));--bs-spinner-border-width:var(--bs-relative-font-size-4xs);--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:var(--bs-font-size-base);--bs-spinner-height:var(--bs-font-size-base);--bs-spinner-border-width:var(--bs-relative-font-size-6xs)}.spinner-grow{--bs-spinner-width:calc(var(--bs-font-size-base) * 2);--bs-spinner-height:calc(var(--bs-font-size-base) * 2);--bs-spinner-vertical-align:calc(-1 * var(--bs-relative-font-size-6xs));--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:var(--bs-font-size-base);--bs-spinner-height:var(--bs-font-size-base)}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:21.875rem;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-content-color);--bs-offcanvas-bg:var(--bs-content-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-content-border-color);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform 0.3s ease-in-out;--bs-offcanvas-title-line-height:var(--bs-line-height-sm)}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-bottom,.offcanvas-sm.offcanvas-top{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%}.offcanvas-sm.offcanvas-top{top:0;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-bottom,.offcanvas-md.offcanvas-top{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%}.offcanvas-md.offcanvas-top{top:0;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-bottom,.offcanvas-lg.offcanvas-top{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%}.offcanvas-lg.offcanvas-top{top:0;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-bottom,.offcanvas-xl.offcanvas-top{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%}.offcanvas-xl.offcanvas-top{top:0;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-bottom,.offcanvas-xxl.offcanvas-top{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%}.offcanvas-xxl.offcanvas-top{top:0;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-bottom,.offcanvas.offcanvas-top{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%}.offcanvas.offcanvas-top{top:0;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:var(--bs-black)}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y)*.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:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.sidebar{--bs-sidebar-padding:var(--bs-spacer);--bs-sidebar-color:hsla(var(--bs-emphasis-color-hsl), 0.65);--bs-sidebar-hover-color:hsla(var(--bs-emphasis-color-hsl), 0.8);--bs-sidebar-disabled-color:hsla(var(--bs-emphasis-color-hsl), 0.3);--bs-sidebar-active-color:var(--bs-link-color);--bs-sidebar-bg:var(--bs-content-bg);--bs-sidebar-border-width:var(--bs-border-width);--bs-sidebar-border-color:var(--bs-content-border-color);--bs-sidebar-border-radius:0;--bs-sidebar-brand-padding-y:0;--bs-sidebar-brand-margin-end:1rem;--bs-sidebar-brand-font-size:calc(var(--bs-font-size-base) + 0.25rem);--bs-sidebar-brand-color:hsla(var(--bs-emphasis-color-hsl), 0.85);--bs-sidebar-brand-hover-color:var(--bs-sidebar-brand-color);--bs-sidebar-item-padding-x:0;--bs-sidebar-item-padding-y:0.375rem;--bs-sidebar-header-font-size:var(--bs-font-size-base);--bs-sidebar-header-font-weight:var(--bs-font-weight-normal);--bs-sidebar-divider-bg:var(--bs-border-color-translucent);--bs-sidebar-divider-margin-y:0.5rem;position:fixed;top:0;left:0;margin:var(--bs-sidebar-margin);width:var(--bs-sidebar-width);height:var(--bs-sidebar-height);display:flex;flex-direction:column;background-color:var(--bs-sidebar-bg)!important;border-right:var(--bs-sidebar-border-width) solid var(--bs-sidebar-border-color)!important;border-radius:var(--bs-sidebar-border-radius);outline:0}@media (min-width:576px){body:has(>.sidebar.offcanvas-sm){padding-left:var(--bs-padding-sbwidth)}.ps-sm-sbwidth{padding-left:var(--bs-padding-sbwidth)!important}}@media (min-width:768px){body:has(>.sidebar.offcanvas-md){padding-left:var(--bs-padding-sbwidth)}.ps-md-sbwidth{padding-left:var(--bs-padding-sbwidth)!important}}@media (min-width:992px){body:has(>.sidebar.offcanvas-lg){padding-left:var(--bs-padding-sbwidth)}.ps-lg-sbwidth{padding-left:var(--bs-padding-sbwidth)!important}}@media (min-width:1200px){body:has(>.sidebar.offcanvas-xl){padding-left:var(--bs-padding-sbwidth)}.ps-xl-sbwidth{padding-left:var(--bs-padding-sbwidth)!important}}@media (min-width:1400px){body:has(>.sidebar.offcanvas-xxl){padding-left:var(--bs-padding-sbwidth)}.ps-xxl-sbwidth{padding-left:var(--bs-padding-sbwidth)!important}}.sidebar .offcanvas-header{display:flex}.sidebar .offcanvas-body{display:flex;flex-direction:column;flex-grow:1;padding:var(--bs-sidebar-padding);overflow-y:auto}.sidebar-brand{padding-top:var(--bs-sidebar-brand-padding-y);padding-bottom:var(--bs-sidebar-brand-padding-y);margin-right:var(--bs-sidebar-brand-margin-end);font-size:var(--bs-sidebar-brand-font-size);color:var(--bs-sidebar-brand-color);text-decoration:none;white-space:nowrap}.sidebar-brand:focus,.sidebar-brand:hover{color:var(--bs-sidebar-brand-hover-color)}.sidebar-nav{--bs-nav-link-padding-x:var(--bs-sidebar-item-padding-x);--bs-nav-link-padding-y:var(--bs-sidebar-item-padding-y);--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-sidebar-color);--bs-nav-link-hover-color:var(--bs-sidebar-hover-color);--bs-nav-link-disabled-color:var(--bs-sidebar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.sidebar-nav .nav-link.active,.sidebar-nav .nav-link.show{color:var(--bs-sidebar-active-color);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.sidebar-header{display:block;padding:var(--bs-sidebar-item-padding-y)0;margin-bottom:0;font-size:var(--bs-sidebar-header-font-size);font-weight:var(--bs-sidebar-header-font-weight)}.sidebar-divider{height:0;margin:var(--bs-sidebar-divider-margin-y)0;overflow:hidden;border-top:var(--bs-border-width) solid var(--bs-sidebar-divider-bg);opacity:1}.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}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,var(--bs-black) 55%,hsla(var(--bs-black-hsl),.65) 75%,var(--bs-black) 95%);mask-image:linear-gradient(130deg,var(--bs-black) 55%,hsla(var(--bs-black-hsl),.65) 75%,var(--bs-black) 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}.text-bg-primary,.text-bg-secondary{color:hsla(var(--bs-color-hsl),var(--bs-text-opacity, 1))!important;-webkit-font-smoothing:auto!important;-moz-osx-font-smoothing:auto!important}.text-bg-primary{--bs-color-hsl:var(--bs-primary-foreground-hsl);background-color:hsla(var(--bs-primary-hsl),var(--bs-bg-opacity, 1))!important}.text-bg-secondary{--bs-color-hsl:var(--bs-secondary-foreground-hsl);background-color:hsla(var(--bs-secondary-hsl),var(--bs-bg-opacity, 1))!important}.text-bg-success{--bs-color-hsl:var(--bs-success-foreground-hsl);background-color:hsla(var(--bs-success-hsl),var(--bs-bg-opacity, 1))!important}.text-bg-info,.text-bg-success,.text-bg-warning{color:hsla(var(--bs-color-hsl),var(--bs-text-opacity, 1))!important;-webkit-font-smoothing:auto!important;-moz-osx-font-smoothing:auto!important}.text-bg-info{--bs-color-hsl:var(--bs-info-foreground-hsl);background-color:hsla(var(--bs-info-hsl),var(--bs-bg-opacity, 1))!important}.text-bg-warning{--bs-color-hsl:var(--bs-warning-foreground-hsl);background-color:hsla(var(--bs-warning-hsl),var(--bs-bg-opacity, 1))!important}.text-bg-danger{--bs-color-hsl:var(--bs-danger-foreground-hsl);background-color:hsla(var(--bs-danger-hsl),var(--bs-bg-opacity, 1))!important}.text-bg-danger,.text-bg-dark,.text-bg-light{color:hsla(var(--bs-color-hsl),var(--bs-text-opacity, 1))!important;-webkit-font-smoothing:auto!important;-moz-osx-font-smoothing:auto!important}.text-bg-light{--bs-color-hsl:var(--bs-light-foreground-hsl);background-color:hsla(var(--bs-light-hsl),var(--bs-bg-opacity, 1))!important}.text-bg-dark{--bs-color-hsl:var(--bs-dark-foreground-hsl);background-color:hsla(var(--bs-dark-hsl),var(--bs-bg-opacity, 1))!important}.link-primary{color:hsla(var(--bs-primary-text-emphasis-hsl, var(--bs-link-opacity, 1)))!important;-webkit-text-decoration-color:hsla(var(--bs-primary-text-emphasis-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-primary-text-emphasis-hsl),var(--bs-link-underline-opacity, 1))!important}.link-primary:focus,.link-primary:hover{color:hsla(var(--bs-primary-hsl),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:hsla(var(--bs-primary-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-primary-hsl),var(--bs-link-underline-opacity, 1))!important}.link-secondary{color:hsla(var(--bs-secondary-text-emphasis-hsl, var(--bs-link-opacity, 1)))!important;-webkit-text-decoration-color:hsla(var(--bs-secondary-text-emphasis-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-secondary-text-emphasis-hsl),var(--bs-link-underline-opacity, 1))!important}.link-secondary:focus,.link-secondary:hover{color:hsla(var(--bs-secondary-hsl),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:hsla(var(--bs-secondary-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-secondary-hsl),var(--bs-link-underline-opacity, 1))!important}.link-success{color:hsla(var(--bs-success-text-emphasis-hsl, var(--bs-link-opacity, 1)))!important;-webkit-text-decoration-color:hsla(var(--bs-success-text-emphasis-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-success-text-emphasis-hsl),var(--bs-link-underline-opacity, 1))!important}.link-success:focus,.link-success:hover{color:hsla(var(--bs-success-hsl),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:hsla(var(--bs-success-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-success-hsl),var(--bs-link-underline-opacity, 1))!important}.link-info{color:hsla(var(--bs-info-text-emphasis-hsl, var(--bs-link-opacity, 1)))!important;-webkit-text-decoration-color:hsla(var(--bs-info-text-emphasis-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-info-text-emphasis-hsl),var(--bs-link-underline-opacity, 1))!important}.link-info:focus,.link-info:hover{color:hsla(var(--bs-info-hsl),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:hsla(var(--bs-info-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-info-hsl),var(--bs-link-underline-opacity, 1))!important}.link-warning{color:hsla(var(--bs-warning-text-emphasis-hsl, var(--bs-link-opacity, 1)))!important;-webkit-text-decoration-color:hsla(var(--bs-warning-text-emphasis-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-warning-text-emphasis-hsl),var(--bs-link-underline-opacity, 1))!important}.link-warning:focus,.link-warning:hover{color:hsla(var(--bs-warning-hsl),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:hsla(var(--bs-warning-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-warning-hsl),var(--bs-link-underline-opacity, 1))!important}.link-danger{color:hsla(var(--bs-danger-text-emphasis-hsl, var(--bs-link-opacity, 1)))!important;-webkit-text-decoration-color:hsla(var(--bs-danger-text-emphasis-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-danger-text-emphasis-hsl),var(--bs-link-underline-opacity, 1))!important}.link-danger:focus,.link-danger:hover{color:hsla(var(--bs-danger-hsl),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:hsla(var(--bs-danger-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-danger-hsl),var(--bs-link-underline-opacity, 1))!important}.link-light{color:hsla(var(--bs-light-text-emphasis-hsl, var(--bs-link-opacity, 1)))!important;-webkit-text-decoration-color:hsla(var(--bs-light-text-emphasis-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-light-text-emphasis-hsl),var(--bs-link-underline-opacity, 1))!important}.link-light:focus,.link-light:hover{color:hsla(var(--bs-light-hsl),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:hsla(var(--bs-light-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-light-hsl),var(--bs-link-underline-opacity, 1))!important}.link-dark{color:hsla(var(--bs-dark-text-emphasis-hsl, var(--bs-link-opacity, 1)))!important;-webkit-text-decoration-color:hsla(var(--bs-dark-text-emphasis-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-dark-text-emphasis-hsl),var(--bs-link-underline-opacity, 1))!important}.link-dark:focus,.link-dark:hover{color:hsla(var(--bs-dark-hsl),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:hsla(var(--bs-dark-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-dark-hsl),var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis{color:hsla(var(--bs-emphasis-color-hsl),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:hsla(var(--bs-emphasis-color-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-emphasis-color-hsl),var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:hsla(var(--bs-emphasis-color-hsl),var(--bs-link-opacity, 0.75))!important;-webkit-text-decoration-color:hsla(var(--bs-emphasis-color-hsl),var(--bs-link-underline-opacity, 0.75))!important;text-decoration-color:hsla(var(--bs-emphasis-color-hsl),var(--bs-link-underline-opacity, 0.75))!important}.focus-ring:focus{outline:0!important;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)!important}.focus-ring-primary{--bs-focus-ring-color:hsla(var(--bs-primary-hsl), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:hsla(var(--bs-secondary-hsl), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:hsla(var(--bs-success-hsl), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:hsla(var(--bs-info-hsl), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:hsla(var(--bs-warning-hsl), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:hsla(var(--bs-danger-hsl), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:hsla(var(--bs-light-hsl), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:hsla(var(--bs-dark-hsl), var(--bs-focus-ring-opacity))}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:hsla(var(--bs-link-color-hsl),var(--bs-link-opacity, 1));text-decoration-color:hsla(var(--bs-link-color-hsl),var(--bs-link-opacity, 1));text-underline-offset:var(--bs-link-decoration-offset);-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform, translate3d(0.25em, 0, 0))}.fixed-bottom,.fixed-top{position:fixed;right:0;left:0;z-index:1030}.fixed-top{top:0}.fixed-bottom{bottom:0}.sticky-bottom,.sticky-top{position:-webkit-sticky;position:sticky;z-index:1020}.sticky-top{top:0}.sticky-bottom{bottom:0}@media (min-width:576px){.sticky-sm-bottom,.sticky-sm-top{position:-webkit-sticky;position:sticky;z-index:1020}.sticky-sm-top{top:0}.sticky-sm-bottom{bottom:0}}@media (min-width:768px){.sticky-md-bottom,.sticky-md-top{position:-webkit-sticky;position:sticky;z-index:1020}.sticky-md-top{top:0}.sticky-md-bottom{bottom:0}}@media (min-width:992px){.sticky-lg-bottom,.sticky-lg-top{position:-webkit-sticky;position:sticky;z-index:1020}.sticky-lg-top{top:0}.sticky-lg-bottom{bottom:0}}@media (min-width:1200px){.sticky-xl-bottom,.sticky-xl-top{position:-webkit-sticky;position:sticky;z-index:1020}.sticky-xl-top{top:0}.sticky-xl-bottom{bottom:0}}@media (min-width:1400px){.sticky-xxl-bottom,.sticky-xxl-top{position:-webkit-sticky;position:sticky;z-index:1020}.sticky-xxl-top{top:0}.sticky-xxl-bottom{bottom:0}}.ratio,.ratio>*{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.hstack,.vstack{display:flex;align-self:stretch}.hstack{flex-direction:row;align-items:center}.vstack{flex:1 1 auto;flex-direction:column}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.bg-primary{--bs-bg-opacity:1;background-color:hsla(var(--bs-primary-hsl),var(--bs-bg-opacity))!important}.bg-secondary,.bg-success{--bs-bg-opacity:1;background-color:hsla(var(--bs-secondary-hsl),var(--bs-bg-opacity))!important}.bg-success{background-color:hsla(var(--bs-success-hsl),var(--bs-bg-opacity))!important}.bg-info,.bg-warning{--bs-bg-opacity:1;background-color:hsla(var(--bs-info-hsl),var(--bs-bg-opacity))!important}.bg-warning{background-color:hsla(var(--bs-warning-hsl),var(--bs-bg-opacity))!important}.bg-danger,.bg-light{--bs-bg-opacity:1;background-color:hsla(var(--bs-danger-hsl),var(--bs-bg-opacity))!important}.bg-light{background-color:hsla(var(--bs-light-hsl),var(--bs-bg-opacity))!important}.bg-black,.bg-dark{--bs-bg-opacity:1;background-color:hsla(var(--bs-dark-hsl),var(--bs-bg-opacity))!important}.bg-black{background-color:hsla(var(--bs-black-hsl),var(--bs-bg-opacity))!important}.bg-body,.bg-white{--bs-bg-opacity:1;background-color:hsla(var(--bs-white-hsl),var(--bs-bg-opacity))!important}.bg-body{background-color:hsla(var(--bs-body-bg-hsl),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:hsla(var(--bs-secondary-bg-hsl),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:hsla(var(--bs-tertiary-bg-hsl),var(--bs-bg-opacity))!important}.bg-body-emphasis{--bs-bg-opacity:1;background-color:hsla(var(--bs-emphasis-bg-hsl),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary,.border-secondary{--bs-border-opacity:1;border-color:hsla(var(--bs-primary-hsl),var(--bs-border-opacity))!important}.border-secondary{border-color:hsla(var(--bs-secondary-hsl),var(--bs-border-opacity))!important}.border-info,.border-success{--bs-border-opacity:1;border-color:hsla(var(--bs-success-hsl),var(--bs-border-opacity))!important}.border-info{border-color:hsla(var(--bs-info-hsl),var(--bs-border-opacity))!important}.border-danger,.border-warning{--bs-border-opacity:1;border-color:hsla(var(--bs-warning-hsl),var(--bs-border-opacity))!important}.border-danger{border-color:hsla(var(--bs-danger-hsl),var(--bs-border-opacity))!important}.border-dark,.border-light{--bs-border-opacity:1;border-color:hsla(var(--bs-light-hsl),var(--bs-border-opacity))!important}.border-dark{border-color:hsla(var(--bs-dark-hsl),var(--bs-border-opacity))!important}.border-black,.border-white{--bs-border-opacity:1;border-color:hsla(var(--bs-black-hsl),var(--bs-border-opacity))!important}.border-white{border-color:hsla(var(--bs-white-hsl),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:var(--bs-border-width-1)!important}.border-2{border-width:var(--bs-border-width-2)!important}.border-3{border-width:var(--bs-border-width-3)!important}.border-4{border-width:var(--bs-border-width-4)!important}.border-5{border-width:var(--bs-border-width-5)!important}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.text-primary{--bs-text-opacity:1;color:hsla(var(--bs-primary-hsl),var(--bs-text-opacity))!important}.text-secondary,.text-success{--bs-text-opacity:1;color:hsla(var(--bs-secondary-hsl),var(--bs-text-opacity))!important}.text-success{color:hsla(var(--bs-success-hsl),var(--bs-text-opacity))!important}.text-info,.text-warning{--bs-text-opacity:1;color:hsla(var(--bs-info-hsl),var(--bs-text-opacity))!important}.text-warning{color:hsla(var(--bs-warning-hsl),var(--bs-text-opacity))!important}.text-danger,.text-light{--bs-text-opacity:1;color:hsla(var(--bs-danger-hsl),var(--bs-text-opacity))!important}.text-light{color:hsla(var(--bs-light-hsl),var(--bs-text-opacity))!important}.text-black,.text-dark{--bs-text-opacity:1;color:hsla(var(--bs-dark-hsl),var(--bs-text-opacity))!important}.text-black{color:hsla(var(--bs-black-hsl),var(--bs-text-opacity))!important}.text-body,.text-white{--bs-text-opacity:1;color:hsla(var(--bs-white-hsl),var(--bs-text-opacity))!important}.text-body{color:hsla(var(--bs-body-color-hsl),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50,.text-white-50{--bs-text-opacity:1;color:hsla(var(--bs-black-hsl),.5)!important}.text-white-50{color:hsla(var(--bs-white-hsl),.5)!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}@media (min-width:576px){.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}}@media (min-width:768px){.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}}@media (min-width:992px){.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}}@media (min-width:1200px){.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}}@media (min-width:1400px){.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}}@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}}.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}@media (min-width:576px){.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}}@media (min-width:768px){.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}}@media (min-width:992px){.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}}@media (min-width:1200px){.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}}@media (min-width:1400px){.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}}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.link-opacity-10,.link-opacity-10-hover:hover{--bs-link-opacity:0.1}.link-opacity-25,.link-opacity-25-hover:hover{--bs-link-opacity:0.25}.link-opacity-50,.link-opacity-50-hover:hover{--bs-link-opacity:0.5}.link-opacity-75,.link-opacity-75-hover:hover{--bs-link-opacity:0.75}.link-opacity-100,.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:var(--bs-relative-font-size-6xs)!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:var(--bs-relative-font-size-4xs)!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:var(--bs-relative-font-size-3xs)!important}.link-underline-primary,.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:hsla(var(--bs-primary-hsl),var(--bs-link-underline-opacity))!important;text-decoration-color:hsla(var(--bs-primary-hsl),var(--bs-link-underline-opacity))!important}.link-underline-secondary{-webkit-text-decoration-color:hsla(var(--bs-secondary-hsl),var(--bs-link-underline-opacity))!important;text-decoration-color:hsla(var(--bs-secondary-hsl),var(--bs-link-underline-opacity))!important}.link-underline-info,.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:hsla(var(--bs-success-hsl),var(--bs-link-underline-opacity))!important;text-decoration-color:hsla(var(--bs-success-hsl),var(--bs-link-underline-opacity))!important}.link-underline-info{-webkit-text-decoration-color:hsla(var(--bs-info-hsl),var(--bs-link-underline-opacity))!important;text-decoration-color:hsla(var(--bs-info-hsl),var(--bs-link-underline-opacity))!important}.link-underline-danger,.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:hsla(var(--bs-warning-hsl),var(--bs-link-underline-opacity))!important;text-decoration-color:hsla(var(--bs-warning-hsl),var(--bs-link-underline-opacity))!important}.link-underline-danger{-webkit-text-decoration-color:hsla(var(--bs-danger-hsl),var(--bs-link-underline-opacity))!important;text-decoration-color:hsla(var(--bs-danger-hsl),var(--bs-link-underline-opacity))!important}.link-underline-dark,.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:hsla(var(--bs-light-hsl),var(--bs-link-underline-opacity))!important;text-decoration-color:hsla(var(--bs-light-hsl),var(--bs-link-underline-opacity))!important}.link-underline-dark{-webkit-text-decoration-color:hsla(var(--bs-dark-hsl),var(--bs-link-underline-opacity))!important;text-decoration-color:hsla(var(--bs-dark-hsl),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:hsla(var(--bs-link-color-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-link-color-hsl),var(--bs-link-underline-opacity, 1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:0.1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:0.25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:0.5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:0.75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.object-fit-contain{object-fit:contain!important}.object-fit-cover{object-fit:cover!important}.object-fit-fill{object-fit:fill!important}.object-fit-scale{object-fit:scale-down!important}.object-fit-none{object-fit:none!important}@media (min-width:576px){.object-fit-sm-contain{object-fit:contain!important}.object-fit-sm-cover{object-fit:cover!important}.object-fit-sm-fill{object-fit:fill!important}.object-fit-sm-scale{object-fit:scale-down!important}.object-fit-sm-none{object-fit:none!important}}@media (min-width:768px){.object-fit-md-contain{object-fit:contain!important}.object-fit-md-cover{object-fit:cover!important}.object-fit-md-fill{object-fit:fill!important}.object-fit-md-scale{object-fit:scale-down!important}.object-fit-md-none{object-fit:none!important}}@media (min-width:992px){.object-fit-lg-contain{object-fit:contain!important}.object-fit-lg-cover{object-fit:cover!important}.object-fit-lg-fill{object-fit:fill!important}.object-fit-lg-scale{object-fit:scale-down!important}.object-fit-lg-none{object-fit:none!important}}@media (min-width:1200px){.object-fit-xl-contain{object-fit:contain!important}.object-fit-xl-cover{object-fit:cover!important}.object-fit-xl-fill{object-fit:fill!important}.object-fit-xl-scale{object-fit:scale-down!important}.object-fit-xl-none{object-fit:none!important}}@media (min-width:1400px){.object-fit-xxl-contain{object-fit:contain!important}.object-fit-xxl-cover{object-fit:cover!important}.object-fit-xxl-fill{object-fit:fill!important}.object-fit-xxl-scale{object-fit:scale-down!important}.object-fit-xxl-none{object-fit:none!important}}.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}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}@media (min-width:576px){.overflow-sm-auto{overflow:auto!important}.overflow-sm-hidden{overflow:hidden!important}.overflow-sm-visible{overflow:visible!important}.overflow-sm-scroll{overflow:scroll!important}.overflow-x-sm-auto{overflow-x:auto!important}.overflow-x-sm-hidden{overflow-x:hidden!important}.overflow-x-sm-visible{overflow-x:visible!important}.overflow-x-sm-scroll{overflow-x:scroll!important}.overflow-y-sm-auto{overflow-y:auto!important}.overflow-y-sm-hidden{overflow-y:hidden!important}.overflow-y-sm-visible{overflow-y:visible!important}.overflow-y-sm-scroll{overflow-y:scroll!important}}@media (min-width:768px){.overflow-md-auto{overflow:auto!important}.overflow-md-hidden{overflow:hidden!important}.overflow-md-visible{overflow:visible!important}.overflow-md-scroll{overflow:scroll!important}.overflow-x-md-auto{overflow-x:auto!important}.overflow-x-md-hidden{overflow-x:hidden!important}.overflow-x-md-visible{overflow-x:visible!important}.overflow-x-md-scroll{overflow-x:scroll!important}.overflow-y-md-auto{overflow-y:auto!important}.overflow-y-md-hidden{overflow-y:hidden!important}.overflow-y-md-visible{overflow-y:visible!important}.overflow-y-md-scroll{overflow-y:scroll!important}}@media (min-width:992px){.overflow-lg-auto{overflow:auto!important}.overflow-lg-hidden{overflow:hidden!important}.overflow-lg-visible{overflow:visible!important}.overflow-lg-scroll{overflow:scroll!important}.overflow-x-lg-auto{overflow-x:auto!important}.overflow-x-lg-hidden{overflow-x:hidden!important}.overflow-x-lg-visible{overflow-x:visible!important}.overflow-x-lg-scroll{overflow-x:scroll!important}.overflow-y-lg-auto{overflow-y:auto!important}.overflow-y-lg-hidden{overflow-y:hidden!important}.overflow-y-lg-visible{overflow-y:visible!important}.overflow-y-lg-scroll{overflow-y:scroll!important}}@media (min-width:1200px){.overflow-xl-auto{overflow:auto!important}.overflow-xl-hidden{overflow:hidden!important}.overflow-xl-visible{overflow:visible!important}.overflow-xl-scroll{overflow:scroll!important}.overflow-x-xl-auto{overflow-x:auto!important}.overflow-x-xl-hidden{overflow-x:hidden!important}.overflow-x-xl-visible{overflow-x:visible!important}.overflow-x-xl-scroll{overflow-x:scroll!important}.overflow-y-xl-auto{overflow-y:auto!important}.overflow-y-xl-hidden{overflow-y:hidden!important}.overflow-y-xl-visible{overflow-y:visible!important}.overflow-y-xl-scroll{overflow-y:scroll!important}}@media (min-width:1400px){.overflow-xxl-auto{overflow:auto!important}.overflow-xxl-hidden{overflow:hidden!important}.overflow-xxl-visible{overflow:visible!important}.overflow-xxl-scroll{overflow:scroll!important}.overflow-x-xxl-auto{overflow-x:auto!important}.overflow-x-xxl-hidden{overflow-x:hidden!important}.overflow-x-xxl-visible{overflow-x:visible!important}.overflow-x-xxl-scroll{overflow-x:scroll!important}.overflow-y-xxl-auto{overflow-y:auto!important}.overflow-y-xxl-hidden{overflow-y:hidden!important}.overflow-y-xxl-visible{overflow-y:visible!important}.overflow-y-xxl-scroll{overflow-y:scroll!important}}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}@media (min-width:576px){.position-sm-static{position:static!important}.position-sm-relative{position:relative!important}.position-sm-absolute{position:absolute!important}.position-sm-fixed{position:fixed!important}.position-sm-sticky{position:-webkit-sticky!important;position:sticky!important}.top-sm-0{top:0!important}.top-sm-50{top:50%!important}.top-sm-100{top:100%!important}.bottom-sm-0{bottom:0!important}.bottom-sm-50{bottom:50%!important}.bottom-sm-100{bottom:100%!important}.start-sm-0{left:0!important}.start-sm-50{left:50%!important}.start-sm-100{left:100%!important}.end-sm-0{right:0!important}.end-sm-50{right:50%!important}.end-sm-100{right:100%!important}.translate-middle-sm{transform:translate(-50%,-50%)!important}.translate-middle-sm-x{transform:translateX(-50%)!important}.translate-middle-sm-y{transform:translateY(-50%)!important}}@media (min-width:768px){.position-md-static{position:static!important}.position-md-relative{position:relative!important}.position-md-absolute{position:absolute!important}.position-md-fixed{position:fixed!important}.position-md-sticky{position:-webkit-sticky!important;position:sticky!important}.top-md-0{top:0!important}.top-md-50{top:50%!important}.top-md-100{top:100%!important}.bottom-md-0{bottom:0!important}.bottom-md-50{bottom:50%!important}.bottom-md-100{bottom:100%!important}.start-md-0{left:0!important}.start-md-50{left:50%!important}.start-md-100{left:100%!important}.end-md-0{right:0!important}.end-md-50{right:50%!important}.end-md-100{right:100%!important}.translate-middle-md{transform:translate(-50%,-50%)!important}.translate-middle-md-x{transform:translateX(-50%)!important}.translate-middle-md-y{transform:translateY(-50%)!important}}@media (min-width:992px){.position-lg-static{position:static!important}.position-lg-relative{position:relative!important}.position-lg-absolute{position:absolute!important}.position-lg-fixed{position:fixed!important}.position-lg-sticky{position:-webkit-sticky!important;position:sticky!important}.top-lg-0{top:0!important}.top-lg-50{top:50%!important}.top-lg-100{top:100%!important}.bottom-lg-0{bottom:0!important}.bottom-lg-50{bottom:50%!important}.bottom-lg-100{bottom:100%!important}.start-lg-0{left:0!important}.start-lg-50{left:50%!important}.start-lg-100{left:100%!important}.end-lg-0{right:0!important}.end-lg-50{right:50%!important}.end-lg-100{right:100%!important}.translate-middle-lg{transform:translate(-50%,-50%)!important}.translate-middle-lg-x{transform:translateX(-50%)!important}.translate-middle-lg-y{transform:translateY(-50%)!important}}@media (min-width:1200px){.position-xl-static{position:static!important}.position-xl-relative{position:relative!important}.position-xl-absolute{position:absolute!important}.position-xl-fixed{position:fixed!important}.position-xl-sticky{position:-webkit-sticky!important;position:sticky!important}.top-xl-0{top:0!important}.top-xl-50{top:50%!important}.top-xl-100{top:100%!important}.bottom-xl-0{bottom:0!important}.bottom-xl-50{bottom:50%!important}.bottom-xl-100{bottom:100%!important}.start-xl-0{left:0!important}.start-xl-50{left:50%!important}.start-xl-100{left:100%!important}.end-xl-0{right:0!important}.end-xl-50{right:50%!important}.end-xl-100{right:100%!important}.translate-middle-xl{transform:translate(-50%,-50%)!important}.translate-middle-xl-x{transform:translateX(-50%)!important}.translate-middle-xl-y{transform:translateY(-50%)!important}}@media (min-width:1400px){.position-xxl-static{position:static!important}.position-xxl-relative{position:relative!important}.position-xxl-absolute{position:absolute!important}.position-xxl-fixed{position:fixed!important}.position-xxl-sticky{position:-webkit-sticky!important;position:sticky!important}.top-xxl-0{top:0!important}.top-xxl-50{top:50%!important}.top-xxl-100{top:100%!important}.bottom-xxl-0{bottom:0!important}.bottom-xxl-50{bottom:50%!important}.bottom-xxl-100{bottom:100%!important}.start-xxl-0{left:0!important}.start-xxl-50{left:50%!important}.start-xxl-100{left:100%!important}.end-xxl-0{right:0!important}.end-xxl-50{right:50%!important}.end-xxl-100{right:100%!important}.translate-middle-xxl{transform:translate(-50%,-50%)!important}.translate-middle-xxl-x{transform:translateX(-50%)!important}.translate-middle-xxl-y{transform:translateY(-50%)!important}}.specific-w-25{width:1.5625rem!important}.specific-w-50{width:3.125rem!important}.specific-w-75{width:4.6875rem!important}.specific-w-100{width:6.25rem!important}.specific-w-150{width:9.375rem!important}.specific-w-200{width:12.5rem!important}.specific-w-250{width:15.625rem!important}.specific-w-300{width:18.75rem!important}.specific-w-350{width:21.875rem!important}.specific-w-400{width:25rem!important}.specific-w-450{width:28.125rem!important}.specific-w-500{width:31.25rem!important}.specific-w-550{width:34.375rem!important}.specific-w-600{width:37.5rem!important}.w-auto{width:auto!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.specific-h-25{height:1.5625rem!important}.specific-h-50{height:3.125rem!important}.specific-h-75{height:4.6875rem!important}.specific-h-100{height:6.25rem!important}.specific-h-150{height:9.375rem!important}.specific-h-200{height:12.5rem!important}.specific-h-250{height:15.625rem!important}.specific-h-300{height:18.75rem!important}.specific-h-350{height:21.875rem!important}.specific-h-400{height:25rem!important}.specific-h-450{height:28.125rem!important}.specific-h-500{height:31.25rem!important}.specific-h-550{height:34.375rem!important}.specific-h-600{height:37.5rem!important}.h-auto{height:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}@media (min-width:576px){.specific-w-sm-25{width:1.5625rem!important}.specific-w-sm-50{width:3.125rem!important}.specific-w-sm-75{width:4.6875rem!important}.specific-w-sm-100{width:6.25rem!important}.specific-w-sm-150{width:9.375rem!important}.specific-w-sm-200{width:12.5rem!important}.specific-w-sm-250{width:15.625rem!important}.specific-w-sm-300{width:18.75rem!important}.specific-w-sm-350{width:21.875rem!important}.specific-w-sm-400{width:25rem!important}.specific-w-sm-450{width:28.125rem!important}.specific-w-sm-500{width:31.25rem!important}.specific-w-sm-550{width:34.375rem!important}.specific-w-sm-600{width:37.5rem!important}.w-sm-auto{width:auto!important}.w-sm-25{width:25%!important}.w-sm-50{width:50%!important}.w-sm-75{width:75%!important}.w-sm-100{width:100%!important}.mw-sm-100{max-width:100%!important}.vw-sm-100{width:100vw!important}.min-vw-sm-100{min-width:100vw!important}.specific-h-sm-25{height:1.5625rem!important}.specific-h-sm-50{height:3.125rem!important}.specific-h-sm-75{height:4.6875rem!important}.specific-h-sm-100{height:6.25rem!important}.specific-h-sm-150{height:9.375rem!important}.specific-h-sm-200{height:12.5rem!important}.specific-h-sm-250{height:15.625rem!important}.specific-h-sm-300{height:18.75rem!important}.specific-h-sm-350{height:21.875rem!important}.specific-h-sm-400{height:25rem!important}.specific-h-sm-450{height:28.125rem!important}.specific-h-sm-500{height:31.25rem!important}.specific-h-sm-550{height:34.375rem!important}.specific-h-sm-600{height:37.5rem!important}.h-sm-auto{height:auto!important}.h-sm-25{height:25%!important}.h-sm-50{height:50%!important}.h-sm-75{height:75%!important}.h-sm-100{height:100%!important}.mh-sm-100{max-height:100%!important}.vh-sm-100{height:100vh!important}.min-vh-sm-100{min-height:100vh!important}}@media (min-width:768px){.specific-w-md-25{width:1.5625rem!important}.specific-w-md-50{width:3.125rem!important}.specific-w-md-75{width:4.6875rem!important}.specific-w-md-100{width:6.25rem!important}.specific-w-md-150{width:9.375rem!important}.specific-w-md-200{width:12.5rem!important}.specific-w-md-250{width:15.625rem!important}.specific-w-md-300{width:18.75rem!important}.specific-w-md-350{width:21.875rem!important}.specific-w-md-400{width:25rem!important}.specific-w-md-450{width:28.125rem!important}.specific-w-md-500{width:31.25rem!important}.specific-w-md-550{width:34.375rem!important}.specific-w-md-600{width:37.5rem!important}.w-md-auto{width:auto!important}.w-md-25{width:25%!important}.w-md-50{width:50%!important}.w-md-75{width:75%!important}.w-md-100{width:100%!important}.mw-md-100{max-width:100%!important}.vw-md-100{width:100vw!important}.min-vw-md-100{min-width:100vw!important}.specific-h-md-25{height:1.5625rem!important}.specific-h-md-50{height:3.125rem!important}.specific-h-md-75{height:4.6875rem!important}.specific-h-md-100{height:6.25rem!important}.specific-h-md-150{height:9.375rem!important}.specific-h-md-200{height:12.5rem!important}.specific-h-md-250{height:15.625rem!important}.specific-h-md-300{height:18.75rem!important}.specific-h-md-350{height:21.875rem!important}.specific-h-md-400{height:25rem!important}.specific-h-md-450{height:28.125rem!important}.specific-h-md-500{height:31.25rem!important}.specific-h-md-550{height:34.375rem!important}.specific-h-md-600{height:37.5rem!important}.h-md-auto{height:auto!important}.h-md-25{height:25%!important}.h-md-50{height:50%!important}.h-md-75{height:75%!important}.h-md-100{height:100%!important}.mh-md-100{max-height:100%!important}.vh-md-100{height:100vh!important}.min-vh-md-100{min-height:100vh!important}}@media (min-width:992px){.specific-w-lg-25{width:1.5625rem!important}.specific-w-lg-50{width:3.125rem!important}.specific-w-lg-75{width:4.6875rem!important}.specific-w-lg-100{width:6.25rem!important}.specific-w-lg-150{width:9.375rem!important}.specific-w-lg-200{width:12.5rem!important}.specific-w-lg-250{width:15.625rem!important}.specific-w-lg-300{width:18.75rem!important}.specific-w-lg-350{width:21.875rem!important}.specific-w-lg-400{width:25rem!important}.specific-w-lg-450{width:28.125rem!important}.specific-w-lg-500{width:31.25rem!important}.specific-w-lg-550{width:34.375rem!important}.specific-w-lg-600{width:37.5rem!important}.w-lg-auto{width:auto!important}.w-lg-25{width:25%!important}.w-lg-50{width:50%!important}.w-lg-75{width:75%!important}.w-lg-100{width:100%!important}.mw-lg-100{max-width:100%!important}.vw-lg-100{width:100vw!important}.min-vw-lg-100{min-width:100vw!important}.specific-h-lg-25{height:1.5625rem!important}.specific-h-lg-50{height:3.125rem!important}.specific-h-lg-75{height:4.6875rem!important}.specific-h-lg-100{height:6.25rem!important}.specific-h-lg-150{height:9.375rem!important}.specific-h-lg-200{height:12.5rem!important}.specific-h-lg-250{height:15.625rem!important}.specific-h-lg-300{height:18.75rem!important}.specific-h-lg-350{height:21.875rem!important}.specific-h-lg-400{height:25rem!important}.specific-h-lg-450{height:28.125rem!important}.specific-h-lg-500{height:31.25rem!important}.specific-h-lg-550{height:34.375rem!important}.specific-h-lg-600{height:37.5rem!important}.h-lg-auto{height:auto!important}.h-lg-25{height:25%!important}.h-lg-50{height:50%!important}.h-lg-75{height:75%!important}.h-lg-100{height:100%!important}.mh-lg-100{max-height:100%!important}.vh-lg-100{height:100vh!important}.min-vh-lg-100{min-height:100vh!important}}@media (min-width:1200px){.specific-w-xl-25{width:1.5625rem!important}.specific-w-xl-50{width:3.125rem!important}.specific-w-xl-75{width:4.6875rem!important}.specific-w-xl-100{width:6.25rem!important}.specific-w-xl-150{width:9.375rem!important}.specific-w-xl-200{width:12.5rem!important}.specific-w-xl-250{width:15.625rem!important}.specific-w-xl-300{width:18.75rem!important}.specific-w-xl-350{width:21.875rem!important}.specific-w-xl-400{width:25rem!important}.specific-w-xl-450{width:28.125rem!important}.specific-w-xl-500{width:31.25rem!important}.specific-w-xl-550{width:34.375rem!important}.specific-w-xl-600{width:37.5rem!important}.w-xl-auto{width:auto!important}.w-xl-25{width:25%!important}.w-xl-50{width:50%!important}.w-xl-75{width:75%!important}.w-xl-100{width:100%!important}.mw-xl-100{max-width:100%!important}.vw-xl-100{width:100vw!important}.min-vw-xl-100{min-width:100vw!important}.specific-h-xl-25{height:1.5625rem!important}.specific-h-xl-50{height:3.125rem!important}.specific-h-xl-75{height:4.6875rem!important}.specific-h-xl-100{height:6.25rem!important}.specific-h-xl-150{height:9.375rem!important}.specific-h-xl-200{height:12.5rem!important}.specific-h-xl-250{height:15.625rem!important}.specific-h-xl-300{height:18.75rem!important}.specific-h-xl-350{height:21.875rem!important}.specific-h-xl-400{height:25rem!important}.specific-h-xl-450{height:28.125rem!important}.specific-h-xl-500{height:31.25rem!important}.specific-h-xl-550{height:34.375rem!important}.specific-h-xl-600{height:37.5rem!important}.h-xl-auto{height:auto!important}.h-xl-25{height:25%!important}.h-xl-50{height:50%!important}.h-xl-75{height:75%!important}.h-xl-100{height:100%!important}.mh-xl-100{max-height:100%!important}.vh-xl-100{height:100vh!important}.min-vh-xl-100{min-height:100vh!important}}@media (min-width:1400px){.specific-w-xxl-25{width:1.5625rem!important}.specific-w-xxl-50{width:3.125rem!important}.specific-w-xxl-75{width:4.6875rem!important}.specific-w-xxl-100{width:6.25rem!important}.specific-w-xxl-150{width:9.375rem!important}.specific-w-xxl-200{width:12.5rem!important}.specific-w-xxl-250{width:15.625rem!important}.specific-w-xxl-300{width:18.75rem!important}.specific-w-xxl-350{width:21.875rem!important}.specific-w-xxl-400{width:25rem!important}.specific-w-xxl-450{width:28.125rem!important}.specific-w-xxl-500{width:31.25rem!important}.specific-w-xxl-550{width:34.375rem!important}.specific-w-xxl-600{width:37.5rem!important}.w-xxl-auto{width:auto!important}.w-xxl-25{width:25%!important}.w-xxl-50{width:50%!important}.w-xxl-75{width:75%!important}.w-xxl-100{width:100%!important}.mw-xxl-100{max-width:100%!important}.vw-xxl-100{width:100vw!important}.min-vw-xxl-100{min-width:100vw!important}.specific-h-xxl-25{height:1.5625rem!important}.specific-h-xxl-50{height:3.125rem!important}.specific-h-xxl-75{height:4.6875rem!important}.specific-h-xxl-100{height:6.25rem!important}.specific-h-xxl-150{height:9.375rem!important}.specific-h-xxl-200{height:12.5rem!important}.specific-h-xxl-250{height:15.625rem!important}.specific-h-xxl-300{height:18.75rem!important}.specific-h-xxl-350{height:21.875rem!important}.specific-h-xxl-400{height:25rem!important}.specific-h-xxl-450{height:28.125rem!important}.specific-h-xxl-500{height:31.25rem!important}.specific-h-xxl-550{height:34.375rem!important}.specific-h-xxl-600{height:37.5rem!important}.h-xxl-auto{height:auto!important}.h-xxl-25{height:25%!important}.h-xxl-50{height:50%!important}.h-xxl-75{height:75%!important}.h-xxl-100{height:100%!important}.mh-xxl-100{max-height:100%!important}.vh-xxl-100{height:100vh!important}.min-vh-xxl-100{min-height:100vh!important}}.m-0{margin:0!important}.m-1{margin:var(--bs-spacer-1)!important}.m-2{margin:var(--bs-spacer-2)!important}.m-3{margin:var(--bs-spacer-3)!important}.m-4{margin:var(--bs-spacer-4)!important}.m-5{margin:var(--bs-spacer-5)!important}.m-auto{margin:auto!important}.m-n1{margin:calc(-1*var(--bs-spacer-1))!important}.m-n2{margin:calc(-1*var(--bs-spacer-2))!important}.m-n3{margin:calc(-1*var(--bs-spacer-3))!important}.m-n4{margin:calc(-1*var(--bs-spacer-4))!important}.m-n5{margin:calc(-1*var(--bs-spacer-5))!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:var(--bs-spacer-1)!important;margin-left:var(--bs-spacer-1)!important}.mx-2{margin-right:var(--bs-spacer-2)!important;margin-left:var(--bs-spacer-2)!important}.mx-3{margin-right:var(--bs-spacer-3)!important;margin-left:var(--bs-spacer-3)!important}.mx-4{margin-right:var(--bs-spacer-4)!important;margin-left:var(--bs-spacer-4)!important}.mx-5{margin-right:var(--bs-spacer-5)!important;margin-left:var(--bs-spacer-5)!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.mx-n1{margin-right:calc(-1*var(--bs-spacer-1))!important;margin-left:calc(-1*var(--bs-spacer-1))!important}.mx-n2{margin-right:calc(-1*var(--bs-spacer-2))!important;margin-left:calc(-1*var(--bs-spacer-2))!important}.mx-n3{margin-right:calc(-1*var(--bs-spacer-3))!important;margin-left:calc(-1*var(--bs-spacer-3))!important}.mx-n4{margin-right:calc(-1*var(--bs-spacer-4))!important;margin-left:calc(-1*var(--bs-spacer-4))!important}.mx-n5{margin-right:calc(-1*var(--bs-spacer-5))!important;margin-left:calc(-1*var(--bs-spacer-5))!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:var(--bs-spacer-1)!important;margin-bottom:var(--bs-spacer-1)!important}.my-2{margin-top:var(--bs-spacer-2)!important;margin-bottom:var(--bs-spacer-2)!important}.my-3{margin-top:var(--bs-spacer-3)!important;margin-bottom:var(--bs-spacer-3)!important}.my-4{margin-top:var(--bs-spacer-4)!important;margin-bottom:var(--bs-spacer-4)!important}.my-5{margin-top:var(--bs-spacer-5)!important;margin-bottom:var(--bs-spacer-5)!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.my-n1{margin-top:calc(-1*var(--bs-spacer-1))!important;margin-bottom:calc(-1*var(--bs-spacer-1))!important}.my-n2{margin-top:calc(-1*var(--bs-spacer-2))!important;margin-bottom:calc(-1*var(--bs-spacer-2))!important}.my-n3{margin-top:calc(-1*var(--bs-spacer-3))!important;margin-bottom:calc(-1*var(--bs-spacer-3))!important}.my-n4{margin-top:calc(-1*var(--bs-spacer-4))!important;margin-bottom:calc(-1*var(--bs-spacer-4))!important}.my-n5{margin-top:calc(-1*var(--bs-spacer-5))!important;margin-bottom:calc(-1*var(--bs-spacer-5))!important}.mt-0{margin-top:0!important}.mt-1{margin-top:var(--bs-spacer-1)!important}.mt-2{margin-top:var(--bs-spacer-2)!important}.mt-3{margin-top:var(--bs-spacer-3)!important}.mt-4{margin-top:var(--bs-spacer-4)!important}.mt-5{margin-top:var(--bs-spacer-5)!important}.mt-auto{margin-top:auto!important}.mt-n1{margin-top:calc(-1*var(--bs-spacer-1))!important}.mt-n2{margin-top:calc(-1*var(--bs-spacer-2))!important}.mt-n3{margin-top:calc(-1*var(--bs-spacer-3))!important}.mt-n4{margin-top:calc(-1*var(--bs-spacer-4))!important}.mt-n5{margin-top:calc(-1*var(--bs-spacer-5))!important}.me-0{margin-right:0!important}.me-1{margin-right:var(--bs-spacer-1)!important}.me-2{margin-right:var(--bs-spacer-2)!important}.me-3{margin-right:var(--bs-spacer-3)!important}.me-4{margin-right:var(--bs-spacer-4)!important}.me-5{margin-right:var(--bs-spacer-5)!important}.me-auto{margin-right:auto!important}.me-n1{margin-right:calc(-1*var(--bs-spacer-1))!important}.me-n2{margin-right:calc(-1*var(--bs-spacer-2))!important}.me-n3{margin-right:calc(-1*var(--bs-spacer-3))!important}.me-n4{margin-right:calc(-1*var(--bs-spacer-4))!important}.me-n5{margin-right:calc(-1*var(--bs-spacer-5))!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:var(--bs-spacer-1)!important}.mb-2{margin-bottom:var(--bs-spacer-2)!important}.mb-3{margin-bottom:var(--bs-spacer-3)!important}.mb-4{margin-bottom:var(--bs-spacer-4)!important}.mb-5{margin-bottom:var(--bs-spacer-5)!important}.mb-auto{margin-bottom:auto!important}.mb-n1{margin-bottom:calc(-1*var(--bs-spacer-1))!important}.mb-n2{margin-bottom:calc(-1*var(--bs-spacer-2))!important}.mb-n3{margin-bottom:calc(-1*var(--bs-spacer-3))!important}.mb-n4{margin-bottom:calc(-1*var(--bs-spacer-4))!important}.mb-n5{margin-bottom:calc(-1*var(--bs-spacer-5))!important}.ms-0{margin-left:0!important}.ms-1{margin-left:var(--bs-spacer-1)!important}.ms-2{margin-left:var(--bs-spacer-2)!important}.ms-3{margin-left:var(--bs-spacer-3)!important}.ms-4{margin-left:var(--bs-spacer-4)!important}.ms-5{margin-left:var(--bs-spacer-5)!important}.ms-auto{margin-left:auto!important}.ms-n1{margin-left:calc(-1*var(--bs-spacer-1))!important}.ms-n2{margin-left:calc(-1*var(--bs-spacer-2))!important}.ms-n3{margin-left:calc(-1*var(--bs-spacer-3))!important}.ms-n4{margin-left:calc(-1*var(--bs-spacer-4))!important}.ms-n5{margin-left:calc(-1*var(--bs-spacer-5))!important}.p-0{padding:0!important}.p-1{padding:var(--bs-spacer-1)!important}.p-2{padding:var(--bs-spacer-2)!important}.p-3{padding:var(--bs-spacer-3)!important}.p-4{padding:var(--bs-spacer-4)!important}.p-5{padding:var(--bs-spacer-5)!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:var(--bs-spacer-1)!important;padding-left:var(--bs-spacer-1)!important}.px-2{padding-right:var(--bs-spacer-2)!important;padding-left:var(--bs-spacer-2)!important}.px-3{padding-right:var(--bs-spacer-3)!important;padding-left:var(--bs-spacer-3)!important}.px-4{padding-right:var(--bs-spacer-4)!important;padding-left:var(--bs-spacer-4)!important}.px-5{padding-right:var(--bs-spacer-5)!important;padding-left:var(--bs-spacer-5)!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:var(--bs-spacer-1)!important;padding-bottom:var(--bs-spacer-1)!important}.py-2{padding-top:var(--bs-spacer-2)!important;padding-bottom:var(--bs-spacer-2)!important}.py-3{padding-top:var(--bs-spacer-3)!important;padding-bottom:var(--bs-spacer-3)!important}.py-4{padding-top:var(--bs-spacer-4)!important;padding-bottom:var(--bs-spacer-4)!important}.py-5{padding-top:var(--bs-spacer-5)!important;padding-bottom:var(--bs-spacer-5)!important}.pt-0{padding-top:0!important}.pt-1{padding-top:var(--bs-spacer-1)!important}.pt-2{padding-top:var(--bs-spacer-2)!important}.pt-3{padding-top:var(--bs-spacer-3)!important}.pt-4{padding-top:var(--bs-spacer-4)!important}.pt-5{padding-top:var(--bs-spacer-5)!important}.pe-0{padding-right:0!important}.pe-1{padding-right:var(--bs-spacer-1)!important}.pe-2{padding-right:var(--bs-spacer-2)!important}.pe-3{padding-right:var(--bs-spacer-3)!important}.pe-4{padding-right:var(--bs-spacer-4)!important}.pe-5{padding-right:var(--bs-spacer-5)!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:var(--bs-spacer-1)!important}.pb-2{padding-bottom:var(--bs-spacer-2)!important}.pb-3{padding-bottom:var(--bs-spacer-3)!important}.pb-4{padding-bottom:var(--bs-spacer-4)!important}.pb-5{padding-bottom:var(--bs-spacer-5)!important}.ps-0{padding-left:0!important}.ps-1{padding-left:var(--bs-spacer-1)!important}.ps-2{padding-left:var(--bs-spacer-2)!important}.ps-3{padding-left:var(--bs-spacer-3)!important}.ps-4{padding-left:var(--bs-spacer-4)!important}.ps-5{padding-left:var(--bs-spacer-5)!important}.gap-0{gap:0!important}.gap-1{gap:var(--bs-spacer-1)!important}.gap-2{gap:var(--bs-spacer-2)!important}.gap-3{gap:var(--bs-spacer-3)!important}.gap-4{gap:var(--bs-spacer-4)!important}.gap-5{gap:var(--bs-spacer-5)!important}.row-gap-0{gap:0!important}.row-gap-1{row-gap:var(--bs-spacer-1)!important}.row-gap-2{row-gap:var(--bs-spacer-2)!important}.row-gap-3{row-gap:var(--bs-spacer-3)!important}.row-gap-4{row-gap:var(--bs-spacer-4)!important}.row-gap-5{row-gap:var(--bs-spacer-5)!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:var(--bs-spacer-1)!important;column-gap:var(--bs-spacer-1)!important}.column-gap-2{-moz-column-gap:var(--bs-spacer-2)!important;column-gap:var(--bs-spacer-2)!important}.column-gap-3{-moz-column-gap:var(--bs-spacer-3)!important;column-gap:var(--bs-spacer-3)!important}.column-gap-4{-moz-column-gap:var(--bs-spacer-4)!important;column-gap:var(--bs-spacer-4)!important}.column-gap-5{-moz-column-gap:var(--bs-spacer-5)!important;column-gap:var(--bs-spacer-5)!important}@media (min-width:576px){.m-sm-0{margin:0!important}.m-sm-1{margin:var(--bs-spacer-1)!important}.m-sm-2{margin:var(--bs-spacer-2)!important}.m-sm-3{margin:var(--bs-spacer-3)!important}.m-sm-4{margin:var(--bs-spacer-4)!important}.m-sm-5{margin:var(--bs-spacer-5)!important}.m-sm-auto{margin:auto!important}.m-sm-n1{margin:calc(-1*var(--bs-spacer-1))!important}.m-sm-n2{margin:calc(-1*var(--bs-spacer-2))!important}.m-sm-n3{margin:calc(-1*var(--bs-spacer-3))!important}.m-sm-n4{margin:calc(-1*var(--bs-spacer-4))!important}.m-sm-n5{margin:calc(-1*var(--bs-spacer-5))!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:var(--bs-spacer-1)!important;margin-left:var(--bs-spacer-1)!important}.mx-sm-2{margin-right:var(--bs-spacer-2)!important;margin-left:var(--bs-spacer-2)!important}.mx-sm-3{margin-right:var(--bs-spacer-3)!important;margin-left:var(--bs-spacer-3)!important}.mx-sm-4{margin-right:var(--bs-spacer-4)!important;margin-left:var(--bs-spacer-4)!important}.mx-sm-5{margin-right:var(--bs-spacer-5)!important;margin-left:var(--bs-spacer-5)!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.mx-sm-n1{margin-right:calc(-1*var(--bs-spacer-1))!important;margin-left:calc(-1*var(--bs-spacer-1))!important}.mx-sm-n2{margin-right:calc(-1*var(--bs-spacer-2))!important;margin-left:calc(-1*var(--bs-spacer-2))!important}.mx-sm-n3{margin-right:calc(-1*var(--bs-spacer-3))!important;margin-left:calc(-1*var(--bs-spacer-3))!important}.mx-sm-n4{margin-right:calc(-1*var(--bs-spacer-4))!important;margin-left:calc(-1*var(--bs-spacer-4))!important}.mx-sm-n5{margin-right:calc(-1*var(--bs-spacer-5))!important;margin-left:calc(-1*var(--bs-spacer-5))!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:var(--bs-spacer-1)!important;margin-bottom:var(--bs-spacer-1)!important}.my-sm-2{margin-top:var(--bs-spacer-2)!important;margin-bottom:var(--bs-spacer-2)!important}.my-sm-3{margin-top:var(--bs-spacer-3)!important;margin-bottom:var(--bs-spacer-3)!important}.my-sm-4{margin-top:var(--bs-spacer-4)!important;margin-bottom:var(--bs-spacer-4)!important}.my-sm-5{margin-top:var(--bs-spacer-5)!important;margin-bottom:var(--bs-spacer-5)!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.my-sm-n1{margin-top:calc(-1*var(--bs-spacer-1))!important;margin-bottom:calc(-1*var(--bs-spacer-1))!important}.my-sm-n2{margin-top:calc(-1*var(--bs-spacer-2))!important;margin-bottom:calc(-1*var(--bs-spacer-2))!important}.my-sm-n3{margin-top:calc(-1*var(--bs-spacer-3))!important;margin-bottom:calc(-1*var(--bs-spacer-3))!important}.my-sm-n4{margin-top:calc(-1*var(--bs-spacer-4))!important;margin-bottom:calc(-1*var(--bs-spacer-4))!important}.my-sm-n5{margin-top:calc(-1*var(--bs-spacer-5))!important;margin-bottom:calc(-1*var(--bs-spacer-5))!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:var(--bs-spacer-1)!important}.mt-sm-2{margin-top:var(--bs-spacer-2)!important}.mt-sm-3{margin-top:var(--bs-spacer-3)!important}.mt-sm-4{margin-top:var(--bs-spacer-4)!important}.mt-sm-5{margin-top:var(--bs-spacer-5)!important}.mt-sm-auto{margin-top:auto!important}.mt-sm-n1{margin-top:calc(-1*var(--bs-spacer-1))!important}.mt-sm-n2{margin-top:calc(-1*var(--bs-spacer-2))!important}.mt-sm-n3{margin-top:calc(-1*var(--bs-spacer-3))!important}.mt-sm-n4{margin-top:calc(-1*var(--bs-spacer-4))!important}.mt-sm-n5{margin-top:calc(-1*var(--bs-spacer-5))!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:var(--bs-spacer-1)!important}.me-sm-2{margin-right:var(--bs-spacer-2)!important}.me-sm-3{margin-right:var(--bs-spacer-3)!important}.me-sm-4{margin-right:var(--bs-spacer-4)!important}.me-sm-5{margin-right:var(--bs-spacer-5)!important}.me-sm-auto{margin-right:auto!important}.me-sm-n1{margin-right:calc(-1*var(--bs-spacer-1))!important}.me-sm-n2{margin-right:calc(-1*var(--bs-spacer-2))!important}.me-sm-n3{margin-right:calc(-1*var(--bs-spacer-3))!important}.me-sm-n4{margin-right:calc(-1*var(--bs-spacer-4))!important}.me-sm-n5{margin-right:calc(-1*var(--bs-spacer-5))!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:var(--bs-spacer-1)!important}.mb-sm-2{margin-bottom:var(--bs-spacer-2)!important}.mb-sm-3{margin-bottom:var(--bs-spacer-3)!important}.mb-sm-4{margin-bottom:var(--bs-spacer-4)!important}.mb-sm-5{margin-bottom:var(--bs-spacer-5)!important}.mb-sm-auto{margin-bottom:auto!important}.mb-sm-n1{margin-bottom:calc(-1*var(--bs-spacer-1))!important}.mb-sm-n2{margin-bottom:calc(-1*var(--bs-spacer-2))!important}.mb-sm-n3{margin-bottom:calc(-1*var(--bs-spacer-3))!important}.mb-sm-n4{margin-bottom:calc(-1*var(--bs-spacer-4))!important}.mb-sm-n5{margin-bottom:calc(-1*var(--bs-spacer-5))!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:var(--bs-spacer-1)!important}.ms-sm-2{margin-left:var(--bs-spacer-2)!important}.ms-sm-3{margin-left:var(--bs-spacer-3)!important}.ms-sm-4{margin-left:var(--bs-spacer-4)!important}.ms-sm-5{margin-left:var(--bs-spacer-5)!important}.ms-sm-auto{margin-left:auto!important}.ms-sm-n1{margin-left:calc(-1*var(--bs-spacer-1))!important}.ms-sm-n2{margin-left:calc(-1*var(--bs-spacer-2))!important}.ms-sm-n3{margin-left:calc(-1*var(--bs-spacer-3))!important}.ms-sm-n4{margin-left:calc(-1*var(--bs-spacer-4))!important}.ms-sm-n5{margin-left:calc(-1*var(--bs-spacer-5))!important}.p-sm-0{padding:0!important}.p-sm-1{padding:var(--bs-spacer-1)!important}.p-sm-2{padding:var(--bs-spacer-2)!important}.p-sm-3{padding:var(--bs-spacer-3)!important}.p-sm-4{padding:var(--bs-spacer-4)!important}.p-sm-5{padding:var(--bs-spacer-5)!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:var(--bs-spacer-1)!important;padding-left:var(--bs-spacer-1)!important}.px-sm-2{padding-right:var(--bs-spacer-2)!important;padding-left:var(--bs-spacer-2)!important}.px-sm-3{padding-right:var(--bs-spacer-3)!important;padding-left:var(--bs-spacer-3)!important}.px-sm-4{padding-right:var(--bs-spacer-4)!important;padding-left:var(--bs-spacer-4)!important}.px-sm-5{padding-right:var(--bs-spacer-5)!important;padding-left:var(--bs-spacer-5)!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:var(--bs-spacer-1)!important;padding-bottom:var(--bs-spacer-1)!important}.py-sm-2{padding-top:var(--bs-spacer-2)!important;padding-bottom:var(--bs-spacer-2)!important}.py-sm-3{padding-top:var(--bs-spacer-3)!important;padding-bottom:var(--bs-spacer-3)!important}.py-sm-4{padding-top:var(--bs-spacer-4)!important;padding-bottom:var(--bs-spacer-4)!important}.py-sm-5{padding-top:var(--bs-spacer-5)!important;padding-bottom:var(--bs-spacer-5)!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:var(--bs-spacer-1)!important}.pt-sm-2{padding-top:var(--bs-spacer-2)!important}.pt-sm-3{padding-top:var(--bs-spacer-3)!important}.pt-sm-4{padding-top:var(--bs-spacer-4)!important}.pt-sm-5{padding-top:var(--bs-spacer-5)!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:var(--bs-spacer-1)!important}.pe-sm-2{padding-right:var(--bs-spacer-2)!important}.pe-sm-3{padding-right:var(--bs-spacer-3)!important}.pe-sm-4{padding-right:var(--bs-spacer-4)!important}.pe-sm-5{padding-right:var(--bs-spacer-5)!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:var(--bs-spacer-1)!important}.pb-sm-2{padding-bottom:var(--bs-spacer-2)!important}.pb-sm-3{padding-bottom:var(--bs-spacer-3)!important}.pb-sm-4{padding-bottom:var(--bs-spacer-4)!important}.pb-sm-5{padding-bottom:var(--bs-spacer-5)!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:var(--bs-spacer-1)!important}.ps-sm-2{padding-left:var(--bs-spacer-2)!important}.ps-sm-3{padding-left:var(--bs-spacer-3)!important}.ps-sm-4{padding-left:var(--bs-spacer-4)!important}.ps-sm-5{padding-left:var(--bs-spacer-5)!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:var(--bs-spacer-1)!important}.gap-sm-2{gap:var(--bs-spacer-2)!important}.gap-sm-3{gap:var(--bs-spacer-3)!important}.gap-sm-4{gap:var(--bs-spacer-4)!important}.gap-sm-5{gap:var(--bs-spacer-5)!important}.row-gap-sm-0{gap:0!important}.row-gap-sm-1{row-gap:var(--bs-spacer-1)!important}.row-gap-sm-2{row-gap:var(--bs-spacer-2)!important}.row-gap-sm-3{row-gap:var(--bs-spacer-3)!important}.row-gap-sm-4{row-gap:var(--bs-spacer-4)!important}.row-gap-sm-5{row-gap:var(--bs-spacer-5)!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:var(--bs-spacer-1)!important;column-gap:var(--bs-spacer-1)!important}.column-gap-sm-2{-moz-column-gap:var(--bs-spacer-2)!important;column-gap:var(--bs-spacer-2)!important}.column-gap-sm-3{-moz-column-gap:var(--bs-spacer-3)!important;column-gap:var(--bs-spacer-3)!important}.column-gap-sm-4{-moz-column-gap:var(--bs-spacer-4)!important;column-gap:var(--bs-spacer-4)!important}.column-gap-sm-5{-moz-column-gap:var(--bs-spacer-5)!important;column-gap:var(--bs-spacer-5)!important}}@media (min-width:768px){.m-md-0{margin:0!important}.m-md-1{margin:var(--bs-spacer-1)!important}.m-md-2{margin:var(--bs-spacer-2)!important}.m-md-3{margin:var(--bs-spacer-3)!important}.m-md-4{margin:var(--bs-spacer-4)!important}.m-md-5{margin:var(--bs-spacer-5)!important}.m-md-auto{margin:auto!important}.m-md-n1{margin:calc(-1*var(--bs-spacer-1))!important}.m-md-n2{margin:calc(-1*var(--bs-spacer-2))!important}.m-md-n3{margin:calc(-1*var(--bs-spacer-3))!important}.m-md-n4{margin:calc(-1*var(--bs-spacer-4))!important}.m-md-n5{margin:calc(-1*var(--bs-spacer-5))!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:var(--bs-spacer-1)!important;margin-left:var(--bs-spacer-1)!important}.mx-md-2{margin-right:var(--bs-spacer-2)!important;margin-left:var(--bs-spacer-2)!important}.mx-md-3{margin-right:var(--bs-spacer-3)!important;margin-left:var(--bs-spacer-3)!important}.mx-md-4{margin-right:var(--bs-spacer-4)!important;margin-left:var(--bs-spacer-4)!important}.mx-md-5{margin-right:var(--bs-spacer-5)!important;margin-left:var(--bs-spacer-5)!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.mx-md-n1{margin-right:calc(-1*var(--bs-spacer-1))!important;margin-left:calc(-1*var(--bs-spacer-1))!important}.mx-md-n2{margin-right:calc(-1*var(--bs-spacer-2))!important;margin-left:calc(-1*var(--bs-spacer-2))!important}.mx-md-n3{margin-right:calc(-1*var(--bs-spacer-3))!important;margin-left:calc(-1*var(--bs-spacer-3))!important}.mx-md-n4{margin-right:calc(-1*var(--bs-spacer-4))!important;margin-left:calc(-1*var(--bs-spacer-4))!important}.mx-md-n5{margin-right:calc(-1*var(--bs-spacer-5))!important;margin-left:calc(-1*var(--bs-spacer-5))!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:var(--bs-spacer-1)!important;margin-bottom:var(--bs-spacer-1)!important}.my-md-2{margin-top:var(--bs-spacer-2)!important;margin-bottom:var(--bs-spacer-2)!important}.my-md-3{margin-top:var(--bs-spacer-3)!important;margin-bottom:var(--bs-spacer-3)!important}.my-md-4{margin-top:var(--bs-spacer-4)!important;margin-bottom:var(--bs-spacer-4)!important}.my-md-5{margin-top:var(--bs-spacer-5)!important;margin-bottom:var(--bs-spacer-5)!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.my-md-n1{margin-top:calc(-1*var(--bs-spacer-1))!important;margin-bottom:calc(-1*var(--bs-spacer-1))!important}.my-md-n2{margin-top:calc(-1*var(--bs-spacer-2))!important;margin-bottom:calc(-1*var(--bs-spacer-2))!important}.my-md-n3{margin-top:calc(-1*var(--bs-spacer-3))!important;margin-bottom:calc(-1*var(--bs-spacer-3))!important}.my-md-n4{margin-top:calc(-1*var(--bs-spacer-4))!important;margin-bottom:calc(-1*var(--bs-spacer-4))!important}.my-md-n5{margin-top:calc(-1*var(--bs-spacer-5))!important;margin-bottom:calc(-1*var(--bs-spacer-5))!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:var(--bs-spacer-1)!important}.mt-md-2{margin-top:var(--bs-spacer-2)!important}.mt-md-3{margin-top:var(--bs-spacer-3)!important}.mt-md-4{margin-top:var(--bs-spacer-4)!important}.mt-md-5{margin-top:var(--bs-spacer-5)!important}.mt-md-auto{margin-top:auto!important}.mt-md-n1{margin-top:calc(-1*var(--bs-spacer-1))!important}.mt-md-n2{margin-top:calc(-1*var(--bs-spacer-2))!important}.mt-md-n3{margin-top:calc(-1*var(--bs-spacer-3))!important}.mt-md-n4{margin-top:calc(-1*var(--bs-spacer-4))!important}.mt-md-n5{margin-top:calc(-1*var(--bs-spacer-5))!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:var(--bs-spacer-1)!important}.me-md-2{margin-right:var(--bs-spacer-2)!important}.me-md-3{margin-right:var(--bs-spacer-3)!important}.me-md-4{margin-right:var(--bs-spacer-4)!important}.me-md-5{margin-right:var(--bs-spacer-5)!important}.me-md-auto{margin-right:auto!important}.me-md-n1{margin-right:calc(-1*var(--bs-spacer-1))!important}.me-md-n2{margin-right:calc(-1*var(--bs-spacer-2))!important}.me-md-n3{margin-right:calc(-1*var(--bs-spacer-3))!important}.me-md-n4{margin-right:calc(-1*var(--bs-spacer-4))!important}.me-md-n5{margin-right:calc(-1*var(--bs-spacer-5))!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:var(--bs-spacer-1)!important}.mb-md-2{margin-bottom:var(--bs-spacer-2)!important}.mb-md-3{margin-bottom:var(--bs-spacer-3)!important}.mb-md-4{margin-bottom:var(--bs-spacer-4)!important}.mb-md-5{margin-bottom:var(--bs-spacer-5)!important}.mb-md-auto{margin-bottom:auto!important}.mb-md-n1{margin-bottom:calc(-1*var(--bs-spacer-1))!important}.mb-md-n2{margin-bottom:calc(-1*var(--bs-spacer-2))!important}.mb-md-n3{margin-bottom:calc(-1*var(--bs-spacer-3))!important}.mb-md-n4{margin-bottom:calc(-1*var(--bs-spacer-4))!important}.mb-md-n5{margin-bottom:calc(-1*var(--bs-spacer-5))!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:var(--bs-spacer-1)!important}.ms-md-2{margin-left:var(--bs-spacer-2)!important}.ms-md-3{margin-left:var(--bs-spacer-3)!important}.ms-md-4{margin-left:var(--bs-spacer-4)!important}.ms-md-5{margin-left:var(--bs-spacer-5)!important}.ms-md-auto{margin-left:auto!important}.ms-md-n1{margin-left:calc(-1*var(--bs-spacer-1))!important}.ms-md-n2{margin-left:calc(-1*var(--bs-spacer-2))!important}.ms-md-n3{margin-left:calc(-1*var(--bs-spacer-3))!important}.ms-md-n4{margin-left:calc(-1*var(--bs-spacer-4))!important}.ms-md-n5{margin-left:calc(-1*var(--bs-spacer-5))!important}.p-md-0{padding:0!important}.p-md-1{padding:var(--bs-spacer-1)!important}.p-md-2{padding:var(--bs-spacer-2)!important}.p-md-3{padding:var(--bs-spacer-3)!important}.p-md-4{padding:var(--bs-spacer-4)!important}.p-md-5{padding:var(--bs-spacer-5)!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:var(--bs-spacer-1)!important;padding-left:var(--bs-spacer-1)!important}.px-md-2{padding-right:var(--bs-spacer-2)!important;padding-left:var(--bs-spacer-2)!important}.px-md-3{padding-right:var(--bs-spacer-3)!important;padding-left:var(--bs-spacer-3)!important}.px-md-4{padding-right:var(--bs-spacer-4)!important;padding-left:var(--bs-spacer-4)!important}.px-md-5{padding-right:var(--bs-spacer-5)!important;padding-left:var(--bs-spacer-5)!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:var(--bs-spacer-1)!important;padding-bottom:var(--bs-spacer-1)!important}.py-md-2{padding-top:var(--bs-spacer-2)!important;padding-bottom:var(--bs-spacer-2)!important}.py-md-3{padding-top:var(--bs-spacer-3)!important;padding-bottom:var(--bs-spacer-3)!important}.py-md-4{padding-top:var(--bs-spacer-4)!important;padding-bottom:var(--bs-spacer-4)!important}.py-md-5{padding-top:var(--bs-spacer-5)!important;padding-bottom:var(--bs-spacer-5)!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:var(--bs-spacer-1)!important}.pt-md-2{padding-top:var(--bs-spacer-2)!important}.pt-md-3{padding-top:var(--bs-spacer-3)!important}.pt-md-4{padding-top:var(--bs-spacer-4)!important}.pt-md-5{padding-top:var(--bs-spacer-5)!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:var(--bs-spacer-1)!important}.pe-md-2{padding-right:var(--bs-spacer-2)!important}.pe-md-3{padding-right:var(--bs-spacer-3)!important}.pe-md-4{padding-right:var(--bs-spacer-4)!important}.pe-md-5{padding-right:var(--bs-spacer-5)!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:var(--bs-spacer-1)!important}.pb-md-2{padding-bottom:var(--bs-spacer-2)!important}.pb-md-3{padding-bottom:var(--bs-spacer-3)!important}.pb-md-4{padding-bottom:var(--bs-spacer-4)!important}.pb-md-5{padding-bottom:var(--bs-spacer-5)!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:var(--bs-spacer-1)!important}.ps-md-2{padding-left:var(--bs-spacer-2)!important}.ps-md-3{padding-left:var(--bs-spacer-3)!important}.ps-md-4{padding-left:var(--bs-spacer-4)!important}.ps-md-5{padding-left:var(--bs-spacer-5)!important}.gap-md-0{gap:0!important}.gap-md-1{gap:var(--bs-spacer-1)!important}.gap-md-2{gap:var(--bs-spacer-2)!important}.gap-md-3{gap:var(--bs-spacer-3)!important}.gap-md-4{gap:var(--bs-spacer-4)!important}.gap-md-5{gap:var(--bs-spacer-5)!important}.row-gap-md-0{gap:0!important}.row-gap-md-1{row-gap:var(--bs-spacer-1)!important}.row-gap-md-2{row-gap:var(--bs-spacer-2)!important}.row-gap-md-3{row-gap:var(--bs-spacer-3)!important}.row-gap-md-4{row-gap:var(--bs-spacer-4)!important}.row-gap-md-5{row-gap:var(--bs-spacer-5)!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:var(--bs-spacer-1)!important;column-gap:var(--bs-spacer-1)!important}.column-gap-md-2{-moz-column-gap:var(--bs-spacer-2)!important;column-gap:var(--bs-spacer-2)!important}.column-gap-md-3{-moz-column-gap:var(--bs-spacer-3)!important;column-gap:var(--bs-spacer-3)!important}.column-gap-md-4{-moz-column-gap:var(--bs-spacer-4)!important;column-gap:var(--bs-spacer-4)!important}.column-gap-md-5{-moz-column-gap:var(--bs-spacer-5)!important;column-gap:var(--bs-spacer-5)!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.m-lg-1{margin:var(--bs-spacer-1)!important}.m-lg-2{margin:var(--bs-spacer-2)!important}.m-lg-3{margin:var(--bs-spacer-3)!important}.m-lg-4{margin:var(--bs-spacer-4)!important}.m-lg-5{margin:var(--bs-spacer-5)!important}.m-lg-auto{margin:auto!important}.m-lg-n1{margin:calc(-1*var(--bs-spacer-1))!important}.m-lg-n2{margin:calc(-1*var(--bs-spacer-2))!important}.m-lg-n3{margin:calc(-1*var(--bs-spacer-3))!important}.m-lg-n4{margin:calc(-1*var(--bs-spacer-4))!important}.m-lg-n5{margin:calc(-1*var(--bs-spacer-5))!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:var(--bs-spacer-1)!important;margin-left:var(--bs-spacer-1)!important}.mx-lg-2{margin-right:var(--bs-spacer-2)!important;margin-left:var(--bs-spacer-2)!important}.mx-lg-3{margin-right:var(--bs-spacer-3)!important;margin-left:var(--bs-spacer-3)!important}.mx-lg-4{margin-right:var(--bs-spacer-4)!important;margin-left:var(--bs-spacer-4)!important}.mx-lg-5{margin-right:var(--bs-spacer-5)!important;margin-left:var(--bs-spacer-5)!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.mx-lg-n1{margin-right:calc(-1*var(--bs-spacer-1))!important;margin-left:calc(-1*var(--bs-spacer-1))!important}.mx-lg-n2{margin-right:calc(-1*var(--bs-spacer-2))!important;margin-left:calc(-1*var(--bs-spacer-2))!important}.mx-lg-n3{margin-right:calc(-1*var(--bs-spacer-3))!important;margin-left:calc(-1*var(--bs-spacer-3))!important}.mx-lg-n4{margin-right:calc(-1*var(--bs-spacer-4))!important;margin-left:calc(-1*var(--bs-spacer-4))!important}.mx-lg-n5{margin-right:calc(-1*var(--bs-spacer-5))!important;margin-left:calc(-1*var(--bs-spacer-5))!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:var(--bs-spacer-1)!important;margin-bottom:var(--bs-spacer-1)!important}.my-lg-2{margin-top:var(--bs-spacer-2)!important;margin-bottom:var(--bs-spacer-2)!important}.my-lg-3{margin-top:var(--bs-spacer-3)!important;margin-bottom:var(--bs-spacer-3)!important}.my-lg-4{margin-top:var(--bs-spacer-4)!important;margin-bottom:var(--bs-spacer-4)!important}.my-lg-5{margin-top:var(--bs-spacer-5)!important;margin-bottom:var(--bs-spacer-5)!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.my-lg-n1{margin-top:calc(-1*var(--bs-spacer-1))!important;margin-bottom:calc(-1*var(--bs-spacer-1))!important}.my-lg-n2{margin-top:calc(-1*var(--bs-spacer-2))!important;margin-bottom:calc(-1*var(--bs-spacer-2))!important}.my-lg-n3{margin-top:calc(-1*var(--bs-spacer-3))!important;margin-bottom:calc(-1*var(--bs-spacer-3))!important}.my-lg-n4{margin-top:calc(-1*var(--bs-spacer-4))!important;margin-bottom:calc(-1*var(--bs-spacer-4))!important}.my-lg-n5{margin-top:calc(-1*var(--bs-spacer-5))!important;margin-bottom:calc(-1*var(--bs-spacer-5))!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:var(--bs-spacer-1)!important}.mt-lg-2{margin-top:var(--bs-spacer-2)!important}.mt-lg-3{margin-top:var(--bs-spacer-3)!important}.mt-lg-4{margin-top:var(--bs-spacer-4)!important}.mt-lg-5{margin-top:var(--bs-spacer-5)!important}.mt-lg-auto{margin-top:auto!important}.mt-lg-n1{margin-top:calc(-1*var(--bs-spacer-1))!important}.mt-lg-n2{margin-top:calc(-1*var(--bs-spacer-2))!important}.mt-lg-n3{margin-top:calc(-1*var(--bs-spacer-3))!important}.mt-lg-n4{margin-top:calc(-1*var(--bs-spacer-4))!important}.mt-lg-n5{margin-top:calc(-1*var(--bs-spacer-5))!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:var(--bs-spacer-1)!important}.me-lg-2{margin-right:var(--bs-spacer-2)!important}.me-lg-3{margin-right:var(--bs-spacer-3)!important}.me-lg-4{margin-right:var(--bs-spacer-4)!important}.me-lg-5{margin-right:var(--bs-spacer-5)!important}.me-lg-auto{margin-right:auto!important}.me-lg-n1{margin-right:calc(-1*var(--bs-spacer-1))!important}.me-lg-n2{margin-right:calc(-1*var(--bs-spacer-2))!important}.me-lg-n3{margin-right:calc(-1*var(--bs-spacer-3))!important}.me-lg-n4{margin-right:calc(-1*var(--bs-spacer-4))!important}.me-lg-n5{margin-right:calc(-1*var(--bs-spacer-5))!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:var(--bs-spacer-1)!important}.mb-lg-2{margin-bottom:var(--bs-spacer-2)!important}.mb-lg-3{margin-bottom:var(--bs-spacer-3)!important}.mb-lg-4{margin-bottom:var(--bs-spacer-4)!important}.mb-lg-5{margin-bottom:var(--bs-spacer-5)!important}.mb-lg-auto{margin-bottom:auto!important}.mb-lg-n1{margin-bottom:calc(-1*var(--bs-spacer-1))!important}.mb-lg-n2{margin-bottom:calc(-1*var(--bs-spacer-2))!important}.mb-lg-n3{margin-bottom:calc(-1*var(--bs-spacer-3))!important}.mb-lg-n4{margin-bottom:calc(-1*var(--bs-spacer-4))!important}.mb-lg-n5{margin-bottom:calc(-1*var(--bs-spacer-5))!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:var(--bs-spacer-1)!important}.ms-lg-2{margin-left:var(--bs-spacer-2)!important}.ms-lg-3{margin-left:var(--bs-spacer-3)!important}.ms-lg-4{margin-left:var(--bs-spacer-4)!important}.ms-lg-5{margin-left:var(--bs-spacer-5)!important}.ms-lg-auto{margin-left:auto!important}.ms-lg-n1{margin-left:calc(-1*var(--bs-spacer-1))!important}.ms-lg-n2{margin-left:calc(-1*var(--bs-spacer-2))!important}.ms-lg-n3{margin-left:calc(-1*var(--bs-spacer-3))!important}.ms-lg-n4{margin-left:calc(-1*var(--bs-spacer-4))!important}.ms-lg-n5{margin-left:calc(-1*var(--bs-spacer-5))!important}.p-lg-0{padding:0!important}.p-lg-1{padding:var(--bs-spacer-1)!important}.p-lg-2{padding:var(--bs-spacer-2)!important}.p-lg-3{padding:var(--bs-spacer-3)!important}.p-lg-4{padding:var(--bs-spacer-4)!important}.p-lg-5{padding:var(--bs-spacer-5)!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:var(--bs-spacer-1)!important;padding-left:var(--bs-spacer-1)!important}.px-lg-2{padding-right:var(--bs-spacer-2)!important;padding-left:var(--bs-spacer-2)!important}.px-lg-3{padding-right:var(--bs-spacer-3)!important;padding-left:var(--bs-spacer-3)!important}.px-lg-4{padding-right:var(--bs-spacer-4)!important;padding-left:var(--bs-spacer-4)!important}.px-lg-5{padding-right:var(--bs-spacer-5)!important;padding-left:var(--bs-spacer-5)!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:var(--bs-spacer-1)!important;padding-bottom:var(--bs-spacer-1)!important}.py-lg-2{padding-top:var(--bs-spacer-2)!important;padding-bottom:var(--bs-spacer-2)!important}.py-lg-3{padding-top:var(--bs-spacer-3)!important;padding-bottom:var(--bs-spacer-3)!important}.py-lg-4{padding-top:var(--bs-spacer-4)!important;padding-bottom:var(--bs-spacer-4)!important}.py-lg-5{padding-top:var(--bs-spacer-5)!important;padding-bottom:var(--bs-spacer-5)!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:var(--bs-spacer-1)!important}.pt-lg-2{padding-top:var(--bs-spacer-2)!important}.pt-lg-3{padding-top:var(--bs-spacer-3)!important}.pt-lg-4{padding-top:var(--bs-spacer-4)!important}.pt-lg-5{padding-top:var(--bs-spacer-5)!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:var(--bs-spacer-1)!important}.pe-lg-2{padding-right:var(--bs-spacer-2)!important}.pe-lg-3{padding-right:var(--bs-spacer-3)!important}.pe-lg-4{padding-right:var(--bs-spacer-4)!important}.pe-lg-5{padding-right:var(--bs-spacer-5)!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:var(--bs-spacer-1)!important}.pb-lg-2{padding-bottom:var(--bs-spacer-2)!important}.pb-lg-3{padding-bottom:var(--bs-spacer-3)!important}.pb-lg-4{padding-bottom:var(--bs-spacer-4)!important}.pb-lg-5{padding-bottom:var(--bs-spacer-5)!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:var(--bs-spacer-1)!important}.ps-lg-2{padding-left:var(--bs-spacer-2)!important}.ps-lg-3{padding-left:var(--bs-spacer-3)!important}.ps-lg-4{padding-left:var(--bs-spacer-4)!important}.ps-lg-5{padding-left:var(--bs-spacer-5)!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:var(--bs-spacer-1)!important}.gap-lg-2{gap:var(--bs-spacer-2)!important}.gap-lg-3{gap:var(--bs-spacer-3)!important}.gap-lg-4{gap:var(--bs-spacer-4)!important}.gap-lg-5{gap:var(--bs-spacer-5)!important}.row-gap-lg-0{gap:0!important}.row-gap-lg-1{row-gap:var(--bs-spacer-1)!important}.row-gap-lg-2{row-gap:var(--bs-spacer-2)!important}.row-gap-lg-3{row-gap:var(--bs-spacer-3)!important}.row-gap-lg-4{row-gap:var(--bs-spacer-4)!important}.row-gap-lg-5{row-gap:var(--bs-spacer-5)!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:var(--bs-spacer-1)!important;column-gap:var(--bs-spacer-1)!important}.column-gap-lg-2{-moz-column-gap:var(--bs-spacer-2)!important;column-gap:var(--bs-spacer-2)!important}.column-gap-lg-3{-moz-column-gap:var(--bs-spacer-3)!important;column-gap:var(--bs-spacer-3)!important}.column-gap-lg-4{-moz-column-gap:var(--bs-spacer-4)!important;column-gap:var(--bs-spacer-4)!important}.column-gap-lg-5{-moz-column-gap:var(--bs-spacer-5)!important;column-gap:var(--bs-spacer-5)!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.m-xl-1{margin:var(--bs-spacer-1)!important}.m-xl-2{margin:var(--bs-spacer-2)!important}.m-xl-3{margin:var(--bs-spacer-3)!important}.m-xl-4{margin:var(--bs-spacer-4)!important}.m-xl-5{margin:var(--bs-spacer-5)!important}.m-xl-auto{margin:auto!important}.m-xl-n1{margin:calc(-1*var(--bs-spacer-1))!important}.m-xl-n2{margin:calc(-1*var(--bs-spacer-2))!important}.m-xl-n3{margin:calc(-1*var(--bs-spacer-3))!important}.m-xl-n4{margin:calc(-1*var(--bs-spacer-4))!important}.m-xl-n5{margin:calc(-1*var(--bs-spacer-5))!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:var(--bs-spacer-1)!important;margin-left:var(--bs-spacer-1)!important}.mx-xl-2{margin-right:var(--bs-spacer-2)!important;margin-left:var(--bs-spacer-2)!important}.mx-xl-3{margin-right:var(--bs-spacer-3)!important;margin-left:var(--bs-spacer-3)!important}.mx-xl-4{margin-right:var(--bs-spacer-4)!important;margin-left:var(--bs-spacer-4)!important}.mx-xl-5{margin-right:var(--bs-spacer-5)!important;margin-left:var(--bs-spacer-5)!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.mx-xl-n1{margin-right:calc(-1*var(--bs-spacer-1))!important;margin-left:calc(-1*var(--bs-spacer-1))!important}.mx-xl-n2{margin-right:calc(-1*var(--bs-spacer-2))!important;margin-left:calc(-1*var(--bs-spacer-2))!important}.mx-xl-n3{margin-right:calc(-1*var(--bs-spacer-3))!important;margin-left:calc(-1*var(--bs-spacer-3))!important}.mx-xl-n4{margin-right:calc(-1*var(--bs-spacer-4))!important;margin-left:calc(-1*var(--bs-spacer-4))!important}.mx-xl-n5{margin-right:calc(-1*var(--bs-spacer-5))!important;margin-left:calc(-1*var(--bs-spacer-5))!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:var(--bs-spacer-1)!important;margin-bottom:var(--bs-spacer-1)!important}.my-xl-2{margin-top:var(--bs-spacer-2)!important;margin-bottom:var(--bs-spacer-2)!important}.my-xl-3{margin-top:var(--bs-spacer-3)!important;margin-bottom:var(--bs-spacer-3)!important}.my-xl-4{margin-top:var(--bs-spacer-4)!important;margin-bottom:var(--bs-spacer-4)!important}.my-xl-5{margin-top:var(--bs-spacer-5)!important;margin-bottom:var(--bs-spacer-5)!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.my-xl-n1{margin-top:calc(-1*var(--bs-spacer-1))!important;margin-bottom:calc(-1*var(--bs-spacer-1))!important}.my-xl-n2{margin-top:calc(-1*var(--bs-spacer-2))!important;margin-bottom:calc(-1*var(--bs-spacer-2))!important}.my-xl-n3{margin-top:calc(-1*var(--bs-spacer-3))!important;margin-bottom:calc(-1*var(--bs-spacer-3))!important}.my-xl-n4{margin-top:calc(-1*var(--bs-spacer-4))!important;margin-bottom:calc(-1*var(--bs-spacer-4))!important}.my-xl-n5{margin-top:calc(-1*var(--bs-spacer-5))!important;margin-bottom:calc(-1*var(--bs-spacer-5))!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:var(--bs-spacer-1)!important}.mt-xl-2{margin-top:var(--bs-spacer-2)!important}.mt-xl-3{margin-top:var(--bs-spacer-3)!important}.mt-xl-4{margin-top:var(--bs-spacer-4)!important}.mt-xl-5{margin-top:var(--bs-spacer-5)!important}.mt-xl-auto{margin-top:auto!important}.mt-xl-n1{margin-top:calc(-1*var(--bs-spacer-1))!important}.mt-xl-n2{margin-top:calc(-1*var(--bs-spacer-2))!important}.mt-xl-n3{margin-top:calc(-1*var(--bs-spacer-3))!important}.mt-xl-n4{margin-top:calc(-1*var(--bs-spacer-4))!important}.mt-xl-n5{margin-top:calc(-1*var(--bs-spacer-5))!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:var(--bs-spacer-1)!important}.me-xl-2{margin-right:var(--bs-spacer-2)!important}.me-xl-3{margin-right:var(--bs-spacer-3)!important}.me-xl-4{margin-right:var(--bs-spacer-4)!important}.me-xl-5{margin-right:var(--bs-spacer-5)!important}.me-xl-auto{margin-right:auto!important}.me-xl-n1{margin-right:calc(-1*var(--bs-spacer-1))!important}.me-xl-n2{margin-right:calc(-1*var(--bs-spacer-2))!important}.me-xl-n3{margin-right:calc(-1*var(--bs-spacer-3))!important}.me-xl-n4{margin-right:calc(-1*var(--bs-spacer-4))!important}.me-xl-n5{margin-right:calc(-1*var(--bs-spacer-5))!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:var(--bs-spacer-1)!important}.mb-xl-2{margin-bottom:var(--bs-spacer-2)!important}.mb-xl-3{margin-bottom:var(--bs-spacer-3)!important}.mb-xl-4{margin-bottom:var(--bs-spacer-4)!important}.mb-xl-5{margin-bottom:var(--bs-spacer-5)!important}.mb-xl-auto{margin-bottom:auto!important}.mb-xl-n1{margin-bottom:calc(-1*var(--bs-spacer-1))!important}.mb-xl-n2{margin-bottom:calc(-1*var(--bs-spacer-2))!important}.mb-xl-n3{margin-bottom:calc(-1*var(--bs-spacer-3))!important}.mb-xl-n4{margin-bottom:calc(-1*var(--bs-spacer-4))!important}.mb-xl-n5{margin-bottom:calc(-1*var(--bs-spacer-5))!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:var(--bs-spacer-1)!important}.ms-xl-2{margin-left:var(--bs-spacer-2)!important}.ms-xl-3{margin-left:var(--bs-spacer-3)!important}.ms-xl-4{margin-left:var(--bs-spacer-4)!important}.ms-xl-5{margin-left:var(--bs-spacer-5)!important}.ms-xl-auto{margin-left:auto!important}.ms-xl-n1{margin-left:calc(-1*var(--bs-spacer-1))!important}.ms-xl-n2{margin-left:calc(-1*var(--bs-spacer-2))!important}.ms-xl-n3{margin-left:calc(-1*var(--bs-spacer-3))!important}.ms-xl-n4{margin-left:calc(-1*var(--bs-spacer-4))!important}.ms-xl-n5{margin-left:calc(-1*var(--bs-spacer-5))!important}.p-xl-0{padding:0!important}.p-xl-1{padding:var(--bs-spacer-1)!important}.p-xl-2{padding:var(--bs-spacer-2)!important}.p-xl-3{padding:var(--bs-spacer-3)!important}.p-xl-4{padding:var(--bs-spacer-4)!important}.p-xl-5{padding:var(--bs-spacer-5)!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:var(--bs-spacer-1)!important;padding-left:var(--bs-spacer-1)!important}.px-xl-2{padding-right:var(--bs-spacer-2)!important;padding-left:var(--bs-spacer-2)!important}.px-xl-3{padding-right:var(--bs-spacer-3)!important;padding-left:var(--bs-spacer-3)!important}.px-xl-4{padding-right:var(--bs-spacer-4)!important;padding-left:var(--bs-spacer-4)!important}.px-xl-5{padding-right:var(--bs-spacer-5)!important;padding-left:var(--bs-spacer-5)!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:var(--bs-spacer-1)!important;padding-bottom:var(--bs-spacer-1)!important}.py-xl-2{padding-top:var(--bs-spacer-2)!important;padding-bottom:var(--bs-spacer-2)!important}.py-xl-3{padding-top:var(--bs-spacer-3)!important;padding-bottom:var(--bs-spacer-3)!important}.py-xl-4{padding-top:var(--bs-spacer-4)!important;padding-bottom:var(--bs-spacer-4)!important}.py-xl-5{padding-top:var(--bs-spacer-5)!important;padding-bottom:var(--bs-spacer-5)!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:var(--bs-spacer-1)!important}.pt-xl-2{padding-top:var(--bs-spacer-2)!important}.pt-xl-3{padding-top:var(--bs-spacer-3)!important}.pt-xl-4{padding-top:var(--bs-spacer-4)!important}.pt-xl-5{padding-top:var(--bs-spacer-5)!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:var(--bs-spacer-1)!important}.pe-xl-2{padding-right:var(--bs-spacer-2)!important}.pe-xl-3{padding-right:var(--bs-spacer-3)!important}.pe-xl-4{padding-right:var(--bs-spacer-4)!important}.pe-xl-5{padding-right:var(--bs-spacer-5)!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:var(--bs-spacer-1)!important}.pb-xl-2{padding-bottom:var(--bs-spacer-2)!important}.pb-xl-3{padding-bottom:var(--bs-spacer-3)!important}.pb-xl-4{padding-bottom:var(--bs-spacer-4)!important}.pb-xl-5{padding-bottom:var(--bs-spacer-5)!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:var(--bs-spacer-1)!important}.ps-xl-2{padding-left:var(--bs-spacer-2)!important}.ps-xl-3{padding-left:var(--bs-spacer-3)!important}.ps-xl-4{padding-left:var(--bs-spacer-4)!important}.ps-xl-5{padding-left:var(--bs-spacer-5)!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:var(--bs-spacer-1)!important}.gap-xl-2{gap:var(--bs-spacer-2)!important}.gap-xl-3{gap:var(--bs-spacer-3)!important}.gap-xl-4{gap:var(--bs-spacer-4)!important}.gap-xl-5{gap:var(--bs-spacer-5)!important}.row-gap-xl-0{gap:0!important}.row-gap-xl-1{row-gap:var(--bs-spacer-1)!important}.row-gap-xl-2{row-gap:var(--bs-spacer-2)!important}.row-gap-xl-3{row-gap:var(--bs-spacer-3)!important}.row-gap-xl-4{row-gap:var(--bs-spacer-4)!important}.row-gap-xl-5{row-gap:var(--bs-spacer-5)!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:var(--bs-spacer-1)!important;column-gap:var(--bs-spacer-1)!important}.column-gap-xl-2{-moz-column-gap:var(--bs-spacer-2)!important;column-gap:var(--bs-spacer-2)!important}.column-gap-xl-3{-moz-column-gap:var(--bs-spacer-3)!important;column-gap:var(--bs-spacer-3)!important}.column-gap-xl-4{-moz-column-gap:var(--bs-spacer-4)!important;column-gap:var(--bs-spacer-4)!important}.column-gap-xl-5{-moz-column-gap:var(--bs-spacer-5)!important;column-gap:var(--bs-spacer-5)!important}}@media (min-width:1400px){.m-xxl-0{margin:0!important}.m-xxl-1{margin:var(--bs-spacer-1)!important}.m-xxl-2{margin:var(--bs-spacer-2)!important}.m-xxl-3{margin:var(--bs-spacer-3)!important}.m-xxl-4{margin:var(--bs-spacer-4)!important}.m-xxl-5{margin:var(--bs-spacer-5)!important}.m-xxl-auto{margin:auto!important}.m-xxl-n1{margin:calc(-1*var(--bs-spacer-1))!important}.m-xxl-n2{margin:calc(-1*var(--bs-spacer-2))!important}.m-xxl-n3{margin:calc(-1*var(--bs-spacer-3))!important}.m-xxl-n4{margin:calc(-1*var(--bs-spacer-4))!important}.m-xxl-n5{margin:calc(-1*var(--bs-spacer-5))!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:var(--bs-spacer-1)!important;margin-left:var(--bs-spacer-1)!important}.mx-xxl-2{margin-right:var(--bs-spacer-2)!important;margin-left:var(--bs-spacer-2)!important}.mx-xxl-3{margin-right:var(--bs-spacer-3)!important;margin-left:var(--bs-spacer-3)!important}.mx-xxl-4{margin-right:var(--bs-spacer-4)!important;margin-left:var(--bs-spacer-4)!important}.mx-xxl-5{margin-right:var(--bs-spacer-5)!important;margin-left:var(--bs-spacer-5)!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.mx-xxl-n1{margin-right:calc(-1*var(--bs-spacer-1))!important;margin-left:calc(-1*var(--bs-spacer-1))!important}.mx-xxl-n2{margin-right:calc(-1*var(--bs-spacer-2))!important;margin-left:calc(-1*var(--bs-spacer-2))!important}.mx-xxl-n3{margin-right:calc(-1*var(--bs-spacer-3))!important;margin-left:calc(-1*var(--bs-spacer-3))!important}.mx-xxl-n4{margin-right:calc(-1*var(--bs-spacer-4))!important;margin-left:calc(-1*var(--bs-spacer-4))!important}.mx-xxl-n5{margin-right:calc(-1*var(--bs-spacer-5))!important;margin-left:calc(-1*var(--bs-spacer-5))!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:var(--bs-spacer-1)!important;margin-bottom:var(--bs-spacer-1)!important}.my-xxl-2{margin-top:var(--bs-spacer-2)!important;margin-bottom:var(--bs-spacer-2)!important}.my-xxl-3{margin-top:var(--bs-spacer-3)!important;margin-bottom:var(--bs-spacer-3)!important}.my-xxl-4{margin-top:var(--bs-spacer-4)!important;margin-bottom:var(--bs-spacer-4)!important}.my-xxl-5{margin-top:var(--bs-spacer-5)!important;margin-bottom:var(--bs-spacer-5)!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.my-xxl-n1{margin-top:calc(-1*var(--bs-spacer-1))!important;margin-bottom:calc(-1*var(--bs-spacer-1))!important}.my-xxl-n2{margin-top:calc(-1*var(--bs-spacer-2))!important;margin-bottom:calc(-1*var(--bs-spacer-2))!important}.my-xxl-n3{margin-top:calc(-1*var(--bs-spacer-3))!important;margin-bottom:calc(-1*var(--bs-spacer-3))!important}.my-xxl-n4{margin-top:calc(-1*var(--bs-spacer-4))!important;margin-bottom:calc(-1*var(--bs-spacer-4))!important}.my-xxl-n5{margin-top:calc(-1*var(--bs-spacer-5))!important;margin-bottom:calc(-1*var(--bs-spacer-5))!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:var(--bs-spacer-1)!important}.mt-xxl-2{margin-top:var(--bs-spacer-2)!important}.mt-xxl-3{margin-top:var(--bs-spacer-3)!important}.mt-xxl-4{margin-top:var(--bs-spacer-4)!important}.mt-xxl-5{margin-top:var(--bs-spacer-5)!important}.mt-xxl-auto{margin-top:auto!important}.mt-xxl-n1{margin-top:calc(-1*var(--bs-spacer-1))!important}.mt-xxl-n2{margin-top:calc(-1*var(--bs-spacer-2))!important}.mt-xxl-n3{margin-top:calc(-1*var(--bs-spacer-3))!important}.mt-xxl-n4{margin-top:calc(-1*var(--bs-spacer-4))!important}.mt-xxl-n5{margin-top:calc(-1*var(--bs-spacer-5))!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:var(--bs-spacer-1)!important}.me-xxl-2{margin-right:var(--bs-spacer-2)!important}.me-xxl-3{margin-right:var(--bs-spacer-3)!important}.me-xxl-4{margin-right:var(--bs-spacer-4)!important}.me-xxl-5{margin-right:var(--bs-spacer-5)!important}.me-xxl-auto{margin-right:auto!important}.me-xxl-n1{margin-right:calc(-1*var(--bs-spacer-1))!important}.me-xxl-n2{margin-right:calc(-1*var(--bs-spacer-2))!important}.me-xxl-n3{margin-right:calc(-1*var(--bs-spacer-3))!important}.me-xxl-n4{margin-right:calc(-1*var(--bs-spacer-4))!important}.me-xxl-n5{margin-right:calc(-1*var(--bs-spacer-5))!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:var(--bs-spacer-1)!important}.mb-xxl-2{margin-bottom:var(--bs-spacer-2)!important}.mb-xxl-3{margin-bottom:var(--bs-spacer-3)!important}.mb-xxl-4{margin-bottom:var(--bs-spacer-4)!important}.mb-xxl-5{margin-bottom:var(--bs-spacer-5)!important}.mb-xxl-auto{margin-bottom:auto!important}.mb-xxl-n1{margin-bottom:calc(-1*var(--bs-spacer-1))!important}.mb-xxl-n2{margin-bottom:calc(-1*var(--bs-spacer-2))!important}.mb-xxl-n3{margin-bottom:calc(-1*var(--bs-spacer-3))!important}.mb-xxl-n4{margin-bottom:calc(-1*var(--bs-spacer-4))!important}.mb-xxl-n5{margin-bottom:calc(-1*var(--bs-spacer-5))!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:var(--bs-spacer-1)!important}.ms-xxl-2{margin-left:var(--bs-spacer-2)!important}.ms-xxl-3{margin-left:var(--bs-spacer-3)!important}.ms-xxl-4{margin-left:var(--bs-spacer-4)!important}.ms-xxl-5{margin-left:var(--bs-spacer-5)!important}.ms-xxl-auto{margin-left:auto!important}.ms-xxl-n1{margin-left:calc(-1*var(--bs-spacer-1))!important}.ms-xxl-n2{margin-left:calc(-1*var(--bs-spacer-2))!important}.ms-xxl-n3{margin-left:calc(-1*var(--bs-spacer-3))!important}.ms-xxl-n4{margin-left:calc(-1*var(--bs-spacer-4))!important}.ms-xxl-n5{margin-left:calc(-1*var(--bs-spacer-5))!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:var(--bs-spacer-1)!important}.p-xxl-2{padding:var(--bs-spacer-2)!important}.p-xxl-3{padding:var(--bs-spacer-3)!important}.p-xxl-4{padding:var(--bs-spacer-4)!important}.p-xxl-5{padding:var(--bs-spacer-5)!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:var(--bs-spacer-1)!important;padding-left:var(--bs-spacer-1)!important}.px-xxl-2{padding-right:var(--bs-spacer-2)!important;padding-left:var(--bs-spacer-2)!important}.px-xxl-3{padding-right:var(--bs-spacer-3)!important;padding-left:var(--bs-spacer-3)!important}.px-xxl-4{padding-right:var(--bs-spacer-4)!important;padding-left:var(--bs-spacer-4)!important}.px-xxl-5{padding-right:var(--bs-spacer-5)!important;padding-left:var(--bs-spacer-5)!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:var(--bs-spacer-1)!important;padding-bottom:var(--bs-spacer-1)!important}.py-xxl-2{padding-top:var(--bs-spacer-2)!important;padding-bottom:var(--bs-spacer-2)!important}.py-xxl-3{padding-top:var(--bs-spacer-3)!important;padding-bottom:var(--bs-spacer-3)!important}.py-xxl-4{padding-top:var(--bs-spacer-4)!important;padding-bottom:var(--bs-spacer-4)!important}.py-xxl-5{padding-top:var(--bs-spacer-5)!important;padding-bottom:var(--bs-spacer-5)!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:var(--bs-spacer-1)!important}.pt-xxl-2{padding-top:var(--bs-spacer-2)!important}.pt-xxl-3{padding-top:var(--bs-spacer-3)!important}.pt-xxl-4{padding-top:var(--bs-spacer-4)!important}.pt-xxl-5{padding-top:var(--bs-spacer-5)!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:var(--bs-spacer-1)!important}.pe-xxl-2{padding-right:var(--bs-spacer-2)!important}.pe-xxl-3{padding-right:var(--bs-spacer-3)!important}.pe-xxl-4{padding-right:var(--bs-spacer-4)!important}.pe-xxl-5{padding-right:var(--bs-spacer-5)!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:var(--bs-spacer-1)!important}.pb-xxl-2{padding-bottom:var(--bs-spacer-2)!important}.pb-xxl-3{padding-bottom:var(--bs-spacer-3)!important}.pb-xxl-4{padding-bottom:var(--bs-spacer-4)!important}.pb-xxl-5{padding-bottom:var(--bs-spacer-5)!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:var(--bs-spacer-1)!important}.ps-xxl-2{padding-left:var(--bs-spacer-2)!important}.ps-xxl-3{padding-left:var(--bs-spacer-3)!important}.ps-xxl-4{padding-left:var(--bs-spacer-4)!important}.ps-xxl-5{padding-left:var(--bs-spacer-5)!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:var(--bs-spacer-1)!important}.gap-xxl-2{gap:var(--bs-spacer-2)!important}.gap-xxl-3{gap:var(--bs-spacer-3)!important}.gap-xxl-4{gap:var(--bs-spacer-4)!important}.gap-xxl-5{gap:var(--bs-spacer-5)!important}.row-gap-xxl-0{gap:0!important}.row-gap-xxl-1{row-gap:var(--bs-spacer-1)!important}.row-gap-xxl-2{row-gap:var(--bs-spacer-2)!important}.row-gap-xxl-3{row-gap:var(--bs-spacer-3)!important}.row-gap-xxl-4{row-gap:var(--bs-spacer-4)!important}.row-gap-xxl-5{row-gap:var(--bs-spacer-5)!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:var(--bs-spacer-1)!important;column-gap:var(--bs-spacer-1)!important}.column-gap-xxl-2{-moz-column-gap:var(--bs-spacer-2)!important;column-gap:var(--bs-spacer-2)!important}.column-gap-xxl-3{-moz-column-gap:var(--bs-spacer-3)!important;column-gap:var(--bs-spacer-3)!important}.column-gap-xxl-4{-moz-column-gap:var(--bs-spacer-4)!important;column-gap:var(--bs-spacer-4)!important}.column-gap-xxl-5{-moz-column-gap:var(--bs-spacer-5)!important;column-gap:var(--bs-spacer-5)!important}}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc((var(--bs-font-size-base) + .4875rem) + 1.5vw)!important}.fs-2{font-size:calc((var(--bs-font-size-base) + .4375rem) + .9vw)!important}.fs-3{font-size:calc((var(--bs-font-size-base) + .4rem) + .6vw)!important}.fs-4{font-size:calc((var(--bs-font-size-base) + .375rem) + .3vw)!important}.fs-5{font-size:1.125rem!important}.fs-6{font-size:.875rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:var(--bs-font-weight-lighter)!important}.fw-light{font-weight:var(--bs-font-weight-light)!important}.fw-normal{font-weight:var(--bs-font-weight-normal)!important}.fw-medium{font-weight:var(--bs-font-weight-medium)!important}.fw-semibold{font-weight:var(--bs-font-weight-semibold)!important}.fw-bold{font-weight:var(--bs-font-weight-bold)!important}.fw-bolder{font-weight:var(--bs-font-weight-bolder)!important}.lh-1{line-height:1!important}.lh-sm{line-height:var(--bs-line-height-sm)!important}.lh-base{line-height:var(--bs-line-height-base)!important}.lh-lg{line-height:var(--bs-line-height-lg)!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.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){.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){.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){.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){.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-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}.antialiased{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.subpixel-antialiased{-webkit-font-smoothing:auto!important;-moz-osx-font-smoothing:auto!important}.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}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.z-sm-n1{z-index:-1!important}.z-sm-0{z-index:0!important}.z-sm-1{z-index:1!important}.z-sm-2{z-index:2!important}.z-sm-3{z-index:3!important}}@media (min-width:768px){.z-md-n1{z-index:-1!important}.z-md-0{z-index:0!important}.z-md-1{z-index:1!important}.z-md-2{z-index:2!important}.z-md-3{z-index:3!important}}@media (min-width:992px){.z-lg-n1{z-index:-1!important}.z-lg-0{z-index:0!important}.z-lg-1{z-index:1!important}.z-lg-2{z-index:2!important}.z-lg-3{z-index:3!important}}@media (min-width:1200px){.z-xl-n1{z-index:-1!important}.z-xl-0{z-index:0!important}.z-xl-1{z-index:1!important}.z-xl-2{z-index:2!important}.z-xl-3{z-index:3!important}}@media (min-width:1400px){.z-xxl-n1{z-index:-1!important}.z-xxl-0{z-index:0!important}.z-xxl-1{z-index:1!important}.z-xxl-2{z-index:2!important}.z-xxl-3{z-index:3!important}} +/*# sourceMappingURL=halfmoon.min.css.map */ \ No newline at end of file diff --git a/modules/analyze/html/external/halfmoon-ui/halfmoon.min.css.map b/modules/analyze/html/external/halfmoon-ui/halfmoon.min.css.map new file mode 100644 index 0000000..10c1421 --- /dev/null +++ b/modules/analyze/html/external/halfmoon-ui/halfmoon.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["css/halfmoon.css"],"names":[],"mappings":"AAAA,iB;;;;;;;;;;;;;;;;;;;;AA2hPA,gCACC,E,CACC,+BA6iDF,A,0BACC,E,CACC,0BAqBF,A,wBACC,E,CACC,kB,CAGD,G,CACC,S,CACA,gBAwyBF,A,4BACC,G,CACC,YAsBF,A,4BACC,E,CACC,4B,CACA,sBA94TF,K,CACA,qB,CACC,qP,CACG,oP,CAEA,2O,CACA,0O,CAEA,0J,CACA,yJ,CAEA,2J,CACA,0J,CACA,kK,CAGJ,oB,CACI,kK,CASJ,K,CACA,qB,CAGC,wB,CACA,mC,CAIA,0B,CACA,mC,CAIA,oB,CACA,4B,CAEA,iB,CACA,wB,CAEA,gB,CACA,uB,CAEA,iB,CACA,uB,CAEA,oB,CACA,2B,CAEA,oB,CACA,0B,CAEA,iB,CACA,uB,CAEA,kB,CACA,0B,CAIA,wC,CACA,sD,CACA,qF,CACA,mF,CACA,qF,CACA,mF,CACA,qF,CACA,mF,CACA,mF,CACA,mF,CACA,mF,CACA,mD,CACA,mD,CACA,mD,CACA,mD,CACA,mD,CACA,mD,CACA,mD,CACA,mD,CACA,mD,CACA,8C,CACA,2C,CACA,0F,CACA,iE,CACA,4D,CACA,uE,CACA,+C,CACA,gD,CACA,4F,CACA,oD,CACA,uD,CACA,+C,CACA,iD,CACA,mD,CAIA,qC,CACA,mD,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,oC,CACA,iC,CACA,4C,CACA,uD,CACA,kD,CACA,6D,CACA,qC,CACA,sC,CACA,2E,CACA,0C,CACA,mD,CACA,2C,CACA,6C,CACA,+C,CAIA,qC,CACA,mD,CACA,gF,CACA,gF,CACA,gF,CACA,gF,CACA,gF,CACA,gF,CACA,gF,CACA,gF,CACA,kF,CACA,iD,CACA,iD,CACA,iD,CACA,iD,CACA,iD,CACA,iD,CACA,iD,CACA,iD,CACA,iD,CACA,4C,CACA,yC,CACA,gD,CACA,+D,CACA,0D,CACA,qE,CACA,6C,CACA,8C,CACA,uF,CACA,kD,CACA,uD,CACA,+C,CACA,iD,CACA,mD,CAIA,qC,CACA,mD,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,sC,CACA,mC,CACA,6C,CACA,yD,CACA,oD,CACA,+D,CACA,uC,CACA,wC,CACA,8E,CACA,4C,CACA,oD,CACA,4C,CACA,8C,CACA,gD,CAIA,c,CACA,yB,CACA,iE,CACA,iE,CACA,iE,CACA,iE,CACA,iE,CACA,iE,CACA,iE,CACA,iE,CACA,iE,CACA,uC,CACA,uC,CACA,uC,CACA,uC,CACA,uC,CACA,uC,CACA,uC,CACA,uC,CACA,uC,CACA,kC,CACA,+B,CACA,2C,CACA,qD,CACA,gD,CACA,2D,CACA,mC,CACA,oC,CACA,wE,CACA,wC,CACA,kD,CACA,0C,CACA,4C,CACA,8C,CAIA,kB,CACA,0B,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,sE,CACA,qC,CACA,8C,CACA,2D,CACA,sD,CACA,iE,CACA,yC,CACA,0C,CACA,iF,CACA,8C,CACA,qD,CACA,6C,CACA,+C,CACA,iD,CAIA,kB,CACA,0B,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,wC,CACA,qC,CACA,8C,CACA,2D,CACA,sD,CACA,iE,CACA,yC,CACA,0C,CACA,iF,CACA,8C,CACA,qD,CACA,6C,CACA,+C,CACA,iD,CAIA,iB,CACA,yB,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,sC,CACA,mC,CACA,iD,CACA,yD,CACA,oD,CACA,+D,CACA,uC,CACA,wC,CACA,8E,CACA,4C,CACA,mD,CACA,2C,CACA,6C,CACA,+C,CAIA,kB,CACA,0B,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,wC,CACA,qC,CACA,mD,CACA,2D,CACA,oF,CACA,iE,CACA,yC,CACA,0C,CACA,iF,CACA,8C,CACA,oD,CACA,4C,CACA,8C,CACA,gD,CAIA,gB,CACA,wB,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,oC,CACA,iC,CACA,+C,CACA,uD,CACA,gF,CACA,6D,CACA,qC,CACA,sC,CACA,2E,CACA,0C,CACA,kD,CACA,0C,CACA,4C,CACA,8C,CAIA,kB,CACA,yB,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,mE,CACA,mC,CACA,6C,CACA,yD,CACA,oD,CACA,+D,CACA,uC,CACA,wC,CACA,8E,CACA,4C,CACA,oD,CACA,4C,CACA,8C,CACA,gD,CAIA,oB,CACA,2B,CACA,6E,CACA,6E,CACA,6E,CACA,6E,CACA,6E,CACA,6E,CACA,6E,CACA,6E,CACA,6E,CACA,+C,CACA,+C,CACA,+C,CACA,+C,CACA,+C,CACA,+C,CACA,+C,CACA,+C,CACA,+C,CACA,0C,CACA,uC,CACA,qD,CACA,6D,CACA,yF,CACA,mE,CACA,2C,CACA,4C,CACA,oF,CACA,gD,CACA,qD,CACA,6C,CACA,+C,CACA,iD,CAIA,sB,CACA,6B,CACA,mF,CACA,mF,CACA,mF,CACA,mF,CACA,mF,CACA,mF,CACA,mF,CACA,mF,CACA,mF,CACA,mD,CACA,mD,CACA,mD,CACA,mD,CACA,mD,CACA,mD,CACA,mD,CACA,mD,CACA,mD,CACA,+E,CACA,2C,CACA,iD,CACA,iE,CACA,4D,CACA,uE,CACA,+C,CACA,gD,CACA,0F,CACA,oD,CACA,wD,CACA,gD,CACA,kD,CACA,oD,CAIA,iB,CACA,wB,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,oC,CACA,iC,CACA,+C,CACA,uD,CACA,gF,CACA,6D,CACA,qC,CACA,sC,CACA,2E,CACA,0C,CACA,kD,CACA,0C,CACA,4C,CACA,8C,CAIA,iB,CACA,wB,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,oC,CACA,iC,CACA,+C,CACA,uD,CACA,kD,CACA,6D,CACA,qC,CACA,sC,CACA,2E,CACA,0C,CACA,kD,CACA,0C,CACA,4C,CACA,8C,CAIA,gB,CACA,wB,CACA,iE,CACA,iE,CACA,iE,CACA,iE,CACA,iE,CACA,iE,CACA,iE,CACA,iE,CACA,iE,CACA,uC,CACA,uC,CACA,uC,CACA,uC,CACA,uC,CACA,uC,CACA,uC,CACA,uC,CACA,uC,CACA,kC,CACA,+B,CACA,6C,CACA,qD,CACA,gD,CACA,2D,CACA,mC,CACA,oC,CACA,wE,CACA,wC,CACA,iD,CACA,yC,CACA,2C,CACA,6C,CAIA,iB,CACA,yB,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,oC,CACA,iC,CACA,4C,CACA,uD,CACA,kD,CACA,6D,CACA,qC,CACA,sC,CACA,2E,CACA,0C,CACA,mD,CACA,2C,CACA,6C,CACA,+C,CAIA,iB,CACA,wB,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,oC,CACA,iC,CACA,4C,CACA,uD,CACA,kD,CACA,6D,CACA,qC,CACA,sC,CACA,2E,CACA,0C,CACA,mD,CACA,2C,CACA,6C,CACA,+C,CAIA,mB,CACA,0B,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,wC,CACA,qC,CACA,8C,CACA,2D,CACA,sD,CACA,iE,CACA,yC,CACA,0C,CACA,iF,CACA,8C,CACA,qD,CACA,6C,CACA,+C,CACA,iD,CAIA,mB,CACA,0B,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,wC,CACA,qC,CACA,8C,CACA,2D,CACA,sD,CACA,iE,CACA,yC,CACA,0C,CACA,iF,CACA,8C,CACA,qD,CACA,6C,CACA,+C,CACA,iD,CAIA,mB,CACA,0B,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,wC,CACA,qC,CACA,8C,CACA,2D,CACA,sD,CACA,iE,CACA,yC,CACA,0C,CACA,iF,CACA,8C,CACA,qD,CACA,6C,CACA,+C,CACA,iD,CAIA,oB,CACA,6B,CACA,6E,CACA,6E,CACA,6E,CACA,6E,CACA,6E,CACA,6E,CACA,6E,CACA,6E,CACA,6E,CACA,+C,CACA,+C,CACA,+C,CACA,+C,CACA,+C,CACA,+C,CACA,+C,CACA,+C,CACA,+C,CACA,0C,CACA,uC,CACA,+C,CACA,6D,CACA,wD,CACA,mE,CACA,2C,CACA,4C,CACA,oF,CACA,gD,CACA,sD,CACA,8C,CACA,gD,CACA,kD,CAIA,iB,CACA,wB,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,oC,CACA,iC,CACA,4C,CACA,uD,CACA,kD,CACA,6D,CACA,qC,CACA,sC,CACA,2E,CACA,0C,CACA,mD,CACA,2C,CACA,6C,CACA,+C,CAIA,mC,CACA,iD,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,mC,CACA,mC,CACA,mC,CACA,mC,CACA,mC,CACA,mC,CACA,mC,CACA,mC,CACA,mC,CACA,mC,CACA,2B,CACA,yD,CACA,iD,CACA,+D,CACA,uD,CACA,6C,CACA,+C,CACA,+C,CACA,uD,CACA,qD,CACA,6C,CACA,+C,CACA,iD,CAIA,qC,CACA,mD,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,qC,CACA,qC,CACA,qC,CACA,qC,CACA,qC,CACA,qC,CACA,qC,CACA,qC,CACA,qC,CACA,qC,CACA,6B,CACA,2D,CACA,mD,CACA,iE,CACA,yD,CACA,+C,CACA,iD,CACA,iD,CACA,yD,CACA,uD,CACA,+C,CACA,iD,CACA,mD,CAIA,oC,CACA,kD,CACA,4C,CACA,4C,CACA,4C,CACA,4C,CACA,4C,CACA,4C,CACA,4C,CACA,4C,CACA,4C,CACA,oC,CACA,oC,CACA,oC,CACA,oC,CACA,oC,CACA,oC,CACA,oC,CACA,oC,CACA,oC,CACA,oC,CACA,4B,CACA,0D,CACA,kD,CACA,gE,CACA,wD,CACA,8C,CACA,gD,CACA,gD,CACA,wD,CACA,sD,CACA,8C,CACA,gD,CACA,kD,CAIA,gC,CACA,8C,CACA,wC,CACA,wC,CACA,wC,CACA,wC,CACA,wC,CACA,wC,CACA,wC,CACA,wC,CACA,wC,CACA,gC,CACA,gC,CACA,gC,CACA,gC,CACA,gC,CACA,gC,CACA,gC,CACA,gC,CACA,gC,CACA,gC,CACA,wB,CACA,sD,CACA,8C,CACA,4D,CACA,oD,CACA,0C,CACA,4C,CACA,4C,CACA,oD,CACA,kD,CACA,0C,CACA,4C,CACA,8C,CAIA,qC,CACA,mD,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,qC,CACA,qC,CACA,qC,CACA,qC,CACA,qC,CACA,qC,CACA,qC,CACA,qC,CACA,qC,CACA,qC,CACA,6B,CACA,2D,CACA,mD,CACA,iE,CACA,yD,CACA,+C,CACA,iD,CACA,iD,CACA,yD,CACA,uD,CACA,+C,CACA,iD,CACA,mD,CAIA,iC,CACA,+C,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,yB,CACA,uD,CACA,+C,CACA,6D,CACA,qD,CACA,2C,CACA,6C,CACA,6C,CACA,qD,CACA,mD,CACA,2C,CACA,6C,CACA,+C,CAIA,sC,CACA,oD,CACA,8C,CACA,8C,CACA,8C,CACA,8C,CACA,8C,CACA,8C,CACA,8C,CACA,8C,CACA,8C,CACA,sC,CACA,sC,CACA,sC,CACA,sC,CACA,sC,CACA,sC,CACA,sC,CACA,sC,CACA,sC,CACA,sC,CACA,8B,CACA,4D,CACA,oD,CACA,kE,CACA,0D,CACA,gD,CACA,kD,CACA,kD,CACA,0D,CACA,wD,CACA,gD,CACA,kD,CACA,oD,CAIA,oC,CACA,kD,CACA,4C,CACA,4C,CACA,4C,CACA,4C,CACA,4C,CACA,4C,CACA,4C,CACA,4C,CACA,4C,CACA,oC,CACA,oC,CACA,oC,CACA,oC,CACA,oC,CACA,oC,CACA,oC,CACA,oC,CACA,oC,CACA,oC,CACA,4B,CACA,0D,CACA,kD,CACA,gE,CACA,wD,CACA,8C,CACA,gD,CACA,gD,CACA,wD,CACA,sD,CACA,8C,CACA,gD,CACA,kD,CAGD,oB,CAGC,4D,CACA,uE,CACA,0F,CACA,oD,CAIA,kD,CACA,6D,CACA,2E,CACA,0C,CAIA,0D,CACA,qE,CACA,yF,CACA,kD,CAIA,oD,CACA,+D,CACA,8E,CACA,4C,CAIA,2E,CACA,2D,CACA,gF,CACA,wC,CAIA,sD,CACA,iE,CACA,yF,CACA,8C,CAIA,sD,CACA,iE,CACA,yF,CACA,8C,CAIA,oD,CACA,+D,CACA,sF,CACA,4C,CAIA,sD,CACA,iE,CACA,yF,CACA,8C,CAIA,kD,CACA,6D,CACA,mF,CACA,0C,CAIA,oD,CACA,+D,CACA,sF,CACA,4C,CAIA,wD,CACA,mE,CACA,4F,CACA,gD,CAIA,4D,CACA,uE,CACA,kG,CACA,oD,CAIA,kD,CACA,6D,CACA,mF,CACA,0C,CAIA,kD,CACA,6D,CACA,mF,CACA,0C,CAIA,gD,CACA,2D,CACA,gF,CACA,wC,CAIA,kD,CACA,6D,CACA,mF,CACA,0C,CAIA,kD,CACA,6D,CACA,mF,CACA,0C,CAIA,sD,CACA,iE,CACA,yF,CACA,8C,CAIA,sD,CACA,iE,CACA,yF,CACA,8C,CAIA,sD,CACA,iE,CACA,yF,CACA,8C,CAIA,wD,CACA,mE,CACA,4F,CACA,gD,CAIA,kD,CACA,6D,CACA,mF,CACA,0C,CAIA,+D,CACA,uD,CACA,+C,CACA,uD,CAIA,yC,CACA,uD,CACA,iD,CACA,iD,CACA,iD,CACA,iD,CACA,iD,CACA,iD,CACA,iD,CACA,iD,CACA,iD,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,iC,CACA,+D,CACA,uD,CACA,qE,CACA,6D,CACA,mD,CACA,qD,CACA,qD,CACA,6D,CACA,2D,CACA,mD,CACA,qD,CACA,uD,CAIA,gE,CACA,wD,CACA,gD,CACA,wD,CAIA,4D,CACA,oD,CACA,4C,CACA,oD,CAIA,iE,CACA,yD,CACA,iD,CACA,yD,CAIA,6D,CACA,qD,CACA,6C,CACA,qD,CAIA,iC,CACA,+C,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,yB,CACA,uD,CACA,+C,CACA,6D,CACA,qD,CACA,2C,CACA,6C,CACA,6C,CACA,qD,CACA,mD,CACA,2C,CACA,6C,CACA,+C,CAIA,iC,CACA,+C,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,yB,CACA,uD,CACA,+C,CACA,6D,CACA,qD,CACA,2C,CACA,6C,CACA,6C,CACA,qD,CACA,mD,CACA,2C,CACA,6C,CACA,+C,CASD,K,CACA,qB,CAGC,kB,CAIA,oN,CACA,8K,CACA,wG,CACA,+C,CAIA,4B,CACA,yB,CACA,sB,CACA,0C,CACA,0C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,4C,CACA,2D,CACA,uD,CACA,0D,CACA,yD,CACA,0D,CACA,0C,CAIA,gC,CACA,0B,CACA,2B,CACA,2B,CACA,6B,CACA,yB,CACA,8B,CACA,kD,CACA,mD,CAIA,yB,CACA,wB,CACA,qB,CACA,gD,CACA,4B,CAIA,2C,CACA,0C,CAIA,gB,CACA,2C,CACA,0C,CACA,8B,CACA,0C,CACA,wC,CAIA,iC,CACA,+C,CACA,wE,CACA,6C,CACA,2C,CACA,qD,CACA,6E,CACA,uD,CACA,4E,CACA,qD,CACA,0B,CAIA,oC,CACA,uC,CACA,iD,CACA,iD,CACA,gD,CACA,+C,CACA,oG,CAIA,qB,CACA,0C,CACA,sD,CACA,sD,CACA,sD,CACA,sD,CACA,uB,CACA,yC,CACA,+C,CACA,6C,CACA,6D,CACA,2B,CACA,6B,CACA,4B,CACA,0B,CACA,2B,CACA,kD,CACA,6B,CAIA,qD,CACA,wD,CACA,gE,CACA,yD,CACA,4D,CAIA,6B,CACA,4B,CACA,+E,CAIA,yC,CACA,6C,CACA,8B,CACA,4D,CACA,6D,CACA,yD,CACA,oC,CAIA,uD,CACA,4B,CACA,kD,CACA,8B,CAIA,mF,CACA,mD,CACA,uB,CACA,2C,CACA,kD,CAIA,kC,CACA,yC,CACA,wC,CACA,0B,CACA,iD,CAIA,iC,CACA,iC,CACA,iC,CACA,kC,CACA,mC,CAIA,qB,CACA,wB,CACA,wB,CACA,4C,CAIA,+C,CACA,mD,CACA,yC,CACA,6C,CACA,qD,CACA,4B,CACA,2D,CACA,qE,CACA,qD,CACA,+D,CACA,iE,CACA,2G,CAIA,4B,CACA,6B,CACA,8C,CACA,mC,CACA,iC,CACA,iC,CACA,+C,CACA,sC,CACA,iC,CACA,kC,CACA,+C,CACA,sC,CACA,2E,CACA,8B,CACA,oD,CACA,8C,CACA,4C,CACA,4D,CACA,kD,CACA,+C,CACA,6C,CACA,6D,CACA,8B,CACA,oD,CACA,+C,CACA,+D,CAIA,oC,CACA,gC,CACA,gD,CACA,gD,CACA,oD,CACA,wD,CACA,gD,CACA,wD,CACA,kD,CACA,sE,CACA,qD,CACA,4D,CACA,sD,CACA,6D,CACA,oC,CACA,mD,CACA,oE,CACA,gE,CAIA,qC,CACA,8D,CACA,+D,CACA,iE,CACA,+B,CAIA,2C,CACA,4D,CACA,iC,CACA,iG,CACA,qC,CAGD,oB,CAGC,iB,CAIA,iC,CACA,+C,CACA,wE,CACA,6C,CACA,2C,CACA,qD,CACA,6E,CACA,uD,CACA,4E,CACA,qD,CACA,0B,CAIA,qE,CACA,uC,CACA,4E,CACA,iD,CACA,yE,CACA,+C,CACA,oG,CAIA,oC,CACA,8C,CACA,iF,CACA,6D,CAIA,oD,CACA,wD,CACA,gE,CACA,yD,CACA,4D,CAIA,uD,CACA,6C,CACA,+C,CACA,yD,CAIA,4B,CACA,iD,CAIA,uB,CACA,6C,CAIA,yC,CACA,2B,CAIA,+C,CACA,mD,CACA,6C,CACA,6C,CACA,qD,CACA,4B,CACA,2D,CACA,qE,CACA,mF,CACA,+D,CACA,iE,CACA,0G,CAIA,2E,CACA,kC,CACA,oD,CACA,8C,CACA,wC,CACA,4D,CACA,kD,CACA,+C,CACA,yC,CACA,6D,CACA,8B,CACA,oD,CACA,2C,CACA,+D,CAIA,oC,CACA,gC,CACA,gD,CACA,gD,CACA,oD,CACA,wD,CACA,gD,CACA,wD,CACA,kD,CACA,sE,CACA,qD,CACA,4D,CACA,sD,CACA,6D,CACA,oC,CACA,mD,CACA,oE,CACA,gE,CAIA,qD,CACA,8D,CACA,+D,CACA,iE,CACA,gC,CAIA,qC,CACA,yD,CACA,sD,CACA,kC,CACA,sC,CASD,C,CAEA,O,CADA,Q,CAEC,qB,CAGD,I,CACC,Q,CACA,sC,CACA,kC,CACA,sC,CACA,sC,CACA,0B,CACA,oC,CACA,kC,CACA,2D,CACA,6D,CACA,6B,CACA,yC,CAGD,E,CACC,a,CACA,a,CACA,Q,CACA,uC,CACA,W,CAQG,G,CADA,G,CADA,G,CADA,G,CADA,G,CADA,G,CAKJ,E,CADA,E,CADA,E,CADA,E,CADA,E,CADA,E,CAMC,Y,CACA,mB,CACA,yC,CACA,yC,CACA,6B,CAGG,G,CAAJ,E,CACC,6D,CAGD,0BACK,G,CAAJ,E,CACC,kCAIE,G,CAAJ,E,CACC,4D,CAGD,0BACK,G,CAAJ,E,CACC,kCAIE,G,CAAJ,E,CACC,yD,CAGD,0BACK,G,CAAJ,E,CACC,kCAIE,G,CAAJ,E,CACC,2D,CAGD,0BACK,G,CAAJ,E,CACC,kCAIE,G,CAAJ,E,CACC,gC,CAGG,G,CAAJ,E,CACC,gC,CAGD,C,CACC,Y,CAID,W,CACC,wC,CACA,gC,CACA,W,CACA,qC,CACA,6B,CAGD,a,CACC,sD,CAGD,O,CAEC,iB,CACA,mB,CAGD,E,CACA,E,CACC,iB,CARD,O,CAaA,E,CAFA,E,CA5BA,C,CA6BA,E,CAGC,kB,CAFD,E,CAFA,E,CACA,E,CAEC,Y,CAID,K,CAEA,K,CACA,K,CAFA,K,CAGC,e,CAGD,E,CACC,sC,CAGD,E,CACC,mB,CACA,a,CAGD,U,CA8GA,M,CA7GC,e,CAGD,C,CACA,M,CACC,wC,CAGM,M,CAAP,K,CACC,yC,CAGK,K,CAAN,I,CACC,mC,CACA,+B,CACA,uC,CACA,+C,CAGD,G,CACA,G,CACC,iB,CACA,yC,CACA,a,CACA,uB,CAGD,G,CACC,gD,CAGD,G,CACC,6C,CAGD,C,CACC,8D,CACA,yC,CACA,sD,CACA,2B,CACA,4B,CAGD,O,CACC,kD,CACA,oD,CAGD,MAAM,M,MAAY,Q,CAAU,MAAM,M,MAAY,c,CAC7C,a,CACA,oB,CAID,I,CACA,G,CAFA,G,CAGA,I,CACC,oC,CACA,a,CAGD,G,CACC,a,CACA,Y,CACA,kB,CACA,a,CACA,yC,CAGD,Q,CACC,S,CACA,iB,CAEA,4B,CACA,e,CACA,iB,CACA,gB,CAGD,I,CAeA,G,CAMC,2B,CACA,4B,CAtBD,I,CACC,8B,CACA,kC,CACA,0B,CACA,kC,CACA,0C,CACA,oB,CAKD,M,CArBA,Q,CAsBC,a,CAGD,G,CACC,6B,CACA,iC,CACA,yB,CACA,iC,CACA,yC,CAKD,O,CACC,S,CACA,a,CAOD,G,CACA,G,CACC,qB,CAGD,K,CACC,mB,CACA,wB,CAGD,O,CACC,iB,CACA,oB,CACA,+B,CACA,e,CAGD,E,CACC,kB,CACA,+B,CAID,K,CAGA,E,CAFA,K,CAPA,E,CAKA,K,CAGA,E,CAGC,oB,CACA,kB,CACA,c,CAGD,K,CA2IA,M,CA1IC,oB,CAGD,M,CACC,e,CAGD,iBAAiB,e,CAChB,S,CAID,M,CADA,K,CAGA,Q,CADA,M,CAEA,Q,CACC,Q,CACA,mB,CACA,iB,CACA,mB,CAGD,M,CACA,M,CACC,mB,CAGD,a,CACC,c,CAGD,M,CACC,gB,CAGD,e,CACC,S,CAGD,WAAW,W,MAAiB,qB,MAA2B,Y,MAAkB,W,MAAiB,+C,CACzF,sB,CAID,a,CACA,Y,CACA,a,CAHA,M,CAIC,yB,CA8lED,wBAAwB,S,MAAe,W,CA/KvC,6BAA6B,S,MAAe,W,CA36D5C,kBAAkB,U,CAClB,iBAAiB,U,CACjB,kBAAkB,U,CAHlB,WAAW,U,CAIV,c,CAGD,kB,CACC,S,CACA,iB,CAGD,Q,CACC,e,CAGD,Q,CACC,W,CACA,S,CACA,Q,CACA,Q,CAGD,M,CACC,U,CACA,U,CACA,S,CACA,mB,CACA,2D,CACA,mB,CAGD,0BACC,M,CACC,kDAIF,Q,CACC,U,CAOD,iC,CAJA,sC,CAGA,kC,CADA,8B,CAGA,mC,CAJA,4B,CAKA,kC,CACC,S,CAGD,2B,CACC,W,CAGD,a,CACC,mB,CACA,4B,CAYD,2B,CACC,uB,CAGD,8B,CACC,S,CAGD,4B,CACC,Y,CACA,yB,CAGD,sB,CACC,Y,CACA,yB,CAOD,M,CACC,Q,CAGD,O,CACC,iB,CACA,c,CAGD,Q,CACC,uB,CAGD,Q,CACC,sB,CASD,K,CACC,iD,CAGD,U,CACA,U,CACA,U,CACA,U,CACA,U,CACA,U,CACC,sC,CACA,e,CAGD,U,CACC,0D,CAGD,0BACC,U,CACC,qDAIF,U,CACC,2D,CAGD,0BACC,U,CACC,qDAIF,U,CACC,0D,CAGD,0BACC,U,CACC,qDAIF,U,CACC,2D,CAGD,0BACC,U,CACC,qDAIF,U,CACC,0D,CAGD,0BACC,U,CACC,qDAIF,U,CACC,2D,CAGD,0BACC,U,CACC,qDASF,Y,CALA,c,CACC,c,CACA,e,CAQD,iB,CACC,oB,CAGD,sBAAsB,Y,CACrB,kB,CAGD,W,CACC,yC,CACA,wB,CAGD,W,CACC,kB,CACA,iD,CAGD,uB,CACC,e,CAGD,kB,CACC,gB,CACA,kB,CACA,yC,CACA,+B,CAGD,0B,CACC,Y,CASD,U,CAKA,c,CAJC,c,CACA,W,CAGD,c,CACC,c,CACA,kC,CACA,0D,CACA,qC,CAWD,O,CACC,oB,CAGD,W,CACC,mB,CACA,a,CAGD,e,CACC,yC,CACA,+B,CASD,U,CACA,gB,CAGA,a,CACA,a,CACA,a,CAHA,a,CADA,c,CAKC,gC,CACA,e,CACA,U,CACA,yC,CACA,wC,CACA,iB,CACA,gB,CAGD,yBACgB,U,CAAf,a,CACC,4CAIF,A,yBAC+B,U,CAA9B,a,CAAe,a,CACd,4CAIF,A,yBAC8C,U,CAA7C,a,CAAe,a,CAAe,a,CAC7B,4CAIF,A,0BAC6D,U,CAA7C,a,CAAe,a,CAAe,a,CAA7C,a,CACC,4CAIF,A,0BAC6E,U,CAA7C,a,CAAe,a,CAAe,a,CAA7C,a,CAAhB,c,CACC,6CAIF,K,CACC,oB,CACA,wB,CACA,wB,CACA,wB,CACA,yB,CACA,0B,CAGD,I,CACC,gC,CACA,e,CACA,Y,CACA,c,CACA,sC,CACA,yC,CACA,wC,CAGD,M,CACC,a,CACA,U,CACA,c,CACA,yC,CACA,wC,CACA,6B,CAGD,I,CACC,W,CAGD,gB,CACC,a,CACA,U,CAGD,a,CACC,a,CACA,U,CAGD,a,CACC,a,CACA,S,CAGD,a,CACC,a,CACA,oB,CAGD,a,CACC,a,CACA,S,CAGD,a,CACC,a,CACA,S,CAQD,S,CALA,a,CACC,a,CACA,oB,CAGD,S,CAEC,U,CAGD,M,CAKA,M,CAJC,a,CACA,iB,CAGD,M,CAEC,kB,CAGD,M,CAKA,M,CAJC,a,CACA,S,CAGD,M,CAEC,kB,CAGD,M,CAKA,M,CAJC,a,CACA,kB,CAGD,M,CAEC,S,CAGD,M,CAKA,M,CAJC,a,CACA,kB,CAGD,M,CAEC,kB,CAQD,O,CALA,M,CACC,a,CACA,S,CAGD,O,CAEC,kB,CAGD,O,CAKA,O,CAJC,a,CACA,kB,CAGD,O,CAEC,U,CAGD,S,CACC,uB,CAGD,S,CACC,wB,CAGD,S,CACC,e,CAGD,S,CACC,wB,CAGD,S,CACC,wB,CAGD,S,CACC,e,CAGD,S,CACC,wB,CAGD,S,CACC,wB,CAGD,S,CACC,e,CAGD,U,CACC,wB,CAGD,U,CACC,wB,CAGD,I,CACA,K,CACC,e,CAGD,I,CACA,K,CACC,e,CAGD,I,CACA,K,CACC,gC,CAGD,I,CACA,K,CACC,gC,CAGD,I,CACA,K,CACC,gC,CAGD,I,CACA,K,CACC,gC,CAGD,I,CACA,K,CACC,gC,CAGD,I,CACA,K,CACC,gC,CAGD,I,CACA,K,CACC,gC,CAGD,I,CACA,K,CACC,gC,CAGD,I,CACA,K,CACC,gC,CAGD,I,CACA,K,CACC,gC,CAGD,yBACC,O,CACC,W,CAGD,mB,CACC,a,CACA,U,CAGD,gB,CACC,a,CACA,U,CAGD,gB,CACC,a,CACA,S,CAGD,gB,CACC,a,CACA,oB,CAGD,gB,CACC,a,CACA,S,CAGD,gB,CACC,a,CACA,S,CAQD,Y,CALA,gB,CACC,a,CACA,oB,CAGD,Y,CAEC,U,CAGD,S,CAKA,S,CAJC,a,CACA,iB,CAGD,S,CAEC,kB,CAGD,S,CAKA,S,CAJC,a,CACA,S,CAGD,S,CAEC,kB,CAGD,S,CAKA,S,CAJC,a,CACA,kB,CAGD,S,CAEC,S,CAGD,S,CAKA,S,CAJC,a,CACA,kB,CAGD,S,CAEC,kB,CAQD,U,CALA,S,CACC,a,CACA,S,CAGD,U,CAEC,kB,CAGD,U,CAKA,U,CAJC,a,CACA,kB,CAGD,U,CAEC,U,CAGD,Y,CACC,a,CAGD,Y,CACC,uB,CAGD,Y,CACC,wB,CAGD,Y,CACC,e,CAGD,Y,CACC,wB,CAGD,Y,CACC,wB,CAGD,Y,CACC,e,CAGD,Y,CACC,wB,CAGD,Y,CACC,wB,CAGD,Y,CACC,e,CAGD,a,CACC,wB,CAGD,a,CACC,wB,CAGD,O,CACA,Q,CACC,e,CAGD,O,CACA,Q,CACC,e,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,kCAIF,A,yBACC,O,CACC,W,CAGD,mB,CACC,a,CACA,U,CAGD,gB,CACC,a,CACA,U,CAGD,gB,CACC,a,CACA,S,CAGD,gB,CACC,a,CACA,oB,CAGD,gB,CACC,a,CACA,S,CAGD,gB,CACC,a,CACA,S,CAQD,Y,CALA,gB,CACC,a,CACA,oB,CAGD,Y,CAEC,U,CAGD,S,CAKA,S,CAJC,a,CACA,iB,CAGD,S,CAEC,kB,CAGD,S,CAKA,S,CAJC,a,CACA,S,CAGD,S,CAEC,kB,CAGD,S,CAKA,S,CAJC,a,CACA,kB,CAGD,S,CAEC,S,CAGD,S,CAKA,S,CAJC,a,CACA,kB,CAGD,S,CAEC,kB,CAQD,U,CALA,S,CACC,a,CACA,S,CAGD,U,CAEC,kB,CAGD,U,CAKA,U,CAJC,a,CACA,kB,CAGD,U,CAEC,U,CAGD,Y,CACC,a,CAGD,Y,CACC,uB,CAGD,Y,CACC,wB,CAGD,Y,CACC,e,CAGD,Y,CACC,wB,CAGD,Y,CACC,wB,CAGD,Y,CACC,e,CAGD,Y,CACC,wB,CAGD,Y,CACC,wB,CAGD,Y,CACC,e,CAGD,a,CACC,wB,CAGD,a,CACC,wB,CAGD,O,CACA,Q,CACC,e,CAGD,O,CACA,Q,CACC,e,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,kCAIF,A,yBACC,O,CACC,W,CAGD,mB,CACC,a,CACA,U,CAGD,gB,CACC,a,CACA,U,CAGD,gB,CACC,a,CACA,S,CAGD,gB,CACC,a,CACA,oB,CAGD,gB,CACC,a,CACA,S,CAGD,gB,CACC,a,CACA,S,CAQD,Y,CALA,gB,CACC,a,CACA,oB,CAGD,Y,CAEC,U,CAGD,S,CAKA,S,CAJC,a,CACA,iB,CAGD,S,CAEC,kB,CAGD,S,CAKA,S,CAJC,a,CACA,S,CAGD,S,CAEC,kB,CAGD,S,CAKA,S,CAJC,a,CACA,kB,CAGD,S,CAEC,S,CAGD,S,CAKA,S,CAJC,a,CACA,kB,CAGD,S,CAEC,kB,CAQD,U,CALA,S,CACC,a,CACA,S,CAGD,U,CAEC,kB,CAGD,U,CAKA,U,CAJC,a,CACA,kB,CAGD,U,CAEC,U,CAGD,Y,CACC,a,CAGD,Y,CACC,uB,CAGD,Y,CACC,wB,CAGD,Y,CACC,e,CAGD,Y,CACC,wB,CAGD,Y,CACC,wB,CAGD,Y,CACC,e,CAGD,Y,CACC,wB,CAGD,Y,CACC,wB,CAGD,Y,CACC,e,CAGD,a,CACC,wB,CAGD,a,CACC,wB,CAGD,O,CACA,Q,CACC,e,CAGD,O,CACA,Q,CACC,e,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,kCAIF,A,0BACC,O,CACC,W,CAGD,mB,CACC,a,CACA,U,CAGD,gB,CACC,a,CACA,U,CAGD,gB,CACC,a,CACA,S,CAGD,gB,CACC,a,CACA,oB,CAGD,gB,CACC,a,CACA,S,CAGD,gB,CACC,a,CACA,S,CAQD,Y,CALA,gB,CACC,a,CACA,oB,CAGD,Y,CAEC,U,CAGD,S,CAKA,S,CAJC,a,CACA,iB,CAGD,S,CAEC,kB,CAGD,S,CAKA,S,CAJC,a,CACA,S,CAGD,S,CAEC,kB,CAGD,S,CAKA,S,CAJC,a,CACA,kB,CAGD,S,CAEC,S,CAGD,S,CAKA,S,CAJC,a,CACA,kB,CAGD,S,CAEC,kB,CAQD,U,CALA,S,CACC,a,CACA,S,CAGD,U,CAEC,kB,CAGD,U,CAKA,U,CAJC,a,CACA,kB,CAGD,U,CAEC,U,CAGD,Y,CACC,a,CAGD,Y,CACC,uB,CAGD,Y,CACC,wB,CAGD,Y,CACC,e,CAGD,Y,CACC,wB,CAGD,Y,CACC,wB,CAGD,Y,CACC,e,CAGD,Y,CACC,wB,CAGD,Y,CACC,wB,CAGD,Y,CACC,e,CAGD,a,CACC,wB,CAGD,a,CACC,wB,CAGD,O,CACA,Q,CACC,e,CAGD,O,CACA,Q,CACC,e,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,kCAIF,A,0BACC,Q,CACC,W,CAGD,oB,CACC,a,CACA,U,CAGD,iB,CACC,a,CACA,U,CAGD,iB,CACC,a,CACA,S,CAGD,iB,CACC,a,CACA,oB,CAGD,iB,CACC,a,CACA,S,CAGD,iB,CACC,a,CACA,S,CAGD,iB,CACC,a,CACA,oB,CAGD,a,CACC,a,CACA,U,CAGD,U,CAKA,U,CAJC,a,CACA,iB,CAGD,U,CAEC,kB,CAGD,U,CAKA,U,CAJC,a,CACA,S,CAGD,U,CAEC,kB,CAGD,U,CAKA,U,CAJC,a,CACA,kB,CAGD,U,CAEC,S,CAGD,U,CAKA,U,CAJC,a,CACA,kB,CAGD,U,CAEC,kB,CAQD,W,CALA,U,CACC,a,CACA,S,CAGD,W,CAEC,kB,CAGD,W,CAKA,W,CAJC,a,CACA,kB,CAGD,W,CAEC,U,CAGD,a,CACC,a,CAGD,a,CACC,uB,CAGD,a,CACC,wB,CAGD,a,CACC,e,CAGD,a,CACC,wB,CAGD,a,CACC,wB,CAGD,a,CACC,e,CAGD,a,CACC,wB,CAGD,a,CACC,wB,CAGD,a,CACC,e,CAGD,c,CACC,wB,CAGD,c,CACC,wB,CAGD,Q,CACA,S,CACC,e,CAGD,Q,CACA,S,CACC,e,CAGD,Q,CACA,S,CACC,gC,CAGD,Q,CACA,S,CACC,gC,CAGD,Q,CACA,S,CACC,gC,CAGD,Q,CACA,S,CACC,gC,CAGD,Q,CACA,S,CACC,gC,CAGD,Q,CACA,S,CACC,gC,CAGD,Q,CACA,S,CACC,gC,CAGD,Q,CACA,S,CACC,gC,CAGD,Q,CACA,S,CACC,gC,CAGD,Q,CACA,S,CACC,kCAUF,M,CACC,6B,CACE,0B,CACA,8B,CACA,2B,CACF,qC,CACA,yB,CACA,8C,CACA,gC,CACA,8C,CACA,qD,CACA,6C,CACA,oD,CACA,4C,CACA,mD,CACA,U,CACA,kB,CACA,kB,CACA,yC,CAGD,2B,CACC,sD,CACA,qD,CACA,mD,CAGD,YAAc,Y,CACb,qB,CACA,oF,CACA,mC,CACA,0C,CACA,0G,CAGD,Y,CACC,sB,CAGD,Y,CACC,qB,CAGD,oB,CACC,sD,CAGD,Y,CACC,gB,CAGD,eAAiB,Y,CAChB,sB,CAGD,qBAAuB,U,CACtB,oC,CAGD,qBAAuB,Y,CACtB,qC,CAGD,uBAAyB,Y,CACxB,qB,CAGD,uBAAyB,a,CACxB,kB,CAGD,0C,CACC,mD,CACA,6C,CAGD,4BAA8B,4B,CAC7B,mD,CACA,6C,CAGD,a,CACC,mD,CACA,6C,CAGD,6B,CACC,kD,CACA,4C,CAKD,c,CAgBA,gB,CACC,qC,CAEA,8C,CACA,8C,CAEA,6C,CAEA,4C,CAEA,2B,CACA,yC,CA3BD,c,CAEC,gD,CAGA,uD,CAEA,sD,CAEA,oD,CAOD,gB,CAEC,kD,CAGA,yD,CAEA,wD,CAEA,sD,CAOD,c,CAEC,gD,CAGA,uD,CAEA,sD,CAEA,oD,CAOD,W,CAhBA,c,CAgCA,c,CACC,qC,CAEA,8C,CACA,8C,CAEA,6C,CAEA,4C,CAEA,2B,CACA,yC,CA3BD,W,CAEC,6C,CAGA,oD,CAEA,mD,CAEA,iD,CAOD,c,CAEC,gD,CAGA,uD,CAEA,sD,CAEA,oD,CAOD,a,CAEC,+C,CAGA,sD,CAEA,qD,CAEA,mD,CATD,a,CAgCA,W,CAhBA,Y,CAiBC,qC,CAEA,8C,CACA,8C,CAEA,6C,CAEA,4C,CAEA,2B,CACA,yC,CA3BD,Y,CAEC,8C,CAGA,qD,CAEA,oD,CAEA,kD,CAOD,W,CAEC,6C,CAGA,oD,CAEA,mD,CAEA,iD,CAOD,iB,CACC,e,CACA,gC,CAGD,4BACC,oB,CACC,e,CACA,kCAIF,A,4BACC,oB,CACC,e,CACA,kCAIF,A,4BACC,oB,CACC,e,CACA,kCAIF,A,6BACC,oB,CACC,e,CACA,kCAIF,A,6BACC,qB,CACC,e,CACA,kCAUF,W,CACC,mB,CAGD,e,CACC,qE,CACA,wE,CACA,e,CACA,oC,CACA,wC,CAGD,kB,CACC,wE,CACA,2E,CACA,uC,CACA,2C,CAGD,kB,CACC,wE,CACA,2E,CACA,uC,CACA,2C,CAGD,U,CACC,iB,CACA,gC,CACA,+B,CAKD,a,CACC,a,CACA,U,CACA,6D,CACA,oC,CACA,wC,CACA,wC,CACA,0B,CACA,kC,CACA,2B,CACA,+D,CACA,uB,CACA,oB,CACA,e,CACA,qC,CAGD,uCACC,a,CACC,iBAIF,wB,CACC,e,CAOD,mB,CACC,0B,CACA,kC,CACA,8C,CACA,S,CACA,qF,CAGD,0C,CACC,mB,CACA,Y,CACA,Q,CAGD,oC,CACC,a,CACA,S,CAGD,+B,CACC,8B,CACA,S,CAGD,0B,CACC,8B,CACA,S,CAGD,sB,CACC,mC,CACA,2C,CACA,iD,CACA,S,CAGD,yC,CACC,6D,CACA,8E,CACA,6C,CACA,4C,CACA,0B,CACA,4C,CACA,mB,CACA,oB,CACA,kB,CACA,c,CACA,8C,CACA,e,CAGD,mC,CACC,6D,CACA,8E,CACA,6C,CACA,4C,CACA,0B,CACA,4C,CACA,mB,CACA,oB,CACA,kB,CACA,c,CACA,8C,CACA,e,CAGD,uCACC,yC,CACC,uB,CACA,e,CAGD,mC,CACC,iBAIF,A,wBAAwB,S,MAAe,uC,CACtC,2C,CAGD,wBAAwB,S,MAAe,iC,CACtC,2C,CAGD,uB,CACC,a,CACA,U,CACA,mC,CACA,e,CACA,wC,CACA,0B,CACA,4B,CACA,wB,CACA,oC,CAGD,6B,CACC,S,CAID,uC,CADA,uC,CAEC,e,CACA,c,CAGD,gB,CACC,2I,CACA,mE,CACA,uC,CACA,2C,CACA,wC,CAGD,4C,CACC,mE,CACA,oF,CACA,gD,CACA,+C,CAGD,sC,CACC,mE,CACA,oF,CACA,gD,CACA,+C,CAGD,gB,CACC,2I,CACA,mE,CACA,uC,CACA,2C,CACA,wC,CAGD,4C,CACC,mE,CACA,oF,CACA,gD,CACA,+C,CAGD,sC,CACC,mE,CACA,oF,CACA,gD,CACA,+C,CAGD,qB,CACC,kI,CAID,qC,CADA,wB,CAEC,2I,CAID,qC,CADA,wB,CAEC,2I,CAGD,mB,CACC,U,CACA,0E,CACA,e,CAOD,sC,CACC,kB,CACA,qC,CAGD,yC,CACC,kB,CACA,qC,CAGD,mC,CACC,6E,CAGD,mC,CACC,6E,CAKD,Y,CACC,uP,CACA,a,CACA,U,CACA,6F,CACA,oC,CACA,wC,CACA,wC,CACA,0B,CACA,kC,CACA,iF,CACA,2B,CACA,2D,CACA,2B,CACA,+D,CACA,qC,CACA,uB,CACA,oB,CACA,e,CAGD,uCACC,Y,CACC,iBAIF,kB,CACC,8C,CACA,S,CACA,qF,CAGD,sB,CACA,uBAAuB,W,CACtB,wC,CACA,qB,CAGD,qB,CACC,mC,CACA,2C,CACA,iD,CAGD,2B,CACC,iB,CACA,sC,CAGD,e,CACC,yC,CACA,4C,CACA,0C,CACA,uC,CACA,2C,CACA,wC,CAGD,e,CACC,yC,CACA,4C,CACA,0C,CACA,uC,CACA,2C,CACA,wC,CAGD,iC,CACC,uP,CAGD,sB,CACC,e,CAKD,W,CACC,a,CACA,iB,CACA,kB,CACA,qB,CAGD,6B,CACC,U,CACA,kB,CAGD,mB,CACC,mB,CACA,c,CACA,gB,CAGD,qC,CACC,W,CACA,mB,CACA,a,CAGD,iB,CACC,a,CACA,S,CACA,U,CACA,2C,CACA,kB,CACA,wC,CACA,8C,CACA,2B,CACA,0B,CACA,uB,CACA,qE,CACA,uB,CACA,oB,CACA,e,CACA,gC,CACA,kB,CACA,wB,CAGD,gC,CACC,8C,CAGD,6B,CACC,iB,CAGD,wB,CACC,sB,CAGD,uB,CACC,oD,CACA,S,CACA,2F,CAGD,yB,CACC,kC,CACA,8B,CAGD,wC,CACC,uD,CAGD,qC,CACC,oD,CAGD,8C,CACC,kC,CACA,8B,CACA,mD,CAGD,0B,CACC,mB,CACA,W,CACA,U,CAID,4C,CADA,6C,CAEC,c,CACA,U,CAGD,Y,CACC,kB,CAGD,8B,CACC,kD,CACA,S,CACA,kB,CACA,yC,CACA,+B,CACA,iB,CACA,+C,CAGD,uCACC,8B,CACC,iBAIF,oC,CACC,kD,CAGD,sC,CACC,gC,CACA,gD,CAGD,+B,CACC,mB,CACA,c,CAGD,iD,CACC,mB,CACA,a,CAGD,kB,CACC,oB,CACA,iB,CAGD,U,CACC,iB,CACA,kB,CACA,mB,CAID,wB,CADA,yB,CAEC,mB,CACA,W,CACA,W,CAKD,W,CACC,U,CACA,e,CACA,S,CACA,4B,CACA,uB,CACA,oB,CACA,e,CAGD,iB,CACC,S,CAGD,uC,CACC,4C,CACA,mE,CAGD,mC,CACC,4C,CACA,mE,CAGD,6B,CACC,Q,CAGD,iC,CACC,c,CACA,e,CACA,mB,CACA,wC,CACA,uE,CACA,iB,CACA,uB,CACA,e,CACA,qB,CACA,c,CAGD,uCACC,iC,CACC,uB,CACA,iBAIF,0C,CACC,U,CACA,Y,CACA,iB,CACA,qB,CACA,c,CACA,uC,CACA,oE,CACA,kB,CAGD,6B,CACC,c,CACA,e,CACA,wC,CACA,uE,CACA,iB,CACA,oB,CACA,e,CACA,qB,CACA,c,CAGD,uCACC,6B,CACC,oB,CACA,iBAIF,6B,CACC,U,CACA,Y,CACA,iB,CACA,qB,CACA,c,CACA,uC,CACA,oE,CACA,kB,CAGD,oB,CACC,mB,CAGD,0C,CACC,kD,CAGD,sC,CACC,kD,CAKD,c,CACC,iB,CAGD,4B,CACA,sC,CACA,2B,CACC,oD,CACA,wD,CACA,oC,CAGD,oB,CACC,iB,CACA,K,CACA,M,CACA,S,CACA,W,CACA,mB,CACA,e,CACA,gB,CACA,sB,CACA,kB,CACA,mB,CACA,wC,CACA,+C,CACA,oB,CACA,4D,CAGD,uCACC,oB,CACC,iBAIF,4B,CACA,sC,CACC,mB,CAID,wD,CADA,8C,CAEC,iB,CAID,mD,CADA,yC,CAEC,iB,CAID,2CAA6C,wB,CAD7C,iCAAmC,wB,CAElC,oB,CACA,sB,CAKD,4C,CACA,2CAA6C,mB,CAH7C,kC,CACA,iCAAmC,mB,CAGlC,oB,CACA,sB,CAID,uD,CADA,6C,CAEC,oB,CACA,sB,CAGD,2B,CACC,oB,CACA,sB,CACA,mB,CAGD,iCAAmC,8B,CAClC,wC,CACA,0D,CAKD,4C,CAFA,wC,CACA,iCAAmC,yB,CAEnC,iC,CACC,wC,CACA,0D,CAGD,iCAAmC,qC,CAClC,iB,CACA,kB,CACA,U,CACA,Y,CACA,U,CACA,kC,CACA,qC,CAKD,mD,CAFA,+C,CACA,iCAAmC,gC,CAEnC,wC,CACC,iB,CACA,kB,CACA,U,CACA,Y,CACA,U,CACA,kC,CACA,qC,CAGD,mD,CACC,4B,CAGD,mD,CACC,wC,CACA,0D,CAGD,4C,CACC,oC,CAID,2C,CADA,8B,CAEC,mC,CAID,kD,CADA,qC,CAEC,2C,CAKD,Y,CACC,iB,CACA,Y,CACA,c,CACA,mB,CACA,U,CAGD,0B,CAEA,2B,CADA,yB,CAEC,iB,CACA,a,CACA,Q,CACA,W,CAGD,gC,CAEA,wC,CADA,+B,CAEC,S,CAGD,iB,CACC,iB,CACA,S,CAGD,uB,CACC,S,CAGD,iB,CACC,Y,CACA,kB,CACA,6D,CACA,oC,CACA,wC,CACA,wC,CACA,0B,CACA,iB,CACA,kB,CACA,2C,CACA,+D,CACA,qC,CAMD,oB,CAHA,6B,CACA,4B,CACA,iC,CAEC,mE,CACA,uC,CACA,2C,CACA,wC,CAMD,oB,CAHA,6B,CACA,4B,CACA,iC,CAEC,mE,CACA,uC,CACA,2C,CACA,wC,CAGD,4B,CACA,4B,CACC,kB,CAYD,gE,CACA,4E,CACA,2E,CAHA,qDAAuD,gB,MAAsB,c,MAAoB,e,CAPjG,iBAAiB,qD,CACjB,iBAAiB,e,qBAAsC,0B,CACvD,iBAAiB,e,qBAAsC,yB,CAHvD,iBAAiB,e,OAAwB,W,MAAiB,gB,MAAsB,c,MAAoB,e,CAInG,yB,CACA,4B,CAWD,kBAAoB,Y,MAAkB,c,MAAoB,c,MAAoB,e,MAAqB,gB,MAAsB,kB,CACxH,2C,CACA,wB,CACA,2B,CAGD,gCAAkC,2B,CAClC,gCAAkC,0B,CACjC,wB,CACA,2B,CAKD,e,CAUA,c,CAIC,Y,CASA,2B,CACA,4B,CAxBD,e,CAEC,U,CACA,iB,CACA,yC,CACA,gC,CAKD,c,CACC,iB,CACA,Q,CACA,S,CAEA,c,CACA,sB,CACA,kB,CACA,gC,CACA,oC,CACA,kC,CACA,kC,CACA,wC,CAOD,yB,CACA,wB,CAHA,qC,CACA,oC,CAGC,a,CAID,sB,CADA,kC,CAEC,8C,CACA,sD,CACA,0P,CACA,2B,CACA,wG,CACA,qJ,CAID,4B,CADA,wC,CAEC,8C,CACA,2E,CAGD,0C,CACA,8B,CACC,sD,CACA,6K,CAID,qB,CADA,iC,CAEC,8C,CAKD,0BAA0B,U,MAAgB,O,CAC1C,0BAA0B,qB,CAH1B,sCAAsC,U,MAAgB,O,CACtD,sCAAsC,qB,CAGrC,kQ,CACA,oB,CACA,6E,CACA,iK,CAID,2B,CADA,uC,CAEC,8C,CACA,2E,CAID,4B,CADA,wC,CAEC,2D,CAID,0B,CADA,sC,CAEC,8C,CAID,kC,CADA,8C,CAEC,kC,CACA,8B,CAID,iD,CADA,6D,CAEC,uD,CAID,8C,CADA,0D,CAEC,oD,CAKD,+C,CADA,2D,CADA,0D,CAGC,gD,CAID,gC,CADA,4C,CAEC,2E,CAID,4C,CADA,wD,CAEC,gC,CAGD,oD,CACC,gB,CAG8D,+BAAiC,gB,CAIhG,gCAAkC,uB,CAFlC,8BAAgC,gB,CAFhC,8CAAgD,a,CAGhD,+CAAiD,oB,CAFjD,6CAA+C,a,CAI9C,S,CAKD,iB,CAUA,gB,CAIC,Y,CASA,2B,CACA,4B,CAxBD,iB,CAEC,U,CACA,iB,CACA,yC,CACA,kC,CAKD,gB,CACC,iB,CACA,Q,CACA,S,CAEA,c,CACA,sB,CACA,kB,CACA,gC,CACA,oC,CACA,iC,CACA,iC,CACA,wC,CAOD,6B,CACA,4B,CAHA,yC,CACA,wC,CAGC,a,CAID,wB,CADA,oC,CAEC,gD,CACA,sD,CACA,2U,CACA,2B,CACA,wG,CACA,qJ,CAID,8B,CADA,0C,CAEC,gD,CACA,0E,CAGD,4C,CACA,gC,CACC,sD,CACA,6K,CAID,uB,CADA,mC,CAEC,gD,CAKD,4BAA4B,U,MAAgB,O,CAC5C,4BAA4B,qB,CAH5B,wCAAwC,U,MAAgB,O,CACxD,wCAAwC,qB,CAGvC,mV,CACA,oB,CACA,6E,CACA,iK,CAID,6B,CADA,yC,CAEC,gD,CACA,0E,CAID,8B,CADA,0C,CAEC,2D,CAID,4B,CADA,wC,CAEC,gD,CAID,oC,CADA,gD,CAEC,iC,CACA,6B,CAID,mD,CADA,+D,CAEC,sD,CAID,gD,CADA,4D,CAEC,mD,CAKD,iD,CADA,6D,CADA,4D,CAGC,+C,CAID,kC,CADA,8C,CAEC,0E,CAID,8C,CADA,0D,CAEC,kC,CAGD,sD,CACC,gB,CAGgE,+BAAiC,kB,CAIlG,gCAAkC,yB,CAFlC,8BAAgC,kB,CAFhC,8CAAgD,e,CAGhD,+CAAiD,sB,CAFjD,6CAA+C,e,CAI9C,S,CAYD,I,CAqDA,qB,CACC,yB,CACA,iC,CAvDD,I,CACC,6C,CACA,6C,CACA,sB,CACA,6C,CACA,iD,CACA,iD,CACA,mC,CACA,uB,CACA,4C,CACA,iC,CACA,8C,CACA,sD,CACA,wB,CACA,8B,CACA,oG,CACA,2B,CACA,mC,CACA,oC,CACA,oB,CACA,uD,CACA,qC,CACA,iC,CACA,qC,CACA,qC,CAEA,iB,CACA,oB,CACA,qB,CACA,c,CACA,wB,CACA,qB,CACA,gB,CACA,kE,CACA,yC,CAEA,qC,CACA,0D,CACA,4D,CAGD,uCACC,I,CACC,iBAIF,U,CACC,+B,CACA,uC,CACA,6C,CAGD,qB,CAGC,uC,CAGD,kB,CACC,+B,CACA,uC,CAMD,6B,CARA,kB,CASC,6C,CACA,S,CACA,yC,CAGD,uB,CAGA,W,CACA,S,CAFA,uB,CADA,KAAK,uB,CAIJ,gC,CACA,wC,CACA,8C,CAGD,qC,CAGA,yB,CACA,uB,CAFA,qC,CADA,KAAK,qC,CAIJ,yC,CAID,a,CADA,a,CAEA,sB,CACC,kC,CACA,mB,CACA,0C,CACA,gD,CACA,sC,CAKD,Y,CAoBA,c,CAWC,2B,CACA,2C,CACA,qC,CAjCD,Y,CACC,2C,CACA,6B,CACA,oD,CACA,wC,CACA,4C,CACA,gE,CACA,+C,CACA,yC,CACA,8C,CACA,kE,CAIA,sE,CACA,0C,CAKD,c,CACC,qC,CACA,+B,CACA,mD,CACA,iD,CACA,2C,CACA,+D,CACA,2D,CACA,mD,CACA,6C,CACA,iE,CAIA,yD,CACA,2B,CAKD,Y,CACC,2C,CACA,6B,CACA,oD,CACA,wC,CACA,4C,CACA,gE,CACA,+C,CACA,yC,CACA,8C,CACA,kE,CAIA,sE,CACA,0C,CAKD,S,CApBA,Y,CAwCA,Y,CAWC,2B,CACA,2C,CACA,qC,CAjCD,S,CACC,wC,CACA,0B,CACA,oD,CACA,wC,CACA,yC,CACA,gE,CACA,4C,CACA,yC,CACA,2C,CACA,kE,CAIA,sE,CACA,0C,CAKD,Y,CACC,2C,CACA,6B,CAGA,4C,CAEA,+C,CAEA,8C,CAWD,W,CAoBA,U,CAxCA,Y,CA2CC,oD,CACA,wC,CAEA,gE,CAEA,yC,CAEA,kE,CAIA,sE,CACA,0C,CAnCD,W,CACC,0C,CACA,4B,CAGA,2C,CAEA,8C,CAEA,6C,CAEA,2B,CACA,2C,CACA,qC,CAOD,U,CACC,yC,CACA,2B,CAGA,0C,CAEA,6C,CAEA,4C,CAWD,S,CApBA,U,CAwCA,oB,CAoBA,sB,CAUC,2B,CACA,2C,CACA,qC,CApDD,S,CACC,wC,CACA,0B,CACA,oD,CACA,wC,CACA,yC,CACA,gE,CACA,4C,CACA,yC,CACA,2C,CACA,kE,CAIA,sE,CACA,0C,CAKD,oB,CAoBA,sB,CAOC,+C,CACA,yC,CACA,6D,CAIA,yD,CACA,2B,CACA,kB,CAnCD,oB,CACC,8C,CACA,qD,CACA,iD,CACA,mC,CACA,6C,CACA,+C,CAcD,sB,CACC,gD,CACA,uD,CACA,mD,CACA,qC,CACA,+C,CACA,iD,CAcD,oB,CACC,8C,CACA,qD,CACA,iD,CACA,mC,CACA,6C,CACA,+C,CAcD,iB,CApBA,oB,CAwCA,oB,CAOC,+C,CACA,yC,CACA,6D,CACA,2B,CACA,2C,CACA,qC,CACA,yD,CACA,2B,CACA,kB,CAnCD,iB,CACC,2C,CACA,kD,CACA,8C,CACA,gC,CACA,0C,CACA,4C,CAcD,oB,CACC,8C,CACA,qD,CACA,iD,CACA,mC,CACA,6C,CACA,+C,CAcD,mB,CACC,6C,CACA,oD,CACA,gD,CACA,kC,CACA,4C,CACA,8C,CAND,mB,CAwCA,iB,CApBA,kB,CA2BC,+C,CACA,yC,CACA,6D,CACA,2B,CACA,2C,CACA,qC,CACA,yD,CACA,2B,CACA,kB,CAnCD,kB,CACC,4C,CACA,mD,CACA,+C,CACA,iC,CACA,2C,CACA,6C,CAcD,iB,CACC,2C,CACA,kD,CACA,8C,CACA,gC,CACA,0C,CACA,4C,CAcD,S,CACC,mC,CACA,uB,CACA,iC,CACA,+C,CACA,uC,CACA,gD,CACA,wC,CACA,iD,CACA,0C,CACA,wB,CACA,+C,CACA,yC,CACA,sD,CAGD,uB,CACC,yB,CAGD,e,CACC,+B,CACA,+C,CAMD,kB,CADA,O,CAEC,gD,CACA,gD,CACA,gD,CACA,oD,CACA,iD,CAMD,kB,CADA,O,CAEC,gD,CACA,gD,CACA,gD,CACA,oD,CACA,iD,CASD,K,CACC,8B,CAGD,uCACC,K,CACC,iBAIF,A,UAAU,M,CACT,S,CAGD,cAAc,M,CACb,Y,CAGD,W,CACC,Q,CACA,e,CACA,2B,CAGD,uCACC,W,CACC,iBAIF,+B,CACC,O,CACA,W,CACA,0B,CAGD,uCACC,+B,CACC,iBAYF,S,CAGA,gB,CAJA,Q,CAEA,U,CAHA,O,CAIA,c,CAEC,iB,CAGD,gB,CACC,kB,CAGD,uB,CACC,oB,CACA,kB,CACA,qB,CACA,U,CACA,qB,CACA,mC,CACA,e,CACA,kC,CAGD,6B,CAwNA,sC,CAqCA,wC,CA5DA,qC,CAhMC,a,CAGD,c,CACC,yB,CACA,gC,CACA,+B,CACA,+B,CACA,6B,CACA,gD,CACA,oD,CACA,8C,CACA,kE,CACA,mD,CACA,iD,CACA,iG,CACA,2D,CACA,qC,CACA,8D,CACA,iD,CACA,4D,CACA,qD,CACA,6D,CACA,uD,CACA,0D,CACA,6E,CACA,+E,CACA,iC,CACA,oC,CACA,2D,CACA,oD,CACA,mC,CACA,qC,CACA,iB,CACA,iC,CACA,Y,CACA,sC,CACA,iE,CACA,Q,CACA,sC,CACA,8B,CACA,e,CACA,e,CACA,sC,CACA,2B,CACA,4E,CACA,8C,CACA,wC,CAGD,8B,CACC,Q,CACA,M,CACA,oC,CAGD,oB,CACC,mB,CAGD,oC,CACC,U,CACA,M,CAGD,kB,CACC,iB,CAGD,kC,CACC,O,CACA,S,CAGD,yBACC,uB,CACC,mB,CAGD,uC,CACC,U,CACA,M,CAGD,qB,CACC,iB,CAGD,qC,CACC,O,CACA,WAIF,A,yBACC,uB,CACC,mB,CAGD,uC,CACC,U,CACA,M,CAGD,qB,CACC,iB,CAGD,qC,CACC,O,CACA,WAIF,A,yBACC,uB,CACC,mB,CAGD,uC,CACC,U,CACA,M,CAGD,qB,CACC,iB,CAGD,qC,CACC,O,CACA,WAIF,A,0BACC,uB,CACC,mB,CAGD,uC,CACC,U,CACA,M,CAGD,qB,CACC,iB,CAGD,qC,CACC,O,CACA,WAIF,A,0BACC,wB,CACC,mB,CAGD,wC,CACC,U,CACA,M,CAGD,sB,CACC,iB,CAGD,sC,CACC,O,CACA,WAIF,sC,CACC,Q,CACA,W,CACA,Y,CACA,uC,CA0BD,gC,CAvBA,+B,CACC,oB,CACA,kB,CACA,qB,CACA,U,CACA,Y,CACA,mC,CACA,wB,CACA,kC,CAOD,uC,CACC,K,CACA,U,CACA,S,CACA,Y,CACA,qC,CAGD,gC,CAKC,iC,CACA,c,CACA,oC,CACA,sB,CAQA,gB,CAGD,yC,CACC,K,CACA,U,CACA,S,CACA,Y,CACA,sC,CAGD,kC,CAEC,kB,CACA,qB,CACA,U,CAIA,Y,CAGD,mC,CACC,oB,CACA,mB,CAEA,U,CACA,iC,CACA,uB,CACA,oC,CAQA,gB,CAGD,iB,CACC,Q,CACA,2C,CACA,e,CACA,qE,CACA,S,CAGD,c,CACC,a,CACA,U,CACA,2E,CACA,U,CACA,wC,CACA,mC,CACA,kB,CACA,oB,CACA,kB,CACA,4B,CACA,Q,CACA,mD,CACA,oE,CACA,sE,CAID,oB,CADA,oB,CAEC,yC,CACA,iD,CAGD,qB,CACC,0C,CACA,oB,CACA,kD,CAGD,qB,CACC,kC,CACA,kC,CACA,2B,CACA,4B,CAGD,mC,CACC,2C,CAGD,uB,CAAyB,uB,CACxB,4C,CACA,mB,CACA,4B,CAGD,mB,CACC,a,CAGD,gB,CACC,a,CACA,+E,CACA,e,CACA,sC,CACA,qC,CACA,kB,CAGD,mB,CACC,a,CACA,2E,CACA,mC,CAYD,U,CACA,mB,CACC,iB,CACA,mB,CACA,qB,CAID,wB,CADA,e,CAEC,iB,CACA,a,CAKD,wCAA4C,e,CAC5C,6BAA+B,e,CAH/B,+BAAmC,e,CACnC,oBAAsB,e,CAGrB,S,CASD,2C,CACA,yC,CAIA,+B,CADA,+B,CADA,8B,CADA,8B,CARA,kC,CACA,gC,CAIA,sB,CADA,sB,CADA,qB,CADA,qB,CAUC,S,CAGD,Y,CACC,Y,CACA,c,CACA,0B,CAGD,yB,CACC,U,CAGD,U,CACC,qC,CAID,0BAA4B,a,CAD5B,gBAAkB,4B,CAEjB,2C,CAKD,0BAA4B,iB,CAD5B,iD,CADA,oBAAsB,W,MAAiB,iB,CAGtC,yB,CACA,4B,CAKD,0BAA4B,kB,CAF5B,8B,CACA,gBAAkB,gB,CAEjB,wB,CACA,2B,CAGD,sB,CACC,mB,CACA,kB,CAGD,6B,CAEA,sC,CADA,qC,CAEC,a,CAGD,yC,CACC,c,CAID,yC,CADA,8B,CAEC,qB,CACA,oB,CAID,yC,CADA,8B,CAEC,qB,CACA,oB,CAGD,mB,CACC,qB,CACA,sB,CACA,sB,CAGD,wB,CACA,8B,CACC,U,CAID,mCAAqC,a,CADrC,6BAA+B,a,CAE9B,0C,CAID,mCAAqC,iB,CADrC,6BAA+B,W,MAAiB,iB,CAE/C,4B,CACA,2B,CAID,mCAAqC,kB,CADrC,6B,CAEC,wB,CACA,yB,CASD,I,CACC,8B,CACA,+B,CACA,2B,CACA,wC,CACA,oD,CACA,qD,CACA,wC,CACA,yC,CACA,Y,CACA,c,CACA,c,CACA,e,CACA,e,CAGD,S,CACC,a,CACA,iE,CACA,sC,CACA,0C,CACA,8B,CACA,oB,CACA,c,CACA,Q,CACA,+D,CACA,iE,CAID,e,CADA,e,CAEC,oC,CAGD,uB,CACC,S,CACA,sF,CAGD,kB,CACA,kB,CACC,uC,CACA,mB,CACA,c,CAGD,S,CACC,wC,CACA,kD,CACA,wE,CACA,0E,CACA,iD,CACA,iD,CACA,mD,CACA,uH,CACA,wD,CACA,iD,CACA,wI,CACA,mF,CAGD,mB,CACC,sD,CACA,wD,CACA,uD,CACA,wD,CAID,yB,CADA,yB,CAEC,iB,CACA,uD,CAID,kC,CADA,0B,CAEC,0C,CACA,kD,CACA,wD,CAGD,wB,CACC,mD,CACA,wB,CACA,yB,CAGD,U,CAsBA,c,CACC,wC,CACA,mD,CACA,wE,CACA,0E,CA1BD,U,CAKC,oD,CACA,6D,CACA,+C,CAGD,oB,CACC,+C,CAGD,2B,CACA,0B,CACC,2C,CACA,mD,CACA,2B,CACA,4B,CAGD,c,CAKC,2B,CACA,wC,CACA,0I,CACA,yD,CACA,+B,CAGD,wB,CACC,4C,CACA,oE,CAGD,+B,CACA,8B,CACC,+C,CACA,gC,CACA,2B,CACA,4B,CAID,mB,CADA,mB,CAEC,a,CACA,iB,CAID,wB,CADA,wB,CAEC,Y,CACA,W,CACA,iB,CAGD,6B,CACA,kC,CACC,U,CAGD,sB,CACC,Y,CAGD,oB,CACC,a,CASD,O,CACC,2C,CACA,uB,CACA,4B,CACA,iD,CACA,uD,CACA,yD,CACA,wD,CACA,qC,CACA,iC,CACA,oE,CACA,uD,CACA,0D,CACA,sC,CACA,sC,CACA,qC,CACA,oD,CACA,yP,CACA,4C,CACA,4D,CACA,0D,CACA,mC,CACA,iB,CACA,Y,CACA,c,CACA,kB,CACA,6B,CACA,6D,CAGD,kB,CACA,wB,CAGA,qB,CADA,qB,CADA,qB,CAGA,qB,CACA,sB,CACC,Y,CACA,iB,CACA,kB,CACA,6B,CAGD,a,CACC,4C,CACA,+C,CACA,8C,CACA,0C,CACA,kC,CACA,oB,CACA,kB,CAID,mB,CADA,mB,CAEC,wC,CAGD,W,CACC,yB,CACA,8B,CACA,2B,CACA,0C,CACA,sD,CACA,4D,CACA,Y,CACA,qB,CACA,c,CACA,e,CACA,e,CAGD,4B,CACA,0B,CACC,mC,CAGD,0B,CACC,e,CAGD,Y,CACC,iB,CACA,oB,CACA,4B,CAGD,c,CAEA,oB,CADA,oB,CAEC,mC,CAGD,gB,CACC,e,CACA,W,CACA,kB,CAGD,e,CACC,6E,CACA,4C,CACA,a,CACA,4B,CACA,4B,CACA,yE,CACA,oD,CACA,8C,CAGD,uCACC,e,CACC,iBAIF,qB,CACC,oB,CAGD,6B,CACC,oB,CACA,S,CACA,4F,CAGD,oB,CACC,oB,CACA,W,CACA,Y,CACA,qB,CACA,iD,CACA,2B,CACA,0B,CACA,oB,CAGD,kB,CACC,wC,CACA,e,CAGD,yBACC,iB,CACC,gB,CACA,0B,CAGD,6B,CACC,kB,CAGD,4C,CACC,iB,CAGD,uC,CACC,iD,CACA,gD,CAGD,oC,CACC,gB,CAGD,kC,CACC,sB,CACA,e,CAGD,iC,CAiBA,8C,CAhBC,Y,CAGD,4B,CACC,e,CACA,Y,CACA,W,CACA,oB,CACA,qB,CACA,4B,CACA,sC,CACA,kB,CACA,wB,CACA,e,CAOD,4C,CACC,Y,CACA,W,CACA,S,CACA,oBAIF,A,yBACC,iB,CACC,gB,CACA,0B,CAGD,6B,CACC,kB,CAGD,4C,CACC,iB,CAGD,uC,CACC,iD,CACA,gD,CAGD,oC,CACC,gB,CAGD,kC,CACC,sB,CACA,e,CAGD,iC,CAiBA,8C,CAhBC,Y,CAGD,4B,CACC,e,CACA,Y,CACA,W,CACA,oB,CACA,qB,CACA,4B,CACA,sC,CACA,kB,CACA,wB,CACA,e,CAOD,4C,CACC,Y,CACA,W,CACA,S,CACA,oBAIF,A,yBACC,iB,CACC,gB,CACA,0B,CAGD,6B,CACC,kB,CAGD,4C,CACC,iB,CAGD,uC,CACC,iD,CACA,gD,CAGD,oC,CACC,gB,CAGD,kC,CACC,sB,CACA,e,CAGD,iC,CAiBA,8C,CAhBC,Y,CAGD,4B,CACC,e,CACA,Y,CACA,W,CACA,oB,CACA,qB,CACA,4B,CACA,sC,CACA,kB,CACA,wB,CACA,e,CAOD,4C,CACC,Y,CACA,W,CACA,S,CACA,oBAIF,A,0BACC,iB,CACC,gB,CACA,0B,CAGD,6B,CACC,kB,CAGD,4C,CACC,iB,CAGD,uC,CACC,iD,CACA,gD,CAGD,oC,CACC,gB,CAGD,kC,CACC,sB,CACA,e,CAGD,iC,CAiBA,8C,CAhBC,Y,CAGD,4B,CACC,e,CACA,Y,CACA,W,CACA,oB,CACA,qB,CACA,4B,CACA,sC,CACA,kB,CACA,wB,CACA,e,CAOD,4C,CACC,Y,CACA,W,CACA,S,CACA,oBAIF,A,0BACC,kB,CACC,gB,CACA,0B,CAGD,8B,CACC,kB,CAGD,6C,CACC,iB,CAGD,wC,CACC,iD,CACA,gD,CAGD,qC,CACC,gB,CAGD,mC,CACC,sB,CACA,e,CAGD,kC,CAiBA,+C,CAhBC,Y,CAGD,6B,CACC,e,CACA,Y,CACA,W,CACA,oB,CACA,qB,CACA,4B,CACA,sC,CACA,kB,CACA,wB,CACA,e,CAOD,6C,CACC,Y,CACA,W,CACA,S,CACA,oBAIF,c,CACC,gB,CACA,0B,CAGD,0B,CACC,kB,CAGD,yC,CACC,iB,CAGD,oC,CACC,iD,CACA,gD,CAGD,iC,CACC,gB,CAGD,+B,CACC,sB,CACA,e,CAGD,8B,CAiBA,2C,CAhBC,Y,CAGD,yB,CACC,e,CACA,Y,CACA,W,CACA,oB,CACA,qB,CACA,4B,CACA,sC,CACA,kB,CACA,wB,CACA,e,CAOD,yC,CACC,Y,CACA,W,CACA,S,CACA,kB,CASD,yD,CACC,yP,CAGD,wD,CAVA,yC,CAWC,yP,CASD,K,CACC,uB,CACA,uB,CACA,+B,CACA,uB,CACA,0B,CACA,6C,CACA,qD,CACA,+D,CACA,mD,CACA,kD,CACA,iD,CACA,gG,CACA,8B,CACA,4B,CACA,iD,CACA,qB,CACA,kB,CACA,iB,CACA,iC,CACA,kC,CACA,8B,CACA,iB,CACA,Y,CACA,qB,CACA,W,CACA,4B,CACA,0B,CACA,oB,CACA,kC,CACA,0B,CACA,oE,CACA,0C,CACA,oC,CAGD,0B,CACC,+C,CAGD,Q,CACC,c,CACA,a,CAGD,iB,CACC,8E,CACA,iF,CAGD,6B,CACC,kB,CACA,yD,CACA,0D,CAGD,4B,CACC,qB,CACA,6D,CACA,4D,CAGD,8B,CACA,8B,CACC,Y,CAGD,U,CACC,a,CACA,uD,CACA,0B,CAGD,W,CACC,2C,CACA,gC,CAGD,c,CACC,kD,CACA,e,CACA,mC,CAGD,qB,CACC,e,CAGD,qB,CACC,mC,CAGD,Y,CACC,iE,CACA,e,CACA,8B,CACA,sC,CACA,iF,CAGD,wB,CACC,sF,CAGD,Y,CACC,iE,CACA,8B,CACA,sC,CACA,8E,CAGD,uB,CACC,uF,CAGD,iB,CAEC,mD,CAEA,e,CAGD,kC,CACC,kC,CACA,qC,CAGD,kB,CAZA,iB,CAiBA,sB,CAJC,mD,CACA,kD,CAGD,sB,CAEC,mD,CAID,iB,CACC,iB,CACA,K,CACA,O,CACA,Q,CACA,M,CACA,0C,CACA,gD,CAGD,S,CAEA,gB,CADA,a,CAEC,U,CAGD,S,CACA,a,CACC,yD,CACA,0D,CAGD,S,CACA,gB,CACC,6D,CACA,4D,CAGD,iB,CACC,yC,CAGD,yBACC,W,CACC,Y,CACA,kB,CAGD,iB,CACC,W,CACA,e,CAGD,uB,CACC,a,CACA,a,CAGD,sBAAwB,Y,CACvB,yB,CACA,4B,CACA,oD,CAID,sBAAwB,yB,CADxB,sBAAwB,0B,CAEvB,yB,CAID,sBAAwB,yB,CADxB,sBAAwB,6B,CAEvB,4B,CAGD,sBAAwB,a,CACvB,wB,CACA,2B,CACA,mD,CAID,sBAAwB,0B,CADxB,sBAAwB,2B,CAEvB,wB,CAID,sBAAwB,0B,CADxB,sBAAwB,8B,CAEvB,6BAUF,U,CACC,yC,CACA,6B,CACA,2B,CACA,kD,CACA,kD,CACA,oD,CACA,6G,CACA,iC,CACA,oC,CACA,kD,CACA,4C,CACA,uS,CACA,qC,CACA,iD,CACA,6D,CACA,8S,CACA,sE,CACA,uH,CACA,kC,CACA,kC,CACA,qD,CACA,+C,CAGD,+B,CACC,uS,CACA,8S,CAGD,iB,CACC,iB,CACA,Y,CACA,kB,CACA,U,CACA,2E,CACA,kC,CACA,mC,CACA,e,CACA,2C,CACA,Q,CACA,e,CACA,oB,CACA,yC,CAGD,uCACC,iB,CACC,iBAIF,A,sBAAsB,W,CACrB,sC,CACA,8C,CACA,8F,CAGD,sBAAsB,kB,CACrB,oD,CACA,gD,CAGD,wB,CACC,a,CACA,wC,CACA,yC,CACA,gB,CACA,U,CACA,6C,CACA,2B,CACA,kD,CACA,kD,CAGD,uCACC,wB,CACC,iBAIF,uB,CACC,S,CAGD,uB,CACC,S,CACA,uD,CACA,S,CACA,mD,CAGD,iB,CACC,e,CAGD,e,CACC,+B,CACA,uC,CACA,8E,CAGD,6B,CACC,wD,CACA,yD,CAGD,+C,CACC,8D,CACA,+D,CAGD,oBAAoB,e,CACnB,Y,CAGD,4B,CAUA,gD,CATC,4D,CACA,2D,CAGD,wD,CACC,kE,CACA,iE,CAQD,e,CACC,6E,CAGD,oC,CACC,c,CAGD,gC,CACC,c,CACA,a,CACA,e,CAGD,4C,CACC,Y,CAGD,2C,CACC,e,CAGD,kD,CACA,4D,CACC,e,CASD,W,CAwCA,W,CA0BC,Y,CAEA,e,CApED,W,CACC,2B,CACA,2B,CACA,kC,CACA,oB,CACA,+B,CACA,uD,CACA,qC,CACA,2D,CAEA,c,CACA,qE,CACA,gD,CACA,wC,CAEA,wC,CACA,gD,CAGD,iC,CACC,gD,CAGD,yC,CACC,U,CACA,iD,CACA,wC,CACA,yC,CAGD,uB,CACC,4C,CASD,W,CACC,kC,CACA,iC,CACA,kD,CACA,uC,CACA,kC,CACA,4C,CACA,sC,CACA,mD,CACA,0D,CACA,qD,CACA,wD,CACA,kD,CACA,gE,CACA,yD,CACA,mD,CACA,8G,CACA,yD,CACA,2C,CACA,kE,CACA,wD,CACA,iD,CACA,kD,CACA,8D,CACA,wD,CACA,4E,CAEA,c,CAID,U,CACC,iB,CACA,a,CACA,qE,CACA,wC,CACA,4C,CACA,wC,CACA,gC,CACA,oB,CACA,iB,CACA,wC,CACA,gF,CAGD,uCACC,U,CACC,iBAIF,gB,CACC,S,CACA,sC,CACA,8C,CACA,oD,CAGD,gB,CACC,S,CACA,sC,CACA,8C,CACA,S,CACA,gD,CAID,kB,CADA,iB,CAEC,S,CACA,uC,CACA,+C,CACA,qD,CACA,mD,CACA,wE,CACA,0E,CAID,oB,CADA,mB,CAEC,yC,CACA,mB,CACA,iD,CACA,uD,CAGD,eAAe,wB,CACd,sD,CAGD,iC,CACC,yD,CACA,4D,CAGD,gC,CACC,0D,CACA,6D,CAGD,c,CACC,kC,CACA,mC,CACA,gD,CACA,uC,CACA,iC,CACA,wD,CAGD,c,CACC,kC,CACA,kC,CACA,gD,CACA,uC,CACA,gC,CACA,wD,CASD,M,CACC,qD,CACA,qD,CACA,oD,CACA,mD,CACA,+C,CACA,iC,CACA,gD,CACA,oB,CACA,2D,CACA,mC,CACA,uC,CACA,a,CACA,2B,CACA,mC,CACA,iB,CACA,kB,CACA,uB,CACA,2C,CACA,2B,CACA,4B,CAGD,Y,CACC,Y,CAGD,W,CACC,iB,CACA,Q,CASD,M,CACC,yB,CACA,yB,CACA,4B,CACA,6B,CACA,wB,CACA,mC,CACA,2E,CACA,gD,CACA,6B,CACA,iB,CACA,2D,CACA,2C,CACA,2B,CACA,mC,CACA,6B,CACA,2C,CAGD,c,CACC,a,CAGD,W,CACC,wC,CACA,gC,CACA,yB,CACA,2D,CACA,6D,CAGD,iB,CACC,W,CACA,yB,CAGD,kB,CACC,oB,CAGD,6B,CACC,iB,CACA,O,CACA,a,CACA,0B,CACA,S,CAKD,c,CASA,gB,CACC,qC,CAGA,2C,CAbD,c,CAEC,yC,CACA,uD,CAMD,gB,CAEC,2C,CACA,yD,CAMD,c,CAEC,yC,CACA,uD,CAMD,W,CATA,c,CAkBA,c,CACC,qC,CAGA,2C,CAbD,W,CAEC,sC,CACA,oD,CAMD,c,CAEC,yC,CACA,uD,CAMD,a,CAEC,wC,CACA,sD,CAHD,a,CAkBA,W,CATA,Y,CAUC,qC,CAGA,2C,CAbD,Y,CAEC,uC,CACA,qD,CAMD,W,CAEC,sC,CACA,oD,CAgBD,S,CACA,iB,CACC,6B,CACA,8B,CACA,uC,CACA,gG,CACA,wD,CACA,2D,CACA,qD,CACA,oD,CACA,sC,CACA,4C,CACA,Y,CACA,gC,CACA,e,CACA,sC,CACA,sC,CACA,gC,CACA,8C,CACA,wC,CACA,0C,CAGD,a,CACC,Y,CACA,qB,CACA,sB,CACA,e,CACA,kC,CACA,iB,CACA,kB,CACA,0C,CACA,4C,CACA,2B,CACA,4B,CAGD,uCACC,a,CACC,iBAIF,qB,CACC,gP,CAUA,mE,CAGD,2B,CACC,W,CACA,gB,CACA,iB,CACA,4B,CACA,Q,CACA,e,CACA,e,CACA,0B,CAGD,yC,CACC,U,CAGD,sB,CACC,iD,CAGD,uCACC,sB,CACC,gBAUF,W,CACC,0C,CACA,8B,CACA,mD,CACA,mD,CACA,qD,CACA,mC,CACA,uC,CACA,uD,CACA,oE,CACA,+D,CACA,qE,CACA,gE,CACA,wD,CACA,2D,CACA,yD,CACA,2C,CACA,qD,CACA,Y,CACA,qB,CACA,c,CACA,e,CACA,gD,CAGD,gC,CACC,+D,CACA,iE,CACA,4D,CAGD,oB,CACC,oB,CACA,qB,CAGD,6C,CACC,iC,CACA,yB,CAGD,uB,CACC,U,CACA,uC,CACA,kB,CAID,6B,CADA,6B,CAEC,S,CACA,6C,CACA,oB,CACA,qD,CAGD,8B,CACC,8C,CACA,sD,CAGD,gB,CACC,iB,CACA,a,CACA,+E,CACA,gC,CACA,oB,CACA,wC,CACA,gF,CACA,2D,CACA,6D,CAGD,4B,CACC,8B,CACA,+B,CAGD,2B,CACC,kC,CACA,iC,CAGD,yB,CACA,yB,CACC,yC,CACA,mB,CACA,iD,CAGD,uB,CACC,S,CACA,uC,CACA,+C,CACA,qD,CACA,2B,CACA,4B,CAGD,iC,CACC,kB,CAGD,wC,CACC,qD,CACA,kD,CAGD,sB,CACC,kB,CAGD,wDAA0D,Y,CACzD,4D,CACA,yB,CAGD,uDAAyD,a,CACxD,0D,CACA,2B,CAGD,8C,CACC,Y,CAGD,wD,CACC,kD,CACA,mB,CAGD,+D,CACC,sD,CACA,mD,CAGD,yBACC,yB,CACC,kB,CAGD,2DAA6D,Y,CAC5D,4D,CACA,yB,CAGD,0DAA4D,a,CAC3D,0D,CACA,2B,CAGD,iD,CACC,Y,CAGD,2D,CACC,kD,CACA,mB,CAGD,kE,CACC,sD,CACA,qDAIF,A,yBACC,yB,CACC,kB,CAGD,2DAA6D,Y,CAC5D,4D,CACA,yB,CAGD,0DAA4D,a,CAC3D,0D,CACA,2B,CAGD,iD,CACC,Y,CAGD,2D,CACC,kD,CACA,mB,CAGD,kE,CACC,sD,CACA,qDAIF,A,yBACC,yB,CACC,kB,CAGD,2DAA6D,Y,CAC5D,4D,CACA,yB,CAGD,0DAA4D,a,CAC3D,0D,CACA,2B,CAGD,iD,CACC,Y,CAGD,2D,CACC,kD,CACA,mB,CAGD,kE,CACC,sD,CACA,qDAIF,A,0BACC,yB,CACC,kB,CAGD,2DAA6D,Y,CAC5D,4D,CACA,yB,CAGD,0DAA4D,a,CAC3D,0D,CACA,2B,CAGD,iD,CACC,Y,CAGD,2D,CACC,kD,CACA,mB,CAGD,kE,CACC,sD,CACA,qDAIF,A,0BACC,0B,CACC,kB,CAGD,4DAA8D,Y,CAC7D,4D,CACA,yB,CAGD,2DAA6D,a,CAC5D,0D,CACA,2B,CAGD,kD,CACC,Y,CAGD,4D,CACC,kD,CACA,mB,CAGD,mE,CACC,sD,CACA,qDAIF,iB,CACC,e,CAGD,kC,CACC,kD,CAGD,6C,CACC,qB,CAKD,wB,CAeA,0B,CACC,0C,CAEA,mD,CACA,oE,CAEA,qE,CArBD,wB,CAEC,qD,CAGA,gE,CAEA,kE,CACA,yD,CACA,oD,CACA,8D,CAKD,0B,CAEC,uD,CAGA,kE,CAEA,oE,CACA,2D,CACA,sD,CACA,gE,CAKD,wB,CAEC,qD,CAGA,gE,CAEA,kE,CACA,yD,CACA,oD,CACA,8D,CAKD,qB,CAfA,wB,CA8BA,wB,CACC,0C,CAEA,mD,CACA,oE,CAEA,qE,CArBD,qB,CAEC,kD,CAGA,6D,CAEA,+D,CACA,sD,CACA,iD,CACA,2D,CAKD,wB,CAEC,qD,CAGA,gE,CAEA,kE,CACA,yD,CACA,oD,CACA,8D,CAKD,uB,CAEC,oD,CAGA,+D,CAEA,iE,CACA,wD,CACA,mD,CACA,6D,CAVD,uB,CA8BA,qB,CAfA,sB,CAgBC,0C,CAEA,mD,CACA,oE,CAEA,qE,CArBD,sB,CAEC,mD,CAGA,8D,CAEA,gE,CACA,uD,CACA,kD,CACA,4D,CAKD,qB,CAEC,kD,CAGA,6D,CAEA,+D,CACA,sD,CACA,iD,CACA,2D,CASD,U,CAoBA,gB,CACC,+B,CArBD,U,CACC,oC,CACA,mV,CACA,0B,CACA,iC,CACA,4F,CACA,8B,CACA,oC,CACA,sE,CACA,sB,CACA,S,CACA,U,CACA,wC,CAEA,2D,CACA,Q,CACA,wC,CACA,mC,CAGD,gB,CAEC,oB,CACA,yC,CAGD,gB,CACC,S,CACA,2C,CACA,yC,CAGoB,mB,CAArB,mB,CACC,mB,CACA,wB,CACA,qB,CACA,gB,CACA,4C,CAGD,+B,CACC,uC,CAKD,+B,CACC,W,CAGD,8B,CACC,uC,CASD,M,CACC,sB,CACA,4B,CACA,2B,CACA,yB,CACA,8B,CACA,6B,CACA,kB,CACA,2D,CACA,8C,CACA,+D,CACA,gD,CACA,2D,CACA,iD,CACA,uC,CACA,iE,CACA,+B,CACA,c,CACA,mC,CACA,2B,CACA,mB,CACA,mC,CACA,2B,CACA,sE,CACA,qC,CACA,2C,CAGD,c,CACC,S,CAGD,WAAW,M,CACV,Y,CAGD,gB,CACC,sB,CACA,iB,CACA,8B,CACA,yB,CACA,sB,CACA,iB,CACA,c,CACA,mB,CAGD,sBAAwB,Y,CACvB,qC,CAGD,a,CACC,Y,CACA,kB,CACA,2D,CACA,kC,CACA,0C,CACA,2B,CACA,oF,CACA,yF,CACA,0F,CAGD,wB,CACC,gD,CACA,qC,CAGD,W,CACC,iC,CACA,oB,CASD,M,CACC,sB,CACA,sB,CACA,uB,CACA,wB,CACA,kB,CACA,kC,CACA,sD,CACA,8C,CACA,mD,CACA,kD,CACA,mG,CACA,gC,CACA,gC,CACA,2F,CACA,iE,CACA,qD,CACA,qD,CACA,gC,CACA,gC,CACA,4B,CACA,sB,CACA,iE,CACA,qD,CACA,c,CACA,K,CACA,M,CACA,8B,CACA,Y,CACA,U,CACA,W,CACA,iB,CACA,e,CACA,S,CAGD,a,CACC,iB,CACA,U,CACA,6B,CACA,mB,CAGD,yB,CACC,iC,CACA,4B,CAGD,uCACC,yB,CACC,iBAIF,yB,CACC,c,CAGD,iC,CACC,qB,CAGD,wB,CACC,4C,CAGD,uC,CACC,e,CACA,e,CAGD,oC,CACC,e,CAGD,sB,CACC,Y,CACA,kB,CACA,gD,CAGD,c,CACC,iB,CACA,Y,CACA,qB,CACA,U,CACA,2B,CACA,mB,CACA,mC,CACA,2B,CACA,sE,CACA,2C,CACA,qC,CACA,S,CAGD,e,CACC,yB,CACA,gC,CACA,yB,CACA,c,CACA,K,CACA,M,CACA,iC,CACA,W,CACA,Y,CACA,sC,CAGD,oB,CACC,S,CAGD,oB,CACC,kC,CAGD,a,CACC,Y,CACA,a,CACA,kB,CACA,6B,CACA,sC,CACA,2F,CACA,0D,CACA,2D,CAGD,wB,CACC,2F,CACA,4I,CAGD,Y,CACC,e,CACA,6C,CAGD,W,CACC,iB,CACA,a,CACA,+B,CAGD,a,CACC,Y,CACA,a,CACA,c,CACA,kB,CACA,wB,CACA,qJ,CACA,0C,CACA,wF,CACA,8D,CACA,6D,CAGD,e,CACC,0C,CAGD,yBACC,M,CACC,yB,CAGD,a,CACC,+B,CACA,iB,CACA,gB,CAGD,S,CACC,2BAIF,A,yBACC,S,CACA,S,CACC,0BAIF,A,0BACC,S,CACC,wBAIF,iB,CACC,W,CACA,c,CACA,W,CACA,Q,CAGD,gC,CACC,W,CACA,Q,CACA,e,CAID,+B,CADA,+B,CAEC,e,CAGD,6B,CACC,e,CAGD,4BACC,yB,CACC,W,CACA,c,CACA,W,CACA,Q,CAGD,wC,CACC,W,CACA,Q,CACA,e,CAID,uC,CADA,uC,CAEC,e,CAGD,qC,CACC,iBAIF,A,4BACC,yB,CACC,W,CACA,c,CACA,W,CACA,Q,CAGD,wC,CACC,W,CACA,Q,CACA,e,CAID,uC,CADA,uC,CAEC,e,CAGD,qC,CACC,iBAIF,A,4BACC,yB,CACC,W,CACA,c,CACA,W,CACA,Q,CAGD,wC,CACC,W,CACA,Q,CACA,e,CAID,uC,CADA,uC,CAEC,e,CAGD,qC,CACC,iBAIF,A,6BACC,yB,CACC,W,CACA,c,CACA,W,CACA,Q,CAGD,wC,CACC,W,CACA,Q,CACA,e,CAID,uC,CADA,uC,CAEC,e,CAGD,qC,CACC,iBAIF,A,6BACC,0B,CACC,W,CACA,c,CACA,W,CACA,Q,CAGD,yC,CACC,W,CACA,Q,CACA,e,CAID,wC,CADA,wC,CAEC,e,CAGD,sC,CACC,iBAUF,Q,CACC,wB,CACA,8B,CACA,6B,CACA,8B,CACA,qB,CACA,6C,CACA,oC,CACA,wC,CACA,kD,CACA,yB,CACA,uC,CACA,wC,CACA,+B,CACA,gC,CACA,gC,CACA,a,CACA,+B,CACA,sC,CACA,iB,CACA,wC,CACA,sC,CACA,e,CACA,gB,CACA,oB,CACA,gB,CACA,mB,CACA,qB,CACA,iB,CACA,kB,CACA,mB,CACA,e,CACA,qC,CACA,oB,CACA,S,CAGD,a,CACC,iC,CAGD,uB,CACC,a,CACA,mC,CACA,qC,CAGD,+B,CACC,iB,CACA,U,CACA,wB,CACA,kB,CAID,2D,CADA,8B,CAEC,8C,CAID,mE,CADA,sC,CAEC,Q,CACA,mF,CACA,qC,CAKD,6D,CADA,8B,CAEC,4C,CACA,oC,CACA,oC,CAID,qE,CADA,sC,CAEC,U,CACA,0H,CACA,uC,CAKD,8D,CADA,iC,CAEC,2C,CAID,sE,CADA,yC,CAEC,W,CACA,oF,CACA,wC,CAKD,4D,CADA,gC,CAEC,6C,CACA,oC,CACA,oC,CAID,oE,CADA,wC,CAEC,S,CACA,0H,CACA,sC,CAID,c,CACC,qC,CACA,+D,CACA,6B,CACA,iB,CACA,qC,CACA,6C,CACA,8D,CACA,gE,CASD,Q,CACC,wB,CACA,+B,CACA,+C,CACA,6C,CACA,gD,CACA,iE,CACA,kD,CACA,uG,CACA,6D,CACA,qC,CACA,oC,CACA,yD,CACA,8C,CACA,2C,CACA,mE,CACA,mC,CACA,mC,CACA,wD,CACA,6B,CACA,gC,CACA,wD,CACA,gC,CACA,a,CACA,qC,CACA,sC,CACA,iB,CACA,wC,CACA,sC,CACA,e,CACA,gB,CACA,oB,CACA,gB,CACA,mB,CACA,qB,CACA,iB,CACA,kB,CACA,mB,CACA,e,CACA,qC,CACA,oB,CACA,qC,CACA,2B,CACA,0E,CACA,6C,CACA,uC,CAGD,uB,CACC,a,CACA,mC,CACA,qC,CAID,8B,CADA,+B,CAEC,iB,CACA,a,CACA,U,CACA,wB,CACA,kB,CACA,c,CAID,2D,CADA,8B,CAEC,iF,CAMD,kE,CAFA,mE,CACA,qC,CAFA,sC,CAIC,mF,CAID,mE,CADA,sC,CAEC,Q,CACA,+C,CAID,kE,CADA,qC,CAEC,qC,CACA,qC,CAKD,6D,CADA,8B,CAEC,+E,CACA,oC,CACA,oC,CAMD,oE,CAFA,qE,CACA,qC,CAFA,sC,CAIC,0H,CAID,qE,CADA,sC,CAEC,M,CACA,iD,CAID,oE,CADA,qC,CAEC,mC,CACA,uC,CAKD,8D,CADA,iC,CAEC,8E,CAMD,qE,CAFA,sE,CACA,wC,CAFA,yC,CAIC,oF,CAID,sE,CADA,yC,CAEC,K,CACA,kD,CAID,qE,CADA,wC,CAEC,kC,CACA,wC,CAID,uE,CADA,0C,CAEC,iB,CACA,K,CACA,Q,CACA,a,CACA,mC,CACA,mD,CACA,U,CACA,8E,CAKD,4D,CADA,gC,CAEC,gF,CACA,oC,CACA,oC,CAMD,mE,CAFA,oE,CACA,uC,CAFA,wC,CAIC,0H,CAID,oE,CADA,wC,CAEC,O,CACA,gD,CAID,mE,CADA,uC,CAEC,oC,CACA,sC,CAID,e,CACC,6E,CACA,e,CACA,4C,CACA,oC,CACA,4C,CACA,wF,CACA,4D,CACA,6D,CAGD,qB,CACC,Y,CAGD,a,CACC,yE,CACA,kC,CASD,S,CAQA,e,CAPC,iB,CAGD,uB,CACC,kB,CAGD,e,CAEC,U,CACA,e,CAGD,sB,CA6lCA,gB,CA5lCC,a,CACA,U,CACA,U,CAGD,c,CACC,iB,CACA,Y,CACA,U,CACA,U,CACA,kB,CACA,kC,CACA,0B,CACA,oC,CAGD,uCACC,c,CACC,iBAKF,mB,CACA,mB,CAFA,qB,CAGC,a,CAID,yB,CADA,wBAAwB,qB,CAEvB,0B,CAID,2B,CADA,wBAAwB,mB,CAEvB,2B,CAGD,6B,CACC,S,CACA,2B,CACA,c,CAID,sD,CACA,oD,CAFA,oC,CAGC,S,CACA,S,CAID,wC,CADA,0C,CAEC,S,CACA,S,CACA,yB,CAGD,uCAEC,wC,CADA,0C,CAEC,iBAKF,sB,CADA,sB,CAEC,iB,CACA,K,CACA,Q,CACA,S,CACA,Y,CACA,kB,CACA,sB,CACA,S,CACA,S,CACA,qB,CACA,iB,CACA,c,CACA,Q,CACA,U,CACA,4B,CAGD,uCAEC,sB,CADA,sB,CAEC,iBAMF,4B,CADA,4B,CAD8B,4B,CAA9B,4B,CAGC,qB,CACA,oB,CACA,S,CACA,U,CAGD,sB,CACC,M,CAGD,sB,CACC,O,CAID,2B,CADA,2B,CAEC,oB,CACA,Y,CACA,a,CACA,gC,CACA,2B,CACA,uB,CACA,iB,CAGD,2B,CACC,6B,CAGD,2B,CACC,6B,CAYD,2B,CACC,2Q,CAGD,2B,CACC,4Q,CAGD,oB,CACC,iB,CACA,O,CACA,Q,CACA,M,CACA,S,CACA,Y,CACA,sB,CACA,S,CACA,gB,CACA,kB,CACA,e,CAGD,qC,CACC,sB,CACA,a,CACA,c,CACA,e,CACA,S,CACA,qB,CACA,oB,CACA,kB,CACA,c,CACA,gC,CACA,2B,CACA,Q,CACA,oC,CACA,uC,CACA,U,CACA,2B,CAGD,uCACC,qC,CACC,iBAIF,4B,CACC,S,CAGD,iB,CACC,iB,CACA,S,CACA,c,CACA,Q,CACA,mB,CACA,sB,CACA,qB,CACA,iB,CAID,0D,CADA,0D,CAiBA,oE,CAdA,yD,CADA,yD,CAgBA,mE,CAdC,gC,CAGD,0D,CACA,yD,CACC,2Q,CAGD,0D,CACA,yD,CACC,4Q,CAQD,gD,CACA,+C,CACC,qB,CAUD,e,CADA,a,CAEC,oB,CACA,6B,CACA,+B,CACA,+C,CACA,iB,CACA,4F,CASD,e,CACC,qD,CACA,sD,CACA,uE,CACA,0D,CACA,kC,CACA,0C,CACA,wD,CACA,8B,CAGD,kB,CACC,2C,CACA,4C,CACA,0D,CAcD,a,CACC,qD,CACA,sD,CACA,uE,CACA,kC,CACA,wC,CACA,6B,CACA,S,CAGD,gB,CACC,2C,CACA,4C,CAGD,uCACC,e,CACA,a,CACC,mCAUF,U,CAGA,a,CACA,a,CACA,a,CAHA,a,CADA,c,CAKC,0B,CACA,8B,CACA,0B,CACA,6B,CACA,6B,CACA,4C,CACA,sC,CACA,kD,CACA,0D,CACA,iD,CACA,oD,CACA,yD,CAGD,4BACC,a,CACC,c,CACA,Q,CACA,kC,CACA,Y,CACA,qB,CACA,c,CACA,+B,CACA,iB,CACA,uC,CACA,2B,CACA,S,CACA,2CAIF,A,gEACC,a,CACC,iBAIF,A,4BACC,6B,CACC,K,CACA,M,CACA,+B,CACA,oF,CACA,2B,CAGD,2B,CACC,K,CACA,O,CACA,+B,CACA,mF,CACA,0B,CAaD,8B,CAVA,2B,CAWC,O,CACA,M,CACA,iC,CACA,e,CAdD,2B,CACC,K,CAKA,qF,CACA,2B,CAGD,8B,CAKC,kF,CACA,0B,CAID,uBAAuB,Q,CADvB,qB,CAEC,c,CAID,oB,CACA,kB,CAFA,qB,CAGC,oBAIF,A,yBACC,a,CACC,0B,CACA,6B,CACA,sC,CAGD,+B,CACC,Y,CAGD,6B,CACC,Y,CACA,W,CACA,S,CACA,kB,CACA,wCAIF,A,4BACC,a,CACC,c,CACA,Q,CACA,kC,CACA,Y,CACA,qB,CACA,c,CACA,+B,CACA,iB,CACA,uC,CACA,2B,CACA,S,CACA,2CAIF,A,gEACC,a,CACC,iBAIF,A,4BACC,6B,CACC,K,CACA,M,CACA,+B,CACA,oF,CACA,2B,CAGD,2B,CACC,K,CACA,O,CACA,+B,CACA,mF,CACA,0B,CAaD,8B,CAVA,2B,CAWC,O,CACA,M,CACA,iC,CACA,e,CAdD,2B,CACC,K,CAKA,qF,CACA,2B,CAGD,8B,CAKC,kF,CACA,0B,CAID,uBAAuB,Q,CADvB,qB,CAEC,c,CAID,oB,CACA,kB,CAFA,qB,CAGC,oBAIF,A,yBACC,a,CACC,0B,CACA,6B,CACA,sC,CAGD,+B,CACC,Y,CAGD,6B,CACC,Y,CACA,W,CACA,S,CACA,kB,CACA,wCAIF,A,4BACC,a,CACC,c,CACA,Q,CACA,kC,CACA,Y,CACA,qB,CACA,c,CACA,+B,CACA,iB,CACA,uC,CACA,2B,CACA,S,CACA,2CAIF,A,gEACC,a,CACC,iBAIF,A,4BACC,6B,CACC,K,CACA,M,CACA,+B,CACA,oF,CACA,2B,CAGD,2B,CACC,K,CACA,O,CACA,+B,CACA,mF,CACA,0B,CAaD,8B,CAVA,2B,CAWC,O,CACA,M,CACA,iC,CACA,e,CAdD,2B,CACC,K,CAKA,qF,CACA,2B,CAGD,8B,CAKC,kF,CACA,0B,CAID,uBAAuB,Q,CADvB,qB,CAEC,c,CAID,oB,CACA,kB,CAFA,qB,CAGC,oBAIF,A,yBACC,a,CACC,0B,CACA,6B,CACA,sC,CAGD,+B,CACC,Y,CAGD,6B,CACC,Y,CACA,W,CACA,S,CACA,kB,CACA,wCAIF,A,6BACC,a,CACC,c,CACA,Q,CACA,kC,CACA,Y,CACA,qB,CACA,c,CACA,+B,CACA,iB,CACA,uC,CACA,2B,CACA,S,CACA,2CAIF,A,iEACC,a,CACC,iBAIF,A,6BACC,6B,CACC,K,CACA,M,CACA,+B,CACA,oF,CACA,2B,CAGD,2B,CACC,K,CACA,O,CACA,+B,CACA,mF,CACA,0B,CAaD,8B,CAVA,2B,CAWC,O,CACA,M,CACA,iC,CACA,e,CAdD,2B,CACC,K,CAKA,qF,CACA,2B,CAGD,8B,CAKC,kF,CACA,0B,CAID,uBAAuB,Q,CADvB,qB,CAEC,c,CAID,oB,CACA,kB,CAFA,qB,CAGC,oBAIF,A,0BACC,a,CACC,0B,CACA,6B,CACA,sC,CAGD,+B,CACC,Y,CAGD,6B,CACC,Y,CACA,W,CACA,S,CACA,kB,CACA,wCAIF,A,6BACC,c,CACC,c,CACA,Q,CACA,kC,CACA,Y,CACA,qB,CACA,c,CACA,+B,CACA,iB,CACA,uC,CACA,2B,CACA,S,CACA,2CAIF,A,iEACC,c,CACC,iBAIF,A,6BACC,8B,CACC,K,CACA,M,CACA,+B,CACA,oF,CACA,2B,CAGD,4B,CACC,K,CACA,O,CACA,+B,CACA,mF,CACA,0B,CAaD,+B,CAVA,4B,CAWC,O,CACA,M,CACA,iC,CACA,e,CAdD,4B,CACC,K,CAKA,qF,CACA,2B,CAGD,+B,CAKC,kF,CACA,0B,CAID,wBAAwB,Q,CADxB,sB,CAEC,c,CAID,qB,CACA,mB,CAFA,sB,CAGC,oBAIF,A,0BACC,c,CACC,0B,CACA,6B,CACA,sC,CAGD,gC,CACC,Y,CAGD,8B,CACC,Y,CACA,W,CACA,S,CACA,kB,CACA,wCAIF,U,CACC,c,CACA,Q,CACA,kC,CACA,Y,CACA,qB,CACA,c,CACA,+B,CACA,iB,CACA,uC,CACA,2B,CACA,S,CACA,yC,CAGD,uCACC,U,CACC,iBAIF,0B,CACC,K,CACA,M,CACA,+B,CACA,oF,CACA,2B,CAGD,wB,CACC,K,CACA,O,CACA,+B,CACA,mF,CACA,0B,CAaD,2B,CAVA,wB,CAWC,O,CACA,M,CACA,iC,CACA,e,CAdD,wB,CACC,K,CAKA,qF,CACA,2B,CAGD,2B,CAKC,kF,CACA,0B,CAID,oBAAoB,Q,CADpB,kB,CAEC,c,CAID,iB,CACA,e,CAFA,kB,CAGC,kB,CAGD,mB,CACC,c,CACA,K,CACA,M,CACA,Y,CACA,W,CACA,Y,CACA,gC,CAGD,wB,CACC,S,CAGD,wB,CACC,U,CAGD,iB,CACC,Y,CACA,kB,CACA,6B,CACA,mE,CAGD,4B,CACC,qF,CACA,kD,CACA,oD,CACA,qD,CAGD,gB,CACC,e,CACA,iD,CAGD,e,CACC,W,CACA,mE,CACA,e,CASD,Q,CACC,qC,CACA,2D,CACA,gE,CACA,mE,CACA,8C,CACA,oC,CACA,gD,CACA,wD,CACA,4B,CACA,8B,CACA,kC,CACA,qE,CACA,iE,CACA,4D,CACA,6B,CACA,oC,CACA,sD,CACA,4D,CACA,0D,CACA,oC,CACA,c,CACA,K,CACA,M,CACA,+B,CACA,6B,CACA,+B,CACA,Y,CACA,qB,CACA,+C,CACA,0F,CACA,6C,CACA,S,CAGD,yBACC,SAAS,uB,CACR,sC,CAGD,c,CACC,kDAIF,A,yBACC,SAAS,uB,CACR,sC,CAGD,c,CACC,kDAIF,A,yBACC,SAAS,uB,CACR,sC,CAGD,c,CACC,kDAIF,A,0BACC,SAAS,uB,CACR,sC,CAGD,c,CACC,kDAIF,A,0BACC,SAAS,wB,CACR,sC,CAGD,e,CACC,kDAIF,0B,CACC,Y,CAGD,wB,CACC,Y,CACA,qB,CACA,W,CACA,iC,CACA,e,CAGD,c,CACC,6C,CACA,gD,CACA,+C,CACA,2C,CACA,mC,CACA,oB,CACA,kB,CAID,oB,CADA,oB,CAEC,yC,CAGD,Y,CACC,wD,CACA,wD,CACA,2B,CACA,2C,CACA,uD,CACA,6D,CACA,Y,CACA,qB,CACA,c,CACA,e,CACA,e,CAGD,6B,CACA,2B,CACC,oC,CACA,2B,CACA,4B,CAGD,e,CACC,a,CACA,yC,CACA,e,CACA,4C,CACA,gD,CAGD,gB,CACC,Q,CACA,0C,CACA,e,CACA,oE,CACA,S,CASD,Y,CACC,oB,CACA,c,CACA,qB,CACA,W,CACA,6B,CACA,U,CAGD,wB,CACC,oB,CACA,U,CAGD,e,CACC,e,CAGD,e,CACC,e,CAGD,e,CACC,gB,CAGD,8B,CACC,kD,CASD,iB,CACC,oH,CAMA,4G,CAMA,2B,CACA,mB,CACA,6C,CA4BD,gB,CAQA,kB,CAEC,mE,CAEA,qC,CACA,sC,CAbD,gB,CACC,+C,CAEA,8E,CAKD,kB,CACC,iD,CAEA,gF,CAKD,gB,CACC,+C,CAEA,8E,CAKD,a,CARA,gB,CAgBA,gB,CAEC,mE,CAEA,qC,CACA,sC,CAbD,a,CACC,4C,CAEA,2E,CAKD,gB,CACC,+C,CAEA,8E,CAKD,e,CACC,8C,CAEA,6E,CAHD,e,CAgBA,a,CARA,c,CAUC,mE,CAEA,qC,CACA,sC,CAbD,c,CACC,6C,CAEA,4E,CAKD,a,CACC,4C,CAEA,2E,CAWD,a,CACC,oF,CACA,qH,CACA,6G,CAID,mB,CADA,mB,CAEC,qE,CACA,uG,CACA,+F,CAGD,e,CACC,sF,CACA,uH,CACA,+G,CAID,qB,CADA,qB,CAEC,uE,CACA,yG,CACA,iG,CAGD,a,CACC,oF,CACA,qH,CACA,6G,CAID,mB,CADA,mB,CAEC,qE,CACA,uG,CACA,+F,CAGD,U,CACC,iF,CACA,kH,CACA,0G,CAID,gB,CADA,gB,CAEC,kE,CACA,oG,CACA,4F,CAGD,a,CACC,oF,CACA,qH,CACA,6G,CAID,mB,CADA,mB,CAEC,qE,CACA,uG,CACA,+F,CAGD,Y,CACC,mF,CACA,oH,CACA,4G,CAID,kB,CADA,kB,CAEC,oE,CACA,sG,CACA,8F,CAGD,W,CACC,kF,CACA,mH,CACA,2G,CAID,iB,CADA,iB,CAEC,mE,CACA,qG,CACA,6F,CAGD,U,CACC,iF,CACA,kH,CACA,0G,CAID,gB,CADA,gB,CAEC,kE,CACA,oG,CACA,4F,CAGD,mB,CACC,4E,CACA,8G,CACA,sG,CAID,yB,CADA,yB,CAEC,+E,CACA,iH,CACA,yG,CASD,iB,CACC,mB,CACA,2J,CAGD,mB,CACC,+E,CAGD,qB,CACC,iF,CAGD,mB,CACC,+E,CAGD,gB,CACC,4E,CAGD,mB,CACC,+E,CAGD,kB,CACC,8E,CAGD,iB,CACC,6E,CAGD,gB,CACC,4E,CASD,U,CACG,mB,CACA,W,CACA,kB,CACA,sF,CACA,8E,CACA,sD,CACA,kC,CACA,0B,CAGH,c,CACG,a,CACA,S,CACA,U,CACA,iB,CACA,oC,CAGH,uCACG,c,CACE,iBAKL,kC,CADA,0B,CAEG,kE,CAiBH,a,CARA,U,CASC,c,CACA,O,CAEA,M,CACA,Y,CAbD,U,CAEC,K,CAMD,a,CAGC,Q,CAYD,c,CAPA,W,CAQC,uB,CACA,e,CAEA,Y,CAXD,W,CAGC,K,CAID,c,CAGC,Q,CAID,yBAQC,iB,CAPA,c,CAQC,uB,CACA,e,CAEA,Y,CAXD,c,CAGC,K,CAID,iB,CAGC,UAKF,A,yBAQC,iB,CAPA,c,CAQC,uB,CACA,e,CAEA,Y,CAXD,c,CAGC,K,CAID,iB,CAGC,UAKF,A,yBAQC,iB,CAPA,c,CAQC,uB,CACA,e,CAEA,Y,CAXD,c,CAGC,K,CAID,iB,CAGC,UAKF,A,0BAQC,iB,CAPA,c,CAQC,uB,CACA,e,CAEA,Y,CAXD,c,CAGC,K,CAID,iB,CAGC,UAKF,A,0BAQC,kB,CAPA,e,CAQC,uB,CACA,e,CAEA,Y,CAXD,e,CAGC,K,CAID,kB,CAGC,UAWF,M,CAWA,Q,CAVC,iB,CACA,U,CAGD,c,CACC,a,CACA,kC,CACA,U,CAGD,Q,CACC,iB,CACA,K,CACA,M,CAEA,W,CAGD,U,CACC,sB,CAGD,U,CACC,qB,CAGD,W,CACC,wB,CAGD,W,CACC,gC,CASD,O,CAOA,O,CACC,Y,CAGA,kB,CAXD,O,CAEC,kB,CACA,kB,CAID,O,CAEC,a,CACA,qB,CAUD,sB,CACC,iB,CACA,K,CACA,O,CACA,Q,CACA,M,CACA,S,CACA,U,CASD,c,CACC,e,CACA,sB,CACA,kB,CASD,G,CACC,oB,CACA,kB,CACA,4B,CACA,c,CACA,6B,CACA,W,CASD,gB,CACA,+BAA+B,M,MAAY,c,CAC1C,mB,CACA,oB,CACA,mB,CACA,qB,CACA,yB,CACA,4B,CACA,4B,CACA,kB,CAID,+BAA+B,M,MAAY,a,MAAmB,Q,CAD9D,qBAAqB,Q,CAEpB,2B,CASD,W,CACC,iB,CACA,2E,CAGD,a,CAKA,W,CAJC,iB,CACA,6E,CAGD,W,CAEC,2E,CAGD,Q,CAKA,W,CAJC,iB,CACA,wE,CAGD,W,CAEC,2E,CAGD,U,CAKA,S,CAJC,iB,CACA,0E,CAGD,S,CAEC,yE,CAQD,S,CALA,Q,CACC,iB,CACA,wE,CAGD,S,CAEC,yE,CAQD,Q,CALA,S,CACC,iB,CACA,yE,CAGD,Q,CAEC,2E,CAGD,e,CACC,iB,CACA,sC,CAGD,kB,CACC,iB,CACA,gF,CAGD,iB,CACC,iB,CACA,+E,CAGD,iB,CACC,iB,CACA,+E,CAGD,c,CACC,mB,CAGD,c,CACC,oB,CAGD,c,CACC,mB,CAGD,c,CACC,oB,CAGD,e,CACC,iB,CAGD,kB,CACC,sD,CAGD,oB,CACC,wD,CAGD,kB,CACC,sD,CAGD,e,CACC,mD,CAGD,kB,CACC,sD,CAGD,iB,CACC,qD,CAGD,gB,CACC,oD,CAGD,e,CACC,mD,CAGD,Y,CACC,6C,CASD,O,CACC,qF,CAGD,S,CACC,kB,CAGD,W,CACC,yF,CAGD,a,CACC,sB,CAGD,W,CACC,2F,CAGD,a,CACC,wB,CAGD,c,CACC,4F,CAGD,gB,CACC,yB,CAGD,a,CACC,0F,CAGD,e,CACC,uB,CAGD,e,CAKA,iB,CAJC,qB,CACA,2E,CAGD,iB,CAEC,6E,CAQD,Y,CALA,e,CACC,qB,CACA,2E,CAGD,Y,CAEC,wE,CAQD,c,CALA,e,CACC,qB,CACA,2E,CAGD,c,CAEC,0E,CAQD,Y,CALA,a,CACC,qB,CACA,yE,CAGD,Y,CAEC,wE,CAGD,a,CAKA,a,CAJC,qB,CACA,yE,CAGD,a,CAEC,yE,CAGD,sB,CACC,sD,CAGD,wB,CACC,wD,CAGD,sB,CACC,sD,CAGD,mB,CACC,mD,CAGD,sB,CACC,sD,CAGD,qB,CACC,qD,CAGD,oB,CACC,oD,CAGD,mB,CACC,mD,CAGD,S,CACC,+C,CAGD,S,CACC,+C,CAGD,S,CACC,+C,CAGD,S,CACC,+C,CAGD,S,CACC,+C,CAGD,kB,CACC,uB,CAGD,kB,CACC,wB,CAGD,kB,CACC,uB,CAGD,kB,CACC,wB,CAGD,mB,CACC,qB,CAGD,Q,CACC,+C,CAGD,U,CACC,yB,CAGD,U,CACC,kD,CAGD,U,CACC,+C,CAGD,U,CACC,kD,CAGD,U,CACC,kD,CAGD,U,CACC,mD,CAGD,e,CACC,2B,CAGD,a,CACC,oD,CAGD,Y,CACC,wD,CACA,yD,CAGD,c,CACC,kC,CACA,mC,CAGD,c,CACC,2D,CACA,4D,CAGD,c,CACC,wD,CACA,yD,CAGD,c,CACC,2D,CACA,4D,CAGD,c,CACC,2D,CACA,4D,CAGD,c,CACC,4D,CACA,6D,CAGD,mB,CACC,oC,CACA,qC,CAGD,iB,CACC,6D,CACA,8D,CAGD,Y,CACC,yD,CACA,4D,CAGD,c,CACC,mC,CACA,sC,CAGD,c,CACC,4D,CACA,+D,CAGD,c,CACC,yD,CACA,4D,CAGD,c,CACC,4D,CACA,+D,CAGD,c,CACC,4D,CACA,+D,CAGD,c,CACC,6D,CACA,gE,CAGD,mB,CACC,qC,CACA,wC,CAGD,iB,CACC,8D,CACA,iE,CAGD,e,CACC,4D,CACA,2D,CAGD,iB,CACC,sC,CACA,qC,CAGD,iB,CACC,+D,CACA,8D,CAGD,iB,CACC,4D,CACA,2D,CAGD,iB,CACC,+D,CACA,8D,CAGD,iB,CACC,+D,CACA,8D,CAGD,iB,CACC,gE,CACA,+D,CAGD,sB,CACC,wC,CACA,uC,CAGD,oB,CACC,iE,CACA,gE,CAGD,c,CACC,2D,CACA,wD,CAGD,gB,CACC,qC,CACA,kC,CAGD,gB,CACC,8D,CACA,2D,CAGD,gB,CACC,2D,CACA,wD,CAGD,gB,CACC,8D,CACA,2D,CAGD,gB,CACC,8D,CACA,2D,CAGD,gB,CACC,+D,CACA,4D,CAGD,qB,CACC,uC,CACA,oC,CAGD,mB,CACC,gE,CACA,6D,CASD,O,CACC,yC,CAGD,U,CACC,4C,CAGD,U,CACC,4C,CAGD,Y,CACC,yB,CASD,a,CACC,mB,CACA,kE,CAGD,e,CAKA,a,CAJC,mB,CACA,oE,CAGD,a,CAEC,kE,CAGD,U,CAKA,a,CAJC,mB,CACA,+D,CAGD,a,CAEC,kE,CAGD,Y,CAKA,W,CAJC,mB,CACA,iE,CAGD,W,CAEC,gE,CAQD,W,CALA,U,CACC,mB,CACA,+D,CAGD,W,CAEC,gE,CAQD,U,CALA,W,CACC,mB,CACA,gE,CAGD,U,CAEC,qE,CAGD,W,CACC,mB,CACA,yC,CAGD,c,CAKA,c,CAJC,mB,CACA,4C,CAGD,c,CAEC,4C,CAGD,oB,CACC,mB,CACA,yC,CAGD,mB,CACC,mB,CACA,wC,CAGD,mB,CACC,mB,CACA,wC,CAGD,W,CACC,mB,CACA,uB,CAGD,gB,CACC,sB,CAGD,gB,CACC,qB,CAGD,gB,CACC,sB,CAGD,iB,CACC,mB,CAGD,sB,CACC,+C,CAGD,wB,CACC,iD,CAGD,sB,CACC,+C,CAGD,mB,CACC,4C,CAGD,sB,CACC,+C,CAGD,qB,CACC,8C,CAGD,oB,CACC,6C,CAGD,mB,CACC,4C,CASD,S,CACC,wB,CAGD,e,CACC,8B,CAGD,Q,CACC,uB,CAGD,O,CACC,sB,CAGD,c,CACC,6B,CAGD,Q,CACC,uB,CAGD,Y,CACC,2B,CAGD,a,CACC,4B,CAGD,O,CACC,sB,CAGD,c,CACC,6B,CAGD,O,CACC,sB,CAGD,yBACC,Y,CACC,wB,CAGD,kB,CACC,8B,CAGD,W,CACC,uB,CAGD,U,CACC,sB,CAGD,iB,CACC,6B,CAGD,W,CACC,uB,CAGD,e,CACC,2B,CAGD,gB,CACC,4B,CAGD,U,CACC,sB,CAGD,iB,CACC,6B,CAGD,U,CACC,wBAIF,A,yBACC,Y,CACC,wB,CAGD,kB,CACC,8B,CAGD,W,CACC,uB,CAGD,U,CACC,sB,CAGD,iB,CACC,6B,CAGD,W,CACC,uB,CAGD,e,CACC,2B,CAGD,gB,CACC,4B,CAGD,U,CACC,sB,CAGD,iB,CACC,6B,CAGD,U,CACC,wBAIF,A,yBACC,Y,CACC,wB,CAGD,kB,CACC,8B,CAGD,W,CACC,uB,CAGD,U,CACC,sB,CAGD,iB,CACC,6B,CAGD,W,CACC,uB,CAGD,e,CACC,2B,CAGD,gB,CACC,4B,CAGD,U,CACC,sB,CAGD,iB,CACC,6B,CAGD,U,CACC,wBAIF,A,0BACC,Y,CACC,wB,CAGD,kB,CACC,8B,CAGD,W,CACC,uB,CAGD,U,CACC,sB,CAGD,iB,CACC,6B,CAGD,W,CACC,uB,CAGD,e,CACC,2B,CAGD,gB,CACC,4B,CAGD,U,CACC,sB,CAGD,iB,CACC,6B,CAGD,U,CACC,wBAIF,A,0BACC,a,CACC,wB,CAGD,mB,CACC,8B,CAGD,Y,CACC,uB,CAGD,W,CACC,sB,CAGD,kB,CACC,6B,CAGD,Y,CACC,uB,CAGD,gB,CACC,2B,CAGD,iB,CACC,4B,CAGD,W,CACC,sB,CAGD,kB,CACC,6B,CAGD,W,CACC,wBAIF,A,aACC,e,CACC,wB,CAGD,qB,CACC,8B,CAGD,c,CACC,uB,CAGD,a,CACC,sB,CAGD,c,CACC,uB,CAGD,kB,CACC,2B,CAGD,mB,CACC,4B,CAGD,a,CACC,sB,CAGD,oB,CACC,6B,CAGD,a,CACC,wBAUF,U,CACC,uB,CAGD,S,CACC,4B,CAGD,Y,CACC,+B,CAGD,iB,CACC,oC,CAGD,oB,CACC,uC,CAGD,Y,CACC,qB,CAGD,Y,CACC,qB,CAGD,c,CACC,uB,CAGD,c,CACC,uB,CAGD,U,CACC,wB,CAGD,Y,CACC,0B,CAGD,kB,CACC,gC,CAGD,sB,CACC,oC,CAGD,oB,CACC,kC,CAGD,uB,CACC,gC,CAGD,wB,CACC,uC,CAGD,uB,CACC,sC,CAGD,uB,CACC,sC,CAGD,kB,CACC,gC,CAGD,gB,CACC,8B,CAGD,mB,CACC,4B,CAGD,qB,CACC,8B,CAGD,oB,CACC,6B,CAGD,oB,CACC,kC,CAGD,kB,CACC,gC,CAGD,qB,CACC,8B,CAGD,sB,CACC,qC,CAGD,qB,CACC,oC,CAGD,sB,CACC,+B,CAGD,gB,CACC,yB,CAGD,iB,CACC,+B,CAGD,e,CACC,6B,CAGD,kB,CACC,2B,CAGD,oB,CACC,6B,CAGD,mB,CACC,4B,CAGD,Y,CACC,kB,CAGD,Q,CACC,iB,CAGD,Q,CACC,iB,CAGD,Q,CACC,iB,CAGD,Q,CACC,iB,CAGD,Q,CACC,iB,CAGD,Q,CACC,iB,CAGD,W,CACC,iB,CAGD,yBACC,a,CACC,uB,CAGD,Y,CACC,4B,CAGD,e,CACC,+B,CAGD,oB,CACC,oC,CAGD,uB,CACC,uC,CAGD,e,CACC,qB,CAGD,e,CACC,qB,CAGD,iB,CACC,uB,CAGD,iB,CACC,uB,CAGD,a,CACC,wB,CAGD,e,CACC,0B,CAGD,qB,CACC,gC,CAGD,yB,CACC,oC,CAGD,uB,CACC,kC,CAGD,0B,CACC,gC,CAGD,2B,CACC,uC,CAGD,0B,CACC,sC,CAGD,0B,CACC,sC,CAGD,qB,CACC,gC,CAGD,mB,CACC,8B,CAGD,sB,CACC,4B,CAGD,wB,CACC,8B,CAGD,uB,CACC,6B,CAGD,uB,CACC,kC,CAGD,qB,CACC,gC,CAGD,wB,CACC,8B,CAGD,yB,CACC,qC,CAGD,wB,CACC,oC,CAGD,yB,CACC,+B,CAGD,mB,CACC,yB,CAGD,oB,CACC,+B,CAGD,kB,CACC,6B,CAGD,qB,CACC,2B,CAGD,uB,CACC,6B,CAGD,sB,CACC,4B,CAGD,e,CACC,kB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,c,CACC,mBAIF,A,yBACC,a,CACC,uB,CAGD,Y,CACC,4B,CAGD,e,CACC,+B,CAGD,oB,CACC,oC,CAGD,uB,CACC,uC,CAGD,e,CACC,qB,CAGD,e,CACC,qB,CAGD,iB,CACC,uB,CAGD,iB,CACC,uB,CAGD,a,CACC,wB,CAGD,e,CACC,0B,CAGD,qB,CACC,gC,CAGD,yB,CACC,oC,CAGD,uB,CACC,kC,CAGD,0B,CACC,gC,CAGD,2B,CACC,uC,CAGD,0B,CACC,sC,CAGD,0B,CACC,sC,CAGD,qB,CACC,gC,CAGD,mB,CACC,8B,CAGD,sB,CACC,4B,CAGD,wB,CACC,8B,CAGD,uB,CACC,6B,CAGD,uB,CACC,kC,CAGD,qB,CACC,gC,CAGD,wB,CACC,8B,CAGD,yB,CACC,qC,CAGD,wB,CACC,oC,CAGD,yB,CACC,+B,CAGD,mB,CACC,yB,CAGD,oB,CACC,+B,CAGD,kB,CACC,6B,CAGD,qB,CACC,2B,CAGD,uB,CACC,6B,CAGD,sB,CACC,4B,CAGD,e,CACC,kB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,c,CACC,mBAIF,A,yBACC,a,CACC,uB,CAGD,Y,CACC,4B,CAGD,e,CACC,+B,CAGD,oB,CACC,oC,CAGD,uB,CACC,uC,CAGD,e,CACC,qB,CAGD,e,CACC,qB,CAGD,iB,CACC,uB,CAGD,iB,CACC,uB,CAGD,a,CACC,wB,CAGD,e,CACC,0B,CAGD,qB,CACC,gC,CAGD,yB,CACC,oC,CAGD,uB,CACC,kC,CAGD,0B,CACC,gC,CAGD,2B,CACC,uC,CAGD,0B,CACC,sC,CAGD,0B,CACC,sC,CAGD,qB,CACC,gC,CAGD,mB,CACC,8B,CAGD,sB,CACC,4B,CAGD,wB,CACC,8B,CAGD,uB,CACC,6B,CAGD,uB,CACC,kC,CAGD,qB,CACC,gC,CAGD,wB,CACC,8B,CAGD,yB,CACC,qC,CAGD,wB,CACC,oC,CAGD,yB,CACC,+B,CAGD,mB,CACC,yB,CAGD,oB,CACC,+B,CAGD,kB,CACC,6B,CAGD,qB,CACC,2B,CAGD,uB,CACC,6B,CAGD,sB,CACC,4B,CAGD,e,CACC,kB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,c,CACC,mBAIF,A,0BACC,a,CACC,uB,CAGD,Y,CACC,4B,CAGD,e,CACC,+B,CAGD,oB,CACC,oC,CAGD,uB,CACC,uC,CAGD,e,CACC,qB,CAGD,e,CACC,qB,CAGD,iB,CACC,uB,CAGD,iB,CACC,uB,CAGD,a,CACC,wB,CAGD,e,CACC,0B,CAGD,qB,CACC,gC,CAGD,yB,CACC,oC,CAGD,uB,CACC,kC,CAGD,0B,CACC,gC,CAGD,2B,CACC,uC,CAGD,0B,CACC,sC,CAGD,0B,CACC,sC,CAGD,qB,CACC,gC,CAGD,mB,CACC,8B,CAGD,sB,CACC,4B,CAGD,wB,CACC,8B,CAGD,uB,CACC,6B,CAGD,uB,CACC,kC,CAGD,qB,CACC,gC,CAGD,wB,CACC,8B,CAGD,yB,CACC,qC,CAGD,wB,CACC,oC,CAGD,yB,CACC,+B,CAGD,mB,CACC,yB,CAGD,oB,CACC,+B,CAGD,kB,CACC,6B,CAGD,qB,CACC,2B,CAGD,uB,CACC,6B,CAGD,sB,CACC,4B,CAGD,e,CACC,kB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,c,CACC,mBAIF,A,0BACC,c,CACC,uB,CAGD,a,CACC,4B,CAGD,gB,CACC,+B,CAGD,qB,CACC,oC,CAGD,wB,CACC,uC,CAGD,gB,CACC,qB,CAGD,gB,CACC,qB,CAGD,kB,CACC,uB,CAGD,kB,CACC,uB,CAGD,c,CACC,wB,CAGD,gB,CACC,0B,CAGD,sB,CACC,gC,CAGD,0B,CACC,oC,CAGD,wB,CACC,kC,CAGD,2B,CACC,gC,CAGD,4B,CACC,uC,CAGD,2B,CACC,sC,CAGD,2B,CACC,sC,CAGD,sB,CACC,gC,CAGD,oB,CACC,8B,CAGD,uB,CACC,4B,CAGD,yB,CACC,8B,CAGD,wB,CACC,6B,CAGD,wB,CACC,kC,CAGD,sB,CACC,gC,CAGD,yB,CACC,8B,CAGD,0B,CACC,qC,CAGD,yB,CACC,oC,CAGD,0B,CACC,+B,CAGD,oB,CACC,yB,CAGD,qB,CACC,+B,CAGD,mB,CACC,6B,CAGD,sB,CACC,2B,CAGD,wB,CACC,6B,CAGD,uB,CACC,4B,CAGD,gB,CACC,kB,CAGD,Y,CACC,iB,CAGD,Y,CACC,iB,CAGD,Y,CACC,iB,CAGD,Y,CACC,iB,CAGD,Y,CACC,iB,CAGD,Y,CACC,iB,CAGD,e,CACC,mBAUF,Y,CACC,oB,CAGD,U,CACC,qB,CAGD,W,CACC,oB,CAGD,yBACC,e,CACC,oB,CAGD,a,CACC,qB,CAGD,c,CACC,sBAIF,A,yBACC,e,CACC,oB,CAGD,a,CACC,qB,CAGD,c,CACC,sBAIF,A,yBACC,e,CACC,oB,CAGD,a,CACC,qB,CAGD,c,CACC,sBAIF,A,0BACC,e,CACC,oB,CAGD,a,CACC,qB,CAGD,c,CACC,sBAIF,A,0BACC,gB,CACC,oB,CAGD,c,CACC,qB,CAGD,e,CACC,sBAUF,gB,CACC,iC,CACA,8B,CACA,yB,CAGD,iB,CACC,kC,CACA,+B,CACA,0B,CAGD,iB,CACC,kC,CACA,+B,CACA,0B,CAGD,Q,CACC,6B,CAGD,Q,CACC,6B,CASD,gB,CAIA,4B,CAHC,qB,CAOD,gB,CAIA,4B,CAHC,sB,CAOD,gB,CAIA,4B,CAHC,qB,CAOD,gB,CAIA,4B,CAHC,sB,CAOD,iB,CAIA,6B,CAHC,mB,CAOD,c,CAIA,0B,CAHC,gE,CAOD,c,CAIA,0B,CAHC,gE,CAOD,c,CAIA,0B,CAHC,gE,CAOD,uB,CAMA,yB,CALC,6B,CACA,oG,CACA,4F,CAGD,yB,CAEC,sG,CACA,8F,CASD,oB,CANA,uB,CACC,6B,CACA,oG,CACA,4F,CAGD,oB,CAEC,iG,CACA,yF,CASD,sB,CANA,uB,CACC,6B,CACA,oG,CACA,4F,CAGD,sB,CAEC,mG,CACA,2F,CASD,oB,CANA,qB,CACC,6B,CACA,kG,CACA,0F,CAGD,oB,CAEC,iG,CACA,yF,CAGD,e,CACC,6B,CACA,0G,CACA,kG,CAGD,yB,CAIA,qC,CAHC,6B,CAOD,0B,CAIA,sC,CAHC,+B,CAOD,0B,CAIA,sC,CAHC,gC,CAOD,0B,CAIA,sC,CAHC,+B,CAOD,0B,CAIA,sC,CAHC,gC,CAOD,2B,CAIA,uC,CAHC,6B,CAaD,mB,CACC,4B,CAGD,iB,CACC,0B,CAGD,gB,CACC,yB,CAGD,iB,CACC,+B,CAGD,gB,CACC,yB,CAID,yBACC,sB,CACC,4B,CAGD,oB,CACC,0B,CAGD,mB,CACC,yB,CAGD,oB,CACC,+B,CAGD,mB,CACC,2BAIF,A,yBACC,sB,CACC,4B,CAGD,oB,CACC,0B,CAGD,mB,CACC,yB,CAGD,oB,CACC,+B,CAGD,mB,CACC,2BAIF,A,yBACC,sB,CACC,4B,CAGD,oB,CACC,0B,CAGD,mB,CACC,yB,CAGD,oB,CACC,+B,CAGD,mB,CACC,2BAIF,A,0BACC,sB,CACC,4B,CAGD,oB,CACC,0B,CAGD,mB,CACC,yB,CAGD,oB,CACC,+B,CAGD,mB,CACC,2BAIF,A,0BACC,uB,CACC,4B,CAGD,qB,CACC,0B,CAGD,oB,CACC,yB,CAGD,qB,CACC,+B,CAGD,oB,CACC,2BAUF,U,CACC,mB,CAGD,W,CACC,qB,CAGD,W,CACC,oB,CAGD,W,CACC,qB,CAGD,Y,CACC,mB,CASD,c,CACC,uB,CAGD,gB,CACC,yB,CAGD,iB,CACC,0B,CAGD,gB,CACC,yB,CAGD,gB,CACC,yB,CAGD,kB,CACC,2B,CAGD,mB,CACC,4B,CAGD,kB,CACC,2B,CAGD,gB,CACC,yB,CAGD,kB,CACC,2B,CAGD,mB,CACC,4B,CAGD,kB,CACC,2B,CAGD,yBACC,iB,CACC,uB,CAGD,mB,CACC,yB,CAGD,oB,CACC,0B,CAGD,mB,CACC,yB,CAGD,mB,CACC,yB,CAGD,qB,CACC,2B,CAGD,sB,CACC,4B,CAGD,qB,CACC,2B,CAGD,mB,CACC,yB,CAGD,qB,CACC,2B,CAGD,sB,CACC,4B,CAGD,qB,CACC,6BAIF,A,yBACC,iB,CACC,uB,CAGD,mB,CACC,yB,CAGD,oB,CACC,0B,CAGD,mB,CACC,yB,CAGD,mB,CACC,yB,CAGD,qB,CACC,2B,CAGD,sB,CACC,4B,CAGD,qB,CACC,2B,CAGD,mB,CACC,yB,CAGD,qB,CACC,2B,CAGD,sB,CACC,4B,CAGD,qB,CACC,6BAIF,A,yBACC,iB,CACC,uB,CAGD,mB,CACC,yB,CAGD,oB,CACC,0B,CAGD,mB,CACC,yB,CAGD,mB,CACC,yB,CAGD,qB,CACC,2B,CAGD,sB,CACC,4B,CAGD,qB,CACC,2B,CAGD,mB,CACC,yB,CAGD,qB,CACC,2B,CAGD,sB,CACC,4B,CAGD,qB,CACC,6BAIF,A,0BACC,iB,CACC,uB,CAGD,mB,CACC,yB,CAGD,oB,CACC,0B,CAGD,mB,CACC,yB,CAGD,mB,CACC,yB,CAGD,qB,CACC,2B,CAGD,sB,CACC,4B,CAGD,qB,CACC,2B,CAGD,mB,CACC,yB,CAGD,qB,CACC,2B,CAGD,sB,CACC,4B,CAGD,qB,CACC,6BAIF,A,0BACC,kB,CACC,uB,CAGD,oB,CACC,yB,CAGD,qB,CACC,0B,CAGD,oB,CACC,yB,CAGD,oB,CACC,yB,CAGD,sB,CACC,2B,CAGD,uB,CACC,4B,CAGD,sB,CACC,2B,CAGD,oB,CACC,yB,CAGD,sB,CACC,2B,CAGD,uB,CACC,4B,CAGD,sB,CACC,6BAUF,gB,CACC,yB,CAGD,kB,CACC,2B,CAGD,kB,CACC,2B,CAGD,e,CACC,wB,CAGD,gB,CACC,iC,CACA,yB,CAGD,M,CACC,e,CAGD,O,CACC,iB,CAGD,Q,CACC,kB,CAGD,S,CACC,kB,CAGD,U,CACC,oB,CAGD,W,CACC,qB,CAGD,Q,CACC,gB,CAGD,S,CACC,kB,CAGD,U,CACC,mB,CAGD,M,CACC,iB,CAGD,O,CACC,mB,CAGD,Q,CACC,oB,CAGD,iB,CACC,wC,CAGD,mB,CACC,oC,CAGD,mB,CACC,oC,CAGD,yBACC,mB,CACC,yB,CAGD,qB,CACC,2B,CAGD,qB,CACC,2B,CAGD,kB,CACC,wB,CAGD,mB,CACC,iC,CACA,yB,CAGD,S,CACC,e,CAGD,U,CACC,iB,CAGD,W,CACC,kB,CAGD,Y,CACC,kB,CAGD,a,CACC,oB,CAGD,c,CACC,qB,CAGD,W,CACC,gB,CAGD,Y,CACC,kB,CAGD,a,CACC,mB,CAGD,S,CACC,iB,CAGD,U,CACC,mB,CAGD,W,CACC,oB,CAGD,oB,CACC,wC,CAGD,sB,CACC,oC,CAGD,sB,CACC,sCAIF,A,yBACC,mB,CACC,yB,CAGD,qB,CACC,2B,CAGD,qB,CACC,2B,CAGD,kB,CACC,wB,CAGD,mB,CACC,iC,CACA,yB,CAGD,S,CACC,e,CAGD,U,CACC,iB,CAGD,W,CACC,kB,CAGD,Y,CACC,kB,CAGD,a,CACC,oB,CAGD,c,CACC,qB,CAGD,W,CACC,gB,CAGD,Y,CACC,kB,CAGD,a,CACC,mB,CAGD,S,CACC,iB,CAGD,U,CACC,mB,CAGD,W,CACC,oB,CAGD,oB,CACC,wC,CAGD,sB,CACC,oC,CAGD,sB,CACC,sCAIF,A,yBACC,mB,CACC,yB,CAGD,qB,CACC,2B,CAGD,qB,CACC,2B,CAGD,kB,CACC,wB,CAGD,mB,CACC,iC,CACA,yB,CAGD,S,CACC,e,CAGD,U,CACC,iB,CAGD,W,CACC,kB,CAGD,Y,CACC,kB,CAGD,a,CACC,oB,CAGD,c,CACC,qB,CAGD,W,CACC,gB,CAGD,Y,CACC,kB,CAGD,a,CACC,mB,CAGD,S,CACC,iB,CAGD,U,CACC,mB,CAGD,W,CACC,oB,CAGD,oB,CACC,wC,CAGD,sB,CACC,oC,CAGD,sB,CACC,sCAIF,A,0BACC,mB,CACC,yB,CAGD,qB,CACC,2B,CAGD,qB,CACC,2B,CAGD,kB,CACC,wB,CAGD,mB,CACC,iC,CACA,yB,CAGD,S,CACC,e,CAGD,U,CACC,iB,CAGD,W,CACC,kB,CAGD,Y,CACC,kB,CAGD,a,CACC,oB,CAGD,c,CACC,qB,CAGD,W,CACC,gB,CAGD,Y,CACC,kB,CAGD,a,CACC,mB,CAGD,S,CACC,iB,CAGD,U,CACC,mB,CAGD,W,CACC,oB,CAGD,oB,CACC,wC,CAGD,sB,CACC,oC,CAGD,sB,CACC,sCAIF,A,0BACC,oB,CACC,yB,CAGD,sB,CACC,2B,CAGD,sB,CACC,2B,CAGD,mB,CACC,wB,CAGD,oB,CACC,iC,CACA,yB,CAGD,U,CACC,e,CAGD,W,CACC,iB,CAGD,Y,CACC,kB,CAGD,a,CACC,kB,CAGD,c,CACC,oB,CAGD,e,CACC,qB,CAGD,Y,CACC,gB,CAGD,a,CACC,kB,CAGD,c,CACC,mB,CAGD,U,CACC,iB,CAGD,W,CACC,mB,CAGD,Y,CACC,oB,CAGD,qB,CACC,wC,CAGD,uB,CACC,oC,CAGD,uB,CACC,sCAUF,c,CACC,yB,CAGD,c,CACC,wB,CAGD,c,CACC,yB,CAGD,e,CACC,uB,CAGD,e,CACC,wB,CAGD,e,CACC,uB,CAGD,e,CACC,yB,CAGD,e,CACC,wB,CAGD,e,CACC,yB,CAGD,e,CACC,qB,CAGD,e,CACC,yB,CAGD,e,CACC,wB,CAGD,e,CACC,yB,CAGD,e,CACC,uB,CAGD,O,CACC,oB,CAGD,K,CACC,mB,CAGD,K,CACC,mB,CAGD,K,CACC,mB,CAGD,M,CACC,oB,CAGD,O,CACC,wB,CAGD,O,CACC,qB,CAGD,W,CACC,yB,CAGD,c,CACC,0B,CAGD,c,CACC,yB,CAGD,c,CACC,0B,CAGD,e,CACC,wB,CAGD,e,CACC,yB,CAGD,e,CACC,wB,CAGD,e,CACC,0B,CAGD,e,CACC,yB,CAGD,e,CACC,0B,CAGD,e,CACC,sB,CAGD,e,CACC,0B,CAGD,e,CACC,yB,CAGD,e,CACC,0B,CAGD,e,CACC,wB,CAGD,O,CACC,qB,CAGD,K,CACC,oB,CAGD,K,CACC,oB,CAGD,K,CACC,oB,CAGD,M,CACC,qB,CAGD,O,CACC,yB,CAGD,O,CACC,sB,CAGD,W,CACC,0B,CAGD,yBACC,iB,CACC,yB,CAGD,iB,CACC,wB,CAGD,iB,CACC,yB,CAGD,kB,CACC,uB,CAGD,kB,CACC,wB,CAGD,kB,CACC,uB,CAGD,kB,CACC,yB,CAGD,kB,CACC,wB,CAGD,kB,CACC,yB,CAGD,kB,CACC,qB,CAGD,kB,CACC,yB,CAGD,kB,CACC,wB,CAGD,kB,CACC,yB,CAGD,kB,CACC,uB,CAGD,U,CACC,oB,CAGD,Q,CACC,mB,CAGD,Q,CACC,mB,CAGD,Q,CACC,mB,CAGD,S,CACC,oB,CAGD,U,CACC,wB,CAGD,U,CACC,qB,CAGD,c,CACC,yB,CAGD,iB,CACC,0B,CAGD,iB,CACC,yB,CAGD,iB,CACC,0B,CAGD,kB,CACC,wB,CAGD,kB,CACC,yB,CAGD,kB,CACC,wB,CAGD,kB,CACC,0B,CAGD,kB,CACC,yB,CAGD,kB,CACC,0B,CAGD,kB,CACC,sB,CAGD,kB,CACC,0B,CAGD,kB,CACC,yB,CAGD,kB,CACC,0B,CAGD,kB,CACC,wB,CAGD,U,CACC,qB,CAGD,Q,CACC,oB,CAGD,Q,CACC,oB,CAGD,Q,CACC,oB,CAGD,S,CACC,qB,CAGD,U,CACC,yB,CAGD,U,CACC,sB,CAGD,c,CACC,4BAIF,A,yBACC,iB,CACC,yB,CAGD,iB,CACC,wB,CAGD,iB,CACC,yB,CAGD,kB,CACC,uB,CAGD,kB,CACC,wB,CAGD,kB,CACC,uB,CAGD,kB,CACC,yB,CAGD,kB,CACC,wB,CAGD,kB,CACC,yB,CAGD,kB,CACC,qB,CAGD,kB,CACC,yB,CAGD,kB,CACC,wB,CAGD,kB,CACC,yB,CAGD,kB,CACC,uB,CAGD,U,CACC,oB,CAGD,Q,CACC,mB,CAGD,Q,CACC,mB,CAGD,Q,CACC,mB,CAGD,S,CACC,oB,CAGD,U,CACC,wB,CAGD,U,CACC,qB,CAGD,c,CACC,yB,CAGD,iB,CACC,0B,CAGD,iB,CACC,yB,CAGD,iB,CACC,0B,CAGD,kB,CACC,wB,CAGD,kB,CACC,yB,CAGD,kB,CACC,wB,CAGD,kB,CACC,0B,CAGD,kB,CACC,yB,CAGD,kB,CACC,0B,CAGD,kB,CACC,sB,CAGD,kB,CACC,0B,CAGD,kB,CACC,yB,CAGD,kB,CACC,0B,CAGD,kB,CACC,wB,CAGD,U,CACC,qB,CAGD,Q,CACC,oB,CAGD,Q,CACC,oB,CAGD,Q,CACC,oB,CAGD,S,CACC,qB,CAGD,U,CACC,yB,CAGD,U,CACC,sB,CAGD,c,CACC,4BAIF,A,yBACC,iB,CACC,yB,CAGD,iB,CACC,wB,CAGD,iB,CACC,yB,CAGD,kB,CACC,uB,CAGD,kB,CACC,wB,CAGD,kB,CACC,uB,CAGD,kB,CACC,yB,CAGD,kB,CACC,wB,CAGD,kB,CACC,yB,CAGD,kB,CACC,qB,CAGD,kB,CACC,yB,CAGD,kB,CACC,wB,CAGD,kB,CACC,yB,CAGD,kB,CACC,uB,CAGD,U,CACC,oB,CAGD,Q,CACC,mB,CAGD,Q,CACC,mB,CAGD,Q,CACC,mB,CAGD,S,CACC,oB,CAGD,U,CACC,wB,CAGD,U,CACC,qB,CAGD,c,CACC,yB,CAGD,iB,CACC,0B,CAGD,iB,CACC,yB,CAGD,iB,CACC,0B,CAGD,kB,CACC,wB,CAGD,kB,CACC,yB,CAGD,kB,CACC,wB,CAGD,kB,CACC,0B,CAGD,kB,CACC,yB,CAGD,kB,CACC,0B,CAGD,kB,CACC,sB,CAGD,kB,CACC,0B,CAGD,kB,CACC,yB,CAGD,kB,CACC,0B,CAGD,kB,CACC,wB,CAGD,U,CACC,qB,CAGD,Q,CACC,oB,CAGD,Q,CACC,oB,CAGD,Q,CACC,oB,CAGD,S,CACC,qB,CAGD,U,CACC,yB,CAGD,U,CACC,sB,CAGD,c,CACC,4BAIF,A,0BACC,iB,CACC,yB,CAGD,iB,CACC,wB,CAGD,iB,CACC,yB,CAGD,kB,CACC,uB,CAGD,kB,CACC,wB,CAGD,kB,CACC,uB,CAGD,kB,CACC,yB,CAGD,kB,CACC,wB,CAGD,kB,CACC,yB,CAGD,kB,CACC,qB,CAGD,kB,CACC,yB,CAGD,kB,CACC,wB,CAGD,kB,CACC,yB,CAGD,kB,CACC,uB,CAGD,U,CACC,oB,CAGD,Q,CACC,mB,CAGD,Q,CACC,mB,CAGD,Q,CACC,mB,CAGD,S,CACC,oB,CAGD,U,CACC,wB,CAGD,U,CACC,qB,CAGD,c,CACC,yB,CAGD,iB,CACC,0B,CAGD,iB,CACC,yB,CAGD,iB,CACC,0B,CAGD,kB,CACC,wB,CAGD,kB,CACC,yB,CAGD,kB,CACC,wB,CAGD,kB,CACC,0B,CAGD,kB,CACC,yB,CAGD,kB,CACC,0B,CAGD,kB,CACC,sB,CAGD,kB,CACC,0B,CAGD,kB,CACC,yB,CAGD,kB,CACC,0B,CAGD,kB,CACC,wB,CAGD,U,CACC,qB,CAGD,Q,CACC,oB,CAGD,Q,CACC,oB,CAGD,Q,CACC,oB,CAGD,S,CACC,qB,CAGD,U,CACC,yB,CAGD,U,CACC,sB,CAGD,c,CACC,4BAIF,A,0BACC,kB,CACC,yB,CAGD,kB,CACC,wB,CAGD,kB,CACC,yB,CAGD,mB,CACC,uB,CAGD,mB,CACC,wB,CAGD,mB,CACC,uB,CAGD,mB,CACC,yB,CAGD,mB,CACC,wB,CAGD,mB,CACC,yB,CAGD,mB,CACC,qB,CAGD,mB,CACC,yB,CAGD,mB,CACC,wB,CAGD,mB,CACC,yB,CAGD,mB,CACC,uB,CAGD,W,CACC,oB,CAGD,S,CACC,mB,CAGD,S,CACC,mB,CAGD,S,CACC,mB,CAGD,U,CACC,oB,CAGD,W,CACC,wB,CAGD,W,CACC,qB,CAGD,e,CACC,yB,CAGD,kB,CACC,0B,CAGD,kB,CACC,yB,CAGD,kB,CACC,0B,CAGD,mB,CACC,wB,CAGD,mB,CACC,yB,CAGD,mB,CACC,wB,CAGD,mB,CACC,0B,CAGD,mB,CACC,yB,CAGD,mB,CACC,0B,CAGD,mB,CACC,sB,CAGD,mB,CACC,0B,CAGD,mB,CACC,yB,CAGD,mB,CACC,0B,CAGD,mB,CACC,wB,CAGD,W,CACC,qB,CAGD,S,CACC,oB,CAGD,S,CACC,oB,CAGD,S,CACC,oB,CAGD,U,CACC,qB,CAGD,W,CACC,yB,CAGD,W,CACC,sB,CAGD,e,CACC,4BAUF,I,CACC,kB,CAGD,I,CACC,mC,CAGD,I,CACC,mC,CAGD,I,CACC,mC,CAGD,I,CACC,mC,CAGD,I,CACC,mC,CAGD,O,CACC,qB,CAGD,K,CACC,4C,CAGD,K,CACC,4C,CAGD,K,CACC,4C,CAGD,K,CACC,4C,CAGD,K,CACC,4C,CAGD,K,CACC,wB,CACA,uB,CAGD,K,CACC,yC,CACA,wC,CAGD,K,CACC,yC,CACA,wC,CAGD,K,CACC,yC,CACA,wC,CAGD,K,CACC,yC,CACA,wC,CAGD,K,CACC,yC,CACA,wC,CAGD,Q,CACC,2B,CACA,0B,CAGD,M,CACC,kD,CACA,iD,CAGD,M,CACC,kD,CACA,iD,CAGD,M,CACC,kD,CACA,iD,CAGD,M,CACC,kD,CACA,iD,CAGD,M,CACC,kD,CACA,iD,CAGD,K,CACC,sB,CACA,yB,CAGD,K,CACC,uC,CACA,0C,CAGD,K,CACC,uC,CACA,0C,CAGD,K,CACC,uC,CACA,0C,CAGD,K,CACC,uC,CACA,0C,CAGD,K,CACC,uC,CACA,0C,CAGD,Q,CACC,yB,CACA,4B,CAGD,M,CACC,gD,CACA,mD,CAGD,M,CACC,gD,CACA,mD,CAGD,M,CACC,gD,CACA,mD,CAGD,M,CACC,gD,CACA,mD,CAGD,M,CACC,gD,CACA,mD,CAGD,K,CACC,sB,CAGD,K,CACC,uC,CAGD,K,CACC,uC,CAGD,K,CACC,uC,CAGD,K,CACC,uC,CAGD,K,CACC,uC,CAGD,Q,CACC,yB,CAGD,M,CACC,gD,CAGD,M,CACC,gD,CAGD,M,CACC,gD,CAGD,M,CACC,gD,CAGD,M,CACC,gD,CAGD,K,CACC,wB,CAGD,K,CACC,yC,CAGD,K,CACC,yC,CAGD,K,CACC,yC,CAGD,K,CACC,yC,CAGD,K,CACC,yC,CAGD,Q,CACC,2B,CAGD,M,CACC,kD,CAGD,M,CACC,kD,CAGD,M,CACC,kD,CAGD,M,CACC,kD,CAGD,M,CACC,kD,CAGD,K,CACC,yB,CAGD,K,CACC,0C,CAGD,K,CACC,0C,CAGD,K,CACC,0C,CAGD,K,CACC,0C,CAGD,K,CACC,0C,CAGD,Q,CACC,4B,CAGD,M,CACC,mD,CAGD,M,CACC,mD,CAGD,M,CACC,mD,CAGD,M,CACC,mD,CAGD,M,CACC,mD,CAGD,K,CACC,uB,CAGD,K,CACC,wC,CAGD,K,CACC,wC,CAGD,K,CACC,wC,CAGD,K,CACC,wC,CAGD,K,CACC,wC,CAGD,Q,CACC,0B,CAGD,M,CACC,iD,CAGD,M,CACC,iD,CAGD,M,CACC,iD,CAGD,M,CACC,iD,CAGD,M,CACC,iD,CAGD,I,CACC,mB,CAGD,I,CACC,oC,CAGD,I,CACC,oC,CAGD,I,CACC,oC,CAGD,I,CACC,oC,CAGD,I,CACC,oC,CAGD,K,CACC,yB,CACA,wB,CAGD,K,CACC,0C,CACA,yC,CAGD,K,CACC,0C,CACA,yC,CAGD,K,CACC,0C,CACA,yC,CAGD,K,CACC,0C,CACA,yC,CAGD,K,CACC,0C,CACA,yC,CAGD,K,CACC,uB,CACA,0B,CAGD,K,CACC,wC,CACA,2C,CAGD,K,CACC,wC,CACA,2C,CAGD,K,CACC,wC,CACA,2C,CAGD,K,CACC,wC,CACA,2C,CAGD,K,CACC,wC,CACA,2C,CAGD,K,CACC,uB,CAGD,K,CACC,wC,CAGD,K,CACC,wC,CAGD,K,CACC,wC,CAGD,K,CACC,wC,CAGD,K,CACC,wC,CAGD,K,CACC,yB,CAGD,K,CACC,0C,CAGD,K,CACC,0C,CAGD,K,CACC,0C,CAGD,K,CACC,0C,CAGD,K,CACC,0C,CAGD,K,CACC,0B,CAGD,K,CACC,2C,CAGD,K,CACC,2C,CAGD,K,CACC,2C,CAGD,K,CACC,2C,CAGD,K,CACC,2C,CAGD,K,CACC,wB,CAGD,K,CACC,yC,CAGD,K,CACC,yC,CAGD,K,CACC,yC,CAGD,K,CACC,yC,CAGD,K,CACC,yC,CAGD,M,CACC,e,CAGD,M,CACC,gC,CAGD,M,CACC,gC,CAGD,M,CACC,gC,CAGD,M,CACC,gC,CAGD,M,CACC,gC,CAGD,U,CACC,e,CAGD,U,CACC,oC,CAGD,U,CACC,oC,CAGD,U,CACC,oC,CAGD,U,CACC,oC,CAGD,U,CACC,oC,CAGD,a,CACC,2B,CACA,sB,CAGD,a,CACC,4C,CACA,uC,CAGD,a,CACC,4C,CACA,uC,CAGD,a,CACC,4C,CACA,uC,CAGD,a,CACC,4C,CACA,uC,CAGD,a,CACC,4C,CACA,uC,CAGD,yBACC,O,CACC,kB,CAGD,O,CACC,mC,CAGD,O,CACC,mC,CAGD,O,CACC,mC,CAGD,O,CACC,mC,CAGD,O,CACC,mC,CAGD,U,CACC,qB,CAGD,Q,CACC,4C,CAGD,Q,CACC,4C,CAGD,Q,CACC,4C,CAGD,Q,CACC,4C,CAGD,Q,CACC,4C,CAGD,Q,CACC,wB,CACA,uB,CAGD,Q,CACC,yC,CACA,wC,CAGD,Q,CACC,yC,CACA,wC,CAGD,Q,CACC,yC,CACA,wC,CAGD,Q,CACC,yC,CACA,wC,CAGD,Q,CACC,yC,CACA,wC,CAGD,W,CACC,2B,CACA,0B,CAGD,S,CACC,kD,CACA,iD,CAGD,S,CACC,kD,CACA,iD,CAGD,S,CACC,kD,CACA,iD,CAGD,S,CACC,kD,CACA,iD,CAGD,S,CACC,kD,CACA,iD,CAGD,Q,CACC,sB,CACA,yB,CAGD,Q,CACC,uC,CACA,0C,CAGD,Q,CACC,uC,CACA,0C,CAGD,Q,CACC,uC,CACA,0C,CAGD,Q,CACC,uC,CACA,0C,CAGD,Q,CACC,uC,CACA,0C,CAGD,W,CACC,yB,CACA,4B,CAGD,S,CACC,gD,CACA,mD,CAGD,S,CACC,gD,CACA,mD,CAGD,S,CACC,gD,CACA,mD,CAGD,S,CACC,gD,CACA,mD,CAGD,S,CACC,gD,CACA,mD,CAGD,Q,CACC,sB,CAGD,Q,CACC,uC,CAGD,Q,CACC,uC,CAGD,Q,CACC,uC,CAGD,Q,CACC,uC,CAGD,Q,CACC,uC,CAGD,W,CACC,yB,CAGD,S,CACC,gD,CAGD,S,CACC,gD,CAGD,S,CACC,gD,CAGD,S,CACC,gD,CAGD,S,CACC,gD,CAGD,Q,CACC,wB,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,W,CACC,2B,CAGD,S,CACC,kD,CAGD,S,CACC,kD,CAGD,S,CACC,kD,CAGD,S,CACC,kD,CAGD,S,CACC,kD,CAGD,Q,CACC,yB,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,W,CACC,4B,CAGD,S,CACC,mD,CAGD,S,CACC,mD,CAGD,S,CACC,mD,CAGD,S,CACC,mD,CAGD,S,CACC,mD,CAGD,Q,CACC,uB,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,W,CACC,0B,CAGD,S,CACC,iD,CAGD,S,CACC,iD,CAGD,S,CACC,iD,CAGD,S,CACC,iD,CAGD,S,CACC,iD,CAGD,O,CACC,mB,CAGD,O,CACC,oC,CAGD,O,CACC,oC,CAGD,O,CACC,oC,CAGD,O,CACC,oC,CAGD,O,CACC,oC,CAGD,Q,CACC,yB,CACA,wB,CAGD,Q,CACC,0C,CACA,yC,CAGD,Q,CACC,0C,CACA,yC,CAGD,Q,CACC,0C,CACA,yC,CAGD,Q,CACC,0C,CACA,yC,CAGD,Q,CACC,0C,CACA,yC,CAGD,Q,CACC,uB,CACA,0B,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,uB,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,yB,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0B,CAGD,Q,CACC,2C,CAGD,Q,CACC,2C,CAGD,Q,CACC,2C,CAGD,Q,CACC,2C,CAGD,Q,CACC,2C,CAGD,Q,CACC,wB,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,S,CACC,e,CAGD,S,CACC,gC,CAGD,S,CACC,gC,CAGD,S,CACC,gC,CAGD,S,CACC,gC,CAGD,S,CACC,gC,CAGD,a,CACC,e,CAGD,a,CACC,oC,CAGD,a,CACC,oC,CAGD,a,CACC,oC,CAGD,a,CACC,oC,CAGD,a,CACC,oC,CAGD,gB,CACC,2B,CACA,sB,CAGD,gB,CACC,4C,CACA,uC,CAGD,gB,CACC,4C,CACA,uC,CAGD,gB,CACC,4C,CACA,uC,CAGD,gB,CACC,4C,CACA,uC,CAGD,gB,CACC,4C,CACA,yCAIF,A,yBACC,O,CACC,kB,CAGD,O,CACC,mC,CAGD,O,CACC,mC,CAGD,O,CACC,mC,CAGD,O,CACC,mC,CAGD,O,CACC,mC,CAGD,U,CACC,qB,CAGD,Q,CACC,4C,CAGD,Q,CACC,4C,CAGD,Q,CACC,4C,CAGD,Q,CACC,4C,CAGD,Q,CACC,4C,CAGD,Q,CACC,wB,CACA,uB,CAGD,Q,CACC,yC,CACA,wC,CAGD,Q,CACC,yC,CACA,wC,CAGD,Q,CACC,yC,CACA,wC,CAGD,Q,CACC,yC,CACA,wC,CAGD,Q,CACC,yC,CACA,wC,CAGD,W,CACC,2B,CACA,0B,CAGD,S,CACC,kD,CACA,iD,CAGD,S,CACC,kD,CACA,iD,CAGD,S,CACC,kD,CACA,iD,CAGD,S,CACC,kD,CACA,iD,CAGD,S,CACC,kD,CACA,iD,CAGD,Q,CACC,sB,CACA,yB,CAGD,Q,CACC,uC,CACA,0C,CAGD,Q,CACC,uC,CACA,0C,CAGD,Q,CACC,uC,CACA,0C,CAGD,Q,CACC,uC,CACA,0C,CAGD,Q,CACC,uC,CACA,0C,CAGD,W,CACC,yB,CACA,4B,CAGD,S,CACC,gD,CACA,mD,CAGD,S,CACC,gD,CACA,mD,CAGD,S,CACC,gD,CACA,mD,CAGD,S,CACC,gD,CACA,mD,CAGD,S,CACC,gD,CACA,mD,CAGD,Q,CACC,sB,CAGD,Q,CACC,uC,CAGD,Q,CACC,uC,CAGD,Q,CACC,uC,CAGD,Q,CACC,uC,CAGD,Q,CACC,uC,CAGD,W,CACC,yB,CAGD,S,CACC,gD,CAGD,S,CACC,gD,CAGD,S,CACC,gD,CAGD,S,CACC,gD,CAGD,S,CACC,gD,CAGD,Q,CACC,wB,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,W,CACC,2B,CAGD,S,CACC,kD,CAGD,S,CACC,kD,CAGD,S,CACC,kD,CAGD,S,CACC,kD,CAGD,S,CACC,kD,CAGD,Q,CACC,yB,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,W,CACC,4B,CAGD,S,CACC,mD,CAGD,S,CACC,mD,CAGD,S,CACC,mD,CAGD,S,CACC,mD,CAGD,S,CACC,mD,CAGD,Q,CACC,uB,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,W,CACC,0B,CAGD,S,CACC,iD,CAGD,S,CACC,iD,CAGD,S,CACC,iD,CAGD,S,CACC,iD,CAGD,S,CACC,iD,CAGD,O,CACC,mB,CAGD,O,CACC,oC,CAGD,O,CACC,oC,CAGD,O,CACC,oC,CAGD,O,CACC,oC,CAGD,O,CACC,oC,CAGD,Q,CACC,yB,CACA,wB,CAGD,Q,CACC,0C,CACA,yC,CAGD,Q,CACC,0C,CACA,yC,CAGD,Q,CACC,0C,CACA,yC,CAGD,Q,CACC,0C,CACA,yC,CAGD,Q,CACC,0C,CACA,yC,CAGD,Q,CACC,uB,CACA,0B,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,uB,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,yB,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0B,CAGD,Q,CACC,2C,CAGD,Q,CACC,2C,CAGD,Q,CACC,2C,CAGD,Q,CACC,2C,CAGD,Q,CACC,2C,CAGD,Q,CACC,wB,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,S,CACC,e,CAGD,S,CACC,gC,CAGD,S,CACC,gC,CAGD,S,CACC,gC,CAGD,S,CACC,gC,CAGD,S,CACC,gC,CAGD,a,CACC,e,CAGD,a,CACC,oC,CAGD,a,CACC,oC,CAGD,a,CACC,oC,CAGD,a,CACC,oC,CAGD,a,CACC,oC,CAGD,gB,CACC,2B,CACA,sB,CAGD,gB,CACC,4C,CACA,uC,CAGD,gB,CACC,4C,CACA,uC,CAGD,gB,CACC,4C,CACA,uC,CAGD,gB,CACC,4C,CACA,uC,CAGD,gB,CACC,4C,CACA,yCAIF,A,yBACC,O,CACC,kB,CAGD,O,CACC,mC,CAGD,O,CACC,mC,CAGD,O,CACC,mC,CAGD,O,CACC,mC,CAGD,O,CACC,mC,CAGD,U,CACC,qB,CAGD,Q,CACC,4C,CAGD,Q,CACC,4C,CAGD,Q,CACC,4C,CAGD,Q,CACC,4C,CAGD,Q,CACC,4C,CAGD,Q,CACC,wB,CACA,uB,CAGD,Q,CACC,yC,CACA,wC,CAGD,Q,CACC,yC,CACA,wC,CAGD,Q,CACC,yC,CACA,wC,CAGD,Q,CACC,yC,CACA,wC,CAGD,Q,CACC,yC,CACA,wC,CAGD,W,CACC,2B,CACA,0B,CAGD,S,CACC,kD,CACA,iD,CAGD,S,CACC,kD,CACA,iD,CAGD,S,CACC,kD,CACA,iD,CAGD,S,CACC,kD,CACA,iD,CAGD,S,CACC,kD,CACA,iD,CAGD,Q,CACC,sB,CACA,yB,CAGD,Q,CACC,uC,CACA,0C,CAGD,Q,CACC,uC,CACA,0C,CAGD,Q,CACC,uC,CACA,0C,CAGD,Q,CACC,uC,CACA,0C,CAGD,Q,CACC,uC,CACA,0C,CAGD,W,CACC,yB,CACA,4B,CAGD,S,CACC,gD,CACA,mD,CAGD,S,CACC,gD,CACA,mD,CAGD,S,CACC,gD,CACA,mD,CAGD,S,CACC,gD,CACA,mD,CAGD,S,CACC,gD,CACA,mD,CAGD,Q,CACC,sB,CAGD,Q,CACC,uC,CAGD,Q,CACC,uC,CAGD,Q,CACC,uC,CAGD,Q,CACC,uC,CAGD,Q,CACC,uC,CAGD,W,CACC,yB,CAGD,S,CACC,gD,CAGD,S,CACC,gD,CAGD,S,CACC,gD,CAGD,S,CACC,gD,CAGD,S,CACC,gD,CAGD,Q,CACC,wB,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,W,CACC,2B,CAGD,S,CACC,kD,CAGD,S,CACC,kD,CAGD,S,CACC,kD,CAGD,S,CACC,kD,CAGD,S,CACC,kD,CAGD,Q,CACC,yB,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,W,CACC,4B,CAGD,S,CACC,mD,CAGD,S,CACC,mD,CAGD,S,CACC,mD,CAGD,S,CACC,mD,CAGD,S,CACC,mD,CAGD,Q,CACC,uB,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,W,CACC,0B,CAGD,S,CACC,iD,CAGD,S,CACC,iD,CAGD,S,CACC,iD,CAGD,S,CACC,iD,CAGD,S,CACC,iD,CAGD,O,CACC,mB,CAGD,O,CACC,oC,CAGD,O,CACC,oC,CAGD,O,CACC,oC,CAGD,O,CACC,oC,CAGD,O,CACC,oC,CAGD,Q,CACC,yB,CACA,wB,CAGD,Q,CACC,0C,CACA,yC,CAGD,Q,CACC,0C,CACA,yC,CAGD,Q,CACC,0C,CACA,yC,CAGD,Q,CACC,0C,CACA,yC,CAGD,Q,CACC,0C,CACA,yC,CAGD,Q,CACC,uB,CACA,0B,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,uB,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,yB,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0B,CAGD,Q,CACC,2C,CAGD,Q,CACC,2C,CAGD,Q,CACC,2C,CAGD,Q,CACC,2C,CAGD,Q,CACC,2C,CAGD,Q,CACC,wB,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,S,CACC,e,CAGD,S,CACC,gC,CAGD,S,CACC,gC,CAGD,S,CACC,gC,CAGD,S,CACC,gC,CAGD,S,CACC,gC,CAGD,a,CACC,e,CAGD,a,CACC,oC,CAGD,a,CACC,oC,CAGD,a,CACC,oC,CAGD,a,CACC,oC,CAGD,a,CACC,oC,CAGD,gB,CACC,2B,CACA,sB,CAGD,gB,CACC,4C,CACA,uC,CAGD,gB,CACC,4C,CACA,uC,CAGD,gB,CACC,4C,CACA,uC,CAGD,gB,CACC,4C,CACA,uC,CAGD,gB,CACC,4C,CACA,yCAIF,A,0BACC,O,CACC,kB,CAGD,O,CACC,mC,CAGD,O,CACC,mC,CAGD,O,CACC,mC,CAGD,O,CACC,mC,CAGD,O,CACC,mC,CAGD,U,CACC,qB,CAGD,Q,CACC,4C,CAGD,Q,CACC,4C,CAGD,Q,CACC,4C,CAGD,Q,CACC,4C,CAGD,Q,CACC,4C,CAGD,Q,CACC,wB,CACA,uB,CAGD,Q,CACC,yC,CACA,wC,CAGD,Q,CACC,yC,CACA,wC,CAGD,Q,CACC,yC,CACA,wC,CAGD,Q,CACC,yC,CACA,wC,CAGD,Q,CACC,yC,CACA,wC,CAGD,W,CACC,2B,CACA,0B,CAGD,S,CACC,kD,CACA,iD,CAGD,S,CACC,kD,CACA,iD,CAGD,S,CACC,kD,CACA,iD,CAGD,S,CACC,kD,CACA,iD,CAGD,S,CACC,kD,CACA,iD,CAGD,Q,CACC,sB,CACA,yB,CAGD,Q,CACC,uC,CACA,0C,CAGD,Q,CACC,uC,CACA,0C,CAGD,Q,CACC,uC,CACA,0C,CAGD,Q,CACC,uC,CACA,0C,CAGD,Q,CACC,uC,CACA,0C,CAGD,W,CACC,yB,CACA,4B,CAGD,S,CACC,gD,CACA,mD,CAGD,S,CACC,gD,CACA,mD,CAGD,S,CACC,gD,CACA,mD,CAGD,S,CACC,gD,CACA,mD,CAGD,S,CACC,gD,CACA,mD,CAGD,Q,CACC,sB,CAGD,Q,CACC,uC,CAGD,Q,CACC,uC,CAGD,Q,CACC,uC,CAGD,Q,CACC,uC,CAGD,Q,CACC,uC,CAGD,W,CACC,yB,CAGD,S,CACC,gD,CAGD,S,CACC,gD,CAGD,S,CACC,gD,CAGD,S,CACC,gD,CAGD,S,CACC,gD,CAGD,Q,CACC,wB,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,W,CACC,2B,CAGD,S,CACC,kD,CAGD,S,CACC,kD,CAGD,S,CACC,kD,CAGD,S,CACC,kD,CAGD,S,CACC,kD,CAGD,Q,CACC,yB,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,W,CACC,4B,CAGD,S,CACC,mD,CAGD,S,CACC,mD,CAGD,S,CACC,mD,CAGD,S,CACC,mD,CAGD,S,CACC,mD,CAGD,Q,CACC,uB,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,W,CACC,0B,CAGD,S,CACC,iD,CAGD,S,CACC,iD,CAGD,S,CACC,iD,CAGD,S,CACC,iD,CAGD,S,CACC,iD,CAGD,O,CACC,mB,CAGD,O,CACC,oC,CAGD,O,CACC,oC,CAGD,O,CACC,oC,CAGD,O,CACC,oC,CAGD,O,CACC,oC,CAGD,Q,CACC,yB,CACA,wB,CAGD,Q,CACC,0C,CACA,yC,CAGD,Q,CACC,0C,CACA,yC,CAGD,Q,CACC,0C,CACA,yC,CAGD,Q,CACC,0C,CACA,yC,CAGD,Q,CACC,0C,CACA,yC,CAGD,Q,CACC,uB,CACA,0B,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,uB,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,yB,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0B,CAGD,Q,CACC,2C,CAGD,Q,CACC,2C,CAGD,Q,CACC,2C,CAGD,Q,CACC,2C,CAGD,Q,CACC,2C,CAGD,Q,CACC,wB,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,S,CACC,e,CAGD,S,CACC,gC,CAGD,S,CACC,gC,CAGD,S,CACC,gC,CAGD,S,CACC,gC,CAGD,S,CACC,gC,CAGD,a,CACC,e,CAGD,a,CACC,oC,CAGD,a,CACC,oC,CAGD,a,CACC,oC,CAGD,a,CACC,oC,CAGD,a,CACC,oC,CAGD,gB,CACC,2B,CACA,sB,CAGD,gB,CACC,4C,CACA,uC,CAGD,gB,CACC,4C,CACA,uC,CAGD,gB,CACC,4C,CACA,uC,CAGD,gB,CACC,4C,CACA,uC,CAGD,gB,CACC,4C,CACA,yCAIF,A,0BACC,Q,CACC,kB,CAGD,Q,CACC,mC,CAGD,Q,CACC,mC,CAGD,Q,CACC,mC,CAGD,Q,CACC,mC,CAGD,Q,CACC,mC,CAGD,W,CACC,qB,CAGD,S,CACC,4C,CAGD,S,CACC,4C,CAGD,S,CACC,4C,CAGD,S,CACC,4C,CAGD,S,CACC,4C,CAGD,S,CACC,wB,CACA,uB,CAGD,S,CACC,yC,CACA,wC,CAGD,S,CACC,yC,CACA,wC,CAGD,S,CACC,yC,CACA,wC,CAGD,S,CACC,yC,CACA,wC,CAGD,S,CACC,yC,CACA,wC,CAGD,Y,CACC,2B,CACA,0B,CAGD,U,CACC,kD,CACA,iD,CAGD,U,CACC,kD,CACA,iD,CAGD,U,CACC,kD,CACA,iD,CAGD,U,CACC,kD,CACA,iD,CAGD,U,CACC,kD,CACA,iD,CAGD,S,CACC,sB,CACA,yB,CAGD,S,CACC,uC,CACA,0C,CAGD,S,CACC,uC,CACA,0C,CAGD,S,CACC,uC,CACA,0C,CAGD,S,CACC,uC,CACA,0C,CAGD,S,CACC,uC,CACA,0C,CAGD,Y,CACC,yB,CACA,4B,CAGD,U,CACC,gD,CACA,mD,CAGD,U,CACC,gD,CACA,mD,CAGD,U,CACC,gD,CACA,mD,CAGD,U,CACC,gD,CACA,mD,CAGD,U,CACC,gD,CACA,mD,CAGD,S,CACC,sB,CAGD,S,CACC,uC,CAGD,S,CACC,uC,CAGD,S,CACC,uC,CAGD,S,CACC,uC,CAGD,S,CACC,uC,CAGD,Y,CACC,yB,CAGD,U,CACC,gD,CAGD,U,CACC,gD,CAGD,U,CACC,gD,CAGD,U,CACC,gD,CAGD,U,CACC,gD,CAGD,S,CACC,wB,CAGD,S,CACC,yC,CAGD,S,CACC,yC,CAGD,S,CACC,yC,CAGD,S,CACC,yC,CAGD,S,CACC,yC,CAGD,Y,CACC,2B,CAGD,U,CACC,kD,CAGD,U,CACC,kD,CAGD,U,CACC,kD,CAGD,U,CACC,kD,CAGD,U,CACC,kD,CAGD,S,CACC,yB,CAGD,S,CACC,0C,CAGD,S,CACC,0C,CAGD,S,CACC,0C,CAGD,S,CACC,0C,CAGD,S,CACC,0C,CAGD,Y,CACC,4B,CAGD,U,CACC,mD,CAGD,U,CACC,mD,CAGD,U,CACC,mD,CAGD,U,CACC,mD,CAGD,U,CACC,mD,CAGD,S,CACC,uB,CAGD,S,CACC,wC,CAGD,S,CACC,wC,CAGD,S,CACC,wC,CAGD,S,CACC,wC,CAGD,S,CACC,wC,CAGD,Y,CACC,0B,CAGD,U,CACC,iD,CAGD,U,CACC,iD,CAGD,U,CACC,iD,CAGD,U,CACC,iD,CAGD,U,CACC,iD,CAGD,Q,CACC,mB,CAGD,Q,CACC,oC,CAGD,Q,CACC,oC,CAGD,Q,CACC,oC,CAGD,Q,CACC,oC,CAGD,Q,CACC,oC,CAGD,S,CACC,yB,CACA,wB,CAGD,S,CACC,0C,CACA,yC,CAGD,S,CACC,0C,CACA,yC,CAGD,S,CACC,0C,CACA,yC,CAGD,S,CACC,0C,CACA,yC,CAGD,S,CACC,0C,CACA,yC,CAGD,S,CACC,uB,CACA,0B,CAGD,S,CACC,wC,CACA,2C,CAGD,S,CACC,wC,CACA,2C,CAGD,S,CACC,wC,CACA,2C,CAGD,S,CACC,wC,CACA,2C,CAGD,S,CACC,wC,CACA,2C,CAGD,S,CACC,uB,CAGD,S,CACC,wC,CAGD,S,CACC,wC,CAGD,S,CACC,wC,CAGD,S,CACC,wC,CAGD,S,CACC,wC,CAGD,S,CACC,yB,CAGD,S,CACC,0C,CAGD,S,CACC,0C,CAGD,S,CACC,0C,CAGD,S,CACC,0C,CAGD,S,CACC,0C,CAGD,S,CACC,0B,CAGD,S,CACC,2C,CAGD,S,CACC,2C,CAGD,S,CACC,2C,CAGD,S,CACC,2C,CAGD,S,CACC,2C,CAGD,S,CACC,wB,CAGD,S,CACC,yC,CAGD,S,CACC,yC,CAGD,S,CACC,yC,CAGD,S,CACC,yC,CAGD,S,CACC,yC,CAGD,U,CACC,e,CAGD,U,CACC,gC,CAGD,U,CACC,gC,CAGD,U,CACC,gC,CAGD,U,CACC,gC,CAGD,U,CACC,gC,CAGD,c,CACC,e,CAGD,c,CACC,oC,CAGD,c,CACC,oC,CAGD,c,CACC,oC,CAGD,c,CACC,oC,CAGD,c,CACC,oC,CAGD,iB,CACC,2B,CACA,sB,CAGD,iB,CACC,4C,CACA,uC,CAGD,iB,CACC,4C,CACA,uC,CAGD,iB,CACC,4C,CACA,uC,CAGD,iB,CACC,4C,CACA,uC,CAGD,iB,CACC,4C,CACA,yCAUF,e,CACC,8C,CAGD,K,CACC,uE,CAGD,K,CACC,sE,CAGD,K,CACC,mE,CAGD,K,CACC,qE,CAGD,K,CACC,4B,CAGD,K,CACC,2B,CAGD,W,CACC,2B,CAGD,W,CACC,2B,CAGD,W,CACC,mD,CAGD,S,CACC,iD,CAGD,U,CACC,kD,CAGD,U,CACC,kD,CAGD,Y,CACC,oD,CAGD,Q,CACC,gD,CAGD,U,CACC,kD,CAGD,K,CACC,uB,CAGD,M,CACC,8C,CAGD,Q,CACC,gD,CAGD,M,CACC,8C,CAGD,W,CACC,yB,CAGD,S,CACC,0B,CAGD,Y,CACC,2B,CAGD,yBACC,c,CACC,yB,CAGD,Y,CACC,0B,CAGD,e,CACC,6BAIF,A,yBACC,c,CACC,yB,CAGD,Y,CACC,0B,CAGD,e,CACC,6BAIF,A,yBACC,c,CACC,yB,CAGD,Y,CACC,0B,CAGD,e,CACC,6BAIF,A,0BACC,c,CACC,yB,CAGD,Y,CACC,0B,CAGD,e,CACC,6BAIF,A,0BACC,e,CACC,yB,CAGD,a,CACC,0B,CAGD,gB,CACC,6BAIF,qB,CACC,8B,CAGD,0B,CACC,mC,CAGD,6B,CACC,sC,CAGD,e,CACC,kC,CAGD,e,CACC,kC,CAGD,gB,CACC,mC,CAGD,U,CACC,4B,CAGD,Y,CACC,4B,CAID,W,CACC,8B,CACA,+B,CAID,Y,CACC,4C,CACA,2C,CAGD,qB,CACC,qC,CACA,sC,CASD,e,CACC,iC,CAGD,U,CACC,4B,CAGD,a,CACC,+B,CAGD,a,CACC,+B,CAGD,kB,CACC,oC,CAGD,e,CACC,iC,CASD,Q,CACC,4B,CAGD,U,CACC,2B,CASD,K,CACC,oB,CAGD,I,CACC,mB,CAGD,I,CACC,mB,CAGD,I,CACC,mB,CAGD,I,CACC,mB,CAGD,yBACC,Q,CACC,oB,CAGD,O,CACC,mB,CAGD,O,CACC,mB,CAGD,O,CACC,mB,CAGD,O,CACC,qBAIF,A,yBACC,Q,CACC,oB,CAGD,O,CACC,mB,CAGD,O,CACC,mB,CAGD,O,CACC,mB,CAGD,O,CACC,qBAIF,A,yBACC,Q,CACC,oB,CAGD,O,CACC,mB,CAGD,O,CACC,mB,CAGD,O,CACC,mB,CAGD,O,CACC,qBAIF,A,0BACC,Q,CACC,oB,CAGD,O,CACC,mB,CAGD,O,CACC,mB,CAGD,O,CACC,mB,CAGD,O,CACC,qBAIF,A,0BACC,S,CACC,oB,CAGD,Q,CACC,mB,CAGD,Q,CACC,mB,CAGD,Q,CACC,mB,CAGD,Q,CACC,qB","file":"css/halfmoon.css","sourcesContent":["@charset \"UTF-8\";\n\n/*!\n * ----------------------------------------------------------------------------\n * Halfmoon CSS\n * Version: 2.0.1\n * https://www.gethalfmoon.com\n * Copyright (c) 2023, Tahmid Khan\n * Licensed under MIT (https://www.gethalfmoon.com/license)\n * ----------------------------------------------------------------------------\n * The above notice must be included in its entirety when this file is used.\n */\n\n/*!\n * The following notice(s) is/are provided to honor the licenses of 3rd party \n * software used to build Halfmoon.\n * ----------------------------------------------------------------------------\n * Bootstrap (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * ----------------------------------------------------------------------------\n */\n\n/**\n * ----------------------------------------------------------------------------\n * [ SVGs ]\n * ----------------------------------------------------------------------------\n */\n\n:root,\n[data-bs-theme=light] {\n\t--bs-checkbox-svg-light: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e\");\n --bs-checkbox-svg-dark: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23222' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e\");\n\n --bs-dash-svg-light: 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\");\n --bs-dash-svg-dark: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23222' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e\");\n\n --bs-radio-svg-light: 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\");\n --bs-radio-svg-dark: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23222'/%3e%3c/svg%3e\");\n\n --bs-switch-svg-light: 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\");\n --bs-switch-svg-dark: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23222'/%3e%3c/svg%3e\");\n --bs-switch-svg-unchecked: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23bcbec2'/%3e%3c/svg%3e\");\n}\n\n[data-bs-theme=dark] {\n --bs-switch-svg-unchecked: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23494b50'/%3e%3c/svg%3e\");\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Color palette ]\n * ----------------------------------------------------------------------------\n */\n\n:root,\n[data-bs-theme=light] {\n\t/* Black */\n\n\t--bs-black-hsl: 0, 0%, 0%;\n\t--bs-black: hsl(var(--bs-black-hsl));\n\n\t/* White */\n\n\t--bs-white-hsl: 0, 0%, 100%;\n\t--bs-white: hsl(var(--bs-white-hsl));\n\n\t/* Gray */\n\n\t--bs-mistyrose-hue: 0;\n\t--bs-mistyrose-saturation: 5%;\n\n\t--bs-stone-hue: 25;\n\t--bs-stone-saturation: 5%;\n\n\t--bs-sand-hue: 60;\n\t--bs-sand-saturation: 5%;\n\n\t--bs-sage-hue: 152;\n\t--bs-sage-saturation: 6%;\n\n\t--bs-slate-hue: 214.3;\n\t--bs-slate-saturation: 12.3%;\n\n\t--bs-neutral-hue: 218;\n\t--bs-neutral-saturation: 5%;\n\n\t--bs-zinc-hue: 240;\n\t--bs-zinc-saturation: 4%;\n\n\t--bs-mauve-hue: 331;\n\t--bs-mauve-saturation: 7.5%;\n\n\t/* Light gray */\n\n\t--bs-lightgray-hue: var(--bs-neutral-hue);\n\t--bs-lightgray-saturation: var(--bs-neutral-saturation);\n\t--bs-lightgray-100-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 97.5%;\n\t--bs-lightgray-200-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 95%;\n\t--bs-lightgray-300-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 92.5%;\n\t--bs-lightgray-400-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 90%;\n\t--bs-lightgray-500-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 87.5%;\n\t--bs-lightgray-600-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 85%;\n\t--bs-lightgray-700-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 80%;\n\t--bs-lightgray-800-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 75%;\n\t--bs-lightgray-900-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 70%;\n\t--bs-lightgray-100: hsl(var(--bs-lightgray-100-hsl));\n\t--bs-lightgray-200: hsl(var(--bs-lightgray-200-hsl));\n\t--bs-lightgray-300: hsl(var(--bs-lightgray-300-hsl));\n\t--bs-lightgray-400: hsl(var(--bs-lightgray-400-hsl));\n\t--bs-lightgray-500: hsl(var(--bs-lightgray-500-hsl));\n\t--bs-lightgray-600: hsl(var(--bs-lightgray-600-hsl));\n\t--bs-lightgray-700: hsl(var(--bs-lightgray-700-hsl));\n\t--bs-lightgray-800: hsl(var(--bs-lightgray-800-hsl));\n\t--bs-lightgray-900: hsl(var(--bs-lightgray-900-hsl));\n\t--bs-lightgray-hsl: var(--bs-lightgray-500-hsl);\n\t--bs-lightgray: hsl(var(--bs-lightgray-hsl));\n\t--bs-lightgray-foreground-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 10%;\n\t--bs-lightgray-foreground: hsl(var(--bs-lightgray-foreground-hsl));\n\t--bs-lightgray-text-emphasis-hsl: var(--bs-lightgray-600-hsl);\n\t--bs-lightgray-text-emphasis: hsl(var(--bs-lightgray-text-emphasis-hsl));\n\t--bs-lightgray-hover-bg: var(--bs-lightgray-400);\n\t--bs-lightgray-active-bg: var(--bs-lightgray-300);\n\t--bs-lightgray-bg-subtle: hsl(var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 97.5%);\n\t--bs-lightgray-border-subtle: var(--bs-lightgray-400);\n\t--bs-lightgray-checkbox-svg: var(--bs-checkbox-svg-dark);\n\t--bs-lightgray-dash-svg: var(--bs-dash-svg-dark);\n\t--bs-lightgray-radio-svg: var(--bs-radio-svg-dark);\n\t--bs-lightgray-switch-svg: var(--bs-switch-svg-dark);\n\n\t/* Gray */\n\n\t--bs-gray-hue: var(--bs-lightgray-hue);\n\t--bs-gray-saturation: var(--bs-lightgray-saturation);\n\t--bs-gray-100-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 85%;\n\t--bs-gray-200-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 75%;\n\t--bs-gray-300-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 65%;\n\t--bs-gray-400-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 55%;\n\t--bs-gray-500-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 45%;\n\t--bs-gray-600-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 40%;\n\t--bs-gray-700-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 35%;\n\t--bs-gray-800-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 30%;\n\t--bs-gray-900-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 25%;\n\t--bs-gray-100: hsl(var(--bs-gray-100-hsl));\n\t--bs-gray-200: hsl(var(--bs-gray-200-hsl));\n\t--bs-gray-300: hsl(var(--bs-gray-300-hsl));\n\t--bs-gray-400: hsl(var(--bs-gray-400-hsl));\n\t--bs-gray-500: hsl(var(--bs-gray-500-hsl));\n\t--bs-gray-600: hsl(var(--bs-gray-600-hsl));\n\t--bs-gray-700: hsl(var(--bs-gray-700-hsl));\n\t--bs-gray-800: hsl(var(--bs-gray-800-hsl));\n\t--bs-gray-900: hsl(var(--bs-gray-900-hsl));\n\t--bs-gray-hsl: var(--bs-gray-500-hsl);\n\t--bs-gray: hsl(var(--bs-gray-hsl));\n\t--bs-gray-foreground-hsl: var(--bs-white-hsl);\n\t--bs-gray-foreground: hsl(var(--bs-gray-foreground-hsl));\n\t--bs-gray-text-emphasis-hsl: var(--bs-gray-600-hsl);\n\t--bs-gray-text-emphasis: hsl(var(--bs-gray-text-emphasis-hsl));\n\t--bs-gray-hover-bg: var(--bs-gray-600);\n\t--bs-gray-active-bg: var(--bs-gray-700);\n\t--bs-gray-bg-subtle: hsl(var(--bs-gray-hue), var(--bs-gray-saturation), 95%);\n\t--bs-gray-border-subtle: var(--bs-gray-400);\n\t--bs-gray-checkbox-svg: var(--bs-checkbox-svg-light);\n\t--bs-gray-dash-svg: var(--bs-dash-svg-light);\n\t--bs-gray-radio-svg: var(--bs-radio-svg-light);\n\t--bs-gray-switch-svg: var(--bs-switch-svg-light);\n\n\t/* Dark gray */\n\n\t--bs-darkgray-hue: var(--bs-slate-hue);\n\t--bs-darkgray-saturation: var(--bs-slate-saturation);\n\t--bs-darkgray-100-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 75%;\n\t--bs-darkgray-200-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 65%;\n\t--bs-darkgray-300-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 55%;\n\t--bs-darkgray-400-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 45%;\n\t--bs-darkgray-500-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 35%;\n\t--bs-darkgray-600-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 30%;\n\t--bs-darkgray-700-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 25%;\n\t--bs-darkgray-800-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 20%;\n\t--bs-darkgray-900-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 17.5%;\n\t--bs-darkgray-100: hsl(var(--bs-darkgray-100-hsl));\n\t--bs-darkgray-200: hsl(var(--bs-darkgray-200-hsl));\n\t--bs-darkgray-300: hsl(var(--bs-darkgray-300-hsl));\n\t--bs-darkgray-400: hsl(var(--bs-darkgray-400-hsl));\n\t--bs-darkgray-500: hsl(var(--bs-darkgray-500-hsl));\n\t--bs-darkgray-600: hsl(var(--bs-darkgray-600-hsl));\n\t--bs-darkgray-700: hsl(var(--bs-darkgray-700-hsl));\n\t--bs-darkgray-800: hsl(var(--bs-darkgray-800-hsl));\n\t--bs-darkgray-900: hsl(var(--bs-darkgray-900-hsl));\n\t--bs-darkgray-hsl: var(--bs-darkgray-500-hsl);\n\t--bs-darkgray: hsl(var(--bs-darkgray-hsl));\n\t--bs-darkgray-foreground-hsl: var(--bs-white-hsl);\n\t--bs-darkgray-foreground: hsl(var(--bs-darkgray-foreground-hsl));\n\t--bs-darkgray-text-emphasis-hsl: var(--bs-darkgray-600-hsl);\n\t--bs-darkgray-text-emphasis: hsl(var(--bs-darkgray-text-emphasis-hsl));\n\t--bs-darkgray-hover-bg: var(--bs-darkgray-600);\n\t--bs-darkgray-active-bg: var(--bs-darkgray-700);\n\t--bs-darkgray-bg-subtle: hsl(var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 80%);\n\t--bs-darkgray-border-subtle: var(--bs-darkgray-400);\n\t--bs-darkgray-checkbox-svg: var(--bs-checkbox-svg-light);\n\t--bs-darkgray-dash-svg: var(--bs-dash-svg-light);\n\t--bs-darkgray-radio-svg: var(--bs-radio-svg-light);\n\t--bs-darkgray-switch-svg: var(--bs-switch-svg-light);\n\n\t/* Sable (almost black) */\n\n\t--bs-sable-hue: var(--bs-darkgray-hue);\n\t--bs-sable-saturation: var(--bs-darkgray-saturation);\n\t--bs-sable-100-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 28%;\n\t--bs-sable-200-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 26%;\n\t--bs-sable-300-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 24%;\n\t--bs-sable-400-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 22%;\n\t--bs-sable-500-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 20%;\n\t--bs-sable-600-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 18%;\n\t--bs-sable-700-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 16%;\n\t--bs-sable-800-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 15%;\n\t--bs-sable-900-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 14%;\n\t--bs-sable-100: hsl(var(--bs-sable-100-hsl));\n\t--bs-sable-200: hsl(var(--bs-sable-200-hsl));\n\t--bs-sable-300: hsl(var(--bs-sable-300-hsl));\n\t--bs-sable-400: hsl(var(--bs-sable-400-hsl));\n\t--bs-sable-500: hsl(var(--bs-sable-500-hsl));\n\t--bs-sable-600: hsl(var(--bs-sable-600-hsl));\n\t--bs-sable-700: hsl(var(--bs-sable-700-hsl));\n\t--bs-sable-800: hsl(var(--bs-sable-800-hsl));\n\t--bs-sable-900: hsl(var(--bs-sable-900-hsl));\n\t--bs-sable-hsl: var(--bs-sable-500-hsl);\n\t--bs-sable: hsl(var(--bs-sable-hsl));\n\t--bs-sable-foreground-hsl: var(--bs-white-hsl);\n\t--bs-sable-foreground: hsl(var(--bs-sable-foreground-hsl));\n\t--bs-sable-text-emphasis-hsl: var(--bs-sable-600-hsl);\n\t--bs-sable-text-emphasis: hsl(var(--bs-sable-text-emphasis-hsl));\n\t--bs-sable-hover-bg: var(--bs-sable-600);\n\t--bs-sable-active-bg: var(--bs-sable-700);\n\t--bs-sable-bg-subtle: hsl(var(--bs-sable-hue), var(--bs-sable-saturation), 70%);\n\t--bs-sable-border-subtle: var(--bs-sable-400);\n\t--bs-sable-checkbox-svg: var(--bs-checkbox-svg-light);\n\t--bs-sable-dash-svg: var(--bs-dash-svg-light);\n\t--bs-sable-radio-svg: var(--bs-radio-svg-light);\n\t--bs-sable-switch-svg: var(--bs-switch-svg-light);\n\n\t/* Red */\n\n\t--bs-red-hue: 0;\n\t--bs-red-saturation: 67.5%;\n\t--bs-red-100-hsl: var(--bs-red-hue), var(--bs-red-saturation), 90%;\n\t--bs-red-200-hsl: var(--bs-red-hue), var(--bs-red-saturation), 80%;\n\t--bs-red-300-hsl: var(--bs-red-hue), var(--bs-red-saturation), 70%;\n\t--bs-red-400-hsl: var(--bs-red-hue), var(--bs-red-saturation), 60%;\n\t--bs-red-500-hsl: var(--bs-red-hue), var(--bs-red-saturation), 50%;\n\t--bs-red-600-hsl: var(--bs-red-hue), var(--bs-red-saturation), 40%;\n\t--bs-red-700-hsl: var(--bs-red-hue), var(--bs-red-saturation), 30%;\n\t--bs-red-800-hsl: var(--bs-red-hue), var(--bs-red-saturation), 20%;\n\t--bs-red-900-hsl: var(--bs-red-hue), var(--bs-red-saturation), 10%;\n\t--bs-red-100: hsl(var(--bs-red-100-hsl));\n\t--bs-red-200: hsl(var(--bs-red-200-hsl));\n\t--bs-red-300: hsl(var(--bs-red-300-hsl));\n\t--bs-red-400: hsl(var(--bs-red-400-hsl));\n\t--bs-red-500: hsl(var(--bs-red-500-hsl));\n\t--bs-red-600: hsl(var(--bs-red-600-hsl));\n\t--bs-red-700: hsl(var(--bs-red-700-hsl));\n\t--bs-red-800: hsl(var(--bs-red-800-hsl));\n\t--bs-red-900: hsl(var(--bs-red-900-hsl));\n\t--bs-red-hsl: var(--bs-red-500-hsl);\n\t--bs-red: hsl(var(--bs-red-hsl));\n\t--bs-red-foreground-hsl: var(--bs-white-hsl);\n\t--bs-red-foreground: hsl(var(--bs-red-foreground-hsl));\n\t--bs-red-text-emphasis-hsl: var(--bs-red-600-hsl);\n\t--bs-red-text-emphasis: hsl(var(--bs-red-text-emphasis-hsl));\n\t--bs-red-hover-bg: var(--bs-red-600);\n\t--bs-red-active-bg: var(--bs-red-700);\n\t--bs-red-bg-subtle: hsl(var(--bs-red-hue), var(--bs-red-saturation), 95%);\n\t--bs-red-border-subtle: var(--bs-red-400);\n\t--bs-red-checkbox-svg: var(--bs-checkbox-svg-light);\n\t--bs-red-dash-svg: var(--bs-dash-svg-light);\n\t--bs-red-radio-svg: var(--bs-radio-svg-light);\n\t--bs-red-switch-svg: var(--bs-switch-svg-light);\n\n\t/* Orange */\n\n\t--bs-orange-hue: 17;\n\t--bs-orange-saturation: 88%;\n\t--bs-orange-100-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 90%;\n\t--bs-orange-200-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 80%;\n\t--bs-orange-300-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 70%;\n\t--bs-orange-400-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 60%;\n\t--bs-orange-500-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 50%;\n\t--bs-orange-600-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 40%;\n\t--bs-orange-700-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 30%;\n\t--bs-orange-800-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 20%;\n\t--bs-orange-900-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 10%;\n\t--bs-orange-100: hsl(var(--bs-orange-100-hsl));\n\t--bs-orange-200: hsl(var(--bs-orange-200-hsl));\n\t--bs-orange-300: hsl(var(--bs-orange-300-hsl));\n\t--bs-orange-400: hsl(var(--bs-orange-400-hsl));\n\t--bs-orange-500: hsl(var(--bs-orange-500-hsl));\n\t--bs-orange-600: hsl(var(--bs-orange-600-hsl));\n\t--bs-orange-700: hsl(var(--bs-orange-700-hsl));\n\t--bs-orange-800: hsl(var(--bs-orange-800-hsl));\n\t--bs-orange-900: hsl(var(--bs-orange-900-hsl));\n\t--bs-orange-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 44%;\n\t--bs-orange: hsl(var(--bs-orange-hsl));\n\t--bs-orange-foreground-hsl: var(--bs-white-hsl);\n\t--bs-orange-foreground: hsl(var(--bs-orange-foreground-hsl));\n\t--bs-orange-text-emphasis-hsl: var(--bs-orange-600-hsl);\n\t--bs-orange-text-emphasis: hsl(var(--bs-orange-text-emphasis-hsl));\n\t--bs-orange-hover-bg: var(--bs-orange-600);\n\t--bs-orange-active-bg: var(--bs-orange-700);\n\t--bs-orange-bg-subtle: hsl(var(--bs-orange-hue), var(--bs-orange-saturation), 95%);\n\t--bs-orange-border-subtle: var(--bs-orange-400);\n\t--bs-orange-checkbox-svg: var(--bs-checkbox-svg-light);\n\t--bs-orange-dash-svg: var(--bs-dash-svg-light);\n\t--bs-orange-radio-svg: var(--bs-radio-svg-light);\n\t--bs-orange-switch-svg: var(--bs-switch-svg-light);\n\n\t/* Sienna (burnt orange) */\n\n\t--bs-sienna-hue: 25;\n\t--bs-sienna-saturation: 50%;\n\t--bs-sienna-100-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 90%;\n\t--bs-sienna-200-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 80%;\n\t--bs-sienna-300-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 70%;\n\t--bs-sienna-400-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 60%;\n\t--bs-sienna-500-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 50%;\n\t--bs-sienna-600-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 40%;\n\t--bs-sienna-700-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 30%;\n\t--bs-sienna-800-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 20%;\n\t--bs-sienna-900-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 10%;\n\t--bs-sienna-100: hsl(var(--bs-sienna-100-hsl));\n\t--bs-sienna-200: hsl(var(--bs-sienna-200-hsl));\n\t--bs-sienna-300: hsl(var(--bs-sienna-300-hsl));\n\t--bs-sienna-400: hsl(var(--bs-sienna-400-hsl));\n\t--bs-sienna-500: hsl(var(--bs-sienna-500-hsl));\n\t--bs-sienna-600: hsl(var(--bs-sienna-600-hsl));\n\t--bs-sienna-700: hsl(var(--bs-sienna-700-hsl));\n\t--bs-sienna-800: hsl(var(--bs-sienna-800-hsl));\n\t--bs-sienna-900: hsl(var(--bs-sienna-900-hsl));\n\t--bs-sienna-hsl: var(--bs-sienna-600-hsl);\n\t--bs-sienna: hsl(var(--bs-sienna-hsl));\n\t--bs-sienna-foreground-hsl: var(--bs-white-hsl);\n\t--bs-sienna-foreground: hsl(var(--bs-sienna-foreground-hsl));\n\t--bs-sienna-text-emphasis-hsl: var(--bs-sienna-700-hsl);\n\t--bs-sienna-text-emphasis: hsl(var(--bs-sienna-text-emphasis-hsl));\n\t--bs-sienna-hover-bg: var(--bs-sienna-700);\n\t--bs-sienna-active-bg: var(--bs-sienna-800);\n\t--bs-sienna-bg-subtle: hsl(var(--bs-sienna-hue), var(--bs-sienna-saturation), 95%);\n\t--bs-sienna-border-subtle: var(--bs-sienna-400);\n\t--bs-sienna-checkbox-svg: var(--bs-checkbox-svg-light);\n\t--bs-sienna-dash-svg: var(--bs-dash-svg-light);\n\t--bs-sienna-radio-svg: var(--bs-radio-svg-light);\n\t--bs-sienna-switch-svg: var(--bs-switch-svg-light);\n\n\t/* Amber */\n\n\t--bs-amber-hue: 38;\n\t--bs-amber-saturation: 92%;\n\t--bs-amber-100-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 90%;\n\t--bs-amber-200-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 80%;\n\t--bs-amber-300-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 70%;\n\t--bs-amber-400-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 60%;\n\t--bs-amber-500-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 50%;\n\t--bs-amber-600-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 40%;\n\t--bs-amber-700-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 30%;\n\t--bs-amber-800-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 20%;\n\t--bs-amber-900-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 10%;\n\t--bs-amber-100: hsl(var(--bs-amber-100-hsl));\n\t--bs-amber-200: hsl(var(--bs-amber-200-hsl));\n\t--bs-amber-300: hsl(var(--bs-amber-300-hsl));\n\t--bs-amber-400: hsl(var(--bs-amber-400-hsl));\n\t--bs-amber-500: hsl(var(--bs-amber-500-hsl));\n\t--bs-amber-600: hsl(var(--bs-amber-600-hsl));\n\t--bs-amber-700: hsl(var(--bs-amber-700-hsl));\n\t--bs-amber-800: hsl(var(--bs-amber-800-hsl));\n\t--bs-amber-900: hsl(var(--bs-amber-900-hsl));\n\t--bs-amber-hsl: var(--bs-amber-500-hsl);\n\t--bs-amber: hsl(var(--bs-amber-hsl));\n\t--bs-amber-foreground-hsl: var(--bs-amber-900-hsl);\n\t--bs-amber-foreground: hsl(var(--bs-amber-foreground-hsl));\n\t--bs-amber-text-emphasis-hsl: var(--bs-amber-700-hsl);\n\t--bs-amber-text-emphasis: hsl(var(--bs-amber-text-emphasis-hsl));\n\t--bs-amber-hover-bg: var(--bs-amber-400);\n\t--bs-amber-active-bg: var(--bs-amber-300);\n\t--bs-amber-bg-subtle: hsl(var(--bs-amber-hue), var(--bs-amber-saturation), 95%);\n\t--bs-amber-border-subtle: var(--bs-amber-400);\n\t--bs-amber-checkbox-svg: var(--bs-checkbox-svg-dark);\n\t--bs-amber-dash-svg: var(--bs-dash-svg-dark);\n\t--bs-amber-radio-svg: var(--bs-radio-svg-dark);\n\t--bs-amber-switch-svg: var(--bs-switch-svg-dark);\n\n\t/* Yellow */\n\n\t--bs-yellow-hue: 50;\n\t--bs-yellow-saturation: 93%;\n\t--bs-yellow-100-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 90%;\n\t--bs-yellow-200-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 80%;\n\t--bs-yellow-300-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 70%;\n\t--bs-yellow-400-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 60%;\n\t--bs-yellow-500-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 50%;\n\t--bs-yellow-600-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 40%;\n\t--bs-yellow-700-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 30%;\n\t--bs-yellow-800-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 20%;\n\t--bs-yellow-900-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 10%;\n\t--bs-yellow-100: hsl(var(--bs-yellow-100-hsl));\n\t--bs-yellow-200: hsl(var(--bs-yellow-200-hsl));\n\t--bs-yellow-300: hsl(var(--bs-yellow-300-hsl));\n\t--bs-yellow-400: hsl(var(--bs-yellow-400-hsl));\n\t--bs-yellow-500: hsl(var(--bs-yellow-500-hsl));\n\t--bs-yellow-600: hsl(var(--bs-yellow-600-hsl));\n\t--bs-yellow-700: hsl(var(--bs-yellow-700-hsl));\n\t--bs-yellow-800: hsl(var(--bs-yellow-800-hsl));\n\t--bs-yellow-900: hsl(var(--bs-yellow-900-hsl));\n\t--bs-yellow-hsl: var(--bs-yellow-500-hsl);\n\t--bs-yellow: hsl(var(--bs-yellow-hsl));\n\t--bs-yellow-foreground-hsl: var(--bs-yellow-900-hsl);\n\t--bs-yellow-foreground: hsl(var(--bs-yellow-foreground-hsl));\n\t--bs-yellow-text-emphasis-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 25%;\n\t--bs-yellow-text-emphasis: hsl(var(--bs-yellow-text-emphasis-hsl));\n\t--bs-yellow-hover-bg: var(--bs-yellow-400);\n\t--bs-yellow-active-bg: var(--bs-yellow-300);\n\t--bs-yellow-bg-subtle: hsl(var(--bs-yellow-hue), var(--bs-yellow-saturation), 95%);\n\t--bs-yellow-border-subtle: var(--bs-yellow-400);\n\t--bs-yellow-checkbox-svg: var(--bs-checkbox-svg-dark);\n\t--bs-yellow-dash-svg: var(--bs-dash-svg-dark);\n\t--bs-yellow-radio-svg: var(--bs-radio-svg-dark);\n\t--bs-yellow-switch-svg: var(--bs-switch-svg-dark);\n\n\t/* Lime */\n\n\t--bs-lime-hue: 83;\n\t--bs-lime-saturation: 78%;\n\t--bs-lime-100-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 90%;\n\t--bs-lime-200-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 80%;\n\t--bs-lime-300-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 70%;\n\t--bs-lime-400-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 60%;\n\t--bs-lime-500-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 50%;\n\t--bs-lime-600-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 40%;\n\t--bs-lime-700-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 30%;\n\t--bs-lime-800-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 20%;\n\t--bs-lime-900-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 10%;\n\t--bs-lime-100: hsl(var(--bs-lime-100-hsl));\n\t--bs-lime-200: hsl(var(--bs-lime-200-hsl));\n\t--bs-lime-300: hsl(var(--bs-lime-300-hsl));\n\t--bs-lime-400: hsl(var(--bs-lime-400-hsl));\n\t--bs-lime-500: hsl(var(--bs-lime-500-hsl));\n\t--bs-lime-600: hsl(var(--bs-lime-600-hsl));\n\t--bs-lime-700: hsl(var(--bs-lime-700-hsl));\n\t--bs-lime-800: hsl(var(--bs-lime-800-hsl));\n\t--bs-lime-900: hsl(var(--bs-lime-900-hsl));\n\t--bs-lime-hsl: var(--bs-lime-500-hsl);\n\t--bs-lime: hsl(var(--bs-lime-hsl));\n\t--bs-lime-foreground-hsl: var(--bs-lime-900-hsl);\n\t--bs-lime-foreground: hsl(var(--bs-lime-foreground-hsl));\n\t--bs-lime-text-emphasis-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 27.5%;\n\t--bs-lime-text-emphasis: hsl(var(--bs-lime-text-emphasis-hsl));\n\t--bs-lime-hover-bg: var(--bs-lime-400);\n\t--bs-lime-active-bg: var(--bs-lime-300);\n\t--bs-lime-bg-subtle: hsl(var(--bs-lime-hue), var(--bs-lime-saturation), 95%);\n\t--bs-lime-border-subtle: var(--bs-lime-400);\n\t--bs-lime-checkbox-svg: var(--bs-checkbox-svg-dark);\n\t--bs-lime-dash-svg: var(--bs-dash-svg-dark);\n\t--bs-lime-radio-svg: var(--bs-radio-svg-dark);\n\t--bs-lime-switch-svg: var(--bs-switch-svg-dark);\n\n\t/* Green */\n\n\t--bs-green-hue: 145;\n\t--bs-green-saturation: 52%;\n\t--bs-green-100-hsl: var(--bs-green-hue), var(--bs-green-saturation), 90%;\n\t--bs-green-200-hsl: var(--bs-green-hue), var(--bs-green-saturation), 80%;\n\t--bs-green-300-hsl: var(--bs-green-hue), var(--bs-green-saturation), 70%;\n\t--bs-green-400-hsl: var(--bs-green-hue), var(--bs-green-saturation), 60%;\n\t--bs-green-500-hsl: var(--bs-green-hue), var(--bs-green-saturation), 50%;\n\t--bs-green-600-hsl: var(--bs-green-hue), var(--bs-green-saturation), 40%;\n\t--bs-green-700-hsl: var(--bs-green-hue), var(--bs-green-saturation), 30%;\n\t--bs-green-800-hsl: var(--bs-green-hue), var(--bs-green-saturation), 20%;\n\t--bs-green-900-hsl: var(--bs-green-hue), var(--bs-green-saturation), 10%;\n\t--bs-green-100: hsl(var(--bs-green-100-hsl));\n\t--bs-green-200: hsl(var(--bs-green-200-hsl));\n\t--bs-green-300: hsl(var(--bs-green-300-hsl));\n\t--bs-green-400: hsl(var(--bs-green-400-hsl));\n\t--bs-green-500: hsl(var(--bs-green-500-hsl));\n\t--bs-green-600: hsl(var(--bs-green-600-hsl));\n\t--bs-green-700: hsl(var(--bs-green-700-hsl));\n\t--bs-green-800: hsl(var(--bs-green-800-hsl));\n\t--bs-green-900: hsl(var(--bs-green-900-hsl));\n\t--bs-green-hsl: var(--bs-green-hue), var(--bs-green-saturation), 34%;\n\t--bs-green: hsl(var(--bs-green-hsl));\n\t--bs-green-foreground-hsl: var(--bs-white-hsl);\n\t--bs-green-foreground: hsl(var(--bs-green-foreground-hsl));\n\t--bs-green-text-emphasis-hsl: var(--bs-green-700-hsl);\n\t--bs-green-text-emphasis: hsl(var(--bs-green-text-emphasis-hsl));\n\t--bs-green-hover-bg: var(--bs-green-700);\n\t--bs-green-active-bg: var(--bs-green-800);\n\t--bs-green-bg-subtle: hsl(var(--bs-green-hue), var(--bs-green-saturation), 95%);\n\t--bs-green-border-subtle: var(--bs-green-400);\n\t--bs-green-checkbox-svg: var(--bs-checkbox-svg-light);\n\t--bs-green-dash-svg: var(--bs-dash-svg-light);\n\t--bs-green-radio-svg: var(--bs-radio-svg-light);\n\t--bs-green-switch-svg: var(--bs-switch-svg-light);\n\n\t/* Emerald */\n\n\t--bs-emerald-hue: 160;\n\t--bs-emerald-saturation: 84%;\n\t--bs-emerald-100-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 90%;\n\t--bs-emerald-200-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 80%;\n\t--bs-emerald-300-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 70%;\n\t--bs-emerald-400-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 60%;\n\t--bs-emerald-500-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 50%;\n\t--bs-emerald-600-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 40%;\n\t--bs-emerald-700-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 30%;\n\t--bs-emerald-800-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 20%;\n\t--bs-emerald-900-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 10%;\n\t--bs-emerald-100: hsl(var(--bs-emerald-100-hsl));\n\t--bs-emerald-200: hsl(var(--bs-emerald-200-hsl));\n\t--bs-emerald-300: hsl(var(--bs-emerald-300-hsl));\n\t--bs-emerald-400: hsl(var(--bs-emerald-400-hsl));\n\t--bs-emerald-500: hsl(var(--bs-emerald-500-hsl));\n\t--bs-emerald-600: hsl(var(--bs-emerald-600-hsl));\n\t--bs-emerald-700: hsl(var(--bs-emerald-700-hsl));\n\t--bs-emerald-800: hsl(var(--bs-emerald-800-hsl));\n\t--bs-emerald-900: hsl(var(--bs-emerald-900-hsl));\n\t--bs-emerald-hsl: var(--bs-emerald-500-hsl);\n\t--bs-emerald: hsl(var(--bs-emerald-hsl));\n\t--bs-emerald-foreground-hsl: var(--bs-emerald-900-hsl);\n\t--bs-emerald-foreground: hsl(var(--bs-emerald-foreground-hsl));\n\t--bs-emerald-text-emphasis-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 27.5%;\n\t--bs-emerald-text-emphasis: hsl(var(--bs-emerald-text-emphasis-hsl));\n\t--bs-emerald-hover-bg: var(--bs-emerald-400);\n\t--bs-emerald-active-bg: var(--bs-emerald-300);\n\t--bs-emerald-bg-subtle: hsl(var(--bs-emerald-hue), var(--bs-emerald-saturation), 95%);\n\t--bs-emerald-border-subtle: var(--bs-emerald-400);\n\t--bs-emerald-checkbox-svg: var(--bs-checkbox-svg-dark);\n\t--bs-emerald-dash-svg: var(--bs-dash-svg-dark);\n\t--bs-emerald-radio-svg: var(--bs-radio-svg-dark);\n\t--bs-emerald-switch-svg: var(--bs-switch-svg-dark);\n\n\t/* Turquoise */\n\n\t--bs-turquoise-hue: 168;\n\t--bs-turquoise-saturation: 52%;\n\t--bs-turquoise-100-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 90%;\n\t--bs-turquoise-200-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 80%;\n\t--bs-turquoise-300-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 70%;\n\t--bs-turquoise-400-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 60%;\n\t--bs-turquoise-500-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 50%;\n\t--bs-turquoise-600-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 40%;\n\t--bs-turquoise-700-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 30%;\n\t--bs-turquoise-800-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 20%;\n\t--bs-turquoise-900-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 10%;\n\t--bs-turquoise-100: hsl(var(--bs-turquoise-100-hsl));\n\t--bs-turquoise-200: hsl(var(--bs-turquoise-200-hsl));\n\t--bs-turquoise-300: hsl(var(--bs-turquoise-300-hsl));\n\t--bs-turquoise-400: hsl(var(--bs-turquoise-400-hsl));\n\t--bs-turquoise-500: hsl(var(--bs-turquoise-500-hsl));\n\t--bs-turquoise-600: hsl(var(--bs-turquoise-600-hsl));\n\t--bs-turquoise-700: hsl(var(--bs-turquoise-700-hsl));\n\t--bs-turquoise-800: hsl(var(--bs-turquoise-800-hsl));\n\t--bs-turquoise-900: hsl(var(--bs-turquoise-900-hsl));\n\t--bs-turquoise-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 34%;\n\t--bs-turquoise: hsl(var(--bs-turquoise-hsl));\n\t--bs-turquoise-foreground-hsl: var(--bs-white-hsl);\n\t--bs-turquoise-foreground: hsl(var(--bs-turquoise-foreground-hsl));\n\t--bs-turquoise-text-emphasis-hsl: var(--bs-turquoise-700-hsl);\n\t--bs-turquoise-text-emphasis: hsl(var(--bs-turquoise-text-emphasis-hsl));\n\t--bs-turquoise-hover-bg: var(--bs-turquoise-700);\n\t--bs-turquoise-active-bg: var(--bs-turquoise-800);\n\t--bs-turquoise-bg-subtle: hsl(var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 95%);\n\t--bs-turquoise-border-subtle: var(--bs-turquoise-400);\n\t--bs-turquoise-checkbox-svg: var(--bs-checkbox-svg-light);\n\t--bs-turquoise-dash-svg: var(--bs-dash-svg-light);\n\t--bs-turquoise-radio-svg: var(--bs-radio-svg-light);\n\t--bs-turquoise-switch-svg: var(--bs-switch-svg-light);\n\n\t/* Teal */\n\n\t--bs-teal-hue: 173;\n\t--bs-teal-saturation: 80%;\n\t--bs-teal-100-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 90%;\n\t--bs-teal-200-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 80%;\n\t--bs-teal-300-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 70%;\n\t--bs-teal-400-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 60%;\n\t--bs-teal-500-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 50%;\n\t--bs-teal-600-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 40%;\n\t--bs-teal-700-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 30%;\n\t--bs-teal-800-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 20%;\n\t--bs-teal-900-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 10%;\n\t--bs-teal-100: hsl(var(--bs-teal-100-hsl));\n\t--bs-teal-200: hsl(var(--bs-teal-200-hsl));\n\t--bs-teal-300: hsl(var(--bs-teal-300-hsl));\n\t--bs-teal-400: hsl(var(--bs-teal-400-hsl));\n\t--bs-teal-500: hsl(var(--bs-teal-500-hsl));\n\t--bs-teal-600: hsl(var(--bs-teal-600-hsl));\n\t--bs-teal-700: hsl(var(--bs-teal-700-hsl));\n\t--bs-teal-800: hsl(var(--bs-teal-800-hsl));\n\t--bs-teal-900: hsl(var(--bs-teal-900-hsl));\n\t--bs-teal-hsl: var(--bs-teal-500-hsl);\n\t--bs-teal: hsl(var(--bs-teal-hsl));\n\t--bs-teal-foreground-hsl: var(--bs-teal-900-hsl);\n\t--bs-teal-foreground: hsl(var(--bs-teal-foreground-hsl));\n\t--bs-teal-text-emphasis-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 27.5%;\n\t--bs-teal-text-emphasis: hsl(var(--bs-teal-text-emphasis-hsl));\n\t--bs-teal-hover-bg: var(--bs-teal-400);\n\t--bs-teal-active-bg: var(--bs-teal-300);\n\t--bs-teal-bg-subtle: hsl(var(--bs-teal-hue), var(--bs-teal-saturation), 95%);\n\t--bs-teal-border-subtle: var(--bs-teal-400);\n\t--bs-teal-checkbox-svg: var(--bs-checkbox-svg-dark);\n\t--bs-teal-dash-svg: var(--bs-dash-svg-dark);\n\t--bs-teal-radio-svg: var(--bs-radio-svg-dark);\n\t--bs-teal-switch-svg: var(--bs-switch-svg-dark);\n\n\t/* Cyan */\n\n\t--bs-cyan-hue: 189;\n\t--bs-cyan-saturation: 94%;\n\t--bs-cyan-100-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 90%;\n\t--bs-cyan-200-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 80%;\n\t--bs-cyan-300-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 70%;\n\t--bs-cyan-400-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 60%;\n\t--bs-cyan-500-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 50%;\n\t--bs-cyan-600-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 40%;\n\t--bs-cyan-700-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 30%;\n\t--bs-cyan-800-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 20%;\n\t--bs-cyan-900-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 10%;\n\t--bs-cyan-100: hsl(var(--bs-cyan-100-hsl));\n\t--bs-cyan-200: hsl(var(--bs-cyan-200-hsl));\n\t--bs-cyan-300: hsl(var(--bs-cyan-300-hsl));\n\t--bs-cyan-400: hsl(var(--bs-cyan-400-hsl));\n\t--bs-cyan-500: hsl(var(--bs-cyan-500-hsl));\n\t--bs-cyan-600: hsl(var(--bs-cyan-600-hsl));\n\t--bs-cyan-700: hsl(var(--bs-cyan-700-hsl));\n\t--bs-cyan-800: hsl(var(--bs-cyan-800-hsl));\n\t--bs-cyan-900: hsl(var(--bs-cyan-900-hsl));\n\t--bs-cyan-hsl: var(--bs-cyan-500-hsl);\n\t--bs-cyan: hsl(var(--bs-cyan-hsl));\n\t--bs-cyan-foreground-hsl: var(--bs-cyan-900-hsl);\n\t--bs-cyan-foreground: hsl(var(--bs-cyan-foreground-hsl));\n\t--bs-cyan-text-emphasis-hsl: var(--bs-cyan-700-hsl);\n\t--bs-cyan-text-emphasis: hsl(var(--bs-cyan-text-emphasis-hsl));\n\t--bs-cyan-hover-bg: var(--bs-cyan-400);\n\t--bs-cyan-active-bg: var(--bs-cyan-300);\n\t--bs-cyan-bg-subtle: hsl(var(--bs-cyan-hue), var(--bs-cyan-saturation), 95%);\n\t--bs-cyan-border-subtle: var(--bs-cyan-400);\n\t--bs-cyan-checkbox-svg: var(--bs-checkbox-svg-dark);\n\t--bs-cyan-dash-svg: var(--bs-dash-svg-dark);\n\t--bs-cyan-radio-svg: var(--bs-radio-svg-dark);\n\t--bs-cyan-switch-svg: var(--bs-switch-svg-dark);\n\n\t/* Sky */\n\n\t--bs-sky-hue: 198;\n\t--bs-sky-saturation: 100%;\n\t--bs-sky-100-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 90%;\n\t--bs-sky-200-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 80%;\n\t--bs-sky-300-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 70%;\n\t--bs-sky-400-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 60%;\n\t--bs-sky-500-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 50%;\n\t--bs-sky-600-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 40%;\n\t--bs-sky-700-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 30%;\n\t--bs-sky-800-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 20%;\n\t--bs-sky-900-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 10%;\n\t--bs-sky-100: hsl(var(--bs-sky-100-hsl));\n\t--bs-sky-200: hsl(var(--bs-sky-200-hsl));\n\t--bs-sky-300: hsl(var(--bs-sky-300-hsl));\n\t--bs-sky-400: hsl(var(--bs-sky-400-hsl));\n\t--bs-sky-500: hsl(var(--bs-sky-500-hsl));\n\t--bs-sky-600: hsl(var(--bs-sky-600-hsl));\n\t--bs-sky-700: hsl(var(--bs-sky-700-hsl));\n\t--bs-sky-800: hsl(var(--bs-sky-800-hsl));\n\t--bs-sky-900: hsl(var(--bs-sky-900-hsl));\n\t--bs-sky-hsl: var(--bs-sky-500-hsl);\n\t--bs-sky: hsl(var(--bs-sky-hsl));\n\t--bs-sky-foreground-hsl: var(--bs-sky-900-hsl);\n\t--bs-sky-foreground: hsl(var(--bs-sky-foreground-hsl));\n\t--bs-sky-text-emphasis-hsl: var(--bs-sky-700-hsl);\n\t--bs-sky-text-emphasis: hsl(var(--bs-sky-text-emphasis-hsl));\n\t--bs-sky-hover-bg: var(--bs-sky-400);\n\t--bs-sky-active-bg: var(--bs-sky-300);\n\t--bs-sky-bg-subtle: hsl(var(--bs-sky-hue), var(--bs-sky-saturation), 95%);\n\t--bs-sky-border-subtle: var(--bs-sky-400);\n\t--bs-sky-checkbox-svg: var(--bs-checkbox-svg-dark);\n\t--bs-sky-dash-svg: var(--bs-dash-svg-dark);\n\t--bs-sky-radio-svg: var(--bs-radio-svg-dark);\n\t--bs-sky-switch-svg: var(--bs-switch-svg-dark);\n\n\t/* Blue */\n\n\t--bs-blue-hue: 216;\n\t--bs-blue-saturation: 100%;\n\t--bs-blue-100-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 90%;\n\t--bs-blue-200-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 80%;\n\t--bs-blue-300-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 70%;\n\t--bs-blue-400-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 60%;\n\t--bs-blue-500-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 50%;\n\t--bs-blue-600-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 40%;\n\t--bs-blue-700-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 30%;\n\t--bs-blue-800-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 20%;\n\t--bs-blue-900-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 10%;\n\t--bs-blue-100: hsl(var(--bs-blue-100-hsl));\n\t--bs-blue-200: hsl(var(--bs-blue-200-hsl));\n\t--bs-blue-300: hsl(var(--bs-blue-300-hsl));\n\t--bs-blue-400: hsl(var(--bs-blue-400-hsl));\n\t--bs-blue-500: hsl(var(--bs-blue-500-hsl));\n\t--bs-blue-600: hsl(var(--bs-blue-600-hsl));\n\t--bs-blue-700: hsl(var(--bs-blue-700-hsl));\n\t--bs-blue-800: hsl(var(--bs-blue-800-hsl));\n\t--bs-blue-900: hsl(var(--bs-blue-900-hsl));\n\t--bs-blue-hsl: var(--bs-blue-500-hsl);\n\t--bs-blue: hsl(var(--bs-blue-hsl));\n\t--bs-blue-foreground-hsl: var(--bs-white-hsl);\n\t--bs-blue-foreground: hsl(var(--bs-blue-foreground-hsl));\n\t--bs-blue-text-emphasis-hsl: var(--bs-blue-600-hsl);\n\t--bs-blue-text-emphasis: hsl(var(--bs-blue-text-emphasis-hsl));\n\t--bs-blue-hover-bg: var(--bs-blue-600);\n\t--bs-blue-active-bg: var(--bs-blue-700);\n\t--bs-blue-bg-subtle: hsl(var(--bs-blue-hue), var(--bs-blue-saturation), 95%);\n\t--bs-blue-border-subtle: var(--bs-blue-400);\n\t--bs-blue-checkbox-svg: var(--bs-checkbox-svg-light);\n\t--bs-blue-dash-svg: var(--bs-dash-svg-light);\n\t--bs-blue-radio-svg: var(--bs-radio-svg-light);\n\t--bs-blue-switch-svg: var(--bs-switch-svg-light);\n\n\t/* Navy */\n\n\t--bs-navy-hue: 235;\n\t--bs-navy-saturation: 85%;\n\t--bs-navy-100-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 90%;\n\t--bs-navy-200-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 80%;\n\t--bs-navy-300-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 70%;\n\t--bs-navy-400-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 60%;\n\t--bs-navy-500-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 50%;\n\t--bs-navy-600-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 40%;\n\t--bs-navy-700-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 30%;\n\t--bs-navy-800-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 20%;\n\t--bs-navy-900-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 10%;\n\t--bs-navy-100: hsl(var(--bs-navy-100-hsl));\n\t--bs-navy-200: hsl(var(--bs-navy-200-hsl));\n\t--bs-navy-300: hsl(var(--bs-navy-300-hsl));\n\t--bs-navy-400: hsl(var(--bs-navy-400-hsl));\n\t--bs-navy-500: hsl(var(--bs-navy-500-hsl));\n\t--bs-navy-600: hsl(var(--bs-navy-600-hsl));\n\t--bs-navy-700: hsl(var(--bs-navy-700-hsl));\n\t--bs-navy-800: hsl(var(--bs-navy-800-hsl));\n\t--bs-navy-900: hsl(var(--bs-navy-900-hsl));\n\t--bs-navy-hsl: var(--bs-navy-500-hsl);\n\t--bs-navy: hsl(var(--bs-navy-hsl));\n\t--bs-navy-foreground-hsl: var(--bs-white-hsl);\n\t--bs-navy-foreground: hsl(var(--bs-navy-foreground-hsl));\n\t--bs-navy-text-emphasis-hsl: var(--bs-navy-600-hsl);\n\t--bs-navy-text-emphasis: hsl(var(--bs-navy-text-emphasis-hsl));\n\t--bs-navy-hover-bg: var(--bs-navy-600);\n\t--bs-navy-active-bg: var(--bs-navy-700);\n\t--bs-navy-bg-subtle: hsl(var(--bs-navy-hue), var(--bs-navy-saturation), 95%);\n\t--bs-navy-border-subtle: var(--bs-navy-400);\n\t--bs-navy-checkbox-svg: var(--bs-checkbox-svg-light);\n\t--bs-navy-dash-svg: var(--bs-dash-svg-light);\n\t--bs-navy-radio-svg: var(--bs-radio-svg-light);\n\t--bs-navy-switch-svg: var(--bs-switch-svg-light);\n\n\t/* Indigo */\n\n\t--bs-indigo-hue: 241;\n\t--bs-indigo-saturation: 60%;\n\t--bs-indigo-100-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 90%;\n\t--bs-indigo-200-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 80%;\n\t--bs-indigo-300-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 70%;\n\t--bs-indigo-400-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 60%;\n\t--bs-indigo-500-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 50%;\n\t--bs-indigo-600-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 40%;\n\t--bs-indigo-700-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 30%;\n\t--bs-indigo-800-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 20%;\n\t--bs-indigo-900-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 10%;\n\t--bs-indigo-100: hsl(var(--bs-indigo-100-hsl));\n\t--bs-indigo-200: hsl(var(--bs-indigo-200-hsl));\n\t--bs-indigo-300: hsl(var(--bs-indigo-300-hsl));\n\t--bs-indigo-400: hsl(var(--bs-indigo-400-hsl));\n\t--bs-indigo-500: hsl(var(--bs-indigo-500-hsl));\n\t--bs-indigo-600: hsl(var(--bs-indigo-600-hsl));\n\t--bs-indigo-700: hsl(var(--bs-indigo-700-hsl));\n\t--bs-indigo-800: hsl(var(--bs-indigo-800-hsl));\n\t--bs-indigo-900: hsl(var(--bs-indigo-900-hsl));\n\t--bs-indigo-hsl: var(--bs-indigo-500-hsl);\n\t--bs-indigo: hsl(var(--bs-indigo-hsl));\n\t--bs-indigo-foreground-hsl: var(--bs-white-hsl);\n\t--bs-indigo-foreground: hsl(var(--bs-indigo-foreground-hsl));\n\t--bs-indigo-text-emphasis-hsl: var(--bs-indigo-600-hsl);\n\t--bs-indigo-text-emphasis: hsl(var(--bs-indigo-text-emphasis-hsl));\n\t--bs-indigo-hover-bg: var(--bs-indigo-600);\n\t--bs-indigo-active-bg: var(--bs-indigo-700);\n\t--bs-indigo-bg-subtle: hsl(var(--bs-indigo-hue), var(--bs-indigo-saturation), 95%);\n\t--bs-indigo-border-subtle: var(--bs-indigo-400);\n\t--bs-indigo-checkbox-svg: var(--bs-checkbox-svg-light);\n\t--bs-indigo-dash-svg: var(--bs-dash-svg-light);\n\t--bs-indigo-radio-svg: var(--bs-radio-svg-light);\n\t--bs-indigo-switch-svg: var(--bs-switch-svg-light);\n\n\t/* Violet */\n\n\t--bs-violet-hue: 262;\n\t--bs-violet-saturation: 83%;\n\t--bs-violet-100-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 90%;\n\t--bs-violet-200-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 80%;\n\t--bs-violet-300-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 70%;\n\t--bs-violet-400-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 60%;\n\t--bs-violet-500-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 50%;\n\t--bs-violet-600-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 40%;\n\t--bs-violet-700-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 30%;\n\t--bs-violet-800-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 20%;\n\t--bs-violet-900-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 10%;\n\t--bs-violet-100: hsl(var(--bs-violet-100-hsl));\n\t--bs-violet-200: hsl(var(--bs-violet-200-hsl));\n\t--bs-violet-300: hsl(var(--bs-violet-300-hsl));\n\t--bs-violet-400: hsl(var(--bs-violet-400-hsl));\n\t--bs-violet-500: hsl(var(--bs-violet-500-hsl));\n\t--bs-violet-600: hsl(var(--bs-violet-600-hsl));\n\t--bs-violet-700: hsl(var(--bs-violet-700-hsl));\n\t--bs-violet-800: hsl(var(--bs-violet-800-hsl));\n\t--bs-violet-900: hsl(var(--bs-violet-900-hsl));\n\t--bs-violet-hsl: var(--bs-violet-500-hsl);\n\t--bs-violet: hsl(var(--bs-violet-hsl));\n\t--bs-violet-foreground-hsl: var(--bs-white-hsl);\n\t--bs-violet-foreground: hsl(var(--bs-violet-foreground-hsl));\n\t--bs-violet-text-emphasis-hsl: var(--bs-violet-600-hsl);\n\t--bs-violet-text-emphasis: hsl(var(--bs-violet-text-emphasis-hsl));\n\t--bs-violet-hover-bg: var(--bs-violet-600);\n\t--bs-violet-active-bg: var(--bs-violet-700);\n\t--bs-violet-bg-subtle: hsl(var(--bs-violet-hue), var(--bs-violet-saturation), 95%);\n\t--bs-violet-border-subtle: var(--bs-violet-400);\n\t--bs-violet-checkbox-svg: var(--bs-checkbox-svg-light);\n\t--bs-violet-dash-svg: var(--bs-dash-svg-light);\n\t--bs-violet-radio-svg: var(--bs-radio-svg-light);\n\t--bs-violet-switch-svg: var(--bs-switch-svg-light);\n\n\t/* Purple */\n\n\t--bs-purple-hue: 271;\n\t--bs-purple-saturation: 80%;\n\t--bs-purple-100-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 90%;\n\t--bs-purple-200-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 80%;\n\t--bs-purple-300-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 70%;\n\t--bs-purple-400-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 60%;\n\t--bs-purple-500-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 50%;\n\t--bs-purple-600-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 40%;\n\t--bs-purple-700-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 30%;\n\t--bs-purple-800-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 20%;\n\t--bs-purple-900-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 10%;\n\t--bs-purple-100: hsl(var(--bs-purple-100-hsl));\n\t--bs-purple-200: hsl(var(--bs-purple-200-hsl));\n\t--bs-purple-300: hsl(var(--bs-purple-300-hsl));\n\t--bs-purple-400: hsl(var(--bs-purple-400-hsl));\n\t--bs-purple-500: hsl(var(--bs-purple-500-hsl));\n\t--bs-purple-600: hsl(var(--bs-purple-600-hsl));\n\t--bs-purple-700: hsl(var(--bs-purple-700-hsl));\n\t--bs-purple-800: hsl(var(--bs-purple-800-hsl));\n\t--bs-purple-900: hsl(var(--bs-purple-900-hsl));\n\t--bs-purple-hsl: var(--bs-purple-500-hsl);\n\t--bs-purple: hsl(var(--bs-purple-hsl));\n\t--bs-purple-foreground-hsl: var(--bs-white-hsl);\n\t--bs-purple-foreground: hsl(var(--bs-purple-foreground-hsl));\n\t--bs-purple-text-emphasis-hsl: var(--bs-purple-600-hsl);\n\t--bs-purple-text-emphasis: hsl(var(--bs-purple-text-emphasis-hsl));\n\t--bs-purple-hover-bg: var(--bs-purple-600);\n\t--bs-purple-active-bg: var(--bs-purple-700);\n\t--bs-purple-bg-subtle: hsl(var(--bs-purple-hue), var(--bs-purple-saturation), 95%);\n\t--bs-purple-border-subtle: var(--bs-purple-400);\n\t--bs-purple-checkbox-svg: var(--bs-checkbox-svg-light);\n\t--bs-purple-dash-svg: var(--bs-dash-svg-light);\n\t--bs-purple-radio-svg: var(--bs-radio-svg-light);\n\t--bs-purple-switch-svg: var(--bs-switch-svg-light);\n\n\t/* Fuchsia */\n\n\t--bs-fuchsia-hue: 292;\n\t--bs-fuchsia-saturation: 52.5%;\n\t--bs-fuchsia-100-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 90%;\n\t--bs-fuchsia-200-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 80%;\n\t--bs-fuchsia-300-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 70%;\n\t--bs-fuchsia-400-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 60%;\n\t--bs-fuchsia-500-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 50%;\n\t--bs-fuchsia-600-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 40%;\n\t--bs-fuchsia-700-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 30%;\n\t--bs-fuchsia-800-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 20%;\n\t--bs-fuchsia-900-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 10%;\n\t--bs-fuchsia-100: hsl(var(--bs-fuchsia-100-hsl));\n\t--bs-fuchsia-200: hsl(var(--bs-fuchsia-200-hsl));\n\t--bs-fuchsia-300: hsl(var(--bs-fuchsia-300-hsl));\n\t--bs-fuchsia-400: hsl(var(--bs-fuchsia-400-hsl));\n\t--bs-fuchsia-500: hsl(var(--bs-fuchsia-500-hsl));\n\t--bs-fuchsia-600: hsl(var(--bs-fuchsia-600-hsl));\n\t--bs-fuchsia-700: hsl(var(--bs-fuchsia-700-hsl));\n\t--bs-fuchsia-800: hsl(var(--bs-fuchsia-800-hsl));\n\t--bs-fuchsia-900: hsl(var(--bs-fuchsia-900-hsl));\n\t--bs-fuchsia-hsl: var(--bs-fuchsia-500-hsl);\n\t--bs-fuchsia: hsl(var(--bs-fuchsia-hsl));\n\t--bs-fuchsia-foreground-hsl: var(--bs-white-hsl);\n\t--bs-fuchsia-foreground: hsl(var(--bs-fuchsia-foreground-hsl));\n\t--bs-fuchsia-text-emphasis-hsl: var(--bs-fuchsia-600-hsl);\n\t--bs-fuchsia-text-emphasis: hsl(var(--bs-fuchsia-text-emphasis-hsl));\n\t--bs-fuchsia-hover-bg: var(--bs-fuchsia-600);\n\t--bs-fuchsia-active-bg: var(--bs-fuchsia-700);\n\t--bs-fuchsia-bg-subtle: hsl(var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 95%);\n\t--bs-fuchsia-border-subtle: var(--bs-fuchsia-400);\n\t--bs-fuchsia-checkbox-svg: var(--bs-checkbox-svg-light);\n\t--bs-fuchsia-dash-svg: var(--bs-dash-svg-light);\n\t--bs-fuchsia-radio-svg: var(--bs-radio-svg-light);\n\t--bs-fuchsia-switch-svg: var(--bs-switch-svg-light);\n\n\t/* Pink (magenta) */\n\n\t--bs-pink-hue: 331;\n\t--bs-pink-saturation: 60%;\n\t--bs-pink-100-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 90%;\n\t--bs-pink-200-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 80%;\n\t--bs-pink-300-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 70%;\n\t--bs-pink-400-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 60%;\n\t--bs-pink-500-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 50%;\n\t--bs-pink-600-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 40%;\n\t--bs-pink-700-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 30%;\n\t--bs-pink-800-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 20%;\n\t--bs-pink-900-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 10%;\n\t--bs-pink-100: hsl(var(--bs-pink-100-hsl));\n\t--bs-pink-200: hsl(var(--bs-pink-200-hsl));\n\t--bs-pink-300: hsl(var(--bs-pink-300-hsl));\n\t--bs-pink-400: hsl(var(--bs-pink-400-hsl));\n\t--bs-pink-500: hsl(var(--bs-pink-500-hsl));\n\t--bs-pink-600: hsl(var(--bs-pink-600-hsl));\n\t--bs-pink-700: hsl(var(--bs-pink-700-hsl));\n\t--bs-pink-800: hsl(var(--bs-pink-800-hsl));\n\t--bs-pink-900: hsl(var(--bs-pink-900-hsl));\n\t--bs-pink-hsl: var(--bs-pink-500-hsl);\n\t--bs-pink: hsl(var(--bs-pink-hsl));\n\t--bs-pink-foreground-hsl: var(--bs-white-hsl);\n\t--bs-pink-foreground: hsl(var(--bs-pink-foreground-hsl));\n\t--bs-pink-text-emphasis-hsl: var(--bs-pink-600-hsl);\n\t--bs-pink-text-emphasis: hsl(var(--bs-pink-text-emphasis-hsl));\n\t--bs-pink-hover-bg: var(--bs-pink-600);\n\t--bs-pink-active-bg: var(--bs-pink-700);\n\t--bs-pink-bg-subtle: hsl(var(--bs-pink-hue), var(--bs-pink-saturation), 95%);\n\t--bs-pink-border-subtle: var(--bs-pink-400);\n\t--bs-pink-checkbox-svg: var(--bs-checkbox-svg-light);\n\t--bs-pink-dash-svg: var(--bs-dash-svg-light);\n\t--bs-pink-radio-svg: var(--bs-radio-svg-light);\n\t--bs-pink-switch-svg: var(--bs-switch-svg-light);\n\n\t/* Primary */\n\n\t--bs-primary-hue: var(--bs-blue-hue);\n\t--bs-primary-saturation: var(--bs-blue-saturation);\n\t--bs-primary-100-hsl: var(--bs-blue-100-hsl);\n\t--bs-primary-200-hsl: var(--bs-blue-200-hsl);\n\t--bs-primary-300-hsl: var(--bs-blue-300-hsl);\n\t--bs-primary-400-hsl: var(--bs-blue-400-hsl);\n\t--bs-primary-500-hsl: var(--bs-blue-500-hsl);\n\t--bs-primary-600-hsl: var(--bs-blue-600-hsl);\n\t--bs-primary-700-hsl: var(--bs-blue-700-hsl);\n\t--bs-primary-800-hsl: var(--bs-blue-800-hsl);\n\t--bs-primary-900-hsl: var(--bs-blue-900-hsl);\n\t--bs-primary-100: var(--bs-blue-100);\n\t--bs-primary-200: var(--bs-blue-200);\n\t--bs-primary-300: var(--bs-blue-300);\n\t--bs-primary-400: var(--bs-blue-400);\n\t--bs-primary-500: var(--bs-blue-500);\n\t--bs-primary-600: var(--bs-blue-600);\n\t--bs-primary-700: var(--bs-blue-700);\n\t--bs-primary-800: var(--bs-blue-800);\n\t--bs-primary-900: var(--bs-blue-900);\n\t--bs-primary-hsl: var(--bs-blue-hsl);\n\t--bs-primary: var(--bs-blue);\n\t--bs-primary-foreground-hsl: var(--bs-blue-foreground-hsl);\n\t--bs-primary-foreground: var(--bs-blue-foreground);\n\t--bs-primary-text-emphasis-hsl: var(--bs-blue-text-emphasis-hsl);\n\t--bs-primary-text-emphasis: var(--bs-blue-text-emphasis);\n\t--bs-primary-hover-bg: var(--bs-blue-hover-bg);\n\t--bs-primary-active-bg: var(--bs-blue-active-bg);\n\t--bs-primary-bg-subtle: var(--bs-blue-bg-subtle);\n\t--bs-primary-border-subtle: var(--bs-blue-border-subtle);\n\t--bs-primary-checkbox-svg: var(--bs-blue-checkbox-svg);\n\t--bs-primary-dash-svg: var(--bs-blue-dash-svg);\n\t--bs-primary-radio-svg: var(--bs-blue-radio-svg);\n\t--bs-primary-switch-svg: var(--bs-blue-switch-svg);\n\n\t/* Secondary */\n\n\t--bs-secondary-hue: var(--bs-gray-hue);\n\t--bs-secondary-saturation: var(--bs-gray-saturation);\n\t--bs-secondary-100-hsl: var(--bs-gray-100-hsl);\n\t--bs-secondary-200-hsl: var(--bs-gray-200-hsl);\n\t--bs-secondary-300-hsl: var(--bs-gray-300-hsl);\n\t--bs-secondary-400-hsl: var(--bs-gray-400-hsl);\n\t--bs-secondary-500-hsl: var(--bs-gray-500-hsl);\n\t--bs-secondary-600-hsl: var(--bs-gray-600-hsl);\n\t--bs-secondary-700-hsl: var(--bs-gray-700-hsl);\n\t--bs-secondary-800-hsl: var(--bs-gray-800-hsl);\n\t--bs-secondary-900-hsl: var(--bs-gray-900-hsl);\n\t--bs-secondary-100: var(--bs-gray-100);\n\t--bs-secondary-200: var(--bs-gray-200);\n\t--bs-secondary-300: var(--bs-gray-300);\n\t--bs-secondary-400: var(--bs-gray-400);\n\t--bs-secondary-500: var(--bs-gray-500);\n\t--bs-secondary-600: var(--bs-gray-600);\n\t--bs-secondary-700: var(--bs-gray-700);\n\t--bs-secondary-800: var(--bs-gray-800);\n\t--bs-secondary-900: var(--bs-gray-900);\n\t--bs-secondary-hsl: var(--bs-gray-hsl);\n\t--bs-secondary: var(--bs-gray);\n\t--bs-secondary-foreground-hsl: var(--bs-gray-foreground-hsl);\n\t--bs-secondary-foreground: var(--bs-gray-foreground);\n\t--bs-secondary-text-emphasis-hsl: var(--bs-gray-text-emphasis-hsl);\n\t--bs-secondary-text-emphasis: var(--bs-gray-text-emphasis);\n\t--bs-secondary-hover-bg: var(--bs-gray-hover-bg);\n\t--bs-secondary-active-bg: var(--bs-gray-active-bg);\n\t--bs-secondary-bg-subtle: var(--bs-gray-bg-subtle);\n\t--bs-secondary-border-subtle: var(--bs-gray-border-subtle);\n\t--bs-secondary-checkbox-svg: var(--bs-gray-checkbox-svg);\n\t--bs-secondary-dash-svg: var(--bs-gray-dash-svg);\n\t--bs-secondary-radio-svg: var(--bs-gray-radio-svg);\n\t--bs-secondary-switch-svg: var(--bs-gray-switch-svg);\n\n\t/* Success */\n\n\t--bs-success-hue: var(--bs-green-hue);\n\t--bs-success-saturation: var(--bs-green-saturation);\n\t--bs-success-100-hsl: var(--bs-green-100-hsl);\n\t--bs-success-200-hsl: var(--bs-green-200-hsl);\n\t--bs-success-300-hsl: var(--bs-green-300-hsl);\n\t--bs-success-400-hsl: var(--bs-green-400-hsl);\n\t--bs-success-500-hsl: var(--bs-green-500-hsl);\n\t--bs-success-600-hsl: var(--bs-green-600-hsl);\n\t--bs-success-700-hsl: var(--bs-green-700-hsl);\n\t--bs-success-800-hsl: var(--bs-green-800-hsl);\n\t--bs-success-900-hsl: var(--bs-green-900-hsl);\n\t--bs-success-100: var(--bs-green-100);\n\t--bs-success-200: var(--bs-green-200);\n\t--bs-success-300: var(--bs-green-300);\n\t--bs-success-400: var(--bs-green-400);\n\t--bs-success-500: var(--bs-green-500);\n\t--bs-success-600: var(--bs-green-600);\n\t--bs-success-700: var(--bs-green-700);\n\t--bs-success-800: var(--bs-green-800);\n\t--bs-success-900: var(--bs-green-900);\n\t--bs-success-hsl: var(--bs-green-hsl);\n\t--bs-success: var(--bs-green);\n\t--bs-success-foreground-hsl: var(--bs-green-foreground-hsl);\n\t--bs-success-foreground: var(--bs-green-foreground);\n\t--bs-success-text-emphasis-hsl: var(--bs-green-text-emphasis-hsl);\n\t--bs-success-text-emphasis: var(--bs-green-text-emphasis);\n\t--bs-success-hover-bg: var(--bs-green-hover-bg);\n\t--bs-success-active-bg: var(--bs-green-active-bg);\n\t--bs-success-bg-subtle: var(--bs-green-bg-subtle);\n\t--bs-success-border-subtle: var(--bs-green-border-subtle);\n\t--bs-success-checkbox-svg: var(--bs-green-checkbox-svg);\n\t--bs-success-dash-svg: var(--bs-green-dash-svg);\n\t--bs-success-radio-svg: var(--bs-green-radio-svg);\n\t--bs-success-switch-svg: var(--bs-green-switch-svg);\n\n\t/* Info */\n\n\t--bs-info-hue: var(--bs-cyan-hue);\n\t--bs-info-saturation: var(--bs-cyan-saturation);\n\t--bs-info-100-hsl: var(--bs-cyan-100-hsl);\n\t--bs-info-200-hsl: var(--bs-cyan-200-hsl);\n\t--bs-info-300-hsl: var(--bs-cyan-300-hsl);\n\t--bs-info-400-hsl: var(--bs-cyan-400-hsl);\n\t--bs-info-500-hsl: var(--bs-cyan-500-hsl);\n\t--bs-info-600-hsl: var(--bs-cyan-600-hsl);\n\t--bs-info-700-hsl: var(--bs-cyan-700-hsl);\n\t--bs-info-800-hsl: var(--bs-cyan-800-hsl);\n\t--bs-info-900-hsl: var(--bs-cyan-900-hsl);\n\t--bs-info-100: var(--bs-cyan-100);\n\t--bs-info-200: var(--bs-cyan-200);\n\t--bs-info-300: var(--bs-cyan-300);\n\t--bs-info-400: var(--bs-cyan-400);\n\t--bs-info-500: var(--bs-cyan-500);\n\t--bs-info-600: var(--bs-cyan-600);\n\t--bs-info-700: var(--bs-cyan-700);\n\t--bs-info-800: var(--bs-cyan-800);\n\t--bs-info-900: var(--bs-cyan-900);\n\t--bs-info-hsl: var(--bs-cyan-hsl);\n\t--bs-info: var(--bs-cyan);\n\t--bs-info-foreground-hsl: var(--bs-cyan-foreground-hsl);\n\t--bs-info-foreground: var(--bs-cyan-foreground);\n\t--bs-info-text-emphasis-hsl: var(--bs-cyan-text-emphasis-hsl);\n\t--bs-info-text-emphasis: var(--bs-cyan-text-emphasis);\n\t--bs-info-hover-bg: var(--bs-cyan-hover-bg);\n\t--bs-info-active-bg: var(--bs-cyan-active-bg);\n\t--bs-info-bg-subtle: var(--bs-cyan-bg-subtle);\n\t--bs-info-border-subtle: var(--bs-cyan-border-subtle);\n\t--bs-info-checkbox-svg: var(--bs-cyan-checkbox-svg);\n\t--bs-info-dash-svg: var(--bs-cyan-dash-svg);\n\t--bs-info-radio-svg: var(--bs-cyan-radio-svg);\n\t--bs-info-switch-svg: var(--bs-cyan-switch-svg);\n\n\t/* Warning */\n\n\t--bs-warning-hue: var(--bs-yellow-hue);\n\t--bs-warning-saturation: var(--bs-yellow-saturation);\n\t--bs-warning-100-hsl: var(--bs-yellow-100-hsl);\n\t--bs-warning-200-hsl: var(--bs-yellow-200-hsl);\n\t--bs-warning-300-hsl: var(--bs-yellow-300-hsl);\n\t--bs-warning-400-hsl: var(--bs-yellow-400-hsl);\n\t--bs-warning-500-hsl: var(--bs-yellow-500-hsl);\n\t--bs-warning-600-hsl: var(--bs-yellow-600-hsl);\n\t--bs-warning-700-hsl: var(--bs-yellow-700-hsl);\n\t--bs-warning-800-hsl: var(--bs-yellow-800-hsl);\n\t--bs-warning-900-hsl: var(--bs-yellow-900-hsl);\n\t--bs-warning-100: var(--bs-yellow-100);\n\t--bs-warning-200: var(--bs-yellow-200);\n\t--bs-warning-300: var(--bs-yellow-300);\n\t--bs-warning-400: var(--bs-yellow-400);\n\t--bs-warning-500: var(--bs-yellow-500);\n\t--bs-warning-600: var(--bs-yellow-600);\n\t--bs-warning-700: var(--bs-yellow-700);\n\t--bs-warning-800: var(--bs-yellow-800);\n\t--bs-warning-900: var(--bs-yellow-900);\n\t--bs-warning-hsl: var(--bs-yellow-hsl);\n\t--bs-warning: var(--bs-yellow);\n\t--bs-warning-foreground-hsl: var(--bs-yellow-foreground-hsl);\n\t--bs-warning-foreground: var(--bs-yellow-foreground);\n\t--bs-warning-text-emphasis-hsl: var(--bs-yellow-text-emphasis-hsl);\n\t--bs-warning-text-emphasis: var(--bs-yellow-text-emphasis);\n\t--bs-warning-hover-bg: var(--bs-yellow-hover-bg);\n\t--bs-warning-active-bg: var(--bs-yellow-active-bg);\n\t--bs-warning-bg-subtle: var(--bs-yellow-bg-subtle);\n\t--bs-warning-border-subtle: var(--bs-yellow-border-subtle);\n\t--bs-warning-checkbox-svg: var(--bs-yellow-checkbox-svg);\n\t--bs-warning-dash-svg: var(--bs-yellow-dash-svg);\n\t--bs-warning-radio-svg: var(--bs-yellow-radio-svg);\n\t--bs-warning-switch-svg: var(--bs-yellow-switch-svg);\n\n\t/* Danger */\n\n\t--bs-danger-hue: var(--bs-red-hue);\n\t--bs-danger-saturation: var(--bs-red-saturation);\n\t--bs-danger-100-hsl: var(--bs-red-100-hsl);\n\t--bs-danger-200-hsl: var(--bs-red-200-hsl);\n\t--bs-danger-300-hsl: var(--bs-red-300-hsl);\n\t--bs-danger-400-hsl: var(--bs-red-400-hsl);\n\t--bs-danger-500-hsl: var(--bs-red-500-hsl);\n\t--bs-danger-600-hsl: var(--bs-red-600-hsl);\n\t--bs-danger-700-hsl: var(--bs-red-700-hsl);\n\t--bs-danger-800-hsl: var(--bs-red-800-hsl);\n\t--bs-danger-900-hsl: var(--bs-red-900-hsl);\n\t--bs-danger-100: var(--bs-red-100);\n\t--bs-danger-200: var(--bs-red-200);\n\t--bs-danger-300: var(--bs-red-300);\n\t--bs-danger-400: var(--bs-red-400);\n\t--bs-danger-500: var(--bs-red-500);\n\t--bs-danger-600: var(--bs-red-600);\n\t--bs-danger-700: var(--bs-red-700);\n\t--bs-danger-800: var(--bs-red-800);\n\t--bs-danger-900: var(--bs-red-900);\n\t--bs-danger-hsl: var(--bs-red-hsl);\n\t--bs-danger: var(--bs-red);\n\t--bs-danger-foreground-hsl: var(--bs-red-foreground-hsl);\n\t--bs-danger-foreground: var(--bs-red-foreground);\n\t--bs-danger-text-emphasis-hsl: var(--bs-red-text-emphasis-hsl);\n\t--bs-danger-text-emphasis: var(--bs-red-text-emphasis);\n\t--bs-danger-hover-bg: var(--bs-red-hover-bg);\n\t--bs-danger-active-bg: var(--bs-red-active-bg);\n\t--bs-danger-bg-subtle: var(--bs-red-bg-subtle);\n\t--bs-danger-border-subtle: var(--bs-red-border-subtle);\n\t--bs-danger-checkbox-svg: var(--bs-red-checkbox-svg);\n\t--bs-danger-dash-svg: var(--bs-red-dash-svg);\n\t--bs-danger-radio-svg: var(--bs-red-radio-svg);\n\t--bs-danger-switch-svg: var(--bs-red-switch-svg);\n\n\t/* Light */\n\n\t--bs-light-hue: var(--bs-lightgray-hue);\n\t--bs-light-saturation: var(--bs-lightgray-saturation);\n\t--bs-light-100-hsl: var(--bs-lightgray-100-hsl);\n\t--bs-light-200-hsl: var(--bs-lightgray-200-hsl);\n\t--bs-light-300-hsl: var(--bs-lightgray-300-hsl);\n\t--bs-light-400-hsl: var(--bs-lightgray-400-hsl);\n\t--bs-light-500-hsl: var(--bs-lightgray-500-hsl);\n\t--bs-light-600-hsl: var(--bs-lightgray-600-hsl);\n\t--bs-light-700-hsl: var(--bs-lightgray-700-hsl);\n\t--bs-light-800-hsl: var(--bs-lightgray-800-hsl);\n\t--bs-light-900-hsl: var(--bs-lightgray-900-hsl);\n\t--bs-light-100: var(--bs-lightgray-100);\n\t--bs-light-200: var(--bs-lightgray-200);\n\t--bs-light-300: var(--bs-lightgray-300);\n\t--bs-light-400: var(--bs-lightgray-400);\n\t--bs-light-500: var(--bs-lightgray-500);\n\t--bs-light-600: var(--bs-lightgray-600);\n\t--bs-light-700: var(--bs-lightgray-700);\n\t--bs-light-800: var(--bs-lightgray-800);\n\t--bs-light-900: var(--bs-lightgray-900);\n\t--bs-light-hsl: var(--bs-lightgray-hsl);\n\t--bs-light: var(--bs-lightgray);\n\t--bs-light-foreground-hsl: var(--bs-lightgray-foreground-hsl);\n\t--bs-light-foreground: var(--bs-lightgray-foreground);\n\t--bs-light-text-emphasis-hsl: var(--bs-lightgray-text-emphasis-hsl);\n\t--bs-light-text-emphasis: var(--bs-lightgray-text-emphasis);\n\t--bs-light-hover-bg: var(--bs-lightgray-hover-bg);\n\t--bs-light-active-bg: var(--bs-lightgray-active-bg);\n\t--bs-light-bg-subtle: var(--bs-lightgray-bg-subtle);\n\t--bs-light-border-subtle: var(--bs-lightgray-border-subtle);\n\t--bs-light-checkbox-svg: var(--bs-lightgray-checkbox-svg);\n\t--bs-light-dash-svg: var(--bs-lightgray-dash-svg);\n\t--bs-light-radio-svg: var(--bs-lightgray-radio-svg);\n\t--bs-light-switch-svg: var(--bs-lightgray-switch-svg);\n\n\t/* Dark */\n\n\t--bs-dark-hue: var(--bs-darkgray-hue);\n\t--bs-dark-saturation: var(--bs-darkgray-saturation);\n\t--bs-dark-100-hsl: var(--bs-darkgray-100-hsl);\n\t--bs-dark-200-hsl: var(--bs-darkgray-200-hsl);\n\t--bs-dark-300-hsl: var(--bs-darkgray-300-hsl);\n\t--bs-dark-400-hsl: var(--bs-darkgray-400-hsl);\n\t--bs-dark-500-hsl: var(--bs-darkgray-500-hsl);\n\t--bs-dark-600-hsl: var(--bs-darkgray-600-hsl);\n\t--bs-dark-700-hsl: var(--bs-darkgray-700-hsl);\n\t--bs-dark-800-hsl: var(--bs-darkgray-800-hsl);\n\t--bs-dark-900-hsl: var(--bs-darkgray-900-hsl);\n\t--bs-dark-100: var(--bs-darkgray-100);\n\t--bs-dark-200: var(--bs-darkgray-200);\n\t--bs-dark-300: var(--bs-darkgray-300);\n\t--bs-dark-400: var(--bs-darkgray-400);\n\t--bs-dark-500: var(--bs-darkgray-500);\n\t--bs-dark-600: var(--bs-darkgray-600);\n\t--bs-dark-700: var(--bs-darkgray-700);\n\t--bs-dark-800: var(--bs-darkgray-800);\n\t--bs-dark-900: var(--bs-darkgray-900);\n\t--bs-dark-hsl: var(--bs-darkgray-hsl);\n\t--bs-dark: var(--bs-darkgray);\n\t--bs-dark-foreground-hsl: var(--bs-darkgray-foreground-hsl);\n\t--bs-dark-foreground: var(--bs-darkgray-foreground);\n\t--bs-dark-text-emphasis-hsl: var(--bs-darkgray-text-emphasis-hsl);\n\t--bs-dark-text-emphasis: var(--bs-darkgray-text-emphasis);\n\t--bs-dark-hover-bg: var(--bs-darkgray-hover-bg);\n\t--bs-dark-active-bg: var(--bs-darkgray-active-bg);\n\t--bs-dark-bg-subtle: var(--bs-darkgray-bg-subtle);\n\t--bs-dark-border-subtle: var(--bs-darkgray-border-subtle);\n\t--bs-dark-checkbox-svg: var(--bs-darkgray-checkbox-svg);\n\t--bs-dark-dash-svg: var(--bs-darkgray-dash-svg);\n\t--bs-dark-radio-svg: var(--bs-darkgray-radio-svg);\n\t--bs-dark-switch-svg: var(--bs-darkgray-switch-svg);\n}\n\n[data-bs-theme=dark] {\n\t/* Light gray */\n\n\t--bs-lightgray-text-emphasis-hsl: var(--bs-lightgray-400-hsl);\n\t--bs-lightgray-text-emphasis: hsl(var(--bs-lightgray-text-emphasis-hsl));\n\t--bs-lightgray-bg-subtle: hsl(var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 30%);\n\t--bs-lightgray-border-subtle: var(--bs-lightgray-600);\n\n\t/* Gray */\n\n\t--bs-gray-text-emphasis-hsl: var(--bs-gray-300-hsl);\n\t--bs-gray-text-emphasis: hsl(var(--bs-gray-text-emphasis-hsl));\n\t--bs-gray-bg-subtle: hsl(var(--bs-gray-hue), var(--bs-gray-saturation), 25%);\n\t--bs-gray-border-subtle: var(--bs-gray-600);\n\n\t/* Dark gray */\n\n\t--bs-darkgray-text-emphasis-hsl: var(--bs-darkgray-300-hsl);\n\t--bs-darkgray-text-emphasis: hsl(var(--bs-darkgray-text-emphasis-hsl));\n\t--bs-darkgray-bg-subtle: hsl(var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 17.5%);\n\t--bs-darkgray-border-subtle: var(--bs-darkgray-600);\n\n\t/* Sable (black) */\n\n\t--bs-sable-text-emphasis-hsl: var(--bs-sable-400-hsl);\n\t--bs-sable-text-emphasis: hsl(var(--bs-sable-text-emphasis-hsl));\n\t--bs-sable-bg-subtle: hsl(var(--bs-sable-hue), var(--bs-sable-saturation), 12%);\n\t--bs-sable-border-subtle: var(--bs-sable-600);\n\n\t/* Red */\n\n\t--bs-red-text-emphasis-hsl: var(--bs-red-hue), var(--bs-red-saturation), 65%;\n\t--bs-red-text-emphasis: hsl(var(--bs-red-text-emphasis-hsl));\n\t--bs-red-bg-subtle: hsl(var(--bs-red-hue), calc(var(--bs-red-saturation)/3), 15%);\n\t--bs-red-border-subtle: var(--bs-red-600);\n\n\t/* Orange */\n\n\t--bs-orange-text-emphasis-hsl: var(--bs-orange-400-hsl);\n\t--bs-orange-text-emphasis: hsl(var(--bs-orange-text-emphasis-hsl));\n\t--bs-orange-bg-subtle: hsl(var(--bs-orange-hue), calc(var(--bs-orange-saturation)/3), 15%);\n\t--bs-orange-border-subtle: var(--bs-orange-600);\n\n\t/* Sienna (burnt orange) */\n\n\t--bs-sienna-text-emphasis-hsl: var(--bs-sienna-400-hsl);\n\t--bs-sienna-text-emphasis: hsl(var(--bs-sienna-text-emphasis-hsl));\n\t--bs-sienna-bg-subtle: hsl(var(--bs-sienna-hue), calc(var(--bs-sienna-saturation)/3), 15%);\n\t--bs-sienna-border-subtle: var(--bs-sienna-600);\n\n\t/* Amber */\n\n\t--bs-amber-text-emphasis-hsl: var(--bs-amber-400-hsl);\n\t--bs-amber-text-emphasis: hsl(var(--bs-amber-text-emphasis-hsl));\n\t--bs-amber-bg-subtle: hsl(var(--bs-amber-hue), calc(var(--bs-amber-saturation)/3), 15%);\n\t--bs-amber-border-subtle: var(--bs-amber-600);\n\n\t/* Yellow */\n\n\t--bs-yellow-text-emphasis-hsl: var(--bs-yellow-400-hsl);\n\t--bs-yellow-text-emphasis: hsl(var(--bs-yellow-text-emphasis-hsl));\n\t--bs-yellow-bg-subtle: hsl(var(--bs-yellow-hue), calc(var(--bs-yellow-saturation)/3), 15%);\n\t--bs-yellow-border-subtle: var(--bs-yellow-600);\n\n\t/* Lime */\n\n\t--bs-lime-text-emphasis-hsl: var(--bs-lime-400-hsl);\n\t--bs-lime-text-emphasis: hsl(var(--bs-lime-text-emphasis-hsl));\n\t--bs-lime-bg-subtle: hsl(var(--bs-lime-hue), calc(var(--bs-lime-saturation)/3), 15%);\n\t--bs-lime-border-subtle: var(--bs-lime-600);\n\n\t/* Green */\n\n\t--bs-green-text-emphasis-hsl: var(--bs-green-400-hsl);\n\t--bs-green-text-emphasis: hsl(var(--bs-green-text-emphasis-hsl));\n\t--bs-green-bg-subtle: hsl(var(--bs-green-hue), calc(var(--bs-green-saturation)/3), 15%);\n\t--bs-green-border-subtle: var(--bs-green-600);\n\n\t/* Emerald */\n\n\t--bs-emerald-text-emphasis-hsl: var(--bs-emerald-400-hsl);\n\t--bs-emerald-text-emphasis: hsl(var(--bs-emerald-text-emphasis-hsl));\n\t--bs-emerald-bg-subtle: hsl(var(--bs-emerald-hue), calc(var(--bs-emerald-saturation)/3), 15%);\n\t--bs-emerald-border-subtle: var(--bs-emerald-600);\n\n\t/* Turquoise */\n\n\t--bs-turquoise-text-emphasis-hsl: var(--bs-turquoise-400-hsl);\n\t--bs-turquoise-text-emphasis: hsl(var(--bs-turquoise-text-emphasis-hsl));\n\t--bs-turquoise-bg-subtle: hsl(var(--bs-turquoise-hue), calc(var(--bs-turquoise-saturation)/3), 15%);\n\t--bs-turquoise-border-subtle: var(--bs-turquoise-600);\n\n\t/* Teal */\n\n\t--bs-teal-text-emphasis-hsl: var(--bs-teal-400-hsl);\n\t--bs-teal-text-emphasis: hsl(var(--bs-teal-text-emphasis-hsl));\n\t--bs-teal-bg-subtle: hsl(var(--bs-teal-hue), calc(var(--bs-teal-saturation)/3), 15%);\n\t--bs-teal-border-subtle: var(--bs-teal-600);\n\n\t/* Cyan */\n\n\t--bs-cyan-text-emphasis-hsl: var(--bs-cyan-400-hsl);\n\t--bs-cyan-text-emphasis: hsl(var(--bs-cyan-text-emphasis-hsl));\n\t--bs-cyan-bg-subtle: hsl(var(--bs-cyan-hue), calc(var(--bs-cyan-saturation)/3), 15%);\n\t--bs-cyan-border-subtle: var(--bs-cyan-600);\n\n\t/* Sky */\n\n\t--bs-sky-text-emphasis-hsl: var(--bs-sky-400-hsl);\n\t--bs-sky-text-emphasis: hsl(var(--bs-sky-text-emphasis-hsl));\n\t--bs-sky-bg-subtle: hsl(var(--bs-sky-hue), calc(var(--bs-sky-saturation)/3), 15%);\n\t--bs-sky-border-subtle: var(--bs-sky-600);\n\n\t/* Blue */\n\n\t--bs-blue-text-emphasis-hsl: var(--bs-blue-400-hsl);\n\t--bs-blue-text-emphasis: hsl(var(--bs-blue-text-emphasis-hsl));\n\t--bs-blue-bg-subtle: hsl(var(--bs-blue-hue), calc(var(--bs-blue-saturation)/3), 15%);\n\t--bs-blue-border-subtle: var(--bs-blue-600);\n\n\t/* Navy */\n\n\t--bs-navy-text-emphasis-hsl: var(--bs-navy-300-hsl);\n\t--bs-navy-text-emphasis: hsl(var(--bs-navy-text-emphasis-hsl));\n\t--bs-navy-bg-subtle: hsl(var(--bs-navy-hue), calc(var(--bs-navy-saturation)/3), 15%);\n\t--bs-navy-border-subtle: var(--bs-navy-600);\n\n\t/* Indigo */\n\n\t--bs-indigo-text-emphasis-hsl: var(--bs-indigo-300-hsl);\n\t--bs-indigo-text-emphasis: hsl(var(--bs-indigo-text-emphasis-hsl));\n\t--bs-indigo-bg-subtle: hsl(var(--bs-indigo-hue), calc(var(--bs-indigo-saturation)/3), 15%);\n\t--bs-indigo-border-subtle: var(--bs-indigo-600);\n\n\t/* Violet */\n\n\t--bs-violet-text-emphasis-hsl: var(--bs-violet-300-hsl);\n\t--bs-violet-text-emphasis: hsl(var(--bs-violet-text-emphasis-hsl));\n\t--bs-violet-bg-subtle: hsl(var(--bs-violet-hue), calc(var(--bs-violet-saturation)/3), 15%);\n\t--bs-violet-border-subtle: var(--bs-violet-600);\n\n\t/* Purple */\n\n\t--bs-purple-text-emphasis-hsl: var(--bs-purple-300-hsl);\n\t--bs-purple-text-emphasis: hsl(var(--bs-purple-text-emphasis-hsl));\n\t--bs-purple-bg-subtle: hsl(var(--bs-purple-hue), calc(var(--bs-purple-saturation)/3), 15%);\n\t--bs-purple-border-subtle: var(--bs-purple-600);\n\n\t/* Fuchsia */\n\n\t--bs-fuchsia-text-emphasis-hsl: var(--bs-fuchsia-400-hsl);\n\t--bs-fuchsia-text-emphasis: hsl(var(--bs-fuchsia-text-emphasis-hsl));\n\t--bs-fuchsia-bg-subtle: hsl(var(--bs-fuchsia-hue), calc(var(--bs-fuchsia-saturation)/3), 15%);\n\t--bs-fuchsia-border-subtle: var(--bs-fuchsia-600);\n\n\t/* Pink (magenta) */\n\n\t--bs-pink-text-emphasis-hsl: var(--bs-pink-400-hsl);\n\t--bs-pink-text-emphasis: hsl(var(--bs-pink-text-emphasis-hsl));\n\t--bs-pink-bg-subtle: hsl(var(--bs-pink-hue), calc(var(--bs-pink-saturation)/3), 15%);\n\t--bs-pink-border-subtle: var(--bs-pink-600);\n\n\t/* Primary */\n\n\t--bs-primary-text-emphasis-hsl: var(--bs-blue-text-emphasis-hsl);\n\t--bs-primary-text-emphasis: var(--bs-blue-text-emphasis);\n\t--bs-primary-bg-subtle: var(--bs-blue-bg-subtle);\n\t--bs-primary-border-subtle: var(--bs-blue-border-subtle);\n\n\t/* Secondary */\n\n\t--bs-secondary-hue: var(--bs-darkgray-hue);\n\t--bs-secondary-saturation: var(--bs-darkgray-saturation);\n\t--bs-secondary-100-hsl: var(--bs-darkgray-100-hsl);\n\t--bs-secondary-200-hsl: var(--bs-darkgray-200-hsl);\n\t--bs-secondary-300-hsl: var(--bs-darkgray-300-hsl);\n\t--bs-secondary-400-hsl: var(--bs-darkgray-400-hsl);\n\t--bs-secondary-500-hsl: var(--bs-darkgray-500-hsl);\n\t--bs-secondary-600-hsl: var(--bs-darkgray-600-hsl);\n\t--bs-secondary-700-hsl: var(--bs-darkgray-700-hsl);\n\t--bs-secondary-800-hsl: var(--bs-darkgray-800-hsl);\n\t--bs-secondary-900-hsl: var(--bs-darkgray-900-hsl);\n\t--bs-secondary-100: var(--bs-darkgray-100);\n\t--bs-secondary-200: var(--bs-darkgray-200);\n\t--bs-secondary-300: var(--bs-darkgray-300);\n\t--bs-secondary-400: var(--bs-darkgray-400);\n\t--bs-secondary-500: var(--bs-darkgray-500);\n\t--bs-secondary-600: var(--bs-darkgray-600);\n\t--bs-secondary-700: var(--bs-darkgray-700);\n\t--bs-secondary-800: var(--bs-darkgray-800);\n\t--bs-secondary-900: var(--bs-darkgray-900);\n\t--bs-secondary-hsl: var(--bs-darkgray-hsl);\n\t--bs-secondary: var(--bs-darkgray);\n\t--bs-secondary-foreground-hsl: var(--bs-darkgray-foreground-hsl);\n\t--bs-secondary-foreground: var(--bs-darkgray-foreground);\n\t--bs-secondary-text-emphasis-hsl: var(--bs-darkgray-text-emphasis-hsl);\n\t--bs-secondary-text-emphasis: var(--bs-darkgray-text-emphasis);\n\t--bs-secondary-hover-bg: var(--bs-darkgray-hover-bg);\n\t--bs-secondary-active-bg: var(--bs-darkgray-active-bg);\n\t--bs-secondary-bg-subtle: var(--bs-darkgray-bg-subtle);\n\t--bs-secondary-border-subtle: var(--bs-darkgray-border-subtle);\n\t--bs-secondary-checkbox-svg: var(--bs-darkgray-checkbox-svg);\n\t--bs-secondary-dash-svg: var(--bs-darkgray-dash-svg);\n\t--bs-secondary-radio-svg: var(--bs-darkgray-radio-svg);\n\t--bs-secondary-switch-svg: var(--bs-darkgray-switch-svg);\n\n\t/* Success */\n\n\t--bs-success-text-emphasis-hsl: var(--bs-green-text-emphasis-hsl);\n\t--bs-success-text-emphasis: var(--bs-green-text-emphasis);\n\t--bs-success-bg-subtle: var(--bs-green-bg-subtle);\n\t--bs-success-border-subtle: var(--bs-green-border-subtle);\n\n\t/* Info */\n\n\t--bs-info-text-emphasis-hsl: var(--bs-cyan-text-emphasis-hsl);\n\t--bs-info-text-emphasis: var(--bs-cyan-text-emphasis);\n\t--bs-info-bg-subtle: var(--bs-cyan-bg-subtle);\n\t--bs-info-border-subtle: var(--bs-cyan-border-subtle);\n\n\t/* Warning */\n\n\t--bs-warning-text-emphasis-hsl: var(--bs-yellow-text-emphasis-hsl);\n\t--bs-warning-text-emphasis: var(--bs-yellow-text-emphasis);\n\t--bs-warning-bg-subtle: var(--bs-yellow-bg-subtle);\n\t--bs-warning-border-subtle: var(--bs-yellow-border-subtle);\n\n\t/* Danger */\n\n\t--bs-danger-text-emphasis-hsl: var(--bs-red-text-emphasis-hsl);\n\t--bs-danger-text-emphasis: var(--bs-red-text-emphasis);\n\t--bs-danger-bg-subtle: var(--bs-red-bg-subtle);\n\t--bs-danger-border-subtle: var(--bs-red-border-subtle);\n\n\t/* Light */\n\n\t--bs-light-hue: var(--bs-gray-hue);\n\t--bs-light-saturation: var(--bs-gray-saturation);\n\t--bs-light-100-hsl: var(--bs-gray-100-hsl);\n\t--bs-light-200-hsl: var(--bs-gray-200-hsl);\n\t--bs-light-300-hsl: var(--bs-gray-300-hsl);\n\t--bs-light-400-hsl: var(--bs-gray-400-hsl);\n\t--bs-light-500-hsl: var(--bs-gray-500-hsl);\n\t--bs-light-600-hsl: var(--bs-gray-600-hsl);\n\t--bs-light-700-hsl: var(--bs-gray-700-hsl);\n\t--bs-light-800-hsl: var(--bs-gray-800-hsl);\n\t--bs-light-900-hsl: var(--bs-gray-900-hsl);\n\t--bs-light-100: var(--bs-gray-100);\n\t--bs-light-200: var(--bs-gray-200);\n\t--bs-light-300: var(--bs-gray-300);\n\t--bs-light-400: var(--bs-gray-400);\n\t--bs-light-500: var(--bs-gray-500);\n\t--bs-light-600: var(--bs-gray-600);\n\t--bs-light-700: var(--bs-gray-700);\n\t--bs-light-800: var(--bs-gray-800);\n\t--bs-light-900: var(--bs-gray-900);\n\t--bs-light-hsl: var(--bs-gray-hsl);\n\t--bs-light: var(--bs-gray);\n\t--bs-light-foreground-hsl: var(--bs-gray-foreground-hsl);\n\t--bs-light-foreground: var(--bs-gray-foreground);\n\t--bs-light-text-emphasis-hsl: var(--bs-gray-text-emphasis-hsl);\n\t--bs-light-text-emphasis: var(--bs-gray-text-emphasis);\n\t--bs-light-hover-bg: var(--bs-gray-hover-bg);\n\t--bs-light-active-bg: var(--bs-gray-active-bg);\n\t--bs-light-bg-subtle: var(--bs-gray-bg-subtle);\n\t--bs-light-border-subtle: var(--bs-gray-border-subtle);\n\t--bs-light-checkbox-svg: var(--bs-gray-checkbox-svg);\n\t--bs-light-dash-svg: var(--bs-gray-dash-svg);\n\t--bs-light-radio-svg: var(--bs-gray-radio-svg);\n\t--bs-light-switch-svg: var(--bs-gray-switch-svg);\n\n\t/* Dark */\n\n\t--bs-dark-hue: var(--bs-sable-hue);\n\t--bs-dark-saturation: var(--bs-sable-saturation);\n\t--bs-dark-100-hsl: var(--bs-sable-100-hsl);\n\t--bs-dark-200-hsl: var(--bs-sable-200-hsl);\n\t--bs-dark-300-hsl: var(--bs-sable-300-hsl);\n\t--bs-dark-400-hsl: var(--bs-sable-400-hsl);\n\t--bs-dark-500-hsl: var(--bs-sable-500-hsl);\n\t--bs-dark-600-hsl: var(--bs-sable-600-hsl);\n\t--bs-dark-700-hsl: var(--bs-sable-700-hsl);\n\t--bs-dark-800-hsl: var(--bs-sable-800-hsl);\n\t--bs-dark-900-hsl: var(--bs-sable-900-hsl);\n\t--bs-dark-100: var(--bs-sable-100);\n\t--bs-dark-200: var(--bs-sable-200);\n\t--bs-dark-300: var(--bs-sable-300);\n\t--bs-dark-400: var(--bs-sable-400);\n\t--bs-dark-500: var(--bs-sable-500);\n\t--bs-dark-600: var(--bs-sable-600);\n\t--bs-dark-700: var(--bs-sable-700);\n\t--bs-dark-800: var(--bs-sable-800);\n\t--bs-dark-900: var(--bs-sable-900);\n\t--bs-dark-hsl: var(--bs-sable-hsl);\n\t--bs-dark: var(--bs-sable);\n\t--bs-dark-foreground-hsl: var(--bs-sable-foreground-hsl);\n\t--bs-dark-foreground: var(--bs-sable-foreground);\n\t--bs-dark-text-emphasis-hsl: var(--bs-sable-text-emphasis-hsl);\n\t--bs-dark-text-emphasis: var(--bs-sable-text-emphasis);\n\t--bs-dark-hover-bg: var(--bs-sable-hover-bg);\n\t--bs-dark-active-bg: var(--bs-sable-active-bg);\n\t--bs-dark-bg-subtle: var(--bs-sable-bg-subtle);\n\t--bs-dark-border-subtle: var(--bs-sable-border-subtle);\n\t--bs-dark-checkbox-svg: var(--bs-sable-checkbox-svg);\n\t--bs-dark-dash-svg: var(--bs-sable-dash-svg);\n\t--bs-dark-radio-svg: var(--bs-sable-radio-svg);\n\t--bs-dark-switch-svg: var(--bs-sable-switch-svg);\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Variables ]\n * ----------------------------------------------------------------------------\n */\n\n:root,\n[data-bs-theme=light] {\n\t/* Color scheme */\n\n\tcolor-scheme: light;\n\n\t/* Font family */\n\n\t--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\";\n\t--bs-font-serif: Iowan Old Style, Apple Garamond, Baskerville, Times New Roman, Droid Serif, Times, Source Serif Pro, serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;\n\t--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n\t--bs-body-font-family: var(--bs-font-sans-serif);\n\n\t/* Font size */\n\n\t--bs-font-size-base: 0.875rem;\n\t--bs-font-size-sm: 0.75rem;\n\t--bs-font-size-lg: 1rem;\n\t--bs-relative-font-size-sm: 0.85714285714em; /* 12px */\n\t--bs-relative-font-size-xs: 0.71428571428em; /* 10px */\n\t--bs-relative-font-size-2xs: 0.57142857142em; /* 8px */\n\t--bs-relative-font-size-3xs: 0.42857142857em; /* 6px */\n\t--bs-relative-font-size-4xs: 0.28571428571em; /* 4px */\n\t--bs-relative-font-size-5xs: 0.21428571428em; /* 3px */\n\t--bs-relative-font-size-6xs: 0.14285714285em; /* 2px */\n\t--bs-relative-font-size-7xs: 0.07142857142em; /* 1px */\n\t--bs-body-font-size: var(--bs-font-size-base);\n\t--bs-h1-font-size: calc(var(--bs-font-size-base) + 1.375rem);\n\t--bs-h2-font-size: calc(var(--bs-font-size-base) + 1rem);\n\t--bs-h3-font-size: calc(var(--bs-font-size-base) + 0.75rem);\n\t--bs-h4-font-size: calc(var(--bs-font-size-base) + 0.5rem);\n\t--bs-h5-font-size: calc(var(--bs-font-size-base) + 0.25rem);\n\t--bs-h6-font-size: var(--bs-font-size-base);\n\n\t/* Font weight */\n\n\t--bs-font-weight-lighter: lighter;\n\t--bs-font-weight-light: 300;\n\t--bs-font-weight-normal: 400;\n\t--bs-font-weight-medium: 500;\n\t--bs-font-weight-semibold: 600;\n\t--bs-font-weight-bold: 700;\n\t--bs-font-weight-bolder: bolder;\n\t--bs-body-font-weight: var(--bs-font-weight-normal);\n\t--bs-heading-font-weight: var(--bs-font-weight-bold);\n\n\t/* Line height */\n\n\t--bs-line-height-base: 1.5;\n\t--bs-line-height-sm: 1.25;\n\t--bs-line-height-lg: 2;\n\t--bs-body-line-height: var(--bs-line-height-base);\n\t--bs-heading-line-height: 1.2;\n\n\t/* Font smoothing */\n\n\t--bs-body-webkit-font-smoothing: antialiased;\n\t--bs-body-moz-osx-font-smoothing: grayscale;\n\n\t/* Spacer */\n\n\t--bs-spacer: 1rem;\n\t--bs-spacer-1: calc(var(--bs-spacer) * 0.25);\n\t--bs-spacer-2: calc(var(--bs-spacer) * 0.5);\n\t--bs-spacer-3: var(--bs-spacer);\n\t--bs-spacer-4: calc(var(--bs-spacer) * 1.5);\n\t--bs-spacer-5: calc(var(--bs-spacer) * 3);\n\n\t/* Color */\n\n\t--bs-color-hue: var(--bs-gray-hue);\n\t--bs-color-saturation: var(--bs-gray-saturation);\n\t--bs-body-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 15%;\n\t--bs-body-color: hsl(var(--bs-body-color-hsl));\n\t--bs-emphasis-color-hsl: var(--bs-black-hsl);\n\t--bs-emphasis-color: hsl(var(--bs-emphasis-color-hsl));\n\t--bs-secondary-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 40%;\n\t--bs-secondary-color: hsl(var(--bs-secondary-color-hsl));\n\t--bs-tertiary-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 65%;\n\t--bs-tertiary-color: hsl(var(--bs-tertiary-color-hsl));\n\t--bs-heading-color: inherit;\n\n\t/* Background */\n\n\t--bs-body-bg-hsl: var(--bs-white-hsl);\n\t--bs-body-bg: hsl(var(--bs-body-bg-hsl));\n\t--bs-secondary-bg-hsl: var(--bs-lightgray-100-hsl);\n\t--bs-secondary-bg: hsl(var(--bs-secondary-bg-hsl));\n\t--bs-tertiary-bg-hsl: var(--bs-lightgray-200-hsl);\n\t--bs-tertiary-bg: hsl(var(--bs-tertiary-bg-hsl));\n\t--bs-gradient: linear-gradient(180deg, hsla(var(--bs-white-hsl), 0.15), hsla(var(--bs-white-hsl), 0));\n\n\t/* Border */\n\n\t--bs-border-width: 1px;\n\t--bs-border-width-1: var(--bs-border-width);\n\t--bs-border-width-2: calc(var(--bs-border-width) + 1px);\n\t--bs-border-width-3: calc(var(--bs-border-width) + 2px);\n\t--bs-border-width-4: calc(var(--bs-border-width) + 3px);\n\t--bs-border-width-5: calc(var(--bs-border-width) + 4px);\n\t--bs-border-style: solid;\n\t--bs-border-color: var(--bs-lightgray-800);\n\t--bs-border-color-light: var(--bs-lightgray-600);\n\t--bs-border-color-dark: var(--bs-border-color);\n\t--bs-border-color-translucent: hsla(var(--bs-black-hsl), 0.15);\n\t--bs-border-radius: 0.375rem;\n\t--bs-border-radius-sm: 0.25rem;\n\t--bs-border-radius-lg: 0.5rem;\n\t--bs-border-radius-xl: 1rem;\n\t--bs-border-radius-xxl: 2rem;\n\t--bs-border-radius-2xl: var(--bs-border-radius-xxl);\n\t--bs-border-radius-pill: 50rem;\n\n\t/* Box shadow */\n\n\t--bs-box-shadow-color: hsla(var(--bs-black-hsl), 0.15);\n\t--bs-box-shadow: 0 0.5rem 1rem var(--bs-box-shadow-color);\n\t--bs-box-shadow-sm: 0 0.125rem 0.25rem var(--bs-box-shadow-color);\n\t--bs-box-shadow-lg: 0 1rem 3rem var(--bs-box-shadow-color);\n\t--bs-box-shadow-inset: inset 0 1px var(--bs-box-shadow-color);\n\n\t/* Focus ring */\n\n\t--bs-focus-ring-width: 0.25rem;\n\t--bs-focus-ring-opacity: 0.25;\n\t--bs-focus-ring-color: hsla(var(--bs-primary-hsl), var(--bs-focus-ring-opacity));\n\n\t/* Link */\n\n\t--bs-link-color-hsl: var(--bs-primary-hsl);\n\t--bs-link-color: hsl(var(--bs-link-color-hsl));\n\t--bs-link-decoration: underline;\n\t--bs-link-decoration-offset: var(--bs-relative-font-size-4xs);\n\t--bs-link-hover-color-hsl: var(--bs-primary-text-emphasis-hsl);\n\t--bs-link-hover-color: hsl(var(--bs-link-hover-color-hsl));\n\t--bs-link-hover-decoration: underline;\n\n\t/* Highlight */\n\n\t--bs-highlight-padding: var(--bs-relative-font-size-6xs);\n\t--bs-highlight-color: inherit;\n\t--bs-highlight-bg: hsla(var(--bs-yellow-hsl), 0.25);\n\t--bs-highlight-border-radius: 0;\n\n\t/* Code */\n\n\t--bs-code-padding: var(--bs-relative-font-size-6xs) var(--bs-relative-font-size-4xs);\n\t--bs-code-font-size: var(--bs-relative-font-size-sm);\n\t--bs-code-color: inherit;\n\t--bs-code-bg: hsla(var(--bs-black-hsl), 0.1);\n\t--bs-code-border-radius: var(--bs-border-radius-sm);\n\n\t/* Keyboard input */\n\n\t--bs-kbd-padding: 0.125rem 0.375rem;\n\t--bs-kbd-font-size: var(--bs-font-size-sm);\n\t--bs-kbd-color: var(--bs-dark-foreground);\n\t--bs-kbd-bg: var(--bs-dark);\n\t--bs-kbd-border-radius: var(--bs-border-radius-sm);\n\n\t/* Container */\n\n\t--bs-container-max-width-sm: 540px;\n\t--bs-container-max-width-md: 720px;\n\t--bs-container-max-width-lg: 960px;\n\t--bs-container-max-width-xl: 1140px;\n\t--bs-container-max-width-xxl: 1320px;\n\n\t/* Sidebar */\n\n\t--bs-sidebar-margin: 0;\n\t--bs-sidebar-width: 20rem;\n\t--bs-sidebar-height: 100%;\n\t--bs-padding-sbwidth: var(--bs-sidebar-width);\n\n\t/* Content (used as needed in cards, panels, menus, etc.) */\n\n\t--bs-content-color-hsl: var(--bs-body-color-hsl);\n\t--bs-content-color: hsl(var(--bs-content-color-hsl));\n\t--bs-content-bg-hsl: var(--bs-body-bg-hsl);\n\t--bs-content-bg: hsl(var(--bs-content-bg-hsl));\n\t--bs-content-border-color: var(--bs-border-color-dark);\n\t--bs-content-box-shadow: none;\n\t--bs-content-floating-color-hsl: var(--bs-content-color-hsl);\n\t--bs-content-floating-color: hsl(var(--bs-content-floating-color-hsl));\n\t--bs-content-floating-bg-hsl: var(--bs-content-bg-hsl);\n\t--bs-content-floating-bg: hsl(var(--bs-content-floating-bg-hsl));\n\t--bs-content-floating-border-color: var(--bs-content-border-color);\n\t--bs-content-floating-box-shadow: 0 1rem 2.25rem 0 rgba(0, 0, 0, 0.05), 0 0.25rem 1rem 0 rgba(0, 0, 0, 0.04);\n\n\t/* Action (used as needed in buttons, inputs, menu items, page links, etc.) */\n\n\t--bs-action-padding-x: 0.5rem;\n\t--bs-action-padding-y: 0.25rem;\n\t--bs-action-font-size: var(--bs-font-size-base);\n\t--bs-action-line-height: calc(20/14);\n\t--bs-action-sm-padding-x: 0.375rem;\n\t--bs-action-sm-padding-y: 0.125rem;\n\t--bs-action-sm-font-size: var(--bs-font-size-sm);\n\t--bs-action-sm-line-height: calc(18/12);\n\t--bs-action-lg-padding-x: 0.625rem;\n\t--bs-action-lg-padding-y: 0.3125rem;\n\t--bs-action-lg-font-size: var(--bs-font-size-lg);\n\t--bs-action-lg-line-height: calc(24/16);\n\t--bs-action-color: hsl(var(--bs-color-hue), var(--bs-color-saturation), 20%);\n\t--bs-action-bg: var(--bs-white);\n\t--bs-action-border-color: var(--bs-border-color-dark);\n\t--bs-action-hover-color: var(--bs-action-color);\n\t--bs-action-hover-bg: var(--bs-lightgray-200);\n\t--bs-action-hover-border-color: var(--bs-action-border-color);\n\t--bs-action-focus-shadow-hsl: var(--bs-primary-hsl);\n\t--bs-action-active-color: var(--bs-action-color);\n\t--bs-action-active-bg: var(--bs-lightgray-400);\n\t--bs-action-active-border-color: var(--bs-action-border-color);\n\t--bs-action-active-shadow: none;\n\t--bs-action-disabled-color: var(--bs-secondary-color);\n\t--bs-action-disabled-bg: var(--bs-lightgray-400);\n\t--bs-action-disabled-border-color: var(--bs-action-border-color);\n\n\t/* Form */\n\n\t--bs-form-color: var(--bs-body-color);\n\t--bs-form-bg: var(--bs-action-bg);\n\t--bs-form-secondary-bg: var(--bs-action-hover-bg);\n\t--bs-form-tertiary-bg: var(--bs-action-active-bg);\n\t--bs-form-border-color: var(--bs-action-border-color);\n\t--bs-form-focus-border-color: var(--bs-form-border-color);\n\t--bs-form-focus-shadow-hsl: var(--bs-primary-hsl);\n\t--bs-form-disabled-color: var(--bs-action-disabled-color);\n\t--bs-form-disabled-bg: var(--bs-action-disabled-bg);\n\t--bs-form-disabled-border-color: var(--bs-action-disabled-border-color);\n\t--bs-form-valid-color: var(--bs-success-text-emphasis);\n\t--bs-form-valid-border-color: var(--bs-success-border-subtle);\n\t--bs-form-invalid-color: var(--bs-danger-text-emphasis);\n\t--bs-form-invalid-border-color: var(--bs-danger-border-subtle);\n\t--bs-form-check-bg: var(--bs-form-bg);\n\t--bs-form-check-border-color: var(--bs-border-color);\n\t--bs-form-check-focus-border-color: var(--bs-form-check-border-color);\n\t--bs-form-check-focus-shadow-hsl: var(--bs-form-focus-shadow-hsl);\n\n\t/* Contextual buttons */\n\n\t--bs-ctx-btn-border-color: transparent;\n\t--bs-ctx-btn-hover-border-color: var(--bs-ctx-btn-border-color);\n\t--bs-ctx-btn-active-border-color: var(--bs-ctx-btn-border-color);\n\t--bs-ctx-btn-disabled-border-color: var(--bs-ctx-btn-border-color);\n\t--bs-ctx-btn-bg-clip: border-box;\n\n\t/* Action bar (used as needed in range, progress, etc.) */\n\n\t--bs-actionbar-bg: var(--bs-action-hover-bg);\n\t--bs-actionbar-border-color: hsla(var(--bs-black-hsl), 0.075);\n\t--bs-progresstrack-border-width: 0;\n\t--bs-progresstrack-box-shadow: inset 0 0 0 var(--bs-border-width) var(--bs-actionbar-border-color);\n\t--bs-progresstrack-bg-clip: border-box;\n}\n\n[data-bs-theme=dark] {\n\t/* Color scheme */\n\n\tcolor-scheme: dark;\n\n\t/* Color */\n\n\t--bs-color-hue: var(--bs-gray-hue);\n\t--bs-color-saturation: var(--bs-gray-saturation);\n\t--bs-body-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 85%;\n\t--bs-body-color: hsl(var(--bs-body-color-hsl));\n\t--bs-emphasis-color-hsl: var(--bs-white-hsl);\n\t--bs-emphasis-color: hsl(var(--bs-emphasis-color-hsl));\n\t--bs-secondary-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 60%;\n\t--bs-secondary-color: hsl(var(--bs-secondary-color-hsl));\n\t--bs-tertiary-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 35%;\n\t--bs-tertiary-color: hsl(var(--bs-tertiary-color-hsl));\n\t--bs-heading-color: inherit;\n\n\t/* Background */\n\n\t--bs-body-bg-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 13%;\n\t--bs-body-bg: hsl(var(--bs-body-bg-hsl));\n\t--bs-secondary-bg-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 11.8%;\n\t--bs-secondary-bg: hsl(var(--bs-secondary-bg-hsl));\n\t--bs-tertiary-bg-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 11%;\n\t--bs-tertiary-bg: hsl(var(--bs-tertiary-bg-hsl));\n\t--bs-gradient: linear-gradient(180deg, hsla(var(--bs-white-hsl), 0.15), hsla(var(--bs-white-hsl), 0));\n\n\t/* Border */\n\n\t--bs-border-color: var(--bs-gray-800);\n\t--bs-border-color-light: var(--bs-border-color);\n\t--bs-border-color-dark: hsl(var(--bs-sable-hue), var(--bs-sable-saturation), 9.5%);\n\t--bs-border-color-translucent: hsla(var(--bs-white-hsl), 0.15);\n\n\t/* Box shadow */\n\n\t--bs-box-shadow-color: hsla(var(--bs-black-hsl), 0.4);\n\t--bs-box-shadow: 0 0.5rem 1rem var(--bs-box-shadow-color);\n\t--bs-box-shadow-sm: 0 0.125rem 0.25rem var(--bs-box-shadow-color);\n\t--bs-box-shadow-lg: 0 1rem 3rem var(--bs-box-shadow-color);\n\t--bs-box-shadow-inset: inset 0 1px var(--bs-box-shadow-color);\n\n\t/* Link */\n\n\t--bs-link-color-hsl: var(--bs-primary-text-emphasis-hsl);\n\t--bs-link-color: hsl(var(--bs-link-color-hsl));\n\t--bs-link-hover-color-hsl: var(--bs-primary-hsl);\n\t--bs-link-hover-color: hsl(var(--bs-link-hover-color-hsl));\n\n\t/* Highlight */\n\n\t--bs-highlight-color: inherit;\n\t--bs-highlight-bg: hsla(var(--bs-yellow-hsl), 0.1);\n\n\t/* Code */\n\n\t--bs-code-color: inherit;\n\t--bs-code-bg: hsla(var(--bs-white-hsl), 0.075);\n\n\t/* Keyboard input */\n\n\t--bs-kbd-color: var(--bs-light-foreground);\n\t--bs-kbd-bg: var(--bs-light);\n\n\t/* Content (used as needed in cards, panels, menus, etc.) */\n\n\t--bs-content-color-hsl: var(--bs-body-color-hsl);\n\t--bs-content-color: hsl(var(--bs-content-color-hsl));\n\t--bs-content-bg-hsl: var(--bs-tertiary-bg-hsl);\n\t--bs-content-bg: hsl(var(--bs-content-bg-hsl));\n\t--bs-content-border-color: var(--bs-border-color-dark);\n\t--bs-content-box-shadow: none;\n\t--bs-content-floating-color-hsl: var(--bs-content-color-hsl);\n\t--bs-content-floating-color: hsl(var(--bs-content-floating-color-hsl));\n\t--bs-content-floating-bg-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 13.5%;\n\t--bs-content-floating-bg: hsl(var(--bs-content-floating-bg-hsl));\n\t--bs-content-floating-border-color: var(--bs-content-border-color);\n\t--bs-content-floating-box-shadow: 0 1rem 2.25rem 0 rgba(0, 0, 0, 0.2), 0 0.25rem 1rem 0 rgba(0, 0, 0, 0.16);\n\n\t/* Action (used as needed in buttons, inputs, menu items, page links, etc.) */\n\n\t--bs-action-color: hsl(var(--bs-color-hue), var(--bs-color-saturation), 80%);\n\t--bs-action-bg: var(--bs-sable-700);\n\t--bs-action-border-color: var(--bs-border-color-dark);\n\t--bs-action-hover-color: var(--bs-action-color);\n\t--bs-action-hover-bg: var(--bs-sable-600);\n\t--bs-action-hover-border-color: var(--bs-action-border-color);\n\t--bs-action-focus-shadow-hsl: var(--bs-primary-hsl);\n\t--bs-action-active-color: var(--bs-action-color);\n\t--bs-action-active-bg: var(--bs-sable-500);\n\t--bs-action-active-border-color: var(--bs-action-border-color);\n\t--bs-action-active-shadow: none;\n\t--bs-action-disabled-color: var(--bs-secondary-color);\n\t--bs-action-disabled-bg: var(--bs-sable-400);\n\t--bs-action-disabled-border-color: var(--bs-action-border-color);\n\n\t/* Form */\n\n\t--bs-form-color: var(--bs-body-color);\n\t--bs-form-bg: var(--bs-action-bg);\n\t--bs-form-secondary-bg: var(--bs-action-hover-bg);\n\t--bs-form-tertiary-bg: var(--bs-action-active-bg);\n\t--bs-form-border-color: var(--bs-action-border-color);\n\t--bs-form-focus-border-color: var(--bs-form-border-color);\n\t--bs-form-focus-shadow-hsl: var(--bs-primary-hsl);\n\t--bs-form-disabled-color: var(--bs-action-disabled-color);\n\t--bs-form-disabled-bg: var(--bs-action-disabled-bg);\n\t--bs-form-disabled-border-color: var(--bs-action-disabled-border-color);\n\t--bs-form-valid-color: var(--bs-success-text-emphasis);\n\t--bs-form-valid-border-color: var(--bs-success-border-subtle);\n\t--bs-form-invalid-color: var(--bs-danger-text-emphasis);\n\t--bs-form-invalid-border-color: var(--bs-danger-border-subtle);\n\t--bs-form-check-bg: var(--bs-form-bg);\n\t--bs-form-check-border-color: var(--bs-border-color);\n\t--bs-form-check-focus-border-color: var(--bs-form-check-border-color);\n\t--bs-form-check-focus-shadow-hsl: var(--bs-form-focus-shadow-hsl);\n\n\t/* Contextual buttons */\n\n\t--bs-ctx-btn-border-color: var(--bs-border-color-dark);\n\t--bs-ctx-btn-hover-border-color: var(--bs-ctx-btn-border-color);\n\t--bs-ctx-btn-active-border-color: var(--bs-ctx-btn-border-color);\n\t--bs-ctx-btn-disabled-border-color: var(--bs-ctx-btn-border-color);\n\t--bs-ctx-btn-bg-clip: padding-box;\n\n\t/* Action bar (used as needed in range, progress, etc.) */\n\n\t--bs-actionbar-bg: var(--bs-action-bg);\n\t--bs-actionbar-border-color: var(--bs-action-border-color);\n\t--bs-progresstrack-border-width: var(--bs-border-width);\n\t--bs-progresstrack-box-shadow: none;\n\t--bs-progresstrack-bg-clip: padding-box;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Reboot ]\n * ----------------------------------------------------------------------------\n */\n\n*,\n*::before,\n*::after {\n\tbox-sizing: border-box;\n}\n\nbody {\n\tmargin: 0;\n\tfont-family: var(--bs-body-font-family);\n\tfont-size: var(--bs-body-font-size);\n\tfont-weight: var(--bs-body-font-weight);\n\tline-height: var(--bs-body-line-height);\n\tcolor: var(--bs-body-color);\n\ttext-align: var(--bs-body-text-align);\n\tbackground-color: var(--bs-body-bg);\n\t-webkit-font-smoothing: var(--bs-body-webkit-font-smoothing);\n\t-moz-osx-font-smoothing: var(--bs-body-moz-osx-font-smoothing);\n\t-webkit-text-size-adjust: 100%;\n\t-webkit-tap-highlight-color: hsla(0, 0, 0, 0);\n}\n\nhr {\n\tmargin: 1rem 0;\n\tcolor: inherit;\n\tborder: 0;\n\tborder-top: var(--bs-border-width) solid;\n\topacity: 0.25;\n}\n\nh6, .h6,\nh5, .h5,\nh4, .h4,\nh3, .h3,\nh2, .h2,\nh1, .h1 {\n\tmargin-top: 0;\n\tmargin-bottom: 0.5rem;\n\tfont-weight: var(--bs-heading-font-weight);\n\tline-height: var(--bs-heading-line-height);\n\tcolor: var(--bs-heading-color);\n}\n\nh1, .h1 {\n\tfont-size: calc((var(--bs-font-size-base) + 0.4875rem) + 1.5vw);\n}\n\n@media (min-width: 1200px) {\n\th1, .h1 {\n\t\tfont-size: var(--bs-h1-font-size);\n\t}\n}\n\nh2, .h2 {\n\tfont-size: calc((var(--bs-font-size-base) + 0.4375rem) + 0.9vw);\n}\n\n@media (min-width: 1200px) {\n\th2, .h2 {\n\t\tfont-size: var(--bs-h2-font-size);\n\t}\n}\n\nh3, .h3 {\n\tfont-size: calc((var(--bs-font-size-base) + 0.4rem) + 0.6vw);\n}\n\n@media (min-width: 1200px) {\n\th3, .h3 {\n\t\tfont-size: var(--bs-h3-font-size);\n\t}\n}\n\nh4, .h4 {\n\tfont-size: calc((var(--bs-font-size-base) + 0.375rem) + 0.3vw);\n}\n\n@media (min-width: 1200px) {\n\th4, .h4 {\n\t\tfont-size: var(--bs-h4-font-size);\n\t}\n}\n\nh5, .h5 {\n\tfont-size: var(--bs-h5-font-size);\n}\n\nh6, .h6 {\n\tfont-size: var(--bs-h6-font-size);\n}\n\np {\n\tmargin-top: 0;\n\tmargin-bottom: 1rem;\n}\n\nabbr[title] {\n\t-webkit-text-decoration: underline dotted;\n\ttext-decoration: underline dotted;\n\tcursor: help;\n\t-webkit-text-decoration-skip-ink: none;\n\ttext-decoration-skip-ink: none;\n}\n\na > abbr[title] {\n\ttext-underline-offset: var(--bs-relative-font-size-6xs);\n}\n\naddress {\n\tmargin-bottom: 1rem;\n\tfont-style: normal;\n\tline-height: inherit;\n}\n\nol,\nul {\n\tpadding-left: 2rem;\n}\n\nol,\nul,\ndl {\n\tmargin-top: 0;\n\tmargin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n\tmargin-bottom: 0;\n}\n\ndt {\n\tfont-weight: var(--bs-font-weight-bold);\n}\n\ndd {\n\tmargin-bottom: 0.5rem;\n\tmargin-left: 0;\n}\n\nblockquote {\n\tmargin: 0 0 1rem;\n}\n\nb,\nstrong {\n\tfont-weight: var(--bs-font-weight-bolder);\n}\n\nsmall, .small {\n\tfont-size: var(--bs-relative-font-size-sm);\n}\n\nmark, .mark {\n\tpadding: var(--bs-highlight-padding);\n\tcolor: var(--bs-highlight-color);\n\tbackground-color: var(--bs-highlight-bg);\n\tborder-radius: var(--bs-highlight-border-radius);\n}\n\nsub,\nsup {\n\tposition: relative;\n\tfont-size: var(--bs-relative-font-size-xs);\n\tline-height: 0;\n\tvertical-align: baseline;\n}\n\nsub {\n\tbottom: calc(-1 * var(--bs-relative-font-size-4xs));\n}\n\nsup {\n\ttop: calc(-1 * var(--bs-relative-font-size-3xs));\n}\n\na {\n\tcolor: hsla(var(--bs-link-color-hsl), var(--bs-link-opacity, 1));\n\ttext-decoration: var(--bs-link-decoration);\n\ttext-underline-offset: var(--bs-link-decoration-offset);\n\t-webkit-font-smoothing: auto;\n\t-moz-osx-font-smoothing: auto;\n}\n\na:hover {\n\t--bs-link-color-hsl: var(--bs-link-hover-color-hsl);\n\t--bs-link-decoration: var(--bs-link-hover-decoration);\n}\n\na:not([href]):not([class]), a:not([href]):not([class]):hover {\n\tcolor: inherit;\n\ttext-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n\tfont-family: var(--bs-font-monospace);\n\tfont-size: 1em;\n}\n\npre {\n\tdisplay: block;\n\tmargin-top: 0;\n\tmargin-bottom: 1rem;\n\toverflow: auto;\n\tfont-size: var(--bs-relative-font-size-sm);\n}\n\npre code {\n\tpadding: 0;\n\tfont-size: inherit;\n\tcolor: inherit;\n\tbackground-color: transparent;\n\tborder-radius: 0;\n\tword-break: normal;\n\tword-wrap: normal;\n}\n\ncode {\n\tpadding: var(--bs-code-padding);\n\tfont-size: var(--bs-code-font-size);\n\tcolor: var(--bs-code-color);\n\tbackground-color: var(--bs-code-bg);\n\tborder-radius: var(--bs-code-border-radius);\n\tword-wrap: break-word;\n\t-webkit-font-smoothing: auto;\n\t-moz-osx-font-smoothing: auto;\n}\n\na > code {\n\tcolor: inherit;\n}\n\nkbd {\n\tpadding: var(--bs-kbd-padding);\n\tfont-size: var(--bs-kbd-font-size);\n\tcolor: var(--bs-kbd-color);\n\tbackground-color: var(--bs-kbd-bg);\n\tborder-radius: var(--bs-kbd-border-radius);\n\t-webkit-font-smoothing: auto;\n\t-moz-osx-font-smoothing: auto;\n}\n\nkbd kbd {\n\tpadding: 0;\n\tfont-size: 1em;\n}\n\nfigure {\n\tmargin: 0 0 1rem;\n}\n\nimg,\nsvg {\n\tvertical-align: middle;\n}\n\ntable {\n\tcaption-side: bottom;\n\tborder-collapse: collapse;\n}\n\ncaption {\n\tpadding-top: 0.5rem;\n\tpadding-bottom: 0.5rem;\n\tcolor: var(--bs-secondary-color);\n\ttext-align: left;\n}\n\nth {\n\ttext-align: inherit;\n\ttext-align: -webkit-match-parent;\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n\tborder-color: inherit;\n\tborder-style: solid;\n\tborder-width: 0;\n}\n\nlabel {\n\tdisplay: inline-block;\n}\n\nbutton {\n\tborder-radius: 0;\n}\n\nbutton:focus:not(:focus-visible) {\n\toutline: 0;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n\tmargin: 0;\n\tfont-family: inherit;\n\tfont-size: inherit;\n\tline-height: inherit;\n}\n\nbutton,\nselect {\n\ttext-transform: none;\n}\n\n[role=button] {\n\tcursor: pointer;\n}\n\nselect {\n\tword-wrap: normal;\n}\n\nselect:disabled {\n\topacity: 1;\n}\n\n[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n\tdisplay: none !important;\n}\n\nbutton,\n[type=button],\n[type=reset],\n[type=submit] {\n\t-webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=button]:not(:disabled),\n[type=reset]:not(:disabled),\n[type=submit]:not(:disabled) {\n\tcursor: pointer;\n}\n\n::-moz-focus-inner {\n\tpadding: 0;\n\tborder-style: none;\n}\n\ntextarea {\n\tresize: vertical;\n}\n\nfieldset {\n\tmin-width: 0;\n\tpadding: 0;\n\tmargin: 0;\n\tborder: 0;\n}\n\nlegend {\n\tfloat: left;\n\twidth: 100%;\n\tpadding: 0;\n\tmargin-bottom: 0.5rem;\n\tfont-size: calc((var(--bs-font-size-base) + 0.375rem) + 0.3vw);\n\tline-height: inherit;\n}\n\n@media (min-width: 1200px) {\n\tlegend {\n\t\tfont-size: calc(var(--bs-font-size-base) + 0.5rem);\n\t}\n}\n\nlegend + * {\n\tclear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n\tpadding: 0;\n}\n\n::-webkit-inner-spin-button {\n\theight: auto;\n}\n\n[type=search] {\n\toutline-offset: -2px;\n\t-webkit-appearance: textfield;\n}\n\n/* rtl:raw:\n[type=\"tel\"],\n[type=\"url\"],\n[type=\"email\"],\n[type=\"number\"] {\n\tdirection: ltr;\n}\n*/\n\n::-webkit-search-decoration {\n\t-webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n\tpadding: 0;\n}\n\n::-webkit-file-upload-button {\n\tfont: inherit;\n\t-webkit-appearance: button;\n}\n\n::file-selector-button {\n\tfont: inherit;\n\t-webkit-appearance: button;\n}\n\noutput {\n\tdisplay: inline-block;\n}\n\niframe {\n\tborder: 0;\n}\n\nsummary {\n\tdisplay: list-item;\n\tcursor: pointer;\n}\n\nprogress {\n\tvertical-align: baseline;\n}\n\n[hidden] {\n\tdisplay: none !important;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Typography ]\n * ----------------------------------------------------------------------------\n */\n\n.lead {\n\tfont-size: calc(var(--bs-font-size-base) + 0.25rem);\n}\n\n.display-1,\n.display-2,\n.display-3,\n.display-4,\n.display-5,\n.display-6 {\n\tfont-weight: var(--bs-font-weight-bold);\n\tline-height: 1.2;\n}\n\n.display-1 {\n\tfont-size: calc((var(--bs-font-size-base) + 0.7rem) + 4.5vw);\n}\n\n@media (min-width: 1200px) {\n\t.display-1 {\n\t\tfont-size: calc(var(--bs-font-size-base) + 3.875rem);\n\t}\n}\n\n.display-2 {\n\tfont-size: calc((var(--bs-font-size-base) + 0.65rem) + 3.9vw);\n}\n\n@media (min-width: 1200px) {\n\t.display-2 {\n\t\tfont-size: calc(var(--bs-font-size-base) + 3.375rem);\n\t}\n}\n\n.display-3 {\n\tfont-size: calc((var(--bs-font-size-base) + 0.6rem) + 3.3vw);\n}\n\n@media (min-width: 1200px) {\n\t.display-3 {\n\t\tfont-size: calc(var(--bs-font-size-base) + 2.875rem);\n\t}\n}\n\n.display-4 {\n\tfont-size: calc((var(--bs-font-size-base) + 0.55rem) + 2.7vw);\n}\n\n@media (min-width: 1200px) {\n\t.display-4 {\n\t\tfont-size: calc(var(--bs-font-size-base) + 2.375rem);\n\t}\n}\n\n.display-5 {\n\tfont-size: calc((var(--bs-font-size-base) + 0.5rem) + 2.1vw);\n}\n\n@media (min-width: 1200px) {\n\t.display-5 {\n\t\tfont-size: calc(var(--bs-font-size-base) + 1.875rem);\n\t}\n}\n\n.display-6 {\n\tfont-size: calc((var(--bs-font-size-base) + 0.45rem) + 1.5vw);\n}\n\n@media (min-width: 1200px) {\n\t.display-6 {\n\t\tfont-size: calc(var(--bs-font-size-base) + 1.375rem);\n\t}\n}\n\n.list-unstyled {\n\tpadding-left: 0;\n\tlist-style: none;\n}\n\n.list-inline {\n\tpadding-left: 0;\n\tlist-style: none;\n}\n\n.list-inline-item {\n\tdisplay: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n\tmargin-right: 0.5rem;\n}\n\n.initialism {\n\tfont-size: var(--bs-relative-font-size-sm);\n\ttext-transform: uppercase;\n}\n\n.blockquote {\n\tmargin-bottom: 1rem;\n\tfont-size: calc(var(--bs-font-size-base) + 0.25rem);\n}\n\n.blockquote > :last-child {\n\tmargin-bottom: 0;\n}\n\n.blockquote-footer {\n\tmargin-top: -1rem;\n\tmargin-bottom: 1rem;\n\tfont-size: var(--bs-relative-font-size-sm);\n\tcolor: var(--bs-secondary-color);\n}\n\n.blockquote-footer::before {\n\tcontent: \"— \";\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Images ]\n * ----------------------------------------------------------------------------\n */\n\n.img-fluid {\n\tmax-width: 100%;\n\theight: auto;\n}\n\n.img-thumbnail {\n\tpadding: 0.25rem;\n\tbackground-color: var(--bs-body-bg);\n\tborder: var(--bs-border-width) solid var(--bs-border-color);\n\tborder-radius: var(--bs-border-radius);\n\tmax-width: 100%;\n\theight: auto;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Figures ]\n * ----------------------------------------------------------------------------\n */\n\n.figure {\n\tdisplay: inline-block;\n}\n\n.figure-img {\n\tmargin-bottom: 0.5rem;\n\tline-height: 1;\n}\n\n.figure-caption {\n\tfont-size: var(--bs-relative-font-size-sm);\n\tcolor: var(--bs-secondary-color);\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Grid ]\n * ----------------------------------------------------------------------------\n */\n\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n\t--bs-gutter-x: var(--bs-spacer-4);\n\t--bs-gutter-y: 0;\n\twidth: 100%;\n\tpadding-right: calc(var(--bs-gutter-x) * 0.5);\n\tpadding-left: calc(var(--bs-gutter-x) * 0.5);\n\tmargin-right: auto;\n\tmargin-left: auto;\n}\n\n@media (min-width: 576px) {\n\t.container-sm, .container {\n\t\tmax-width: var(--bs-container-max-width-sm);\n\t}\n}\n\n@media (min-width: 768px) {\n\t.container-md, .container-sm, .container {\n\t\tmax-width: var(--bs-container-max-width-md);\n\t}\n}\n\n@media (min-width: 992px) {\n\t.container-lg, .container-md, .container-sm, .container {\n\t\tmax-width: var(--bs-container-max-width-lg);\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.container-xl, .container-lg, .container-md, .container-sm, .container {\n\t\tmax-width: var(--bs-container-max-width-xl);\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n\t\tmax-width: var(--bs-container-max-width-xxl);\n\t}\n}\n\n:root {\n\t--bs-breakpoint-xs: 0;\n\t--bs-breakpoint-sm: 576px;\n\t--bs-breakpoint-md: 768px;\n\t--bs-breakpoint-lg: 992px;\n\t--bs-breakpoint-xl: 1200px;\n\t--bs-breakpoint-xxl: 1400px;\n}\n\n.row {\n\t--bs-gutter-x: var(--bs-spacer-4);\n\t--bs-gutter-y: 0;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tmargin-top: calc(-1 * var(--bs-gutter-y));\n\tmargin-right: calc(-0.5 * var(--bs-gutter-x));\n\tmargin-left: calc(-0.5 * var(--bs-gutter-x));\n}\n\n.row > * {\n\tflex-shrink: 0;\n\twidth: 100%;\n\tmax-width: 100%;\n\tpadding-right: calc(var(--bs-gutter-x) * 0.5);\n\tpadding-left: calc(var(--bs-gutter-x) * 0.5);\n\tmargin-top: var(--bs-gutter-y);\n}\n\n.col {\n\tflex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n\tflex: 0 0 auto;\n\twidth: auto;\n}\n\n.row-cols-1 > * {\n\tflex: 0 0 auto;\n\twidth: 100%;\n}\n\n.row-cols-2 > * {\n\tflex: 0 0 auto;\n\twidth: 50%;\n}\n\n.row-cols-3 > * {\n\tflex: 0 0 auto;\n\twidth: 33.3333333333%;\n}\n\n.row-cols-4 > * {\n\tflex: 0 0 auto;\n\twidth: 25%;\n}\n\n.row-cols-5 > * {\n\tflex: 0 0 auto;\n\twidth: 20%;\n}\n\n.row-cols-6 > * {\n\tflex: 0 0 auto;\n\twidth: 16.6666666667%;\n}\n\n.col-auto {\n\tflex: 0 0 auto;\n\twidth: auto;\n}\n\n.col-1 {\n\tflex: 0 0 auto;\n\twidth: 8.33333333%;\n}\n\n.col-2 {\n\tflex: 0 0 auto;\n\twidth: 16.66666667%;\n}\n\n.col-3 {\n\tflex: 0 0 auto;\n\twidth: 25%;\n}\n\n.col-4 {\n\tflex: 0 0 auto;\n\twidth: 33.33333333%;\n}\n\n.col-5 {\n\tflex: 0 0 auto;\n\twidth: 41.66666667%;\n}\n\n.col-6 {\n\tflex: 0 0 auto;\n\twidth: 50%;\n}\n\n.col-7 {\n\tflex: 0 0 auto;\n\twidth: 58.33333333%;\n}\n\n.col-8 {\n\tflex: 0 0 auto;\n\twidth: 66.66666667%;\n}\n\n.col-9 {\n\tflex: 0 0 auto;\n\twidth: 75%;\n}\n\n.col-10 {\n\tflex: 0 0 auto;\n\twidth: 83.33333333%;\n}\n\n.col-11 {\n\tflex: 0 0 auto;\n\twidth: 91.66666667%;\n}\n\n.col-12 {\n\tflex: 0 0 auto;\n\twidth: 100%;\n}\n\n.offset-1 {\n\tmargin-left: 8.33333333%;\n}\n\n.offset-2 {\n\tmargin-left: 16.66666667%;\n}\n\n.offset-3 {\n\tmargin-left: 25%;\n}\n\n.offset-4 {\n\tmargin-left: 33.33333333%;\n}\n\n.offset-5 {\n\tmargin-left: 41.66666667%;\n}\n\n.offset-6 {\n\tmargin-left: 50%;\n}\n\n.offset-7 {\n\tmargin-left: 58.33333333%;\n}\n\n.offset-8 {\n\tmargin-left: 66.66666667%;\n}\n\n.offset-9 {\n\tmargin-left: 75%;\n}\n\n.offset-10 {\n\tmargin-left: 83.33333333%;\n}\n\n.offset-11 {\n\tmargin-left: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n\t--bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n\t--bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n\t--bs-gutter-x: var(--bs-spacer-1);\n}\n\n.g-1,\n.gy-1 {\n\t--bs-gutter-y: var(--bs-spacer-1);\n}\n\n.g-2,\n.gx-2 {\n\t--bs-gutter-x: var(--bs-spacer-2);\n}\n\n.g-2,\n.gy-2 {\n\t--bs-gutter-y: var(--bs-spacer-2);\n}\n\n.g-3,\n.gx-3 {\n\t--bs-gutter-x: var(--bs-spacer-3);\n}\n\n.g-3,\n.gy-3 {\n\t--bs-gutter-y: var(--bs-spacer-3);\n}\n\n.g-4,\n.gx-4 {\n\t--bs-gutter-x: var(--bs-spacer-4);\n}\n\n.g-4,\n.gy-4 {\n\t--bs-gutter-y: var(--bs-spacer-4);\n}\n\n.g-5,\n.gx-5 {\n\t--bs-gutter-x: var(--bs-spacer-5);\n}\n\n.g-5,\n.gy-5 {\n\t--bs-gutter-y: var(--bs-spacer-5);\n}\n\n@media (min-width: 576px) {\n\t.col-sm {\n\t\tflex: 1 0 0%;\n\t}\n\n\t.row-cols-sm-auto > * {\n\t\tflex: 0 0 auto;\n\t\twidth: auto;\n\t}\n\n\t.row-cols-sm-1 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 100%;\n\t}\n\n\t.row-cols-sm-2 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 50%;\n\t}\n\n\t.row-cols-sm-3 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 33.3333333333%;\n\t}\n\n\t.row-cols-sm-4 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 25%;\n\t}\n\n\t.row-cols-sm-5 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 20%;\n\t}\n\n\t.row-cols-sm-6 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 16.6666666667%;\n\t}\n\n\t.col-sm-auto {\n\t\tflex: 0 0 auto;\n\t\twidth: auto;\n\t}\n\n\t.col-sm-1 {\n\t\tflex: 0 0 auto;\n\t\twidth: 8.33333333%;\n\t}\n\n\t.col-sm-2 {\n\t\tflex: 0 0 auto;\n\t\twidth: 16.66666667%;\n\t}\n\n\t.col-sm-3 {\n\t\tflex: 0 0 auto;\n\t\twidth: 25%;\n\t}\n\n\t.col-sm-4 {\n\t\tflex: 0 0 auto;\n\t\twidth: 33.33333333%;\n\t}\n\n\t.col-sm-5 {\n\t\tflex: 0 0 auto;\n\t\twidth: 41.66666667%;\n\t}\n\n\t.col-sm-6 {\n\t\tflex: 0 0 auto;\n\t\twidth: 50%;\n\t}\n\n\t.col-sm-7 {\n\t\tflex: 0 0 auto;\n\t\twidth: 58.33333333%;\n\t}\n\n\t.col-sm-8 {\n\t\tflex: 0 0 auto;\n\t\twidth: 66.66666667%;\n\t}\n\n\t.col-sm-9 {\n\t\tflex: 0 0 auto;\n\t\twidth: 75%;\n\t}\n\n\t.col-sm-10 {\n\t\tflex: 0 0 auto;\n\t\twidth: 83.33333333%;\n\t}\n\n\t.col-sm-11 {\n\t\tflex: 0 0 auto;\n\t\twidth: 91.66666667%;\n\t}\n\n\t.col-sm-12 {\n\t\tflex: 0 0 auto;\n\t\twidth: 100%;\n\t}\n\n\t.offset-sm-0 {\n\t\tmargin-left: 0;\n\t}\n\n\t.offset-sm-1 {\n\t\tmargin-left: 8.33333333%;\n\t}\n\n\t.offset-sm-2 {\n\t\tmargin-left: 16.66666667%;\n\t}\n\n\t.offset-sm-3 {\n\t\tmargin-left: 25%;\n\t}\n\n\t.offset-sm-4 {\n\t\tmargin-left: 33.33333333%;\n\t}\n\n\t.offset-sm-5 {\n\t\tmargin-left: 41.66666667%;\n\t}\n\n\t.offset-sm-6 {\n\t\tmargin-left: 50%;\n\t}\n\n\t.offset-sm-7 {\n\t\tmargin-left: 58.33333333%;\n\t}\n\n\t.offset-sm-8 {\n\t\tmargin-left: 66.66666667%;\n\t}\n\n\t.offset-sm-9 {\n\t\tmargin-left: 75%;\n\t}\n\n\t.offset-sm-10 {\n\t\tmargin-left: 83.33333333%;\n\t}\n\n\t.offset-sm-11 {\n\t\tmargin-left: 91.66666667%;\n\t}\n\n\t.g-sm-0,\n\t.gx-sm-0 {\n\t\t--bs-gutter-x: 0;\n\t}\n\n\t.g-sm-0,\n\t.gy-sm-0 {\n\t\t--bs-gutter-y: 0;\n\t}\n\n\t.g-sm-1,\n\t.gx-sm-1 {\n\t\t--bs-gutter-x: var(--bs-spacer-1);\n\t}\n\n\t.g-sm-1,\n\t.gy-sm-1 {\n\t\t--bs-gutter-y: var(--bs-spacer-1);\n\t}\n\n\t.g-sm-2,\n\t.gx-sm-2 {\n\t\t--bs-gutter-x: var(--bs-spacer-2);\n\t}\n\n\t.g-sm-2,\n\t.gy-sm-2 {\n\t\t--bs-gutter-y: var(--bs-spacer-2);\n\t}\n\n\t.g-sm-3,\n\t.gx-sm-3 {\n\t\t--bs-gutter-x: var(--bs-spacer-3);\n\t}\n\n\t.g-sm-3,\n\t.gy-sm-3 {\n\t\t--bs-gutter-y: var(--bs-spacer-3);\n\t}\n\n\t.g-sm-4,\n\t.gx-sm-4 {\n\t\t--bs-gutter-x: var(--bs-spacer-4);\n\t}\n\n\t.g-sm-4,\n\t.gy-sm-4 {\n\t\t--bs-gutter-y: var(--bs-spacer-4);\n\t}\n\n\t.g-sm-5,\n\t.gx-sm-5 {\n\t\t--bs-gutter-x: var(--bs-spacer-5);\n\t}\n\n\t.g-sm-5,\n\t.gy-sm-5 {\n\t\t--bs-gutter-y: var(--bs-spacer-5);\n\t}\n}\n\n@media (min-width: 768px) {\n\t.col-md {\n\t\tflex: 1 0 0%;\n\t}\n\n\t.row-cols-md-auto > * {\n\t\tflex: 0 0 auto;\n\t\twidth: auto;\n\t}\n\n\t.row-cols-md-1 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 100%;\n\t}\n\n\t.row-cols-md-2 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 50%;\n\t}\n\n\t.row-cols-md-3 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 33.3333333333%;\n\t}\n\n\t.row-cols-md-4 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 25%;\n\t}\n\n\t.row-cols-md-5 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 20%;\n\t}\n\n\t.row-cols-md-6 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 16.6666666667%;\n\t}\n\n\t.col-md-auto {\n\t\tflex: 0 0 auto;\n\t\twidth: auto;\n\t}\n\n\t.col-md-1 {\n\t\tflex: 0 0 auto;\n\t\twidth: 8.33333333%;\n\t}\n\n\t.col-md-2 {\n\t\tflex: 0 0 auto;\n\t\twidth: 16.66666667%;\n\t}\n\n\t.col-md-3 {\n\t\tflex: 0 0 auto;\n\t\twidth: 25%;\n\t}\n\n\t.col-md-4 {\n\t\tflex: 0 0 auto;\n\t\twidth: 33.33333333%;\n\t}\n\n\t.col-md-5 {\n\t\tflex: 0 0 auto;\n\t\twidth: 41.66666667%;\n\t}\n\n\t.col-md-6 {\n\t\tflex: 0 0 auto;\n\t\twidth: 50%;\n\t}\n\n\t.col-md-7 {\n\t\tflex: 0 0 auto;\n\t\twidth: 58.33333333%;\n\t}\n\n\t.col-md-8 {\n\t\tflex: 0 0 auto;\n\t\twidth: 66.66666667%;\n\t}\n\n\t.col-md-9 {\n\t\tflex: 0 0 auto;\n\t\twidth: 75%;\n\t}\n\n\t.col-md-10 {\n\t\tflex: 0 0 auto;\n\t\twidth: 83.33333333%;\n\t}\n\n\t.col-md-11 {\n\t\tflex: 0 0 auto;\n\t\twidth: 91.66666667%;\n\t}\n\n\t.col-md-12 {\n\t\tflex: 0 0 auto;\n\t\twidth: 100%;\n\t}\n\n\t.offset-md-0 {\n\t\tmargin-left: 0;\n\t}\n\n\t.offset-md-1 {\n\t\tmargin-left: 8.33333333%;\n\t}\n\n\t.offset-md-2 {\n\t\tmargin-left: 16.66666667%;\n\t}\n\n\t.offset-md-3 {\n\t\tmargin-left: 25%;\n\t}\n\n\t.offset-md-4 {\n\t\tmargin-left: 33.33333333%;\n\t}\n\n\t.offset-md-5 {\n\t\tmargin-left: 41.66666667%;\n\t}\n\n\t.offset-md-6 {\n\t\tmargin-left: 50%;\n\t}\n\n\t.offset-md-7 {\n\t\tmargin-left: 58.33333333%;\n\t}\n\n\t.offset-md-8 {\n\t\tmargin-left: 66.66666667%;\n\t}\n\n\t.offset-md-9 {\n\t\tmargin-left: 75%;\n\t}\n\n\t.offset-md-10 {\n\t\tmargin-left: 83.33333333%;\n\t}\n\n\t.offset-md-11 {\n\t\tmargin-left: 91.66666667%;\n\t}\n\n\t.g-md-0,\n\t.gx-md-0 {\n\t\t--bs-gutter-x: 0;\n\t}\n\n\t.g-md-0,\n\t.gy-md-0 {\n\t\t--bs-gutter-y: 0;\n\t}\n\n\t.g-md-1,\n\t.gx-md-1 {\n\t\t--bs-gutter-x: var(--bs-spacer-1);\n\t}\n\n\t.g-md-1,\n\t.gy-md-1 {\n\t\t--bs-gutter-y: var(--bs-spacer-1);\n\t}\n\n\t.g-md-2,\n\t.gx-md-2 {\n\t\t--bs-gutter-x: var(--bs-spacer-2);\n\t}\n\n\t.g-md-2,\n\t.gy-md-2 {\n\t\t--bs-gutter-y: var(--bs-spacer-2);\n\t}\n\n\t.g-md-3,\n\t.gx-md-3 {\n\t\t--bs-gutter-x: var(--bs-spacer-3);\n\t}\n\n\t.g-md-3,\n\t.gy-md-3 {\n\t\t--bs-gutter-y: var(--bs-spacer-3);\n\t}\n\n\t.g-md-4,\n\t.gx-md-4 {\n\t\t--bs-gutter-x: var(--bs-spacer-4);\n\t}\n\n\t.g-md-4,\n\t.gy-md-4 {\n\t\t--bs-gutter-y: var(--bs-spacer-4);\n\t}\n\n\t.g-md-5,\n\t.gx-md-5 {\n\t\t--bs-gutter-x: var(--bs-spacer-5);\n\t}\n\n\t.g-md-5,\n\t.gy-md-5 {\n\t\t--bs-gutter-y: var(--bs-spacer-5);\n\t}\n}\n\n@media (min-width: 992px) {\n\t.col-lg {\n\t\tflex: 1 0 0%;\n\t}\n\n\t.row-cols-lg-auto > * {\n\t\tflex: 0 0 auto;\n\t\twidth: auto;\n\t}\n\n\t.row-cols-lg-1 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 100%;\n\t}\n\n\t.row-cols-lg-2 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 50%;\n\t}\n\n\t.row-cols-lg-3 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 33.3333333333%;\n\t}\n\n\t.row-cols-lg-4 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 25%;\n\t}\n\n\t.row-cols-lg-5 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 20%;\n\t}\n\n\t.row-cols-lg-6 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 16.6666666667%;\n\t}\n\n\t.col-lg-auto {\n\t\tflex: 0 0 auto;\n\t\twidth: auto;\n\t}\n\n\t.col-lg-1 {\n\t\tflex: 0 0 auto;\n\t\twidth: 8.33333333%;\n\t}\n\n\t.col-lg-2 {\n\t\tflex: 0 0 auto;\n\t\twidth: 16.66666667%;\n\t}\n\n\t.col-lg-3 {\n\t\tflex: 0 0 auto;\n\t\twidth: 25%;\n\t}\n\n\t.col-lg-4 {\n\t\tflex: 0 0 auto;\n\t\twidth: 33.33333333%;\n\t}\n\n\t.col-lg-5 {\n\t\tflex: 0 0 auto;\n\t\twidth: 41.66666667%;\n\t}\n\n\t.col-lg-6 {\n\t\tflex: 0 0 auto;\n\t\twidth: 50%;\n\t}\n\n\t.col-lg-7 {\n\t\tflex: 0 0 auto;\n\t\twidth: 58.33333333%;\n\t}\n\n\t.col-lg-8 {\n\t\tflex: 0 0 auto;\n\t\twidth: 66.66666667%;\n\t}\n\n\t.col-lg-9 {\n\t\tflex: 0 0 auto;\n\t\twidth: 75%;\n\t}\n\n\t.col-lg-10 {\n\t\tflex: 0 0 auto;\n\t\twidth: 83.33333333%;\n\t}\n\n\t.col-lg-11 {\n\t\tflex: 0 0 auto;\n\t\twidth: 91.66666667%;\n\t}\n\n\t.col-lg-12 {\n\t\tflex: 0 0 auto;\n\t\twidth: 100%;\n\t}\n\n\t.offset-lg-0 {\n\t\tmargin-left: 0;\n\t}\n\n\t.offset-lg-1 {\n\t\tmargin-left: 8.33333333%;\n\t}\n\n\t.offset-lg-2 {\n\t\tmargin-left: 16.66666667%;\n\t}\n\n\t.offset-lg-3 {\n\t\tmargin-left: 25%;\n\t}\n\n\t.offset-lg-4 {\n\t\tmargin-left: 33.33333333%;\n\t}\n\n\t.offset-lg-5 {\n\t\tmargin-left: 41.66666667%;\n\t}\n\n\t.offset-lg-6 {\n\t\tmargin-left: 50%;\n\t}\n\n\t.offset-lg-7 {\n\t\tmargin-left: 58.33333333%;\n\t}\n\n\t.offset-lg-8 {\n\t\tmargin-left: 66.66666667%;\n\t}\n\n\t.offset-lg-9 {\n\t\tmargin-left: 75%;\n\t}\n\n\t.offset-lg-10 {\n\t\tmargin-left: 83.33333333%;\n\t}\n\n\t.offset-lg-11 {\n\t\tmargin-left: 91.66666667%;\n\t}\n\n\t.g-lg-0,\n\t.gx-lg-0 {\n\t\t--bs-gutter-x: 0;\n\t}\n\n\t.g-lg-0,\n\t.gy-lg-0 {\n\t\t--bs-gutter-y: 0;\n\t}\n\n\t.g-lg-1,\n\t.gx-lg-1 {\n\t\t--bs-gutter-x: var(--bs-spacer-1);\n\t}\n\n\t.g-lg-1,\n\t.gy-lg-1 {\n\t\t--bs-gutter-y: var(--bs-spacer-1);\n\t}\n\n\t.g-lg-2,\n\t.gx-lg-2 {\n\t\t--bs-gutter-x: var(--bs-spacer-2);\n\t}\n\n\t.g-lg-2,\n\t.gy-lg-2 {\n\t\t--bs-gutter-y: var(--bs-spacer-2);\n\t}\n\n\t.g-lg-3,\n\t.gx-lg-3 {\n\t\t--bs-gutter-x: var(--bs-spacer-3);\n\t}\n\n\t.g-lg-3,\n\t.gy-lg-3 {\n\t\t--bs-gutter-y: var(--bs-spacer-3);\n\t}\n\n\t.g-lg-4,\n\t.gx-lg-4 {\n\t\t--bs-gutter-x: var(--bs-spacer-4);\n\t}\n\n\t.g-lg-4,\n\t.gy-lg-4 {\n\t\t--bs-gutter-y: var(--bs-spacer-4);\n\t}\n\n\t.g-lg-5,\n\t.gx-lg-5 {\n\t\t--bs-gutter-x: var(--bs-spacer-5);\n\t}\n\n\t.g-lg-5,\n\t.gy-lg-5 {\n\t\t--bs-gutter-y: var(--bs-spacer-5);\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.col-xl {\n\t\tflex: 1 0 0%;\n\t}\n\n\t.row-cols-xl-auto > * {\n\t\tflex: 0 0 auto;\n\t\twidth: auto;\n\t}\n\n\t.row-cols-xl-1 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 100%;\n\t}\n\n\t.row-cols-xl-2 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 50%;\n\t}\n\n\t.row-cols-xl-3 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 33.3333333333%;\n\t}\n\n\t.row-cols-xl-4 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 25%;\n\t}\n\n\t.row-cols-xl-5 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 20%;\n\t}\n\n\t.row-cols-xl-6 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 16.6666666667%;\n\t}\n\n\t.col-xl-auto {\n\t\tflex: 0 0 auto;\n\t\twidth: auto;\n\t}\n\n\t.col-xl-1 {\n\t\tflex: 0 0 auto;\n\t\twidth: 8.33333333%;\n\t}\n\n\t.col-xl-2 {\n\t\tflex: 0 0 auto;\n\t\twidth: 16.66666667%;\n\t}\n\n\t.col-xl-3 {\n\t\tflex: 0 0 auto;\n\t\twidth: 25%;\n\t}\n\n\t.col-xl-4 {\n\t\tflex: 0 0 auto;\n\t\twidth: 33.33333333%;\n\t}\n\n\t.col-xl-5 {\n\t\tflex: 0 0 auto;\n\t\twidth: 41.66666667%;\n\t}\n\n\t.col-xl-6 {\n\t\tflex: 0 0 auto;\n\t\twidth: 50%;\n\t}\n\n\t.col-xl-7 {\n\t\tflex: 0 0 auto;\n\t\twidth: 58.33333333%;\n\t}\n\n\t.col-xl-8 {\n\t\tflex: 0 0 auto;\n\t\twidth: 66.66666667%;\n\t}\n\n\t.col-xl-9 {\n\t\tflex: 0 0 auto;\n\t\twidth: 75%;\n\t}\n\n\t.col-xl-10 {\n\t\tflex: 0 0 auto;\n\t\twidth: 83.33333333%;\n\t}\n\n\t.col-xl-11 {\n\t\tflex: 0 0 auto;\n\t\twidth: 91.66666667%;\n\t}\n\n\t.col-xl-12 {\n\t\tflex: 0 0 auto;\n\t\twidth: 100%;\n\t}\n\n\t.offset-xl-0 {\n\t\tmargin-left: 0;\n\t}\n\n\t.offset-xl-1 {\n\t\tmargin-left: 8.33333333%;\n\t}\n\n\t.offset-xl-2 {\n\t\tmargin-left: 16.66666667%;\n\t}\n\n\t.offset-xl-3 {\n\t\tmargin-left: 25%;\n\t}\n\n\t.offset-xl-4 {\n\t\tmargin-left: 33.33333333%;\n\t}\n\n\t.offset-xl-5 {\n\t\tmargin-left: 41.66666667%;\n\t}\n\n\t.offset-xl-6 {\n\t\tmargin-left: 50%;\n\t}\n\n\t.offset-xl-7 {\n\t\tmargin-left: 58.33333333%;\n\t}\n\n\t.offset-xl-8 {\n\t\tmargin-left: 66.66666667%;\n\t}\n\n\t.offset-xl-9 {\n\t\tmargin-left: 75%;\n\t}\n\n\t.offset-xl-10 {\n\t\tmargin-left: 83.33333333%;\n\t}\n\n\t.offset-xl-11 {\n\t\tmargin-left: 91.66666667%;\n\t}\n\n\t.g-xl-0,\n\t.gx-xl-0 {\n\t\t--bs-gutter-x: 0;\n\t}\n\n\t.g-xl-0,\n\t.gy-xl-0 {\n\t\t--bs-gutter-y: 0;\n\t}\n\n\t.g-xl-1,\n\t.gx-xl-1 {\n\t\t--bs-gutter-x: var(--bs-spacer-1);\n\t}\n\n\t.g-xl-1,\n\t.gy-xl-1 {\n\t\t--bs-gutter-y: var(--bs-spacer-1);\n\t}\n\n\t.g-xl-2,\n\t.gx-xl-2 {\n\t\t--bs-gutter-x: var(--bs-spacer-2);\n\t}\n\n\t.g-xl-2,\n\t.gy-xl-2 {\n\t\t--bs-gutter-y: var(--bs-spacer-2);\n\t}\n\n\t.g-xl-3,\n\t.gx-xl-3 {\n\t\t--bs-gutter-x: var(--bs-spacer-3);\n\t}\n\n\t.g-xl-3,\n\t.gy-xl-3 {\n\t\t--bs-gutter-y: var(--bs-spacer-3);\n\t}\n\n\t.g-xl-4,\n\t.gx-xl-4 {\n\t\t--bs-gutter-x: var(--bs-spacer-4);\n\t}\n\n\t.g-xl-4,\n\t.gy-xl-4 {\n\t\t--bs-gutter-y: var(--bs-spacer-4);\n\t}\n\n\t.g-xl-5,\n\t.gx-xl-5 {\n\t\t--bs-gutter-x: var(--bs-spacer-5);\n\t}\n\n\t.g-xl-5,\n\t.gy-xl-5 {\n\t\t--bs-gutter-y: var(--bs-spacer-5);\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.col-xxl {\n\t\tflex: 1 0 0%;\n\t}\n\n\t.row-cols-xxl-auto > * {\n\t\tflex: 0 0 auto;\n\t\twidth: auto;\n\t}\n\n\t.row-cols-xxl-1 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 100%;\n\t}\n\n\t.row-cols-xxl-2 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 50%;\n\t}\n\n\t.row-cols-xxl-3 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 33.3333333333%;\n\t}\n\n\t.row-cols-xxl-4 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 25%;\n\t}\n\n\t.row-cols-xxl-5 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 20%;\n\t}\n\n\t.row-cols-xxl-6 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 16.6666666667%;\n\t}\n\n\t.col-xxl-auto {\n\t\tflex: 0 0 auto;\n\t\twidth: auto;\n\t}\n\n\t.col-xxl-1 {\n\t\tflex: 0 0 auto;\n\t\twidth: 8.33333333%;\n\t}\n\n\t.col-xxl-2 {\n\t\tflex: 0 0 auto;\n\t\twidth: 16.66666667%;\n\t}\n\n\t.col-xxl-3 {\n\t\tflex: 0 0 auto;\n\t\twidth: 25%;\n\t}\n\n\t.col-xxl-4 {\n\t\tflex: 0 0 auto;\n\t\twidth: 33.33333333%;\n\t}\n\n\t.col-xxl-5 {\n\t\tflex: 0 0 auto;\n\t\twidth: 41.66666667%;\n\t}\n\n\t.col-xxl-6 {\n\t\tflex: 0 0 auto;\n\t\twidth: 50%;\n\t}\n\n\t.col-xxl-7 {\n\t\tflex: 0 0 auto;\n\t\twidth: 58.33333333%;\n\t}\n\n\t.col-xxl-8 {\n\t\tflex: 0 0 auto;\n\t\twidth: 66.66666667%;\n\t}\n\n\t.col-xxl-9 {\n\t\tflex: 0 0 auto;\n\t\twidth: 75%;\n\t}\n\n\t.col-xxl-10 {\n\t\tflex: 0 0 auto;\n\t\twidth: 83.33333333%;\n\t}\n\n\t.col-xxl-11 {\n\t\tflex: 0 0 auto;\n\t\twidth: 91.66666667%;\n\t}\n\n\t.col-xxl-12 {\n\t\tflex: 0 0 auto;\n\t\twidth: 100%;\n\t}\n\n\t.offset-xxl-0 {\n\t\tmargin-left: 0;\n\t}\n\n\t.offset-xxl-1 {\n\t\tmargin-left: 8.33333333%;\n\t}\n\n\t.offset-xxl-2 {\n\t\tmargin-left: 16.66666667%;\n\t}\n\n\t.offset-xxl-3 {\n\t\tmargin-left: 25%;\n\t}\n\n\t.offset-xxl-4 {\n\t\tmargin-left: 33.33333333%;\n\t}\n\n\t.offset-xxl-5 {\n\t\tmargin-left: 41.66666667%;\n\t}\n\n\t.offset-xxl-6 {\n\t\tmargin-left: 50%;\n\t}\n\n\t.offset-xxl-7 {\n\t\tmargin-left: 58.33333333%;\n\t}\n\n\t.offset-xxl-8 {\n\t\tmargin-left: 66.66666667%;\n\t}\n\n\t.offset-xxl-9 {\n\t\tmargin-left: 75%;\n\t}\n\n\t.offset-xxl-10 {\n\t\tmargin-left: 83.33333333%;\n\t}\n\n\t.offset-xxl-11 {\n\t\tmargin-left: 91.66666667%;\n\t}\n\n\t.g-xxl-0,\n\t.gx-xxl-0 {\n\t\t--bs-gutter-x: 0;\n\t}\n\n\t.g-xxl-0,\n\t.gy-xxl-0 {\n\t\t--bs-gutter-y: 0;\n\t}\n\n\t.g-xxl-1,\n\t.gx-xxl-1 {\n\t\t--bs-gutter-x: var(--bs-spacer-1);\n\t}\n\n\t.g-xxl-1,\n\t.gy-xxl-1 {\n\t\t--bs-gutter-y: var(--bs-spacer-1);\n\t}\n\n\t.g-xxl-2,\n\t.gx-xxl-2 {\n\t\t--bs-gutter-x: var(--bs-spacer-2);\n\t}\n\n\t.g-xxl-2,\n\t.gy-xxl-2 {\n\t\t--bs-gutter-y: var(--bs-spacer-2);\n\t}\n\n\t.g-xxl-3,\n\t.gx-xxl-3 {\n\t\t--bs-gutter-x: var(--bs-spacer-3);\n\t}\n\n\t.g-xxl-3,\n\t.gy-xxl-3 {\n\t\t--bs-gutter-y: var(--bs-spacer-3);\n\t}\n\n\t.g-xxl-4,\n\t.gx-xxl-4 {\n\t\t--bs-gutter-x: var(--bs-spacer-4);\n\t}\n\n\t.g-xxl-4,\n\t.gy-xxl-4 {\n\t\t--bs-gutter-y: var(--bs-spacer-4);\n\t}\n\n\t.g-xxl-5,\n\t.gx-xxl-5 {\n\t\t--bs-gutter-x: var(--bs-spacer-5);\n\t}\n\n\t.g-xxl-5,\n\t.gy-xxl-5 {\n\t\t--bs-gutter-y: var(--bs-spacer-5);\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Tables ]\n * ----------------------------------------------------------------------------\n */\n\n.table {\n\t--bs-table-color-type: initial;\n \t--bs-table-bg-type: initial;\n \t--bs-table-color-state: initial;\n \t--bs-table-bg-state: initial;\n\t--bs-table-color: var(--bs-body-color);\n\t--bs-table-bg: transparent;\n\t--bs-table-border-color: var(--bs-border-color);\n\t--bs-table-accent-bg: transparent;\n\t--bs-table-striped-color: var(--bs-table-color);\n\t--bs-table-striped-bg: hsla(var(--bs-black-hsl), 0.03);\n\t--bs-table-active-color: var(--bs-table-color);\n\t--bs-table-active-bg: hsla(var(--bs-black-hsl), 0.09);\n\t--bs-table-hover-color: var(--bs-table-color);\n\t--bs-table-hover-bg: hsla(var(--bs-black-hsl), 0.06);\n\twidth: 100%;\n\tmargin-bottom: 1rem;\n\tvertical-align: top;\n\tborder-color: var(--bs-table-border-color);\n}\n\n[data-bs-theme=dark] .table {\n\t--bs-table-striped-bg: hsla(var(--bs-white-hsl), 0.025);\n\t--bs-table-active-bg: hsla(var(--bs-white-hsl), 0.075);\n\t--bs-table-hover-bg: hsla(var(--bs-white-hsl), 0.05);\n}\n\n.table > :not(caption) > * > * {\n\tpadding: 0.375rem 0.5rem;\n\tcolor: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));\n\tbackground-color: var(--bs-table-bg);\n\tborder-bottom-width: var(--bs-border-width);\n\tbox-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));\n}\n\n.table > tbody {\n\tvertical-align: inherit;\n}\n\n.table > thead {\n\tvertical-align: bottom;\n}\n\n.table-group-divider {\n\tborder-top: var(--bs-border-width-2) solid currentcolor;\n}\n\n.caption-top {\n\tcaption-side: top;\n}\n\n.table-sm > :not(caption) > * > * {\n\tpadding: 0.25rem 0.375rem;\n}\n\n.table-bordered > :not(caption) > * {\n\tborder-width: var(--bs-border-width) 0;\n}\n\n.table-bordered > :not(caption) > * > * {\n\tborder-width: 0 var(--bs-border-width);\n}\n\n.table-borderless > :not(caption) > * > * {\n\tborder-bottom-width: 0;\n}\n\n.table-borderless > :not(:first-child) {\n\tborder-top-width: 0;\n}\n\n.table-striped > tbody > tr:nth-of-type(odd) > * {\n\t--bs-table-color-type: var(--bs-table-striped-color);\n\t--bs-table-bg-type: var(--bs-table-striped-bg);\n}\n\n.table-striped-columns > :not(caption) > tr > :nth-child(even) {\n\t--bs-table-color-type: var(--bs-table-striped-color);\n\t--bs-table-bg-type: var(--bs-table-striped-bg);\n}\n\n.table-active {\n\t--bs-table-color-state: var(--bs-table-active-color);\n\t--bs-table-bg-state: var(--bs-table-active-bg);\n}\n\n.table-hover > tbody > tr:hover > * {\n\t--bs-table-color-state: var(--bs-table-hover-color);\n\t--bs-table-bg-state: var(--bs-table-hover-bg);\n}\n\n/* Primary table */\n\n.table-primary {\n\t--bs-table-color: var(--bs-body-color);\n\t--bs-table-bg: hsla(var(--bs-primary-hsl), 0.125);\n\t--bs-table-border-color: var(--bs-border-color);\n\t--bs-table-striped-color: var(--bs-table-color);\n\t--bs-table-striped-bg: hsla(var(--bs-primary-hsl), 0.15);\n\t--bs-table-active-color: var(--bs-table-color);\n\t--bs-table-active-bg: hsla(var(--bs-primary-hsl), 0.25);\n\t--bs-table-hover-color: var(--bs-table-color);\n\t--bs-table-hover-bg: hsla(var(--bs-primary-hsl), 0.2);\n\tcolor: var(--bs-table-color);\n\tborder-color: var(--bs-table-border-color);\n}\n\n/* Secondary table */\n\n.table-secondary {\n\t--bs-table-color: var(--bs-body-color);\n\t--bs-table-bg: hsla(var(--bs-secondary-hsl), 0.125);\n\t--bs-table-border-color: var(--bs-border-color);\n\t--bs-table-striped-color: var(--bs-table-color);\n\t--bs-table-striped-bg: hsla(var(--bs-secondary-hsl), 0.15);\n\t--bs-table-active-color: var(--bs-table-color);\n\t--bs-table-active-bg: hsla(var(--bs-secondary-hsl), 0.25);\n\t--bs-table-hover-color: var(--bs-table-color);\n\t--bs-table-hover-bg: hsla(var(--bs-secondary-hsl), 0.2);\n\tcolor: var(--bs-table-color);\n\tborder-color: var(--bs-table-border-color);\n}\n\n/* Success table */\n\n.table-success {\n\t--bs-table-color: var(--bs-body-color);\n\t--bs-table-bg: hsla(var(--bs-success-hsl), 0.125);\n\t--bs-table-border-color: var(--bs-border-color);\n\t--bs-table-striped-color: var(--bs-table-color);\n\t--bs-table-striped-bg: hsla(var(--bs-success-hsl), 0.15);\n\t--bs-table-active-color: var(--bs-table-color);\n\t--bs-table-active-bg: hsla(var(--bs-success-hsl), 0.25);\n\t--bs-table-hover-color: var(--bs-table-color);\n\t--bs-table-hover-bg: hsla(var(--bs-success-hsl), 0.2);\n\tcolor: var(--bs-table-color);\n\tborder-color: var(--bs-table-border-color);\n}\n\n/* Info table */\n\n.table-info {\n\t--bs-table-color: var(--bs-body-color);\n\t--bs-table-bg: hsla(var(--bs-info-hsl), 0.125);\n\t--bs-table-border-color: var(--bs-border-color);\n\t--bs-table-striped-color: var(--bs-table-color);\n\t--bs-table-striped-bg: hsla(var(--bs-info-hsl), 0.15);\n\t--bs-table-active-color: var(--bs-table-color);\n\t--bs-table-active-bg: hsla(var(--bs-info-hsl), 0.25);\n\t--bs-table-hover-color: var(--bs-table-color);\n\t--bs-table-hover-bg: hsla(var(--bs-info-hsl), 0.2);\n\tcolor: var(--bs-table-color);\n\tborder-color: var(--bs-table-border-color);\n}\n\n/* Warning table */\n\n.table-warning {\n\t--bs-table-color: var(--bs-body-color);\n\t--bs-table-bg: hsla(var(--bs-warning-hsl), 0.125);\n\t--bs-table-border-color: var(--bs-border-color);\n\t--bs-table-striped-color: var(--bs-table-color);\n\t--bs-table-striped-bg: hsla(var(--bs-warning-hsl), 0.15);\n\t--bs-table-active-color: var(--bs-table-color);\n\t--bs-table-active-bg: hsla(var(--bs-warning-hsl), 0.25);\n\t--bs-table-hover-color: var(--bs-table-color);\n\t--bs-table-hover-bg: hsla(var(--bs-warning-hsl), 0.2);\n\tcolor: var(--bs-table-color);\n\tborder-color: var(--bs-table-border-color);\n}\n\n/* Danger table */\n\n.table-danger {\n\t--bs-table-color: var(--bs-body-color);\n\t--bs-table-bg: hsla(var(--bs-danger-hsl), 0.125);\n\t--bs-table-border-color: var(--bs-border-color);\n\t--bs-table-striped-color: var(--bs-table-color);\n\t--bs-table-striped-bg: hsla(var(--bs-danger-hsl), 0.15);\n\t--bs-table-active-color: var(--bs-table-color);\n\t--bs-table-active-bg: hsla(var(--bs-danger-hsl), 0.25);\n\t--bs-table-hover-color: var(--bs-table-color);\n\t--bs-table-hover-bg: hsla(var(--bs-danger-hsl), 0.2);\n\tcolor: var(--bs-table-color);\n\tborder-color: var(--bs-table-border-color);\n}\n\n/* Light table */\n\n.table-light {\n\t--bs-table-color: var(--bs-body-color);\n\t--bs-table-bg: hsla(var(--bs-light-hsl), 0.125);\n\t--bs-table-border-color: var(--bs-border-color);\n\t--bs-table-striped-color: var(--bs-table-color);\n\t--bs-table-striped-bg: hsla(var(--bs-light-hsl), 0.15);\n\t--bs-table-active-color: var(--bs-table-color);\n\t--bs-table-active-bg: hsla(var(--bs-light-hsl), 0.25);\n\t--bs-table-hover-color: var(--bs-table-color);\n\t--bs-table-hover-bg: hsla(var(--bs-light-hsl), 0.2);\n\tcolor: var(--bs-table-color);\n\tborder-color: var(--bs-table-border-color);\n}\n\n/* Dark table */\n\n.table-dark {\n\t--bs-table-color: var(--bs-body-color);\n\t--bs-table-bg: hsla(var(--bs-dark-hsl), 0.125);\n\t--bs-table-border-color: var(--bs-border-color);\n\t--bs-table-striped-color: var(--bs-table-color);\n\t--bs-table-striped-bg: hsla(var(--bs-dark-hsl), 0.15);\n\t--bs-table-active-color: var(--bs-table-color);\n\t--bs-table-active-bg: hsla(var(--bs-dark-hsl), 0.25);\n\t--bs-table-hover-color: var(--bs-table-color);\n\t--bs-table-hover-bg: hsla(var(--bs-dark-hsl), 0.2);\n\tcolor: var(--bs-table-color);\n\tborder-color: var(--bs-table-border-color);\n}\n\n/* Responsive table */\n\n.table-responsive {\n\toverflow-x: auto;\n\t-webkit-overflow-scrolling: touch;\n}\n\n@media (max-width: 575.98px) {\n\t.table-responsive-sm {\n\t\toverflow-x: auto;\n\t\t-webkit-overflow-scrolling: touch;\n\t}\n}\n\n@media (max-width: 767.98px) {\n\t.table-responsive-md {\n\t\toverflow-x: auto;\n\t\t-webkit-overflow-scrolling: touch;\n\t}\n}\n\n@media (max-width: 991.98px) {\n\t.table-responsive-lg {\n\t\toverflow-x: auto;\n\t\t-webkit-overflow-scrolling: touch;\n\t}\n}\n\n@media (max-width: 1199.98px) {\n\t.table-responsive-xl {\n\t\toverflow-x: auto;\n\t\t-webkit-overflow-scrolling: touch;\n\t}\n}\n\n@media (max-width: 1399.98px) {\n\t.table-responsive-xxl {\n\t\toverflow-x: auto;\n\t\t-webkit-overflow-scrolling: touch;\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Form ]\n * ----------------------------------------------------------------------------\n */\n\n.form-label {\n\tmargin-bottom: 0.5rem;\n}\n\n.col-form-label {\n\tpadding-top: calc(var(--bs-action-padding-y) + var(--bs-border-width));\n\tpadding-bottom: calc(var(--bs-action-padding-y) + var(--bs-border-width));\n\tmargin-bottom: 0;\n\tfont-size: var(--bs-action-font-size);\n\tline-height: var(--bs-action-line-height);\n}\n\n.col-form-label-lg {\n\tpadding-top: calc(var(--bs-action-lg-padding-y) + var(--bs-border-width));\n\tpadding-bottom: calc(var(--bs-action-lg-padding-y) + var(--bs-border-width));\n\tfont-size: var(--bs-action-lg-font-size);\n\tline-height: var(--bs-action-lg-line-height);\n}\n\n.col-form-label-sm {\n\tpadding-top: calc(var(--bs-action-sm-padding-y) + var(--bs-border-width));\n\tpadding-bottom: calc(var(--bs-action-sm-padding-y) + var(--bs-border-width));\n\tfont-size: var(--bs-action-sm-font-size);\n\tline-height: var(--bs-action-sm-line-height);\n}\n\n.form-text {\n\tmargin-top: 0.25rem;\n\tfont-size: var(--bs-font-size-sm);\n\tcolor: var(--bs-secondary-color);\n}\n\n/* Form control */\n\n.form-control {\n\tdisplay: block;\n\twidth: 100%;\n\tpadding: var(--bs-action-padding-y) var(--bs-action-padding-x);\n\tfont-size: var(--bs-action-font-size);\n\tfont-weight: var(--bs-font-weight-normal);\n\tline-height: var(--bs-action-line-height);\n\tcolor: var(--bs-form-color);\n\tbackground-color: var(--bs-form-bg);\n\tbackground-clip: padding-box;\n\tborder: var(--bs-border-width) solid var(--bs-form-border-color);\n\t-webkit-appearance: none;\n\t-moz-appearance: none;\n\tappearance: none;\n\tborder-radius: var(--bs-border-radius);\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.form-control {\n\t\ttransition: none;\n\t}\n}\n\n.form-control[type=file] {\n\toverflow: hidden;\n}\n\n.form-control[type=file]:not(:disabled):not([readonly]) {\n\tcursor: pointer;\n}\n\n.form-control:focus {\n\tcolor: var(--bs-form-color);\n\tbackground-color: var(--bs-form-bg);\n\tborder-color: var(--bs-form-focus-border-color);\n\toutline: 0;\n\tbox-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-form-focus-shadow-hsl), 0.35);\n}\n\n.form-control::-webkit-date-and-time-value {\n\tmin-width: 5.3125rem;\n\theight: 1.5em;\n\tmargin: 0;\n}\n\n.form-control::-webkit-datetime-edit {\n\tdisplay: block;\n\tpadding: 0;\n}\n\n.form-control::-moz-placeholder {\n\tcolor: var(--bs-tertiary-color);\n\topacity: 1;\n}\n\n.form-control::placeholder {\n\tcolor: var(--bs-tertiary-color);\n\topacity: 1;\n}\n\n.form-control:disabled {\n\tcolor: var(--bs-form-disabled-color);\n\tbackground-color: var(--bs-form-disabled-bg);\n\tborder-color: var(--bs-form-disabled-border-color);\n\topacity: 1;\n}\n\n.form-control::-webkit-file-upload-button {\n\tpadding: var(--bs-action-padding-y) var(--bs-action-padding-x);\n\tmargin: calc(-1 * var(--bs-action-padding-y)) calc(-1 * var(--bs-action-padding-x));\n\t-webkit-margin-end: var(--bs-action-padding-x);\n\tmargin-inline-end: var(--bs-action-padding-x);\n\tcolor: var(--bs-form-color);\n\tbackground-color: var(--bs-form-secondary-bg);\n\tpointer-events: none;\n\tborder-color: inherit;\n\tborder-style: solid;\n\tborder-width: 0;\n\tborder-inline-end-width: var(--bs-border-width);\n\tborder-radius: 0;\n}\n\n.form-control::file-selector-button {\n\tpadding: var(--bs-action-padding-y) var(--bs-action-padding-x);\n\tmargin: calc(-1 * var(--bs-action-padding-y)) calc(-1 * var(--bs-action-padding-x));\n\t-webkit-margin-end: var(--bs-action-padding-x);\n\tmargin-inline-end: var(--bs-action-padding-x);\n\tcolor: var(--bs-form-color);\n\tbackground-color: var(--bs-form-secondary-bg);\n\tpointer-events: none;\n\tborder-color: inherit;\n\tborder-style: solid;\n\tborder-width: 0;\n\tborder-inline-end-width: var(--bs-border-width);\n\tborder-radius: 0;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.form-control::-webkit-file-upload-button {\n\t\t-webkit-transition: none;\n\t\ttransition: none;\n\t}\n\n\t.form-control::file-selector-button {\n\t\ttransition: none;\n\t}\n}\n\n.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {\n\tbackground-color: var(--bs-form-tertiary-bg);\n}\n\n.form-control:hover:not(:disabled):not([readonly])::file-selector-button {\n\tbackground-color: var(--bs-form-tertiary-bg);\n}\n\n.form-control-plaintext {\n\tdisplay: block;\n\twidth: 100%;\n\tpadding: var(--bs-action-padding-y) 0;\n\tmargin-bottom: 0;\n\tline-height: var(--bs-action-line-height);\n\tcolor: var(--bs-form-color);\n\tbackground-color: transparent;\n\tborder: solid transparent;\n\tborder-width: var(--bs-border-width) 0;\n}\n\n.form-control-plaintext:focus {\n\toutline: 0;\n}\n\n.form-control-plaintext.form-control-sm,\n.form-control-plaintext.form-control-lg {\n\tpadding-right: 0;\n\tpadding-left: 0;\n}\n\n.form-control-sm {\n\tmin-height: calc(var(--bs-action-sm-font-size) * var(--bs-action-sm-line-height) + var(--bs-action-sm-padding-y) * 2 + var(--bs-border-width) * 2);\n\tpadding: var(--bs-action-sm-padding-y) var(--bs-action-sm-padding-x);\n\tfont-size: var(--bs-action-sm-font-size);\n\tline-height: var(--bs-action-sm-line-height);\n\tborder-radius: var(--bs-border-radius-sm);\n}\n\n.form-control-sm::-webkit-file-upload-button {\n\tpadding: var(--bs-action-sm-padding-y) var(--bs-action-sm-padding-x);\n\tmargin: calc(-1 * var(--bs-action-sm-padding-y)) calc(-1 * var(--bs-action-sm-padding-x));\n\t-webkit-margin-end: var(--bs-action-sm-padding-x);\n\tmargin-inline-end: var(--bs-action-sm-padding-x);\n}\n\n.form-control-sm::file-selector-button {\n\tpadding: var(--bs-action-sm-padding-y) var(--bs-action-sm-padding-x);\n\tmargin: calc(-1 * var(--bs-action-sm-padding-y)) calc(-1 * var(--bs-action-sm-padding-x));\n\t-webkit-margin-end: var(--bs-action-sm-padding-x);\n\tmargin-inline-end: var(--bs-action-sm-padding-x);\n}\n\n.form-control-lg {\n\tmin-height: calc(var(--bs-action-lg-font-size) * var(--bs-action-lg-line-height) + var(--bs-action-lg-padding-y) * 2 + var(--bs-border-width) * 2);\n\tpadding: var(--bs-action-lg-padding-y) var(--bs-action-lg-padding-x);\n\tfont-size: var(--bs-action-lg-font-size);\n\tline-height: var(--bs-action-lg-line-height);\n\tborder-radius: var(--bs-border-radius-lg);\n}\n\n.form-control-lg::-webkit-file-upload-button {\n\tpadding: var(--bs-action-lg-padding-y) var(--bs-action-lg-padding-x);\n\tmargin: calc(-1 * var(--bs-action-lg-padding-y)) calc(-1 * var(--bs-action-lg-padding-x));\n\t-webkit-margin-end: var(--bs-action-lg-padding-x);\n\tmargin-inline-end: var(--bs-action-lg-padding-x);\n}\n\n.form-control-lg::file-selector-button {\n\tpadding: var(--bs-action-lg-padding-y) var(--bs-action-lg-padding-x);\n\tmargin: calc(-1 * var(--bs-action-lg-padding-y)) calc(-1 * var(--bs-action-lg-padding-x));\n\t-webkit-margin-end: var(--bs-action-lg-padding-x);\n\tmargin-inline-end: var(--bs-action-lg-padding-x);\n}\n\ntextarea.form-control {\n\tmin-height: calc(var(--bs-action-font-size) * var(--bs-action-line-height) + var(--bs-action-padding-y) * 2 + var(--bs-border-width) * 2);\n}\n\ntextarea.form-control-sm,\n.input-group-sm > textarea.form-control {\n\tmin-height: calc(var(--bs-action-sm-font-size) * var(--bs-action-sm-line-height) + var(--bs-action-sm-padding-y) * 2 + var(--bs-border-width) * 2);\n}\n\ntextarea.form-control-lg,\n.input-group-lg > textarea.form-control {\n\tmin-height: calc(var(--bs-action-lg-font-size) * var(--bs-action-lg-line-height) + var(--bs-action-lg-padding-y) * 2 + var(--bs-border-width) * 2);\n}\n\n.form-control-color {\n\twidth: 3rem;\n\theight: calc(1.5em + var(--bs-action-padding-y) + var(--bs-border-width) * 2);\n\tpadding: 0.375rem;\n}\n\n.form-control-color:not(:disabled):not([readonly]) {\n\tcursor: pointer;\n}\n\n.form-control-color::-moz-color-swatch {\n\tborder: 0 !important;\n\tborder-radius: var(--bs-border-radius);\n}\n\n.form-control-color::-webkit-color-swatch {\n\tborder: 0 !important;\n\tborder-radius: var(--bs-border-radius);\n}\n\n.form-control-color.form-control-sm {\n\theight: calc(1.5em + var(--bs-action-sm-padding-y) + var(--bs-border-width) * 2);\n}\n\n.form-control-color.form-control-lg {\n\theight: calc(1.5em + var(--bs-action-lg-padding-y) + var(--bs-border-width) * 2);\n}\n\n/* Form select */\n\n.form-select {\n\t--bs-form-select-bg-img: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%233d4043' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n\tdisplay: block;\n\twidth: 100%;\n\tpadding: var(--bs-action-padding-y) 2rem var(--bs-action-padding-y) var(--bs-action-padding-x);\n\tfont-size: var(--bs-action-font-size);\n\tfont-weight: var(--bs-font-weight-normal);\n\tline-height: var(--bs-action-line-height);\n\tcolor: var(--bs-form-color);\n\tbackground-color: var(--bs-form-bg);\n\tbackground-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);\n\tbackground-repeat: no-repeat;\n\tbackground-position: right var(--bs-action-padding-x) center;\n\tbackground-size: 1rem 0.75rem;\n\tborder: var(--bs-border-width) solid var(--bs-form-border-color);\n\tborder-radius: var(--bs-border-radius);\n\t-webkit-appearance: none;\n\t-moz-appearance: none;\n\tappearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.form-select {\n\t\ttransition: none;\n\t}\n}\n\n.form-select:focus {\n\tborder-color: var(--bs-form-focus-border-color);\n\toutline: 0;\n\tbox-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-form-focus-shadow-hsl), 0.35);\n}\n\n.form-select[multiple],\n.form-select[size]:not([size=\"1\"]) {\n\tpadding-right: var(--bs-action-padding-x);\n\tbackground-image: none;\n}\n\n.form-select:disabled {\n\tcolor: var(--bs-form-disabled-color);\n\tbackground-color: var(--bs-form-disabled-bg);\n\tborder-color: var(--bs-form-disabled-border-color);\n}\n\n.form-select:-moz-focusring {\n\tcolor: transparent;\n\ttext-shadow: 0 0 0 var(--bs-form-color);\n}\n\n.form-select-sm {\n\tpadding-top: var(--bs-action-sm-padding-y);\n\tpadding-bottom: var(--bs-action-sm-padding-y);\n\tpadding-left: var(--bs-action-sm-padding-x);\n\tfont-size: var(--bs-action-sm-font-size);\n\tline-height: var(--bs-action-sm-line-height);\n\tborder-radius: var(--bs-border-radius-sm);\n}\n\n.form-select-lg {\n\tpadding-top: var(--bs-action-lg-padding-y);\n\tpadding-bottom: var(--bs-action-lg-padding-y);\n\tpadding-left: var(--bs-action-lg-padding-x);\n\tfont-size: var(--bs-action-lg-font-size);\n\tline-height: var(--bs-action-lg-line-height);\n\tborder-radius: var(--bs-border-radius-lg);\n}\n\n[data-bs-theme=dark] .form-select {\n\t--bs-form-select-bg-img: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23aeb1b7' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n}\n\n.form-select[multiple] {\n\toverflow-y: auto;\n}\n\n/* Form check */\n\n.form-check {\n\tdisplay: block;\n\tmin-height: 1.5rem;\n\tpadding-left: 1.5em;\n\tmargin-bottom: 0.125rem;\n}\n\n.form-check .form-check-input {\n\tfloat: left;\n\tmargin-left: -1.5em;\n}\n\n.form-check-reverse {\n\tpadding-right: 1.5em;\n\tpadding-left: 0;\n\ttext-align: right;\n}\n\n.form-check-reverse .form-check-input {\n\tfloat: right;\n\tmargin-right: -1.5em;\n\tmargin-left: 0;\n}\n\n.form-check-input {\n\tflex-shrink: 0;\n\twidth: 1em;\n\theight: 1em;\n\tmargin-top: var(--bs-relative-font-size-4xs);\n\tvertical-align: top;\n\tbackground-color: var(--bs-form-check-bg);\n\tbackground-image: var(--bs-form-check-bg-image);\n\tbackground-repeat: no-repeat;\n\tbackground-position: center;\n\tbackground-size: contain;\n\tborder: var(--bs-border-width) solid var(--bs-form-check-border-color);\n\t-webkit-appearance: none;\n\t-moz-appearance: none;\n\tappearance: none;\n\t-webkit-print-color-adjust: exact;\n\tcolor-adjust: exact;\n\tprint-color-adjust: exact;\n}\n\n.form-check-input[type=checkbox] {\n\tborder-radius: var(--bs-relative-font-size-4xs);\n}\n\n.form-check-input[type=radio] {\n\tborder-radius: 50%;\n}\n\n.form-check-input:active {\n\tfilter: brightness(90%);\n}\n\n.form-check-input:focus {\n\tborder-color: var(--bs-form-check-focus-border-color);\n\toutline: 0;\n\tbox-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-form-check-focus-shadow-hsl), 0.35);\n}\n\n.form-check-input:checked {\n\tbackground-color: var(--bs-primary);\n\tborder-color: var(--bs-primary);\n}\n\n.form-check-input:checked[type=checkbox] {\n\t--bs-form-check-bg-image: var(--bs-primary-checkbox-svg);\n}\n\n.form-check-input:checked[type=radio] {\n\t--bs-form-check-bg-image: var(--bs-primary-radio-svg);\n}\n\n.form-check-input[type=checkbox]:indeterminate {\n\tbackground-color: var(--bs-primary);\n\tborder-color: var(--bs-primary);\n\t--bs-form-check-bg-image: var(--bs-primary-dash-svg);\n}\n\n.form-check-input:disabled {\n\tpointer-events: none;\n\tfilter: none;\n\topacity: 0.5;\n}\n\n.form-check-input[disabled] ~ .form-check-label,\n.form-check-input:disabled ~ .form-check-label {\n\tcursor: default;\n\topacity: 0.5;\n}\n\n.form-switch {\n\tpadding-left: 2.5em;\n}\n\n.form-switch .form-check-input {\n\t--bs-form-switch-bg: var(--bs-switch-svg-unchecked);\n\twidth: 2em;\n\tmargin-left: -2.5em;\n\tbackground-image: var(--bs-form-switch-bg);\n\tbackground-position: left center;\n\tborder-radius: 2em;\n\ttransition: background-position 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.form-switch .form-check-input {\n\t\ttransition: none;\n\t}\n}\n\n.form-switch .form-check-input:focus {\n\t--bs-form-switch-bg: var(--bs-switch-svg-unchecked);\n}\n\n.form-switch .form-check-input:checked {\n\tbackground-position: right center;\n\t--bs-form-switch-bg: var(--bs-primary-switch-svg);\n}\n\n.form-switch.form-check-reverse {\n\tpadding-right: 2.5em;\n\tpadding-left: 0;\n}\n\n.form-switch.form-check-reverse .form-check-input {\n\tmargin-right: -2.5em;\n\tmargin-left: 0;\n}\n\n.form-check-inline {\n\tdisplay: inline-block;\n\tmargin-right: 1rem;\n}\n\n.btn-check {\n\tposition: absolute;\n\tclip: rect(0, 0, 0, 0);\n\tpointer-events: none;\n}\n\n.btn-check[disabled] + .btn,\n.btn-check:disabled + .btn {\n\tpointer-events: none;\n\tfilter: none;\n\topacity: 0.65;\n}\n\n/* Form range */\n\n.form-range {\n\twidth: 100%;\n\theight: 1.625rem;\n\tpadding: 0;\n\tbackground-color: transparent;\n\t-webkit-appearance: none;\n\t-moz-appearance: none;\n\tappearance: none;\n}\n\n.form-range:focus {\n\toutline: 0;\n}\n\n.form-range:focus::-webkit-slider-thumb {\n\tborder-color: var(--bs-primary-border-subtle);\n\tbox-shadow: 0 0 0 0.3125rem hsla(var(--bs-form-focus-shadow-hsl), 0.35);\n}\n\n.form-range:focus::-moz-range-thumb {\n\tborder-color: var(--bs-primary-border-subtle);\n\tbox-shadow: 0 0 0 0.3125rem hsla(var(--bs-form-focus-shadow-hsl), 0.35);\n}\n\n.form-range::-moz-focus-outer {\n\tborder: 0;\n}\n\n.form-range::-webkit-slider-thumb {\n\twidth: 1.625rem;\n\theight: 1.625rem;\n\tmargin-top: -0.625rem;\n\tbackground-color: var(--bs-form-check-bg);\n\tborder: var(--bs-border-width-2) solid var(--bs-form-check-border-color);\n\tborder-radius: 50%;\n\t-webkit-appearance: none;\n\tappearance: none;\n\tbox-sizing: border-box;\n\tcursor: pointer;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.form-range::-webkit-slider-thumb {\n\t\t-webkit-transition: none;\n\t\ttransition: none;\n\t}\n}\n\n.form-range::-webkit-slider-runnable-track {\n\twidth: 100%;\n\theight: 0.5rem;\n\tcolor: transparent;\n\tbox-sizing: border-box;\n\tcursor: pointer;\n\tbackground-color: var(--bs-actionbar-bg);\n\tborder: var(--bs-border-width) solid var(--bs-actionbar-border-color);\n\tborder-radius: 1rem;\n}\n\n.form-range::-moz-range-thumb {\n\twidth: 1.625rem;\n\theight: 1.625rem;\n\tbackground-color: var(--bs-form-check-bg);\n\tborder: var(--bs-border-width-2) solid var(--bs-form-check-border-color);\n\tborder-radius: 50%;\n\t-moz-appearance: none;\n\tappearance: none;\n\tbox-sizing: border-box;\n\tcursor: pointer;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.form-range::-moz-range-thumb {\n\t\t-moz-transition: none;\n\t\ttransition: none;\n\t}\n}\n\n.form-range::-moz-range-track {\n\twidth: 100%;\n\theight: 0.5rem;\n\tcolor: transparent;\n\tbox-sizing: border-box;\n\tcursor: pointer;\n\tbackground-color: var(--bs-actionbar-bg);\n\tborder: var(--bs-border-width) solid var(--bs-actionbar-border-color);\n\tborder-radius: 1rem;\n}\n\n.form-range:disabled {\n\tpointer-events: none;\n}\n\n.form-range:disabled::-webkit-slider-thumb {\n\tbackground-color: var(--bs-form-check-border-color);\n}\n\n.form-range:disabled::-moz-range-thumb {\n\tbackground-color: var(--bs-form-check-border-color);\n}\n\n/* Floating labels */\n\n.form-floating {\n\tposition: relative;\n}\n\n.form-floating > .form-control,\n.form-floating > .form-control-plaintext,\n.form-floating > .form-select {\n\theight: calc(3.5rem + calc(var(--bs-border-width) * 2));\n\tmin-height: calc(3.5rem + calc(var(--bs-border-width) * 2));\n\tline-height: var(--bs-line-height-sm);\n}\n\n.form-floating > label {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tz-index: 2;\n\theight: 100%;\n\tpadding: 1rem 0.75rem;\n\toverflow: hidden;\n\ttext-align: start;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n\tpointer-events: none;\n\tcolor: hsla(var(--bs-body-color-hsl), 0.75);\n\tborder: var(--bs-border-width) solid transparent;\n\ttransform-origin: 0 0;\n\ttransition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.form-floating > label {\n\t\ttransition: none;\n\t}\n}\n\n.form-floating > .form-control,\n.form-floating > .form-control-plaintext {\n\tpadding: 1rem 0.75rem;\n}\n\n.form-floating > .form-control::-moz-placeholder,\n.form-floating > .form-control-plaintext::-moz-placeholder {\n\tcolor: transparent;\n}\n\n.form-floating > .form-control::placeholder,\n.form-floating > .form-control-plaintext::placeholder {\n\tcolor: transparent;\n}\n\n.form-floating > .form-control:not(:-moz-placeholder-shown),\n.form-floating > .form-control-plaintext:not(:-moz-placeholder-shown) {\n\tpadding-top: 1.625rem;\n\tpadding-bottom: 0.625rem;\n}\n\n.form-floating > .form-control:focus,\n.form-floating > .form-control:not(:placeholder-shown),\n.form-floating > .form-control-plaintext:focus,\n.form-floating > .form-control-plaintext:not(:placeholder-shown) {\n\tpadding-top: 1.625rem;\n\tpadding-bottom: 0.625rem;\n}\n\n.form-floating > .form-control:-webkit-autofill,\n.form-floating > .form-control-plaintext:-webkit-autofill {\n\tpadding-top: 1.625rem;\n\tpadding-bottom: 0.625rem;\n}\n\n.form-floating > .form-select {\n\tpadding-top: 1.625rem;\n\tpadding-bottom: 0.625rem;\n\tpadding-left: 0.75rem;\n}\n\n.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label {\n\tcolor: hsla(var(--bs-body-color-hsl), 0.75);\n\ttransform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n}\n\n.form-floating > .form-control:focus ~ label,\n.form-floating > .form-control:not(:placeholder-shown) ~ label,\n.form-floating > .form-control-plaintext ~ label,\n.form-floating > .form-select ~ label {\n\tcolor: hsla(var(--bs-body-color-hsl), 0.75);\n\ttransform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n}\n\n.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label::after {\n\tposition: absolute;\n\tinset: 1rem 0.375rem;\n\tz-index: -1;\n\theight: 1.5em;\n\tcontent: \"\";\n\tbackground-color: var(--bs-form-bg);\n\tborder-radius: var(--bs-border-radius);\n}\n\n.form-floating > .form-control:focus ~ label::after,\n.form-floating > .form-control:not(:placeholder-shown) ~ label::after,\n.form-floating > .form-control-plaintext ~ label::after,\n.form-floating > .form-select ~ label::after {\n\tposition: absolute;\n\tinset: 1rem 0.375rem;\n\tz-index: -1;\n\theight: 1.5em;\n\tcontent: \"\";\n\tbackground-color: var(--bs-form-bg);\n\tborder-radius: var(--bs-border-radius);\n}\n\n.form-floating > .form-control-plaintext ~ label::after {\n\tbackground-color: transparent;\n}\n\n.form-floating > .form-control:-webkit-autofill ~ label {\n\tcolor: hsla(var(--bs-body-color-hsl), 0.75);\n\ttransform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n}\n\n.form-floating > .form-control-plaintext ~ label {\n\tborder-width: var(--bs-border-width) 0;\n}\n\n.form-floating > :disabled ~ label,\n.form-floating > .form-control:disabled ~ label {\n\tcolor: var(--bs-form-disabled-color);\n}\n\n.form-floating > :disabled ~ label::after,\n.form-floating > .form-control:disabled ~ label::after {\n\tbackground-color: var(--bs-form-disabled-bg);\n}\n\n/* Input group */\n\n.input-group {\n\tposition: relative;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\talign-items: stretch;\n\twidth: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-select,\n.input-group > .form-floating {\n\tposition: relative;\n\tflex: 1 1 auto;\n\twidth: 1%;\n\tmin-width: 0;\n}\n\n.input-group > .form-control:focus,\n.input-group > .form-select:focus,\n.input-group > .form-floating:focus-within {\n\tz-index: 5;\n}\n\n.input-group .btn {\n\tposition: relative;\n\tz-index: 2;\n}\n\n.input-group .btn:focus {\n\tz-index: 5;\n}\n\n.input-group-text {\n\tdisplay: flex;\n\talign-items: center;\n\tpadding: var(--bs-action-padding-y) var(--bs-action-padding-x);\n\tfont-size: var(--bs-action-font-size);\n\tfont-weight: var(--bs-font-weight-normal);\n\tline-height: var(--bs-action-line-height);\n\tcolor: var(--bs-body-color);\n\ttext-align: center;\n\twhite-space: nowrap;\n\tbackground-color: var(--bs-form-tertiary-bg);\n\tborder: var(--bs-border-width) solid var(--bs-form-border-color);\n\tborder-radius: var(--bs-border-radius);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-text,\n.input-group-lg > .btn {\n\tpadding: var(--bs-action-lg-padding-y) var(--bs-action-lg-padding-x);\n\tfont-size: var(--bs-action-lg-font-size);\n\tline-height: var(--bs-action-lg-line-height);\n\tborder-radius: var(--bs-border-radius-lg);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-text,\n.input-group-sm > .btn {\n\tpadding: var(--bs-action-sm-padding-y) var(--bs-action-sm-padding-x);\n\tfont-size: var(--bs-action-sm-font-size);\n\tline-height: var(--bs-action-sm-line-height);\n\tborder-radius: var(--bs-border-radius-sm);\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n\tpadding-right: 2rem;\n}\n\n.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),\n.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,\n.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {\n\tborder-top-right-radius: 0;\n\tborder-bottom-right-radius: 0;\n}\n\n.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),\n.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,\n.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {\n\tborder-top-right-radius: 0;\n\tborder-bottom-right-radius: 0;\n}\n\n.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {\n\tmargin-left: calc(var(--bs-border-width) * -1);\n\tborder-top-left-radius: 0;\n\tborder-bottom-left-radius: 0;\n}\n\n.input-group > .form-floating:not(:first-child) > .form-control,\n.input-group > .form-floating:not(:first-child) > .form-select {\n\tborder-top-left-radius: 0;\n\tborder-bottom-left-radius: 0;\n}\n\n/* Success validation */\n\n.valid-feedback {\n\tdisplay: none;\n\twidth: 100%;\n\tmargin-top: 0.25rem;\n\tfont-size: var(--bs-relative-font-size-sm);\n\tcolor: var(--bs-form-valid-color);\n\t-webkit-font-smoothing: auto;\n\t-moz-osx-font-smoothing: auto;\n}\n\n.valid-tooltip {\n\tposition: absolute;\n\ttop: 100%;\n\tz-index: 5;\n\tdisplay: none;\n\tmax-width: 100%;\n\tpadding: 0.25rem 0.375rem;\n\tmargin-top: 0.125rem;\n\tfont-size: var(--bs-font-size-sm);\n\tline-height: var(--bs-line-height-sm);\n\tcolor: var(--bs-success-foreground);\n\tbackground-color: var(--bs-success);\n\tborder-radius: var(--bs-border-radius-sm);\n\t-webkit-font-smoothing: auto;\n\t-moz-osx-font-smoothing: auto;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n\tdisplay: block;\n}\n\n.was-validated .form-control:valid,\n.form-control.is-valid {\n\tborder-color: var(--bs-form-valid-border-color);\n\tpadding-right: calc(1.5em + var(--bs-action-padding-x));\n\tbackground-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%233b844f' 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\");\n\tbackground-repeat: no-repeat;\n\tbackground-position: right calc(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y) / 2)) center;\n\tbackground-size: calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y)) calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y));\n}\n\n.was-validated .form-control:valid:focus,\n.form-control.is-valid:focus {\n\tborder-color: var(--bs-form-valid-border-color);\n\tbox-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-success-hsl), 0.35);\n}\n\n.was-validated textarea.form-control:valid,\ntextarea.form-control.is-valid {\n\tpadding-right: calc(1.5em + var(--bs-action-padding-x));\n\tbackground-position: top calc(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y) / 2)) right calc(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y) / 2));\n}\n\n.was-validated .form-select:valid,\n.form-select.is-valid {\n\tborder-color: var(--bs-form-valid-border-color);\n}\n\n.was-validated .form-select:valid:not([multiple]):not([size]),\n.was-validated .form-select:valid:not([multiple])[size=\"1\"],\n.form-select.is-valid:not([multiple]):not([size]),\n.form-select.is-valid:not([multiple])[size=\"1\"] {\n\t--bs-form-select-bg-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%233b844f' 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\");\n\tpadding-right: 3.5rem;\n\tbackground-position: right var(--bs-action-padding-x) center, center right 2rem;\n\tbackground-size: 1rem 0.75rem, calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y)) calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y));\n}\n\n.was-validated .form-select:valid:focus,\n.form-select.is-valid:focus {\n\tborder-color: var(--bs-form-valid-border-color);\n\tbox-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-success-hsl), 0.35);\n}\n\n.was-validated .form-control-color:valid,\n.form-control-color.is-valid {\n\twidth: calc(3rem + calc(1.5em + var(--bs-action-padding-x)));\n}\n\n.was-validated .form-check-input:valid,\n.form-check-input.is-valid {\n\tborder-color: var(--bs-form-valid-border-color);\n}\n\n.was-validated .form-check-input:valid:checked,\n.form-check-input.is-valid:checked {\n\tbackground-color: var(--bs-success);\n\tborder-color: var(--bs-success);\n}\n\n.was-validated .form-check-input:valid:checked[type=checkbox],\n.form-check-input.is-valid:checked[type=checkbox] {\n\t--bs-form-check-bg-image: var(--bs-success-checkbox-svg);\n}\n\n.was-validated .form-check-input:valid:checked[type=radio],\n.form-check-input.is-valid:checked[type=radio] {\n\t--bs-form-check-bg-image: var(--bs-success-radio-svg);\n}\n\n.was-validated.form-switch .form-check-input:valid:checked,\n.was-validated .form-switch .form-check-input:valid:checked,\n.form-switch .form-check-input.is-valid:checked {\n\t--bs-form-switch-bg: var(--bs-success-switch-svg);\n}\n\n.was-validated .form-check-input:valid:focus,\n.form-check-input.is-valid:focus {\n\tbox-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-success-hsl), 0.35);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label,\n.form-check-input.is-valid ~ .form-check-label {\n\tcolor: var(--bs-form-valid-color);\n}\n\n.form-check-inline .form-check-input ~ .valid-feedback {\n\tmargin-left: 0.5em;\n}\n\n.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,\n.was-validated .input-group > .form-select:not(:focus):valid,\n.input-group > .form-select:not(:focus).is-valid,\n.was-validated .input-group > .form-floating:not(:focus-within):valid,\n.input-group > .form-floating:not(:focus-within).is-valid {\n\tz-index: 3;\n}\n\n/* Error validation */\n\n.invalid-feedback {\n\tdisplay: none;\n\twidth: 100%;\n\tmargin-top: 0.25rem;\n\tfont-size: var(--bs-relative-font-size-sm);\n\tcolor: var(--bs-form-invalid-color);\n\t-webkit-font-smoothing: auto;\n\t-moz-osx-font-smoothing: auto;\n}\n\n.invalid-tooltip {\n\tposition: absolute;\n\ttop: 100%;\n\tz-index: 5;\n\tdisplay: none;\n\tmax-width: 100%;\n\tpadding: 0.25rem 0.375rem;\n\tmargin-top: 0.125rem;\n\tfont-size: var(--bs-font-size-sm);\n\tline-height: var(--bs-line-height-sm);\n\tcolor: var(--bs-danger-foreground);\n\tbackground-color: var(--bs-danger);\n\tborder-radius: var(--bs-border-radius-sm);\n\t-webkit-font-smoothing: auto;\n\t-moz-osx-font-smoothing: auto;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n\tdisplay: block;\n}\n\n.was-validated .form-control:invalid,\n.form-control.is-invalid {\n\tborder-color: var(--bs-form-invalid-border-color);\n\tpadding-right: calc(1.5em + var(--bs-action-padding-x));\n\tbackground-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\");\n\tbackground-repeat: no-repeat;\n\tbackground-position: right calc(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y) / 2)) center;\n\tbackground-size: calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y)) calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y));\n}\n\n.was-validated .form-control:invalid:focus,\n.form-control.is-invalid:focus {\n\tborder-color: var(--bs-form-invalid-border-color);\n\tbox-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-danger-hsl), 0.35);\n}\n\n.was-validated textarea.form-control:invalid,\ntextarea.form-control.is-invalid {\n\tpadding-right: calc(1.5em + var(--bs-action-padding-x));\n\tbackground-position: top calc(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y) / 2)) right calc(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y) / 2));\n}\n\n.was-validated .form-select:invalid,\n.form-select.is-invalid {\n\tborder-color: var(--bs-form-invalid-border-color);\n}\n\n.was-validated .form-select:invalid:not([multiple]):not([size]),\n.was-validated .form-select:invalid:not([multiple])[size=\"1\"],\n.form-select.is-invalid:not([multiple]):not([size]),\n.form-select.is-invalid:not([multiple])[size=\"1\"] {\n\t--bs-form-select-bg-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n\tpadding-right: 3.5rem;\n\tbackground-position: right var(--bs-action-padding-x) center, center right 2rem;\n\tbackground-size: 1rem 0.75rem, calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y)) calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y));\n}\n\n.was-validated .form-select:invalid:focus,\n.form-select.is-invalid:focus {\n\tborder-color: var(--bs-form-invalid-border-color);\n\tbox-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-danger-hsl), 0.35);\n}\n\n.was-validated .form-control-color:invalid,\n.form-control-color.is-invalid {\n\twidth: calc(3rem + calc(1.5em + var(--bs-action-padding-x)));\n}\n\n.was-validated .form-check-input:invalid,\n.form-check-input.is-invalid {\n\tborder-color: var(--bs-form-invalid-border-color);\n}\n\n.was-validated .form-check-input:invalid:checked,\n.form-check-input.is-invalid:checked {\n\tbackground-color: var(--bs-danger);\n\tborder-color: var(--bs-danger);\n}\n\n.was-validated .form-check-input:invalid:checked[type=checkbox],\n.form-check-input.is-invalid:checked[type=checkbox] {\n\t--bs-form-check-bg-image: var(--bs-danger-checkbox-svg);\n}\n\n.was-validated .form-check-input:invalid:checked[type=radio],\n.form-check-input.is-invalid:checked[type=radio] {\n\t--bs-form-check-bg-image: var(--bs-danger-radio-svg);\n}\n\n.was-validated.form-switch .form-check-input:invalid:checked,\n.was-validated .form-switch .form-check-input:invalid:checked,\n.form-switch .form-check-input.is-invalid:checked {\n\t--bs-form-switch-bg: var(--bs-danger-switch-svg);\n}\n\n.was-validated .form-check-input:invalid:focus,\n.form-check-input.is-invalid:focus {\n\tbox-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-danger-hsl), 0.35);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label,\n.form-check-input.is-invalid ~ .form-check-label {\n\tcolor: var(--bs-form-invalid-color);\n}\n\n.form-check-inline .form-check-input ~ .invalid-feedback {\n\tmargin-left: 0.5em;\n}\n\n.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,\n.was-validated .input-group > .form-select:not(:focus):invalid,\n.input-group > .form-select:not(:focus).is-invalid,\n.was-validated .input-group > .form-floating:not(:focus-within):invalid,\n.input-group > .form-floating:not(:focus-within).is-invalid {\n\tz-index: 4;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Buttons ]\n *\n * The secondary button is unique because it largely uses the --bs-action-* \n * variables. Therefore, it has been styled and given a \"default\" look. \n * ----------------------------------------------------------------------------\n */\n\n.btn {\n\t--bs-btn-padding-x: var(--bs-action-padding-x);\n\t--bs-btn-padding-y: var(--bs-action-padding-y);\n\t--bs-btn-font-family: ;\n\t--bs-btn-font-size: var(--bs-action-font-size);\n\t--bs-btn-font-weight: var(--bs-font-weight-normal);\n\t--bs-btn-line-height: var(--bs-action-line-height);\n\t--bs-btn-color: var(--bs-body-color);\n\t--bs-btn-bg: transparent;\n\t--bs-btn-border-width: var(--bs-border-width);\n\t--bs-btn-border-color: transparent;\n\t--bs-btn-border-radius: var(--bs-border-radius);\n\t--bs-btn-hover-border-color: var(--bs-btn-border-color);\n\t--bs-btn-box-shadow: none;\n\t--bs-btn-disabled-opacity: 0.65;\n\t--bs-btn-focus-box-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-btn-focus-shadow-hsl), 0.5);\n\t--bs-btn-bg-clip: border-box;\n\t--bs-btn-webkit-font-smoothing: auto;\n\t--bs-btn-moz-osx-font-smoothing: auto;\n\tdisplay: inline-block;\n\tpadding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);\n\tfont-family: var(--bs-btn-font-family);\n\tfont-size: var(--bs-btn-font-size);\n\tfont-weight: var(--bs-btn-font-weight);\n\tline-height: var(--bs-btn-line-height);\n\tcolor: var(--bs-btn-color);\n\ttext-align: center;\n\ttext-decoration: none;\n\tvertical-align: middle;\n\tcursor: pointer;\n\t-webkit-user-select: none;\n\t-moz-user-select: none;\n\tuser-select: none;\n\tborder: var(--bs-btn-border-width) solid var(--bs-btn-border-color);\n\tborder-radius: var(--bs-btn-border-radius);\n\tbackground-color: var(--bs-btn-bg);\n\tbackground-clip: var(--bs-btn-bg-clip);\n\t-webkit-font-smoothing: var(--bs-btn-webkit-font-smoothing);\n\t-moz-osx-font-smoothing: var(--bs-btn-moz-osx-font-smoothing);\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.btn {\n\t\ttransition: none;\n\t}\n}\n\n.btn:hover {\n\tcolor: var(--bs-btn-hover-color);\n\tbackground-color: var(--bs-btn-hover-bg);\n\tborder-color: var(--bs-btn-hover-border-color);\n}\n\n.btn-check + .btn:hover {\n\tcolor: var(--bs-btn-color);\n\tbackground-color: var(--bs-btn-bg);\n\tborder-color: var(--bs-btn-border-color);\n}\n\n.btn:focus-visible {\n\tcolor: var(--bs-btn-hover-color);\n\tbackground-color: var(--bs-btn-hover-bg);\n\tborder-color: var(--bs-btn-hover-border-color);\n\toutline: 0;\n\tbox-shadow: var(--bs-btn-focus-box-shadow);\n}\n\n.btn-check:focus-visible + .btn {\n\tborder-color: var(--bs-btn-hover-border-color);\n\toutline: 0;\n\tbox-shadow: var(--bs-btn-focus-box-shadow);\n}\n\n.btn-check:checked + .btn,\n:not(.btn-check) + .btn:active,\n.btn:first-child:active,\n.btn.active,\n.btn.show {\n\tcolor: var(--bs-btn-active-color);\n\tbackground-color: var(--bs-btn-active-bg);\n\tborder-color: var(--bs-btn-active-border-color);\n}\n\n.btn-check:checked + .btn:focus-visible,\n:not(.btn-check) + .btn:active:focus-visible,\n.btn:first-child:active:focus-visible,\n.btn.active:focus-visible,\n.btn.show:focus-visible {\n\tbox-shadow: var(--bs-btn-focus-box-shadow);\n}\n\n.btn:disabled,\n.btn.disabled,\nfieldset:disabled .btn {\n\tcolor: var(--bs-btn-disabled-color);\n\tpointer-events: none;\n\tbackground-color: var(--bs-btn-disabled-bg);\n\tborder-color: var(--bs-btn-disabled-border-color);\n\topacity: var(--bs-btn-disabled-opacity);\n}\n\n/* Primary button */\n\n.btn-primary {\n\t--bs-btn-color: var(--bs-primary-foreground);\n\t--bs-btn-bg: var(--bs-primary);\n\t--bs-btn-border-color: var(--bs-ctx-btn-border-color);\n\t--bs-btn-hover-color: var(--bs-btn-color);\n\t--bs-btn-hover-bg: var(--bs-primary-hover-bg);\n\t--bs-btn-hover-border-color: var(--bs-ctx-btn-hover-border-color);\n\t--bs-btn-focus-shadow-hsl: var(--bs-primary-hsl);\n\t--bs-btn-active-color: var(--bs-btn-color);\n\t--bs-btn-active-bg: var(--bs-primary-active-bg);\n\t--bs-btn-active-border-color: var(--bs-ctx-btn-active-border-color);\n\t--bs-btn-active-shadow: none;\n\t--bs-btn-disabled-color: var(--bs-btn-color);\n\t--bs-btn-disabled-bg: var(--bs-btn-bg);\n\t--bs-btn-disabled-border-color: var(--bs-ctx-btn-disabled-border-color);\n\t--bs-btn-bg-clip: var(--bs-ctx-btn-bg-clip);\n}\n\n/* Secondary button */\n\n.btn-secondary {\n\t--bs-btn-color: var(--bs-action-color);\n\t--bs-btn-bg: var(--bs-action-bg);\n\t--bs-btn-border-color: var(--bs-action-border-color);\n\t--bs-btn-hover-color: var(--bs-action-hover-color);\n\t--bs-btn-hover-bg: var(--bs-action-hover-bg);\n\t--bs-btn-hover-border-color: var(--bs-action-hover-border-color);\n\t--bs-btn-focus-shadow-hsl: var(--bs-action-focus-shadow-hsl);\n\t--bs-btn-active-color: var(--bs-action-active-color);\n\t--bs-btn-active-bg: var(--bs-action-active-bg);\n\t--bs-btn-active-border-color: var(--bs-action-active-border-color);\n\t--bs-btn-active-shadow: none;\n\t--bs-btn-disabled-color: var(--bs-btn-color);\n\t--bs-btn-disabled-bg: var(--bs-btn-bg);\n\t--bs-btn-disabled-border-color: var(--bs-btn-border-color);\n\t--bs-btn-bg-clip: border-box;\n}\n\n/* Success button */\n\n.btn-success {\n\t--bs-btn-color: var(--bs-success-foreground);\n\t--bs-btn-bg: var(--bs-success);\n\t--bs-btn-border-color: var(--bs-ctx-btn-border-color);\n\t--bs-btn-hover-color: var(--bs-btn-color);\n\t--bs-btn-hover-bg: var(--bs-success-hover-bg);\n\t--bs-btn-hover-border-color: var(--bs-ctx-btn-hover-border-color);\n\t--bs-btn-focus-shadow-hsl: var(--bs-success-hsl);\n\t--bs-btn-active-color: var(--bs-btn-color);\n\t--bs-btn-active-bg: var(--bs-success-active-bg);\n\t--bs-btn-active-border-color: var(--bs-ctx-btn-active-border-color);\n\t--bs-btn-active-shadow: none;\n\t--bs-btn-disabled-color: var(--bs-btn-color);\n\t--bs-btn-disabled-bg: var(--bs-btn-bg);\n\t--bs-btn-disabled-border-color: var(--bs-ctx-btn-disabled-border-color);\n\t--bs-btn-bg-clip: var(--bs-ctx-btn-bg-clip);\n}\n\n/* Info button */\n\n.btn-info {\n\t--bs-btn-color: var(--bs-info-foreground);\n\t--bs-btn-bg: var(--bs-info);\n\t--bs-btn-border-color: var(--bs-ctx-btn-border-color);\n\t--bs-btn-hover-color: var(--bs-btn-color);\n\t--bs-btn-hover-bg: var(--bs-info-hover-bg);\n\t--bs-btn-hover-border-color: var(--bs-ctx-btn-hover-border-color);\n\t--bs-btn-focus-shadow-hsl: var(--bs-info-hsl);\n\t--bs-btn-active-color: var(--bs-btn-color);\n\t--bs-btn-active-bg: var(--bs-info-active-bg);\n\t--bs-btn-active-border-color: var(--bs-ctx-btn-active-border-color);\n\t--bs-btn-active-shadow: none;\n\t--bs-btn-disabled-color: var(--bs-btn-color);\n\t--bs-btn-disabled-bg: var(--bs-btn-bg);\n\t--bs-btn-disabled-border-color: var(--bs-ctx-btn-disabled-border-color);\n\t--bs-btn-bg-clip: var(--bs-ctx-btn-bg-clip);\n}\n\n/* Warning button */\n\n.btn-warning {\n\t--bs-btn-color: var(--bs-warning-foreground);\n\t--bs-btn-bg: var(--bs-warning);\n\t--bs-btn-border-color: var(--bs-ctx-btn-border-color);\n\t--bs-btn-hover-color: var(--bs-btn-color);\n\t--bs-btn-hover-bg: var(--bs-warning-hover-bg);\n\t--bs-btn-hover-border-color: var(--bs-ctx-btn-hover-border-color);\n\t--bs-btn-focus-shadow-hsl: var(--bs-warning-hsl);\n\t--bs-btn-active-color: var(--bs-btn-color);\n\t--bs-btn-active-bg: var(--bs-warning-active-bg);\n\t--bs-btn-active-border-color: var(--bs-ctx-btn-active-border-color);\n\t--bs-btn-active-shadow: none;\n\t--bs-btn-disabled-color: var(--bs-btn-color);\n\t--bs-btn-disabled-bg: var(--bs-btn-bg);\n\t--bs-btn-disabled-border-color: var(--bs-ctx-btn-disabled-border-color);\n\t--bs-btn-bg-clip: var(--bs-ctx-btn-bg-clip);\n}\n\n/* Danger button */\n\n.btn-danger {\n\t--bs-btn-color: var(--bs-danger-foreground);\n\t--bs-btn-bg: var(--bs-danger);\n\t--bs-btn-border-color: var(--bs-ctx-btn-border-color);\n\t--bs-btn-hover-color: var(--bs-btn-color);\n\t--bs-btn-hover-bg: var(--bs-danger-hover-bg);\n\t--bs-btn-hover-border-color: var(--bs-ctx-btn-hover-border-color);\n\t--bs-btn-focus-shadow-hsl: var(--bs-danger-hsl);\n\t--bs-btn-active-color: var(--bs-btn-color);\n\t--bs-btn-active-bg: var(--bs-danger-active-bg);\n\t--bs-btn-active-border-color: var(--bs-ctx-btn-active-border-color);\n\t--bs-btn-active-shadow: none;\n\t--bs-btn-disabled-color: var(--bs-btn-color);\n\t--bs-btn-disabled-bg: var(--bs-btn-bg);\n\t--bs-btn-disabled-border-color: var(--bs-ctx-btn-disabled-border-color);\n\t--bs-btn-bg-clip: var(--bs-ctx-btn-bg-clip);\n}\n\n/* Light button */\n\n.btn-light {\n\t--bs-btn-color: var(--bs-light-foreground);\n\t--bs-btn-bg: var(--bs-light);\n\t--bs-btn-border-color: var(--bs-ctx-btn-border-color);\n\t--bs-btn-hover-color: var(--bs-btn-color);\n\t--bs-btn-hover-bg: var(--bs-light-hover-bg);\n\t--bs-btn-hover-border-color: var(--bs-ctx-btn-hover-border-color);\n\t--bs-btn-focus-shadow-hsl: var(--bs-light-hsl);\n\t--bs-btn-active-color: var(--bs-btn-color);\n\t--bs-btn-active-bg: var(--bs-light-active-bg);\n\t--bs-btn-active-border-color: var(--bs-ctx-btn-active-border-color);\n\t--bs-btn-active-shadow: none;\n\t--bs-btn-disabled-color: var(--bs-btn-color);\n\t--bs-btn-disabled-bg: var(--bs-btn-bg);\n\t--bs-btn-disabled-border-color: var(--bs-ctx-btn-disabled-border-color);\n\t--bs-btn-bg-clip: var(--bs-ctx-btn-bg-clip);\n}\n\n/* Dark button */\n\n.btn-dark {\n\t--bs-btn-color: var(--bs-dark-foreground);\n\t--bs-btn-bg: var(--bs-dark);\n\t--bs-btn-border-color: var(--bs-ctx-btn-border-color);\n\t--bs-btn-hover-color: var(--bs-btn-color);\n\t--bs-btn-hover-bg: var(--bs-dark-hover-bg);\n\t--bs-btn-hover-border-color: var(--bs-ctx-btn-hover-border-color);\n\t--bs-btn-focus-shadow-hsl: var(--bs-dark-hsl);\n\t--bs-btn-active-color: var(--bs-btn-color);\n\t--bs-btn-active-bg: var(--bs-dark-active-bg);\n\t--bs-btn-active-border-color: var(--bs-ctx-btn-active-border-color);\n\t--bs-btn-active-shadow: none;\n\t--bs-btn-disabled-color: var(--bs-btn-color);\n\t--bs-btn-disabled-bg: var(--bs-btn-bg);\n\t--bs-btn-disabled-border-color: var(--bs-ctx-btn-disabled-border-color);\n\t--bs-btn-bg-clip: var(--bs-ctx-btn-bg-clip);\n}\n\n/* Primary outline button */\n\n.btn-outline-primary {\n\t--bs-btn-color: var(--bs-primary-text-emphasis);\n\t--bs-btn-border-color: var(--bs-primary-text-emphasis);\n\t--bs-btn-hover-color: var(--bs-primary-foreground);\n\t--bs-btn-hover-bg: var(--bs-primary);\n\t--bs-btn-hover-border-color: var(--bs-primary);\n\t--bs-btn-focus-shadow-hsl: var(--bs-primary-hsl);\n\t--bs-btn-active-color: var(--bs-btn-hover-color);\n\t--bs-btn-active-bg: var(--bs-btn-hover-bg);\n\t--bs-btn-active-border-color: var(--bs-btn-hover-border-color);\n\t--bs-btn-active-shadow: none;\n\t--bs-btn-disabled-color: var(--bs-btn-color);\n\t--bs-btn-disabled-bg: var(--bs-btn-bg);\n\t--bs-btn-disabled-border-color: var(--bs-btn-border-color);\n\t--bs-btn-bg-clip: border-box;\n\t--bs-gradient: none;\n}\n\n/* Secondary outline button */\n\n.btn-outline-secondary {\n\t--bs-btn-color: var(--bs-secondary-text-emphasis);\n\t--bs-btn-border-color: var(--bs-secondary-text-emphasis);\n\t--bs-btn-hover-color: var(--bs-secondary-foreground);\n\t--bs-btn-hover-bg: var(--bs-secondary);\n\t--bs-btn-hover-border-color: var(--bs-secondary);\n\t--bs-btn-focus-shadow-hsl: var(--bs-secondary-hsl);\n\t--bs-btn-active-color: var(--bs-btn-hover-color);\n\t--bs-btn-active-bg: var(--bs-btn-hover-bg);\n\t--bs-btn-active-border-color: var(--bs-btn-hover-border-color);\n\t--bs-btn-active-shadow: none;\n\t--bs-btn-disabled-color: var(--bs-btn-color);\n\t--bs-btn-disabled-bg: var(--bs-btn-bg);\n\t--bs-btn-disabled-border-color: var(--bs-btn-border-color);\n\t--bs-btn-bg-clip: border-box;\n\t--bs-gradient: none;\n}\n\n/* Success outline button */\n\n.btn-outline-success {\n\t--bs-btn-color: var(--bs-success-text-emphasis);\n\t--bs-btn-border-color: var(--bs-success-text-emphasis);\n\t--bs-btn-hover-color: var(--bs-success-foreground);\n\t--bs-btn-hover-bg: var(--bs-success);\n\t--bs-btn-hover-border-color: var(--bs-success);\n\t--bs-btn-focus-shadow-hsl: var(--bs-success-hsl);\n\t--bs-btn-active-color: var(--bs-btn-hover-color);\n\t--bs-btn-active-bg: var(--bs-btn-hover-bg);\n\t--bs-btn-active-border-color: var(--bs-btn-hover-border-color);\n\t--bs-btn-active-shadow: none;\n\t--bs-btn-disabled-color: var(--bs-btn-color);\n\t--bs-btn-disabled-bg: var(--bs-btn-bg);\n\t--bs-btn-disabled-border-color: var(--bs-btn-border-color);\n\t--bs-btn-bg-clip: border-box;\n\t--bs-gradient: none;\n}\n\n/* Info outline button */\n\n.btn-outline-info {\n\t--bs-btn-color: var(--bs-info-text-emphasis);\n\t--bs-btn-border-color: var(--bs-info-text-emphasis);\n\t--bs-btn-hover-color: var(--bs-info-foreground);\n\t--bs-btn-hover-bg: var(--bs-info);\n\t--bs-btn-hover-border-color: var(--bs-info);\n\t--bs-btn-focus-shadow-hsl: var(--bs-info-hsl);\n\t--bs-btn-active-color: var(--bs-btn-hover-color);\n\t--bs-btn-active-bg: var(--bs-btn-hover-bg);\n\t--bs-btn-active-border-color: var(--bs-btn-hover-border-color);\n\t--bs-btn-active-shadow: none;\n\t--bs-btn-disabled-color: var(--bs-btn-color);\n\t--bs-btn-disabled-bg: var(--bs-btn-bg);\n\t--bs-btn-disabled-border-color: var(--bs-btn-border-color);\n\t--bs-btn-bg-clip: border-box;\n\t--bs-gradient: none;\n}\n\n/* Warning outline button */\n\n.btn-outline-warning {\n\t--bs-btn-color: var(--bs-warning-text-emphasis);\n\t--bs-btn-border-color: var(--bs-warning-text-emphasis);\n\t--bs-btn-hover-color: var(--bs-warning-foreground);\n\t--bs-btn-hover-bg: var(--bs-warning);\n\t--bs-btn-hover-border-color: var(--bs-warning);\n\t--bs-btn-focus-shadow-hsl: var(--bs-warning-hsl);\n\t--bs-btn-active-color: var(--bs-btn-hover-color);\n\t--bs-btn-active-bg: var(--bs-btn-hover-bg);\n\t--bs-btn-active-border-color: var(--bs-btn-hover-border-color);\n\t--bs-btn-active-shadow: none;\n\t--bs-btn-disabled-color: var(--bs-btn-color);\n\t--bs-btn-disabled-bg: var(--bs-btn-bg);\n\t--bs-btn-disabled-border-color: var(--bs-btn-border-color);\n\t--bs-btn-bg-clip: border-box;\n\t--bs-gradient: none;\n}\n\n/* Danger outline button */\n\n.btn-outline-danger {\n\t--bs-btn-color: var(--bs-danger-text-emphasis);\n\t--bs-btn-border-color: var(--bs-danger-text-emphasis);\n\t--bs-btn-hover-color: var(--bs-danger-foreground);\n\t--bs-btn-hover-bg: var(--bs-danger);\n\t--bs-btn-hover-border-color: var(--bs-danger);\n\t--bs-btn-focus-shadow-hsl: var(--bs-danger-hsl);\n\t--bs-btn-active-color: var(--bs-btn-hover-color);\n\t--bs-btn-active-bg: var(--bs-btn-hover-bg);\n\t--bs-btn-active-border-color: var(--bs-btn-hover-border-color);\n\t--bs-btn-active-shadow: none;\n\t--bs-btn-disabled-color: var(--bs-btn-color);\n\t--bs-btn-disabled-bg: var(--bs-btn-bg);\n\t--bs-btn-disabled-border-color: var(--bs-btn-border-color);\n\t--bs-btn-bg-clip: border-box;\n\t--bs-gradient: none;\n}\n\n/* Light outline button */\n\n.btn-outline-light {\n\t--bs-btn-color: var(--bs-light-text-emphasis);\n\t--bs-btn-border-color: var(--bs-light-text-emphasis);\n\t--bs-btn-hover-color: var(--bs-light-foreground);\n\t--bs-btn-hover-bg: var(--bs-light);\n\t--bs-btn-hover-border-color: var(--bs-light);\n\t--bs-btn-focus-shadow-hsl: var(--bs-light-hsl);\n\t--bs-btn-active-color: var(--bs-btn-hover-color);\n\t--bs-btn-active-bg: var(--bs-btn-hover-bg);\n\t--bs-btn-active-border-color: var(--bs-btn-hover-border-color);\n\t--bs-btn-active-shadow: none;\n\t--bs-btn-disabled-color: var(--bs-btn-color);\n\t--bs-btn-disabled-bg: var(--bs-btn-bg);\n\t--bs-btn-disabled-border-color: var(--bs-btn-border-color);\n\t--bs-btn-bg-clip: border-box;\n\t--bs-gradient: none;\n}\n\n/* Dark outline button */\n\n.btn-outline-dark {\n\t--bs-btn-color: var(--bs-dark-text-emphasis);\n\t--bs-btn-border-color: var(--bs-dark-text-emphasis);\n\t--bs-btn-hover-color: var(--bs-dark-foreground);\n\t--bs-btn-hover-bg: var(--bs-dark);\n\t--bs-btn-hover-border-color: var(--bs-dark);\n\t--bs-btn-focus-shadow-hsl: var(--bs-dark-hsl);\n\t--bs-btn-active-color: var(--bs-btn-hover-color);\n\t--bs-btn-active-bg: var(--bs-btn-hover-bg);\n\t--bs-btn-active-border-color: var(--bs-btn-hover-border-color);\n\t--bs-btn-active-shadow: none;\n\t--bs-btn-disabled-color: var(--bs-btn-color);\n\t--bs-btn-disabled-bg: var(--bs-btn-bg);\n\t--bs-btn-disabled-border-color: var(--bs-btn-border-color);\n\t--bs-btn-bg-clip: border-box;\n\t--bs-gradient: none;\n}\n\n/* Link button */\n\n.btn-link {\n\t--bs-btn-color: var(--bs-link-color);\n\t--bs-btn-bg: transparent;\n\t--bs-btn-border-color: transparent;\n\t--bs-btn-hover-color: var(--bs-link-hover-color);\n\t--bs-btn-hover-border-color: transparent;\n\t--bs-btn-active-color: var(--bs-link-hover-color);\n\t--bs-btn-active-border-color: transparent;\n\t--bs-btn-disabled-color: var(--bs-secondary-color);\n\t--bs-btn-disabled-border-color: transparent;\n\t--bs-btn-box-shadow: none;\n\t--bs-btn-focus-shadow-hsl: var(--bs-primary-hsl);\n\ttext-decoration: var(--bs-link-decoration);\n\ttext-underline-offset: var(--bs-link-decoration-offset);\n}\n\n.btn-link:focus-visible {\n\tcolor: var(--bs-btn-color);\n}\n\n.btn-link:hover {\n\tcolor: var(--bs-btn-hover-color);\n\ttext-decoration: var(--bs-link-hover-decoration);\n}\n\n/* Large button */\n\n.btn-lg,\n.btn-group-lg > .btn {\n\t--bs-btn-padding-x: var(--bs-action-lg-padding-x);\n\t--bs-btn-padding-y: var(--bs-action-lg-padding-y);\n\t--bs-btn-font-size: var(--bs-action-lg-font-size);\n\t--bs-btn-line-height: var(--bs-action-lg-line-height);\n\t--bs-btn-border-radius: var(--bs-border-radius-lg);\n}\n\n/* Small button */\n\n.btn-sm,\n.btn-group-sm > .btn {\n\t--bs-btn-padding-x: var(--bs-action-sm-padding-x);\n\t--bs-btn-padding-y: var(--bs-action-sm-padding-y);\n\t--bs-btn-font-size: var(--bs-action-sm-font-size);\n\t--bs-btn-line-height: var(--bs-action-sm-line-height);\n\t--bs-btn-border-radius: var(--bs-border-radius-sm);\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Collapse ]\n * ----------------------------------------------------------------------------\n */\n\n.fade {\n\ttransition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.fade {\n\t\ttransition: none;\n\t}\n}\n\n.fade:not(.show) {\n\topacity: 0;\n}\n\n.collapse:not(.show) {\n\tdisplay: none;\n}\n\n.collapsing {\n\theight: 0;\n\toverflow: hidden;\n\ttransition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.collapsing {\n\t\ttransition: none;\n\t}\n}\n\n.collapsing.collapse-horizontal {\n\twidth: 0;\n\theight: auto;\n\ttransition: width 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.collapsing.collapse-horizontal {\n\t\ttransition: none;\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Dropdowns ]\n * ----------------------------------------------------------------------------\n */\n\n.dropup,\n.dropend,\n.dropdown,\n.dropstart,\n.dropup-center,\n.dropdown-center {\n\tposition: relative;\n}\n\n.dropdown-toggle {\n\twhite-space: nowrap;\n}\n\n.dropdown-toggle::after {\n\tdisplay: inline-block;\n\tmargin-left: 0.255em;\n\tvertical-align: 0.255em;\n\tcontent: \"\";\n\tborder-top: 0.3em solid;\n\tborder-right: 0.3em solid transparent;\n\tborder-bottom: 0;\n\tborder-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n\tmargin-left: 0;\n}\n\n.dropdown-menu {\n\t--bs-dropdown-zindex: 1000;\n\t--bs-dropdown-min-width: 11.25rem;\n\t--bs-dropdown-padding-x: 0.25rem;\n\t--bs-dropdown-padding-y: 0.25rem;\n\t--bs-dropdown-spacer: 0.125rem;\n\t--bs-dropdown-font-size: var(--bs-font-size-base);\n\t--bs-dropdown-color: var(--bs-content-floating-color);\n\t--bs-dropdown-bg: var(--bs-content-floating-bg);\n\t--bs-dropdown-border-color: var(--bs-content-floating-border-color);\n\t--bs-dropdown-border-radius: var(--bs-border-radius);\n\t--bs-dropdown-border-width: var(--bs-border-width);\n\t--bs-dropdown-inner-border-radius: calc(var(--bs-dropdown-border-radius) - var(--bs-border-width));\n\t--bs-dropdown-divider-bg: var(--bs-border-color-translucent);\n\t--bs-dropdown-divider-margin-y: 0.5rem;\n\t--bs-dropdown-box-shadow: var(--bs-content-floating-box-shadow);\n\t--bs-dropdown-link-color: var(--bs-dropdown-color);\n\t--bs-dropdown-link-hover-color: var(--bs-dropdown-link-color);\n\t--bs-dropdown-link-hover-bg: var(--bs-action-hover-bg);\n\t--bs-dropdown-link-active-color: var(--bs-dropdown-link-color);\n\t--bs-dropdown-link-active-bg: var(--bs-action-active-bg);\n\t--bs-dropdown-link-disabled-color: var(--bs-tertiary-color);\n\t--bs-dropdown-link-webkit-font-smoothing: var(--bs-body-webkit-font-smoothing);\n\t--bs-dropdown-link-moz-osx-font-smoothing: var(--bs-body-moz-osx-font-smoothing);\n\t--bs-dropdown-item-padding-x: 1rem;\n\t--bs-dropdown-item-padding-y: 0.25rem;\n\t--bs-dropdown-item-border-radius: var(--bs-border-radius-sm);\n\t--bs-dropdown-header-color: var(--bs-secondary-color);\n\t--bs-dropdown-header-padding-x: 1rem;\n\t--bs-dropdown-header-padding-y: 0.5rem;\n\tposition: absolute;\n\tz-index: var(--bs-dropdown-zindex);\n\tdisplay: none;\n\tmin-width: var(--bs-dropdown-min-width);\n\tpadding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);\n\tmargin: 0;\n\tfont-size: var(--bs-dropdown-font-size);\n\tcolor: var(--bs-dropdown-color);\n\ttext-align: left;\n\tlist-style: none;\n\tbackground-color: var(--bs-dropdown-bg);\n\tbackground-clip: padding-box;\n\tborder: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);\n\tborder-radius: var(--bs-dropdown-border-radius);\n\tbox-shadow: var(--bs-dropdown-box-shadow);\n}\n\n.dropdown-menu[data-bs-popper] {\n\ttop: 100%;\n\tleft: 0;\n\tmargin-top: var(--bs-dropdown-spacer);\n}\n\n.dropdown-menu-start {\n\t--bs-position: start;\n}\n\n.dropdown-menu-start[data-bs-popper] {\n\tright: auto;\n\tleft: 0;\n}\n\n.dropdown-menu-end {\n\t--bs-position: end;\n}\n\n.dropdown-menu-end[data-bs-popper] {\n\tright: 0;\n\tleft: auto;\n}\n\n@media (min-width: 576px) {\n\t.dropdown-menu-sm-start {\n\t\t--bs-position: start;\n\t}\n\n\t.dropdown-menu-sm-start[data-bs-popper] {\n\t\tright: auto;\n\t\tleft: 0;\n\t}\n\n\t.dropdown-menu-sm-end {\n\t\t--bs-position: end;\n\t}\n\n\t.dropdown-menu-sm-end[data-bs-popper] {\n\t\tright: 0;\n\t\tleft: auto;\n\t}\n}\n\n@media (min-width: 768px) {\n\t.dropdown-menu-md-start {\n\t\t--bs-position: start;\n\t}\n\n\t.dropdown-menu-md-start[data-bs-popper] {\n\t\tright: auto;\n\t\tleft: 0;\n\t}\n\n\t.dropdown-menu-md-end {\n\t\t--bs-position: end;\n\t}\n\n\t.dropdown-menu-md-end[data-bs-popper] {\n\t\tright: 0;\n\t\tleft: auto;\n\t}\n}\n\n@media (min-width: 992px) {\n\t.dropdown-menu-lg-start {\n\t\t--bs-position: start;\n\t}\n\n\t.dropdown-menu-lg-start[data-bs-popper] {\n\t\tright: auto;\n\t\tleft: 0;\n\t}\n\n\t.dropdown-menu-lg-end {\n\t\t--bs-position: end;\n\t}\n\n\t.dropdown-menu-lg-end[data-bs-popper] {\n\t\tright: 0;\n\t\tleft: auto;\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.dropdown-menu-xl-start {\n\t\t--bs-position: start;\n\t}\n\n\t.dropdown-menu-xl-start[data-bs-popper] {\n\t\tright: auto;\n\t\tleft: 0;\n\t}\n\n\t.dropdown-menu-xl-end {\n\t\t--bs-position: end;\n\t}\n\n\t.dropdown-menu-xl-end[data-bs-popper] {\n\t\tright: 0;\n\t\tleft: auto;\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.dropdown-menu-xxl-start {\n\t\t--bs-position: start;\n\t}\n\n\t.dropdown-menu-xxl-start[data-bs-popper] {\n\t\tright: auto;\n\t\tleft: 0;\n\t}\n\n\t.dropdown-menu-xxl-end {\n\t\t--bs-position: end;\n\t}\n\n\t.dropdown-menu-xxl-end[data-bs-popper] {\n\t\tright: 0;\n\t\tleft: auto;\n\t}\n}\n\n.dropup .dropdown-menu[data-bs-popper] {\n\ttop: auto;\n\tbottom: 100%;\n\tmargin-top: 0;\n\tmargin-bottom: var(--bs-dropdown-spacer);\n}\n\n.dropup .dropdown-toggle::after {\n\tdisplay: inline-block;\n\tmargin-left: 0.255em;\n\tvertical-align: 0.255em;\n\tcontent: \"\";\n\tborder-top: 0;\n\tborder-right: 0.3em solid transparent;\n\tborder-bottom: 0.3em solid;\n\tborder-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n\tmargin-left: 0;\n}\n\n.dropend .dropdown-menu[data-bs-popper] {\n\ttop: 0;\n\tright: auto;\n\tleft: 100%;\n\tmargin-top: 0;\n\tmargin-left: var(--bs-dropdown-spacer);\n}\n\n.dropend .dropdown-toggle::after {\n\tdisplay: inline-block;\n\tmargin-left: 0.255em;\n\tvertical-align: 0.255em;\n\tcontent: \"\";\n\tborder-top: 0.3em solid transparent;\n\tborder-right: 0;\n\tborder-bottom: 0.3em solid transparent;\n\tborder-left: 0.3em solid;\n}\n\n.dropend .dropdown-toggle:empty::after {\n\tmargin-left: 0;\n}\n\n.dropend .dropdown-toggle::after {\n\tvertical-align: 0;\n}\n\n.dropstart .dropdown-menu[data-bs-popper] {\n\ttop: 0;\n\tright: 100%;\n\tleft: auto;\n\tmargin-top: 0;\n\tmargin-right: var(--bs-dropdown-spacer);\n}\n\n.dropstart .dropdown-toggle::after {\n\tdisplay: inline-block;\n\tmargin-left: 0.255em;\n\tvertical-align: 0.255em;\n\tcontent: \"\";\n}\n\n.dropstart .dropdown-toggle::after {\n\tdisplay: none;\n}\n\n.dropstart .dropdown-toggle::before {\n\tdisplay: inline-block;\n\tmargin-right: 0.255em;\n\tvertical-align: 0.255em;\n\tcontent: \"\";\n\tborder-top: 0.3em solid transparent;\n\tborder-right: 0.3em solid;\n\tborder-bottom: 0.3em solid transparent;\n}\n\n.dropstart .dropdown-toggle:empty::after {\n\tmargin-left: 0;\n}\n\n.dropstart .dropdown-toggle::before {\n\tvertical-align: 0;\n}\n\n.dropdown-divider {\n\theight: 0;\n\tmargin: var(--bs-dropdown-divider-margin-y) 0;\n\toverflow: hidden;\n\tborder-top: var(--bs-border-width) solid var(--bs-dropdown-divider-bg);\n\topacity: 1;\n}\n\n.dropdown-item {\n\tdisplay: block;\n\twidth: 100%;\n\tpadding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);\n\tclear: both;\n\tfont-weight: var(--bs-font-weight-normal);\n\tcolor: var(--bs-dropdown-link-color);\n\ttext-align: inherit;\n\ttext-decoration: none;\n\twhite-space: nowrap;\n\tbackground-color: transparent;\n\tborder: 0;\n\tborder-radius: var(--bs-dropdown-item-border-radius);\n\t-webkit-font-smoothing: var(--bs-dropdown-link-webkit-font-smoothing);\n\t-moz-osx-font-smoothing: var(--bs-dropdown-link-moz-osx-font-smoothing);\n}\n\n.dropdown-item:hover,\n.dropdown-item:focus {\n\tcolor: var(--bs-dropdown-link-hover-color);\n\tbackground-color: var(--bs-dropdown-link-hover-bg);\n}\n\n.dropdown-item:active {\n\tcolor: var(--bs-dropdown-link-active-color);\n\ttext-decoration: none;\n\tbackground-color: var(--bs-dropdown-link-active-bg);\n}\n\n.dropdown-item.active {\n\tcolor: var(--bs-primary-foreground);\n\tbackground-color: var(--bs-primary);\n\t-webkit-font-smoothing: auto;\n\t-moz-osx-font-smoothing: auto;\n}\n\n.dropdown-item.active:focus-visible {\n\tbackground-color: var(--bs-primary-hover-bg);\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n\tcolor: var(--bs-dropdown-link-disabled-color);\n\tpointer-events: none;\n\tbackground-color: transparent;\n}\n\n.dropdown-menu.show {\n\tdisplay: block;\n}\n\n.dropdown-header {\n\tdisplay: block;\n\tpadding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);\n\tmargin-bottom: 0;\n\tfont-size: var(--bs-dropdown-font-size);\n\tcolor: var(--bs-dropdown-header-color);\n\twhite-space: nowrap;\n}\n\n.dropdown-item-text {\n\tdisplay: block;\n\tpadding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);\n\tcolor: var(--bs-dropdown-link-color);\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Button group ]\n *\n * Because the secondary button is the \"default\" variation, the z-indices are \n * slightly adjusted for a better look overall.\n * ----------------------------------------------------------------------------\n */\n\n.btn-group,\n.btn-group-vertical {\n\tposition: relative;\n\tdisplay: inline-flex;\n\tvertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n\tposition: relative;\n\tflex: 1 1 auto;\n}\n\n.btn-group > .btn-check + .btn:not(.btn-secondary),\n.btn-group > .btn:not(.btn-secondary),\n.btn-group-vertical > .btn-check + .btn:not(.btn-secondary),\n.btn-group-vertical > .btn:not(.btn-secondary) {\n\tz-index: 1;\n}\n\n.btn-group > .btn-check:checked + .btn,\n.btn-group > .btn-check:focus + .btn,\n.btn-group > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn-check:checked + .btn,\n.btn-group-vertical > .btn-check:focus + .btn,\n.btn-group-vertical > .btn:hover,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n\tz-index: 2;\n}\n\n.btn-toolbar {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tjustify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n\twidth: auto;\n}\n\n.btn-group {\n\tborder-radius: var(--bs-border-radius);\n}\n\n.btn-group > :not(.btn-check:first-child) + .btn,\n.btn-group > .btn-group:not(:first-child) {\n\tmargin-left: calc(-1 * var(--bs-border-width));\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn.dropdown-toggle-split:first-child,\n.btn-group > .btn-group:not(:last-child) > .btn {\n\tborder-top-right-radius: 0;\n\tborder-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:nth-child(n+3),\n.btn-group > :not(.btn-check) + .btn,\n.btn-group > .btn-group:not(:first-child) > .btn {\n\tborder-top-left-radius: 0;\n\tborder-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n\tpadding-right: 0.5rem;\n\tpadding-left: 0.5rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropend .dropdown-toggle-split::after {\n\tmargin-left: 0;\n}\n\n.dropstart .dropdown-toggle-split::before {\n\tmargin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split,\n.btn-group-sm > .btn + .dropdown-toggle-split {\n\tpadding-right: 0.375rem;\n\tpadding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split,\n.btn-group-lg > .btn + .dropdown-toggle-split {\n\tpadding-right: 0.625rem;\n\tpadding-left: 0.625rem;\n}\n\n.btn-group-vertical {\n\tflex-direction: column;\n\talign-items: flex-start;\n\tjustify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n\twidth: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n\tmargin-top: calc(-1 * var(--bs-border-width));\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n\tborder-bottom-right-radius: 0;\n\tborder-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn ~ .btn,\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n\tborder-top-left-radius: 0;\n\tborder-top-right-radius: 0;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Navs and tabs ]\n * ----------------------------------------------------------------------------\n */\n\n.nav {\n\t--bs-nav-link-padding-x: 0.5rem;\n\t--bs-nav-link-padding-y: 0.25rem;\n\t--bs-nav-link-font-weight: ;\n\t--bs-nav-link-color: var(--bs-link-color);\n\t--bs-nav-link-hover-color: var(--bs-link-hover-color);\n\t--bs-nav-link-disabled-color: var(--bs-tertiary-color);\n\t--bs-nav-link-webkit-font-smoothing: auto;\n\t--bs-nav-link-moz-osx-font-smoothing: auto;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tpadding-left: 0;\n\tmargin-bottom: 0;\n\tlist-style: none;\n}\n\n.nav-link {\n\tdisplay: block;\n\tpadding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);\n\tfont-size: var(--bs-nav-link-font-size);\n\tfont-weight: var(--bs-nav-link-font-weight);\n\tcolor: var(--bs-nav-link-color);\n\ttext-decoration: none;\n\tbackground: none;\n\tborder: 0;\n\t-webkit-font-smoothing: var(--bs-nav-link-webkit-font-smoothing);\n\t-moz-osx-font-smoothing: var(--bs-nav-link-moz-osx-font-smoothing);\n}\n\n.nav-link:hover,\n.nav-link:focus {\n\tcolor: var(--bs-nav-link-hover-color);\n}\n\n.nav-link:focus-visible {\n\toutline: 0;\n\tbox-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-action-focus-shadow-hsl), 0.5);\n}\n\n.nav-link.disabled,\n.nav-link:disabled {\n\tcolor: var(--bs-nav-link-disabled-color);\n\tpointer-events: none;\n\tcursor: default;\n}\n\n.nav-tabs {\n\t--bs-nav-link-color: var(--bs-body-color);\n\t--bs-nav-link-hover-color: var(--bs-nav-link-color);\n\t--bs-nav-link-webkit-font-smoothing: var(--bs-body-webkit-font-smoothing);\n\t--bs-nav-link-moz-osx-font-smoothing: var(--bs-body-moz-osx-font-smoothing);\n\t--bs-nav-tabs-border-width: var(--bs-border-width);\n\t--bs-nav-tabs-border-color: var(--bs-border-color);\n\t--bs-nav-tabs-border-radius: var(--bs-border-radius);\n\t--bs-nav-tabs-link-hover-border-color: var(--bs-border-color-translucent) var(--bs-border-color-translucent) transparent;\n\t--bs-nav-tabs-link-active-color: var(--bs-nav-link-color);\n\t--bs-nav-tabs-link-active-bg: var(--bs-content-bg);\n\t--bs-nav-tabs-link-active-border-color: var(--bs-nav-tabs-border-color) var(--bs-nav-tabs-border-color) var(--bs-nav-tabs-link-active-bg);\n\tborder-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);\n}\n\n.nav-tabs .nav-link {\n\tmargin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));\n\tborder: var(--bs-nav-tabs-border-width) solid transparent;\n\tborder-top-left-radius: var(--bs-nav-tabs-border-radius);\n\tborder-top-right-radius: var(--bs-nav-tabs-border-radius);\n}\n\n.nav-tabs .nav-link:hover,\n.nav-tabs .nav-link:focus {\n\tisolation: isolate;\n\tborder-color: var(--bs-nav-tabs-link-hover-border-color);\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n\tcolor: var(--bs-nav-tabs-link-active-color);\n\tbackground-color: var(--bs-nav-tabs-link-active-bg);\n\tborder-color: var(--bs-nav-tabs-link-active-border-color);\n}\n\n.nav-tabs .dropdown-menu {\n\tmargin-top: calc(-1 * var(--bs-nav-tabs-border-width));\n\tborder-top-left-radius: 0;\n\tborder-top-right-radius: 0;\n}\n\n.nav-pills {\n\t--bs-nav-link-color: var(--bs-body-color);\n\t--bs-nav-link-hover-color: var(--bs-secondary-color);\n\t--bs-nav-link-webkit-font-smoothing: var(--bs-body-webkit-font-smoothing);\n\t--bs-nav-link-moz-osx-font-smoothing: var(--bs-body-moz-osx-font-smoothing);\n\t--bs-nav-pills-border-radius: var(--bs-border-radius);\n\t--bs-nav-pills-link-active-color: var(--bs-primary-foreground);\n\t--bs-nav-pills-link-active-bg: var(--bs-primary);\n}\n\n.nav-pills .nav-link {\n\tborder-radius: var(--bs-nav-pills-border-radius);\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n\tcolor: var(--bs-nav-pills-link-active-color);\n\tbackground-color: var(--bs-nav-pills-link-active-bg);\n\t-webkit-font-smoothing: auto;\n\t-moz-osx-font-smoothing: auto;\n}\n\n.nav-underline {\n\t--bs-nav-link-color: var(--bs-body-color);\n\t--bs-nav-link-hover-color: var(--bs-secondary-color);\n\t--bs-nav-link-webkit-font-smoothing: var(--bs-body-webkit-font-smoothing);\n\t--bs-nav-link-moz-osx-font-smoothing: var(--bs-body-moz-osx-font-smoothing);\n\t--bs-nav-underline-gap: 1rem;\n\t--bs-nav-underline-border-width: 0.125rem;\n\t--bs-nav-underline-link-padding: var(--bs-nav-link-padding-y) 0 calc(var(--bs-nav-link-padding-y) + var(--bs-nav-underline-border-width)) 0;\n\t--bs-nav-underline-link-active-color: var(--bs-link-color);\n\tgap: var(--bs-nav-underline-gap);\n}\n\n.nav-underline .nav-link {\n\tpadding: var(--bs-nav-underline-link-padding);\n\tborder-bottom: var(--bs-nav-underline-border-width) solid transparent;\n}\n\n.nav-underline .nav-link.active,\n.nav-underline .show > .nav-link {\n\tcolor: var(--bs-nav-underline-link-active-color);\n\tborder-bottom-color: currentcolor;\n\t-webkit-font-smoothing: auto;\n\t-moz-osx-font-smoothing: auto;\n}\n\n.nav-fill > .nav-link,\n.nav-fill .nav-item {\n\tflex: 1 1 auto;\n\ttext-align: center;\n}\n\n.nav-justified > .nav-link,\n.nav-justified .nav-item {\n\tflex-basis: 0;\n\tflex-grow: 1;\n\ttext-align: center;\n}\n\n.nav-fill .nav-item .nav-link,\n.nav-justified .nav-item .nav-link {\n\twidth: 100%;\n}\n\n.tab-content > .tab-pane {\n\tdisplay: none;\n}\n\n.tab-content > .active {\n\tdisplay: block;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Navbar ]\n * ----------------------------------------------------------------------------\n */\n\n.navbar {\n\t--bs-color-hsl: var(--bs-emphasis-color-hsl);\n\t--bs-navbar-padding-x: 0;\n\t--bs-navbar-padding-y: 0.5rem;\n\t--bs-navbar-color: hsla(var(--bs-color-hsl), 0.65);\n\t--bs-navbar-hover-color: hsla(var(--bs-color-hsl), 0.75);\n\t--bs-navbar-disabled-color: hsla(var(--bs-color-hsl), 0.3);\n\t--bs-navbar-active-color: hsla(var(--bs-color-hsl), 0.95);\n\t--bs-navbar-brand-padding-y: 0.3125rem;\n\t--bs-navbar-brand-margin-end: 1rem;\n\t--bs-navbar-brand-font-size: calc(var(--bs-font-size-base) + 0.25rem);\n\t--bs-navbar-brand-color: hsla(var(--bs-color-hsl), 0.85);\n\t--bs-navbar-brand-hover-color: var(--bs-navbar-brand-color);\n\t--bs-navbar-nav-link-padding-x: 0.75rem;\n\t--bs-navbar-toggler-padding-y: 0.125rem;\n\t--bs-navbar-toggler-padding-x: 0.25rem;\n\t--bs-navbar-toggler-font-size: var(--bs-font-size-lg);\n\t--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='%23242628' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n\t--bs-navbar-toggler-border-color: transparent;\n\t--bs-navbar-toggler-border-radius: var(--bs-border-radius-sm);\n\t--bs-navbar-toggler-focus-width: var(--bs-focus-ring-width);\n\t--bs-navbar-toggler-transition: none;\n\tposition: relative;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\talign-items: center;\n\tjustify-content: space-between;\n\tpadding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);\n}\n\n.navbar > .container,\n.navbar > .container-fluid,\n.navbar > .container-sm,\n.navbar > .container-md,\n.navbar > .container-lg,\n.navbar > .container-xl,\n.navbar > .container-xxl {\n\tdisplay: flex;\n\tflex-wrap: inherit;\n\talign-items: center;\n\tjustify-content: space-between;\n}\n\n.navbar-brand {\n\tpadding-top: var(--bs-navbar-brand-padding-y);\n\tpadding-bottom: var(--bs-navbar-brand-padding-y);\n\tmargin-right: var(--bs-navbar-brand-margin-end);\n\tfont-size: var(--bs-navbar-brand-font-size);\n\tcolor: var(--bs-navbar-brand-color);\n\ttext-decoration: none;\n\twhite-space: nowrap;\n}\n\n.navbar-brand:hover,\n.navbar-brand:focus {\n\tcolor: var(--bs-navbar-brand-hover-color);\n}\n\n.navbar-nav {\n\t--bs-nav-link-padding-x: 0;\n\t--bs-nav-link-padding-y: 0.5rem;\n\t--bs-nav-link-font-weight: ;\n\t--bs-nav-link-color: var(--bs-navbar-color);\n\t--bs-nav-link-hover-color: var(--bs-navbar-hover-color);\n\t--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding-left: 0;\n\tmargin-bottom: 0;\n\tlist-style: none;\n}\n\n.navbar-nav .nav-link.active,\n.navbar-nav .nav-link.show {\n\tcolor: var(--bs-navbar-active-color);\n}\n\n.navbar-nav .dropdown-menu {\n\tposition: static;\n}\n\n.navbar-text {\n\tpadding-top: 0.5rem;\n\tpadding-bottom: 0.5rem;\n\tcolor: var(--bs-navbar-color);\n}\n\n.navbar-text a,\n.navbar-text a:hover,\n.navbar-text a:focus {\n\tcolor: var(--bs-navbar-active-color);\n}\n\n.navbar-collapse {\n\tflex-basis: 100%;\n\tflex-grow: 1;\n\talign-items: center;\n}\n\n.navbar-toggler {\n\tpadding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);\n\tfont-size: var(--bs-navbar-toggler-font-size);\n\tline-height: 1;\n\tcolor: var(--bs-navbar-color);\n\tbackground-color: transparent;\n\tborder: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);\n\tborder-radius: var(--bs-navbar-toggler-border-radius);\n\ttransition: var(--bs-navbar-toggler-transition);\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.navbar-toggler {\n\t\ttransition: none;\n\t}\n}\n\n.navbar-toggler:hover {\n\ttext-decoration: none;\n}\n\n.navbar-toggler:focus-visible {\n\ttext-decoration: none;\n\toutline: 0;\n\tbox-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width) hsla(var(--bs-emphasis-color-hsl), 0.25);\n}\n\n.navbar-toggler-icon {\n\tdisplay: inline-block;\n\twidth: 1.5em;\n\theight: 1.5em;\n\tvertical-align: middle;\n\tbackground-image: var(--bs-navbar-toggler-icon-bg);\n\tbackground-repeat: no-repeat;\n\tbackground-position: center;\n\tbackground-size: 100%;\n}\n\n.navbar-nav-scroll {\n\tmax-height: var(--bs-scroll-height, 75vh);\n\toverflow-y: auto;\n}\n\n@media (min-width: 576px) {\n\t.navbar-expand-sm {\n\t\tflex-wrap: nowrap;\n\t\tjustify-content: flex-start;\n\t}\n\n\t.navbar-expand-sm .navbar-nav {\n\t\tflex-direction: row;\n\t}\n\n\t.navbar-expand-sm .navbar-nav .dropdown-menu {\n\t\tposition: absolute;\n\t}\n\n\t.navbar-expand-sm .navbar-nav .nav-link {\n\t\tpadding-right: var(--bs-navbar-nav-link-padding-x);\n\t\tpadding-left: var(--bs-navbar-nav-link-padding-x);\n\t}\n\n\t.navbar-expand-sm .navbar-nav-scroll {\n\t\toverflow: visible;\n\t}\n\n\t.navbar-expand-sm .navbar-collapse {\n\t\tdisplay: flex !important;\n\t\tflex-basis: auto;\n\t}\n\n\t.navbar-expand-sm .navbar-toggler {\n\t\tdisplay: none;\n\t}\n\n\t.navbar-expand-sm .offcanvas {\n\t\tposition: static;\n\t\tz-index: auto;\n\t\tflex-grow: 1;\n\t\twidth: auto !important;\n\t\theight: auto !important;\n\t\tvisibility: visible !important;\n\t\tbackground-color: transparent !important;\n\t\tborder: 0 !important;\n\t\ttransform: none !important;\n\t\ttransition: none;\n\t}\n\n\t.navbar-expand-sm .offcanvas .offcanvas-header {\n\t\tdisplay: none;\n\t}\n\n\t.navbar-expand-sm .offcanvas .offcanvas-body {\n\t\tdisplay: flex;\n\t\tflex-grow: 0;\n\t\tpadding: 0;\n\t\toverflow-y: visible;\n\t}\n}\n\n@media (min-width: 768px) {\n\t.navbar-expand-md {\n\t\tflex-wrap: nowrap;\n\t\tjustify-content: flex-start;\n\t}\n\n\t.navbar-expand-md .navbar-nav {\n\t\tflex-direction: row;\n\t}\n\n\t.navbar-expand-md .navbar-nav .dropdown-menu {\n\t\tposition: absolute;\n\t}\n\n\t.navbar-expand-md .navbar-nav .nav-link {\n\t\tpadding-right: var(--bs-navbar-nav-link-padding-x);\n\t\tpadding-left: var(--bs-navbar-nav-link-padding-x);\n\t}\n\n\t.navbar-expand-md .navbar-nav-scroll {\n\t\toverflow: visible;\n\t}\n\n\t.navbar-expand-md .navbar-collapse {\n\t\tdisplay: flex !important;\n\t\tflex-basis: auto;\n\t}\n\n\t.navbar-expand-md .navbar-toggler {\n\t\tdisplay: none;\n\t}\n\n\t.navbar-expand-md .offcanvas {\n\t\tposition: static;\n\t\tz-index: auto;\n\t\tflex-grow: 1;\n\t\twidth: auto !important;\n\t\theight: auto !important;\n\t\tvisibility: visible !important;\n\t\tbackground-color: transparent !important;\n\t\tborder: 0 !important;\n\t\ttransform: none !important;\n\t\ttransition: none;\n\t}\n\n\t.navbar-expand-md .offcanvas .offcanvas-header {\n\t\tdisplay: none;\n\t}\n\n\t.navbar-expand-md .offcanvas .offcanvas-body {\n\t\tdisplay: flex;\n\t\tflex-grow: 0;\n\t\tpadding: 0;\n\t\toverflow-y: visible;\n\t}\n}\n\n@media (min-width: 992px) {\n\t.navbar-expand-lg {\n\t\tflex-wrap: nowrap;\n\t\tjustify-content: flex-start;\n\t}\n\n\t.navbar-expand-lg .navbar-nav {\n\t\tflex-direction: row;\n\t}\n\n\t.navbar-expand-lg .navbar-nav .dropdown-menu {\n\t\tposition: absolute;\n\t}\n\n\t.navbar-expand-lg .navbar-nav .nav-link {\n\t\tpadding-right: var(--bs-navbar-nav-link-padding-x);\n\t\tpadding-left: var(--bs-navbar-nav-link-padding-x);\n\t}\n\n\t.navbar-expand-lg .navbar-nav-scroll {\n\t\toverflow: visible;\n\t}\n\n\t.navbar-expand-lg .navbar-collapse {\n\t\tdisplay: flex !important;\n\t\tflex-basis: auto;\n\t}\n\n\t.navbar-expand-lg .navbar-toggler {\n\t\tdisplay: none;\n\t}\n\n\t.navbar-expand-lg .offcanvas {\n\t\tposition: static;\n\t\tz-index: auto;\n\t\tflex-grow: 1;\n\t\twidth: auto !important;\n\t\theight: auto !important;\n\t\tvisibility: visible !important;\n\t\tbackground-color: transparent !important;\n\t\tborder: 0 !important;\n\t\ttransform: none !important;\n\t\ttransition: none;\n\t}\n\n\t.navbar-expand-lg .offcanvas .offcanvas-header {\n\t\tdisplay: none;\n\t}\n\n\t.navbar-expand-lg .offcanvas .offcanvas-body {\n\t\tdisplay: flex;\n\t\tflex-grow: 0;\n\t\tpadding: 0;\n\t\toverflow-y: visible;\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.navbar-expand-xl {\n\t\tflex-wrap: nowrap;\n\t\tjustify-content: flex-start;\n\t}\n\n\t.navbar-expand-xl .navbar-nav {\n\t\tflex-direction: row;\n\t}\n\n\t.navbar-expand-xl .navbar-nav .dropdown-menu {\n\t\tposition: absolute;\n\t}\n\n\t.navbar-expand-xl .navbar-nav .nav-link {\n\t\tpadding-right: var(--bs-navbar-nav-link-padding-x);\n\t\tpadding-left: var(--bs-navbar-nav-link-padding-x);\n\t}\n\n\t.navbar-expand-xl .navbar-nav-scroll {\n\t\toverflow: visible;\n\t}\n\n\t.navbar-expand-xl .navbar-collapse {\n\t\tdisplay: flex !important;\n\t\tflex-basis: auto;\n\t}\n\n\t.navbar-expand-xl .navbar-toggler {\n\t\tdisplay: none;\n\t}\n\n\t.navbar-expand-xl .offcanvas {\n\t\tposition: static;\n\t\tz-index: auto;\n\t\tflex-grow: 1;\n\t\twidth: auto !important;\n\t\theight: auto !important;\n\t\tvisibility: visible !important;\n\t\tbackground-color: transparent !important;\n\t\tborder: 0 !important;\n\t\ttransform: none !important;\n\t\ttransition: none;\n\t}\n\n\t.navbar-expand-xl .offcanvas .offcanvas-header {\n\t\tdisplay: none;\n\t}\n\n\t.navbar-expand-xl .offcanvas .offcanvas-body {\n\t\tdisplay: flex;\n\t\tflex-grow: 0;\n\t\tpadding: 0;\n\t\toverflow-y: visible;\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.navbar-expand-xxl {\n\t\tflex-wrap: nowrap;\n\t\tjustify-content: flex-start;\n\t}\n\n\t.navbar-expand-xxl .navbar-nav {\n\t\tflex-direction: row;\n\t}\n\n\t.navbar-expand-xxl .navbar-nav .dropdown-menu {\n\t\tposition: absolute;\n\t}\n\n\t.navbar-expand-xxl .navbar-nav .nav-link {\n\t\tpadding-right: var(--bs-navbar-nav-link-padding-x);\n\t\tpadding-left: var(--bs-navbar-nav-link-padding-x);\n\t}\n\n\t.navbar-expand-xxl .navbar-nav-scroll {\n\t\toverflow: visible;\n\t}\n\n\t.navbar-expand-xxl .navbar-collapse {\n\t\tdisplay: flex !important;\n\t\tflex-basis: auto;\n\t}\n\n\t.navbar-expand-xxl .navbar-toggler {\n\t\tdisplay: none;\n\t}\n\n\t.navbar-expand-xxl .offcanvas {\n\t\tposition: static;\n\t\tz-index: auto;\n\t\tflex-grow: 1;\n\t\twidth: auto !important;\n\t\theight: auto !important;\n\t\tvisibility: visible !important;\n\t\tbackground-color: transparent !important;\n\t\tborder: 0 !important;\n\t\ttransform: none !important;\n\t\ttransition: none;\n\t}\n\n\t.navbar-expand-xxl .offcanvas .offcanvas-header {\n\t\tdisplay: none;\n\t}\n\n\t.navbar-expand-xxl .offcanvas .offcanvas-body {\n\t\tdisplay: flex;\n\t\tflex-grow: 0;\n\t\tpadding: 0;\n\t\toverflow-y: visible;\n\t}\n}\n\n.navbar-expand {\n\tflex-wrap: nowrap;\n\tjustify-content: flex-start;\n}\n\n.navbar-expand .navbar-nav {\n\tflex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n\tposition: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n\tpadding-right: var(--bs-navbar-nav-link-padding-x);\n\tpadding-left: var(--bs-navbar-nav-link-padding-x);\n}\n\n.navbar-expand .navbar-nav-scroll {\n\toverflow: visible;\n}\n\n.navbar-expand .navbar-collapse {\n\tdisplay: flex !important;\n\tflex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n\tdisplay: none;\n}\n\n.navbar-expand .offcanvas {\n\tposition: static;\n\tz-index: auto;\n\tflex-grow: 1;\n\twidth: auto !important;\n\theight: auto !important;\n\tvisibility: visible !important;\n\tbackground-color: transparent !important;\n\tborder: 0 !important;\n\ttransform: none !important;\n\ttransition: none;\n}\n\n.navbar-expand .offcanvas .offcanvas-header {\n\tdisplay: none;\n}\n\n.navbar-expand .offcanvas .offcanvas-body {\n\tdisplay: flex;\n\tflex-grow: 0;\n\tpadding: 0;\n\toverflow-y: visible;\n}\n\n[data-bs-theme=dark] .navbar-toggler-icon {\n\t--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='%23c9cbcf' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n/* Local light and dark variants */\n\n.navbar-toggler[data-bs-theme=light] .navbar-toggler-icon {\n\t--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='%23242628' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-toggler[data-bs-theme=dark] .navbar-toggler-icon {\n\t--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='%23c9cbcf' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Card ]\n * ----------------------------------------------------------------------------\n */\n\n.card {\n\t--bs-card-spacer-y: 1rem;\n\t--bs-card-spacer-x: 1rem;\n\t--bs-card-title-spacer-y: 0.5rem;\n\t--bs-card-title-color: ;\n\t--bs-card-subtitle-color: ;\n\t--bs-card-border-width: var(--bs-border-width);\n\t--bs-card-border-color: var(--bs-content-border-color);\n\t--bs-card-inner-border-color: var(--bs-border-color-translucent);\n\t--bs-card-group-border-color: var(--bs-border-color);\n\t--bs-card-border-radius: var(--bs-border-radius-lg);\n\t--bs-card-box-shadow: var(--bs-content-box-shadow);\n\t--bs-card-inner-border-radius: calc(var(--bs-card-border-radius) - (var(--bs-card-border-width)));\n\t--bs-card-cap-padding-y: 0.5rem;\n\t--bs-card-cap-padding-x: 1rem;\n\t--bs-card-cap-bg: hsla(var(--bs-black-hsl), 0.025);\n\t--bs-card-cap-color: ;\n\t--bs-card-height: ;\n\t--bs-card-color: ;\n\t--bs-card-bg: var(--bs-content-bg);\n\t--bs-card-img-overlay-padding: 1rem;\n\t--bs-card-group-margin: 0.75rem;\n\tposition: relative;\n\tdisplay: flex;\n\tflex-direction: column;\n\tmin-width: 0;\n\theight: var(--bs-card-height);\n\tcolor: var(--bs-body-color);\n\tword-wrap: break-word;\n\tbackground-color: var(--bs-card-bg);\n\tbackground-clip: border-box;\n\tborder: var(--bs-card-border-width) solid var(--bs-card-border-color);\n\tborder-radius: var(--bs-card-border-radius);\n\tbox-shadow: var(--bs-card-box-shadow);\n}\n\n[data-bs-theme=dark] .card {\n\t--bs-card-cap-bg: hsla(var(--bs-black-hsl), 0.1);\n}\n\n.card > hr {\n\tmargin-right: 0;\n\tmargin-left: 0;\n}\n\n.card > .list-group {\n\tborder-top: var(--bs-card-border-width) solid var(--bs-list-group-border-color);\n\tborder-bottom: var(--bs-card-border-width) solid var(--bs-list-group-border-color);\n}\n\n.card > .list-group:first-child {\n\tborder-top-width: 0;\n\tborder-top-left-radius: var(--bs-card-inner-border-radius);\n\tborder-top-right-radius: var(--bs-card-inner-border-radius);\n}\n\n.card > .list-group:last-child {\n\tborder-bottom-width: 0;\n\tborder-bottom-right-radius: var(--bs-card-inner-border-radius);\n\tborder-bottom-left-radius: var(--bs-card-inner-border-radius);\n}\n\n.card > .card-header + .list-group,\n.card > .list-group + .card-footer {\n\tborder-top: 0;\n}\n\n.card-body {\n\tflex: 1 1 auto;\n\tpadding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);\n\tcolor: var(--bs-card-color);\n}\n\n.card-title {\n\tmargin-bottom: var(--bs-card-title-spacer-y);\n\tcolor: var(--bs-card-title-color);\n}\n\n.card-subtitle {\n\tmargin-top: calc(-0.5 * var(--bs-card-title-spacer-y));\n\tmargin-bottom: 0;\n\tcolor: var(--bs-card-subtitle-color);\n}\n\n.card-text:last-child {\n\tmargin-bottom: 0;\n}\n\n.card-link + .card-link {\n\tmargin-left: var(--bs-card-spacer-x);\n}\n\n.card-header {\n\tpadding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);\n\tmargin-bottom: 0;\n\tcolor: var(--bs-card-cap-color);\n\tbackground-color: var(--bs-card-cap-bg);\n\tborder-bottom: var(--bs-card-border-width) solid var(--bs-card-inner-border-color);\n}\n\n.card-header:first-child {\n\tborder-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0;\n}\n\n.card-footer {\n\tpadding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);\n\tcolor: var(--bs-card-cap-color);\n\tbackground-color: var(--bs-card-cap-bg);\n\tborder-top: var(--bs-card-border-width) solid var(--bs-card-inner-border-color);\n}\n\n.card-footer:last-child {\n\tborder-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius);\n}\n\n.card-header-tabs {\n\tmargin-right: calc(-0.5 * var(--bs-card-cap-padding-x));\n\tmargin-bottom: calc(-1 * var(--bs-card-cap-padding-y));\n\tmargin-left: calc(-0.5 * var(--bs-card-cap-padding-x));\n\tborder-bottom: 0;\n}\n\n.card-header-tabs .nav-link.active {\n\tbackground-color: var(--bs-card-bg);\n\tborder-bottom-color: var(--bs-card-bg);\n}\n\n.card-header-pills {\n\tmargin-right: calc(-0.5 * var(--bs-card-cap-padding-x));\n\tmargin-left: calc(-0.5 * var(--bs-card-cap-padding-x));\n}\n\n.card-header-underline {\n\tmargin-right: calc(-0.5 * var(--bs-card-cap-padding-x));\n\tmargin-bottom: calc(-1 * var(--bs-card-cap-padding-y));\n\tmargin-left: calc(-0.5 * var(--bs-card-cap-padding-x));\n}\n\n.card-img-overlay {\n\tposition: absolute;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tpadding: var(--bs-card-img-overlay-padding);\n\tborder-radius: var(--bs-card-inner-border-radius);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n\twidth: 100%;\n}\n\n.card-img,\n.card-img-top {\n\tborder-top-left-radius: var(--bs-card-inner-border-radius);\n\tborder-top-right-radius: var(--bs-card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n\tborder-bottom-right-radius: var(--bs-card-inner-border-radius);\n\tborder-bottom-left-radius: var(--bs-card-inner-border-radius);\n}\n\n.card-group > .card {\n\tmargin-bottom: var(--bs-card-group-margin);\n}\n\n@media (min-width: 576px) {\n\t.card-group {\n\t\tdisplay: flex;\n\t\tflex-flow: row wrap;\n\t}\n\n\t.card-group > .card {\n\t\tflex: 1 0 0%;\n\t\tmargin-bottom: 0;\n\t}\n\n\t.card-group > .card + .card {\n\t\tmargin-left: 0;\n\t\tborder-left: 0;\n\t}\n\n\t.card-group > .card:not(:last-child) {\n\t\tborder-top-right-radius: 0;\n\t\tborder-bottom-right-radius: 0;\n\t\tborder-right-color: var(--bs-card-group-border-color);\n\t}\n\n\t.card-group > .card:not(:last-child) .card-img-top,\n\t.card-group > .card:not(:last-child) .card-header {\n\t\tborder-top-right-radius: 0;\n\t}\n\n\t.card-group > .card:not(:last-child) .card-img-bottom,\n\t.card-group > .card:not(:last-child) .card-footer {\n\t\tborder-bottom-right-radius: 0;\n\t}\n\n\t.card-group > .card:not(:first-child) {\n\t\tborder-top-left-radius: 0;\n\t\tborder-bottom-left-radius: 0;\n\t\tborder-left-color: var(--bs-card-group-border-color);\n\t}\n\n\t.card-group > .card:not(:first-child) .card-img-top,\n\t.card-group > .card:not(:first-child) .card-header {\n\t\tborder-top-left-radius: 0;\n\t}\n\n\t.card-group > .card:not(:first-child) .card-img-bottom,\n\t.card-group > .card:not(:first-child) .card-footer {\n\t\tborder-bottom-left-radius: 0;\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Accordion ]\n * ----------------------------------------------------------------------------\n */\n\n.accordion {\n\t--bs-accordion-color: var(--bs-body-color);\n\t--bs-accordion-bg: transparent;\n\t--bs-accordion-transition: ;\n\t--bs-accordion-border-color: var(--bs-border-color);\n\t--bs-accordion-border-width: var(--bs-border-width);\n\t--bs-accordion-border-radius: var(--bs-border-radius);\n\t--bs-accordion-inner-border-radius: calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width));\n\t--bs-accordion-btn-padding-x: 1rem;\n\t--bs-accordion-btn-padding-y: 0.75rem;\n\t--bs-accordion-btn-color: var(--bs-accordion-color);\n\t--bs-accordion-btn-bg: var(--bs-accordion-bg);\n\t--bs-accordion-btn-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23242628'%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\");\n\t--bs-accordion-btn-icon-width: 0.75rem;\n\t--bs-accordion-btn-icon-transform: rotate(-180deg);\n\t--bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;\n\t--bs-accordion-btn-active-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23242628'%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\");\n\t--bs-accordion-btn-focus-border-color: var(--bs-accordion-border-color);\n\t--bs-accordion-btn-focus-box-shadow: inset 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-action-focus-shadow-hsl), 0.5);\n\t--bs-accordion-body-padding-x: 1rem;\n\t--bs-accordion-body-padding-y: 1rem;\n\t--bs-accordion-active-color: var(--bs-accordion-color);\n\t--bs-accordion-active-bg: var(--bs-accordion-bg);\n}\n\n[data-bs-theme=dark] .accordion {\n\t--bs-accordion-btn-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23c9cbcf'%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\");\n\t--bs-accordion-btn-active-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23c9cbcf'%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\");\n}\n\n.accordion-button {\n\tposition: relative;\n\tdisplay: flex;\n\talign-items: center;\n\twidth: 100%;\n\tpadding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);\n\tfont-size: var(--bs-font-size-base);\n\tcolor: var(--bs-accordion-btn-color);\n\ttext-align: left;\n\tbackground-color: var(--bs-accordion-btn-bg);\n\tborder: 0;\n\tborder-radius: 0;\n\toverflow-anchor: none;\n\ttransition: var(--bs-accordion-transition);\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.accordion-button {\n\t\ttransition: none;\n\t}\n}\n\n.accordion-button:not(.collapsed) {\n\tcolor: var(--bs-accordion-active-color);\n\tbackground-color: var(--bs-accordion-active-bg);\n\tbox-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);\n}\n\n.accordion-button:not(.collapsed)::after {\n\tbackground-image: var(--bs-accordion-btn-active-icon);\n\ttransform: var(--bs-accordion-btn-icon-transform);\n}\n\n.accordion-button::after {\n\tflex-shrink: 0;\n\twidth: var(--bs-accordion-btn-icon-width);\n\theight: var(--bs-accordion-btn-icon-width);\n\tmargin-left: auto;\n\tcontent: \"\";\n\tbackground-image: var(--bs-accordion-btn-icon);\n\tbackground-repeat: no-repeat;\n\tbackground-size: var(--bs-accordion-btn-icon-width);\n\ttransition: var(--bs-accordion-btn-icon-transition);\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.accordion-button::after {\n\t\ttransition: none;\n\t}\n}\n\n.accordion-button:hover {\n\tz-index: 2;\n}\n\n.accordion-button:focus {\n\tz-index: 3;\n\tborder-color: var(--bs-accordion-btn-focus-border-color);\n\toutline: 0;\n\tbox-shadow: var(--bs-accordion-btn-focus-box-shadow);\n}\n\n.accordion-header {\n\tmargin-bottom: 0;\n}\n\n.accordion-item {\n\tcolor: var(--bs-accordion-color);\n\tbackground-color: var(--bs-accordion-bg);\n\tborder: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);\n}\n\n.accordion-item:first-of-type {\n\tborder-top-left-radius: var(--bs-accordion-border-radius);\n\tborder-top-right-radius: var(--bs-accordion-border-radius);\n}\n\n.accordion-item:first-of-type .accordion-button {\n\tborder-top-left-radius: var(--bs-accordion-inner-border-radius);\n\tborder-top-right-radius: var(--bs-accordion-inner-border-radius);\n}\n\n.accordion-item:not(:first-of-type) {\n\tborder-top: 0;\n}\n\n.accordion-item:last-of-type {\n\tborder-bottom-right-radius: var(--bs-accordion-border-radius);\n\tborder-bottom-left-radius: var(--bs-accordion-border-radius);\n}\n\n.accordion-item:last-of-type .accordion-button.collapsed {\n\tborder-bottom-right-radius: var(--bs-accordion-inner-border-radius);\n\tborder-bottom-left-radius: var(--bs-accordion-inner-border-radius);\n}\n\n.accordion-item:last-of-type .accordion-collapse {\n\tborder-bottom-right-radius: var(--bs-accordion-border-radius);\n\tborder-bottom-left-radius: var(--bs-accordion-border-radius);\n}\n\n.accordion-body {\n\tpadding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);\n}\n\n.accordion-flush .accordion-collapse {\n\tborder-width: 0;\n}\n\n.accordion-flush .accordion-item {\n\tborder-right: 0;\n\tborder-left: 0;\n\tborder-radius: 0;\n}\n\n.accordion-flush .accordion-item:first-child {\n\tborder-top: 0;\n}\n\n.accordion-flush .accordion-item:last-child {\n\tborder-bottom: 0;\n}\n\n.accordion-flush .accordion-item .accordion-button,\n.accordion-flush .accordion-item .accordion-button.collapsed {\n\tborder-radius: 0;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Breadcrumb ]\n * ----------------------------------------------------------------------------\n */\n\n.breadcrumb {\n\t--bs-breadcrumb-padding-x: 0;\n\t--bs-breadcrumb-padding-y: 0;\n\t--bs-breadcrumb-margin-bottom: 1rem;\n\t--bs-breadcrumb-bg: ;\n\t--bs-breadcrumb-border-radius: ;\n\t--bs-breadcrumb-divider-color: var(--bs-secondary-color);\n\t--bs-breadcrumb-item-padding-x: 0.5rem;\n\t--bs-breadcrumb-item-active-color: var(--bs-secondary-color);\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tpadding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);\n\tmargin-bottom: var(--bs-breadcrumb-margin-bottom);\n\tfont-size: var(--bs-breadcrumb-font-size);\n\tlist-style: none;\n\tbackground-color: var(--bs-breadcrumb-bg);\n\tborder-radius: var(--bs-breadcrumb-border-radius);\n}\n\n.breadcrumb-item + .breadcrumb-item {\n\tpadding-left: var(--bs-breadcrumb-item-padding-x);\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n\tfloat: left;\n\tpadding-right: var(--bs-breadcrumb-item-padding-x);\n\tcolor: var(--bs-breadcrumb-divider-color);\n\tcontent: var(--bs-breadcrumb-divider, \"/\") /* rtl: var(--bs-breadcrumb-divider, \"/\") */;\n}\n\n.breadcrumb-item.active {\n\tcolor: var(--bs-breadcrumb-item-active-color);\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Pagination ]\n * ----------------------------------------------------------------------------\n */\n\n.pagination {\n\t--bs-pagination-padding-x: 0.375rem;\n\t--bs-pagination-padding-y: 0.25rem;\n\t--bs-pagination-font-size: var(--bs-font-size-base);\n\t--bs-pagination-line-height: calc(20/14);\n\t--bs-pagination-min-width: 1.875rem;\n\t--bs-pagination-color: var(--bs-action-color);\n\t--bs-pagination-bg: var(--bs-action-bg);\n\t--bs-pagination-border-width: var(--bs-border-width);\n\t--bs-pagination-border-color: var(--bs-action-border-color);\n\t--bs-pagination-border-radius: var(--bs-border-radius);\n\t--bs-pagination-hover-color: var(--bs-action-hover-color);\n\t--bs-pagination-hover-bg: var(--bs-action-hover-bg);\n\t--bs-pagination-hover-border-color: var(--bs-action-border-color);\n\t--bs-pagination-focus-color: var(--bs-action-active-color);\n\t--bs-pagination-focus-bg: var(--bs-action-active-bg);\n\t--bs-pagination-focus-box-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-action-focus-shadow-hsl), 0.5);\n\t--bs-pagination-active-color: var(--bs-primary-foreground);\n\t--bs-pagination-active-bg: var(--bs-primary);\n\t--bs-pagination-active-border-color: var(--bs-ctx-btn-border-color);\n\t--bs-pagination-active-bg-clip: var(--bs-ctx-btn-bg-clip);\n\t--bs-pagination-active-webkit-font-smoothing: auto;\n\t--bs-pagination-active-moz-osx-font-smoothing: auto;\n\t--bs-pagination-disabled-color: var(--bs-action-disabled-color);\n\t--bs-pagination-disabled-bg: var(--bs-action-disabled-bg);\n\t--bs-pagination-disabled-border-color: var(--bs-action-disabled-border-color);\n\tdisplay: flex;\n\tpadding-left: 0;\n\tlist-style: none;\n}\n\n.page-link {\n\tposition: relative;\n\tdisplay: block;\n\tpadding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);\n\tfont-size: var(--bs-pagination-font-size);\n\tline-height: var(--bs-pagination-line-height);\n\tmin-width: var(--bs-pagination-min-width);\n\tcolor: var(--bs-pagination-color);\n\ttext-decoration: none;\n\ttext-align: center;\n\tbackground-color: var(--bs-pagination-bg);\n\tborder: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.page-link {\n\t\ttransition: none;\n\t}\n}\n\n.page-link:hover {\n\tz-index: 2;\n\tcolor: var(--bs-pagination-hover-color);\n\tbackground-color: var(--bs-pagination-hover-bg);\n\tborder-color: var(--bs-pagination-hover-border-color);\n}\n\n.page-link:focus {\n\tz-index: 3;\n\tcolor: var(--bs-pagination-focus-color);\n\tbackground-color: var(--bs-pagination-focus-bg);\n\toutline: 0;\n\tbox-shadow: var(--bs-pagination-focus-box-shadow);\n}\n\n.page-link.active,\n.active > .page-link {\n\tz-index: 3;\n\tcolor: var(--bs-pagination-active-color);\n\tbackground-color: var(--bs-pagination-active-bg);\n\tborder-color: var(--bs-pagination-active-border-color);\n\tbackground-clip: var(--bs-pagination-active-bg-clip);\n\t-webkit-font-smoothing: var(--bs-pagination-active-webkit-font-smoothing);\n\t-moz-osx-font-smoothing: var(--bs-pagination-active-moz-osx-font-smoothing);\n}\n\n.page-link.disabled,\n.disabled > .page-link {\n\tcolor: var(--bs-pagination-disabled-color);\n\tpointer-events: none;\n\tbackground-color: var(--bs-pagination-disabled-bg);\n\tborder-color: var(--bs-pagination-disabled-border-color);\n}\n\n.page-item:not(:first-child) .page-link {\n\tmargin-left: calc(-1 * var(--bs-pagination-border-width));\n}\n\n.page-item:first-child .page-link {\n\tborder-top-left-radius: var(--bs-pagination-border-radius);\n\tborder-bottom-left-radius: var(--bs-pagination-border-radius);\n}\n\n.page-item:last-child .page-link {\n\tborder-top-right-radius: var(--bs-pagination-border-radius);\n\tborder-bottom-right-radius: var(--bs-pagination-border-radius);\n}\n\n.pagination-lg {\n\t--bs-pagination-padding-x: 0.625rem;\n\t--bs-pagination-padding-y: 0.3125rem;\n\t--bs-pagination-font-size: var(--bs-font-size-lg);\n\t--bs-pagination-line-height: calc(24/16);\n\t--bs-pagination-min-width: 2.25rem;\n\t--bs-pagination-border-radius: var(--bs-border-radius-lg);\n}\n\n.pagination-sm {\n\t--bs-pagination-padding-x: 0.125rem;\n\t--bs-pagination-padding-y: 0.125rem;\n\t--bs-pagination-font-size: var(--bs-font-size-sm);\n\t--bs-pagination-line-height: calc(18/12);\n\t--bs-pagination-min-width: 1.5rem;\n\t--bs-pagination-border-radius: var(--bs-border-radius-sm);\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Badge ]\n * ----------------------------------------------------------------------------\n */\n\n.badge {\n\t--bs-badge-padding-x: var(--bs-relative-font-size-2xs);\n\t--bs-badge-padding-y: var(--bs-relative-font-size-4xs);\n\t--bs-badge-font-size: var(--bs-relative-font-size-sm);\n\t--bs-badge-font-weight: var(--bs-font-weight-normal);\n\t--bs-badge-color: var(--bs-secondary-foreground);\n\t--bs-badge-bg: var(--bs-secondary);\n\t--bs-badge-border-radius: var(--bs-border-radius);\n\tdisplay: inline-block;\n\tpadding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);\n\tfont-size: var(--bs-badge-font-size);\n\tfont-weight: var(--bs-badge-font-weight);\n\tline-height: 1;\n\tcolor: var(--bs-badge-color);\n\tbackground-color: var(--bs-badge-bg);\n\ttext-align: center;\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n\tborder-radius: var(--bs-badge-border-radius);\n\t-webkit-font-smoothing: auto;\n\t-moz-osx-font-smoothing: auto;\n}\n\n.badge:empty {\n\tdisplay: none;\n}\n\n.btn .badge {\n\tposition: relative;\n\ttop: -1px;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Alerts ]\n * ----------------------------------------------------------------------------\n */\n\n.alert {\n\t--bs-alert-bg: transparent;\n\t--bs-alert-padding-x: 1rem;\n\t--bs-alert-padding-y: 0.75rem;\n\t--bs-alert-margin-bottom: 1rem;\n\t--bs-alert-color: inherit;\n\t--bs-alert-border-color: transparent;\n\t--bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);\n\t--bs-alert-border-radius: var(--bs-border-radius);\n\t--bs-alert-link-color: inherit;\n\tposition: relative;\n\tpadding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);\n\tmargin-bottom: var(--bs-alert-margin-bottom);\n\tcolor: var(--bs-alert-color);\n\tbackground-color: var(--bs-alert-bg);\n\tborder: var(--bs-alert-border);\n\tborder-radius: var(--bs-alert-border-radius);\n}\n\n.alert-heading {\n\tcolor: inherit;\n}\n\n.alert-link {\n\tfont-weight: var(--bs-font-weight-normal);\n\tcolor: var(--bs-alert-link-color);\n\ttext-decoration: underline;\n\t-webkit-font-smoothing: var(--bs-body-webkit-font-smoothing);\n\t-moz-osx-font-smoothing: var(--bs-body-moz-osx-font-smoothing);\n}\n\n.alert-link:hover {\n\topacity: 0.75;\n\ttext-decoration: underline;\n}\n\n.alert-dismissible {\n\tpadding-right: 2.5rem;\n}\n\n.alert-dismissible .btn-close {\n\tposition: absolute;\n\ttop: 50%;\n\tright: 0.375rem;\n\ttransform: translateY(-50%);\n\tz-index: 2;\n}\n\n/* Primary alert */\n\n.alert-primary {\n\t--bs-alert-color: var(--bs-body-color);\n\t--bs-alert-bg: var(--bs-primary-bg-subtle);\n\t--bs-alert-border-color: var(--bs-primary-border-subtle);\n\t--bs-alert-link-color: var(--bs-alert-color);\n}\n\n/* Secondary alert */\n\n.alert-secondary {\n\t--bs-alert-color: var(--bs-body-color);\n\t--bs-alert-bg: var(--bs-secondary-bg-subtle);\n\t--bs-alert-border-color: var(--bs-secondary-border-subtle);\n\t--bs-alert-link-color: var(--bs-alert-color);\n}\n\n/* Success alert */\n\n.alert-success {\n\t--bs-alert-color: var(--bs-body-color);\n\t--bs-alert-bg: var(--bs-success-bg-subtle);\n\t--bs-alert-border-color: var(--bs-success-border-subtle);\n\t--bs-alert-link-color: var(--bs-alert-color);\n}\n\n/* Info alert */\n\n.alert-info {\n\t--bs-alert-color: var(--bs-body-color);\n\t--bs-alert-bg: var(--bs-info-bg-subtle);\n\t--bs-alert-border-color: var(--bs-info-border-subtle);\n\t--bs-alert-link-color: var(--bs-alert-color);\n}\n\n/* Warning alert */\n\n.alert-warning {\n\t--bs-alert-color: var(--bs-body-color);\n\t--bs-alert-bg: var(--bs-warning-bg-subtle);\n\t--bs-alert-border-color: var(--bs-warning-border-subtle);\n\t--bs-alert-link-color: var(--bs-alert-color);\n}\n\n/* Danger alert */\n\n.alert-danger {\n\t--bs-alert-color: var(--bs-body-color);\n\t--bs-alert-bg: var(--bs-danger-bg-subtle);\n\t--bs-alert-border-color: var(--bs-danger-border-subtle);\n\t--bs-alert-link-color: var(--bs-alert-color);\n}\n\n/* Light alert */\n\n.alert-light {\n\t--bs-alert-color: var(--bs-body-color);\n\t--bs-alert-bg: var(--bs-light-bg-subtle);\n\t--bs-alert-border-color: var(--bs-light-border-subtle);\n\t--bs-alert-link-color: var(--bs-alert-color);\n}\n\n/* Dark alert */\n\n.alert-dark {\n\t--bs-alert-color: var(--bs-body-color);\n\t--bs-alert-bg: var(--bs-dark-bg-subtle);\n\t--bs-alert-border-color: var(--bs-dark-border-subtle);\n\t--bs-alert-link-color: var(--bs-alert-color);\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Progress ]\n * ----------------------------------------------------------------------------\n */\n\n@keyframes progress-bar-stripes {\n\t0% {\n\t\tbackground-position-x: 0.625rem;\n\t}\n}\n\n.progress,\n.progress-stacked {\n\t--bs-progress-height: 0.625rem;\n\t--bs-progress-font-size: 0.5rem;\n\t--bs-progress-bg: var(--bs-actionbar-bg);\n\t--bs-progress-border: var(--bs-progresstrack-border-width) solid var(--bs-actionbar-border-color);\n\t--bs-progress-border-radius: var(--bs-border-radius-pill);\n\t--bs-progress-box-shadow: var(--bs-progresstrack-box-shadow);\n\t--bs-progress-bg-clip: var(--bs-progresstrack-bg-clip);\n\t--bs-progress-bar-color: var(--bs-primary-foreground);\n\t--bs-progress-bar-bg: var(--bs-primary);\n\t--bs-progress-bar-transition: width 0.6s ease;\n\tdisplay: flex;\n\theight: var(--bs-progress-height);\n\toverflow: hidden;\n\tfont-size: var(--bs-progress-font-size);\n\tbackground-color: var(--bs-progress-bg);\n\tborder: var(--bs-progress-border);\n\tborder-radius: var(--bs-progress-border-radius);\n\tbox-shadow: var(--bs-progress-box-shadow);\n\tbackground-clip: var(--bs-progress-bg-clip);\n}\n\n.progress-bar {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n\toverflow: hidden;\n\tcolor: var(--bs-progress-bar-color);\n\ttext-align: center;\n\twhite-space: nowrap;\n\tbackground-color: var(--bs-progress-bar-bg);\n\ttransition: var(--bs-progress-bar-transition);\n\t-webkit-font-smoothing: auto;\n\t-moz-osx-font-smoothing: auto;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.progress-bar {\n\t\ttransition: none;\n\t}\n}\n\n.progress-bar-striped {\n\tbackground-image: linear-gradient(\n\t\t45deg,\n\t\thsla(var(--bs-primary-foreground-hsl), 0.15) 25%,\n\t\ttransparent 25%,\n\t\ttransparent 50%,\n\t\thsla(var(--bs-primary-foreground-hsl), 0.15) 50%,\n\t\thsla(var(--bs-primary-foreground-hsl), 0.15) 75%,\n\t\ttransparent 75%,\n\t\ttransparent\n\t);\n\tbackground-size: var(--bs-progress-height) var(--bs-progress-height);\n}\n\n.progress-stacked > .progress {\n\theight: 100%;\n\toverflow: visible;\n\tfont-size: inherit;\n\tbackground-color: transparent;\n\tborder: 0;\n\tborder-radius: 0;\n\tbox-shadow: none;\n\tbackground-clip: border-box;\n}\n\n.progress-stacked > .progress > .progress-bar {\n\twidth: 100%;\n}\n\n.progress-bar-animated {\n\tanimation: 1s linear infinite progress-bar-stripes;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.progress-bar-animated {\n\t\tanimation: none;\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ List group ]\n * ----------------------------------------------------------------------------\n */\n\n.list-group {\n\t--bs-list-group-color: var(--bs-body-color);\n\t--bs-list-group-bg: transparent;\n\t--bs-list-group-border-color: var(--bs-border-color);\n\t--bs-list-group-border-width: var(--bs-border-width);\n\t--bs-list-group-border-radius: var(--bs-border-radius);\n\t--bs-list-group-item-padding-x: 1rem;\n\t--bs-list-group-item-padding-y: 0.375rem;\n\t--bs-list-group-action-color: var(--bs-list-group-color);\n\t--bs-list-group-action-hover-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-hover-bg: hsla(var(--bs-black-hsl), 0.06);\n\t--bs-list-group-action-active-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-active-bg: hsla(var(--bs-black-hsl), 0.09);\n\t--bs-list-group-disabled-color: var(--bs-secondary-color);\n\t--bs-list-group-disabled-bg: hsla(var(--bs-black-hsl), 0.03);\n\t--bs-list-group-active-color: var(--bs-primary-foreground);\n\t--bs-list-group-active-bg: var(--bs-primary);\n\t--bs-list-group-active-border-color: var(--bs-primary);\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding-left: 0;\n\tmargin-bottom: 0;\n\tborder-radius: var(--bs-list-group-border-radius);\n}\n\n[data-bs-theme=dark] .list-group {\n\t--bs-list-group-action-hover-bg: hsla(var(--bs-white-hsl), 0.05);\n\t--bs-list-group-action-active-bg: hsla(var(--bs-white-hsl), 0.075);\n\t--bs-list-group-disabled-bg: hsla(var(--bs-white-hsl), 0.025);\n}\n\n.list-group-numbered {\n\tlist-style-type: none;\n\tcounter-reset: section;\n}\n\n.list-group-numbered > .list-group-item::before {\n\tcontent: counters(section, \".\") \". \";\n\tcounter-increment: section;\n}\n\n.list-group-item-action {\n\twidth: 100%;\n\tcolor: var(--bs-list-group-action-color);\n\ttext-align: inherit;\n}\n\n.list-group-item-action:hover,\n.list-group-item-action:focus {\n\tz-index: 1;\n\tcolor: var(--bs-list-group-action-hover-color);\n\ttext-decoration: none;\n\tbackground-color: var(--bs-list-group-action-hover-bg);\n}\n\n.list-group-item-action:active {\n\tcolor: var(--bs-list-group-action-active-color);\n\tbackground-color: var(--bs-list-group-action-active-bg);\n}\n\n.list-group-item {\n\tposition: relative;\n\tdisplay: block;\n\tpadding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);\n\tcolor: var(--bs-list-group-color);\n\ttext-decoration: none;\n\tbackground-color: var(--bs-list-group-bg);\n\tborder: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);\n\t-webkit-font-smoothing: var(--bs-body-webkit-font-smoothing);\n\t-moz-osx-font-smoothing: var(--bs-body-moz-osx-font-smoothing);\n}\n\n.list-group-item:first-child {\n\tborder-top-left-radius: inherit;\n\tborder-top-right-radius: inherit;\n}\n\n.list-group-item:last-child {\n\tborder-bottom-right-radius: inherit;\n\tborder-bottom-left-radius: inherit;\n}\n\n.list-group-item.disabled,\n.list-group-item:disabled {\n\tcolor: var(--bs-list-group-disabled-color);\n\tpointer-events: none;\n\tbackground-color: var(--bs-list-group-disabled-bg);\n}\n\n.list-group-item.active {\n\tz-index: 2;\n\tcolor: var(--bs-list-group-active-color);\n\tbackground-color: var(--bs-list-group-active-bg);\n\tborder-color: var(--bs-list-group-active-border-color);\n\t-webkit-font-smoothing: auto;\n\t-moz-osx-font-smoothing: auto;\n}\n\n.list-group-item + .list-group-item {\n\tborder-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n\tmargin-top: calc(-1 * var(--bs-list-group-border-width));\n\tborder-top-width: var(--bs-list-group-border-width);\n}\n\n.list-group-horizontal {\n\tflex-direction: row;\n}\n\n.list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n\tborder-bottom-left-radius: var(--bs-list-group-border-radius);\n\tborder-top-right-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n\tborder-top-right-radius: var(--bs-list-group-border-radius);\n\tborder-bottom-left-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item.active {\n\tmargin-top: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item {\n\tborder-top-width: var(--bs-list-group-border-width);\n\tborder-left-width: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item.active {\n\tmargin-left: calc(-1 * var(--bs-list-group-border-width));\n\tborder-left-width: var(--bs-list-group-border-width);\n}\n\n@media (min-width: 576px) {\n\t.list-group-horizontal-sm {\n\t\tflex-direction: row;\n\t}\n\n\t.list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {\n\t\tborder-bottom-left-radius: var(--bs-list-group-border-radius);\n\t\tborder-top-right-radius: 0;\n\t}\n\n\t.list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {\n\t\tborder-top-right-radius: var(--bs-list-group-border-radius);\n\t\tborder-bottom-left-radius: 0;\n\t}\n\n\t.list-group-horizontal-sm > .list-group-item.active {\n\t\tmargin-top: 0;\n\t}\n\n\t.list-group-horizontal-sm > .list-group-item + .list-group-item {\n\t\tborder-top-width: var(--bs-list-group-border-width);\n\t\tborder-left-width: 0;\n\t}\n\n\t.list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n\t\tmargin-left: calc(-1 * var(--bs-list-group-border-width));\n\t\tborder-left-width: var(--bs-list-group-border-width);\n\t}\n}\n\n@media (min-width: 768px) {\n\t.list-group-horizontal-md {\n\t\tflex-direction: row;\n\t}\n\n\t.list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {\n\t\tborder-bottom-left-radius: var(--bs-list-group-border-radius);\n\t\tborder-top-right-radius: 0;\n\t}\n\n\t.list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {\n\t\tborder-top-right-radius: var(--bs-list-group-border-radius);\n\t\tborder-bottom-left-radius: 0;\n\t}\n\n\t.list-group-horizontal-md > .list-group-item.active {\n\t\tmargin-top: 0;\n\t}\n\n\t.list-group-horizontal-md > .list-group-item + .list-group-item {\n\t\tborder-top-width: var(--bs-list-group-border-width);\n\t\tborder-left-width: 0;\n\t}\n\n\t.list-group-horizontal-md > .list-group-item + .list-group-item.active {\n\t\tmargin-left: calc(-1 * var(--bs-list-group-border-width));\n\t\tborder-left-width: var(--bs-list-group-border-width);\n\t}\n}\n\n@media (min-width: 992px) {\n\t.list-group-horizontal-lg {\n\t\tflex-direction: row;\n\t}\n\n\t.list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {\n\t\tborder-bottom-left-radius: var(--bs-list-group-border-radius);\n\t\tborder-top-right-radius: 0;\n\t}\n\n\t.list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {\n\t\tborder-top-right-radius: var(--bs-list-group-border-radius);\n\t\tborder-bottom-left-radius: 0;\n\t}\n\n\t.list-group-horizontal-lg > .list-group-item.active {\n\t\tmargin-top: 0;\n\t}\n\n\t.list-group-horizontal-lg > .list-group-item + .list-group-item {\n\t\tborder-top-width: var(--bs-list-group-border-width);\n\t\tborder-left-width: 0;\n\t}\n\n\t.list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n\t\tmargin-left: calc(-1 * var(--bs-list-group-border-width));\n\t\tborder-left-width: var(--bs-list-group-border-width);\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.list-group-horizontal-xl {\n\t\tflex-direction: row;\n\t}\n\n\t.list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {\n\t\tborder-bottom-left-radius: var(--bs-list-group-border-radius);\n\t\tborder-top-right-radius: 0;\n\t}\n\n\t.list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {\n\t\tborder-top-right-radius: var(--bs-list-group-border-radius);\n\t\tborder-bottom-left-radius: 0;\n\t}\n\n\t.list-group-horizontal-xl > .list-group-item.active {\n\t\tmargin-top: 0;\n\t}\n\n\t.list-group-horizontal-xl > .list-group-item + .list-group-item {\n\t\tborder-top-width: var(--bs-list-group-border-width);\n\t\tborder-left-width: 0;\n\t}\n\n\t.list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n\t\tmargin-left: calc(-1 * var(--bs-list-group-border-width));\n\t\tborder-left-width: var(--bs-list-group-border-width);\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.list-group-horizontal-xxl {\n\t\tflex-direction: row;\n\t}\n\n\t.list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {\n\t\tborder-bottom-left-radius: var(--bs-list-group-border-radius);\n\t\tborder-top-right-radius: 0;\n\t}\n\n\t.list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {\n\t\tborder-top-right-radius: var(--bs-list-group-border-radius);\n\t\tborder-bottom-left-radius: 0;\n\t}\n\n\t.list-group-horizontal-xxl > .list-group-item.active {\n\t\tmargin-top: 0;\n\t}\n\n\t.list-group-horizontal-xxl > .list-group-item + .list-group-item {\n\t\tborder-top-width: var(--bs-list-group-border-width);\n\t\tborder-left-width: 0;\n\t}\n\n\t.list-group-horizontal-xxl > .list-group-item + .list-group-item.active {\n\t\tmargin-left: calc(-1 * var(--bs-list-group-border-width));\n\t\tborder-left-width: var(--bs-list-group-border-width);\n\t}\n}\n\n.list-group-flush {\n\tborder-radius: 0;\n}\n\n.list-group-flush > .list-group-item {\n\tborder-width: 0 0 var(--bs-list-group-border-width);\n}\n\n.list-group-flush > .list-group-item:last-child {\n\tborder-bottom-width: 0;\n}\n\n/* Primary list group item */\n\n.list-group-item-primary {\n\t--bs-list-group-color: var(--bs-body-color);\n\t--bs-list-group-bg: hsla(var(--bs-primary-hsl), 0.125);\n\t--bs-list-group-border-color: var(--bs-border-color);\n\t--bs-list-group-action-hover-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-hover-bg: hsla(var(--bs-primary-hsl), 0.2);\n\t--bs-list-group-action-active-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-active-bg: hsla(var(--bs-primary-hsl), 0.25);\n\t--bs-list-group-active-color: var(--bs-primary-foreground);\n\t--bs-list-group-active-bg: var(--bs-primary-hover-bg);\n\t--bs-list-group-active-border-color: var(--bs-primary-hover-bg);\n}\n\n/* Secondary list group item */\n\n.list-group-item-secondary {\n\t--bs-list-group-color: var(--bs-body-color);\n\t--bs-list-group-bg: hsla(var(--bs-secondary-hsl), 0.125);\n\t--bs-list-group-border-color: var(--bs-border-color);\n\t--bs-list-group-action-hover-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-hover-bg: hsla(var(--bs-secondary-hsl), 0.2);\n\t--bs-list-group-action-active-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-active-bg: hsla(var(--bs-secondary-hsl), 0.25);\n\t--bs-list-group-active-color: var(--bs-secondary-foreground);\n\t--bs-list-group-active-bg: var(--bs-secondary-hover-bg);\n\t--bs-list-group-active-border-color: var(--bs-secondary-hover-bg);\n}\n\n/* Success list group item */\n\n.list-group-item-success {\n\t--bs-list-group-color: var(--bs-body-color);\n\t--bs-list-group-bg: hsla(var(--bs-success-hsl), 0.125);\n\t--bs-list-group-border-color: var(--bs-border-color);\n\t--bs-list-group-action-hover-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-hover-bg: hsla(var(--bs-success-hsl), 0.2);\n\t--bs-list-group-action-active-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-active-bg: hsla(var(--bs-success-hsl), 0.25);\n\t--bs-list-group-active-color: var(--bs-success-foreground);\n\t--bs-list-group-active-bg: var(--bs-success-hover-bg);\n\t--bs-list-group-active-border-color: var(--bs-success-hover-bg);\n}\n\n/* Info list group item */\n\n.list-group-item-info {\n\t--bs-list-group-color: var(--bs-body-color);\n\t--bs-list-group-bg: hsla(var(--bs-info-hsl), 0.125);\n\t--bs-list-group-border-color: var(--bs-border-color);\n\t--bs-list-group-action-hover-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-hover-bg: hsla(var(--bs-info-hsl), 0.2);\n\t--bs-list-group-action-active-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-active-bg: hsla(var(--bs-info-hsl), 0.25);\n\t--bs-list-group-active-color: var(--bs-info-foreground);\n\t--bs-list-group-active-bg: var(--bs-info-hover-bg);\n\t--bs-list-group-active-border-color: var(--bs-info-hover-bg);\n}\n\n/* Warning list group item */\n\n.list-group-item-warning {\n\t--bs-list-group-color: var(--bs-body-color);\n\t--bs-list-group-bg: hsla(var(--bs-warning-hsl), 0.125);\n\t--bs-list-group-border-color: var(--bs-border-color);\n\t--bs-list-group-action-hover-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-hover-bg: hsla(var(--bs-warning-hsl), 0.2);\n\t--bs-list-group-action-active-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-active-bg: hsla(var(--bs-warning-hsl), 0.25);\n\t--bs-list-group-active-color: var(--bs-warning-foreground);\n\t--bs-list-group-active-bg: var(--bs-warning-hover-bg);\n\t--bs-list-group-active-border-color: var(--bs-warning-hover-bg);\n}\n\n/* Danger list group item */\n\n.list-group-item-danger {\n\t--bs-list-group-color: var(--bs-body-color);\n\t--bs-list-group-bg: hsla(var(--bs-danger-hsl), 0.125);\n\t--bs-list-group-border-color: var(--bs-border-color);\n\t--bs-list-group-action-hover-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-hover-bg: hsla(var(--bs-danger-hsl), 0.2);\n\t--bs-list-group-action-active-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-active-bg: hsla(var(--bs-danger-hsl), 0.25);\n\t--bs-list-group-active-color: var(--bs-danger-foreground);\n\t--bs-list-group-active-bg: var(--bs-danger-hover-bg);\n\t--bs-list-group-active-border-color: var(--bs-danger-hover-bg);\n}\n\n/* Light list group item */\n\n.list-group-item-light {\n\t--bs-list-group-color: var(--bs-body-color);\n\t--bs-list-group-bg: hsla(var(--bs-light-hsl), 0.125);\n\t--bs-list-group-border-color: var(--bs-border-color);\n\t--bs-list-group-action-hover-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-hover-bg: hsla(var(--bs-light-hsl), 0.2);\n\t--bs-list-group-action-active-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-active-bg: hsla(var(--bs-light-hsl), 0.25);\n\t--bs-list-group-active-color: var(--bs-light-foreground);\n\t--bs-list-group-active-bg: var(--bs-light-hover-bg);\n\t--bs-list-group-active-border-color: var(--bs-light-hover-bg);\n}\n\n/* Dark list group item */\n\n.list-group-item-dark {\n\t--bs-list-group-color: var(--bs-body-color);\n\t--bs-list-group-bg: hsla(var(--bs-dark-hsl), 0.125);\n\t--bs-list-group-border-color: var(--bs-border-color);\n\t--bs-list-group-action-hover-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-hover-bg: hsla(var(--bs-dark-hsl), 0.2);\n\t--bs-list-group-action-active-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-active-bg: hsla(var(--bs-dark-hsl), 0.25);\n\t--bs-list-group-active-color: var(--bs-dark-foreground);\n\t--bs-list-group-active-bg: var(--bs-dark-hover-bg);\n\t--bs-list-group-active-border-color: var(--bs-dark-hover-bg);\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Close button ]\n * ----------------------------------------------------------------------------\n */\n\n.btn-close {\n\t--bs-btn-close-color: var(--bs-black);\n\t--bs-btn-close-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e\");\n\t--bs-btn-close-opacity: 0.5;\n\t--bs-btn-close-hover-opacity: 0.75;\n\t--bs-btn-close-focus-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-black-hsl), 0.25);\n\t--bs-btn-close-focus-opacity: 1;\n\t--bs-btn-close-disabled-opacity: 0.25;\n\t--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);\n\tbox-sizing: content-box;\n\twidth: 1em;\n\theight: 1em;\n\tpadding: var(--bs-relative-font-size-4xs);\n\tcolor: var(--bs-btn-close-color);\n\tbackground: transparent var(--bs-btn-close-bg) center/1em auto no-repeat;\n\tborder: 0;\n\tborder-radius: var(--bs-border-radius-sm);\n\topacity: var(--bs-btn-close-opacity);\n}\n\n.btn-close:hover {\n\tcolor: var(--bs-btn-close-color);\n\ttext-decoration: none;\n\topacity: var(--bs-btn-close-hover-opacity);\n}\n\n.btn-close:focus {\n\toutline: 0;\n\tbox-shadow: var(--bs-btn-close-focus-shadow);\n\topacity: var(--bs-btn-close-focus-opacity);\n}\n\n.btn-close:disabled, .btn-close.disabled {\n\tpointer-events: none;\n\t-webkit-user-select: none;\n\t-moz-user-select: none;\n\tuser-select: none;\n\topacity: var(--bs-btn-close-disabled-opacity);\n}\n\n[data-bs-theme=dark] .btn-close {\n\tfilter: var(--bs-btn-close-white-filter);\n}\n\n/* Local light and dark variants */\n\n.btn-close[data-bs-theme=light] {\n\tfilter: none;\n}\n\n.btn-close[data-bs-theme=dark] {\n\tfilter: var(--bs-btn-close-white-filter);\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Toast ]\n * ----------------------------------------------------------------------------\n */\n\n.toast {\n\t--bs-toast-zindex: 1090;\n\t--bs-toast-padding-x: 0.75rem;\n\t--bs-toast-padding-y: 0.5rem;\n\t--bs-toast-spacing: 1.5rem;\n\t--bs-toast-max-width: 21.875rem;\n\t--bs-toast-font-size: 0.875rem;\n\t--bs-toast-color: ;\n\t--bs-toast-bg: hsla(var(--bs-content-floating-bg-hsl), 0.95);\n\t--bs-toast-border-width: var(--bs-border-width);\n\t--bs-toast-border-color: var(--bs-content-floating-border-color);\n\t--bs-toast-border-radius: var(--bs-border-radius);\n\t--bs-toast-box-shadow: var(--bs-content-floating-box-shadow);\n\t--bs-toast-header-color: var(--bs-secondary-color);\n\t--bs-toast-header-bg: var(--bs-toast-bg);\n\t--bs-toast-header-border-color: var(--bs-border-color-translucent);\n\twidth: var(--bs-toast-max-width);\n\tmax-width: 100%;\n\tfont-size: var(--bs-toast-font-size);\n\tcolor: var(--bs-toast-color);\n\tpointer-events: auto;\n\tbackground-color: var(--bs-toast-bg);\n\tbackground-clip: padding-box;\n\tborder: var(--bs-toast-border-width) solid var(--bs-toast-border-color);\n\tbox-shadow: var(--bs-toast-box-shadow);\n\tborder-radius: var(--bs-toast-border-radius);\n}\n\n.toast.showing {\n\topacity: 0;\n}\n\n.toast:not(.show) {\n\tdisplay: none;\n}\n\n.toast-container {\n\t--bs-toast-zindex: 1090;\n\tposition: absolute;\n\tz-index: var(--bs-toast-zindex);\n\twidth: -webkit-max-content;\n\twidth: -moz-max-content;\n\twidth: max-content;\n\tmax-width: 100%;\n\tpointer-events: none;\n}\n\n.toast-container > :not(:last-child) {\n\tmargin-bottom: var(--bs-toast-spacing);\n}\n\n.toast-header {\n\tdisplay: flex;\n\talign-items: center;\n\tpadding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);\n\tcolor: var(--bs-toast-header-color);\n\tbackground-color: var(--bs-toast-header-bg);\n\tbackground-clip: padding-box;\n\tborder-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);\n\tborder-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));\n\tborder-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));\n}\n\n.toast-header .btn-close {\n\tmargin-right: calc(-0.5 * var(--bs-toast-padding-x));\n\tmargin-left: var(--bs-toast-padding-x);\n}\n\n.toast-body {\n\tpadding: var(--bs-toast-padding-x);\n\tword-wrap: break-word;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Modal ]\n * ----------------------------------------------------------------------------\n */\n\n.modal {\n\t--bs-modal-zindex: 1055;\n\t--bs-modal-width: 25rem;\n\t--bs-modal-padding: 1rem;\n\t--bs-modal-margin: 0.5rem;\n\t--bs-modal-color: ;\n\t--bs-modal-bg: var(--bs-content-bg);\n\t--bs-modal-border-color: var(--bs-content-border-color);\n\t--bs-modal-border-width: var(--bs-border-width);\n\t--bs-modal-border-radius: var(--bs-border-radius-lg);\n\t--bs-modal-box-shadow: var(--bs-content-box-shadow);\n\t--bs-modal-inner-border-radius: calc(var(--bs-modal-border-radius) - (var(--bs-modal-border-width)));\n\t--bs-modal-header-padding-x: 1rem;\n\t--bs-modal-header-padding-y: 1rem;\n\t--bs-modal-header-padding: var(--bs-modal-header-padding-y) var(--bs-modal-header-padding-x);\n\t--bs-modal-header-border-color: var(--bs-border-color-translucent);\n\t--bs-modal-header-border-width: var(--bs-border-width);\n\t--bs-modal-title-line-height: var(--bs-line-height-sm);\n\t--bs-modal-footer-padding-x: 1rem;\n\t--bs-modal-footer-padding-y: 1rem;\n\t--bs-modal-footer-gap: 0.5rem;\n\t--bs-modal-footer-bg: ;\n\t--bs-modal-footer-border-color: var(--bs-border-color-translucent);\n\t--bs-modal-footer-border-width: var(--bs-border-width);\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tz-index: var(--bs-modal-zindex);\n\tdisplay: none;\n\twidth: 100%;\n\theight: 100%;\n\toverflow-x: hidden;\n\toverflow-y: auto;\n\toutline: 0;\n}\n\n.modal-dialog {\n\tposition: relative;\n\twidth: auto;\n\tmargin: var(--bs-modal-margin);\n\tpointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n\ttransition: transform 0.3s ease-out;\n\ttransform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.modal.fade .modal-dialog {\n\t\ttransition: none;\n\t}\n}\n\n.modal.show .modal-dialog {\n\ttransform: none;\n}\n\n.modal.modal-static .modal-dialog {\n\ttransform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n\theight: calc(100% - var(--bs-modal-margin) * 2);\n}\n\n.modal-dialog-scrollable .modal-content {\n\tmax-height: 100%;\n\toverflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-body {\n\toverflow-y: auto;\n}\n\n.modal-dialog-centered {\n\tdisplay: flex;\n\talign-items: center;\n\tmin-height: calc(100% - var(--bs-modal-margin) * 2);\n}\n\n.modal-content {\n\tposition: relative;\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 100%;\n\tcolor: var(--bs-modal-color);\n\tpointer-events: auto;\n\tbackground-color: var(--bs-modal-bg);\n\tbackground-clip: padding-box;\n\tborder: var(--bs-modal-border-width) solid var(--bs-modal-border-color);\n\tborder-radius: var(--bs-modal-border-radius);\n\tbox-shadow: var(--bs-modal-box-shadow);\n\toutline: 0;\n}\n\n.modal-backdrop {\n\t--bs-backdrop-zindex: 1050;\n\t--bs-backdrop-bg: var(--bs-black);\n\t--bs-backdrop-opacity: 0.5;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tz-index: var(--bs-backdrop-zindex);\n\twidth: 100vw;\n\theight: 100vh;\n\tbackground-color: var(--bs-backdrop-bg);\n}\n\n.modal-backdrop.fade {\n\topacity: 0;\n}\n\n.modal-backdrop.show {\n\topacity: var(--bs-backdrop-opacity);\n}\n\n.modal-header {\n\tdisplay: flex;\n\tflex-shrink: 0;\n\talign-items: center;\n\tjustify-content: space-between;\n\tpadding: var(--bs-modal-header-padding);\n\tborder-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);\n\tborder-top-left-radius: var(--bs-modal-inner-border-radius);\n\tborder-top-right-radius: var(--bs-modal-inner-border-radius);\n}\n\n.modal-header .btn-close {\n\tpadding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5);\n\tmargin: calc(-0.5 * var(--bs-modal-header-padding-y)) calc(-0.5 * var(--bs-modal-header-padding-x)) calc(-0.5 * var(--bs-modal-header-padding-y)) auto;\n}\n\n.modal-title {\n\tmargin-bottom: 0;\n\tline-height: var(--bs-modal-title-line-height);\n}\n\n.modal-body {\n\tposition: relative;\n\tflex: 1 1 auto;\n\tpadding: var(--bs-modal-padding);\n}\n\n.modal-footer {\n\tdisplay: flex;\n\tflex-shrink: 0;\n\tflex-wrap: wrap;\n\talign-items: center;\n\tjustify-content: flex-end;\n\tpadding: calc(var(--bs-modal-footer-padding-y) - var(--bs-modal-footer-gap) * 0.5) calc(var(--bs-modal-footer-padding-x) - var(--bs-modal-footer-gap) * 0.5);\n\tbackground-color: var(--bs-modal-footer-bg);\n\tborder-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);\n\tborder-bottom-right-radius: var(--bs-modal-inner-border-radius);\n\tborder-bottom-left-radius: var(--bs-modal-inner-border-radius);\n}\n\n.modal-footer > * {\n\tmargin: calc(var(--bs-modal-footer-gap) * 0.5);\n}\n\n@media (min-width: 576px) {\n\t.modal {\n\t\t--bs-modal-margin: 1.75rem;\n\t}\n\n\t.modal-dialog {\n\t\tmax-width: var(--bs-modal-width);\n\t\tmargin-right: auto;\n\t\tmargin-left: auto;\n\t}\n\n\t.modal-sm {\n\t\t--bs-modal-width: 18.75rem;\n\t}\n}\n\n@media (min-width: 992px) {\n\t.modal-lg,\n\t.modal-xl {\n\t\t--bs-modal-width: 42.5rem;\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.modal-xl {\n\t\t--bs-modal-width: 65rem;\n\t}\n}\n\n.modal-fullscreen {\n\twidth: 100vw;\n\tmax-width: none;\n\theight: 100%;\n\tmargin: 0;\n}\n\n.modal-fullscreen .modal-content {\n\theight: 100%;\n\tborder: 0;\n\tborder-radius: 0;\n}\n\n.modal-fullscreen .modal-header,\n.modal-fullscreen .modal-footer {\n\tborder-radius: 0;\n}\n\n.modal-fullscreen .modal-body {\n\toverflow-y: auto;\n}\n\n@media (max-width: 575.98px) {\n\t.modal-fullscreen-sm-down {\n\t\twidth: 100vw;\n\t\tmax-width: none;\n\t\theight: 100%;\n\t\tmargin: 0;\n\t}\n\n\t.modal-fullscreen-sm-down .modal-content {\n\t\theight: 100%;\n\t\tborder: 0;\n\t\tborder-radius: 0;\n\t}\n\n\t.modal-fullscreen-sm-down .modal-header,\n\t.modal-fullscreen-sm-down .modal-footer {\n\t\tborder-radius: 0;\n\t}\n\n\t.modal-fullscreen-sm-down .modal-body {\n\t\toverflow-y: auto;\n\t}\n}\n\n@media (max-width: 767.98px) {\n\t.modal-fullscreen-md-down {\n\t\twidth: 100vw;\n\t\tmax-width: none;\n\t\theight: 100%;\n\t\tmargin: 0;\n\t}\n\n\t.modal-fullscreen-md-down .modal-content {\n\t\theight: 100%;\n\t\tborder: 0;\n\t\tborder-radius: 0;\n\t}\n\n\t.modal-fullscreen-md-down .modal-header,\n\t.modal-fullscreen-md-down .modal-footer {\n\t\tborder-radius: 0;\n\t}\n\n\t.modal-fullscreen-md-down .modal-body {\n\t\toverflow-y: auto;\n\t}\n}\n\n@media (max-width: 991.98px) {\n\t.modal-fullscreen-lg-down {\n\t\twidth: 100vw;\n\t\tmax-width: none;\n\t\theight: 100%;\n\t\tmargin: 0;\n\t}\n\n\t.modal-fullscreen-lg-down .modal-content {\n\t\theight: 100%;\n\t\tborder: 0;\n\t\tborder-radius: 0;\n\t}\n\n\t.modal-fullscreen-lg-down .modal-header,\n\t.modal-fullscreen-lg-down .modal-footer {\n\t\tborder-radius: 0;\n\t}\n\n\t.modal-fullscreen-lg-down .modal-body {\n\t\toverflow-y: auto;\n\t}\n}\n\n@media (max-width: 1199.98px) {\n\t.modal-fullscreen-xl-down {\n\t\twidth: 100vw;\n\t\tmax-width: none;\n\t\theight: 100%;\n\t\tmargin: 0;\n\t}\n\n\t.modal-fullscreen-xl-down .modal-content {\n\t\theight: 100%;\n\t\tborder: 0;\n\t\tborder-radius: 0;\n\t}\n\n\t.modal-fullscreen-xl-down .modal-header,\n\t.modal-fullscreen-xl-down .modal-footer {\n\t\tborder-radius: 0;\n\t}\n\n\t.modal-fullscreen-xl-down .modal-body {\n\t\toverflow-y: auto;\n\t}\n}\n\n@media (max-width: 1399.98px) {\n\t.modal-fullscreen-xxl-down {\n\t\twidth: 100vw;\n\t\tmax-width: none;\n\t\theight: 100%;\n\t\tmargin: 0;\n\t}\n\n\t.modal-fullscreen-xxl-down .modal-content {\n\t\theight: 100%;\n\t\tborder: 0;\n\t\tborder-radius: 0;\n\t}\n\n\t.modal-fullscreen-xxl-down .modal-header,\n\t.modal-fullscreen-xxl-down .modal-footer {\n\t\tborder-radius: 0;\n\t}\n\t\n\t.modal-fullscreen-xxl-down .modal-body {\n\t\toverflow-y: auto;\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Tooltips ]\n * ----------------------------------------------------------------------------\n */\n\n.tooltip {\n\t--bs-tooltip-zindex: 1080;\n\t--bs-tooltip-max-width: 12.5rem;\n\t--bs-tooltip-padding-x: 0.5rem;\n\t--bs-tooltip-padding-y: 0.25rem;\n\t--bs-tooltip-margin: ;\n\t--bs-tooltip-font-size: var(--bs-font-size-sm);\n\t--bs-tooltip-color: var(--bs-body-bg);\n\t--bs-tooltip-bg: var(--bs-emphasis-color);\n\t--bs-tooltip-border-radius: var(--bs-border-radius);\n\t--bs-tooltip-opacity: 0.95;\n\t--bs-tooltip-webkit-font-smoothing: auto;\n\t--bs-tooltip-moz-osx-font-smoothing: auto;\n\t--bs-tooltip-arrow-width: 0.8rem;\n\t--bs-tooltip-arrow-height: 0.4rem;\n\tz-index: var(--bs-tooltip-zindex);\n\tdisplay: block;\n\tmargin: var(--bs-tooltip-margin);\n\tfont-family: var(--bs-body-font-family);\n\tfont-style: normal;\n\tfont-weight: var(--bs-font-weight-normal);\n\tline-height: var(--bs-line-height-base);\n\ttext-align: left;\n\ttext-align: start;\n\ttext-decoration: none;\n\ttext-shadow: none;\n\ttext-transform: none;\n\tletter-spacing: normal;\n\tword-break: normal;\n\twhite-space: normal;\n\tword-spacing: normal;\n\tline-break: auto;\n\tfont-size: var(--bs-tooltip-font-size);\n\tword-wrap: break-word;\n\topacity: 0;\n}\n\n.tooltip.show {\n\topacity: var(--bs-tooltip-opacity);\n}\n\n.tooltip .tooltip-arrow {\n\tdisplay: block;\n\twidth: var(--bs-tooltip-arrow-width);\n\theight: var(--bs-tooltip-arrow-height);\n}\n\n.tooltip .tooltip-arrow::before {\n\tposition: absolute;\n\tcontent: \"\";\n\tborder-color: transparent;\n\tborder-style: solid;\n}\n\n.bs-tooltip-top .tooltip-arrow,\n.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {\n\tbottom: calc(-1 * var(--bs-tooltip-arrow-height));\n}\n\n.bs-tooltip-top .tooltip-arrow::before,\n.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {\n\ttop: -1px;\n\tborder-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;\n\tborder-top-color: var(--bs-tooltip-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-tooltip-end .tooltip-arrow,\n.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {\n\tleft: calc(-1 * var(--bs-tooltip-arrow-height));\n\twidth: var(--bs-tooltip-arrow-height);\n\theight: var(--bs-tooltip-arrow-width);\n}\n\n.bs-tooltip-end .tooltip-arrow::before,\n.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {\n\tright: -1px;\n\tborder-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;\n\tborder-right-color: var(--bs-tooltip-bg);\n}\n/* rtl:end:ignore */\n\n.bs-tooltip-bottom .tooltip-arrow,\n.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {\n\ttop: calc(-1 * var(--bs-tooltip-arrow-height));\n}\n\n.bs-tooltip-bottom .tooltip-arrow::before,\n.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {\n\tbottom: -1px;\n\tborder-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);\n\tborder-bottom-color: var(--bs-tooltip-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-tooltip-start .tooltip-arrow,\n.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {\n\tright: calc(-1 * var(--bs-tooltip-arrow-height));\n\twidth: var(--bs-tooltip-arrow-height);\n\theight: var(--bs-tooltip-arrow-width);\n}\n\n.bs-tooltip-start .tooltip-arrow::before,\n.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {\n\tleft: -1px;\n\tborder-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);\n\tborder-left-color: var(--bs-tooltip-bg);\n}\n/* rtl:end:ignore */\n\n.tooltip-inner {\n\tmax-width: var(--bs-tooltip-max-width);\n\tpadding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);\n\tcolor: var(--bs-tooltip-color);\n\ttext-align: center;\n\tbackground-color: var(--bs-tooltip-bg);\n\tborder-radius: var(--bs-tooltip-border-radius);\n\t-webkit-font-smoothing: var(--bs-tooltip-webkit-font-smoothing);\n\t-moz-osx-font-smoothing: var(--bs-tooltip-moz-osx-font-smoothing);\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Popovers ]\n * ----------------------------------------------------------------------------\n */\n\n.popover {\n\t--bs-popover-zindex: 1070;\n\t--bs-popover-max-width: 17.25rem;\n\t--bs-popover-font-size: var(--bs-font-size-base);\n\t--bs-popover-bg: var(--bs-content-floating-bg);\n\t--bs-popover-border-width: var(--bs-border-width);\n\t--bs-popover-border-color: var(--bs-content-floating-border-color);\n\t--bs-popover-border-radius: var(--bs-border-radius);\n\t--bs-popover-inner-border-radius: calc(var(--bs-popover-border-radius) - var(--bs-popover-border-width));\n\t--bs-popover-box-shadow: var(--bs-content-floating-box-shadow);\n\t--bs-popover-header-padding-x: 0.75rem;\n\t--bs-popover-header-padding-y: 0.5rem;\n\t--bs-popover-header-font-size: var(--bs-popover-font-size);\n\t--bs-popover-header-color: var(--bs-body-color);\n\t--bs-popover-header-bg: var(--bs-popover-bg);\n\t--bs-popover-header-border-color: var(--bs-border-color-translucent);\n\t--bs-popover-body-padding-x: 0.75rem;\n\t--bs-popover-body-padding-y: 0.75rem;\n\t--bs-popover-body-color: var(--bs-content-floating-color);\n\t--bs-popover-arrow-width: 1rem;\n\t--bs-popover-arrow-height: 0.5rem;\n\t--bs-popover-arrow-border: var(--bs-popover-border-color);\n\tz-index: var(--bs-popover-zindex);\n\tdisplay: block;\n\tmax-width: var(--bs-popover-max-width);\n\tfont-family: var(--bs-body-font-family);\n\tfont-style: normal;\n\tfont-weight: var(--bs-font-weight-normal);\n\tline-height: var(--bs-line-height-base);\n\ttext-align: left;\n\ttext-align: start;\n\ttext-decoration: none;\n\ttext-shadow: none;\n\ttext-transform: none;\n\tletter-spacing: normal;\n\tword-break: normal;\n\twhite-space: normal;\n\tword-spacing: normal;\n\tline-break: auto;\n\tfont-size: var(--bs-popover-font-size);\n\tword-wrap: break-word;\n\tbackground-color: var(--bs-popover-bg);\n\tbackground-clip: padding-box;\n\tborder: var(--bs-popover-border-width) solid var(--bs-popover-border-color);\n\tborder-radius: var(--bs-popover-border-radius);\n\tbox-shadow: var(--bs-popover-box-shadow);\n}\n\n.popover .popover-arrow {\n\tdisplay: block;\n\twidth: var(--bs-popover-arrow-width);\n\theight: var(--bs-popover-arrow-height);\n}\n\n.popover .popover-arrow::before,\n.popover .popover-arrow::after {\n\tposition: absolute;\n\tdisplay: block;\n\tcontent: \"\";\n\tborder-color: transparent;\n\tborder-style: solid;\n\tborder-width: 0;\n}\n\n.bs-popover-top > .popover-arrow,\n.bs-popover-auto[data-popper-placement^=top] > .popover-arrow {\n\tbottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\n}\n\n.bs-popover-top > .popover-arrow::before,\n.bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before,\n.bs-popover-top > .popover-arrow::after,\n.bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {\n\tborder-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;\n}\n\n.bs-popover-top > .popover-arrow::before,\n.bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {\n\tbottom: 0;\n\tborder-top-color: var(--bs-popover-arrow-border);\n}\n\n.bs-popover-top > .popover-arrow::after,\n.bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {\n\tbottom: var(--bs-popover-border-width);\n\tborder-top-color: var(--bs-popover-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-popover-end > .popover-arrow,\n.bs-popover-auto[data-popper-placement^=right] > .popover-arrow {\n\tleft: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\n\twidth: var(--bs-popover-arrow-height);\n\theight: var(--bs-popover-arrow-width);\n}\n\n.bs-popover-end > .popover-arrow::before,\n.bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before,\n.bs-popover-end > .popover-arrow::after,\n.bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {\n\tborder-width: calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;\n}\n\n.bs-popover-end > .popover-arrow::before,\n.bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {\n\tleft: 0;\n\tborder-right-color: var(--bs-popover-arrow-border);\n}\n\n.bs-popover-end > .popover-arrow::after,\n.bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {\n\tleft: var(--bs-popover-border-width);\n\tborder-right-color: var(--bs-popover-bg);\n}\n/* rtl:end:ignore */\n\n.bs-popover-bottom > .popover-arrow,\n.bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {\n\ttop: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\n}\n\n.bs-popover-bottom > .popover-arrow::before,\n.bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before,\n.bs-popover-bottom > .popover-arrow::after,\n.bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {\n\tborder-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);\n}\n\n.bs-popover-bottom > .popover-arrow::before,\n.bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before {\n\ttop: 0;\n\tborder-bottom-color: var(--bs-popover-arrow-border);\n}\n\n.bs-popover-bottom > .popover-arrow::after,\n.bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {\n\ttop: var(--bs-popover-border-width);\n\tborder-bottom-color: var(--bs-popover-bg);\n}\n\n.bs-popover-bottom .popover-header::before,\n.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 50%;\n\tdisplay: block;\n\twidth: var(--bs-popover-arrow-width);\n\tmargin-left: calc(-0.5 * var(--bs-popover-arrow-width));\n\tcontent: \"\";\n\tborder-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-popover-start > .popover-arrow,\n.bs-popover-auto[data-popper-placement^=left] > .popover-arrow {\n\tright: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\n\twidth: var(--bs-popover-arrow-height);\n\theight: var(--bs-popover-arrow-width);\n}\n\n.bs-popover-start > .popover-arrow::before,\n.bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before,\n.bs-popover-start > .popover-arrow::after,\n.bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {\n\tborder-width: calc(var(--bs-popover-arrow-width) * 0.5) 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);\n}\n\n.bs-popover-start > .popover-arrow::before,\n.bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {\n\tright: 0;\n\tborder-left-color: var(--bs-popover-arrow-border);\n}\n\n.bs-popover-start > .popover-arrow::after,\n.bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {\n\tright: var(--bs-popover-border-width);\n\tborder-left-color: var(--bs-popover-bg);\n}\n/* rtl:end:ignore */\n\n.popover-header {\n\tpadding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);\n\tmargin-bottom: 0;\n\tfont-size: var(--bs-popover-header-font-size);\n\tcolor: var(--bs-popover-header-color);\n\tbackground-color: var(--bs-popover-header-bg);\n\tborder-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-border-color);\n\tborder-top-left-radius: var(--bs-popover-inner-border-radius);\n\tborder-top-right-radius: var(--bs-popover-inner-border-radius);\n}\n\n.popover-header:empty {\n\tdisplay: none;\n}\n\n.popover-body {\n\tpadding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);\n\tcolor: var(--bs-popover-body-color);\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Carousel ]\n * ----------------------------------------------------------------------------\n */\n\n.carousel {\n\tposition: relative;\n}\n\n.carousel.pointer-event {\n\ttouch-action: pan-y;\n}\n\n.carousel-inner {\n\tposition: relative;\n\twidth: 100%;\n\toverflow: hidden;\n}\n\n.carousel-inner::after {\n\tdisplay: block;\n\tclear: both;\n\tcontent: \"\";\n}\n\n.carousel-item {\n\tposition: relative;\n\tdisplay: none;\n\tfloat: left;\n\twidth: 100%;\n\tmargin-right: -100%;\n\t-webkit-backface-visibility: hidden;\n\tbackface-visibility: hidden;\n\ttransition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.carousel-item {\n\t\ttransition: none;\n\t}\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n\tdisplay: block;\n}\n\n.carousel-item-next:not(.carousel-item-start),\n.active.carousel-item-end {\n\ttransform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-end),\n.active.carousel-item-start {\n\ttransform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n\topacity: 0;\n\ttransition-property: opacity;\n\ttransform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-start,\n.carousel-fade .carousel-item-prev.carousel-item-end {\n\tz-index: 1;\n\topacity: 1;\n}\n\n.carousel-fade .active.carousel-item-start,\n.carousel-fade .active.carousel-item-end {\n\tz-index: 0;\n\topacity: 0;\n\ttransition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.carousel-fade .active.carousel-item-start,\n\t.carousel-fade .active.carousel-item-end {\n\t\ttransition: none;\n\t}\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tz-index: 1;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 15%;\n\tpadding: 0;\n\tcolor: var(--bs-white);\n\ttext-align: center;\n\tbackground: none;\n\tborder: 0;\n\topacity: 0.5;\n\ttransition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.carousel-control-prev,\n\t.carousel-control-next {\n\t\ttransition: none;\n\t}\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n\tcolor: var(--bs-white);\n\ttext-decoration: none;\n\toutline: 0;\n\topacity: 0.9;\n}\n\n.carousel-control-prev {\n\tleft: 0;\n}\n\n.carousel-control-next {\n\tright: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n\tdisplay: inline-block;\n\twidth: 2.5rem;\n\theight: 2.5rem;\n\tbackground-color: var(--bs-white);\n\tbackground-repeat: no-repeat;\n\tbackground-size: 50% 50%;\n\tborder-radius: 50%;\n}\n\n.carousel-control-prev-icon {\n\tbackground-position: 45% center;\n}\n\n.carousel-control-next-icon {\n\tbackground-position: 55% center;\n}\n\n/* rtl:options: {\n\t\"autoRename\": true,\n\t\"stringMap\":[ {\n\t\t\"name\" : \"prev-next\",\n\t\t\"search\" : \"prev\",\n\t\t\"replace\" : \"next\"\n\t} ]\n} */\n\n.carousel-control-prev-icon {\n\tbackground-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23242628'%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\");\n}\n\n.carousel-control-next-icon {\n\tbackground-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23242628'%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\");\n}\n\n.carousel-indicators {\n\tposition: absolute;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tz-index: 2;\n\tdisplay: flex;\n\tjustify-content: center;\n\tpadding: 0;\n\tmargin-right: 15%;\n\tmargin-bottom: 1rem;\n\tmargin-left: 15%;\n}\n\n.carousel-indicators [data-bs-target] {\n\tbox-sizing: content-box;\n\tflex: 0 1 auto;\n\twidth: 1.875rem;\n\theight: 0.1875rem;\n\tpadding: 0;\n\tmargin-right: 0.1875rem;\n\tmargin-left: 0.1875rem;\n\ttext-indent: -999px;\n\tcursor: pointer;\n\tbackground-color: var(--bs-white);\n\tbackground-clip: padding-box;\n\tborder: 0;\n\tborder-top: 0.625rem solid transparent;\n\tborder-bottom: 0.625rem solid transparent;\n\topacity: 0.5;\n\ttransition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.carousel-indicators [data-bs-target] {\n\t\ttransition: none;\n\t}\n}\n\n.carousel-indicators .active {\n\topacity: 1;\n}\n\n.carousel-caption {\n\tposition: absolute;\n\tright: 15%;\n\tbottom: 1.25rem;\n\tleft: 15%;\n\tpadding-top: 1.25rem;\n\tpadding-bottom: 1.25rem;\n\tcolor: var(--bs-white);\n\ttext-align: center;\n}\n\n[data-bs-theme=dark] .carousel .carousel-control-prev-icon,\n[data-bs-theme=dark] .carousel .carousel-control-next-icon,\n[data-bs-theme=dark].carousel .carousel-control-prev-icon,\n[data-bs-theme=dark].carousel .carousel-control-next-icon {\n\tbackground-color: var(--bs-black);\n}\n\n[data-bs-theme=dark] .carousel .carousel-control-prev-icon,\n[data-bs-theme=dark].carousel .carousel-control-prev-icon {\n\tbackground-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23c9cbcf'%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\");\n}\n\n[data-bs-theme=dark] .carousel .carousel-control-next-icon,\n[data-bs-theme=dark].carousel .carousel-control-next-icon {\n\tbackground-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23c9cbcf'%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\");\n}\n\n[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],\n[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target] {\n\tbackground-color: var(--bs-black);\n}\n\n[data-bs-theme=dark] .carousel .carousel-caption,\n[data-bs-theme=dark].carousel .carousel-caption {\n\tcolor: var(--bs-black);\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Spinner ]\n * ----------------------------------------------------------------------------\n */\n\n.spinner-grow,\n.spinner-border {\n\tdisplay: inline-block;\n\twidth: var(--bs-spinner-width);\n\theight: var(--bs-spinner-height);\n\tvertical-align: var(--bs-spinner-vertical-align);\n\tborder-radius: 50%;\n\tanimation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);\n}\n\n@keyframes spinner-border {\n\tto {\n\t\ttransform: rotate(360deg) /* rtl:ignore */;\n\t}\n}\n\n.spinner-border {\n\t--bs-spinner-width: calc(var(--bs-font-size-base) * 2);\n\t--bs-spinner-height: calc(var(--bs-font-size-base) * 2);\n\t--bs-spinner-vertical-align: calc(-1 * var(--bs-relative-font-size-6xs));\n\t--bs-spinner-border-width: var(--bs-relative-font-size-4xs);\n\t--bs-spinner-animation-speed: 0.75s;\n\t--bs-spinner-animation-name: spinner-border;\n\tborder: var(--bs-spinner-border-width) solid currentcolor;\n\tborder-right-color: transparent;\n}\n\n.spinner-border-sm {\n\t--bs-spinner-width: var(--bs-font-size-base);\n\t--bs-spinner-height: var(--bs-font-size-base);\n\t--bs-spinner-border-width: var(--bs-relative-font-size-6xs);\n}\n\n@keyframes spinner-grow {\n\t0% {\n\t\ttransform: scale(0);\n\t}\n\n\t50% {\n\t\topacity: 1;\n\t\ttransform: none;\n\t}\n}\n\n.spinner-grow {\n\t--bs-spinner-width: calc(var(--bs-font-size-base) * 2);\n\t--bs-spinner-height: calc(var(--bs-font-size-base) * 2);\n\t--bs-spinner-vertical-align: calc(-1 * var(--bs-relative-font-size-6xs));\n\t--bs-spinner-animation-speed: 0.75s;\n\t--bs-spinner-animation-name: spinner-grow;\n\tbackground-color: currentcolor;\n\topacity: 0;\n}\n\n.spinner-grow-sm {\n\t--bs-spinner-width: var(--bs-font-size-base);\n\t--bs-spinner-height: var(--bs-font-size-base);\n}\n\n@media (prefers-reduced-motion:reduce) {\n\t.spinner-border,\n\t.spinner-grow {\n\t\t--bs-spinner-animation-speed: 1.5s;\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Offcanvas ]\n * ----------------------------------------------------------------------------\n */\n\n.offcanvas,\n.offcanvas-xxl,\n.offcanvas-xl,\n.offcanvas-lg,\n.offcanvas-md,\n.offcanvas-sm {\n\t--bs-offcanvas-zindex: 1045;\n\t--bs-offcanvas-width: 21.875rem;\n\t--bs-offcanvas-height: 30vh;\n\t--bs-offcanvas-padding-x: 1rem;\n\t--bs-offcanvas-padding-y: 1rem;\n\t--bs-offcanvas-color: var(--bs-content-color);\n\t--bs-offcanvas-bg: var(--bs-content-bg);\n\t--bs-offcanvas-border-width: var(--bs-border-width);\n\t--bs-offcanvas-border-color: var(--bs-content-border-color);\n\t--bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);\n\t--bs-offcanvas-transition: transform 0.3s ease-in-out;\n\t--bs-offcanvas-title-line-height: var(--bs-line-height-sm);\n}\n\n@media (max-width: 575.98px) {\n\t.offcanvas-sm {\n\t\tposition: fixed;\n\t\tbottom: 0;\n\t\tz-index: var(--bs-offcanvas-zindex);\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tmax-width: 100%;\n\t\tcolor: var(--bs-offcanvas-color);\n\t\tvisibility: hidden;\n\t\tbackground-color: var(--bs-offcanvas-bg);\n\t\tbackground-clip: padding-box;\n\t\toutline: 0;\n\t\ttransition: var(--bs-offcanvas-transition);\n\t}\n}\n\n@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) {\n\t.offcanvas-sm {\n\t\ttransition: none;\n\t}\n}\n\n@media (max-width: 575.98px) {\n\t.offcanvas-sm.offcanvas-start {\n\t\ttop: 0;\n\t\tleft: 0;\n\t\twidth: var(--bs-offcanvas-width);\n\t\tborder-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateX(-100%);\n\t}\n\n\t.offcanvas-sm.offcanvas-end {\n\t\ttop: 0;\n\t\tright: 0;\n\t\twidth: var(--bs-offcanvas-width);\n\t\tborder-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateX(100%);\n\t}\n\n\t.offcanvas-sm.offcanvas-top {\n\t\ttop: 0;\n\t\tright: 0;\n\t\tleft: 0;\n\t\theight: var(--bs-offcanvas-height);\n\t\tmax-height: 100%;\n\t\tborder-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateY(-100%);\n\t}\n\n\t.offcanvas-sm.offcanvas-bottom {\n\t\tright: 0;\n\t\tleft: 0;\n\t\theight: var(--bs-offcanvas-height);\n\t\tmax-height: 100%;\n\t\tborder-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateY(100%);\n\t}\n\n\t.offcanvas-sm.showing,\n\t.offcanvas-sm.show:not(.hiding) {\n\t\ttransform: none;\n\t}\n\n\t.offcanvas-sm.showing,\n\t.offcanvas-sm.hiding,\n\t.offcanvas-sm.show {\n\t\tvisibility: visible;\n\t}\n}\n\n@media (min-width: 576px) {\n\t.offcanvas-sm {\n\t\t--bs-offcanvas-height: auto;\n\t\t--bs-offcanvas-border-width: 0;\n\t\tbackground-color: transparent !important;\n\t}\n\n\t.offcanvas-sm .offcanvas-header {\n\t\tdisplay: none;\n\t}\n\n\t.offcanvas-sm .offcanvas-body {\n\t\tdisplay: flex;\n\t\tflex-grow: 0;\n\t\tpadding: 0;\n\t\toverflow-y: visible;\n\t\tbackground-color: transparent !important;\n\t}\n}\n\n@media (max-width: 767.98px) {\n\t.offcanvas-md {\n\t\tposition: fixed;\n\t\tbottom: 0;\n\t\tz-index: var(--bs-offcanvas-zindex);\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tmax-width: 100%;\n\t\tcolor: var(--bs-offcanvas-color);\n\t\tvisibility: hidden;\n\t\tbackground-color: var(--bs-offcanvas-bg);\n\t\tbackground-clip: padding-box;\n\t\toutline: 0;\n\t\ttransition: var(--bs-offcanvas-transition);\n\t}\n}\n\n@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {\n\t.offcanvas-md {\n\t\ttransition: none;\n\t}\n}\n\n@media (max-width: 767.98px) {\n\t.offcanvas-md.offcanvas-start {\n\t\ttop: 0;\n\t\tleft: 0;\n\t\twidth: var(--bs-offcanvas-width);\n\t\tborder-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateX(-100%);\n\t}\n\n\t.offcanvas-md.offcanvas-end {\n\t\ttop: 0;\n\t\tright: 0;\n\t\twidth: var(--bs-offcanvas-width);\n\t\tborder-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateX(100%);\n\t}\n\n\t.offcanvas-md.offcanvas-top {\n\t\ttop: 0;\n\t\tright: 0;\n\t\tleft: 0;\n\t\theight: var(--bs-offcanvas-height);\n\t\tmax-height: 100%;\n\t\tborder-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateY(-100%);\n\t}\n\n\t.offcanvas-md.offcanvas-bottom {\n\t\tright: 0;\n\t\tleft: 0;\n\t\theight: var(--bs-offcanvas-height);\n\t\tmax-height: 100%;\n\t\tborder-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateY(100%);\n\t}\n\n\t.offcanvas-md.showing,\n\t.offcanvas-md.show:not(.hiding) {\n\t\ttransform: none;\n\t}\n\n\t.offcanvas-md.showing,\n\t.offcanvas-md.hiding,\n\t.offcanvas-md.show {\n\t\tvisibility: visible;\n\t}\n}\n\n@media (min-width: 768px) {\n\t.offcanvas-md {\n\t\t--bs-offcanvas-height: auto;\n\t\t--bs-offcanvas-border-width: 0;\n\t\tbackground-color: transparent !important;\n\t}\n\n\t.offcanvas-md .offcanvas-header {\n\t\tdisplay: none;\n\t}\n\n\t.offcanvas-md .offcanvas-body {\n\t\tdisplay: flex;\n\t\tflex-grow: 0;\n\t\tpadding: 0;\n\t\toverflow-y: visible;\n\t\tbackground-color: transparent !important;\n\t}\n}\n\n@media (max-width: 991.98px) {\n\t.offcanvas-lg {\n\t\tposition: fixed;\n\t\tbottom: 0;\n\t\tz-index: var(--bs-offcanvas-zindex);\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tmax-width: 100%;\n\t\tcolor: var(--bs-offcanvas-color);\n\t\tvisibility: hidden;\n\t\tbackground-color: var(--bs-offcanvas-bg);\n\t\tbackground-clip: padding-box;\n\t\toutline: 0;\n\t\ttransition: var(--bs-offcanvas-transition);\n\t}\n}\n\n@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {\n\t.offcanvas-lg {\n\t\ttransition: none;\n\t}\n}\n\n@media (max-width: 991.98px) {\n\t.offcanvas-lg.offcanvas-start {\n\t\ttop: 0;\n\t\tleft: 0;\n\t\twidth: var(--bs-offcanvas-width);\n\t\tborder-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateX(-100%);\n\t}\n\n\t.offcanvas-lg.offcanvas-end {\n\t\ttop: 0;\n\t\tright: 0;\n\t\twidth: var(--bs-offcanvas-width);\n\t\tborder-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateX(100%);\n\t}\n\n\t.offcanvas-lg.offcanvas-top {\n\t\ttop: 0;\n\t\tright: 0;\n\t\tleft: 0;\n\t\theight: var(--bs-offcanvas-height);\n\t\tmax-height: 100%;\n\t\tborder-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateY(-100%);\n\t}\n\n\t.offcanvas-lg.offcanvas-bottom {\n\t\tright: 0;\n\t\tleft: 0;\n\t\theight: var(--bs-offcanvas-height);\n\t\tmax-height: 100%;\n\t\tborder-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateY(100%);\n\t}\n\n\t.offcanvas-lg.showing,\n\t.offcanvas-lg.show:not(.hiding) {\n\t\ttransform: none;\n\t}\n\n\t.offcanvas-lg.showing,\n\t.offcanvas-lg.hiding,\n\t.offcanvas-lg.show {\n\t\tvisibility: visible;\n\t}\n}\n\n@media (min-width: 992px) {\n\t.offcanvas-lg {\n\t\t--bs-offcanvas-height: auto;\n\t\t--bs-offcanvas-border-width: 0;\n\t\tbackground-color: transparent !important;\n\t}\n\n\t.offcanvas-lg .offcanvas-header {\n\t\tdisplay: none;\n\t}\n\n\t.offcanvas-lg .offcanvas-body {\n\t\tdisplay: flex;\n\t\tflex-grow: 0;\n\t\tpadding: 0;\n\t\toverflow-y: visible;\n\t\tbackground-color: transparent !important;\n\t}\n}\n\n@media (max-width: 1199.98px) {\n\t.offcanvas-xl {\n\t\tposition: fixed;\n\t\tbottom: 0;\n\t\tz-index: var(--bs-offcanvas-zindex);\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tmax-width: 100%;\n\t\tcolor: var(--bs-offcanvas-color);\n\t\tvisibility: hidden;\n\t\tbackground-color: var(--bs-offcanvas-bg);\n\t\tbackground-clip: padding-box;\n\t\toutline: 0;\n\t\ttransition: var(--bs-offcanvas-transition);\n\t}\n}\n\n@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {\n\t.offcanvas-xl {\n\t\ttransition: none;\n\t}\n}\n\n@media (max-width: 1199.98px) {\n\t.offcanvas-xl.offcanvas-start {\n\t\ttop: 0;\n\t\tleft: 0;\n\t\twidth: var(--bs-offcanvas-width);\n\t\tborder-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateX(-100%);\n\t}\n\n\t.offcanvas-xl.offcanvas-end {\n\t\ttop: 0;\n\t\tright: 0;\n\t\twidth: var(--bs-offcanvas-width);\n\t\tborder-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateX(100%);\n\t}\n\n\t.offcanvas-xl.offcanvas-top {\n\t\ttop: 0;\n\t\tright: 0;\n\t\tleft: 0;\n\t\theight: var(--bs-offcanvas-height);\n\t\tmax-height: 100%;\n\t\tborder-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateY(-100%);\n\t}\n\n\t.offcanvas-xl.offcanvas-bottom {\n\t\tright: 0;\n\t\tleft: 0;\n\t\theight: var(--bs-offcanvas-height);\n\t\tmax-height: 100%;\n\t\tborder-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateY(100%);\n\t}\n\n\t.offcanvas-xl.showing,\n\t.offcanvas-xl.show:not(.hiding) {\n\t\ttransform: none;\n\t}\n\n\t.offcanvas-xl.showing,\n\t.offcanvas-xl.hiding,\n\t.offcanvas-xl.show {\n\t\tvisibility: visible;\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.offcanvas-xl {\n\t\t--bs-offcanvas-height: auto;\n\t\t--bs-offcanvas-border-width: 0;\n\t\tbackground-color: transparent !important;\n\t}\n\n\t.offcanvas-xl .offcanvas-header {\n\t\tdisplay: none;\n\t}\n\n\t.offcanvas-xl .offcanvas-body {\n\t\tdisplay: flex;\n\t\tflex-grow: 0;\n\t\tpadding: 0;\n\t\toverflow-y: visible;\n\t\tbackground-color: transparent !important;\n\t}\n}\n\n@media (max-width: 1399.98px) {\n\t.offcanvas-xxl {\n\t\tposition: fixed;\n\t\tbottom: 0;\n\t\tz-index: var(--bs-offcanvas-zindex);\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tmax-width: 100%;\n\t\tcolor: var(--bs-offcanvas-color);\n\t\tvisibility: hidden;\n\t\tbackground-color: var(--bs-offcanvas-bg);\n\t\tbackground-clip: padding-box;\n\t\toutline: 0;\n\t\ttransition: var(--bs-offcanvas-transition);\n\t}\n}\n\n@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) {\n\t.offcanvas-xxl {\n\t\ttransition: none;\n\t}\n}\n\n@media (max-width: 1399.98px) {\n\t.offcanvas-xxl.offcanvas-start {\n\t\ttop: 0;\n\t\tleft: 0;\n\t\twidth: var(--bs-offcanvas-width);\n\t\tborder-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateX(-100%);\n\t}\n\n\t.offcanvas-xxl.offcanvas-end {\n\t\ttop: 0;\n\t\tright: 0;\n\t\twidth: var(--bs-offcanvas-width);\n\t\tborder-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateX(100%);\n\t}\n\n\t.offcanvas-xxl.offcanvas-top {\n\t\ttop: 0;\n\t\tright: 0;\n\t\tleft: 0;\n\t\theight: var(--bs-offcanvas-height);\n\t\tmax-height: 100%;\n\t\tborder-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateY(-100%);\n\t}\n\n\t.offcanvas-xxl.offcanvas-bottom {\n\t\tright: 0;\n\t\tleft: 0;\n\t\theight: var(--bs-offcanvas-height);\n\t\tmax-height: 100%;\n\t\tborder-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateY(100%);\n\t}\n\n\t.offcanvas-xxl.showing,\n\t.offcanvas-xxl.show:not(.hiding) {\n\t\ttransform: none;\n\t}\n\n\t.offcanvas-xxl.showing,\n\t.offcanvas-xxl.hiding,\n\t.offcanvas-xxl.show {\n\t\tvisibility: visible;\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.offcanvas-xxl {\n\t\t--bs-offcanvas-height: auto;\n\t\t--bs-offcanvas-border-width: 0;\n\t\tbackground-color: transparent !important;\n\t}\n\n\t.offcanvas-xxl .offcanvas-header {\n\t\tdisplay: none;\n\t}\n\n\t.offcanvas-xxl .offcanvas-body {\n\t\tdisplay: flex;\n\t\tflex-grow: 0;\n\t\tpadding: 0;\n\t\toverflow-y: visible;\n\t\tbackground-color: transparent !important;\n\t}\n}\n\n.offcanvas {\n\tposition: fixed;\n\tbottom: 0;\n\tz-index: var(--bs-offcanvas-zindex);\n\tdisplay: flex;\n\tflex-direction: column;\n\tmax-width: 100%;\n\tcolor: var(--bs-offcanvas-color);\n\tvisibility: hidden;\n\tbackground-color: var(--bs-offcanvas-bg);\n\tbackground-clip: padding-box;\n\toutline: 0;\n\ttransition: var(--bs-offcanvas-transition);\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.offcanvas {\n\t\ttransition: none;\n\t}\n}\n\n.offcanvas.offcanvas-start {\n\ttop: 0;\n\tleft: 0;\n\twidth: var(--bs-offcanvas-width);\n\tborder-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\ttransform: translateX(-100%);\n}\n\n.offcanvas.offcanvas-end {\n\ttop: 0;\n\tright: 0;\n\twidth: var(--bs-offcanvas-width);\n\tborder-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\ttransform: translateX(100%);\n}\n\n.offcanvas.offcanvas-top {\n\ttop: 0;\n\tright: 0;\n\tleft: 0;\n\theight: var(--bs-offcanvas-height);\n\tmax-height: 100%;\n\tborder-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\ttransform: translateY(-100%);\n}\n\n.offcanvas.offcanvas-bottom {\n\tright: 0;\n\tleft: 0;\n\theight: var(--bs-offcanvas-height);\n\tmax-height: 100%;\n\tborder-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\ttransform: translateY(100%);\n}\n\n.offcanvas.showing,\n.offcanvas.show:not(.hiding) {\n\ttransform: none;\n}\n\n.offcanvas.showing,\n.offcanvas.hiding,\n.offcanvas.show {\n\tvisibility: visible;\n}\n\n.offcanvas-backdrop {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tz-index: 1040;\n\twidth: 100vw;\n\theight: 100vh;\n\tbackground-color: var(--bs-black);\n}\n\n.offcanvas-backdrop.fade {\n\topacity: 0;\n}\n\n.offcanvas-backdrop.show {\n\topacity: 0.5;\n}\n\n.offcanvas-header {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\tpadding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);\n}\n\n.offcanvas-header .btn-close {\n\tpadding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);\n\tmargin-top: calc(-0.5 * var(--bs-offcanvas-padding-y));\n\tmargin-right: calc(-0.5 * var(--bs-offcanvas-padding-x));\n\tmargin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y));\n}\n\n.offcanvas-title {\n\tmargin-bottom: 0;\n\tline-height: var(--bs-offcanvas-title-line-height);\n}\n\n.offcanvas-body {\n\tflex-grow: 1;\n\tpadding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);\n\toverflow-y: auto;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Sidebar ]\n * ----------------------------------------------------------------------------\n */\n\n.sidebar {\n\t--bs-sidebar-padding: var(--bs-spacer);\n\t--bs-sidebar-color: hsla(var(--bs-emphasis-color-hsl), 0.65);\n\t--bs-sidebar-hover-color: hsla(var(--bs-emphasis-color-hsl), 0.8);\n\t--bs-sidebar-disabled-color: hsla(var(--bs-emphasis-color-hsl), 0.3);\n\t--bs-sidebar-active-color: var(--bs-link-color);\n\t--bs-sidebar-bg: var(--bs-content-bg);\n\t--bs-sidebar-border-width: var(--bs-border-width);\n\t--bs-sidebar-border-color: var(--bs-content-border-color);\n\t--bs-sidebar-border-radius: 0;\n\t--bs-sidebar-brand-padding-y: 0;\n\t--bs-sidebar-brand-margin-end: 1rem;\n\t--bs-sidebar-brand-font-size: calc(var(--bs-font-size-base) + 0.25rem);\n\t--bs-sidebar-brand-color: hsla(var(--bs-emphasis-color-hsl), 0.85);\n\t--bs-sidebar-brand-hover-color: var(--bs-sidebar-brand-color);\n\t--bs-sidebar-item-padding-x: 0;\n\t--bs-sidebar-item-padding-y: 0.375rem;\n\t--bs-sidebar-header-font-size: var(--bs-font-size-base);\n\t--bs-sidebar-header-font-weight: var(--bs-font-weight-normal);\n\t--bs-sidebar-divider-bg: var(--bs-border-color-translucent);\n\t--bs-sidebar-divider-margin-y: 0.5rem;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tmargin: var(--bs-sidebar-margin);\n\twidth: var(--bs-sidebar-width);\n\theight: var(--bs-sidebar-height);\n\tdisplay: flex;\n\tflex-direction: column;\n\tbackground-color: var(--bs-sidebar-bg) !important;\n\tborder-right: var(--bs-sidebar-border-width) solid var(--bs-sidebar-border-color) !important;\n\tborder-radius: var(--bs-sidebar-border-radius);\n\toutline: 0;\n}\n\n@media (min-width: 576px) {\n\tbody:has(> .sidebar.offcanvas-sm) {\n\t\tpadding-left: var(--bs-padding-sbwidth);\n\t}\n\n\t.ps-sm-sbwidth {\n\t\tpadding-left: var(--bs-padding-sbwidth) !important;\n\t}\n}\n\n@media (min-width: 768px) {\n\tbody:has(> .sidebar.offcanvas-md) {\n\t\tpadding-left: var(--bs-padding-sbwidth);\n\t}\n\t\n\t.ps-md-sbwidth {\n\t\tpadding-left: var(--bs-padding-sbwidth) !important;\n\t}\n}\n\n@media (min-width: 992px) {\n\tbody:has(> .sidebar.offcanvas-lg) {\n\t\tpadding-left: var(--bs-padding-sbwidth);\n\t}\n\t\n\t.ps-lg-sbwidth {\n\t\tpadding-left: var(--bs-padding-sbwidth) !important;\n\t}\n}\n\n@media (min-width: 1200px) {\n\tbody:has(> .sidebar.offcanvas-xl) {\n\t\tpadding-left: var(--bs-padding-sbwidth);\n\t}\n\t\n\t.ps-xl-sbwidth {\n\t\tpadding-left: var(--bs-padding-sbwidth) !important;\n\t}\n}\n\n@media (min-width: 1400px) {\n\tbody:has(> .sidebar.offcanvas-xxl) {\n\t\tpadding-left: var(--bs-padding-sbwidth);\n\t}\n\t\n\t.ps-xxl-sbwidth {\n\t\tpadding-left: var(--bs-padding-sbwidth) !important;\n\t}\n}\n\n.sidebar .offcanvas-header {\n\tdisplay: flex;\n}\n\n.sidebar .offcanvas-body {\n\tdisplay: flex;\n\tflex-direction: column;\n\tflex-grow: 1;\n\tpadding: var(--bs-sidebar-padding);\n\toverflow-y: auto;\n}\n\n.sidebar-brand {\n\tpadding-top: var(--bs-sidebar-brand-padding-y);\n\tpadding-bottom: var(--bs-sidebar-brand-padding-y);\n\tmargin-right: var(--bs-sidebar-brand-margin-end);\n\tfont-size: var(--bs-sidebar-brand-font-size);\n\tcolor: var(--bs-sidebar-brand-color);\n\ttext-decoration: none;\n\twhite-space: nowrap;\n}\n\n.sidebar-brand:hover,\n.sidebar-brand:focus {\n\tcolor: var(--bs-sidebar-brand-hover-color);\n}\n\n.sidebar-nav {\n\t--bs-nav-link-padding-x: var(--bs-sidebar-item-padding-x);\n\t--bs-nav-link-padding-y: var(--bs-sidebar-item-padding-y);\n\t--bs-nav-link-font-weight: ;\n\t--bs-nav-link-color: var(--bs-sidebar-color);\n\t--bs-nav-link-hover-color: var(--bs-sidebar-hover-color);\n\t--bs-nav-link-disabled-color: var(--bs-sidebar-disabled-color);\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding-left: 0;\n\tmargin-bottom: 0;\n\tlist-style: none;\n}\n\n.sidebar-nav .nav-link.active,\n.sidebar-nav .nav-link.show {\n\tcolor: var(--bs-sidebar-active-color);\n\t-webkit-font-smoothing: auto;\n\t-moz-osx-font-smoothing: auto;\n}\n\n.sidebar-header {\n\tdisplay: block;\n\tpadding: var(--bs-sidebar-item-padding-y) 0;\n\tmargin-bottom: 0;\n\tfont-size: var(--bs-sidebar-header-font-size);\n\tfont-weight: var(--bs-sidebar-header-font-weight);\n}\n\n.sidebar-divider {\n\theight: 0;\n\tmargin: var(--bs-sidebar-divider-margin-y) 0;\n\toverflow: hidden;\n\tborder-top: var(--bs-border-width) solid var(--bs-sidebar-divider-bg);\n\topacity: 1;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Placeholders ]\n * ----------------------------------------------------------------------------\n */\n\n.placeholder {\n\tdisplay: inline-block;\n\tmin-height: 1em;\n\tvertical-align: middle;\n\tcursor: wait;\n\tbackground-color: currentcolor;\n\topacity: 0.5;\n}\n\n.placeholder.btn::before {\n\tdisplay: inline-block;\n\tcontent: \"\";\n}\n\n.placeholder-xs {\n\tmin-height: 0.6em;\n}\n\n.placeholder-sm {\n\tmin-height: 0.8em;\n}\n\n.placeholder-lg {\n\tmin-height: 1.2em;\n}\n\n.placeholder-glow .placeholder {\n\tanimation: placeholder-glow 2s ease-in-out infinite;\n}\n\n@keyframes placeholder-glow {\n\t50% {\n\t\topacity: 0.2;\n\t}\n}\n\n.placeholder-wave {\n\t-webkit-mask-image: linear-gradient(\n\t\t130deg,\n\t\tvar(--bs-black) 55%,\n\t\thsla(var(--bs-black-hsl), 0.65) 75%,\n\t\tvar(--bs-black) 95%\n\t);\n\tmask-image: linear-gradient(\n\t\t130deg,\n\t\tvar(--bs-black) 55%,\n\t\thsla(var(--bs-black-hsl), 0.65) 75%,\n\t\tvar(--bs-black) 95%\n\t);\n\t-webkit-mask-size: 200% 100%;\n\tmask-size: 200% 100%;\n\tanimation: placeholder-wave 2s linear infinite;\n}\n\n@keyframes placeholder-wave {\n\t100% {\n\t\t-webkit-mask-position: -200% 0%;\n\t\tmask-position: -200% 0%;\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Clearfix ]\n * ----------------------------------------------------------------------------\n */\n\n.clearfix::after {\n\tdisplay: block;\n\tclear: both;\n\tcontent: \"\";\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Color and background ]\n * ----------------------------------------------------------------------------\n */\n\n.text-bg-primary {\n\t--bs-color-hsl: var(--bs-primary-foreground-hsl);\n\tcolor: hsla(var(--bs-color-hsl), var(--bs-text-opacity, 1)) !important;\n\tbackground-color: hsla(var(--bs-primary-hsl), var(--bs-bg-opacity, 1)) !important;\n\t-webkit-font-smoothing: auto !important;\n\t-moz-osx-font-smoothing: auto !important;\n}\n\n.text-bg-secondary {\n\t--bs-color-hsl: var(--bs-secondary-foreground-hsl);\n\tcolor: hsla(var(--bs-color-hsl), var(--bs-text-opacity, 1)) !important;\n\tbackground-color: hsla(var(--bs-secondary-hsl), var(--bs-bg-opacity, 1)) !important;\n\t-webkit-font-smoothing: auto !important;\n\t-moz-osx-font-smoothing: auto !important;\n}\n\n.text-bg-success {\n\t--bs-color-hsl: var(--bs-success-foreground-hsl);\n\tcolor: hsla(var(--bs-color-hsl), var(--bs-text-opacity, 1)) !important;\n\tbackground-color: hsla(var(--bs-success-hsl), var(--bs-bg-opacity, 1)) !important;\n\t-webkit-font-smoothing: auto !important;\n\t-moz-osx-font-smoothing: auto !important;\n}\n\n.text-bg-info {\n\t--bs-color-hsl: var(--bs-info-foreground-hsl);\n\tcolor: hsla(var(--bs-color-hsl), var(--bs-text-opacity, 1)) !important;\n\tbackground-color: hsla(var(--bs-info-hsl), var(--bs-bg-opacity, 1)) !important;\n\t-webkit-font-smoothing: auto !important;\n\t-moz-osx-font-smoothing: auto !important;\n}\n\n.text-bg-warning {\n\t--bs-color-hsl: var(--bs-warning-foreground-hsl);\n\tcolor: hsla(var(--bs-color-hsl), var(--bs-text-opacity, 1)) !important;\n\tbackground-color: hsla(var(--bs-warning-hsl), var(--bs-bg-opacity, 1)) !important;\n\t-webkit-font-smoothing: auto !important;\n\t-moz-osx-font-smoothing: auto !important;\n}\n\n.text-bg-danger {\n\t--bs-color-hsl: var(--bs-danger-foreground-hsl);\n\tcolor: hsla(var(--bs-color-hsl), var(--bs-text-opacity, 1)) !important;\n\tbackground-color: hsla(var(--bs-danger-hsl), var(--bs-bg-opacity, 1)) !important;\n\t-webkit-font-smoothing: auto !important;\n\t-moz-osx-font-smoothing: auto !important;\n}\n\n.text-bg-light {\n\t--bs-color-hsl: var(--bs-light-foreground-hsl);\n\tcolor: hsla(var(--bs-color-hsl), var(--bs-text-opacity, 1)) !important;\n\tbackground-color: hsla(var(--bs-light-hsl), var(--bs-bg-opacity, 1)) !important;\n\t-webkit-font-smoothing: auto !important;\n\t-moz-osx-font-smoothing: auto !important;\n}\n\n.text-bg-dark {\n\t--bs-color-hsl: var(--bs-dark-foreground-hsl);\n\tcolor: hsla(var(--bs-color-hsl), var(--bs-text-opacity, 1)) !important;\n\tbackground-color: hsla(var(--bs-dark-hsl), var(--bs-bg-opacity, 1)) !important;\n\t-webkit-font-smoothing: auto !important;\n\t-moz-osx-font-smoothing: auto !important;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Colored links ]\n * ----------------------------------------------------------------------------\n */\n\n.link-primary {\n\tcolor: hsla(var(--bs-primary-text-emphasis-hsl, var(--bs-link-opacity, 1))) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-primary-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-primary-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-primary:hover,\n.link-primary:focus {\n\tcolor: hsla(var(--bs-primary-hsl), var(--bs-link-opacity, 1)) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-primary-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-primary-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-secondary {\n\tcolor: hsla(var(--bs-secondary-text-emphasis-hsl, var(--bs-link-opacity, 1))) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-secondary-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-secondary-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-secondary:hover,\n.link-secondary:focus {\n\tcolor: hsla(var(--bs-secondary-hsl), var(--bs-link-opacity, 1)) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-secondary-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-secondary-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-success {\n\tcolor: hsla(var(--bs-success-text-emphasis-hsl, var(--bs-link-opacity, 1))) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-success-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-success-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-success:hover,\n.link-success:focus {\n\tcolor: hsla(var(--bs-success-hsl), var(--bs-link-opacity, 1)) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-success-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-success-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-info {\n\tcolor: hsla(var(--bs-info-text-emphasis-hsl, var(--bs-link-opacity, 1))) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-info-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-info-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-info:hover,\n.link-info:focus {\n\tcolor: hsla(var(--bs-info-hsl), var(--bs-link-opacity, 1)) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-info-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-info-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-warning {\n\tcolor: hsla(var(--bs-warning-text-emphasis-hsl, var(--bs-link-opacity, 1))) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-warning-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-warning-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-warning:hover,\n.link-warning:focus {\n\tcolor: hsla(var(--bs-warning-hsl), var(--bs-link-opacity, 1)) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-warning-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-warning-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-danger {\n\tcolor: hsla(var(--bs-danger-text-emphasis-hsl, var(--bs-link-opacity, 1))) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-danger-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-danger-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-danger:hover,\n.link-danger:focus {\n\tcolor: hsla(var(--bs-danger-hsl), var(--bs-link-opacity, 1)) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-danger-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-danger-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-light {\n\tcolor: hsla(var(--bs-light-text-emphasis-hsl, var(--bs-link-opacity, 1))) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-light-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-light-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-light:hover,\n.link-light:focus {\n\tcolor: hsla(var(--bs-light-hsl), var(--bs-link-opacity, 1)) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-light-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-light-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-dark {\n\tcolor: hsla(var(--bs-dark-text-emphasis-hsl, var(--bs-link-opacity, 1))) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-dark-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-dark-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-dark:hover,\n.link-dark:focus {\n\tcolor: hsla(var(--bs-dark-hsl), var(--bs-link-opacity, 1)) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-dark-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-dark-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-body-emphasis {\n\tcolor: hsla(var(--bs-emphasis-color-hsl), var(--bs-link-opacity, 1)) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-emphasis-color-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-emphasis-color-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-body-emphasis:hover,\n.link-body-emphasis:focus {\n\tcolor: hsla(var(--bs-emphasis-color-hsl), var(--bs-link-opacity, 0.75)) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-emphasis-color-hsl), var(--bs-link-underline-opacity, 0.75)) !important;\n\ttext-decoration-color: hsla(var(--bs-emphasis-color-hsl), var(--bs-link-underline-opacity, 0.75)) !important;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Focus ring ]\n * ----------------------------------------------------------------------------\n */\n\n.focus-ring:focus {\n\toutline: 0 !important;\n\tbox-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color) !important;\n}\n\n.focus-ring-primary {\n\t--bs-focus-ring-color: hsla(var(--bs-primary-hsl), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-secondary {\n\t--bs-focus-ring-color: hsla(var(--bs-secondary-hsl), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-success {\n\t--bs-focus-ring-color: hsla(var(--bs-success-hsl), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-info {\n\t--bs-focus-ring-color: hsla(var(--bs-info-hsl), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-warning {\n\t--bs-focus-ring-color: hsla(var(--bs-warning-hsl), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-danger {\n\t--bs-focus-ring-color: hsla(var(--bs-danger-hsl), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-light {\n\t--bs-focus-ring-color: hsla(var(--bs-light-hsl), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-dark {\n\t--bs-focus-ring-color: hsla(var(--bs-dark-hsl), var(--bs-focus-ring-opacity));\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Icon link ]\n * ----------------------------------------------------------------------------\n */\n\n.icon-link {\n \tdisplay: inline-flex;\n \tgap: 0.375rem;\n \talign-items: center;\n \t-webkit-text-decoration-color: hsla(var(--bs-link-color-hsl), var(--bs-link-opacity, 1));\n \ttext-decoration-color: hsla(var(--bs-link-color-hsl), var(--bs-link-opacity, 1));\n \ttext-underline-offset: var(--bs-link-decoration-offset);\n \t-webkit-backface-visibility: hidden;\n \tbackface-visibility: hidden;\n}\n\n.icon-link > .bi {\n \tflex-shrink: 0;\n \twidth: 1em;\n \theight: 1em;\n \tfill: currentcolor;\n \ttransition: 0.2s ease-in-out transform;\n}\n\n@media (prefers-reduced-motion: reduce) {\n \t.icon-link > .bi {\n \ttransition: none;\n \t}\n}\n\n.icon-link-hover:hover > .bi,\n.icon-link-hover:focus-visible > .bi {\n \ttransform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Position ]\n * ----------------------------------------------------------------------------\n */\n\n.fixed-top {\n\tposition: fixed;\n\ttop: 0;\n\tright: 0;\n\tleft: 0;\n\tz-index: 1030;\n}\n\n.fixed-bottom {\n\tposition: fixed;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tz-index: 1030;\n}\n\n.sticky-top {\n\tposition: -webkit-sticky;\n\tposition: sticky;\n\ttop: 0;\n\tz-index: 1020;\n}\n\n.sticky-bottom {\n\tposition: -webkit-sticky;\n\tposition: sticky;\n\tbottom: 0;\n\tz-index: 1020;\n}\n\n@media (min-width: 576px) {\n\t.sticky-sm-top {\n\t\tposition: -webkit-sticky;\n\t\tposition: sticky;\n\t\ttop: 0;\n\t\tz-index: 1020;\n\t}\n\n\t.sticky-sm-bottom {\n\t\tposition: -webkit-sticky;\n\t\tposition: sticky;\n\t\tbottom: 0;\n\t\tz-index: 1020;\n\t}\n}\n\n@media (min-width: 768px) {\n\t.sticky-md-top {\n\t\tposition: -webkit-sticky;\n\t\tposition: sticky;\n\t\ttop: 0;\n\t\tz-index: 1020;\n\t}\n\n\t.sticky-md-bottom {\n\t\tposition: -webkit-sticky;\n\t\tposition: sticky;\n\t\tbottom: 0;\n\t\tz-index: 1020;\n\t}\n}\n\n@media (min-width: 992px) {\n\t.sticky-lg-top {\n\t\tposition: -webkit-sticky;\n\t\tposition: sticky;\n\t\ttop: 0;\n\t\tz-index: 1020;\n\t}\n\n\t.sticky-lg-bottom {\n\t\tposition: -webkit-sticky;\n\t\tposition: sticky;\n\t\tbottom: 0;\n\t\tz-index: 1020;\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.sticky-xl-top {\n\t\tposition: -webkit-sticky;\n\t\tposition: sticky;\n\t\ttop: 0;\n\t\tz-index: 1020;\n\t}\n\n\t.sticky-xl-bottom {\n\t\tposition: -webkit-sticky;\n\t\tposition: sticky;\n\t\tbottom: 0;\n\t\tz-index: 1020;\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.sticky-xxl-top {\n\t\tposition: -webkit-sticky;\n\t\tposition: sticky;\n\t\ttop: 0;\n\t\tz-index: 1020;\n\t}\n\n\t.sticky-xxl-bottom {\n\t\tposition: -webkit-sticky;\n\t\tposition: sticky;\n\t\tbottom: 0;\n\t\tz-index: 1020;\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Ratio ]\n * ----------------------------------------------------------------------------\n */\n\n.ratio {\n\tposition: relative;\n\twidth: 100%;\n}\n\n.ratio::before {\n\tdisplay: block;\n\tpadding-top: var(--bs-aspect-ratio);\n\tcontent: \"\";\n}\n\n.ratio > * {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 100%;\n}\n\n.ratio-1x1 {\n\t--bs-aspect-ratio: 100%;\n}\n\n.ratio-4x3 {\n\t--bs-aspect-ratio: 75%;\n}\n\n.ratio-16x9 {\n\t--bs-aspect-ratio: 56.25%;\n}\n\n.ratio-21x9 {\n\t--bs-aspect-ratio: 42.8571428571%;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Stacks ]\n * ----------------------------------------------------------------------------\n */\n\n.hstack {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\talign-self: stretch;\n}\n\n.vstack {\n\tdisplay: flex;\n\tflex: 1 1 auto;\n\tflex-direction: column;\n\talign-self: stretch;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Stretched link ]\n * ----------------------------------------------------------------------------\n */\n\n.stretched-link::after {\n\tposition: absolute;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tleft: 0;\n\tz-index: 1;\n\tcontent: \"\";\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Text truncation ]\n * ----------------------------------------------------------------------------\n */\n\n.text-truncate {\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Vertical rule ]\n * ----------------------------------------------------------------------------\n */\n\n.vr {\n\tdisplay: inline-block;\n\talign-self: stretch;\n\twidth: var(--bs-border-width);\n\tmin-height: 1em;\n\tbackground-color: currentcolor;\n\topacity: 0.25;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Visually hidden ]\n * ----------------------------------------------------------------------------\n */\n\n.visually-hidden,\n.visually-hidden-focusable:not(:focus):not(:focus-within) {\n\twidth: 1px !important;\n\theight: 1px !important;\n\tpadding: 0 !important;\n\tmargin: -1px !important;\n\toverflow: hidden !important;\n\tclip: rect(0, 0, 0, 0) !important;\n\twhite-space: nowrap !important;\n\tborder: 0 !important;\n}\n\n.visually-hidden:not(caption),\n.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n\tposition: absolute !important;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Background utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.bg-primary {\n\t--bs-bg-opacity: 1;\n\tbackground-color: hsla(var(--bs-primary-hsl), var(--bs-bg-opacity)) !important;\n}\n\n.bg-secondary {\n\t--bs-bg-opacity: 1;\n\tbackground-color: hsla(var(--bs-secondary-hsl), var(--bs-bg-opacity)) !important;\n}\n\n.bg-success {\n\t--bs-bg-opacity: 1;\n\tbackground-color: hsla(var(--bs-success-hsl), var(--bs-bg-opacity)) !important;\n}\n\n.bg-info {\n\t--bs-bg-opacity: 1;\n\tbackground-color: hsla(var(--bs-info-hsl), var(--bs-bg-opacity)) !important;\n}\n\n.bg-warning {\n\t--bs-bg-opacity: 1;\n\tbackground-color: hsla(var(--bs-warning-hsl), var(--bs-bg-opacity)) !important;\n}\n\n.bg-danger {\n\t--bs-bg-opacity: 1;\n\tbackground-color: hsla(var(--bs-danger-hsl), var(--bs-bg-opacity)) !important;\n}\n\n.bg-light {\n\t--bs-bg-opacity: 1;\n\tbackground-color: hsla(var(--bs-light-hsl), var(--bs-bg-opacity)) !important;\n}\n\n.bg-dark {\n\t--bs-bg-opacity: 1;\n\tbackground-color: hsla(var(--bs-dark-hsl), var(--bs-bg-opacity)) !important;\n}\n\n.bg-black {\n\t--bs-bg-opacity: 1;\n\tbackground-color: hsla(var(--bs-black-hsl), var(--bs-bg-opacity)) !important;\n}\n\n.bg-white {\n\t--bs-bg-opacity: 1;\n\tbackground-color: hsla(var(--bs-white-hsl), var(--bs-bg-opacity)) !important;\n}\n\n.bg-body {\n\t--bs-bg-opacity: 1;\n\tbackground-color: hsla(var(--bs-body-bg-hsl), var(--bs-bg-opacity)) !important;\n}\n\n.bg-transparent {\n\t--bs-bg-opacity: 1;\n\tbackground-color: transparent !important;\n}\n\n.bg-body-secondary {\n\t--bs-bg-opacity: 1;\n\tbackground-color: hsla(var(--bs-secondary-bg-hsl), var(--bs-bg-opacity)) !important;\n}\n\n.bg-body-tertiary {\n\t--bs-bg-opacity: 1;\n\tbackground-color: hsla(var(--bs-tertiary-bg-hsl), var(--bs-bg-opacity)) !important;\n}\n\n.bg-body-emphasis {\n\t--bs-bg-opacity: 1;\n\tbackground-color: hsla(var(--bs-emphasis-bg-hsl), var(--bs-bg-opacity)) !important;\n}\n\n.bg-opacity-10 {\n\t--bs-bg-opacity: 0.1;\n}\n\n.bg-opacity-25 {\n\t--bs-bg-opacity: 0.25;\n}\n\n.bg-opacity-50 {\n\t--bs-bg-opacity: 0.5;\n}\n\n.bg-opacity-75 {\n\t--bs-bg-opacity: 0.75;\n}\n\n.bg-opacity-100 {\n\t--bs-bg-opacity: 1;\n}\n\n.bg-primary-subtle {\n\tbackground-color: var(--bs-primary-bg-subtle) !important;\n}\n\n.bg-secondary-subtle {\n\tbackground-color: var(--bs-secondary-bg-subtle) !important;\n}\n\n.bg-success-subtle {\n\tbackground-color: var(--bs-success-bg-subtle) !important;\n}\n\n.bg-info-subtle {\n\tbackground-color: var(--bs-info-bg-subtle) !important;\n}\n\n.bg-warning-subtle {\n\tbackground-color: var(--bs-warning-bg-subtle) !important;\n}\n\n.bg-danger-subtle {\n\tbackground-color: var(--bs-danger-bg-subtle) !important;\n}\n\n.bg-light-subtle {\n\tbackground-color: var(--bs-light-bg-subtle) !important;\n}\n\n.bg-dark-subtle {\n\tbackground-color: var(--bs-dark-bg-subtle) !important;\n}\n\n.bg-gradient {\n\tbackground-image: var(--bs-gradient) !important;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Border utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.border {\n\tborder: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n}\n\n.border-0 {\n\tborder: 0 !important;\n}\n\n.border-top {\n\tborder-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n}\n\n.border-top-0 {\n\tborder-top: 0 !important;\n}\n\n.border-end {\n\tborder-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n}\n\n.border-end-0 {\n\tborder-right: 0 !important;\n}\n\n.border-bottom {\n\tborder-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n}\n\n.border-bottom-0 {\n\tborder-bottom: 0 !important;\n}\n\n.border-start {\n\tborder-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n}\n\n.border-start-0 {\n\tborder-left: 0 !important;\n}\n\n.border-primary {\n\t--bs-border-opacity: 1;\n\tborder-color: hsla(var(--bs-primary-hsl), var(--bs-border-opacity)) !important;\n}\n\n.border-secondary {\n\t--bs-border-opacity: 1;\n\tborder-color: hsla(var(--bs-secondary-hsl), var(--bs-border-opacity)) !important;\n}\n\n.border-success {\n\t--bs-border-opacity: 1;\n\tborder-color: hsla(var(--bs-success-hsl), var(--bs-border-opacity)) !important;\n}\n\n.border-info {\n\t--bs-border-opacity: 1;\n\tborder-color: hsla(var(--bs-info-hsl), var(--bs-border-opacity)) !important;\n}\n\n.border-warning {\n\t--bs-border-opacity: 1;\n\tborder-color: hsla(var(--bs-warning-hsl), var(--bs-border-opacity)) !important;\n}\n\n.border-danger {\n\t--bs-border-opacity: 1;\n\tborder-color: hsla(var(--bs-danger-hsl), var(--bs-border-opacity)) !important;\n}\n\n.border-light {\n\t--bs-border-opacity: 1;\n\tborder-color: hsla(var(--bs-light-hsl), var(--bs-border-opacity)) !important;\n}\n\n.border-dark {\n\t--bs-border-opacity: 1;\n\tborder-color: hsla(var(--bs-dark-hsl), var(--bs-border-opacity)) !important;\n}\n\n.border-black {\n\t--bs-border-opacity: 1;\n\tborder-color: hsla(var(--bs-black-hsl), var(--bs-border-opacity)) !important;\n}\n\n.border-white {\n\t--bs-border-opacity: 1;\n\tborder-color: hsla(var(--bs-white-hsl), var(--bs-border-opacity)) !important;\n}\n\n.border-primary-subtle {\n\tborder-color: var(--bs-primary-border-subtle) !important;\n}\n\n.border-secondary-subtle {\n\tborder-color: var(--bs-secondary-border-subtle) !important;\n}\n\n.border-success-subtle {\n\tborder-color: var(--bs-success-border-subtle) !important;\n}\n\n.border-info-subtle {\n\tborder-color: var(--bs-info-border-subtle) !important;\n}\n\n.border-warning-subtle {\n\tborder-color: var(--bs-warning-border-subtle) !important;\n}\n\n.border-danger-subtle {\n\tborder-color: var(--bs-danger-border-subtle) !important;\n}\n\n.border-light-subtle {\n\tborder-color: var(--bs-light-border-subtle) !important;\n}\n\n.border-dark-subtle {\n\tborder-color: var(--bs-dark-border-subtle) !important;\n}\n\n.border-1 {\n\tborder-width: var(--bs-border-width-1) !important;\n}\n\n.border-2 {\n\tborder-width: var(--bs-border-width-2) !important;\n}\n\n.border-3 {\n\tborder-width: var(--bs-border-width-3) !important;\n}\n\n.border-4 {\n\tborder-width: var(--bs-border-width-4) !important;\n}\n\n.border-5 {\n\tborder-width: var(--bs-border-width-5) !important;\n}\n\n.border-opacity-10 {\n\t--bs-border-opacity: 0.1;\n}\n\n.border-opacity-25 {\n\t--bs-border-opacity: 0.25;\n}\n\n.border-opacity-50 {\n\t--bs-border-opacity: 0.5;\n}\n\n.border-opacity-75 {\n\t--bs-border-opacity: 0.75;\n}\n\n.border-opacity-100 {\n\t--bs-border-opacity: 1;\n}\n\n.rounded {\n\tborder-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-0 {\n\tborder-radius: 0 !important;\n}\n\n.rounded-1 {\n\tborder-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-2 {\n\tborder-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-3 {\n\tborder-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-4 {\n\tborder-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-5 {\n\tborder-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-circle {\n\tborder-radius: 50% !important;\n}\n\n.rounded-pill {\n\tborder-radius: var(--bs-border-radius-pill) !important;\n}\n\n.rounded-top {\n\tborder-top-left-radius: var(--bs-border-radius) !important;\n\tborder-top-right-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-top-0 {\n\tborder-top-left-radius: 0 !important;\n\tborder-top-right-radius: 0 !important;\n}\n\n.rounded-top-1 {\n\tborder-top-left-radius: var(--bs-border-radius-sm) !important;\n\tborder-top-right-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-top-2 {\n\tborder-top-left-radius: var(--bs-border-radius) !important;\n\tborder-top-right-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-top-3 {\n\tborder-top-left-radius: var(--bs-border-radius-lg) !important;\n\tborder-top-right-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-top-4 {\n\tborder-top-left-radius: var(--bs-border-radius-xl) !important;\n\tborder-top-right-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-top-5 {\n\tborder-top-left-radius: var(--bs-border-radius-xxl) !important;\n\tborder-top-right-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-top-circle {\n\tborder-top-left-radius: 50% !important;\n\tborder-top-right-radius: 50% !important;\n}\n\n.rounded-top-pill {\n\tborder-top-left-radius: var(--bs-border-radius-pill) !important;\n\tborder-top-right-radius: var(--bs-border-radius-pill) !important;\n}\n\n.rounded-end {\n\tborder-top-right-radius: var(--bs-border-radius) !important;\n\tborder-bottom-right-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-end-0 {\n\tborder-top-right-radius: 0 !important;\n\tborder-bottom-right-radius: 0 !important;\n}\n\n.rounded-end-1 {\n\tborder-top-right-radius: var(--bs-border-radius-sm) !important;\n\tborder-bottom-right-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-end-2 {\n\tborder-top-right-radius: var(--bs-border-radius) !important;\n\tborder-bottom-right-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-end-3 {\n\tborder-top-right-radius: var(--bs-border-radius-lg) !important;\n\tborder-bottom-right-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-end-4 {\n\tborder-top-right-radius: var(--bs-border-radius-xl) !important;\n\tborder-bottom-right-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-end-5 {\n\tborder-top-right-radius: var(--bs-border-radius-xxl) !important;\n\tborder-bottom-right-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-end-circle {\n\tborder-top-right-radius: 50% !important;\n\tborder-bottom-right-radius: 50% !important;\n}\n\n.rounded-end-pill {\n\tborder-top-right-radius: var(--bs-border-radius-pill) !important;\n\tborder-bottom-right-radius: var(--bs-border-radius-pill) !important;\n}\n\n.rounded-bottom {\n\tborder-bottom-right-radius: var(--bs-border-radius) !important;\n\tborder-bottom-left-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-bottom-0 {\n\tborder-bottom-right-radius: 0 !important;\n\tborder-bottom-left-radius: 0 !important;\n}\n\n.rounded-bottom-1 {\n\tborder-bottom-right-radius: var(--bs-border-radius-sm) !important;\n\tborder-bottom-left-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-bottom-2 {\n\tborder-bottom-right-radius: var(--bs-border-radius) !important;\n\tborder-bottom-left-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-bottom-3 {\n\tborder-bottom-right-radius: var(--bs-border-radius-lg) !important;\n\tborder-bottom-left-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-bottom-4 {\n\tborder-bottom-right-radius: var(--bs-border-radius-xl) !important;\n\tborder-bottom-left-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-bottom-5 {\n\tborder-bottom-right-radius: var(--bs-border-radius-xxl) !important;\n\tborder-bottom-left-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-bottom-circle {\n\tborder-bottom-right-radius: 50% !important;\n\tborder-bottom-left-radius: 50% !important;\n}\n\n.rounded-bottom-pill {\n\tborder-bottom-right-radius: var(--bs-border-radius-pill) !important;\n\tborder-bottom-left-radius: var(--bs-border-radius-pill) !important;\n}\n\n.rounded-start {\n\tborder-bottom-left-radius: var(--bs-border-radius) !important;\n\tborder-top-left-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-start-0 {\n\tborder-bottom-left-radius: 0 !important;\n\tborder-top-left-radius: 0 !important;\n}\n\n.rounded-start-1 {\n\tborder-bottom-left-radius: var(--bs-border-radius-sm) !important;\n\tborder-top-left-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-start-2 {\n\tborder-bottom-left-radius: var(--bs-border-radius) !important;\n\tborder-top-left-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-start-3 {\n\tborder-bottom-left-radius: var(--bs-border-radius-lg) !important;\n\tborder-top-left-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-start-4 {\n\tborder-bottom-left-radius: var(--bs-border-radius-xl) !important;\n\tborder-top-left-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-start-5 {\n\tborder-bottom-left-radius: var(--bs-border-radius-xxl) !important;\n\tborder-top-left-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-start-circle {\n\tborder-bottom-left-radius: 50% !important;\n\tborder-top-left-radius: 50% !important;\n}\n\n.rounded-start-pill {\n\tborder-bottom-left-radius: var(--bs-border-radius-pill) !important;\n\tborder-top-left-radius: var(--bs-border-radius-pill) !important;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Box shadow utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.shadow {\n\tbox-shadow: var(--bs-box-shadow) !important;\n}\n\n.shadow-sm {\n\tbox-shadow: var(--bs-box-shadow-sm) !important;\n}\n\n.shadow-lg {\n\tbox-shadow: var(--bs-box-shadow-lg) !important;\n}\n\n.shadow-none {\n\tbox-shadow: none !important;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Color utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.text-primary {\n\t--bs-text-opacity: 1;\n\tcolor: hsla(var(--bs-primary-hsl), var(--bs-text-opacity)) !important;\n}\n\n.text-secondary {\n\t--bs-text-opacity: 1;\n\tcolor: hsla(var(--bs-secondary-hsl), var(--bs-text-opacity)) !important;\n}\n\n.text-success {\n\t--bs-text-opacity: 1;\n\tcolor: hsla(var(--bs-success-hsl), var(--bs-text-opacity)) !important;\n}\n\n.text-info {\n\t--bs-text-opacity: 1;\n\tcolor: hsla(var(--bs-info-hsl), var(--bs-text-opacity)) !important;\n}\n\n.text-warning {\n\t--bs-text-opacity: 1;\n\tcolor: hsla(var(--bs-warning-hsl), var(--bs-text-opacity)) !important;\n}\n\n.text-danger {\n\t--bs-text-opacity: 1;\n\tcolor: hsla(var(--bs-danger-hsl), var(--bs-text-opacity)) !important;\n}\n\n.text-light {\n\t--bs-text-opacity: 1;\n\tcolor: hsla(var(--bs-light-hsl), var(--bs-text-opacity)) !important;\n}\n\n.text-dark {\n\t--bs-text-opacity: 1;\n\tcolor: hsla(var(--bs-dark-hsl), var(--bs-text-opacity)) !important;\n}\n\n.text-black {\n\t--bs-text-opacity: 1;\n\tcolor: hsla(var(--bs-black-hsl), var(--bs-text-opacity)) !important;\n}\n\n.text-white {\n\t--bs-text-opacity: 1;\n\tcolor: hsla(var(--bs-white-hsl), var(--bs-text-opacity)) !important;\n}\n\n.text-body {\n\t--bs-text-opacity: 1;\n\tcolor: hsla(var(--bs-body-color-hsl), var(--bs-text-opacity)) !important;\n}\n\n.text-muted {\n\t--bs-text-opacity: 1;\n\tcolor: var(--bs-secondary-color) !important;\n}\n\n.text-black-50 {\n\t--bs-text-opacity: 1;\n\tcolor: hsla(var(--bs-black-hsl), 0.5) !important;\n}\n\n.text-white-50 {\n\t--bs-text-opacity: 1;\n\tcolor: hsla(var(--bs-white-hsl), 0.5) !important;\n}\n\n.text-body-secondary {\n\t--bs-text-opacity: 1;\n\tcolor: var(--bs-secondary-color) !important;\n}\n\n.text-body-tertiary {\n\t--bs-text-opacity: 1;\n\tcolor: var(--bs-tertiary-color) !important;\n}\n\n.text-body-emphasis {\n\t--bs-text-opacity: 1;\n\tcolor: var(--bs-emphasis-color) !important;\n}\n\n.text-reset {\n\t--bs-text-opacity: 1;\n\tcolor: inherit !important;\n}\n\n.text-opacity-25 {\n\t--bs-text-opacity: 0.25;\n}\n\n.text-opacity-50 {\n\t--bs-text-opacity: 0.5;\n}\n\n.text-opacity-75 {\n\t--bs-text-opacity: 0.75;\n}\n\n.text-opacity-100 {\n\t--bs-text-opacity: 1;\n}\n\n.text-primary-emphasis {\n\tcolor: var(--bs-primary-text-emphasis) !important;\n}\n\n.text-secondary-emphasis {\n\tcolor: var(--bs-secondary-text-emphasis) !important;\n}\n\n.text-success-emphasis {\n\tcolor: var(--bs-success-text-emphasis) !important;\n}\n\n.text-info-emphasis {\n\tcolor: var(--bs-info-text-emphasis) !important;\n}\n\n.text-warning-emphasis {\n\tcolor: var(--bs-warning-text-emphasis) !important;\n}\n\n.text-danger-emphasis {\n\tcolor: var(--bs-danger-text-emphasis) !important;\n}\n\n.text-light-emphasis {\n\tcolor: var(--bs-light-text-emphasis) !important;\n}\n\n.text-dark-emphasis {\n\tcolor: var(--bs-dark-text-emphasis) !important;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Display utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.d-inline {\n\tdisplay: inline !important;\n}\n\n.d-inline-block {\n\tdisplay: inline-block !important;\n}\n\n.d-block {\n\tdisplay: block !important;\n}\n\n.d-grid {\n\tdisplay: grid !important;\n}\n\n.d-inline-grid {\n\tdisplay: inline-grid !important;\n}\n\n.d-table {\n\tdisplay: table !important;\n}\n\n.d-table-row {\n\tdisplay: table-row !important;\n}\n\n.d-table-cell {\n\tdisplay: table-cell !important;\n}\n\n.d-flex {\n\tdisplay: flex !important;\n}\n\n.d-inline-flex {\n\tdisplay: inline-flex !important;\n}\n\n.d-none {\n\tdisplay: none !important;\n}\n\n@media (min-width: 576px) {\n\t.d-sm-inline {\n\t\tdisplay: inline !important;\n\t}\n\n\t.d-sm-inline-block {\n\t\tdisplay: inline-block !important;\n\t}\n\n\t.d-sm-block {\n\t\tdisplay: block !important;\n\t}\n\n\t.d-sm-grid {\n\t\tdisplay: grid !important;\n\t}\n\n\t.d-sm-inline-grid {\n\t\tdisplay: inline-grid !important;\n\t}\n\n\t.d-sm-table {\n\t\tdisplay: table !important;\n\t}\n\n\t.d-sm-table-row {\n\t\tdisplay: table-row !important;\n\t}\n\n\t.d-sm-table-cell {\n\t\tdisplay: table-cell !important;\n\t}\n\n\t.d-sm-flex {\n\t\tdisplay: flex !important;\n\t}\n\n\t.d-sm-inline-flex {\n\t\tdisplay: inline-flex !important;\n\t}\n\n\t.d-sm-none {\n\t\tdisplay: none !important;\n\t}\n}\n\n@media (min-width: 768px) {\n\t.d-md-inline {\n\t\tdisplay: inline !important;\n\t}\n\n\t.d-md-inline-block {\n\t\tdisplay: inline-block !important;\n\t}\n\n\t.d-md-block {\n\t\tdisplay: block !important;\n\t}\n\n\t.d-md-grid {\n\t\tdisplay: grid !important;\n\t}\n\n\t.d-md-inline-grid {\n\t\tdisplay: inline-grid !important;\n\t}\n\n\t.d-md-table {\n\t\tdisplay: table !important;\n\t}\n\n\t.d-md-table-row {\n\t\tdisplay: table-row !important;\n\t}\n\n\t.d-md-table-cell {\n\t\tdisplay: table-cell !important;\n\t}\n\n\t.d-md-flex {\n\t\tdisplay: flex !important;\n\t}\n\n\t.d-md-inline-flex {\n\t\tdisplay: inline-flex !important;\n\t}\n\n\t.d-md-none {\n\t\tdisplay: none !important;\n\t}\n}\n\n@media (min-width: 992px) {\n\t.d-lg-inline {\n\t\tdisplay: inline !important;\n\t}\n\n\t.d-lg-inline-block {\n\t\tdisplay: inline-block !important;\n\t}\n\n\t.d-lg-block {\n\t\tdisplay: block !important;\n\t}\n\n\t.d-lg-grid {\n\t\tdisplay: grid !important;\n\t}\n\n\t.d-lg-inline-grid {\n\t\tdisplay: inline-grid !important;\n\t}\n\n\t.d-lg-table {\n\t\tdisplay: table !important;\n\t}\n\n\t.d-lg-table-row {\n\t\tdisplay: table-row !important;\n\t}\n\n\t.d-lg-table-cell {\n\t\tdisplay: table-cell !important;\n\t}\n\n\t.d-lg-flex {\n\t\tdisplay: flex !important;\n\t}\n\n\t.d-lg-inline-flex {\n\t\tdisplay: inline-flex !important;\n\t}\n\n\t.d-lg-none {\n\t\tdisplay: none !important;\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.d-xl-inline {\n\t\tdisplay: inline !important;\n\t}\n\n\t.d-xl-inline-block {\n\t\tdisplay: inline-block !important;\n\t}\n\n\t.d-xl-block {\n\t\tdisplay: block !important;\n\t}\n\n\t.d-xl-grid {\n\t\tdisplay: grid !important;\n\t}\n\n\t.d-xl-inline-grid {\n\t\tdisplay: inline-grid !important;\n\t}\n\n\t.d-xl-table {\n\t\tdisplay: table !important;\n\t}\n\n\t.d-xl-table-row {\n\t\tdisplay: table-row !important;\n\t}\n\n\t.d-xl-table-cell {\n\t\tdisplay: table-cell !important;\n\t}\n\n\t.d-xl-flex {\n\t\tdisplay: flex !important;\n\t}\n\n\t.d-xl-inline-flex {\n\t\tdisplay: inline-flex !important;\n\t}\n\n\t.d-xl-none {\n\t\tdisplay: none !important;\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.d-xxl-inline {\n\t\tdisplay: inline !important;\n\t}\n\n\t.d-xxl-inline-block {\n\t\tdisplay: inline-block !important;\n\t}\n\n\t.d-xxl-block {\n\t\tdisplay: block !important;\n\t}\n\n\t.d-xxl-grid {\n\t\tdisplay: grid !important;\n\t}\n\n\t.d-xxl-inline-grid {\n\t\tdisplay: inline-grid !important;\n\t}\n\n\t.d-xxl-table {\n\t\tdisplay: table !important;\n\t}\n\n\t.d-xxl-table-row {\n\t\tdisplay: table-row !important;\n\t}\n\n\t.d-xxl-table-cell {\n\t\tdisplay: table-cell !important;\n\t}\n\n\t.d-xxl-flex {\n\t\tdisplay: flex !important;\n\t}\n\n\t.d-xxl-inline-flex {\n\t\tdisplay: inline-flex !important;\n\t}\n\n\t.d-xxl-none {\n\t\tdisplay: none !important;\n\t}\n}\n\n@media print {\n\t.d-print-inline {\n\t\tdisplay: inline !important;\n\t}\n\n\t.d-print-inline-block {\n\t\tdisplay: inline-block !important;\n\t}\n\n\t.d-print-block {\n\t\tdisplay: block !important;\n\t}\n\n\t.d-print-grid {\n\t\tdisplay: grid !important;\n\t}\n\n\t.d-print-table {\n\t\tdisplay: table !important;\n\t}\n\n\t.d-print-table-row {\n\t\tdisplay: table-row !important;\n\t}\n\n\t.d-print-table-cell {\n\t\tdisplay: table-cell !important;\n\t}\n\n\t.d-print-flex {\n\t\tdisplay: flex !important;\n\t}\n\n\t.d-print-inline-flex {\n\t\tdisplay: inline-flex !important;\n\t}\n\n\t.d-print-none {\n\t\tdisplay: none !important;\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Flex utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.flex-fill {\n\tflex: 1 1 auto !important;\n}\n\n.flex-row {\n\tflex-direction: row !important;\n}\n\n.flex-column {\n\tflex-direction: column !important;\n}\n\n.flex-row-reverse {\n\tflex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n\tflex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n\tflex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n\tflex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n\tflex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n\tflex-shrink: 1 !important;\n}\n\n.flex-wrap {\n\tflex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n\tflex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n\tflex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n\tjustify-content: flex-start !important;\n}\n\n.justify-content-end {\n\tjustify-content: flex-end !important;\n}\n\n.justify-content-center {\n\tjustify-content: center !important;\n}\n\n.justify-content-between {\n\tjustify-content: space-between !important;\n}\n\n.justify-content-around {\n\tjustify-content: space-around !important;\n}\n\n.justify-content-evenly {\n\tjustify-content: space-evenly !important;\n}\n\n.align-items-start {\n\talign-items: flex-start !important;\n}\n\n.align-items-end {\n\talign-items: flex-end !important;\n}\n\n.align-items-center {\n\talign-items: center !important;\n}\n\n.align-items-baseline {\n\talign-items: baseline !important;\n}\n\n.align-items-stretch {\n\talign-items: stretch !important;\n}\n\n.align-content-start {\n\talign-content: flex-start !important;\n}\n\n.align-content-end {\n\talign-content: flex-end !important;\n}\n\n.align-content-center {\n\talign-content: center !important;\n}\n\n.align-content-between {\n\talign-content: space-between !important;\n}\n\n.align-content-around {\n\talign-content: space-around !important;\n}\n\n.align-content-stretch {\n\talign-content: stretch !important;\n}\n\n.align-self-auto {\n\talign-self: auto !important;\n}\n\n.align-self-start {\n\talign-self: flex-start !important;\n}\n\n.align-self-end {\n\talign-self: flex-end !important;\n}\n\n.align-self-center {\n\talign-self: center !important;\n}\n\n.align-self-baseline {\n\talign-self: baseline !important;\n}\n\n.align-self-stretch {\n\talign-self: stretch !important;\n}\n\n.order-first {\n\torder: -1 !important;\n}\n\n.order-0 {\n\torder: 0 !important;\n}\n\n.order-1 {\n\torder: 1 !important;\n}\n\n.order-2 {\n\torder: 2 !important;\n}\n\n.order-3 {\n\torder: 3 !important;\n}\n\n.order-4 {\n\torder: 4 !important;\n}\n\n.order-5 {\n\torder: 5 !important;\n}\n\n.order-last {\n\torder: 6 !important;\n}\n\n@media (min-width: 576px) {\n\t.flex-sm-fill {\n\t\tflex: 1 1 auto !important;\n\t}\n\n\t.flex-sm-row {\n\t\tflex-direction: row !important;\n\t}\n\n\t.flex-sm-column {\n\t\tflex-direction: column !important;\n\t}\n\n\t.flex-sm-row-reverse {\n\t\tflex-direction: row-reverse !important;\n\t}\n\n\t.flex-sm-column-reverse {\n\t\tflex-direction: column-reverse !important;\n\t}\n\n\t.flex-sm-grow-0 {\n\t\tflex-grow: 0 !important;\n\t}\n\n\t.flex-sm-grow-1 {\n\t\tflex-grow: 1 !important;\n\t}\n\n\t.flex-sm-shrink-0 {\n\t\tflex-shrink: 0 !important;\n\t}\n\n\t.flex-sm-shrink-1 {\n\t\tflex-shrink: 1 !important;\n\t}\n\n\t.flex-sm-wrap {\n\t\tflex-wrap: wrap !important;\n\t}\n\n\t.flex-sm-nowrap {\n\t\tflex-wrap: nowrap !important;\n\t}\n\n\t.flex-sm-wrap-reverse {\n\t\tflex-wrap: wrap-reverse !important;\n\t}\n\n\t.justify-content-sm-start {\n\t\tjustify-content: flex-start !important;\n\t}\n\n\t.justify-content-sm-end {\n\t\tjustify-content: flex-end !important;\n\t}\n\n\t.justify-content-sm-center {\n\t\tjustify-content: center !important;\n\t}\n\n\t.justify-content-sm-between {\n\t\tjustify-content: space-between !important;\n\t}\n\n\t.justify-content-sm-around {\n\t\tjustify-content: space-around !important;\n\t}\n\n\t.justify-content-sm-evenly {\n\t\tjustify-content: space-evenly !important;\n\t}\n\n\t.align-items-sm-start {\n\t\talign-items: flex-start !important;\n\t}\n\n\t.align-items-sm-end {\n\t\talign-items: flex-end !important;\n\t}\n\n\t.align-items-sm-center {\n\t\talign-items: center !important;\n\t}\n\n\t.align-items-sm-baseline {\n\t\talign-items: baseline !important;\n\t}\n\n\t.align-items-sm-stretch {\n\t\talign-items: stretch !important;\n\t}\n\n\t.align-content-sm-start {\n\t\talign-content: flex-start !important;\n\t}\n\n\t.align-content-sm-end {\n\t\talign-content: flex-end !important;\n\t}\n\n\t.align-content-sm-center {\n\t\talign-content: center !important;\n\t}\n\n\t.align-content-sm-between {\n\t\talign-content: space-between !important;\n\t}\n\n\t.align-content-sm-around {\n\t\talign-content: space-around !important;\n\t}\n\n\t.align-content-sm-stretch {\n\t\talign-content: stretch !important;\n\t}\n\n\t.align-self-sm-auto {\n\t\talign-self: auto !important;\n\t}\n\n\t.align-self-sm-start {\n\t\talign-self: flex-start !important;\n\t}\n\n\t.align-self-sm-end {\n\t\talign-self: flex-end !important;\n\t}\n\n\t.align-self-sm-center {\n\t\talign-self: center !important;\n\t}\n\n\t.align-self-sm-baseline {\n\t\talign-self: baseline !important;\n\t}\n\n\t.align-self-sm-stretch {\n\t\talign-self: stretch !important;\n\t}\n\n\t.order-sm-first {\n\t\torder: -1 !important;\n\t}\n\n\t.order-sm-0 {\n\t\torder: 0 !important;\n\t}\n\n\t.order-sm-1 {\n\t\torder: 1 !important;\n\t}\n\n\t.order-sm-2 {\n\t\torder: 2 !important;\n\t}\n\n\t.order-sm-3 {\n\t\torder: 3 !important;\n\t}\n\n\t.order-sm-4 {\n\t\torder: 4 !important;\n\t}\n\n\t.order-sm-5 {\n\t\torder: 5 !important;\n\t}\n\n\t.order-sm-last {\n\t\torder: 6 !important;\n\t}\n}\n\n@media (min-width: 768px) {\n\t.flex-md-fill {\n\t\tflex: 1 1 auto !important;\n\t}\n\n\t.flex-md-row {\n\t\tflex-direction: row !important;\n\t}\n\n\t.flex-md-column {\n\t\tflex-direction: column !important;\n\t}\n\n\t.flex-md-row-reverse {\n\t\tflex-direction: row-reverse !important;\n\t}\n\n\t.flex-md-column-reverse {\n\t\tflex-direction: column-reverse !important;\n\t}\n\n\t.flex-md-grow-0 {\n\t\tflex-grow: 0 !important;\n\t}\n\n\t.flex-md-grow-1 {\n\t\tflex-grow: 1 !important;\n\t}\n\n\t.flex-md-shrink-0 {\n\t\tflex-shrink: 0 !important;\n\t}\n\n\t.flex-md-shrink-1 {\n\t\tflex-shrink: 1 !important;\n\t}\n\n\t.flex-md-wrap {\n\t\tflex-wrap: wrap !important;\n\t}\n\n\t.flex-md-nowrap {\n\t\tflex-wrap: nowrap !important;\n\t}\n\n\t.flex-md-wrap-reverse {\n\t\tflex-wrap: wrap-reverse !important;\n\t}\n\n\t.justify-content-md-start {\n\t\tjustify-content: flex-start !important;\n\t}\n\n\t.justify-content-md-end {\n\t\tjustify-content: flex-end !important;\n\t}\n\n\t.justify-content-md-center {\n\t\tjustify-content: center !important;\n\t}\n\n\t.justify-content-md-between {\n\t\tjustify-content: space-between !important;\n\t}\n\n\t.justify-content-md-around {\n\t\tjustify-content: space-around !important;\n\t}\n\n\t.justify-content-md-evenly {\n\t\tjustify-content: space-evenly !important;\n\t}\n\n\t.align-items-md-start {\n\t\talign-items: flex-start !important;\n\t}\n\n\t.align-items-md-end {\n\t\talign-items: flex-end !important;\n\t}\n\n\t.align-items-md-center {\n\t\talign-items: center !important;\n\t}\n\n\t.align-items-md-baseline {\n\t\talign-items: baseline !important;\n\t}\n\n\t.align-items-md-stretch {\n\t\talign-items: stretch !important;\n\t}\n\n\t.align-content-md-start {\n\t\talign-content: flex-start !important;\n\t}\n\n\t.align-content-md-end {\n\t\talign-content: flex-end !important;\n\t}\n\n\t.align-content-md-center {\n\t\talign-content: center !important;\n\t}\n\n\t.align-content-md-between {\n\t\talign-content: space-between !important;\n\t}\n\t\n\t.align-content-md-around {\n\t\talign-content: space-around !important;\n\t}\n\n\t.align-content-md-stretch {\n\t\talign-content: stretch !important;\n\t}\n\n\t.align-self-md-auto {\n\t\talign-self: auto !important;\n\t}\n\n\t.align-self-md-start {\n\t\talign-self: flex-start !important;\n\t}\n\n\t.align-self-md-end {\n\t\talign-self: flex-end !important;\n\t}\n\n\t.align-self-md-center {\n\t\talign-self: center !important;\n\t}\n\n\t.align-self-md-baseline {\n\t\talign-self: baseline !important;\n\t}\n\n\t.align-self-md-stretch {\n\t\talign-self: stretch !important;\n\t}\n\n\t.order-md-first {\n\t\torder: -1 !important;\n\t}\n\n\t.order-md-0 {\n\t\torder: 0 !important;\n\t}\n\n\t.order-md-1 {\n\t\torder: 1 !important;\n\t}\n\n\t.order-md-2 {\n\t\torder: 2 !important;\n\t}\n\n\t.order-md-3 {\n\t\torder: 3 !important;\n\t}\n\n\t.order-md-4 {\n\t\torder: 4 !important;\n\t}\n\n\t.order-md-5 {\n\t\torder: 5 !important;\n\t}\n\n\t.order-md-last {\n\t\torder: 6 !important;\n\t}\n}\n\n@media (min-width: 992px) {\n\t.flex-lg-fill {\n\t\tflex: 1 1 auto !important;\n\t}\n\n\t.flex-lg-row {\n\t\tflex-direction: row !important;\n\t}\n\n\t.flex-lg-column {\n\t\tflex-direction: column !important;\n\t}\n\n\t.flex-lg-row-reverse {\n\t\tflex-direction: row-reverse !important;\n\t}\n\n\t.flex-lg-column-reverse {\n\t\tflex-direction: column-reverse !important;\n\t}\n\n\t.flex-lg-grow-0 {\n\t\tflex-grow: 0 !important;\n\t}\n\n\t.flex-lg-grow-1 {\n\t\tflex-grow: 1 !important;\n\t}\n\n\t.flex-lg-shrink-0 {\n\t\tflex-shrink: 0 !important;\n\t}\n\n\t.flex-lg-shrink-1 {\n\t\tflex-shrink: 1 !important;\n\t}\n\n\t.flex-lg-wrap {\n\t\tflex-wrap: wrap !important;\n\t}\n\n\t.flex-lg-nowrap {\n\t\tflex-wrap: nowrap !important;\n\t}\n\n\t.flex-lg-wrap-reverse {\n\t\tflex-wrap: wrap-reverse !important;\n\t}\n\n\t.justify-content-lg-start {\n\t\tjustify-content: flex-start !important;\n\t}\n\n\t.justify-content-lg-end {\n\t\tjustify-content: flex-end !important;\n\t}\n\n\t.justify-content-lg-center {\n\t\tjustify-content: center !important;\n\t}\n\n\t.justify-content-lg-between {\n\t\tjustify-content: space-between !important;\n\t}\n\n\t.justify-content-lg-around {\n\t\tjustify-content: space-around !important;\n\t}\n\n\t.justify-content-lg-evenly {\n\t\tjustify-content: space-evenly !important;\n\t}\n\n\t.align-items-lg-start {\n\t\talign-items: flex-start !important;\n\t}\n\n\t.align-items-lg-end {\n\t\talign-items: flex-end !important;\n\t}\n\n\t.align-items-lg-center {\n\t\talign-items: center !important;\n\t}\n\n\t.align-items-lg-baseline {\n\t\talign-items: baseline !important;\n\t}\n\n\t.align-items-lg-stretch {\n\t\talign-items: stretch !important;\n\t}\n\n\t.align-content-lg-start {\n\t\talign-content: flex-start !important;\n\t}\n\n\t.align-content-lg-end {\n\t\talign-content: flex-end !important;\n\t}\n\n\t.align-content-lg-center {\n\t\talign-content: center !important;\n\t}\n\n\t.align-content-lg-between {\n\t\talign-content: space-between !important;\n\t}\n\t\n\t.align-content-lg-around {\n\t\talign-content: space-around !important;\n\t}\n\n\t.align-content-lg-stretch {\n\t\talign-content: stretch !important;\n\t}\n\n\t.align-self-lg-auto {\n\t\talign-self: auto !important;\n\t}\n\n\t.align-self-lg-start {\n\t\talign-self: flex-start !important;\n\t}\n\n\t.align-self-lg-end {\n\t\talign-self: flex-end !important;\n\t}\n\n\t.align-self-lg-center {\n\t\talign-self: center !important;\n\t}\n\n\t.align-self-lg-baseline {\n\t\talign-self: baseline !important;\n\t}\n\n\t.align-self-lg-stretch {\n\t\talign-self: stretch !important;\n\t}\n\n\t.order-lg-first {\n\t\torder: -1 !important;\n\t}\n\n\t.order-lg-0 {\n\t\torder: 0 !important;\n\t}\n\n\t.order-lg-1 {\n\t\torder: 1 !important;\n\t}\n\n\t.order-lg-2 {\n\t\torder: 2 !important;\n\t}\n\n\t.order-lg-3 {\n\t\torder: 3 !important;\n\t}\n\n\t.order-lg-4 {\n\t\torder: 4 !important;\n\t}\n\n\t.order-lg-5 {\n\t\torder: 5 !important;\n\t}\n\n\t.order-lg-last {\n\t\torder: 6 !important;\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.flex-xl-fill {\n\t\tflex: 1 1 auto !important;\n\t}\n\n\t.flex-xl-row {\n\t\tflex-direction: row !important;\n\t}\n\n\t.flex-xl-column {\n\t\tflex-direction: column !important;\n\t}\n\n\t.flex-xl-row-reverse {\n\t\tflex-direction: row-reverse !important;\n\t}\n\n\t.flex-xl-column-reverse {\n\t\tflex-direction: column-reverse !important;\n\t}\n\n\t.flex-xl-grow-0 {\n\t\tflex-grow: 0 !important;\n\t}\n\n\t.flex-xl-grow-1 {\n\t\tflex-grow: 1 !important;\n\t}\n\n\t.flex-xl-shrink-0 {\n\t\tflex-shrink: 0 !important;\n\t}\n\n\t.flex-xl-shrink-1 {\n\t\tflex-shrink: 1 !important;\n\t}\n\n\t.flex-xl-wrap {\n\t\tflex-wrap: wrap !important;\n\t}\n\n\t.flex-xl-nowrap {\n\t\tflex-wrap: nowrap !important;\n\t}\n\n\t.flex-xl-wrap-reverse {\n\t\tflex-wrap: wrap-reverse !important;\n\t}\n\n\t.justify-content-xl-start {\n\t\tjustify-content: flex-start !important;\n\t}\n\n\t.justify-content-xl-end {\n\t\tjustify-content: flex-end !important;\n\t}\n\n\t.justify-content-xl-center {\n\t\tjustify-content: center !important;\n\t}\n\n\t.justify-content-xl-between {\n\t\tjustify-content: space-between !important;\n\t}\n\n\t.justify-content-xl-around {\n\t\tjustify-content: space-around !important;\n\t}\n\n\t.justify-content-xl-evenly {\n\t\tjustify-content: space-evenly !important;\n\t}\n\n\t.align-items-xl-start {\n\t\talign-items: flex-start !important;\n\t}\n\n\t.align-items-xl-end {\n\t\talign-items: flex-end !important;\n\t}\n\n\t.align-items-xl-center {\n\t\talign-items: center !important;\n\t}\n\n\t.align-items-xl-baseline {\n\t\talign-items: baseline !important;\n\t}\n\n\t.align-items-xl-stretch {\n\t\talign-items: stretch !important;\n\t}\n\n\t.align-content-xl-start {\n\t\talign-content: flex-start !important;\n\t}\n\n\t.align-content-xl-end {\n\t\talign-content: flex-end !important;\n\t}\n\n\t.align-content-xl-center {\n\t\talign-content: center !important;\n\t}\n\n\t.align-content-xl-between {\n\t\talign-content: space-between !important;\n\t}\n\t\n\t.align-content-xl-around {\n\t\talign-content: space-around !important;\n\t}\n\n\t.align-content-xl-stretch {\n\t\talign-content: stretch !important;\n\t}\n\n\t.align-self-xl-auto {\n\t\talign-self: auto !important;\n\t}\n\n\t.align-self-xl-start {\n\t\talign-self: flex-start !important;\n\t}\n\n\t.align-self-xl-end {\n\t\talign-self: flex-end !important;\n\t}\n\n\t.align-self-xl-center {\n\t\talign-self: center !important;\n\t}\n\n\t.align-self-xl-baseline {\n\t\talign-self: baseline !important;\n\t}\n\n\t.align-self-xl-stretch {\n\t\talign-self: stretch !important;\n\t}\n\n\t.order-xl-first {\n\t\torder: -1 !important;\n\t}\n\n\t.order-xl-0 {\n\t\torder: 0 !important;\n\t}\n\n\t.order-xl-1 {\n\t\torder: 1 !important;\n\t}\n\n\t.order-xl-2 {\n\t\torder: 2 !important;\n\t}\n\n\t.order-xl-3 {\n\t\torder: 3 !important;\n\t}\n\n\t.order-xl-4 {\n\t\torder: 4 !important;\n\t}\n\n\t.order-xl-5 {\n\t\torder: 5 !important;\n\t}\n\n\t.order-xl-last {\n\t\torder: 6 !important;\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.flex-xxl-fill {\n\t\tflex: 1 1 auto !important;\n\t}\n\n\t.flex-xxl-row {\n\t\tflex-direction: row !important;\n\t}\n\n\t.flex-xxl-column {\n\t\tflex-direction: column !important;\n\t}\n\n\t.flex-xxl-row-reverse {\n\t\tflex-direction: row-reverse !important;\n\t}\n\n\t.flex-xxl-column-reverse {\n\t\tflex-direction: column-reverse !important;\n\t}\n\n\t.flex-xxl-grow-0 {\n\t\tflex-grow: 0 !important;\n\t}\n\n\t.flex-xxl-grow-1 {\n\t\tflex-grow: 1 !important;\n\t}\n\n\t.flex-xxl-shrink-0 {\n\t\tflex-shrink: 0 !important;\n\t}\n\n\t.flex-xxl-shrink-1 {\n\t\tflex-shrink: 1 !important;\n\t}\n\n\t.flex-xxl-wrap {\n\t\tflex-wrap: wrap !important;\n\t}\n\n\t.flex-xxl-nowrap {\n\t\tflex-wrap: nowrap !important;\n\t}\n\n\t.flex-xxl-wrap-reverse {\n\t\tflex-wrap: wrap-reverse !important;\n\t}\n\n\t.justify-content-xxl-start {\n\t\tjustify-content: flex-start !important;\n\t}\n\n\t.justify-content-xxl-end {\n\t\tjustify-content: flex-end !important;\n\t}\n\n\t.justify-content-xxl-center {\n\t\tjustify-content: center !important;\n\t}\n\n\t.justify-content-xxl-between {\n\t\tjustify-content: space-between !important;\n\t}\n\n\t.justify-content-xxl-around {\n\t\tjustify-content: space-around !important;\n\t}\n\n\t.justify-content-xxl-evenly {\n\t\tjustify-content: space-evenly !important;\n\t}\n\n\t.align-items-xxl-start {\n\t\talign-items: flex-start !important;\n\t}\n\n\t.align-items-xxl-end {\n\t\talign-items: flex-end !important;\n\t}\n\n\t.align-items-xxl-center {\n\t\talign-items: center !important;\n\t}\n\n\t.align-items-xxl-baseline {\n\t\talign-items: baseline !important;\n\t}\n\n\t.align-items-xxl-stretch {\n\t\talign-items: stretch !important;\n\t}\n\n\t.align-content-xxl-start {\n\t\talign-content: flex-start !important;\n\t}\n\n\t.align-content-xxl-end {\n\t\talign-content: flex-end !important;\n\t}\n\n\t.align-content-xxl-center {\n\t\talign-content: center !important;\n\t}\n\n\t.align-content-xxl-between {\n\t\talign-content: space-between !important;\n\t}\n\t\n\t.align-content-xxl-around {\n\t\talign-content: space-around !important;\n\t}\n\n\t.align-content-xxl-stretch {\n\t\talign-content: stretch !important;\n\t}\n\n\t.align-self-xxl-auto {\n\t\talign-self: auto !important;\n\t}\n\n\t.align-self-xxl-start {\n\t\talign-self: flex-start !important;\n\t}\n\n\t.align-self-xxl-end {\n\t\talign-self: flex-end !important;\n\t}\n\n\t.align-self-xxl-center {\n\t\talign-self: center !important;\n\t}\n\n\t.align-self-xxl-baseline {\n\t\talign-self: baseline !important;\n\t}\n\n\t.align-self-xxl-stretch {\n\t\talign-self: stretch !important;\n\t}\n\n\t.order-xxl-first {\n\t\torder: -1 !important;\n\t}\n\n\t.order-xxl-0 {\n\t\torder: 0 !important;\n\t}\n\n\t.order-xxl-1 {\n\t\torder: 1 !important;\n\t}\n\n\t.order-xxl-2 {\n\t\torder: 2 !important;\n\t}\n\n\t.order-xxl-3 {\n\t\torder: 3 !important;\n\t}\n\n\t.order-xxl-4 {\n\t\torder: 4 !important;\n\t}\n\n\t.order-xxl-5 {\n\t\torder: 5 !important;\n\t}\n\n\t.order-xxl-last {\n\t\torder: 6 !important;\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Float utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.float-start {\n\tfloat: left !important;\n}\n\n.float-end {\n\tfloat: right !important;\n}\n\n.float-none {\n\tfloat: none !important;\n}\n\n@media (min-width: 576px) {\n\t.float-sm-start {\n\t\tfloat: left !important;\n\t}\n\n\t.float-sm-end {\n\t\tfloat: right !important;\n\t}\n\n\t.float-sm-none {\n\t\tfloat: none !important;\n\t}\n}\n\n@media (min-width: 768px) {\n\t.float-md-start {\n\t\tfloat: left !important;\n\t}\n\n\t.float-md-end {\n\t\tfloat: right !important;\n\t}\n\n\t.float-md-none {\n\t\tfloat: none !important;\n\t}\n}\n\n@media (min-width: 992px) {\n\t.float-lg-start {\n\t\tfloat: left !important;\n\t}\n\n\t.float-lg-end {\n\t\tfloat: right !important;\n\t}\n\n\t.float-lg-none {\n\t\tfloat: none !important;\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.float-xl-start {\n\t\tfloat: left !important;\n\t}\n\n\t.float-xl-end {\n\t\tfloat: right !important;\n\t}\n\n\t.float-xl-none {\n\t\tfloat: none !important;\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.float-xxl-start {\n\t\tfloat: left !important;\n\t}\n\n\t.float-xxl-end {\n\t\tfloat: right !important;\n\t}\n\t\n\t.float-xxl-none {\n\t\tfloat: none !important;\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Interaction utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.user-select-all {\n\t-webkit-user-select: all !important;\n\t-moz-user-select: all !important;\n\tuser-select: all !important;\n}\n\n.user-select-auto {\n\t-webkit-user-select: auto !important;\n\t-moz-user-select: auto !important;\n\tuser-select: auto !important;\n}\n\n.user-select-none {\n\t-webkit-user-select: none !important;\n\t-moz-user-select: none !important;\n\tuser-select: none !important;\n}\n\n.pe-none {\n\tpointer-events: none !important;\n}\n\n.pe-auto {\n\tpointer-events: auto !important;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Link utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.link-opacity-10 {\n\t--bs-link-opacity: 0.1;\n}\n\n.link-opacity-10-hover:hover {\n\t--bs-link-opacity: 0.1;\n}\n\n.link-opacity-25 {\n\t--bs-link-opacity: 0.25;\n}\n\n.link-opacity-25-hover:hover {\n\t--bs-link-opacity: 0.25;\n}\n\n.link-opacity-50 {\n\t--bs-link-opacity: 0.5;\n}\n\n.link-opacity-50-hover:hover {\n\t--bs-link-opacity: 0.5;\n}\n\n.link-opacity-75 {\n\t--bs-link-opacity: 0.75;\n}\n\n.link-opacity-75-hover:hover {\n\t--bs-link-opacity: 0.75;\n}\n\n.link-opacity-100 {\n\t--bs-link-opacity: 1;\n}\n\n.link-opacity-100-hover:hover {\n\t--bs-link-opacity: 1;\n}\n\n.link-offset-1 {\n\ttext-underline-offset: var(--bs-relative-font-size-6xs) !important;\n}\n\n.link-offset-1-hover:hover {\n\ttext-underline-offset: var(--bs-relative-font-size-6xs) !important;\n}\n\n.link-offset-2 {\n\ttext-underline-offset: var(--bs-relative-font-size-4xs) !important;\n}\n\n.link-offset-2-hover:hover {\n\ttext-underline-offset: var(--bs-relative-font-size-4xs) !important;\n}\n\n.link-offset-3 {\n\ttext-underline-offset: var(--bs-relative-font-size-3xs) !important;\n}\n\n.link-offset-3-hover:hover {\n\ttext-underline-offset: var(--bs-relative-font-size-3xs) !important;\n}\n\n.link-underline-primary {\n\t--bs-link-underline-opacity: 1;\n\t-webkit-text-decoration-color: hsla(var(--bs-primary-hsl), var(--bs-link-underline-opacity)) !important;\n\ttext-decoration-color: hsla(var(--bs-primary-hsl), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-secondary {\n\t--bs-link-underline-opacity: 1;\n\t-webkit-text-decoration-color: hsla(var(--bs-secondary-hsl), var(--bs-link-underline-opacity)) !important;\n\ttext-decoration-color: hsla(var(--bs-secondary-hsl), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-success {\n\t--bs-link-underline-opacity: 1;\n\t-webkit-text-decoration-color: hsla(var(--bs-success-hsl), var(--bs-link-underline-opacity)) !important;\n\ttext-decoration-color: hsla(var(--bs-success-hsl), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-info {\n\t--bs-link-underline-opacity: 1;\n\t-webkit-text-decoration-color: hsla(var(--bs-info-hsl), var(--bs-link-underline-opacity)) !important;\n\ttext-decoration-color: hsla(var(--bs-info-hsl), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-warning {\n\t--bs-link-underline-opacity: 1;\n\t-webkit-text-decoration-color: hsla(var(--bs-warning-hsl), var(--bs-link-underline-opacity)) !important;\n\ttext-decoration-color: hsla(var(--bs-warning-hsl), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-danger {\n\t--bs-link-underline-opacity: 1;\n\t-webkit-text-decoration-color: hsla(var(--bs-danger-hsl), var(--bs-link-underline-opacity)) !important;\n\ttext-decoration-color: hsla(var(--bs-danger-hsl), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-light {\n\t--bs-link-underline-opacity: 1;\n\t-webkit-text-decoration-color: hsla(var(--bs-light-hsl), var(--bs-link-underline-opacity)) !important;\n\ttext-decoration-color: hsla(var(--bs-light-hsl), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-dark {\n\t--bs-link-underline-opacity: 1;\n\t-webkit-text-decoration-color: hsla(var(--bs-dark-hsl), var(--bs-link-underline-opacity)) !important;\n\ttext-decoration-color: hsla(var(--bs-dark-hsl), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline {\n\t--bs-link-underline-opacity: 1;\n\t-webkit-text-decoration-color: hsla(var(--bs-link-color-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-link-color-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-underline-opacity-0 {\n\t--bs-link-underline-opacity: 0;\n}\n\n.link-underline-opacity-0-hover:hover {\n\t--bs-link-underline-opacity: 0;\n}\n\n.link-underline-opacity-10 {\n\t--bs-link-underline-opacity: 0.1;\n}\n\n.link-underline-opacity-10-hover:hover {\n\t--bs-link-underline-opacity: 0.1;\n}\n\n.link-underline-opacity-25 {\n\t--bs-link-underline-opacity: 0.25;\n}\n\n.link-underline-opacity-25-hover:hover {\n\t--bs-link-underline-opacity: 0.25;\n}\n\n.link-underline-opacity-50 {\n\t--bs-link-underline-opacity: 0.5;\n}\n\n.link-underline-opacity-50-hover:hover {\n\t--bs-link-underline-opacity: 0.5;\n}\n\n.link-underline-opacity-75 {\n\t--bs-link-underline-opacity: 0.75;\n}\n\n.link-underline-opacity-75-hover:hover {\n\t--bs-link-underline-opacity: 0.75;\n}\n\n.link-underline-opacity-100 {\n\t--bs-link-underline-opacity: 1;\n}\n\n.link-underline-opacity-100-hover:hover {\n\t--bs-link-underline-opacity: 1;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Object fit utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.object-fit-contain {\n\tobject-fit: contain !important;\n}\n\n.object-fit-cover {\n\tobject-fit: cover !important;\n}\n\n.object-fit-fill {\n\tobject-fit: fill !important;\n}\n\n.object-fit-scale {\n\tobject-fit: scale-down !important;\n}\n\n.object-fit-none {\n\tobject-fit: none !important;\n}\n\n\n@media (min-width: 576px) {\n\t.object-fit-sm-contain {\n\t\tobject-fit: contain !important;\n\t}\n\n\t.object-fit-sm-cover {\n\t\tobject-fit: cover !important;\n\t}\n\n\t.object-fit-sm-fill {\n\t\tobject-fit: fill !important;\n\t}\n\n\t.object-fit-sm-scale {\n\t\tobject-fit: scale-down !important;\n\t}\n\n\t.object-fit-sm-none {\n\t\tobject-fit: none !important;\n\t}\n}\n\n@media (min-width: 768px) {\n\t.object-fit-md-contain {\n\t\tobject-fit: contain !important;\n\t}\n\n\t.object-fit-md-cover {\n\t\tobject-fit: cover !important;\n\t}\n\n\t.object-fit-md-fill {\n\t\tobject-fit: fill !important;\n\t}\n\n\t.object-fit-md-scale {\n\t\tobject-fit: scale-down !important;\n\t}\n\n\t.object-fit-md-none {\n\t\tobject-fit: none !important;\n\t}\n}\n\n@media (min-width: 992px) {\n\t.object-fit-lg-contain {\n\t\tobject-fit: contain !important;\n\t}\n\n\t.object-fit-lg-cover {\n\t\tobject-fit: cover !important;\n\t}\n\n\t.object-fit-lg-fill {\n\t\tobject-fit: fill !important;\n\t}\n\n\t.object-fit-lg-scale {\n\t\tobject-fit: scale-down !important;\n\t}\n\n\t.object-fit-lg-none {\n\t\tobject-fit: none !important;\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.object-fit-xl-contain {\n\t\tobject-fit: contain !important;\n\t}\n\n\t.object-fit-xl-cover {\n\t\tobject-fit: cover !important;\n\t}\n\n\t.object-fit-xl-fill {\n\t\tobject-fit: fill !important;\n\t}\n\n\t.object-fit-xl-scale {\n\t\tobject-fit: scale-down !important;\n\t}\n\n\t.object-fit-xl-none {\n\t\tobject-fit: none !important;\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.object-fit-xxl-contain {\n\t\tobject-fit: contain !important;\n\t}\n\n\t.object-fit-xxl-cover {\n\t\tobject-fit: cover !important;\n\t}\n\n\t.object-fit-xxl-fill {\n\t\tobject-fit: fill !important;\n\t}\n\n\t.object-fit-xxl-scale {\n\t\tobject-fit: scale-down !important;\n\t}\n\n\t.object-fit-xxl-none {\n\t\tobject-fit: none !important;\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Opacity utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.opacity-0 {\n\topacity: 0 !important;\n}\n\n.opacity-25 {\n\topacity: 0.25 !important;\n}\n\n.opacity-50 {\n\topacity: 0.5 !important;\n}\n\n.opacity-75 {\n\topacity: 0.75 !important;\n}\n\n.opacity-100 {\n\topacity: 1 !important;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Overflow utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.overflow-auto {\n\toverflow: auto !important;\n}\n\n.overflow-hidden {\n\toverflow: hidden !important;\n}\n\n.overflow-visible {\n\toverflow: visible !important;\n}\n\n.overflow-scroll {\n\toverflow: scroll !important;\n}\n\n.overflow-x-auto {\n\toverflow-x: auto !important;\n}\n\n.overflow-x-hidden {\n\toverflow-x: hidden !important;\n}\n\n.overflow-x-visible {\n\toverflow-x: visible !important;\n}\n\n.overflow-x-scroll {\n\toverflow-x: scroll !important;\n}\n\n.overflow-y-auto {\n\toverflow-y: auto !important;\n}\n\n.overflow-y-hidden {\n\toverflow-y: hidden !important;\n}\n\n.overflow-y-visible {\n\toverflow-y: visible !important;\n}\n\n.overflow-y-scroll {\n\toverflow-y: scroll !important;\n}\n\n@media (min-width: 576px) {\n\t.overflow-sm-auto {\n\t\toverflow: auto !important;\n\t}\n\n\t.overflow-sm-hidden {\n\t\toverflow: hidden !important;\n\t}\n\n\t.overflow-sm-visible {\n\t\toverflow: visible !important;\n\t}\n\n\t.overflow-sm-scroll {\n\t\toverflow: scroll !important;\n\t}\n\n\t.overflow-x-sm-auto {\n\t\toverflow-x: auto !important;\n\t}\n\n\t.overflow-x-sm-hidden {\n\t\toverflow-x: hidden !important;\n\t}\n\n\t.overflow-x-sm-visible {\n\t\toverflow-x: visible !important;\n\t}\n\n\t.overflow-x-sm-scroll {\n\t\toverflow-x: scroll !important;\n\t}\n\n\t.overflow-y-sm-auto {\n\t\toverflow-y: auto !important;\n\t}\n\n\t.overflow-y-sm-hidden {\n\t\toverflow-y: hidden !important;\n\t}\n\n\t.overflow-y-sm-visible {\n\t\toverflow-y: visible !important;\n\t}\n\n\t.overflow-y-sm-scroll {\n\t\toverflow-y: scroll !important;\n\t}\n}\n\n@media (min-width: 768px) {\n\t.overflow-md-auto {\n\t\toverflow: auto !important;\n\t}\n\n\t.overflow-md-hidden {\n\t\toverflow: hidden !important;\n\t}\n\n\t.overflow-md-visible {\n\t\toverflow: visible !important;\n\t}\n\n\t.overflow-md-scroll {\n\t\toverflow: scroll !important;\n\t}\n\n\t.overflow-x-md-auto {\n\t\toverflow-x: auto !important;\n\t}\n\n\t.overflow-x-md-hidden {\n\t\toverflow-x: hidden !important;\n\t}\n\n\t.overflow-x-md-visible {\n\t\toverflow-x: visible !important;\n\t}\n\n\t.overflow-x-md-scroll {\n\t\toverflow-x: scroll !important;\n\t}\n\n\t.overflow-y-md-auto {\n\t\toverflow-y: auto !important;\n\t}\n\n\t.overflow-y-md-hidden {\n\t\toverflow-y: hidden !important;\n\t}\n\n\t.overflow-y-md-visible {\n\t\toverflow-y: visible !important;\n\t}\n\n\t.overflow-y-md-scroll {\n\t\toverflow-y: scroll !important;\n\t}\n}\n\n@media (min-width: 992px) {\n\t.overflow-lg-auto {\n\t\toverflow: auto !important;\n\t}\n\n\t.overflow-lg-hidden {\n\t\toverflow: hidden !important;\n\t}\n\n\t.overflow-lg-visible {\n\t\toverflow: visible !important;\n\t}\n\n\t.overflow-lg-scroll {\n\t\toverflow: scroll !important;\n\t}\n\n\t.overflow-x-lg-auto {\n\t\toverflow-x: auto !important;\n\t}\n\n\t.overflow-x-lg-hidden {\n\t\toverflow-x: hidden !important;\n\t}\n\n\t.overflow-x-lg-visible {\n\t\toverflow-x: visible !important;\n\t}\n\n\t.overflow-x-lg-scroll {\n\t\toverflow-x: scroll !important;\n\t}\n\n\t.overflow-y-lg-auto {\n\t\toverflow-y: auto !important;\n\t}\n\n\t.overflow-y-lg-hidden {\n\t\toverflow-y: hidden !important;\n\t}\n\n\t.overflow-y-lg-visible {\n\t\toverflow-y: visible !important;\n\t}\n\n\t.overflow-y-lg-scroll {\n\t\toverflow-y: scroll !important;\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.overflow-xl-auto {\n\t\toverflow: auto !important;\n\t}\n\n\t.overflow-xl-hidden {\n\t\toverflow: hidden !important;\n\t}\n\n\t.overflow-xl-visible {\n\t\toverflow: visible !important;\n\t}\n\n\t.overflow-xl-scroll {\n\t\toverflow: scroll !important;\n\t}\n\n\t.overflow-x-xl-auto {\n\t\toverflow-x: auto !important;\n\t}\n\n\t.overflow-x-xl-hidden {\n\t\toverflow-x: hidden !important;\n\t}\n\n\t.overflow-x-xl-visible {\n\t\toverflow-x: visible !important;\n\t}\n\n\t.overflow-x-xl-scroll {\n\t\toverflow-x: scroll !important;\n\t}\n\n\t.overflow-y-xl-auto {\n\t\toverflow-y: auto !important;\n\t}\n\n\t.overflow-y-xl-hidden {\n\t\toverflow-y: hidden !important;\n\t}\n\n\t.overflow-y-xl-visible {\n\t\toverflow-y: visible !important;\n\t}\n\n\t.overflow-y-xl-scroll {\n\t\toverflow-y: scroll !important;\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.overflow-xxl-auto {\n\t\toverflow: auto !important;\n\t}\n\n\t.overflow-xxl-hidden {\n\t\toverflow: hidden !important;\n\t}\n\n\t.overflow-xxl-visible {\n\t\toverflow: visible !important;\n\t}\n\n\t.overflow-xxl-scroll {\n\t\toverflow: scroll !important;\n\t}\n\n\t.overflow-x-xxl-auto {\n\t\toverflow-x: auto !important;\n\t}\n\n\t.overflow-x-xxl-hidden {\n\t\toverflow-x: hidden !important;\n\t}\n\n\t.overflow-x-xxl-visible {\n\t\toverflow-x: visible !important;\n\t}\n\n\t.overflow-x-xxl-scroll {\n\t\toverflow-x: scroll !important;\n\t}\n\n\t.overflow-y-xxl-auto {\n\t\toverflow-y: auto !important;\n\t}\n\n\t.overflow-y-xxl-hidden {\n\t\toverflow-y: hidden !important;\n\t}\n\n\t.overflow-y-xxl-visible {\n\t\toverflow-y: visible !important;\n\t}\n\n\t.overflow-y-xxl-scroll {\n\t\toverflow-y: scroll !important;\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Position utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.position-static {\n\tposition: static !important;\n}\n\n.position-relative {\n\tposition: relative !important;\n}\n\n.position-absolute {\n\tposition: absolute !important;\n}\n\n.position-fixed {\n\tposition: fixed !important;\n}\n\n.position-sticky {\n\tposition: -webkit-sticky !important;\n\tposition: sticky !important;\n}\n\n.top-0 {\n\ttop: 0 !important;\n}\n\n.top-50 {\n\ttop: 50% !important;\n}\n\n.top-100 {\n\ttop: 100% !important;\n}\n\n.bottom-0 {\n\tbottom: 0 !important;\n}\n\n.bottom-50 {\n\tbottom: 50% !important;\n}\n\n.bottom-100 {\n\tbottom: 100% !important;\n}\n\n.start-0 {\n\tleft: 0 !important;\n}\n\n.start-50 {\n\tleft: 50% !important;\n}\n\n.start-100 {\n\tleft: 100% !important;\n}\n\n.end-0 {\n\tright: 0 !important;\n}\n\n.end-50 {\n\tright: 50% !important;\n}\n\n.end-100 {\n\tright: 100% !important;\n}\n\n.translate-middle {\n\ttransform: translate(-50%, -50%) !important;\n}\n\n.translate-middle-x {\n\ttransform: translateX(-50%) !important;\n}\n\n.translate-middle-y {\n\ttransform: translateY(-50%) !important;\n}\n\n@media (min-width: 576px) {\n\t.position-sm-static {\n\t\tposition: static !important;\n\t}\n\n\t.position-sm-relative {\n\t\tposition: relative !important;\n\t}\n\n\t.position-sm-absolute {\n\t\tposition: absolute !important;\n\t}\n\n\t.position-sm-fixed {\n\t\tposition: fixed !important;\n\t}\n\n\t.position-sm-sticky {\n\t\tposition: -webkit-sticky !important;\n\t\tposition: sticky !important;\n\t}\n\n\t.top-sm-0 {\n\t\ttop: 0 !important;\n\t}\n\n\t.top-sm-50 {\n\t\ttop: 50% !important;\n\t}\n\n\t.top-sm-100 {\n\t\ttop: 100% !important;\n\t}\n\n\t.bottom-sm-0 {\n\t\tbottom: 0 !important;\n\t}\n\n\t.bottom-sm-50 {\n\t\tbottom: 50% !important;\n\t}\n\n\t.bottom-sm-100 {\n\t\tbottom: 100% !important;\n\t}\n\n\t.start-sm-0 {\n\t\tleft: 0 !important;\n\t}\n\n\t.start-sm-50 {\n\t\tleft: 50% !important;\n\t}\n\n\t.start-sm-100 {\n\t\tleft: 100% !important;\n\t}\n\n\t.end-sm-0 {\n\t\tright: 0 !important;\n\t}\n\n\t.end-sm-50 {\n\t\tright: 50% !important;\n\t}\n\n\t.end-sm-100 {\n\t\tright: 100% !important;\n\t}\n\n\t.translate-middle-sm {\n\t\ttransform: translate(-50%, -50%) !important;\n\t}\n\n\t.translate-middle-sm-x {\n\t\ttransform: translateX(-50%) !important;\n\t}\n\n\t.translate-middle-sm-y {\n\t\ttransform: translateY(-50%) !important;\n\t}\n}\n\n@media (min-width: 768px) {\n\t.position-md-static {\n\t\tposition: static !important;\n\t}\n\n\t.position-md-relative {\n\t\tposition: relative !important;\n\t}\n\n\t.position-md-absolute {\n\t\tposition: absolute !important;\n\t}\n\n\t.position-md-fixed {\n\t\tposition: fixed !important;\n\t}\n\n\t.position-md-sticky {\n\t\tposition: -webkit-sticky !important;\n\t\tposition: sticky !important;\n\t}\n\n\t.top-md-0 {\n\t\ttop: 0 !important;\n\t}\n\n\t.top-md-50 {\n\t\ttop: 50% !important;\n\t}\n\n\t.top-md-100 {\n\t\ttop: 100% !important;\n\t}\n\n\t.bottom-md-0 {\n\t\tbottom: 0 !important;\n\t}\n\n\t.bottom-md-50 {\n\t\tbottom: 50% !important;\n\t}\n\n\t.bottom-md-100 {\n\t\tbottom: 100% !important;\n\t}\n\n\t.start-md-0 {\n\t\tleft: 0 !important;\n\t}\n\n\t.start-md-50 {\n\t\tleft: 50% !important;\n\t}\n\n\t.start-md-100 {\n\t\tleft: 100% !important;\n\t}\n\n\t.end-md-0 {\n\t\tright: 0 !important;\n\t}\n\n\t.end-md-50 {\n\t\tright: 50% !important;\n\t}\n\n\t.end-md-100 {\n\t\tright: 100% !important;\n\t}\n\n\t.translate-middle-md {\n\t\ttransform: translate(-50%, -50%) !important;\n\t}\n\n\t.translate-middle-md-x {\n\t\ttransform: translateX(-50%) !important;\n\t}\n\n\t.translate-middle-md-y {\n\t\ttransform: translateY(-50%) !important;\n\t}\n}\n\n@media (min-width: 992px) {\n\t.position-lg-static {\n\t\tposition: static !important;\n\t}\n\n\t.position-lg-relative {\n\t\tposition: relative !important;\n\t}\n\n\t.position-lg-absolute {\n\t\tposition: absolute !important;\n\t}\n\n\t.position-lg-fixed {\n\t\tposition: fixed !important;\n\t}\n\n\t.position-lg-sticky {\n\t\tposition: -webkit-sticky !important;\n\t\tposition: sticky !important;\n\t}\n\n\t.top-lg-0 {\n\t\ttop: 0 !important;\n\t}\n\n\t.top-lg-50 {\n\t\ttop: 50% !important;\n\t}\n\n\t.top-lg-100 {\n\t\ttop: 100% !important;\n\t}\n\n\t.bottom-lg-0 {\n\t\tbottom: 0 !important;\n\t}\n\n\t.bottom-lg-50 {\n\t\tbottom: 50% !important;\n\t}\n\n\t.bottom-lg-100 {\n\t\tbottom: 100% !important;\n\t}\n\n\t.start-lg-0 {\n\t\tleft: 0 !important;\n\t}\n\n\t.start-lg-50 {\n\t\tleft: 50% !important;\n\t}\n\n\t.start-lg-100 {\n\t\tleft: 100% !important;\n\t}\n\n\t.end-lg-0 {\n\t\tright: 0 !important;\n\t}\n\n\t.end-lg-50 {\n\t\tright: 50% !important;\n\t}\n\n\t.end-lg-100 {\n\t\tright: 100% !important;\n\t}\n\n\t.translate-middle-lg {\n\t\ttransform: translate(-50%, -50%) !important;\n\t}\n\n\t.translate-middle-lg-x {\n\t\ttransform: translateX(-50%) !important;\n\t}\n\n\t.translate-middle-lg-y {\n\t\ttransform: translateY(-50%) !important;\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.position-xl-static {\n\t\tposition: static !important;\n\t}\n\n\t.position-xl-relative {\n\t\tposition: relative !important;\n\t}\n\n\t.position-xl-absolute {\n\t\tposition: absolute !important;\n\t}\n\n\t.position-xl-fixed {\n\t\tposition: fixed !important;\n\t}\n\n\t.position-xl-sticky {\n\t\tposition: -webkit-sticky !important;\n\t\tposition: sticky !important;\n\t}\n\n\t.top-xl-0 {\n\t\ttop: 0 !important;\n\t}\n\n\t.top-xl-50 {\n\t\ttop: 50% !important;\n\t}\n\n\t.top-xl-100 {\n\t\ttop: 100% !important;\n\t}\n\n\t.bottom-xl-0 {\n\t\tbottom: 0 !important;\n\t}\n\n\t.bottom-xl-50 {\n\t\tbottom: 50% !important;\n\t}\n\n\t.bottom-xl-100 {\n\t\tbottom: 100% !important;\n\t}\n\n\t.start-xl-0 {\n\t\tleft: 0 !important;\n\t}\n\n\t.start-xl-50 {\n\t\tleft: 50% !important;\n\t}\n\n\t.start-xl-100 {\n\t\tleft: 100% !important;\n\t}\n\n\t.end-xl-0 {\n\t\tright: 0 !important;\n\t}\n\n\t.end-xl-50 {\n\t\tright: 50% !important;\n\t}\n\n\t.end-xl-100 {\n\t\tright: 100% !important;\n\t}\n\n\t.translate-middle-xl {\n\t\ttransform: translate(-50%, -50%) !important;\n\t}\n\n\t.translate-middle-xl-x {\n\t\ttransform: translateX(-50%) !important;\n\t}\n\n\t.translate-middle-xl-y {\n\t\ttransform: translateY(-50%) !important;\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.position-xxl-static {\n\t\tposition: static !important;\n\t}\n\n\t.position-xxl-relative {\n\t\tposition: relative !important;\n\t}\n\n\t.position-xxl-absolute {\n\t\tposition: absolute !important;\n\t}\n\n\t.position-xxl-fixed {\n\t\tposition: fixed !important;\n\t}\n\n\t.position-xxl-sticky {\n\t\tposition: -webkit-sticky !important;\n\t\tposition: sticky !important;\n\t}\n\n\t.top-xxl-0 {\n\t\ttop: 0 !important;\n\t}\n\n\t.top-xxl-50 {\n\t\ttop: 50% !important;\n\t}\n\n\t.top-xxl-100 {\n\t\ttop: 100% !important;\n\t}\n\n\t.bottom-xxl-0 {\n\t\tbottom: 0 !important;\n\t}\n\n\t.bottom-xxl-50 {\n\t\tbottom: 50% !important;\n\t}\n\n\t.bottom-xxl-100 {\n\t\tbottom: 100% !important;\n\t}\n\n\t.start-xxl-0 {\n\t\tleft: 0 !important;\n\t}\n\n\t.start-xxl-50 {\n\t\tleft: 50% !important;\n\t}\n\n\t.start-xxl-100 {\n\t\tleft: 100% !important;\n\t}\n\n\t.end-xxl-0 {\n\t\tright: 0 !important;\n\t}\n\n\t.end-xxl-50 {\n\t\tright: 50% !important;\n\t}\n\n\t.end-xxl-100 {\n\t\tright: 100% !important;\n\t}\n\n\t.translate-middle-xxl {\n\t\ttransform: translate(-50%, -50%) !important;\n\t}\n\n\t.translate-middle-xxl-x {\n\t\ttransform: translateX(-50%) !important;\n\t}\n\n\t.translate-middle-xxl-y {\n\t\ttransform: translateY(-50%) !important;\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Sizing utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.specific-w-25 {\n\twidth: 1.5625rem !important;\n}\n\n.specific-w-50 {\n\twidth: 3.125rem !important;\n}\n\n.specific-w-75 {\n\twidth: 4.6875rem !important;\n}\n\n.specific-w-100 {\n\twidth: 6.25rem !important;\n}\n\n.specific-w-150 {\n\twidth: 9.375rem !important;\n}\n\n.specific-w-200 {\n\twidth: 12.5rem !important;\n}\n\n.specific-w-250 {\n\twidth: 15.625rem !important;\n}\n\n.specific-w-300 {\n\twidth: 18.75rem !important;\n}\n\n.specific-w-350 {\n\twidth: 21.875rem !important;\n}\n\n.specific-w-400 {\n\twidth: 25rem !important;\n}\n\n.specific-w-450 {\n\twidth: 28.125rem !important;\n}\n\n.specific-w-500 {\n\twidth: 31.25rem !important;\n}\n\n.specific-w-550 {\n\twidth: 34.375rem !important;\n}\n\n.specific-w-600 {\n\twidth: 37.5rem !important;\n}\n\n.w-auto {\n\twidth: auto !important;\n}\n\n.w-25 {\n\twidth: 25% !important;\n}\n\n.w-50 {\n\twidth: 50% !important;\n}\n\n.w-75 {\n\twidth: 75% !important;\n}\n\n.w-100 {\n\twidth: 100% !important;\n}\n\n.mw-100 {\n\tmax-width: 100% !important;\n}\n\n.vw-100 {\n\twidth: 100vw !important;\n}\n\n.min-vw-100 {\n\tmin-width: 100vw !important;\n}\n\n.specific-h-25 {\n\theight: 1.5625rem !important;\n}\n\n.specific-h-50 {\n\theight: 3.125rem !important;\n}\n\n.specific-h-75 {\n\theight: 4.6875rem !important;\n}\n\n.specific-h-100 {\n\theight: 6.25rem !important;\n}\n\n.specific-h-150 {\n\theight: 9.375rem !important;\n}\n\n.specific-h-200 {\n\theight: 12.5rem !important;\n}\n\n.specific-h-250 {\n\theight: 15.625rem !important;\n}\n\n.specific-h-300 {\n\theight: 18.75rem !important;\n}\n\n.specific-h-350 {\n\theight: 21.875rem !important;\n}\n\n.specific-h-400 {\n\theight: 25rem !important;\n}\n\n.specific-h-450 {\n\theight: 28.125rem !important;\n}\n\n.specific-h-500 {\n\theight: 31.25rem !important;\n}\n\n.specific-h-550 {\n\theight: 34.375rem !important;\n}\n\n.specific-h-600 {\n\theight: 37.5rem !important;\n}\n\n.h-auto {\n\theight: auto !important;\n}\n\n.h-25 {\n\theight: 25% !important;\n}\n\n.h-50 {\n\theight: 50% !important;\n}\n\n.h-75 {\n\theight: 75% !important;\n}\n\n.h-100 {\n\theight: 100% !important;\n}\n\n.mh-100 {\n\tmax-height: 100% !important;\n}\n\n.vh-100 {\n\theight: 100vh !important;\n}\n\n.min-vh-100 {\n\tmin-height: 100vh !important;\n}\n\n@media (min-width: 576px) {\n\t.specific-w-sm-25 {\n\t\twidth: 1.5625rem !important;\n\t}\n\n\t.specific-w-sm-50 {\n\t\twidth: 3.125rem !important;\n\t}\n\n\t.specific-w-sm-75 {\n\t\twidth: 4.6875rem !important;\n\t}\n\n\t.specific-w-sm-100 {\n\t\twidth: 6.25rem !important;\n\t}\n\n\t.specific-w-sm-150 {\n\t\twidth: 9.375rem !important;\n\t}\n\n\t.specific-w-sm-200 {\n\t\twidth: 12.5rem !important;\n\t}\n\n\t.specific-w-sm-250 {\n\t\twidth: 15.625rem !important;\n\t}\n\n\t.specific-w-sm-300 {\n\t\twidth: 18.75rem !important;\n\t}\n\n\t.specific-w-sm-350 {\n\t\twidth: 21.875rem !important;\n\t}\n\n\t.specific-w-sm-400 {\n\t\twidth: 25rem !important;\n\t}\n\n\t.specific-w-sm-450 {\n\t\twidth: 28.125rem !important;\n\t}\n\n\t.specific-w-sm-500 {\n\t\twidth: 31.25rem !important;\n\t}\n\n\t.specific-w-sm-550 {\n\t\twidth: 34.375rem !important;\n\t}\n\n\t.specific-w-sm-600 {\n\t\twidth: 37.5rem !important;\n\t}\n\n\t.w-sm-auto {\n\t\twidth: auto !important;\n\t}\n\n\t.w-sm-25 {\n\t\twidth: 25% !important;\n\t}\n\n\t.w-sm-50 {\n\t\twidth: 50% !important;\n\t}\n\n\t.w-sm-75 {\n\t\twidth: 75% !important;\n\t}\n\n\t.w-sm-100 {\n\t\twidth: 100% !important;\n\t}\n\n\t.mw-sm-100 {\n\t\tmax-width: 100% !important;\n\t}\n\n\t.vw-sm-100 {\n\t\twidth: 100vw !important;\n\t}\n\n\t.min-vw-sm-100 {\n\t\tmin-width: 100vw !important;\n\t}\n\n\t.specific-h-sm-25 {\n\t\theight: 1.5625rem !important;\n\t}\n\n\t.specific-h-sm-50 {\n\t\theight: 3.125rem !important;\n\t}\n\n\t.specific-h-sm-75 {\n\t\theight: 4.6875rem !important;\n\t}\n\n\t.specific-h-sm-100 {\n\t\theight: 6.25rem !important;\n\t}\n\n\t.specific-h-sm-150 {\n\t\theight: 9.375rem !important;\n\t}\n\n\t.specific-h-sm-200 {\n\t\theight: 12.5rem !important;\n\t}\n\n\t.specific-h-sm-250 {\n\t\theight: 15.625rem !important;\n\t}\n\n\t.specific-h-sm-300 {\n\t\theight: 18.75rem !important;\n\t}\n\n\t.specific-h-sm-350 {\n\t\theight: 21.875rem !important;\n\t}\n\n\t.specific-h-sm-400 {\n\t\theight: 25rem !important;\n\t}\n\n\t.specific-h-sm-450 {\n\t\theight: 28.125rem !important;\n\t}\n\n\t.specific-h-sm-500 {\n\t\theight: 31.25rem !important;\n\t}\n\n\t.specific-h-sm-550 {\n\t\theight: 34.375rem !important;\n\t}\n\n\t.specific-h-sm-600 {\n\t\theight: 37.5rem !important;\n\t}\n\n\t.h-sm-auto {\n\t\theight: auto !important;\n\t}\n\n\t.h-sm-25 {\n\t\theight: 25% !important;\n\t}\n\n\t.h-sm-50 {\n\t\theight: 50% !important;\n\t}\n\n\t.h-sm-75 {\n\t\theight: 75% !important;\n\t}\n\n\t.h-sm-100 {\n\t\theight: 100% !important;\n\t}\n\n\t.mh-sm-100 {\n\t\tmax-height: 100% !important;\n\t}\n\n\t.vh-sm-100 {\n\t\theight: 100vh !important;\n\t}\n\n\t.min-vh-sm-100 {\n\t\tmin-height: 100vh !important;\n\t}\n}\n\n@media (min-width: 768px) {\n\t.specific-w-md-25 {\n\t\twidth: 1.5625rem !important;\n\t}\n\n\t.specific-w-md-50 {\n\t\twidth: 3.125rem !important;\n\t}\n\n\t.specific-w-md-75 {\n\t\twidth: 4.6875rem !important;\n\t}\n\n\t.specific-w-md-100 {\n\t\twidth: 6.25rem !important;\n\t}\n\n\t.specific-w-md-150 {\n\t\twidth: 9.375rem !important;\n\t}\n\n\t.specific-w-md-200 {\n\t\twidth: 12.5rem !important;\n\t}\n\n\t.specific-w-md-250 {\n\t\twidth: 15.625rem !important;\n\t}\n\n\t.specific-w-md-300 {\n\t\twidth: 18.75rem !important;\n\t}\n\n\t.specific-w-md-350 {\n\t\twidth: 21.875rem !important;\n\t}\n\n\t.specific-w-md-400 {\n\t\twidth: 25rem !important;\n\t}\n\n\t.specific-w-md-450 {\n\t\twidth: 28.125rem !important;\n\t}\n\n\t.specific-w-md-500 {\n\t\twidth: 31.25rem !important;\n\t}\n\n\t.specific-w-md-550 {\n\t\twidth: 34.375rem !important;\n\t}\n\n\t.specific-w-md-600 {\n\t\twidth: 37.5rem !important;\n\t}\n\n\t.w-md-auto {\n\t\twidth: auto !important;\n\t}\n\n\t.w-md-25 {\n\t\twidth: 25% !important;\n\t}\n\n\t.w-md-50 {\n\t\twidth: 50% !important;\n\t}\n\n\t.w-md-75 {\n\t\twidth: 75% !important;\n\t}\n\n\t.w-md-100 {\n\t\twidth: 100% !important;\n\t}\n\n\t.mw-md-100 {\n\t\tmax-width: 100% !important;\n\t}\n\n\t.vw-md-100 {\n\t\twidth: 100vw !important;\n\t}\n\n\t.min-vw-md-100 {\n\t\tmin-width: 100vw !important;\n\t}\n\n\t.specific-h-md-25 {\n\t\theight: 1.5625rem !important;\n\t}\n\n\t.specific-h-md-50 {\n\t\theight: 3.125rem !important;\n\t}\n\n\t.specific-h-md-75 {\n\t\theight: 4.6875rem !important;\n\t}\n\n\t.specific-h-md-100 {\n\t\theight: 6.25rem !important;\n\t}\n\n\t.specific-h-md-150 {\n\t\theight: 9.375rem !important;\n\t}\n\n\t.specific-h-md-200 {\n\t\theight: 12.5rem !important;\n\t}\n\n\t.specific-h-md-250 {\n\t\theight: 15.625rem !important;\n\t}\n\n\t.specific-h-md-300 {\n\t\theight: 18.75rem !important;\n\t}\n\n\t.specific-h-md-350 {\n\t\theight: 21.875rem !important;\n\t}\n\n\t.specific-h-md-400 {\n\t\theight: 25rem !important;\n\t}\n\n\t.specific-h-md-450 {\n\t\theight: 28.125rem !important;\n\t}\n\n\t.specific-h-md-500 {\n\t\theight: 31.25rem !important;\n\t}\n\n\t.specific-h-md-550 {\n\t\theight: 34.375rem !important;\n\t}\n\n\t.specific-h-md-600 {\n\t\theight: 37.5rem !important;\n\t}\n\n\t.h-md-auto {\n\t\theight: auto !important;\n\t}\n\n\t.h-md-25 {\n\t\theight: 25% !important;\n\t}\n\n\t.h-md-50 {\n\t\theight: 50% !important;\n\t}\n\n\t.h-md-75 {\n\t\theight: 75% !important;\n\t}\n\n\t.h-md-100 {\n\t\theight: 100% !important;\n\t}\n\n\t.mh-md-100 {\n\t\tmax-height: 100% !important;\n\t}\n\n\t.vh-md-100 {\n\t\theight: 100vh !important;\n\t}\n\n\t.min-vh-md-100 {\n\t\tmin-height: 100vh !important;\n\t}\n}\n\n@media (min-width: 992px) {\n\t.specific-w-lg-25 {\n\t\twidth: 1.5625rem !important;\n\t}\n\n\t.specific-w-lg-50 {\n\t\twidth: 3.125rem !important;\n\t}\n\n\t.specific-w-lg-75 {\n\t\twidth: 4.6875rem !important;\n\t}\n\n\t.specific-w-lg-100 {\n\t\twidth: 6.25rem !important;\n\t}\n\n\t.specific-w-lg-150 {\n\t\twidth: 9.375rem !important;\n\t}\n\n\t.specific-w-lg-200 {\n\t\twidth: 12.5rem !important;\n\t}\n\n\t.specific-w-lg-250 {\n\t\twidth: 15.625rem !important;\n\t}\n\n\t.specific-w-lg-300 {\n\t\twidth: 18.75rem !important;\n\t}\n\n\t.specific-w-lg-350 {\n\t\twidth: 21.875rem !important;\n\t}\n\n\t.specific-w-lg-400 {\n\t\twidth: 25rem !important;\n\t}\n\n\t.specific-w-lg-450 {\n\t\twidth: 28.125rem !important;\n\t}\n\n\t.specific-w-lg-500 {\n\t\twidth: 31.25rem !important;\n\t}\n\n\t.specific-w-lg-550 {\n\t\twidth: 34.375rem !important;\n\t}\n\n\t.specific-w-lg-600 {\n\t\twidth: 37.5rem !important;\n\t}\n\n\t.w-lg-auto {\n\t\twidth: auto !important;\n\t}\n\n\t.w-lg-25 {\n\t\twidth: 25% !important;\n\t}\n\n\t.w-lg-50 {\n\t\twidth: 50% !important;\n\t}\n\n\t.w-lg-75 {\n\t\twidth: 75% !important;\n\t}\n\n\t.w-lg-100 {\n\t\twidth: 100% !important;\n\t}\n\n\t.mw-lg-100 {\n\t\tmax-width: 100% !important;\n\t}\n\n\t.vw-lg-100 {\n\t\twidth: 100vw !important;\n\t}\n\n\t.min-vw-lg-100 {\n\t\tmin-width: 100vw !important;\n\t}\n\n\t.specific-h-lg-25 {\n\t\theight: 1.5625rem !important;\n\t}\n\n\t.specific-h-lg-50 {\n\t\theight: 3.125rem !important;\n\t}\n\n\t.specific-h-lg-75 {\n\t\theight: 4.6875rem !important;\n\t}\n\n\t.specific-h-lg-100 {\n\t\theight: 6.25rem !important;\n\t}\n\n\t.specific-h-lg-150 {\n\t\theight: 9.375rem !important;\n\t}\n\n\t.specific-h-lg-200 {\n\t\theight: 12.5rem !important;\n\t}\n\n\t.specific-h-lg-250 {\n\t\theight: 15.625rem !important;\n\t}\n\n\t.specific-h-lg-300 {\n\t\theight: 18.75rem !important;\n\t}\n\n\t.specific-h-lg-350 {\n\t\theight: 21.875rem !important;\n\t}\n\n\t.specific-h-lg-400 {\n\t\theight: 25rem !important;\n\t}\n\n\t.specific-h-lg-450 {\n\t\theight: 28.125rem !important;\n\t}\n\n\t.specific-h-lg-500 {\n\t\theight: 31.25rem !important;\n\t}\n\n\t.specific-h-lg-550 {\n\t\theight: 34.375rem !important;\n\t}\n\n\t.specific-h-lg-600 {\n\t\theight: 37.5rem !important;\n\t}\n\n\t.h-lg-auto {\n\t\theight: auto !important;\n\t}\n\n\t.h-lg-25 {\n\t\theight: 25% !important;\n\t}\n\n\t.h-lg-50 {\n\t\theight: 50% !important;\n\t}\n\n\t.h-lg-75 {\n\t\theight: 75% !important;\n\t}\n\n\t.h-lg-100 {\n\t\theight: 100% !important;\n\t}\n\n\t.mh-lg-100 {\n\t\tmax-height: 100% !important;\n\t}\n\n\t.vh-lg-100 {\n\t\theight: 100vh !important;\n\t}\n\n\t.min-vh-lg-100 {\n\t\tmin-height: 100vh !important;\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.specific-w-xl-25 {\n\t\twidth: 1.5625rem !important;\n\t}\n\n\t.specific-w-xl-50 {\n\t\twidth: 3.125rem !important;\n\t}\n\n\t.specific-w-xl-75 {\n\t\twidth: 4.6875rem !important;\n\t}\n\n\t.specific-w-xl-100 {\n\t\twidth: 6.25rem !important;\n\t}\n\n\t.specific-w-xl-150 {\n\t\twidth: 9.375rem !important;\n\t}\n\n\t.specific-w-xl-200 {\n\t\twidth: 12.5rem !important;\n\t}\n\n\t.specific-w-xl-250 {\n\t\twidth: 15.625rem !important;\n\t}\n\n\t.specific-w-xl-300 {\n\t\twidth: 18.75rem !important;\n\t}\n\n\t.specific-w-xl-350 {\n\t\twidth: 21.875rem !important;\n\t}\n\n\t.specific-w-xl-400 {\n\t\twidth: 25rem !important;\n\t}\n\n\t.specific-w-xl-450 {\n\t\twidth: 28.125rem !important;\n\t}\n\n\t.specific-w-xl-500 {\n\t\twidth: 31.25rem !important;\n\t}\n\n\t.specific-w-xl-550 {\n\t\twidth: 34.375rem !important;\n\t}\n\n\t.specific-w-xl-600 {\n\t\twidth: 37.5rem !important;\n\t}\n\n\t.w-xl-auto {\n\t\twidth: auto !important;\n\t}\n\n\t.w-xl-25 {\n\t\twidth: 25% !important;\n\t}\n\n\t.w-xl-50 {\n\t\twidth: 50% !important;\n\t}\n\n\t.w-xl-75 {\n\t\twidth: 75% !important;\n\t}\n\n\t.w-xl-100 {\n\t\twidth: 100% !important;\n\t}\n\n\t.mw-xl-100 {\n\t\tmax-width: 100% !important;\n\t}\n\n\t.vw-xl-100 {\n\t\twidth: 100vw !important;\n\t}\n\n\t.min-vw-xl-100 {\n\t\tmin-width: 100vw !important;\n\t}\n\n\t.specific-h-xl-25 {\n\t\theight: 1.5625rem !important;\n\t}\n\n\t.specific-h-xl-50 {\n\t\theight: 3.125rem !important;\n\t}\n\n\t.specific-h-xl-75 {\n\t\theight: 4.6875rem !important;\n\t}\n\n\t.specific-h-xl-100 {\n\t\theight: 6.25rem !important;\n\t}\n\n\t.specific-h-xl-150 {\n\t\theight: 9.375rem !important;\n\t}\n\n\t.specific-h-xl-200 {\n\t\theight: 12.5rem !important;\n\t}\n\n\t.specific-h-xl-250 {\n\t\theight: 15.625rem !important;\n\t}\n\n\t.specific-h-xl-300 {\n\t\theight: 18.75rem !important;\n\t}\n\n\t.specific-h-xl-350 {\n\t\theight: 21.875rem !important;\n\t}\n\n\t.specific-h-xl-400 {\n\t\theight: 25rem !important;\n\t}\n\n\t.specific-h-xl-450 {\n\t\theight: 28.125rem !important;\n\t}\n\n\t.specific-h-xl-500 {\n\t\theight: 31.25rem !important;\n\t}\n\n\t.specific-h-xl-550 {\n\t\theight: 34.375rem !important;\n\t}\n\n\t.specific-h-xl-600 {\n\t\theight: 37.5rem !important;\n\t}\n\n\t.h-xl-auto {\n\t\theight: auto !important;\n\t}\n\n\t.h-xl-25 {\n\t\theight: 25% !important;\n\t}\n\n\t.h-xl-50 {\n\t\theight: 50% !important;\n\t}\n\n\t.h-xl-75 {\n\t\theight: 75% !important;\n\t}\n\n\t.h-xl-100 {\n\t\theight: 100% !important;\n\t}\n\n\t.mh-xl-100 {\n\t\tmax-height: 100% !important;\n\t}\n\n\t.vh-xl-100 {\n\t\theight: 100vh !important;\n\t}\n\n\t.min-vh-xl-100 {\n\t\tmin-height: 100vh !important;\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.specific-w-xxl-25 {\n\t\twidth: 1.5625rem !important;\n\t}\n\n\t.specific-w-xxl-50 {\n\t\twidth: 3.125rem !important;\n\t}\n\n\t.specific-w-xxl-75 {\n\t\twidth: 4.6875rem !important;\n\t}\n\n\t.specific-w-xxl-100 {\n\t\twidth: 6.25rem !important;\n\t}\n\n\t.specific-w-xxl-150 {\n\t\twidth: 9.375rem !important;\n\t}\n\n\t.specific-w-xxl-200 {\n\t\twidth: 12.5rem !important;\n\t}\n\n\t.specific-w-xxl-250 {\n\t\twidth: 15.625rem !important;\n\t}\n\n\t.specific-w-xxl-300 {\n\t\twidth: 18.75rem !important;\n\t}\n\n\t.specific-w-xxl-350 {\n\t\twidth: 21.875rem !important;\n\t}\n\n\t.specific-w-xxl-400 {\n\t\twidth: 25rem !important;\n\t}\n\n\t.specific-w-xxl-450 {\n\t\twidth: 28.125rem !important;\n\t}\n\n\t.specific-w-xxl-500 {\n\t\twidth: 31.25rem !important;\n\t}\n\n\t.specific-w-xxl-550 {\n\t\twidth: 34.375rem !important;\n\t}\n\n\t.specific-w-xxl-600 {\n\t\twidth: 37.5rem !important;\n\t}\n\n\t.w-xxl-auto {\n\t\twidth: auto !important;\n\t}\n\n\t.w-xxl-25 {\n\t\twidth: 25% !important;\n\t}\n\n\t.w-xxl-50 {\n\t\twidth: 50% !important;\n\t}\n\n\t.w-xxl-75 {\n\t\twidth: 75% !important;\n\t}\n\n\t.w-xxl-100 {\n\t\twidth: 100% !important;\n\t}\n\n\t.mw-xxl-100 {\n\t\tmax-width: 100% !important;\n\t}\n\n\t.vw-xxl-100 {\n\t\twidth: 100vw !important;\n\t}\n\n\t.min-vw-xxl-100 {\n\t\tmin-width: 100vw !important;\n\t}\n\n\t.specific-h-xxl-25 {\n\t\theight: 1.5625rem !important;\n\t}\n\n\t.specific-h-xxl-50 {\n\t\theight: 3.125rem !important;\n\t}\n\n\t.specific-h-xxl-75 {\n\t\theight: 4.6875rem !important;\n\t}\n\n\t.specific-h-xxl-100 {\n\t\theight: 6.25rem !important;\n\t}\n\n\t.specific-h-xxl-150 {\n\t\theight: 9.375rem !important;\n\t}\n\n\t.specific-h-xxl-200 {\n\t\theight: 12.5rem !important;\n\t}\n\n\t.specific-h-xxl-250 {\n\t\theight: 15.625rem !important;\n\t}\n\n\t.specific-h-xxl-300 {\n\t\theight: 18.75rem !important;\n\t}\n\n\t.specific-h-xxl-350 {\n\t\theight: 21.875rem !important;\n\t}\n\n\t.specific-h-xxl-400 {\n\t\theight: 25rem !important;\n\t}\n\n\t.specific-h-xxl-450 {\n\t\theight: 28.125rem !important;\n\t}\n\n\t.specific-h-xxl-500 {\n\t\theight: 31.25rem !important;\n\t}\n\n\t.specific-h-xxl-550 {\n\t\theight: 34.375rem !important;\n\t}\n\n\t.specific-h-xxl-600 {\n\t\theight: 37.5rem !important;\n\t}\n\n\t.h-xxl-auto {\n\t\theight: auto !important;\n\t}\n\n\t.h-xxl-25 {\n\t\theight: 25% !important;\n\t}\n\n\t.h-xxl-50 {\n\t\theight: 50% !important;\n\t}\n\n\t.h-xxl-75 {\n\t\theight: 75% !important;\n\t}\n\n\t.h-xxl-100 {\n\t\theight: 100% !important;\n\t}\n\n\t.mh-xxl-100 {\n\t\tmax-height: 100% !important;\n\t}\n\n\t.vh-xxl-100 {\n\t\theight: 100vh !important;\n\t}\n\n\t.min-vh-xxl-100 {\n\t\tmin-height: 100vh !important;\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Spacing utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.m-0 {\n\tmargin: 0 !important;\n}\n\n.m-1 {\n\tmargin: var(--bs-spacer-1) !important;\n}\n\n.m-2 {\n\tmargin: var(--bs-spacer-2) !important;\n}\n\n.m-3 {\n\tmargin: var(--bs-spacer-3) !important;\n}\n\n.m-4 {\n\tmargin: var(--bs-spacer-4) !important;\n}\n\n.m-5 {\n\tmargin: var(--bs-spacer-5) !important;\n}\n\n.m-auto {\n\tmargin: auto !important;\n}\n\n.m-n1 {\n\tmargin: calc(-1 * var(--bs-spacer-1)) !important;\n}\n\n.m-n2 {\n\tmargin: calc(-1 * var(--bs-spacer-2)) !important;\n}\n\n.m-n3 {\n\tmargin: calc(-1 * var(--bs-spacer-3)) !important;\n}\n\n.m-n4 {\n\tmargin: calc(-1 * var(--bs-spacer-4)) !important;\n}\n\n.m-n5 {\n\tmargin: calc(-1 * var(--bs-spacer-5)) !important;\n}\n\n.mx-0 {\n\tmargin-right: 0 !important;\n\tmargin-left: 0 !important;\n}\n\n.mx-1 {\n\tmargin-right: var(--bs-spacer-1) !important;\n\tmargin-left: var(--bs-spacer-1) !important;\n}\n\n.mx-2 {\n\tmargin-right: var(--bs-spacer-2) !important;\n\tmargin-left: var(--bs-spacer-2) !important;\n}\n\n.mx-3 {\n\tmargin-right: var(--bs-spacer-3) !important;\n\tmargin-left: var(--bs-spacer-3) !important;\n}\n\n.mx-4 {\n\tmargin-right: var(--bs-spacer-4) !important;\n\tmargin-left: var(--bs-spacer-4) !important;\n}\n\n.mx-5 {\n\tmargin-right: var(--bs-spacer-5) !important;\n\tmargin-left: var(--bs-spacer-5) !important;\n}\n\n.mx-auto {\n\tmargin-right: auto !important;\n\tmargin-left: auto !important;\n}\n\n.mx-n1 {\n\tmargin-right: calc(-1 * var(--bs-spacer-1)) !important;\n\tmargin-left: calc(-1 * var(--bs-spacer-1)) !important;\n}\n\n.mx-n2 {\n\tmargin-right: calc(-1 * var(--bs-spacer-2)) !important;\n\tmargin-left: calc(-1 * var(--bs-spacer-2)) !important;\n}\n\n.mx-n3 {\n\tmargin-right: calc(-1 * var(--bs-spacer-3)) !important;\n\tmargin-left: calc(-1 * var(--bs-spacer-3)) !important;\n}\n\n.mx-n4 {\n\tmargin-right: calc(-1 * var(--bs-spacer-4)) !important;\n\tmargin-left: calc(-1 * var(--bs-spacer-4)) !important;\n}\n\n.mx-n5 {\n\tmargin-right: calc(-1 * var(--bs-spacer-5)) !important;\n\tmargin-left: calc(-1 * var(--bs-spacer-5)) !important;\n}\n\n.my-0 {\n\tmargin-top: 0 !important;\n\tmargin-bottom: 0 !important;\n}\n\n.my-1 {\n\tmargin-top: var(--bs-spacer-1) !important;\n\tmargin-bottom: var(--bs-spacer-1) !important;\n}\n\n.my-2 {\n\tmargin-top: var(--bs-spacer-2) !important;\n\tmargin-bottom: var(--bs-spacer-2) !important;\n}\n\n.my-3 {\n\tmargin-top: var(--bs-spacer-3) !important;\n\tmargin-bottom: var(--bs-spacer-3) !important;\n}\n\n.my-4 {\n\tmargin-top: var(--bs-spacer-4) !important;\n\tmargin-bottom: var(--bs-spacer-4) !important;\n}\n\n.my-5 {\n\tmargin-top: var(--bs-spacer-5) !important;\n\tmargin-bottom: var(--bs-spacer-5) !important;\n}\n\n.my-auto {\n\tmargin-top: auto !important;\n\tmargin-bottom: auto !important;\n}\n\n.my-n1 {\n\tmargin-top: calc(-1 * var(--bs-spacer-1)) !important;\n\tmargin-bottom: calc(-1 * var(--bs-spacer-1)) !important;\n}\n\n.my-n2 {\n\tmargin-top: calc(-1 * var(--bs-spacer-2)) !important;\n\tmargin-bottom: calc(-1 * var(--bs-spacer-2)) !important;\n}\n\n.my-n3 {\n\tmargin-top: calc(-1 * var(--bs-spacer-3)) !important;\n\tmargin-bottom: calc(-1 * var(--bs-spacer-3)) !important;\n}\n\n.my-n4 {\n\tmargin-top: calc(-1 * var(--bs-spacer-4)) !important;\n\tmargin-bottom: calc(-1 * var(--bs-spacer-4)) !important;\n}\n\n.my-n5 {\n\tmargin-top: calc(-1 * var(--bs-spacer-5)) !important;\n\tmargin-bottom: calc(-1 * var(--bs-spacer-5)) !important;\n}\n\n.mt-0 {\n\tmargin-top: 0 !important;\n}\n\n.mt-1 {\n\tmargin-top: var(--bs-spacer-1) !important;\n}\n\n.mt-2 {\n\tmargin-top: var(--bs-spacer-2) !important;\n}\n\n.mt-3 {\n\tmargin-top: var(--bs-spacer-3) !important;\n}\n\n.mt-4 {\n\tmargin-top: var(--bs-spacer-4) !important;\n}\n\n.mt-5 {\n\tmargin-top: var(--bs-spacer-5) !important;\n}\n\n.mt-auto {\n\tmargin-top: auto !important;\n}\n\n.mt-n1 {\n\tmargin-top: calc(-1 * var(--bs-spacer-1)) !important;\n}\n\n.mt-n2 {\n\tmargin-top: calc(-1 * var(--bs-spacer-2)) !important;\n}\n\n.mt-n3 {\n\tmargin-top: calc(-1 * var(--bs-spacer-3)) !important;\n}\n\n.mt-n4 {\n\tmargin-top: calc(-1 * var(--bs-spacer-4)) !important;\n}\n\n.mt-n5 {\n\tmargin-top: calc(-1 * var(--bs-spacer-5)) !important;\n}\n\n.me-0 {\n\tmargin-right: 0 !important;\n}\n\n.me-1 {\n\tmargin-right: var(--bs-spacer-1) !important;\n}\n\n.me-2 {\n\tmargin-right: var(--bs-spacer-2) !important;\n}\n\n.me-3 {\n\tmargin-right: var(--bs-spacer-3) !important;\n}\n\n.me-4 {\n\tmargin-right: var(--bs-spacer-4) !important;\n}\n\n.me-5 {\n\tmargin-right: var(--bs-spacer-5) !important;\n}\n\n.me-auto {\n\tmargin-right: auto !important;\n}\n\n.me-n1 {\n\tmargin-right: calc(-1 * var(--bs-spacer-1)) !important;\n}\n\n.me-n2 {\n\tmargin-right: calc(-1 * var(--bs-spacer-2)) !important;\n}\n\n.me-n3 {\n\tmargin-right: calc(-1 * var(--bs-spacer-3)) !important;\n}\n\n.me-n4 {\n\tmargin-right: calc(-1 * var(--bs-spacer-4)) !important;\n}\n\n.me-n5 {\n\tmargin-right: calc(-1 * var(--bs-spacer-5)) !important;\n}\n\n.mb-0 {\n\tmargin-bottom: 0 !important;\n}\n\n.mb-1 {\n\tmargin-bottom: var(--bs-spacer-1) !important;\n}\n\n.mb-2 {\n\tmargin-bottom: var(--bs-spacer-2) !important;\n}\n\n.mb-3 {\n\tmargin-bottom: var(--bs-spacer-3) !important;\n}\n\n.mb-4 {\n\tmargin-bottom: var(--bs-spacer-4) !important;\n}\n\n.mb-5 {\n\tmargin-bottom: var(--bs-spacer-5) !important;\n}\n\n.mb-auto {\n\tmargin-bottom: auto !important;\n}\n\n.mb-n1 {\n\tmargin-bottom: calc(-1 * var(--bs-spacer-1)) !important;\n}\n\n.mb-n2 {\n\tmargin-bottom: calc(-1 * var(--bs-spacer-2)) !important;\n}\n\n.mb-n3 {\n\tmargin-bottom: calc(-1 * var(--bs-spacer-3)) !important;\n}\n\n.mb-n4 {\n\tmargin-bottom: calc(-1 * var(--bs-spacer-4)) !important;\n}\n\n.mb-n5 {\n\tmargin-bottom: calc(-1 * var(--bs-spacer-5)) !important;\n}\n\n.ms-0 {\n\tmargin-left: 0 !important;\n}\n\n.ms-1 {\n\tmargin-left: var(--bs-spacer-1) !important;\n}\n\n.ms-2 {\n\tmargin-left: var(--bs-spacer-2) !important;\n}\n\n.ms-3 {\n\tmargin-left: var(--bs-spacer-3) !important;\n}\n\n.ms-4 {\n\tmargin-left: var(--bs-spacer-4) !important;\n}\n\n.ms-5 {\n\tmargin-left: var(--bs-spacer-5) !important;\n}\n\n.ms-auto {\n\tmargin-left: auto !important;\n}\n\n.ms-n1 {\n\tmargin-left: calc(-1 * var(--bs-spacer-1)) !important;\n}\n\n.ms-n2 {\n\tmargin-left: calc(-1 * var(--bs-spacer-2)) !important;\n}\n\n.ms-n3 {\n\tmargin-left: calc(-1 * var(--bs-spacer-3)) !important;\n}\n\n.ms-n4 {\n\tmargin-left: calc(-1 * var(--bs-spacer-4)) !important;\n}\n\n.ms-n5 {\n\tmargin-left: calc(-1 * var(--bs-spacer-5)) !important;\n}\n\n.p-0 {\n\tpadding: 0 !important;\n}\n\n.p-1 {\n\tpadding: var(--bs-spacer-1) !important;\n}\n\n.p-2 {\n\tpadding: var(--bs-spacer-2) !important;\n}\n\n.p-3 {\n\tpadding: var(--bs-spacer-3) !important;\n}\n\n.p-4 {\n\tpadding: var(--bs-spacer-4) !important;\n}\n\n.p-5 {\n\tpadding: var(--bs-spacer-5) !important;\n}\n\n.px-0 {\n\tpadding-right: 0 !important;\n\tpadding-left: 0 !important;\n}\n\n.px-1 {\n\tpadding-right: var(--bs-spacer-1) !important;\n\tpadding-left: var(--bs-spacer-1) !important;\n}\n\n.px-2 {\n\tpadding-right: var(--bs-spacer-2) !important;\n\tpadding-left: var(--bs-spacer-2) !important;\n}\n\n.px-3 {\n\tpadding-right: var(--bs-spacer-3) !important;\n\tpadding-left: var(--bs-spacer-3) !important;\n}\n\n.px-4 {\n\tpadding-right: var(--bs-spacer-4) !important;\n\tpadding-left: var(--bs-spacer-4) !important;\n}\n\n.px-5 {\n\tpadding-right: var(--bs-spacer-5) !important;\n\tpadding-left: var(--bs-spacer-5) !important;\n}\n\n.py-0 {\n\tpadding-top: 0 !important;\n\tpadding-bottom: 0 !important;\n}\n\n.py-1 {\n\tpadding-top: var(--bs-spacer-1) !important;\n\tpadding-bottom: var(--bs-spacer-1) !important;\n}\n\n.py-2 {\n\tpadding-top: var(--bs-spacer-2) !important;\n\tpadding-bottom: var(--bs-spacer-2) !important;\n}\n\n.py-3 {\n\tpadding-top: var(--bs-spacer-3) !important;\n\tpadding-bottom: var(--bs-spacer-3) !important;\n}\n\n.py-4 {\n\tpadding-top: var(--bs-spacer-4) !important;\n\tpadding-bottom: var(--bs-spacer-4) !important;\n}\n\n.py-5 {\n\tpadding-top: var(--bs-spacer-5) !important;\n\tpadding-bottom: var(--bs-spacer-5) !important;\n}\n\n.pt-0 {\n\tpadding-top: 0 !important;\n}\n\n.pt-1 {\n\tpadding-top: var(--bs-spacer-1) !important;\n}\n\n.pt-2 {\n\tpadding-top: var(--bs-spacer-2) !important;\n}\n\n.pt-3 {\n\tpadding-top: var(--bs-spacer-3) !important;\n}\n\n.pt-4 {\n\tpadding-top: var(--bs-spacer-4) !important;\n}\n\n.pt-5 {\n\tpadding-top: var(--bs-spacer-5) !important;\n}\n\n.pe-0 {\n\tpadding-right: 0 !important;\n}\n\n.pe-1 {\n\tpadding-right: var(--bs-spacer-1) !important;\n}\n\n.pe-2 {\n\tpadding-right: var(--bs-spacer-2) !important;\n}\n\n.pe-3 {\n\tpadding-right: var(--bs-spacer-3) !important;\n}\n\n.pe-4 {\n\tpadding-right: var(--bs-spacer-4) !important;\n}\n\n.pe-5 {\n\tpadding-right: var(--bs-spacer-5) !important;\n}\n\n.pb-0 {\n\tpadding-bottom: 0 !important;\n}\n\n.pb-1 {\n\tpadding-bottom: var(--bs-spacer-1) !important;\n}\n\n.pb-2 {\n\tpadding-bottom: var(--bs-spacer-2) !important;\n}\n\n.pb-3 {\n\tpadding-bottom: var(--bs-spacer-3) !important;\n}\n\n.pb-4 {\n\tpadding-bottom: var(--bs-spacer-4) !important;\n}\n\n.pb-5 {\n\tpadding-bottom: var(--bs-spacer-5) !important;\n}\n\n.ps-0 {\n\tpadding-left: 0 !important;\n}\n\n.ps-1 {\n\tpadding-left: var(--bs-spacer-1) !important;\n}\n\n.ps-2 {\n\tpadding-left: var(--bs-spacer-2) !important;\n}\n\n.ps-3 {\n\tpadding-left: var(--bs-spacer-3) !important;\n}\n\n.ps-4 {\n\tpadding-left: var(--bs-spacer-4) !important;\n}\n\n.ps-5 {\n\tpadding-left: var(--bs-spacer-5) !important;\n}\n\n.gap-0 {\n\tgap: 0 !important;\n}\n\n.gap-1 {\n\tgap: var(--bs-spacer-1) !important;\n}\n\n.gap-2 {\n\tgap: var(--bs-spacer-2) !important;\n}\n\n.gap-3 {\n\tgap: var(--bs-spacer-3) !important;\n}\n\n.gap-4 {\n\tgap: var(--bs-spacer-4) !important;\n}\n\n.gap-5 {\n\tgap: var(--bs-spacer-5) !important;\n}\n\n.row-gap-0 {\n\tgap: 0 !important;\n}\n\n.row-gap-1 {\n\trow-gap: var(--bs-spacer-1) !important;\n}\n\n.row-gap-2 {\n\trow-gap: var(--bs-spacer-2) !important;\n}\n\n.row-gap-3 {\n\trow-gap: var(--bs-spacer-3) !important;\n}\n\n.row-gap-4 {\n\trow-gap: var(--bs-spacer-4) !important;\n}\n\n.row-gap-5 {\n\trow-gap: var(--bs-spacer-5) !important;\n}\n\n.column-gap-0 {\n\t-moz-column-gap: 0 !important;\n\tcolumn-gap: 0 !important;\n}\n\n.column-gap-1 {\n\t-moz-column-gap: var(--bs-spacer-1) !important;\n\tcolumn-gap: var(--bs-spacer-1) !important;\n}\n\n.column-gap-2 {\n\t-moz-column-gap: var(--bs-spacer-2) !important;\n\tcolumn-gap: var(--bs-spacer-2) !important;\n}\n\n.column-gap-3 {\n\t-moz-column-gap: var(--bs-spacer-3) !important;\n\tcolumn-gap: var(--bs-spacer-3) !important;\n}\n\n.column-gap-4 {\n\t-moz-column-gap: var(--bs-spacer-4) !important;\n\tcolumn-gap: var(--bs-spacer-4) !important;\n}\n\n.column-gap-5 {\n\t-moz-column-gap: var(--bs-spacer-5) !important;\n\tcolumn-gap: var(--bs-spacer-5) !important;\n}\n\n@media (min-width: 576px) {\n\t.m-sm-0 {\n\t\tmargin: 0 !important;\n\t}\n\t\n\t.m-sm-1 {\n\t\tmargin: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.m-sm-2 {\n\t\tmargin: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.m-sm-3 {\n\t\tmargin: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.m-sm-4 {\n\t\tmargin: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.m-sm-5 {\n\t\tmargin: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.m-sm-auto {\n\t\tmargin: auto !important;\n\t}\n\n\t.m-sm-n1 {\n\t\tmargin: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.m-sm-n2 {\n\t\tmargin: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.m-sm-n3 {\n\t\tmargin: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.m-sm-n4 {\n\t\tmargin: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.m-sm-n5 {\n\t\tmargin: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.mx-sm-0 {\n\t\tmargin-right: 0 !important;\n\t\tmargin-left: 0 !important;\n\t}\n\t\n\t.mx-sm-1 {\n\t\tmargin-right: var(--bs-spacer-1) !important;\n\t\tmargin-left: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.mx-sm-2 {\n\t\tmargin-right: var(--bs-spacer-2) !important;\n\t\tmargin-left: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.mx-sm-3 {\n\t\tmargin-right: var(--bs-spacer-3) !important;\n\t\tmargin-left: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.mx-sm-4 {\n\t\tmargin-right: var(--bs-spacer-4) !important;\n\t\tmargin-left: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.mx-sm-5 {\n\t\tmargin-right: var(--bs-spacer-5) !important;\n\t\tmargin-left: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.mx-sm-auto {\n\t\tmargin-right: auto !important;\n\t\tmargin-left: auto !important;\n\t}\n\n\t.mx-sm-n1 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-1)) !important;\n\t\tmargin-left: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.mx-sm-n2 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-2)) !important;\n\t\tmargin-left: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.mx-sm-n3 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-3)) !important;\n\t\tmargin-left: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.mx-sm-n4 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-4)) !important;\n\t\tmargin-left: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.mx-sm-n5 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-5)) !important;\n\t\tmargin-left: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.my-sm-0 {\n\t\tmargin-top: 0 !important;\n\t\tmargin-bottom: 0 !important;\n\t}\n\t\n\t.my-sm-1 {\n\t\tmargin-top: var(--bs-spacer-1) !important;\n\t\tmargin-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.my-sm-2 {\n\t\tmargin-top: var(--bs-spacer-2) !important;\n\t\tmargin-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.my-sm-3 {\n\t\tmargin-top: var(--bs-spacer-3) !important;\n\t\tmargin-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.my-sm-4 {\n\t\tmargin-top: var(--bs-spacer-4) !important;\n\t\tmargin-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.my-sm-5 {\n\t\tmargin-top: var(--bs-spacer-5) !important;\n\t\tmargin-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.my-sm-auto {\n\t\tmargin-top: auto !important;\n\t\tmargin-bottom: auto !important;\n\t}\n\n\t.my-sm-n1 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-1)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.my-sm-n2 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-2)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.my-sm-n3 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-3)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.my-sm-n4 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-4)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.my-sm-n5 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-5)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.mt-sm-0 {\n\t\tmargin-top: 0 !important;\n\t}\n\t\n\t.mt-sm-1 {\n\t\tmargin-top: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.mt-sm-2 {\n\t\tmargin-top: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.mt-sm-3 {\n\t\tmargin-top: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.mt-sm-4 {\n\t\tmargin-top: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.mt-sm-5 {\n\t\tmargin-top: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.mt-sm-auto {\n\t\tmargin-top: auto !important;\n\t}\n\n\t.mt-sm-n1 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.mt-sm-n2 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.mt-sm-n3 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.mt-sm-n4 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.mt-sm-n5 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.me-sm-0 {\n\t\tmargin-right: 0 !important;\n\t}\n\t\n\t.me-sm-1 {\n\t\tmargin-right: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.me-sm-2 {\n\t\tmargin-right: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.me-sm-3 {\n\t\tmargin-right: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.me-sm-4 {\n\t\tmargin-right: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.me-sm-5 {\n\t\tmargin-right: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.me-sm-auto {\n\t\tmargin-right: auto !important;\n\t}\n\n\t.me-sm-n1 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.me-sm-n2 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.me-sm-n3 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.me-sm-n4 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.me-sm-n5 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.mb-sm-0 {\n\t\tmargin-bottom: 0 !important;\n\t}\n\t\n\t.mb-sm-1 {\n\t\tmargin-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.mb-sm-2 {\n\t\tmargin-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.mb-sm-3 {\n\t\tmargin-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.mb-sm-4 {\n\t\tmargin-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.mb-sm-5 {\n\t\tmargin-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.mb-sm-auto {\n\t\tmargin-bottom: auto !important;\n\t}\n\n\t.mb-sm-n1 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.mb-sm-n2 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.mb-sm-n3 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.mb-sm-n4 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.mb-sm-n5 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.ms-sm-0 {\n\t\tmargin-left: 0 !important;\n\t}\n\t\n\t.ms-sm-1 {\n\t\tmargin-left: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.ms-sm-2 {\n\t\tmargin-left: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.ms-sm-3 {\n\t\tmargin-left: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.ms-sm-4 {\n\t\tmargin-left: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.ms-sm-5 {\n\t\tmargin-left: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.ms-sm-auto {\n\t\tmargin-left: auto !important;\n\t}\n\n\t.ms-sm-n1 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.ms-sm-n2 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.ms-sm-n3 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.ms-sm-n4 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.ms-sm-n5 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.p-sm-0 {\n\t\tpadding: 0 !important;\n\t}\n\t\n\t.p-sm-1 {\n\t\tpadding: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.p-sm-2 {\n\t\tpadding: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.p-sm-3 {\n\t\tpadding: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.p-sm-4 {\n\t\tpadding: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.p-sm-5 {\n\t\tpadding: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.px-sm-0 {\n\t\tpadding-right: 0 !important;\n\t\tpadding-left: 0 !important;\n\t}\n\t\n\t.px-sm-1 {\n\t\tpadding-right: var(--bs-spacer-1) !important;\n\t\tpadding-left: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.px-sm-2 {\n\t\tpadding-right: var(--bs-spacer-2) !important;\n\t\tpadding-left: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.px-sm-3 {\n\t\tpadding-right: var(--bs-spacer-3) !important;\n\t\tpadding-left: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.px-sm-4 {\n\t\tpadding-right: var(--bs-spacer-4) !important;\n\t\tpadding-left: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.px-sm-5 {\n\t\tpadding-right: var(--bs-spacer-5) !important;\n\t\tpadding-left: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.py-sm-0 {\n\t\tpadding-top: 0 !important;\n\t\tpadding-bottom: 0 !important;\n\t}\n\t\n\t.py-sm-1 {\n\t\tpadding-top: var(--bs-spacer-1) !important;\n\t\tpadding-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.py-sm-2 {\n\t\tpadding-top: var(--bs-spacer-2) !important;\n\t\tpadding-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.py-sm-3 {\n\t\tpadding-top: var(--bs-spacer-3) !important;\n\t\tpadding-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.py-sm-4 {\n\t\tpadding-top: var(--bs-spacer-4) !important;\n\t\tpadding-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.py-sm-5 {\n\t\tpadding-top: var(--bs-spacer-5) !important;\n\t\tpadding-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.pt-sm-0 {\n\t\tpadding-top: 0 !important;\n\t}\n\t\n\t.pt-sm-1 {\n\t\tpadding-top: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.pt-sm-2 {\n\t\tpadding-top: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.pt-sm-3 {\n\t\tpadding-top: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.pt-sm-4 {\n\t\tpadding-top: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.pt-sm-5 {\n\t\tpadding-top: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.pe-sm-0 {\n\t\tpadding-right: 0 !important;\n\t}\n\t\n\t.pe-sm-1 {\n\t\tpadding-right: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.pe-sm-2 {\n\t\tpadding-right: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.pe-sm-3 {\n\t\tpadding-right: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.pe-sm-4 {\n\t\tpadding-right: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.pe-sm-5 {\n\t\tpadding-right: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.pb-sm-0 {\n\t\tpadding-bottom: 0 !important;\n\t}\n\t\n\t.pb-sm-1 {\n\t\tpadding-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.pb-sm-2 {\n\t\tpadding-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.pb-sm-3 {\n\t\tpadding-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.pb-sm-4 {\n\t\tpadding-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.pb-sm-5 {\n\t\tpadding-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.ps-sm-0 {\n\t\tpadding-left: 0 !important;\n\t}\n\t\n\t.ps-sm-1 {\n\t\tpadding-left: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.ps-sm-2 {\n\t\tpadding-left: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.ps-sm-3 {\n\t\tpadding-left: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.ps-sm-4 {\n\t\tpadding-left: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.ps-sm-5 {\n\t\tpadding-left: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.gap-sm-0 {\n\t\tgap: 0 !important;\n\t}\n\t\n\t.gap-sm-1 {\n\t\tgap: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.gap-sm-2 {\n\t\tgap: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.gap-sm-3 {\n\t\tgap: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.gap-sm-4 {\n\t\tgap: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.gap-sm-5 {\n\t\tgap: var(--bs-spacer-5) !important;\n\t}\n\n\t.row-gap-sm-0 {\n\t\tgap: 0 !important;\n\t}\n\n\t.row-gap-sm-1 {\n\t\trow-gap: var(--bs-spacer-1) !important;\n\t}\n\n\t.row-gap-sm-2 {\n\t\trow-gap: var(--bs-spacer-2) !important;\n\t}\n\n\t.row-gap-sm-3 {\n\t\trow-gap: var(--bs-spacer-3) !important;\n\t}\n\n\t.row-gap-sm-4 {\n\t\trow-gap: var(--bs-spacer-4) !important;\n\t}\n\n\t.row-gap-sm-5 {\n\t\trow-gap: var(--bs-spacer-5) !important;\n\t}\n\n\t.column-gap-sm-0 {\n\t\t-moz-column-gap: 0 !important;\n\t\tcolumn-gap: 0 !important;\n\t}\n\n\t.column-gap-sm-1 {\n\t\t-moz-column-gap: var(--bs-spacer-1) !important;\n\t\tcolumn-gap: var(--bs-spacer-1) !important;\n\t}\n\n\t.column-gap-sm-2 {\n\t\t-moz-column-gap: var(--bs-spacer-2) !important;\n\t\tcolumn-gap: var(--bs-spacer-2) !important;\n\t}\n\n\t.column-gap-sm-3 {\n\t\t-moz-column-gap: var(--bs-spacer-3) !important;\n\t\tcolumn-gap: var(--bs-spacer-3) !important;\n\t}\n\n\t.column-gap-sm-4 {\n\t\t-moz-column-gap: var(--bs-spacer-4) !important;\n\t\tcolumn-gap: var(--bs-spacer-4) !important;\n\t}\n\n\t.column-gap-sm-5 {\n\t\t-moz-column-gap: var(--bs-spacer-5) !important;\n\t\tcolumn-gap: var(--bs-spacer-5) !important;\n\t}\n}\n\n@media (min-width: 768px) {\n\t.m-md-0 {\n\t\tmargin: 0 !important;\n\t}\n\t\n\t.m-md-1 {\n\t\tmargin: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.m-md-2 {\n\t\tmargin: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.m-md-3 {\n\t\tmargin: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.m-md-4 {\n\t\tmargin: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.m-md-5 {\n\t\tmargin: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.m-md-auto {\n\t\tmargin: auto !important;\n\t}\n\n\t.m-md-n1 {\n\t\tmargin: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.m-md-n2 {\n\t\tmargin: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.m-md-n3 {\n\t\tmargin: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.m-md-n4 {\n\t\tmargin: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.m-md-n5 {\n\t\tmargin: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.mx-md-0 {\n\t\tmargin-right: 0 !important;\n\t\tmargin-left: 0 !important;\n\t}\n\t\n\t.mx-md-1 {\n\t\tmargin-right: var(--bs-spacer-1) !important;\n\t\tmargin-left: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.mx-md-2 {\n\t\tmargin-right: var(--bs-spacer-2) !important;\n\t\tmargin-left: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.mx-md-3 {\n\t\tmargin-right: var(--bs-spacer-3) !important;\n\t\tmargin-left: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.mx-md-4 {\n\t\tmargin-right: var(--bs-spacer-4) !important;\n\t\tmargin-left: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.mx-md-5 {\n\t\tmargin-right: var(--bs-spacer-5) !important;\n\t\tmargin-left: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.mx-md-auto {\n\t\tmargin-right: auto !important;\n\t\tmargin-left: auto !important;\n\t}\n\n\t.mx-md-n1 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-1)) !important;\n\t\tmargin-left: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.mx-md-n2 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-2)) !important;\n\t\tmargin-left: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.mx-md-n3 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-3)) !important;\n\t\tmargin-left: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.mx-md-n4 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-4)) !important;\n\t\tmargin-left: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.mx-md-n5 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-5)) !important;\n\t\tmargin-left: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.my-md-0 {\n\t\tmargin-top: 0 !important;\n\t\tmargin-bottom: 0 !important;\n\t}\n\t\n\t.my-md-1 {\n\t\tmargin-top: var(--bs-spacer-1) !important;\n\t\tmargin-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.my-md-2 {\n\t\tmargin-top: var(--bs-spacer-2) !important;\n\t\tmargin-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.my-md-3 {\n\t\tmargin-top: var(--bs-spacer-3) !important;\n\t\tmargin-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.my-md-4 {\n\t\tmargin-top: var(--bs-spacer-4) !important;\n\t\tmargin-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.my-md-5 {\n\t\tmargin-top: var(--bs-spacer-5) !important;\n\t\tmargin-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.my-md-auto {\n\t\tmargin-top: auto !important;\n\t\tmargin-bottom: auto !important;\n\t}\n\n\t.my-md-n1 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-1)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.my-md-n2 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-2)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.my-md-n3 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-3)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.my-md-n4 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-4)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.my-md-n5 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-5)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.mt-md-0 {\n\t\tmargin-top: 0 !important;\n\t}\n\t\n\t.mt-md-1 {\n\t\tmargin-top: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.mt-md-2 {\n\t\tmargin-top: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.mt-md-3 {\n\t\tmargin-top: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.mt-md-4 {\n\t\tmargin-top: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.mt-md-5 {\n\t\tmargin-top: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.mt-md-auto {\n\t\tmargin-top: auto !important;\n\t}\n\n\t.mt-md-n1 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.mt-md-n2 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.mt-md-n3 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.mt-md-n4 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.mt-md-n5 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.me-md-0 {\n\t\tmargin-right: 0 !important;\n\t}\n\t\n\t.me-md-1 {\n\t\tmargin-right: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.me-md-2 {\n\t\tmargin-right: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.me-md-3 {\n\t\tmargin-right: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.me-md-4 {\n\t\tmargin-right: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.me-md-5 {\n\t\tmargin-right: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.me-md-auto {\n\t\tmargin-right: auto !important;\n\t}\n\n\t.me-md-n1 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.me-md-n2 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.me-md-n3 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.me-md-n4 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.me-md-n5 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.mb-md-0 {\n\t\tmargin-bottom: 0 !important;\n\t}\n\t\n\t.mb-md-1 {\n\t\tmargin-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.mb-md-2 {\n\t\tmargin-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.mb-md-3 {\n\t\tmargin-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.mb-md-4 {\n\t\tmargin-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.mb-md-5 {\n\t\tmargin-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.mb-md-auto {\n\t\tmargin-bottom: auto !important;\n\t}\n\n\t.mb-md-n1 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.mb-md-n2 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.mb-md-n3 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.mb-md-n4 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.mb-md-n5 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.ms-md-0 {\n\t\tmargin-left: 0 !important;\n\t}\n\t\n\t.ms-md-1 {\n\t\tmargin-left: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.ms-md-2 {\n\t\tmargin-left: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.ms-md-3 {\n\t\tmargin-left: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.ms-md-4 {\n\t\tmargin-left: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.ms-md-5 {\n\t\tmargin-left: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.ms-md-auto {\n\t\tmargin-left: auto !important;\n\t}\n\n\t.ms-md-n1 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.ms-md-n2 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.ms-md-n3 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.ms-md-n4 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.ms-md-n5 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.p-md-0 {\n\t\tpadding: 0 !important;\n\t}\n\t\n\t.p-md-1 {\n\t\tpadding: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.p-md-2 {\n\t\tpadding: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.p-md-3 {\n\t\tpadding: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.p-md-4 {\n\t\tpadding: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.p-md-5 {\n\t\tpadding: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.px-md-0 {\n\t\tpadding-right: 0 !important;\n\t\tpadding-left: 0 !important;\n\t}\n\t\n\t.px-md-1 {\n\t\tpadding-right: var(--bs-spacer-1) !important;\n\t\tpadding-left: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.px-md-2 {\n\t\tpadding-right: var(--bs-spacer-2) !important;\n\t\tpadding-left: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.px-md-3 {\n\t\tpadding-right: var(--bs-spacer-3) !important;\n\t\tpadding-left: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.px-md-4 {\n\t\tpadding-right: var(--bs-spacer-4) !important;\n\t\tpadding-left: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.px-md-5 {\n\t\tpadding-right: var(--bs-spacer-5) !important;\n\t\tpadding-left: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.py-md-0 {\n\t\tpadding-top: 0 !important;\n\t\tpadding-bottom: 0 !important;\n\t}\n\t\n\t.py-md-1 {\n\t\tpadding-top: var(--bs-spacer-1) !important;\n\t\tpadding-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.py-md-2 {\n\t\tpadding-top: var(--bs-spacer-2) !important;\n\t\tpadding-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.py-md-3 {\n\t\tpadding-top: var(--bs-spacer-3) !important;\n\t\tpadding-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.py-md-4 {\n\t\tpadding-top: var(--bs-spacer-4) !important;\n\t\tpadding-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.py-md-5 {\n\t\tpadding-top: var(--bs-spacer-5) !important;\n\t\tpadding-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.pt-md-0 {\n\t\tpadding-top: 0 !important;\n\t}\n\t\n\t.pt-md-1 {\n\t\tpadding-top: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.pt-md-2 {\n\t\tpadding-top: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.pt-md-3 {\n\t\tpadding-top: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.pt-md-4 {\n\t\tpadding-top: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.pt-md-5 {\n\t\tpadding-top: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.pe-md-0 {\n\t\tpadding-right: 0 !important;\n\t}\n\t\n\t.pe-md-1 {\n\t\tpadding-right: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.pe-md-2 {\n\t\tpadding-right: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.pe-md-3 {\n\t\tpadding-right: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.pe-md-4 {\n\t\tpadding-right: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.pe-md-5 {\n\t\tpadding-right: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.pb-md-0 {\n\t\tpadding-bottom: 0 !important;\n\t}\n\t\n\t.pb-md-1 {\n\t\tpadding-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.pb-md-2 {\n\t\tpadding-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.pb-md-3 {\n\t\tpadding-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.pb-md-4 {\n\t\tpadding-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.pb-md-5 {\n\t\tpadding-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.ps-md-0 {\n\t\tpadding-left: 0 !important;\n\t}\n\t\n\t.ps-md-1 {\n\t\tpadding-left: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.ps-md-2 {\n\t\tpadding-left: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.ps-md-3 {\n\t\tpadding-left: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.ps-md-4 {\n\t\tpadding-left: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.ps-md-5 {\n\t\tpadding-left: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.gap-md-0 {\n\t\tgap: 0 !important;\n\t}\n\t\n\t.gap-md-1 {\n\t\tgap: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.gap-md-2 {\n\t\tgap: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.gap-md-3 {\n\t\tgap: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.gap-md-4 {\n\t\tgap: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.gap-md-5 {\n\t\tgap: var(--bs-spacer-5) !important;\n\t}\n\n\t.row-gap-md-0 {\n\t\tgap: 0 !important;\n\t}\n\n\t.row-gap-md-1 {\n\t\trow-gap: var(--bs-spacer-1) !important;\n\t}\n\n\t.row-gap-md-2 {\n\t\trow-gap: var(--bs-spacer-2) !important;\n\t}\n\n\t.row-gap-md-3 {\n\t\trow-gap: var(--bs-spacer-3) !important;\n\t}\n\n\t.row-gap-md-4 {\n\t\trow-gap: var(--bs-spacer-4) !important;\n\t}\n\n\t.row-gap-md-5 {\n\t\trow-gap: var(--bs-spacer-5) !important;\n\t}\n\n\t.column-gap-md-0 {\n\t\t-moz-column-gap: 0 !important;\n\t\tcolumn-gap: 0 !important;\n\t}\n\n\t.column-gap-md-1 {\n\t\t-moz-column-gap: var(--bs-spacer-1) !important;\n\t\tcolumn-gap: var(--bs-spacer-1) !important;\n\t}\n\n\t.column-gap-md-2 {\n\t\t-moz-column-gap: var(--bs-spacer-2) !important;\n\t\tcolumn-gap: var(--bs-spacer-2) !important;\n\t}\n\n\t.column-gap-md-3 {\n\t\t-moz-column-gap: var(--bs-spacer-3) !important;\n\t\tcolumn-gap: var(--bs-spacer-3) !important;\n\t}\n\n\t.column-gap-md-4 {\n\t\t-moz-column-gap: var(--bs-spacer-4) !important;\n\t\tcolumn-gap: var(--bs-spacer-4) !important;\n\t}\n\n\t.column-gap-md-5 {\n\t\t-moz-column-gap: var(--bs-spacer-5) !important;\n\t\tcolumn-gap: var(--bs-spacer-5) !important;\n\t}\n}\n\n@media (min-width: 992px) {\n\t.m-lg-0 {\n\t\tmargin: 0 !important;\n\t}\n\t\n\t.m-lg-1 {\n\t\tmargin: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.m-lg-2 {\n\t\tmargin: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.m-lg-3 {\n\t\tmargin: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.m-lg-4 {\n\t\tmargin: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.m-lg-5 {\n\t\tmargin: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.m-lg-auto {\n\t\tmargin: auto !important;\n\t}\n\n\t.m-lg-n1 {\n\t\tmargin: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.m-lg-n2 {\n\t\tmargin: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.m-lg-n3 {\n\t\tmargin: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.m-lg-n4 {\n\t\tmargin: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.m-lg-n5 {\n\t\tmargin: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.mx-lg-0 {\n\t\tmargin-right: 0 !important;\n\t\tmargin-left: 0 !important;\n\t}\n\t\n\t.mx-lg-1 {\n\t\tmargin-right: var(--bs-spacer-1) !important;\n\t\tmargin-left: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.mx-lg-2 {\n\t\tmargin-right: var(--bs-spacer-2) !important;\n\t\tmargin-left: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.mx-lg-3 {\n\t\tmargin-right: var(--bs-spacer-3) !important;\n\t\tmargin-left: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.mx-lg-4 {\n\t\tmargin-right: var(--bs-spacer-4) !important;\n\t\tmargin-left: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.mx-lg-5 {\n\t\tmargin-right: var(--bs-spacer-5) !important;\n\t\tmargin-left: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.mx-lg-auto {\n\t\tmargin-right: auto !important;\n\t\tmargin-left: auto !important;\n\t}\n\n\t.mx-lg-n1 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-1)) !important;\n\t\tmargin-left: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.mx-lg-n2 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-2)) !important;\n\t\tmargin-left: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.mx-lg-n3 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-3)) !important;\n\t\tmargin-left: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.mx-lg-n4 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-4)) !important;\n\t\tmargin-left: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.mx-lg-n5 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-5)) !important;\n\t\tmargin-left: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.my-lg-0 {\n\t\tmargin-top: 0 !important;\n\t\tmargin-bottom: 0 !important;\n\t}\n\t\n\t.my-lg-1 {\n\t\tmargin-top: var(--bs-spacer-1) !important;\n\t\tmargin-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.my-lg-2 {\n\t\tmargin-top: var(--bs-spacer-2) !important;\n\t\tmargin-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.my-lg-3 {\n\t\tmargin-top: var(--bs-spacer-3) !important;\n\t\tmargin-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.my-lg-4 {\n\t\tmargin-top: var(--bs-spacer-4) !important;\n\t\tmargin-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.my-lg-5 {\n\t\tmargin-top: var(--bs-spacer-5) !important;\n\t\tmargin-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.my-lg-auto {\n\t\tmargin-top: auto !important;\n\t\tmargin-bottom: auto !important;\n\t}\n\n\t.my-lg-n1 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-1)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.my-lg-n2 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-2)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.my-lg-n3 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-3)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.my-lg-n4 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-4)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.my-lg-n5 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-5)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.mt-lg-0 {\n\t\tmargin-top: 0 !important;\n\t}\n\t\n\t.mt-lg-1 {\n\t\tmargin-top: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.mt-lg-2 {\n\t\tmargin-top: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.mt-lg-3 {\n\t\tmargin-top: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.mt-lg-4 {\n\t\tmargin-top: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.mt-lg-5 {\n\t\tmargin-top: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.mt-lg-auto {\n\t\tmargin-top: auto !important;\n\t}\n\n\t.mt-lg-n1 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.mt-lg-n2 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.mt-lg-n3 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.mt-lg-n4 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.mt-lg-n5 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.me-lg-0 {\n\t\tmargin-right: 0 !important;\n\t}\n\t\n\t.me-lg-1 {\n\t\tmargin-right: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.me-lg-2 {\n\t\tmargin-right: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.me-lg-3 {\n\t\tmargin-right: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.me-lg-4 {\n\t\tmargin-right: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.me-lg-5 {\n\t\tmargin-right: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.me-lg-auto {\n\t\tmargin-right: auto !important;\n\t}\n\n\t.me-lg-n1 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.me-lg-n2 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.me-lg-n3 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.me-lg-n4 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.me-lg-n5 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.mb-lg-0 {\n\t\tmargin-bottom: 0 !important;\n\t}\n\t\n\t.mb-lg-1 {\n\t\tmargin-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.mb-lg-2 {\n\t\tmargin-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.mb-lg-3 {\n\t\tmargin-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.mb-lg-4 {\n\t\tmargin-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.mb-lg-5 {\n\t\tmargin-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.mb-lg-auto {\n\t\tmargin-bottom: auto !important;\n\t}\n\n\t.mb-lg-n1 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.mb-lg-n2 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.mb-lg-n3 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.mb-lg-n4 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.mb-lg-n5 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.ms-lg-0 {\n\t\tmargin-left: 0 !important;\n\t}\n\t\n\t.ms-lg-1 {\n\t\tmargin-left: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.ms-lg-2 {\n\t\tmargin-left: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.ms-lg-3 {\n\t\tmargin-left: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.ms-lg-4 {\n\t\tmargin-left: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.ms-lg-5 {\n\t\tmargin-left: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.ms-lg-auto {\n\t\tmargin-left: auto !important;\n\t}\n\n\t.ms-lg-n1 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.ms-lg-n2 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.ms-lg-n3 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.ms-lg-n4 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.ms-lg-n5 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.p-lg-0 {\n\t\tpadding: 0 !important;\n\t}\n\t\n\t.p-lg-1 {\n\t\tpadding: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.p-lg-2 {\n\t\tpadding: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.p-lg-3 {\n\t\tpadding: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.p-lg-4 {\n\t\tpadding: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.p-lg-5 {\n\t\tpadding: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.px-lg-0 {\n\t\tpadding-right: 0 !important;\n\t\tpadding-left: 0 !important;\n\t}\n\t\n\t.px-lg-1 {\n\t\tpadding-right: var(--bs-spacer-1) !important;\n\t\tpadding-left: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.px-lg-2 {\n\t\tpadding-right: var(--bs-spacer-2) !important;\n\t\tpadding-left: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.px-lg-3 {\n\t\tpadding-right: var(--bs-spacer-3) !important;\n\t\tpadding-left: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.px-lg-4 {\n\t\tpadding-right: var(--bs-spacer-4) !important;\n\t\tpadding-left: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.px-lg-5 {\n\t\tpadding-right: var(--bs-spacer-5) !important;\n\t\tpadding-left: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.py-lg-0 {\n\t\tpadding-top: 0 !important;\n\t\tpadding-bottom: 0 !important;\n\t}\n\t\n\t.py-lg-1 {\n\t\tpadding-top: var(--bs-spacer-1) !important;\n\t\tpadding-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.py-lg-2 {\n\t\tpadding-top: var(--bs-spacer-2) !important;\n\t\tpadding-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.py-lg-3 {\n\t\tpadding-top: var(--bs-spacer-3) !important;\n\t\tpadding-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.py-lg-4 {\n\t\tpadding-top: var(--bs-spacer-4) !important;\n\t\tpadding-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.py-lg-5 {\n\t\tpadding-top: var(--bs-spacer-5) !important;\n\t\tpadding-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.pt-lg-0 {\n\t\tpadding-top: 0 !important;\n\t}\n\t\n\t.pt-lg-1 {\n\t\tpadding-top: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.pt-lg-2 {\n\t\tpadding-top: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.pt-lg-3 {\n\t\tpadding-top: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.pt-lg-4 {\n\t\tpadding-top: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.pt-lg-5 {\n\t\tpadding-top: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.pe-lg-0 {\n\t\tpadding-right: 0 !important;\n\t}\n\t\n\t.pe-lg-1 {\n\t\tpadding-right: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.pe-lg-2 {\n\t\tpadding-right: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.pe-lg-3 {\n\t\tpadding-right: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.pe-lg-4 {\n\t\tpadding-right: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.pe-lg-5 {\n\t\tpadding-right: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.pb-lg-0 {\n\t\tpadding-bottom: 0 !important;\n\t}\n\t\n\t.pb-lg-1 {\n\t\tpadding-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.pb-lg-2 {\n\t\tpadding-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.pb-lg-3 {\n\t\tpadding-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.pb-lg-4 {\n\t\tpadding-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.pb-lg-5 {\n\t\tpadding-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.ps-lg-0 {\n\t\tpadding-left: 0 !important;\n\t}\n\t\n\t.ps-lg-1 {\n\t\tpadding-left: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.ps-lg-2 {\n\t\tpadding-left: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.ps-lg-3 {\n\t\tpadding-left: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.ps-lg-4 {\n\t\tpadding-left: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.ps-lg-5 {\n\t\tpadding-left: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.gap-lg-0 {\n\t\tgap: 0 !important;\n\t}\n\t\n\t.gap-lg-1 {\n\t\tgap: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.gap-lg-2 {\n\t\tgap: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.gap-lg-3 {\n\t\tgap: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.gap-lg-4 {\n\t\tgap: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.gap-lg-5 {\n\t\tgap: var(--bs-spacer-5) !important;\n\t}\n\n\t.row-gap-lg-0 {\n\t\tgap: 0 !important;\n\t}\n\n\t.row-gap-lg-1 {\n\t\trow-gap: var(--bs-spacer-1) !important;\n\t}\n\n\t.row-gap-lg-2 {\n\t\trow-gap: var(--bs-spacer-2) !important;\n\t}\n\n\t.row-gap-lg-3 {\n\t\trow-gap: var(--bs-spacer-3) !important;\n\t}\n\n\t.row-gap-lg-4 {\n\t\trow-gap: var(--bs-spacer-4) !important;\n\t}\n\n\t.row-gap-lg-5 {\n\t\trow-gap: var(--bs-spacer-5) !important;\n\t}\n\n\t.column-gap-lg-0 {\n\t\t-moz-column-gap: 0 !important;\n\t\tcolumn-gap: 0 !important;\n\t}\n\n\t.column-gap-lg-1 {\n\t\t-moz-column-gap: var(--bs-spacer-1) !important;\n\t\tcolumn-gap: var(--bs-spacer-1) !important;\n\t}\n\n\t.column-gap-lg-2 {\n\t\t-moz-column-gap: var(--bs-spacer-2) !important;\n\t\tcolumn-gap: var(--bs-spacer-2) !important;\n\t}\n\n\t.column-gap-lg-3 {\n\t\t-moz-column-gap: var(--bs-spacer-3) !important;\n\t\tcolumn-gap: var(--bs-spacer-3) !important;\n\t}\n\n\t.column-gap-lg-4 {\n\t\t-moz-column-gap: var(--bs-spacer-4) !important;\n\t\tcolumn-gap: var(--bs-spacer-4) !important;\n\t}\n\n\t.column-gap-lg-5 {\n\t\t-moz-column-gap: var(--bs-spacer-5) !important;\n\t\tcolumn-gap: var(--bs-spacer-5) !important;\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.m-xl-0 {\n\t\tmargin: 0 !important;\n\t}\n\t\n\t.m-xl-1 {\n\t\tmargin: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.m-xl-2 {\n\t\tmargin: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.m-xl-3 {\n\t\tmargin: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.m-xl-4 {\n\t\tmargin: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.m-xl-5 {\n\t\tmargin: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.m-xl-auto {\n\t\tmargin: auto !important;\n\t}\n\n\t.m-xl-n1 {\n\t\tmargin: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.m-xl-n2 {\n\t\tmargin: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.m-xl-n3 {\n\t\tmargin: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.m-xl-n4 {\n\t\tmargin: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.m-xl-n5 {\n\t\tmargin: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.mx-xl-0 {\n\t\tmargin-right: 0 !important;\n\t\tmargin-left: 0 !important;\n\t}\n\t\n\t.mx-xl-1 {\n\t\tmargin-right: var(--bs-spacer-1) !important;\n\t\tmargin-left: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.mx-xl-2 {\n\t\tmargin-right: var(--bs-spacer-2) !important;\n\t\tmargin-left: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.mx-xl-3 {\n\t\tmargin-right: var(--bs-spacer-3) !important;\n\t\tmargin-left: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.mx-xl-4 {\n\t\tmargin-right: var(--bs-spacer-4) !important;\n\t\tmargin-left: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.mx-xl-5 {\n\t\tmargin-right: var(--bs-spacer-5) !important;\n\t\tmargin-left: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.mx-xl-auto {\n\t\tmargin-right: auto !important;\n\t\tmargin-left: auto !important;\n\t}\n\n\t.mx-xl-n1 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-1)) !important;\n\t\tmargin-left: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.mx-xl-n2 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-2)) !important;\n\t\tmargin-left: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.mx-xl-n3 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-3)) !important;\n\t\tmargin-left: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.mx-xl-n4 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-4)) !important;\n\t\tmargin-left: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.mx-xl-n5 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-5)) !important;\n\t\tmargin-left: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.my-xl-0 {\n\t\tmargin-top: 0 !important;\n\t\tmargin-bottom: 0 !important;\n\t}\n\t\n\t.my-xl-1 {\n\t\tmargin-top: var(--bs-spacer-1) !important;\n\t\tmargin-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.my-xl-2 {\n\t\tmargin-top: var(--bs-spacer-2) !important;\n\t\tmargin-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.my-xl-3 {\n\t\tmargin-top: var(--bs-spacer-3) !important;\n\t\tmargin-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.my-xl-4 {\n\t\tmargin-top: var(--bs-spacer-4) !important;\n\t\tmargin-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.my-xl-5 {\n\t\tmargin-top: var(--bs-spacer-5) !important;\n\t\tmargin-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.my-xl-auto {\n\t\tmargin-top: auto !important;\n\t\tmargin-bottom: auto !important;\n\t}\n\n\t.my-xl-n1 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-1)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.my-xl-n2 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-2)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.my-xl-n3 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-3)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.my-xl-n4 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-4)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.my-xl-n5 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-5)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.mt-xl-0 {\n\t\tmargin-top: 0 !important;\n\t}\n\t\n\t.mt-xl-1 {\n\t\tmargin-top: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.mt-xl-2 {\n\t\tmargin-top: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.mt-xl-3 {\n\t\tmargin-top: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.mt-xl-4 {\n\t\tmargin-top: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.mt-xl-5 {\n\t\tmargin-top: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.mt-xl-auto {\n\t\tmargin-top: auto !important;\n\t}\n\n\t.mt-xl-n1 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.mt-xl-n2 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.mt-xl-n3 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.mt-xl-n4 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.mt-xl-n5 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.me-xl-0 {\n\t\tmargin-right: 0 !important;\n\t}\n\t\n\t.me-xl-1 {\n\t\tmargin-right: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.me-xl-2 {\n\t\tmargin-right: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.me-xl-3 {\n\t\tmargin-right: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.me-xl-4 {\n\t\tmargin-right: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.me-xl-5 {\n\t\tmargin-right: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.me-xl-auto {\n\t\tmargin-right: auto !important;\n\t}\n\n\t.me-xl-n1 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.me-xl-n2 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.me-xl-n3 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.me-xl-n4 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.me-xl-n5 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.mb-xl-0 {\n\t\tmargin-bottom: 0 !important;\n\t}\n\t\n\t.mb-xl-1 {\n\t\tmargin-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.mb-xl-2 {\n\t\tmargin-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.mb-xl-3 {\n\t\tmargin-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.mb-xl-4 {\n\t\tmargin-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.mb-xl-5 {\n\t\tmargin-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.mb-xl-auto {\n\t\tmargin-bottom: auto !important;\n\t}\n\n\t.mb-xl-n1 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.mb-xl-n2 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.mb-xl-n3 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.mb-xl-n4 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.mb-xl-n5 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.ms-xl-0 {\n\t\tmargin-left: 0 !important;\n\t}\n\t\n\t.ms-xl-1 {\n\t\tmargin-left: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.ms-xl-2 {\n\t\tmargin-left: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.ms-xl-3 {\n\t\tmargin-left: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.ms-xl-4 {\n\t\tmargin-left: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.ms-xl-5 {\n\t\tmargin-left: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.ms-xl-auto {\n\t\tmargin-left: auto !important;\n\t}\n\n\t.ms-xl-n1 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.ms-xl-n2 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.ms-xl-n3 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.ms-xl-n4 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.ms-xl-n5 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.p-xl-0 {\n\t\tpadding: 0 !important;\n\t}\n\t\n\t.p-xl-1 {\n\t\tpadding: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.p-xl-2 {\n\t\tpadding: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.p-xl-3 {\n\t\tpadding: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.p-xl-4 {\n\t\tpadding: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.p-xl-5 {\n\t\tpadding: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.px-xl-0 {\n\t\tpadding-right: 0 !important;\n\t\tpadding-left: 0 !important;\n\t}\n\t\n\t.px-xl-1 {\n\t\tpadding-right: var(--bs-spacer-1) !important;\n\t\tpadding-left: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.px-xl-2 {\n\t\tpadding-right: var(--bs-spacer-2) !important;\n\t\tpadding-left: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.px-xl-3 {\n\t\tpadding-right: var(--bs-spacer-3) !important;\n\t\tpadding-left: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.px-xl-4 {\n\t\tpadding-right: var(--bs-spacer-4) !important;\n\t\tpadding-left: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.px-xl-5 {\n\t\tpadding-right: var(--bs-spacer-5) !important;\n\t\tpadding-left: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.py-xl-0 {\n\t\tpadding-top: 0 !important;\n\t\tpadding-bottom: 0 !important;\n\t}\n\t\n\t.py-xl-1 {\n\t\tpadding-top: var(--bs-spacer-1) !important;\n\t\tpadding-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.py-xl-2 {\n\t\tpadding-top: var(--bs-spacer-2) !important;\n\t\tpadding-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.py-xl-3 {\n\t\tpadding-top: var(--bs-spacer-3) !important;\n\t\tpadding-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.py-xl-4 {\n\t\tpadding-top: var(--bs-spacer-4) !important;\n\t\tpadding-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.py-xl-5 {\n\t\tpadding-top: var(--bs-spacer-5) !important;\n\t\tpadding-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.pt-xl-0 {\n\t\tpadding-top: 0 !important;\n\t}\n\t\n\t.pt-xl-1 {\n\t\tpadding-top: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.pt-xl-2 {\n\t\tpadding-top: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.pt-xl-3 {\n\t\tpadding-top: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.pt-xl-4 {\n\t\tpadding-top: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.pt-xl-5 {\n\t\tpadding-top: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.pe-xl-0 {\n\t\tpadding-right: 0 !important;\n\t}\n\t\n\t.pe-xl-1 {\n\t\tpadding-right: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.pe-xl-2 {\n\t\tpadding-right: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.pe-xl-3 {\n\t\tpadding-right: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.pe-xl-4 {\n\t\tpadding-right: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.pe-xl-5 {\n\t\tpadding-right: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.pb-xl-0 {\n\t\tpadding-bottom: 0 !important;\n\t}\n\t\n\t.pb-xl-1 {\n\t\tpadding-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.pb-xl-2 {\n\t\tpadding-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.pb-xl-3 {\n\t\tpadding-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.pb-xl-4 {\n\t\tpadding-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.pb-xl-5 {\n\t\tpadding-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.ps-xl-0 {\n\t\tpadding-left: 0 !important;\n\t}\n\t\n\t.ps-xl-1 {\n\t\tpadding-left: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.ps-xl-2 {\n\t\tpadding-left: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.ps-xl-3 {\n\t\tpadding-left: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.ps-xl-4 {\n\t\tpadding-left: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.ps-xl-5 {\n\t\tpadding-left: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.gap-xl-0 {\n\t\tgap: 0 !important;\n\t}\n\t\n\t.gap-xl-1 {\n\t\tgap: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.gap-xl-2 {\n\t\tgap: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.gap-xl-3 {\n\t\tgap: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.gap-xl-4 {\n\t\tgap: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.gap-xl-5 {\n\t\tgap: var(--bs-spacer-5) !important;\n\t}\n\n\t.row-gap-xl-0 {\n\t\tgap: 0 !important;\n\t}\n\n\t.row-gap-xl-1 {\n\t\trow-gap: var(--bs-spacer-1) !important;\n\t}\n\n\t.row-gap-xl-2 {\n\t\trow-gap: var(--bs-spacer-2) !important;\n\t}\n\n\t.row-gap-xl-3 {\n\t\trow-gap: var(--bs-spacer-3) !important;\n\t}\n\n\t.row-gap-xl-4 {\n\t\trow-gap: var(--bs-spacer-4) !important;\n\t}\n\n\t.row-gap-xl-5 {\n\t\trow-gap: var(--bs-spacer-5) !important;\n\t}\n\n\t.column-gap-xl-0 {\n\t\t-moz-column-gap: 0 !important;\n\t\tcolumn-gap: 0 !important;\n\t}\n\n\t.column-gap-xl-1 {\n\t\t-moz-column-gap: var(--bs-spacer-1) !important;\n\t\tcolumn-gap: var(--bs-spacer-1) !important;\n\t}\n\n\t.column-gap-xl-2 {\n\t\t-moz-column-gap: var(--bs-spacer-2) !important;\n\t\tcolumn-gap: var(--bs-spacer-2) !important;\n\t}\n\n\t.column-gap-xl-3 {\n\t\t-moz-column-gap: var(--bs-spacer-3) !important;\n\t\tcolumn-gap: var(--bs-spacer-3) !important;\n\t}\n\n\t.column-gap-xl-4 {\n\t\t-moz-column-gap: var(--bs-spacer-4) !important;\n\t\tcolumn-gap: var(--bs-spacer-4) !important;\n\t}\n\n\t.column-gap-xl-5 {\n\t\t-moz-column-gap: var(--bs-spacer-5) !important;\n\t\tcolumn-gap: var(--bs-spacer-5) !important;\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.m-xxl-0 {\n\t\tmargin: 0 !important;\n\t}\n\t\n\t.m-xxl-1 {\n\t\tmargin: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.m-xxl-2 {\n\t\tmargin: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.m-xxl-3 {\n\t\tmargin: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.m-xxl-4 {\n\t\tmargin: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.m-xxl-5 {\n\t\tmargin: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.m-xxl-auto {\n\t\tmargin: auto !important;\n\t}\n\n\t.m-xxl-n1 {\n\t\tmargin: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.m-xxl-n2 {\n\t\tmargin: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.m-xxl-n3 {\n\t\tmargin: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.m-xxl-n4 {\n\t\tmargin: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.m-xxl-n5 {\n\t\tmargin: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.mx-xxl-0 {\n\t\tmargin-right: 0 !important;\n\t\tmargin-left: 0 !important;\n\t}\n\t\n\t.mx-xxl-1 {\n\t\tmargin-right: var(--bs-spacer-1) !important;\n\t\tmargin-left: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.mx-xxl-2 {\n\t\tmargin-right: var(--bs-spacer-2) !important;\n\t\tmargin-left: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.mx-xxl-3 {\n\t\tmargin-right: var(--bs-spacer-3) !important;\n\t\tmargin-left: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.mx-xxl-4 {\n\t\tmargin-right: var(--bs-spacer-4) !important;\n\t\tmargin-left: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.mx-xxl-5 {\n\t\tmargin-right: var(--bs-spacer-5) !important;\n\t\tmargin-left: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.mx-xxl-auto {\n\t\tmargin-right: auto !important;\n\t\tmargin-left: auto !important;\n\t}\n\n\t.mx-xxl-n1 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-1)) !important;\n\t\tmargin-left: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.mx-xxl-n2 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-2)) !important;\n\t\tmargin-left: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.mx-xxl-n3 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-3)) !important;\n\t\tmargin-left: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.mx-xxl-n4 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-4)) !important;\n\t\tmargin-left: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.mx-xxl-n5 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-5)) !important;\n\t\tmargin-left: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.my-xxl-0 {\n\t\tmargin-top: 0 !important;\n\t\tmargin-bottom: 0 !important;\n\t}\n\t\n\t.my-xxl-1 {\n\t\tmargin-top: var(--bs-spacer-1) !important;\n\t\tmargin-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.my-xxl-2 {\n\t\tmargin-top: var(--bs-spacer-2) !important;\n\t\tmargin-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.my-xxl-3 {\n\t\tmargin-top: var(--bs-spacer-3) !important;\n\t\tmargin-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.my-xxl-4 {\n\t\tmargin-top: var(--bs-spacer-4) !important;\n\t\tmargin-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.my-xxl-5 {\n\t\tmargin-top: var(--bs-spacer-5) !important;\n\t\tmargin-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.my-xxl-auto {\n\t\tmargin-top: auto !important;\n\t\tmargin-bottom: auto !important;\n\t}\n\n\t.my-xxl-n1 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-1)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.my-xxl-n2 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-2)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.my-xxl-n3 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-3)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.my-xxl-n4 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-4)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.my-xxl-n5 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-5)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.mt-xxl-0 {\n\t\tmargin-top: 0 !important;\n\t}\n\t\n\t.mt-xxl-1 {\n\t\tmargin-top: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.mt-xxl-2 {\n\t\tmargin-top: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.mt-xxl-3 {\n\t\tmargin-top: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.mt-xxl-4 {\n\t\tmargin-top: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.mt-xxl-5 {\n\t\tmargin-top: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.mt-xxl-auto {\n\t\tmargin-top: auto !important;\n\t}\n\n\t.mt-xxl-n1 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.mt-xxl-n2 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.mt-xxl-n3 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.mt-xxl-n4 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.mt-xxl-n5 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.me-xxl-0 {\n\t\tmargin-right: 0 !important;\n\t}\n\t\n\t.me-xxl-1 {\n\t\tmargin-right: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.me-xxl-2 {\n\t\tmargin-right: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.me-xxl-3 {\n\t\tmargin-right: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.me-xxl-4 {\n\t\tmargin-right: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.me-xxl-5 {\n\t\tmargin-right: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.me-xxl-auto {\n\t\tmargin-right: auto !important;\n\t}\n\n\t.me-xxl-n1 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.me-xxl-n2 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.me-xxl-n3 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.me-xxl-n4 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.me-xxl-n5 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.mb-xxl-0 {\n\t\tmargin-bottom: 0 !important;\n\t}\n\t\n\t.mb-xxl-1 {\n\t\tmargin-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.mb-xxl-2 {\n\t\tmargin-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.mb-xxl-3 {\n\t\tmargin-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.mb-xxl-4 {\n\t\tmargin-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.mb-xxl-5 {\n\t\tmargin-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.mb-xxl-auto {\n\t\tmargin-bottom: auto !important;\n\t}\n\n\t.mb-xxl-n1 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.mb-xxl-n2 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.mb-xxl-n3 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.mb-xxl-n4 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.mb-xxl-n5 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.ms-xxl-0 {\n\t\tmargin-left: 0 !important;\n\t}\n\t\n\t.ms-xxl-1 {\n\t\tmargin-left: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.ms-xxl-2 {\n\t\tmargin-left: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.ms-xxl-3 {\n\t\tmargin-left: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.ms-xxl-4 {\n\t\tmargin-left: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.ms-xxl-5 {\n\t\tmargin-left: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.ms-xxl-auto {\n\t\tmargin-left: auto !important;\n\t}\n\n\t.ms-xxl-n1 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.ms-xxl-n2 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.ms-xxl-n3 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.ms-xxl-n4 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.ms-xxl-n5 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.p-xxl-0 {\n\t\tpadding: 0 !important;\n\t}\n\t\n\t.p-xxl-1 {\n\t\tpadding: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.p-xxl-2 {\n\t\tpadding: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.p-xxl-3 {\n\t\tpadding: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.p-xxl-4 {\n\t\tpadding: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.p-xxl-5 {\n\t\tpadding: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.px-xxl-0 {\n\t\tpadding-right: 0 !important;\n\t\tpadding-left: 0 !important;\n\t}\n\t\n\t.px-xxl-1 {\n\t\tpadding-right: var(--bs-spacer-1) !important;\n\t\tpadding-left: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.px-xxl-2 {\n\t\tpadding-right: var(--bs-spacer-2) !important;\n\t\tpadding-left: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.px-xxl-3 {\n\t\tpadding-right: var(--bs-spacer-3) !important;\n\t\tpadding-left: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.px-xxl-4 {\n\t\tpadding-right: var(--bs-spacer-4) !important;\n\t\tpadding-left: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.px-xxl-5 {\n\t\tpadding-right: var(--bs-spacer-5) !important;\n\t\tpadding-left: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.py-xxl-0 {\n\t\tpadding-top: 0 !important;\n\t\tpadding-bottom: 0 !important;\n\t}\n\t\n\t.py-xxl-1 {\n\t\tpadding-top: var(--bs-spacer-1) !important;\n\t\tpadding-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.py-xxl-2 {\n\t\tpadding-top: var(--bs-spacer-2) !important;\n\t\tpadding-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.py-xxl-3 {\n\t\tpadding-top: var(--bs-spacer-3) !important;\n\t\tpadding-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.py-xxl-4 {\n\t\tpadding-top: var(--bs-spacer-4) !important;\n\t\tpadding-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.py-xxl-5 {\n\t\tpadding-top: var(--bs-spacer-5) !important;\n\t\tpadding-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.pt-xxl-0 {\n\t\tpadding-top: 0 !important;\n\t}\n\t\n\t.pt-xxl-1 {\n\t\tpadding-top: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.pt-xxl-2 {\n\t\tpadding-top: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.pt-xxl-3 {\n\t\tpadding-top: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.pt-xxl-4 {\n\t\tpadding-top: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.pt-xxl-5 {\n\t\tpadding-top: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.pe-xxl-0 {\n\t\tpadding-right: 0 !important;\n\t}\n\t\n\t.pe-xxl-1 {\n\t\tpadding-right: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.pe-xxl-2 {\n\t\tpadding-right: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.pe-xxl-3 {\n\t\tpadding-right: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.pe-xxl-4 {\n\t\tpadding-right: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.pe-xxl-5 {\n\t\tpadding-right: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.pb-xxl-0 {\n\t\tpadding-bottom: 0 !important;\n\t}\n\t\n\t.pb-xxl-1 {\n\t\tpadding-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.pb-xxl-2 {\n\t\tpadding-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.pb-xxl-3 {\n\t\tpadding-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.pb-xxl-4 {\n\t\tpadding-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.pb-xxl-5 {\n\t\tpadding-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.ps-xxl-0 {\n\t\tpadding-left: 0 !important;\n\t}\n\t\n\t.ps-xxl-1 {\n\t\tpadding-left: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.ps-xxl-2 {\n\t\tpadding-left: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.ps-xxl-3 {\n\t\tpadding-left: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.ps-xxl-4 {\n\t\tpadding-left: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.ps-xxl-5 {\n\t\tpadding-left: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.gap-xxl-0 {\n\t\tgap: 0 !important;\n\t}\n\t\n\t.gap-xxl-1 {\n\t\tgap: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.gap-xxl-2 {\n\t\tgap: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.gap-xxl-3 {\n\t\tgap: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.gap-xxl-4 {\n\t\tgap: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.gap-xxl-5 {\n\t\tgap: var(--bs-spacer-5) !important;\n\t}\n\n\t.row-gap-xxl-0 {\n\t\tgap: 0 !important;\n\t}\n\n\t.row-gap-xxl-1 {\n\t\trow-gap: var(--bs-spacer-1) !important;\n\t}\n\n\t.row-gap-xxl-2 {\n\t\trow-gap: var(--bs-spacer-2) !important;\n\t}\n\n\t.row-gap-xxl-3 {\n\t\trow-gap: var(--bs-spacer-3) !important;\n\t}\n\n\t.row-gap-xxl-4 {\n\t\trow-gap: var(--bs-spacer-4) !important;\n\t}\n\n\t.row-gap-xxl-5 {\n\t\trow-gap: var(--bs-spacer-5) !important;\n\t}\n\n\t.column-gap-xxl-0 {\n\t\t-moz-column-gap: 0 !important;\n\t\tcolumn-gap: 0 !important;\n\t}\n\n\t.column-gap-xxl-1 {\n\t\t-moz-column-gap: var(--bs-spacer-1) !important;\n\t\tcolumn-gap: var(--bs-spacer-1) !important;\n\t}\n\n\t.column-gap-xxl-2 {\n\t\t-moz-column-gap: var(--bs-spacer-2) !important;\n\t\tcolumn-gap: var(--bs-spacer-2) !important;\n\t}\n\n\t.column-gap-xxl-3 {\n\t\t-moz-column-gap: var(--bs-spacer-3) !important;\n\t\tcolumn-gap: var(--bs-spacer-3) !important;\n\t}\n\n\t.column-gap-xxl-4 {\n\t\t-moz-column-gap: var(--bs-spacer-4) !important;\n\t\tcolumn-gap: var(--bs-spacer-4) !important;\n\t}\n\n\t.column-gap-xxl-5 {\n\t\t-moz-column-gap: var(--bs-spacer-5) !important;\n\t\tcolumn-gap: var(--bs-spacer-5) !important;\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Text utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.font-monospace {\n\tfont-family: var(--bs-font-monospace) !important;\n}\n\n.fs-1 {\n\tfont-size: calc((var(--bs-font-size-base) + 0.4875rem) + 1.5vw) !important;\n}\n\n.fs-2 {\n\tfont-size: calc((var(--bs-font-size-base) + 0.4375rem) + 0.9vw) !important;\n}\n\n.fs-3 {\n\tfont-size: calc((var(--bs-font-size-base) + 0.4rem) + 0.6vw) !important;\n}\n\n.fs-4 {\n\tfont-size: calc((var(--bs-font-size-base) + 0.375rem) + 0.3vw) !important;\n}\n\n.fs-5 {\n\tfont-size: 1.125rem !important;\n}\n\n.fs-6 {\n\tfont-size: 0.875rem !important;\n}\n\n.fst-italic {\n\tfont-style: italic !important;\n}\n\n.fst-normal {\n\tfont-style: normal !important;\n}\n\n.fw-lighter {\n\tfont-weight: var(--bs-font-weight-lighter) !important;\n}\n\n.fw-light {\n\tfont-weight: var(--bs-font-weight-light) !important;\n}\n\n.fw-normal {\n\tfont-weight: var(--bs-font-weight-normal) !important;\n}\n\n.fw-medium {\n\tfont-weight: var(--bs-font-weight-medium) !important;\n}\n\n.fw-semibold {\n\tfont-weight: var(--bs-font-weight-semibold) !important;\n}\n\n.fw-bold {\n\tfont-weight: var(--bs-font-weight-bold) !important;\n}\n\n.fw-bolder {\n\tfont-weight: var(--bs-font-weight-bolder) !important;\n}\n\n.lh-1 {\n\tline-height: 1 !important;\n}\n\n.lh-sm {\n\tline-height: var(--bs-line-height-sm) !important;\n}\n\n.lh-base {\n\tline-height: var(--bs-line-height-base) !important;\n}\n\n.lh-lg {\n\tline-height: var(--bs-line-height-lg) !important;\n}\n\n.text-start {\n\ttext-align: left !important;\n}\n\n.text-end {\n\ttext-align: right !important;\n}\n\n.text-center {\n\ttext-align: center !important;\n}\n\n@media (min-width: 576px) {\n\t.text-sm-start {\n\t\ttext-align: left !important;\n\t}\n\n\t.text-sm-end {\n\t\ttext-align: right !important;\n\t}\n\n\t.text-sm-center {\n\t\ttext-align: center !important;\n\t}\n}\n\n@media (min-width: 768px) {\n\t.text-md-start {\n\t\ttext-align: left !important;\n\t}\n\n\t.text-md-end {\n\t\ttext-align: right !important;\n\t}\n\n\t.text-md-center {\n\t\ttext-align: center !important;\n\t}\n}\n\n@media (min-width: 992px) {\n\t.text-lg-start {\n\t\ttext-align: left !important;\n\t}\n\n\t.text-lg-end {\n\t\ttext-align: right !important;\n\t}\n\n\t.text-lg-center {\n\t\ttext-align: center !important;\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.text-xl-start {\n\t\ttext-align: left !important;\n\t}\n\n\t.text-xl-end {\n\t\ttext-align: right !important;\n\t}\n\n\t.text-xl-center {\n\t\ttext-align: center !important;\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.text-xxl-start {\n\t\ttext-align: left !important;\n\t}\n\n\t.text-xxl-end {\n\t\ttext-align: right !important;\n\t}\n\n\t.text-xxl-center {\n\t\ttext-align: center !important;\n\t}\n}\n\n.text-decoration-none {\n\ttext-decoration: none !important;\n}\n\n.text-decoration-underline {\n\ttext-decoration: underline !important;\n}\n\n.text-decoration-line-through {\n\ttext-decoration: line-through !important;\n}\n\n.text-lowercase {\n\ttext-transform: lowercase !important;\n}\n\n.text-uppercase {\n\ttext-transform: uppercase !important;\n}\n\n.text-capitalize {\n\ttext-transform: capitalize !important;\n}\n\n.text-wrap {\n\twhite-space: normal !important;\n}\n\n.text-nowrap {\n\twhite-space: nowrap !important;\n}\n\n/* rtl:begin:remove */\n.text-break {\n\tword-wrap: break-word !important;\n\tword-break: break-word !important;\n}\n/* rtl:end:remove */\n\n.antialiased {\n\t-webkit-font-smoothing: antialiased !important;\n\t-moz-osx-font-smoothing: grayscale !important;\n}\n\n.subpixel-antialiased {\n\t-webkit-font-smoothing: auto !important;\n\t-moz-osx-font-smoothing: auto !important;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Vertical alignment utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.align-baseline {\n\tvertical-align: baseline !important;\n}\n\n.align-top {\n\tvertical-align: top !important;\n}\n\n.align-middle {\n\tvertical-align: middle !important;\n}\n\n.align-bottom {\n\tvertical-align: bottom !important;\n}\n\n.align-text-bottom {\n\tvertical-align: text-bottom !important;\n}\n\n.align-text-top {\n\tvertical-align: text-top !important;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Visibility utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.visible {\n\tvisibility: visible !important;\n}\n\n.invisible {\n\tvisibility: hidden !important;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Z-index utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.z-n1 {\n\tz-index: -1 !important;\n}\n\n.z-0 {\n\tz-index: 0 !important;\n}\n\n.z-1 {\n\tz-index: 1 !important;\n}\n\n.z-2 {\n\tz-index: 2 !important;\n}\n\n.z-3 {\n\tz-index: 3 !important;\n}\n\n@media (min-width: 576px) {\n\t.z-sm-n1 {\n\t\tz-index: -1 !important;\n\t}\n\n\t.z-sm-0 {\n\t\tz-index: 0 !important;\n\t}\n\n\t.z-sm-1 {\n\t\tz-index: 1 !important;\n\t}\n\n\t.z-sm-2 {\n\t\tz-index: 2 !important;\n\t}\n\n\t.z-sm-3 {\n\t\tz-index: 3 !important;\n\t}\n}\n\n@media (min-width: 768px) {\n\t.z-md-n1 {\n\t\tz-index: -1 !important;\n\t}\n\n\t.z-md-0 {\n\t\tz-index: 0 !important;\n\t}\n\n\t.z-md-1 {\n\t\tz-index: 1 !important;\n\t}\n\n\t.z-md-2 {\n\t\tz-index: 2 !important;\n\t}\n\n\t.z-md-3 {\n\t\tz-index: 3 !important;\n\t}\n}\n\n@media (min-width: 992px) {\n\t.z-lg-n1 {\n\t\tz-index: -1 !important;\n\t}\n\n\t.z-lg-0 {\n\t\tz-index: 0 !important;\n\t}\n\n\t.z-lg-1 {\n\t\tz-index: 1 !important;\n\t}\n\n\t.z-lg-2 {\n\t\tz-index: 2 !important;\n\t}\n\n\t.z-lg-3 {\n\t\tz-index: 3 !important;\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.z-xl-n1 {\n\t\tz-index: -1 !important;\n\t}\n\n\t.z-xl-0 {\n\t\tz-index: 0 !important;\n\t}\n\n\t.z-xl-1 {\n\t\tz-index: 1 !important;\n\t}\n\n\t.z-xl-2 {\n\t\tz-index: 2 !important;\n\t}\n\n\t.z-xl-3 {\n\t\tz-index: 3 !important;\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.z-xxl-n1 {\n\t\tz-index: -1 !important;\n\t}\n\n\t.z-xxl-0 {\n\t\tz-index: 0 !important;\n\t}\n\n\t.z-xxl-1 {\n\t\tz-index: 1 !important;\n\t}\n\n\t.z-xxl-2 {\n\t\tz-index: 2 !important;\n\t}\n\n\t.z-xxl-3 {\n\t\tz-index: 3 !important;\n\t}\n}\n"]} \ No newline at end of file diff --git a/modules/analyze/html/external/halfmoon-ui/halfmoon.rtl.css b/modules/analyze/html/external/halfmoon-ui/halfmoon.rtl.css new file mode 100644 index 0000000..3b069d6 --- /dev/null +++ b/modules/analyze/html/external/halfmoon-ui/halfmoon.rtl.css @@ -0,0 +1,19166 @@ +@charset "UTF-8"; + +/*! + * ---------------------------------------------------------------------------- + * Halfmoon CSS + * Version: 2.0.1 + * https://www.gethalfmoon.com + * Copyright (c) 2023, Tahmid Khan + * Licensed under MIT (https://www.gethalfmoon.com/license) + * ---------------------------------------------------------------------------- + * The above notice must be included in its entirety when this file is used. + */ + +/*! + * The following notice(s) is/are provided to honor the licenses of 3rd party + * software used to build Halfmoon. + * ---------------------------------------------------------------------------- + * Bootstrap (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * ---------------------------------------------------------------------------- + */ + +/** + * ---------------------------------------------------------------------------- + * [ SVGs ] + * ---------------------------------------------------------------------------- + */ + +:root, +[data-bs-theme=light] { + --bs-checkbox-svg-light: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e"); + --bs-checkbox-svg-dark: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23222' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e"); + + --bs-dash-svg-light: 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"); + --bs-dash-svg-dark: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23222' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"); + + --bs-radio-svg-light: 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"); + --bs-radio-svg-dark: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23222'/%3e%3c/svg%3e"); + + --bs-switch-svg-light: 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"); + --bs-switch-svg-dark: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23222'/%3e%3c/svg%3e"); + --bs-switch-svg-unchecked: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23bcbec2'/%3e%3c/svg%3e"); +} + +[data-bs-theme=dark] { + --bs-switch-svg-unchecked: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23494b50'/%3e%3c/svg%3e"); +} + +/** + * ---------------------------------------------------------------------------- + * [ Color palette ] + * ---------------------------------------------------------------------------- + */ + +:root, +[data-bs-theme=light] { + /* Black */ + + --bs-black-hsl: 0, 0%, 0%; + --bs-black: hsl(var(--bs-black-hsl)); + + /* White */ + + --bs-white-hsl: 0, 0%, 100%; + --bs-white: hsl(var(--bs-white-hsl)); + + /* Gray */ + + --bs-mistyrose-hue: 0; + --bs-mistyrose-saturation: 5%; + + --bs-stone-hue: 25; + --bs-stone-saturation: 5%; + + --bs-sand-hue: 60; + --bs-sand-saturation: 5%; + + --bs-sage-hue: 152; + --bs-sage-saturation: 6%; + + --bs-slate-hue: 214.3; + --bs-slate-saturation: 12.3%; + + --bs-neutral-hue: 218; + --bs-neutral-saturation: 5%; + + --bs-zinc-hue: 240; + --bs-zinc-saturation: 4%; + + --bs-mauve-hue: 331; + --bs-mauve-saturation: 7.5%; + + /* Light gray */ + + --bs-lightgray-hue: var(--bs-neutral-hue); + --bs-lightgray-saturation: var(--bs-neutral-saturation); + --bs-lightgray-100-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 97.5%; + --bs-lightgray-200-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 95%; + --bs-lightgray-300-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 92.5%; + --bs-lightgray-400-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 90%; + --bs-lightgray-500-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 87.5%; + --bs-lightgray-600-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 85%; + --bs-lightgray-700-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 80%; + --bs-lightgray-800-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 75%; + --bs-lightgray-900-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 70%; + --bs-lightgray-100: hsl(var(--bs-lightgray-100-hsl)); + --bs-lightgray-200: hsl(var(--bs-lightgray-200-hsl)); + --bs-lightgray-300: hsl(var(--bs-lightgray-300-hsl)); + --bs-lightgray-400: hsl(var(--bs-lightgray-400-hsl)); + --bs-lightgray-500: hsl(var(--bs-lightgray-500-hsl)); + --bs-lightgray-600: hsl(var(--bs-lightgray-600-hsl)); + --bs-lightgray-700: hsl(var(--bs-lightgray-700-hsl)); + --bs-lightgray-800: hsl(var(--bs-lightgray-800-hsl)); + --bs-lightgray-900: hsl(var(--bs-lightgray-900-hsl)); + --bs-lightgray-hsl: var(--bs-lightgray-500-hsl); + --bs-lightgray: hsl(var(--bs-lightgray-hsl)); + --bs-lightgray-foreground-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 10%; + --bs-lightgray-foreground: hsl(var(--bs-lightgray-foreground-hsl)); + --bs-lightgray-text-emphasis-hsl: var(--bs-lightgray-600-hsl); + --bs-lightgray-text-emphasis: hsl(var(--bs-lightgray-text-emphasis-hsl)); + --bs-lightgray-hover-bg: var(--bs-lightgray-400); + --bs-lightgray-active-bg: var(--bs-lightgray-300); + --bs-lightgray-bg-subtle: hsl(var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 97.5%); + --bs-lightgray-border-subtle: var(--bs-lightgray-400); + --bs-lightgray-checkbox-svg: var(--bs-checkbox-svg-dark); + --bs-lightgray-dash-svg: var(--bs-dash-svg-dark); + --bs-lightgray-radio-svg: var(--bs-radio-svg-dark); + --bs-lightgray-switch-svg: var(--bs-switch-svg-dark); + + /* Gray */ + + --bs-gray-hue: var(--bs-lightgray-hue); + --bs-gray-saturation: var(--bs-lightgray-saturation); + --bs-gray-100-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 85%; + --bs-gray-200-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 75%; + --bs-gray-300-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 65%; + --bs-gray-400-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 55%; + --bs-gray-500-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 45%; + --bs-gray-600-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 40%; + --bs-gray-700-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 35%; + --bs-gray-800-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 30%; + --bs-gray-900-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 25%; + --bs-gray-100: hsl(var(--bs-gray-100-hsl)); + --bs-gray-200: hsl(var(--bs-gray-200-hsl)); + --bs-gray-300: hsl(var(--bs-gray-300-hsl)); + --bs-gray-400: hsl(var(--bs-gray-400-hsl)); + --bs-gray-500: hsl(var(--bs-gray-500-hsl)); + --bs-gray-600: hsl(var(--bs-gray-600-hsl)); + --bs-gray-700: hsl(var(--bs-gray-700-hsl)); + --bs-gray-800: hsl(var(--bs-gray-800-hsl)); + --bs-gray-900: hsl(var(--bs-gray-900-hsl)); + --bs-gray-hsl: var(--bs-gray-500-hsl); + --bs-gray: hsl(var(--bs-gray-hsl)); + --bs-gray-foreground-hsl: var(--bs-white-hsl); + --bs-gray-foreground: hsl(var(--bs-gray-foreground-hsl)); + --bs-gray-text-emphasis-hsl: var(--bs-gray-600-hsl); + --bs-gray-text-emphasis: hsl(var(--bs-gray-text-emphasis-hsl)); + --bs-gray-hover-bg: var(--bs-gray-600); + --bs-gray-active-bg: var(--bs-gray-700); + --bs-gray-bg-subtle: hsl(var(--bs-gray-hue), var(--bs-gray-saturation), 95%); + --bs-gray-border-subtle: var(--bs-gray-400); + --bs-gray-checkbox-svg: var(--bs-checkbox-svg-light); + --bs-gray-dash-svg: var(--bs-dash-svg-light); + --bs-gray-radio-svg: var(--bs-radio-svg-light); + --bs-gray-switch-svg: var(--bs-switch-svg-light); + + /* Dark gray */ + + --bs-darkgray-hue: var(--bs-slate-hue); + --bs-darkgray-saturation: var(--bs-slate-saturation); + --bs-darkgray-100-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 75%; + --bs-darkgray-200-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 65%; + --bs-darkgray-300-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 55%; + --bs-darkgray-400-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 45%; + --bs-darkgray-500-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 35%; + --bs-darkgray-600-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 30%; + --bs-darkgray-700-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 25%; + --bs-darkgray-800-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 20%; + --bs-darkgray-900-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 17.5%; + --bs-darkgray-100: hsl(var(--bs-darkgray-100-hsl)); + --bs-darkgray-200: hsl(var(--bs-darkgray-200-hsl)); + --bs-darkgray-300: hsl(var(--bs-darkgray-300-hsl)); + --bs-darkgray-400: hsl(var(--bs-darkgray-400-hsl)); + --bs-darkgray-500: hsl(var(--bs-darkgray-500-hsl)); + --bs-darkgray-600: hsl(var(--bs-darkgray-600-hsl)); + --bs-darkgray-700: hsl(var(--bs-darkgray-700-hsl)); + --bs-darkgray-800: hsl(var(--bs-darkgray-800-hsl)); + --bs-darkgray-900: hsl(var(--bs-darkgray-900-hsl)); + --bs-darkgray-hsl: var(--bs-darkgray-500-hsl); + --bs-darkgray: hsl(var(--bs-darkgray-hsl)); + --bs-darkgray-foreground-hsl: var(--bs-white-hsl); + --bs-darkgray-foreground: hsl(var(--bs-darkgray-foreground-hsl)); + --bs-darkgray-text-emphasis-hsl: var(--bs-darkgray-600-hsl); + --bs-darkgray-text-emphasis: hsl(var(--bs-darkgray-text-emphasis-hsl)); + --bs-darkgray-hover-bg: var(--bs-darkgray-600); + --bs-darkgray-active-bg: var(--bs-darkgray-700); + --bs-darkgray-bg-subtle: hsl(var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 80%); + --bs-darkgray-border-subtle: var(--bs-darkgray-400); + --bs-darkgray-checkbox-svg: var(--bs-checkbox-svg-light); + --bs-darkgray-dash-svg: var(--bs-dash-svg-light); + --bs-darkgray-radio-svg: var(--bs-radio-svg-light); + --bs-darkgray-switch-svg: var(--bs-switch-svg-light); + + /* Sable (almost black) */ + + --bs-sable-hue: var(--bs-darkgray-hue); + --bs-sable-saturation: var(--bs-darkgray-saturation); + --bs-sable-100-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 28%; + --bs-sable-200-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 26%; + --bs-sable-300-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 24%; + --bs-sable-400-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 22%; + --bs-sable-500-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 20%; + --bs-sable-600-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 18%; + --bs-sable-700-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 16%; + --bs-sable-800-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 15%; + --bs-sable-900-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 14%; + --bs-sable-100: hsl(var(--bs-sable-100-hsl)); + --bs-sable-200: hsl(var(--bs-sable-200-hsl)); + --bs-sable-300: hsl(var(--bs-sable-300-hsl)); + --bs-sable-400: hsl(var(--bs-sable-400-hsl)); + --bs-sable-500: hsl(var(--bs-sable-500-hsl)); + --bs-sable-600: hsl(var(--bs-sable-600-hsl)); + --bs-sable-700: hsl(var(--bs-sable-700-hsl)); + --bs-sable-800: hsl(var(--bs-sable-800-hsl)); + --bs-sable-900: hsl(var(--bs-sable-900-hsl)); + --bs-sable-hsl: var(--bs-sable-500-hsl); + --bs-sable: hsl(var(--bs-sable-hsl)); + --bs-sable-foreground-hsl: var(--bs-white-hsl); + --bs-sable-foreground: hsl(var(--bs-sable-foreground-hsl)); + --bs-sable-text-emphasis-hsl: var(--bs-sable-600-hsl); + --bs-sable-text-emphasis: hsl(var(--bs-sable-text-emphasis-hsl)); + --bs-sable-hover-bg: var(--bs-sable-600); + --bs-sable-active-bg: var(--bs-sable-700); + --bs-sable-bg-subtle: hsl(var(--bs-sable-hue), var(--bs-sable-saturation), 70%); + --bs-sable-border-subtle: var(--bs-sable-400); + --bs-sable-checkbox-svg: var(--bs-checkbox-svg-light); + --bs-sable-dash-svg: var(--bs-dash-svg-light); + --bs-sable-radio-svg: var(--bs-radio-svg-light); + --bs-sable-switch-svg: var(--bs-switch-svg-light); + + /* Red */ + + --bs-red-hue: 0; + --bs-red-saturation: 67.5%; + --bs-red-100-hsl: var(--bs-red-hue), var(--bs-red-saturation), 90%; + --bs-red-200-hsl: var(--bs-red-hue), var(--bs-red-saturation), 80%; + --bs-red-300-hsl: var(--bs-red-hue), var(--bs-red-saturation), 70%; + --bs-red-400-hsl: var(--bs-red-hue), var(--bs-red-saturation), 60%; + --bs-red-500-hsl: var(--bs-red-hue), var(--bs-red-saturation), 50%; + --bs-red-600-hsl: var(--bs-red-hue), var(--bs-red-saturation), 40%; + --bs-red-700-hsl: var(--bs-red-hue), var(--bs-red-saturation), 30%; + --bs-red-800-hsl: var(--bs-red-hue), var(--bs-red-saturation), 20%; + --bs-red-900-hsl: var(--bs-red-hue), var(--bs-red-saturation), 10%; + --bs-red-100: hsl(var(--bs-red-100-hsl)); + --bs-red-200: hsl(var(--bs-red-200-hsl)); + --bs-red-300: hsl(var(--bs-red-300-hsl)); + --bs-red-400: hsl(var(--bs-red-400-hsl)); + --bs-red-500: hsl(var(--bs-red-500-hsl)); + --bs-red-600: hsl(var(--bs-red-600-hsl)); + --bs-red-700: hsl(var(--bs-red-700-hsl)); + --bs-red-800: hsl(var(--bs-red-800-hsl)); + --bs-red-900: hsl(var(--bs-red-900-hsl)); + --bs-red-hsl: var(--bs-red-500-hsl); + --bs-red: hsl(var(--bs-red-hsl)); + --bs-red-foreground-hsl: var(--bs-white-hsl); + --bs-red-foreground: hsl(var(--bs-red-foreground-hsl)); + --bs-red-text-emphasis-hsl: var(--bs-red-600-hsl); + --bs-red-text-emphasis: hsl(var(--bs-red-text-emphasis-hsl)); + --bs-red-hover-bg: var(--bs-red-600); + --bs-red-active-bg: var(--bs-red-700); + --bs-red-bg-subtle: hsl(var(--bs-red-hue), var(--bs-red-saturation), 95%); + --bs-red-border-subtle: var(--bs-red-400); + --bs-red-checkbox-svg: var(--bs-checkbox-svg-light); + --bs-red-dash-svg: var(--bs-dash-svg-light); + --bs-red-radio-svg: var(--bs-radio-svg-light); + --bs-red-switch-svg: var(--bs-switch-svg-light); + + /* Orange */ + + --bs-orange-hue: 17; + --bs-orange-saturation: 88%; + --bs-orange-100-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 90%; + --bs-orange-200-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 80%; + --bs-orange-300-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 70%; + --bs-orange-400-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 60%; + --bs-orange-500-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 50%; + --bs-orange-600-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 40%; + --bs-orange-700-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 30%; + --bs-orange-800-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 20%; + --bs-orange-900-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 10%; + --bs-orange-100: hsl(var(--bs-orange-100-hsl)); + --bs-orange-200: hsl(var(--bs-orange-200-hsl)); + --bs-orange-300: hsl(var(--bs-orange-300-hsl)); + --bs-orange-400: hsl(var(--bs-orange-400-hsl)); + --bs-orange-500: hsl(var(--bs-orange-500-hsl)); + --bs-orange-600: hsl(var(--bs-orange-600-hsl)); + --bs-orange-700: hsl(var(--bs-orange-700-hsl)); + --bs-orange-800: hsl(var(--bs-orange-800-hsl)); + --bs-orange-900: hsl(var(--bs-orange-900-hsl)); + --bs-orange-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 44%; + --bs-orange: hsl(var(--bs-orange-hsl)); + --bs-orange-foreground-hsl: var(--bs-white-hsl); + --bs-orange-foreground: hsl(var(--bs-orange-foreground-hsl)); + --bs-orange-text-emphasis-hsl: var(--bs-orange-600-hsl); + --bs-orange-text-emphasis: hsl(var(--bs-orange-text-emphasis-hsl)); + --bs-orange-hover-bg: var(--bs-orange-600); + --bs-orange-active-bg: var(--bs-orange-700); + --bs-orange-bg-subtle: hsl(var(--bs-orange-hue), var(--bs-orange-saturation), 95%); + --bs-orange-border-subtle: var(--bs-orange-400); + --bs-orange-checkbox-svg: var(--bs-checkbox-svg-light); + --bs-orange-dash-svg: var(--bs-dash-svg-light); + --bs-orange-radio-svg: var(--bs-radio-svg-light); + --bs-orange-switch-svg: var(--bs-switch-svg-light); + + /* Sienna (burnt orange) */ + + --bs-sienna-hue: 25; + --bs-sienna-saturation: 50%; + --bs-sienna-100-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 90%; + --bs-sienna-200-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 80%; + --bs-sienna-300-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 70%; + --bs-sienna-400-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 60%; + --bs-sienna-500-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 50%; + --bs-sienna-600-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 40%; + --bs-sienna-700-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 30%; + --bs-sienna-800-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 20%; + --bs-sienna-900-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 10%; + --bs-sienna-100: hsl(var(--bs-sienna-100-hsl)); + --bs-sienna-200: hsl(var(--bs-sienna-200-hsl)); + --bs-sienna-300: hsl(var(--bs-sienna-300-hsl)); + --bs-sienna-400: hsl(var(--bs-sienna-400-hsl)); + --bs-sienna-500: hsl(var(--bs-sienna-500-hsl)); + --bs-sienna-600: hsl(var(--bs-sienna-600-hsl)); + --bs-sienna-700: hsl(var(--bs-sienna-700-hsl)); + --bs-sienna-800: hsl(var(--bs-sienna-800-hsl)); + --bs-sienna-900: hsl(var(--bs-sienna-900-hsl)); + --bs-sienna-hsl: var(--bs-sienna-600-hsl); + --bs-sienna: hsl(var(--bs-sienna-hsl)); + --bs-sienna-foreground-hsl: var(--bs-white-hsl); + --bs-sienna-foreground: hsl(var(--bs-sienna-foreground-hsl)); + --bs-sienna-text-emphasis-hsl: var(--bs-sienna-700-hsl); + --bs-sienna-text-emphasis: hsl(var(--bs-sienna-text-emphasis-hsl)); + --bs-sienna-hover-bg: var(--bs-sienna-700); + --bs-sienna-active-bg: var(--bs-sienna-800); + --bs-sienna-bg-subtle: hsl(var(--bs-sienna-hue), var(--bs-sienna-saturation), 95%); + --bs-sienna-border-subtle: var(--bs-sienna-400); + --bs-sienna-checkbox-svg: var(--bs-checkbox-svg-light); + --bs-sienna-dash-svg: var(--bs-dash-svg-light); + --bs-sienna-radio-svg: var(--bs-radio-svg-light); + --bs-sienna-switch-svg: var(--bs-switch-svg-light); + + /* Amber */ + + --bs-amber-hue: 38; + --bs-amber-saturation: 92%; + --bs-amber-100-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 90%; + --bs-amber-200-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 80%; + --bs-amber-300-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 70%; + --bs-amber-400-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 60%; + --bs-amber-500-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 50%; + --bs-amber-600-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 40%; + --bs-amber-700-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 30%; + --bs-amber-800-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 20%; + --bs-amber-900-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 10%; + --bs-amber-100: hsl(var(--bs-amber-100-hsl)); + --bs-amber-200: hsl(var(--bs-amber-200-hsl)); + --bs-amber-300: hsl(var(--bs-amber-300-hsl)); + --bs-amber-400: hsl(var(--bs-amber-400-hsl)); + --bs-amber-500: hsl(var(--bs-amber-500-hsl)); + --bs-amber-600: hsl(var(--bs-amber-600-hsl)); + --bs-amber-700: hsl(var(--bs-amber-700-hsl)); + --bs-amber-800: hsl(var(--bs-amber-800-hsl)); + --bs-amber-900: hsl(var(--bs-amber-900-hsl)); + --bs-amber-hsl: var(--bs-amber-500-hsl); + --bs-amber: hsl(var(--bs-amber-hsl)); + --bs-amber-foreground-hsl: var(--bs-amber-900-hsl); + --bs-amber-foreground: hsl(var(--bs-amber-foreground-hsl)); + --bs-amber-text-emphasis-hsl: var(--bs-amber-700-hsl); + --bs-amber-text-emphasis: hsl(var(--bs-amber-text-emphasis-hsl)); + --bs-amber-hover-bg: var(--bs-amber-400); + --bs-amber-active-bg: var(--bs-amber-300); + --bs-amber-bg-subtle: hsl(var(--bs-amber-hue), var(--bs-amber-saturation), 95%); + --bs-amber-border-subtle: var(--bs-amber-400); + --bs-amber-checkbox-svg: var(--bs-checkbox-svg-dark); + --bs-amber-dash-svg: var(--bs-dash-svg-dark); + --bs-amber-radio-svg: var(--bs-radio-svg-dark); + --bs-amber-switch-svg: var(--bs-switch-svg-dark); + + /* Yellow */ + + --bs-yellow-hue: 50; + --bs-yellow-saturation: 93%; + --bs-yellow-100-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 90%; + --bs-yellow-200-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 80%; + --bs-yellow-300-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 70%; + --bs-yellow-400-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 60%; + --bs-yellow-500-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 50%; + --bs-yellow-600-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 40%; + --bs-yellow-700-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 30%; + --bs-yellow-800-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 20%; + --bs-yellow-900-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 10%; + --bs-yellow-100: hsl(var(--bs-yellow-100-hsl)); + --bs-yellow-200: hsl(var(--bs-yellow-200-hsl)); + --bs-yellow-300: hsl(var(--bs-yellow-300-hsl)); + --bs-yellow-400: hsl(var(--bs-yellow-400-hsl)); + --bs-yellow-500: hsl(var(--bs-yellow-500-hsl)); + --bs-yellow-600: hsl(var(--bs-yellow-600-hsl)); + --bs-yellow-700: hsl(var(--bs-yellow-700-hsl)); + --bs-yellow-800: hsl(var(--bs-yellow-800-hsl)); + --bs-yellow-900: hsl(var(--bs-yellow-900-hsl)); + --bs-yellow-hsl: var(--bs-yellow-500-hsl); + --bs-yellow: hsl(var(--bs-yellow-hsl)); + --bs-yellow-foreground-hsl: var(--bs-yellow-900-hsl); + --bs-yellow-foreground: hsl(var(--bs-yellow-foreground-hsl)); + --bs-yellow-text-emphasis-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 25%; + --bs-yellow-text-emphasis: hsl(var(--bs-yellow-text-emphasis-hsl)); + --bs-yellow-hover-bg: var(--bs-yellow-400); + --bs-yellow-active-bg: var(--bs-yellow-300); + --bs-yellow-bg-subtle: hsl(var(--bs-yellow-hue), var(--bs-yellow-saturation), 95%); + --bs-yellow-border-subtle: var(--bs-yellow-400); + --bs-yellow-checkbox-svg: var(--bs-checkbox-svg-dark); + --bs-yellow-dash-svg: var(--bs-dash-svg-dark); + --bs-yellow-radio-svg: var(--bs-radio-svg-dark); + --bs-yellow-switch-svg: var(--bs-switch-svg-dark); + + /* Lime */ + + --bs-lime-hue: 83; + --bs-lime-saturation: 78%; + --bs-lime-100-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 90%; + --bs-lime-200-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 80%; + --bs-lime-300-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 70%; + --bs-lime-400-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 60%; + --bs-lime-500-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 50%; + --bs-lime-600-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 40%; + --bs-lime-700-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 30%; + --bs-lime-800-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 20%; + --bs-lime-900-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 10%; + --bs-lime-100: hsl(var(--bs-lime-100-hsl)); + --bs-lime-200: hsl(var(--bs-lime-200-hsl)); + --bs-lime-300: hsl(var(--bs-lime-300-hsl)); + --bs-lime-400: hsl(var(--bs-lime-400-hsl)); + --bs-lime-500: hsl(var(--bs-lime-500-hsl)); + --bs-lime-600: hsl(var(--bs-lime-600-hsl)); + --bs-lime-700: hsl(var(--bs-lime-700-hsl)); + --bs-lime-800: hsl(var(--bs-lime-800-hsl)); + --bs-lime-900: hsl(var(--bs-lime-900-hsl)); + --bs-lime-hsl: var(--bs-lime-500-hsl); + --bs-lime: hsl(var(--bs-lime-hsl)); + --bs-lime-foreground-hsl: var(--bs-lime-900-hsl); + --bs-lime-foreground: hsl(var(--bs-lime-foreground-hsl)); + --bs-lime-text-emphasis-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 27.5%; + --bs-lime-text-emphasis: hsl(var(--bs-lime-text-emphasis-hsl)); + --bs-lime-hover-bg: var(--bs-lime-400); + --bs-lime-active-bg: var(--bs-lime-300); + --bs-lime-bg-subtle: hsl(var(--bs-lime-hue), var(--bs-lime-saturation), 95%); + --bs-lime-border-subtle: var(--bs-lime-400); + --bs-lime-checkbox-svg: var(--bs-checkbox-svg-dark); + --bs-lime-dash-svg: var(--bs-dash-svg-dark); + --bs-lime-radio-svg: var(--bs-radio-svg-dark); + --bs-lime-switch-svg: var(--bs-switch-svg-dark); + + /* Green */ + + --bs-green-hue: 145; + --bs-green-saturation: 52%; + --bs-green-100-hsl: var(--bs-green-hue), var(--bs-green-saturation), 90%; + --bs-green-200-hsl: var(--bs-green-hue), var(--bs-green-saturation), 80%; + --bs-green-300-hsl: var(--bs-green-hue), var(--bs-green-saturation), 70%; + --bs-green-400-hsl: var(--bs-green-hue), var(--bs-green-saturation), 60%; + --bs-green-500-hsl: var(--bs-green-hue), var(--bs-green-saturation), 50%; + --bs-green-600-hsl: var(--bs-green-hue), var(--bs-green-saturation), 40%; + --bs-green-700-hsl: var(--bs-green-hue), var(--bs-green-saturation), 30%; + --bs-green-800-hsl: var(--bs-green-hue), var(--bs-green-saturation), 20%; + --bs-green-900-hsl: var(--bs-green-hue), var(--bs-green-saturation), 10%; + --bs-green-100: hsl(var(--bs-green-100-hsl)); + --bs-green-200: hsl(var(--bs-green-200-hsl)); + --bs-green-300: hsl(var(--bs-green-300-hsl)); + --bs-green-400: hsl(var(--bs-green-400-hsl)); + --bs-green-500: hsl(var(--bs-green-500-hsl)); + --bs-green-600: hsl(var(--bs-green-600-hsl)); + --bs-green-700: hsl(var(--bs-green-700-hsl)); + --bs-green-800: hsl(var(--bs-green-800-hsl)); + --bs-green-900: hsl(var(--bs-green-900-hsl)); + --bs-green-hsl: var(--bs-green-hue), var(--bs-green-saturation), 34%; + --bs-green: hsl(var(--bs-green-hsl)); + --bs-green-foreground-hsl: var(--bs-white-hsl); + --bs-green-foreground: hsl(var(--bs-green-foreground-hsl)); + --bs-green-text-emphasis-hsl: var(--bs-green-700-hsl); + --bs-green-text-emphasis: hsl(var(--bs-green-text-emphasis-hsl)); + --bs-green-hover-bg: var(--bs-green-700); + --bs-green-active-bg: var(--bs-green-800); + --bs-green-bg-subtle: hsl(var(--bs-green-hue), var(--bs-green-saturation), 95%); + --bs-green-border-subtle: var(--bs-green-400); + --bs-green-checkbox-svg: var(--bs-checkbox-svg-light); + --bs-green-dash-svg: var(--bs-dash-svg-light); + --bs-green-radio-svg: var(--bs-radio-svg-light); + --bs-green-switch-svg: var(--bs-switch-svg-light); + + /* Emerald */ + + --bs-emerald-hue: 160; + --bs-emerald-saturation: 84%; + --bs-emerald-100-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 90%; + --bs-emerald-200-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 80%; + --bs-emerald-300-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 70%; + --bs-emerald-400-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 60%; + --bs-emerald-500-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 50%; + --bs-emerald-600-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 40%; + --bs-emerald-700-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 30%; + --bs-emerald-800-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 20%; + --bs-emerald-900-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 10%; + --bs-emerald-100: hsl(var(--bs-emerald-100-hsl)); + --bs-emerald-200: hsl(var(--bs-emerald-200-hsl)); + --bs-emerald-300: hsl(var(--bs-emerald-300-hsl)); + --bs-emerald-400: hsl(var(--bs-emerald-400-hsl)); + --bs-emerald-500: hsl(var(--bs-emerald-500-hsl)); + --bs-emerald-600: hsl(var(--bs-emerald-600-hsl)); + --bs-emerald-700: hsl(var(--bs-emerald-700-hsl)); + --bs-emerald-800: hsl(var(--bs-emerald-800-hsl)); + --bs-emerald-900: hsl(var(--bs-emerald-900-hsl)); + --bs-emerald-hsl: var(--bs-emerald-500-hsl); + --bs-emerald: hsl(var(--bs-emerald-hsl)); + --bs-emerald-foreground-hsl: var(--bs-emerald-900-hsl); + --bs-emerald-foreground: hsl(var(--bs-emerald-foreground-hsl)); + --bs-emerald-text-emphasis-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 27.5%; + --bs-emerald-text-emphasis: hsl(var(--bs-emerald-text-emphasis-hsl)); + --bs-emerald-hover-bg: var(--bs-emerald-400); + --bs-emerald-active-bg: var(--bs-emerald-300); + --bs-emerald-bg-subtle: hsl(var(--bs-emerald-hue), var(--bs-emerald-saturation), 95%); + --bs-emerald-border-subtle: var(--bs-emerald-400); + --bs-emerald-checkbox-svg: var(--bs-checkbox-svg-dark); + --bs-emerald-dash-svg: var(--bs-dash-svg-dark); + --bs-emerald-radio-svg: var(--bs-radio-svg-dark); + --bs-emerald-switch-svg: var(--bs-switch-svg-dark); + + /* Turquoise */ + + --bs-turquoise-hue: 168; + --bs-turquoise-saturation: 52%; + --bs-turquoise-100-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 90%; + --bs-turquoise-200-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 80%; + --bs-turquoise-300-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 70%; + --bs-turquoise-400-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 60%; + --bs-turquoise-500-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 50%; + --bs-turquoise-600-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 40%; + --bs-turquoise-700-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 30%; + --bs-turquoise-800-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 20%; + --bs-turquoise-900-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 10%; + --bs-turquoise-100: hsl(var(--bs-turquoise-100-hsl)); + --bs-turquoise-200: hsl(var(--bs-turquoise-200-hsl)); + --bs-turquoise-300: hsl(var(--bs-turquoise-300-hsl)); + --bs-turquoise-400: hsl(var(--bs-turquoise-400-hsl)); + --bs-turquoise-500: hsl(var(--bs-turquoise-500-hsl)); + --bs-turquoise-600: hsl(var(--bs-turquoise-600-hsl)); + --bs-turquoise-700: hsl(var(--bs-turquoise-700-hsl)); + --bs-turquoise-800: hsl(var(--bs-turquoise-800-hsl)); + --bs-turquoise-900: hsl(var(--bs-turquoise-900-hsl)); + --bs-turquoise-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 34%; + --bs-turquoise: hsl(var(--bs-turquoise-hsl)); + --bs-turquoise-foreground-hsl: var(--bs-white-hsl); + --bs-turquoise-foreground: hsl(var(--bs-turquoise-foreground-hsl)); + --bs-turquoise-text-emphasis-hsl: var(--bs-turquoise-700-hsl); + --bs-turquoise-text-emphasis: hsl(var(--bs-turquoise-text-emphasis-hsl)); + --bs-turquoise-hover-bg: var(--bs-turquoise-700); + --bs-turquoise-active-bg: var(--bs-turquoise-800); + --bs-turquoise-bg-subtle: hsl(var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 95%); + --bs-turquoise-border-subtle: var(--bs-turquoise-400); + --bs-turquoise-checkbox-svg: var(--bs-checkbox-svg-light); + --bs-turquoise-dash-svg: var(--bs-dash-svg-light); + --bs-turquoise-radio-svg: var(--bs-radio-svg-light); + --bs-turquoise-switch-svg: var(--bs-switch-svg-light); + + /* Teal */ + + --bs-teal-hue: 173; + --bs-teal-saturation: 80%; + --bs-teal-100-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 90%; + --bs-teal-200-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 80%; + --bs-teal-300-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 70%; + --bs-teal-400-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 60%; + --bs-teal-500-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 50%; + --bs-teal-600-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 40%; + --bs-teal-700-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 30%; + --bs-teal-800-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 20%; + --bs-teal-900-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 10%; + --bs-teal-100: hsl(var(--bs-teal-100-hsl)); + --bs-teal-200: hsl(var(--bs-teal-200-hsl)); + --bs-teal-300: hsl(var(--bs-teal-300-hsl)); + --bs-teal-400: hsl(var(--bs-teal-400-hsl)); + --bs-teal-500: hsl(var(--bs-teal-500-hsl)); + --bs-teal-600: hsl(var(--bs-teal-600-hsl)); + --bs-teal-700: hsl(var(--bs-teal-700-hsl)); + --bs-teal-800: hsl(var(--bs-teal-800-hsl)); + --bs-teal-900: hsl(var(--bs-teal-900-hsl)); + --bs-teal-hsl: var(--bs-teal-500-hsl); + --bs-teal: hsl(var(--bs-teal-hsl)); + --bs-teal-foreground-hsl: var(--bs-teal-900-hsl); + --bs-teal-foreground: hsl(var(--bs-teal-foreground-hsl)); + --bs-teal-text-emphasis-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 27.5%; + --bs-teal-text-emphasis: hsl(var(--bs-teal-text-emphasis-hsl)); + --bs-teal-hover-bg: var(--bs-teal-400); + --bs-teal-active-bg: var(--bs-teal-300); + --bs-teal-bg-subtle: hsl(var(--bs-teal-hue), var(--bs-teal-saturation), 95%); + --bs-teal-border-subtle: var(--bs-teal-400); + --bs-teal-checkbox-svg: var(--bs-checkbox-svg-dark); + --bs-teal-dash-svg: var(--bs-dash-svg-dark); + --bs-teal-radio-svg: var(--bs-radio-svg-dark); + --bs-teal-switch-svg: var(--bs-switch-svg-dark); + + /* Cyan */ + + --bs-cyan-hue: 189; + --bs-cyan-saturation: 94%; + --bs-cyan-100-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 90%; + --bs-cyan-200-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 80%; + --bs-cyan-300-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 70%; + --bs-cyan-400-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 60%; + --bs-cyan-500-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 50%; + --bs-cyan-600-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 40%; + --bs-cyan-700-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 30%; + --bs-cyan-800-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 20%; + --bs-cyan-900-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 10%; + --bs-cyan-100: hsl(var(--bs-cyan-100-hsl)); + --bs-cyan-200: hsl(var(--bs-cyan-200-hsl)); + --bs-cyan-300: hsl(var(--bs-cyan-300-hsl)); + --bs-cyan-400: hsl(var(--bs-cyan-400-hsl)); + --bs-cyan-500: hsl(var(--bs-cyan-500-hsl)); + --bs-cyan-600: hsl(var(--bs-cyan-600-hsl)); + --bs-cyan-700: hsl(var(--bs-cyan-700-hsl)); + --bs-cyan-800: hsl(var(--bs-cyan-800-hsl)); + --bs-cyan-900: hsl(var(--bs-cyan-900-hsl)); + --bs-cyan-hsl: var(--bs-cyan-500-hsl); + --bs-cyan: hsl(var(--bs-cyan-hsl)); + --bs-cyan-foreground-hsl: var(--bs-cyan-900-hsl); + --bs-cyan-foreground: hsl(var(--bs-cyan-foreground-hsl)); + --bs-cyan-text-emphasis-hsl: var(--bs-cyan-700-hsl); + --bs-cyan-text-emphasis: hsl(var(--bs-cyan-text-emphasis-hsl)); + --bs-cyan-hover-bg: var(--bs-cyan-400); + --bs-cyan-active-bg: var(--bs-cyan-300); + --bs-cyan-bg-subtle: hsl(var(--bs-cyan-hue), var(--bs-cyan-saturation), 95%); + --bs-cyan-border-subtle: var(--bs-cyan-400); + --bs-cyan-checkbox-svg: var(--bs-checkbox-svg-dark); + --bs-cyan-dash-svg: var(--bs-dash-svg-dark); + --bs-cyan-radio-svg: var(--bs-radio-svg-dark); + --bs-cyan-switch-svg: var(--bs-switch-svg-dark); + + /* Sky */ + + --bs-sky-hue: 198; + --bs-sky-saturation: 100%; + --bs-sky-100-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 90%; + --bs-sky-200-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 80%; + --bs-sky-300-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 70%; + --bs-sky-400-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 60%; + --bs-sky-500-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 50%; + --bs-sky-600-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 40%; + --bs-sky-700-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 30%; + --bs-sky-800-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 20%; + --bs-sky-900-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 10%; + --bs-sky-100: hsl(var(--bs-sky-100-hsl)); + --bs-sky-200: hsl(var(--bs-sky-200-hsl)); + --bs-sky-300: hsl(var(--bs-sky-300-hsl)); + --bs-sky-400: hsl(var(--bs-sky-400-hsl)); + --bs-sky-500: hsl(var(--bs-sky-500-hsl)); + --bs-sky-600: hsl(var(--bs-sky-600-hsl)); + --bs-sky-700: hsl(var(--bs-sky-700-hsl)); + --bs-sky-800: hsl(var(--bs-sky-800-hsl)); + --bs-sky-900: hsl(var(--bs-sky-900-hsl)); + --bs-sky-hsl: var(--bs-sky-500-hsl); + --bs-sky: hsl(var(--bs-sky-hsl)); + --bs-sky-foreground-hsl: var(--bs-sky-900-hsl); + --bs-sky-foreground: hsl(var(--bs-sky-foreground-hsl)); + --bs-sky-text-emphasis-hsl: var(--bs-sky-700-hsl); + --bs-sky-text-emphasis: hsl(var(--bs-sky-text-emphasis-hsl)); + --bs-sky-hover-bg: var(--bs-sky-400); + --bs-sky-active-bg: var(--bs-sky-300); + --bs-sky-bg-subtle: hsl(var(--bs-sky-hue), var(--bs-sky-saturation), 95%); + --bs-sky-border-subtle: var(--bs-sky-400); + --bs-sky-checkbox-svg: var(--bs-checkbox-svg-dark); + --bs-sky-dash-svg: var(--bs-dash-svg-dark); + --bs-sky-radio-svg: var(--bs-radio-svg-dark); + --bs-sky-switch-svg: var(--bs-switch-svg-dark); + + /* Blue */ + + --bs-blue-hue: 216; + --bs-blue-saturation: 100%; + --bs-blue-100-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 90%; + --bs-blue-200-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 80%; + --bs-blue-300-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 70%; + --bs-blue-400-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 60%; + --bs-blue-500-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 50%; + --bs-blue-600-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 40%; + --bs-blue-700-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 30%; + --bs-blue-800-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 20%; + --bs-blue-900-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 10%; + --bs-blue-100: hsl(var(--bs-blue-100-hsl)); + --bs-blue-200: hsl(var(--bs-blue-200-hsl)); + --bs-blue-300: hsl(var(--bs-blue-300-hsl)); + --bs-blue-400: hsl(var(--bs-blue-400-hsl)); + --bs-blue-500: hsl(var(--bs-blue-500-hsl)); + --bs-blue-600: hsl(var(--bs-blue-600-hsl)); + --bs-blue-700: hsl(var(--bs-blue-700-hsl)); + --bs-blue-800: hsl(var(--bs-blue-800-hsl)); + --bs-blue-900: hsl(var(--bs-blue-900-hsl)); + --bs-blue-hsl: var(--bs-blue-500-hsl); + --bs-blue: hsl(var(--bs-blue-hsl)); + --bs-blue-foreground-hsl: var(--bs-white-hsl); + --bs-blue-foreground: hsl(var(--bs-blue-foreground-hsl)); + --bs-blue-text-emphasis-hsl: var(--bs-blue-600-hsl); + --bs-blue-text-emphasis: hsl(var(--bs-blue-text-emphasis-hsl)); + --bs-blue-hover-bg: var(--bs-blue-600); + --bs-blue-active-bg: var(--bs-blue-700); + --bs-blue-bg-subtle: hsl(var(--bs-blue-hue), var(--bs-blue-saturation), 95%); + --bs-blue-border-subtle: var(--bs-blue-400); + --bs-blue-checkbox-svg: var(--bs-checkbox-svg-light); + --bs-blue-dash-svg: var(--bs-dash-svg-light); + --bs-blue-radio-svg: var(--bs-radio-svg-light); + --bs-blue-switch-svg: var(--bs-switch-svg-light); + + /* Navy */ + + --bs-navy-hue: 235; + --bs-navy-saturation: 85%; + --bs-navy-100-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 90%; + --bs-navy-200-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 80%; + --bs-navy-300-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 70%; + --bs-navy-400-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 60%; + --bs-navy-500-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 50%; + --bs-navy-600-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 40%; + --bs-navy-700-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 30%; + --bs-navy-800-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 20%; + --bs-navy-900-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 10%; + --bs-navy-100: hsl(var(--bs-navy-100-hsl)); + --bs-navy-200: hsl(var(--bs-navy-200-hsl)); + --bs-navy-300: hsl(var(--bs-navy-300-hsl)); + --bs-navy-400: hsl(var(--bs-navy-400-hsl)); + --bs-navy-500: hsl(var(--bs-navy-500-hsl)); + --bs-navy-600: hsl(var(--bs-navy-600-hsl)); + --bs-navy-700: hsl(var(--bs-navy-700-hsl)); + --bs-navy-800: hsl(var(--bs-navy-800-hsl)); + --bs-navy-900: hsl(var(--bs-navy-900-hsl)); + --bs-navy-hsl: var(--bs-navy-500-hsl); + --bs-navy: hsl(var(--bs-navy-hsl)); + --bs-navy-foreground-hsl: var(--bs-white-hsl); + --bs-navy-foreground: hsl(var(--bs-navy-foreground-hsl)); + --bs-navy-text-emphasis-hsl: var(--bs-navy-600-hsl); + --bs-navy-text-emphasis: hsl(var(--bs-navy-text-emphasis-hsl)); + --bs-navy-hover-bg: var(--bs-navy-600); + --bs-navy-active-bg: var(--bs-navy-700); + --bs-navy-bg-subtle: hsl(var(--bs-navy-hue), var(--bs-navy-saturation), 95%); + --bs-navy-border-subtle: var(--bs-navy-400); + --bs-navy-checkbox-svg: var(--bs-checkbox-svg-light); + --bs-navy-dash-svg: var(--bs-dash-svg-light); + --bs-navy-radio-svg: var(--bs-radio-svg-light); + --bs-navy-switch-svg: var(--bs-switch-svg-light); + + /* Indigo */ + + --bs-indigo-hue: 241; + --bs-indigo-saturation: 60%; + --bs-indigo-100-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 90%; + --bs-indigo-200-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 80%; + --bs-indigo-300-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 70%; + --bs-indigo-400-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 60%; + --bs-indigo-500-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 50%; + --bs-indigo-600-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 40%; + --bs-indigo-700-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 30%; + --bs-indigo-800-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 20%; + --bs-indigo-900-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 10%; + --bs-indigo-100: hsl(var(--bs-indigo-100-hsl)); + --bs-indigo-200: hsl(var(--bs-indigo-200-hsl)); + --bs-indigo-300: hsl(var(--bs-indigo-300-hsl)); + --bs-indigo-400: hsl(var(--bs-indigo-400-hsl)); + --bs-indigo-500: hsl(var(--bs-indigo-500-hsl)); + --bs-indigo-600: hsl(var(--bs-indigo-600-hsl)); + --bs-indigo-700: hsl(var(--bs-indigo-700-hsl)); + --bs-indigo-800: hsl(var(--bs-indigo-800-hsl)); + --bs-indigo-900: hsl(var(--bs-indigo-900-hsl)); + --bs-indigo-hsl: var(--bs-indigo-500-hsl); + --bs-indigo: hsl(var(--bs-indigo-hsl)); + --bs-indigo-foreground-hsl: var(--bs-white-hsl); + --bs-indigo-foreground: hsl(var(--bs-indigo-foreground-hsl)); + --bs-indigo-text-emphasis-hsl: var(--bs-indigo-600-hsl); + --bs-indigo-text-emphasis: hsl(var(--bs-indigo-text-emphasis-hsl)); + --bs-indigo-hover-bg: var(--bs-indigo-600); + --bs-indigo-active-bg: var(--bs-indigo-700); + --bs-indigo-bg-subtle: hsl(var(--bs-indigo-hue), var(--bs-indigo-saturation), 95%); + --bs-indigo-border-subtle: var(--bs-indigo-400); + --bs-indigo-checkbox-svg: var(--bs-checkbox-svg-light); + --bs-indigo-dash-svg: var(--bs-dash-svg-light); + --bs-indigo-radio-svg: var(--bs-radio-svg-light); + --bs-indigo-switch-svg: var(--bs-switch-svg-light); + + /* Violet */ + + --bs-violet-hue: 262; + --bs-violet-saturation: 83%; + --bs-violet-100-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 90%; + --bs-violet-200-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 80%; + --bs-violet-300-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 70%; + --bs-violet-400-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 60%; + --bs-violet-500-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 50%; + --bs-violet-600-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 40%; + --bs-violet-700-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 30%; + --bs-violet-800-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 20%; + --bs-violet-900-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 10%; + --bs-violet-100: hsl(var(--bs-violet-100-hsl)); + --bs-violet-200: hsl(var(--bs-violet-200-hsl)); + --bs-violet-300: hsl(var(--bs-violet-300-hsl)); + --bs-violet-400: hsl(var(--bs-violet-400-hsl)); + --bs-violet-500: hsl(var(--bs-violet-500-hsl)); + --bs-violet-600: hsl(var(--bs-violet-600-hsl)); + --bs-violet-700: hsl(var(--bs-violet-700-hsl)); + --bs-violet-800: hsl(var(--bs-violet-800-hsl)); + --bs-violet-900: hsl(var(--bs-violet-900-hsl)); + --bs-violet-hsl: var(--bs-violet-500-hsl); + --bs-violet: hsl(var(--bs-violet-hsl)); + --bs-violet-foreground-hsl: var(--bs-white-hsl); + --bs-violet-foreground: hsl(var(--bs-violet-foreground-hsl)); + --bs-violet-text-emphasis-hsl: var(--bs-violet-600-hsl); + --bs-violet-text-emphasis: hsl(var(--bs-violet-text-emphasis-hsl)); + --bs-violet-hover-bg: var(--bs-violet-600); + --bs-violet-active-bg: var(--bs-violet-700); + --bs-violet-bg-subtle: hsl(var(--bs-violet-hue), var(--bs-violet-saturation), 95%); + --bs-violet-border-subtle: var(--bs-violet-400); + --bs-violet-checkbox-svg: var(--bs-checkbox-svg-light); + --bs-violet-dash-svg: var(--bs-dash-svg-light); + --bs-violet-radio-svg: var(--bs-radio-svg-light); + --bs-violet-switch-svg: var(--bs-switch-svg-light); + + /* Purple */ + + --bs-purple-hue: 271; + --bs-purple-saturation: 80%; + --bs-purple-100-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 90%; + --bs-purple-200-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 80%; + --bs-purple-300-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 70%; + --bs-purple-400-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 60%; + --bs-purple-500-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 50%; + --bs-purple-600-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 40%; + --bs-purple-700-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 30%; + --bs-purple-800-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 20%; + --bs-purple-900-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 10%; + --bs-purple-100: hsl(var(--bs-purple-100-hsl)); + --bs-purple-200: hsl(var(--bs-purple-200-hsl)); + --bs-purple-300: hsl(var(--bs-purple-300-hsl)); + --bs-purple-400: hsl(var(--bs-purple-400-hsl)); + --bs-purple-500: hsl(var(--bs-purple-500-hsl)); + --bs-purple-600: hsl(var(--bs-purple-600-hsl)); + --bs-purple-700: hsl(var(--bs-purple-700-hsl)); + --bs-purple-800: hsl(var(--bs-purple-800-hsl)); + --bs-purple-900: hsl(var(--bs-purple-900-hsl)); + --bs-purple-hsl: var(--bs-purple-500-hsl); + --bs-purple: hsl(var(--bs-purple-hsl)); + --bs-purple-foreground-hsl: var(--bs-white-hsl); + --bs-purple-foreground: hsl(var(--bs-purple-foreground-hsl)); + --bs-purple-text-emphasis-hsl: var(--bs-purple-600-hsl); + --bs-purple-text-emphasis: hsl(var(--bs-purple-text-emphasis-hsl)); + --bs-purple-hover-bg: var(--bs-purple-600); + --bs-purple-active-bg: var(--bs-purple-700); + --bs-purple-bg-subtle: hsl(var(--bs-purple-hue), var(--bs-purple-saturation), 95%); + --bs-purple-border-subtle: var(--bs-purple-400); + --bs-purple-checkbox-svg: var(--bs-checkbox-svg-light); + --bs-purple-dash-svg: var(--bs-dash-svg-light); + --bs-purple-radio-svg: var(--bs-radio-svg-light); + --bs-purple-switch-svg: var(--bs-switch-svg-light); + + /* Fuchsia */ + + --bs-fuchsia-hue: 292; + --bs-fuchsia-saturation: 52.5%; + --bs-fuchsia-100-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 90%; + --bs-fuchsia-200-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 80%; + --bs-fuchsia-300-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 70%; + --bs-fuchsia-400-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 60%; + --bs-fuchsia-500-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 50%; + --bs-fuchsia-600-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 40%; + --bs-fuchsia-700-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 30%; + --bs-fuchsia-800-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 20%; + --bs-fuchsia-900-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 10%; + --bs-fuchsia-100: hsl(var(--bs-fuchsia-100-hsl)); + --bs-fuchsia-200: hsl(var(--bs-fuchsia-200-hsl)); + --bs-fuchsia-300: hsl(var(--bs-fuchsia-300-hsl)); + --bs-fuchsia-400: hsl(var(--bs-fuchsia-400-hsl)); + --bs-fuchsia-500: hsl(var(--bs-fuchsia-500-hsl)); + --bs-fuchsia-600: hsl(var(--bs-fuchsia-600-hsl)); + --bs-fuchsia-700: hsl(var(--bs-fuchsia-700-hsl)); + --bs-fuchsia-800: hsl(var(--bs-fuchsia-800-hsl)); + --bs-fuchsia-900: hsl(var(--bs-fuchsia-900-hsl)); + --bs-fuchsia-hsl: var(--bs-fuchsia-500-hsl); + --bs-fuchsia: hsl(var(--bs-fuchsia-hsl)); + --bs-fuchsia-foreground-hsl: var(--bs-white-hsl); + --bs-fuchsia-foreground: hsl(var(--bs-fuchsia-foreground-hsl)); + --bs-fuchsia-text-emphasis-hsl: var(--bs-fuchsia-600-hsl); + --bs-fuchsia-text-emphasis: hsl(var(--bs-fuchsia-text-emphasis-hsl)); + --bs-fuchsia-hover-bg: var(--bs-fuchsia-600); + --bs-fuchsia-active-bg: var(--bs-fuchsia-700); + --bs-fuchsia-bg-subtle: hsl(var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 95%); + --bs-fuchsia-border-subtle: var(--bs-fuchsia-400); + --bs-fuchsia-checkbox-svg: var(--bs-checkbox-svg-light); + --bs-fuchsia-dash-svg: var(--bs-dash-svg-light); + --bs-fuchsia-radio-svg: var(--bs-radio-svg-light); + --bs-fuchsia-switch-svg: var(--bs-switch-svg-light); + + /* Pink (magenta) */ + + --bs-pink-hue: 331; + --bs-pink-saturation: 60%; + --bs-pink-100-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 90%; + --bs-pink-200-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 80%; + --bs-pink-300-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 70%; + --bs-pink-400-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 60%; + --bs-pink-500-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 50%; + --bs-pink-600-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 40%; + --bs-pink-700-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 30%; + --bs-pink-800-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 20%; + --bs-pink-900-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 10%; + --bs-pink-100: hsl(var(--bs-pink-100-hsl)); + --bs-pink-200: hsl(var(--bs-pink-200-hsl)); + --bs-pink-300: hsl(var(--bs-pink-300-hsl)); + --bs-pink-400: hsl(var(--bs-pink-400-hsl)); + --bs-pink-500: hsl(var(--bs-pink-500-hsl)); + --bs-pink-600: hsl(var(--bs-pink-600-hsl)); + --bs-pink-700: hsl(var(--bs-pink-700-hsl)); + --bs-pink-800: hsl(var(--bs-pink-800-hsl)); + --bs-pink-900: hsl(var(--bs-pink-900-hsl)); + --bs-pink-hsl: var(--bs-pink-500-hsl); + --bs-pink: hsl(var(--bs-pink-hsl)); + --bs-pink-foreground-hsl: var(--bs-white-hsl); + --bs-pink-foreground: hsl(var(--bs-pink-foreground-hsl)); + --bs-pink-text-emphasis-hsl: var(--bs-pink-600-hsl); + --bs-pink-text-emphasis: hsl(var(--bs-pink-text-emphasis-hsl)); + --bs-pink-hover-bg: var(--bs-pink-600); + --bs-pink-active-bg: var(--bs-pink-700); + --bs-pink-bg-subtle: hsl(var(--bs-pink-hue), var(--bs-pink-saturation), 95%); + --bs-pink-border-subtle: var(--bs-pink-400); + --bs-pink-checkbox-svg: var(--bs-checkbox-svg-light); + --bs-pink-dash-svg: var(--bs-dash-svg-light); + --bs-pink-radio-svg: var(--bs-radio-svg-light); + --bs-pink-switch-svg: var(--bs-switch-svg-light); + + /* Primary */ + + --bs-primary-hue: var(--bs-blue-hue); + --bs-primary-saturation: var(--bs-blue-saturation); + --bs-primary-100-hsl: var(--bs-blue-100-hsl); + --bs-primary-200-hsl: var(--bs-blue-200-hsl); + --bs-primary-300-hsl: var(--bs-blue-300-hsl); + --bs-primary-400-hsl: var(--bs-blue-400-hsl); + --bs-primary-500-hsl: var(--bs-blue-500-hsl); + --bs-primary-600-hsl: var(--bs-blue-600-hsl); + --bs-primary-700-hsl: var(--bs-blue-700-hsl); + --bs-primary-800-hsl: var(--bs-blue-800-hsl); + --bs-primary-900-hsl: var(--bs-blue-900-hsl); + --bs-primary-100: var(--bs-blue-100); + --bs-primary-200: var(--bs-blue-200); + --bs-primary-300: var(--bs-blue-300); + --bs-primary-400: var(--bs-blue-400); + --bs-primary-500: var(--bs-blue-500); + --bs-primary-600: var(--bs-blue-600); + --bs-primary-700: var(--bs-blue-700); + --bs-primary-800: var(--bs-blue-800); + --bs-primary-900: var(--bs-blue-900); + --bs-primary-hsl: var(--bs-blue-hsl); + --bs-primary: var(--bs-blue); + --bs-primary-foreground-hsl: var(--bs-blue-foreground-hsl); + --bs-primary-foreground: var(--bs-blue-foreground); + --bs-primary-text-emphasis-hsl: var(--bs-blue-text-emphasis-hsl); + --bs-primary-text-emphasis: var(--bs-blue-text-emphasis); + --bs-primary-hover-bg: var(--bs-blue-hover-bg); + --bs-primary-active-bg: var(--bs-blue-active-bg); + --bs-primary-bg-subtle: var(--bs-blue-bg-subtle); + --bs-primary-border-subtle: var(--bs-blue-border-subtle); + --bs-primary-checkbox-svg: var(--bs-blue-checkbox-svg); + --bs-primary-dash-svg: var(--bs-blue-dash-svg); + --bs-primary-radio-svg: var(--bs-blue-radio-svg); + --bs-primary-switch-svg: var(--bs-blue-switch-svg); + + /* Secondary */ + + --bs-secondary-hue: var(--bs-gray-hue); + --bs-secondary-saturation: var(--bs-gray-saturation); + --bs-secondary-100-hsl: var(--bs-gray-100-hsl); + --bs-secondary-200-hsl: var(--bs-gray-200-hsl); + --bs-secondary-300-hsl: var(--bs-gray-300-hsl); + --bs-secondary-400-hsl: var(--bs-gray-400-hsl); + --bs-secondary-500-hsl: var(--bs-gray-500-hsl); + --bs-secondary-600-hsl: var(--bs-gray-600-hsl); + --bs-secondary-700-hsl: var(--bs-gray-700-hsl); + --bs-secondary-800-hsl: var(--bs-gray-800-hsl); + --bs-secondary-900-hsl: var(--bs-gray-900-hsl); + --bs-secondary-100: var(--bs-gray-100); + --bs-secondary-200: var(--bs-gray-200); + --bs-secondary-300: var(--bs-gray-300); + --bs-secondary-400: var(--bs-gray-400); + --bs-secondary-500: var(--bs-gray-500); + --bs-secondary-600: var(--bs-gray-600); + --bs-secondary-700: var(--bs-gray-700); + --bs-secondary-800: var(--bs-gray-800); + --bs-secondary-900: var(--bs-gray-900); + --bs-secondary-hsl: var(--bs-gray-hsl); + --bs-secondary: var(--bs-gray); + --bs-secondary-foreground-hsl: var(--bs-gray-foreground-hsl); + --bs-secondary-foreground: var(--bs-gray-foreground); + --bs-secondary-text-emphasis-hsl: var(--bs-gray-text-emphasis-hsl); + --bs-secondary-text-emphasis: var(--bs-gray-text-emphasis); + --bs-secondary-hover-bg: var(--bs-gray-hover-bg); + --bs-secondary-active-bg: var(--bs-gray-active-bg); + --bs-secondary-bg-subtle: var(--bs-gray-bg-subtle); + --bs-secondary-border-subtle: var(--bs-gray-border-subtle); + --bs-secondary-checkbox-svg: var(--bs-gray-checkbox-svg); + --bs-secondary-dash-svg: var(--bs-gray-dash-svg); + --bs-secondary-radio-svg: var(--bs-gray-radio-svg); + --bs-secondary-switch-svg: var(--bs-gray-switch-svg); + + /* Success */ + + --bs-success-hue: var(--bs-green-hue); + --bs-success-saturation: var(--bs-green-saturation); + --bs-success-100-hsl: var(--bs-green-100-hsl); + --bs-success-200-hsl: var(--bs-green-200-hsl); + --bs-success-300-hsl: var(--bs-green-300-hsl); + --bs-success-400-hsl: var(--bs-green-400-hsl); + --bs-success-500-hsl: var(--bs-green-500-hsl); + --bs-success-600-hsl: var(--bs-green-600-hsl); + --bs-success-700-hsl: var(--bs-green-700-hsl); + --bs-success-800-hsl: var(--bs-green-800-hsl); + --bs-success-900-hsl: var(--bs-green-900-hsl); + --bs-success-100: var(--bs-green-100); + --bs-success-200: var(--bs-green-200); + --bs-success-300: var(--bs-green-300); + --bs-success-400: var(--bs-green-400); + --bs-success-500: var(--bs-green-500); + --bs-success-600: var(--bs-green-600); + --bs-success-700: var(--bs-green-700); + --bs-success-800: var(--bs-green-800); + --bs-success-900: var(--bs-green-900); + --bs-success-hsl: var(--bs-green-hsl); + --bs-success: var(--bs-green); + --bs-success-foreground-hsl: var(--bs-green-foreground-hsl); + --bs-success-foreground: var(--bs-green-foreground); + --bs-success-text-emphasis-hsl: var(--bs-green-text-emphasis-hsl); + --bs-success-text-emphasis: var(--bs-green-text-emphasis); + --bs-success-hover-bg: var(--bs-green-hover-bg); + --bs-success-active-bg: var(--bs-green-active-bg); + --bs-success-bg-subtle: var(--bs-green-bg-subtle); + --bs-success-border-subtle: var(--bs-green-border-subtle); + --bs-success-checkbox-svg: var(--bs-green-checkbox-svg); + --bs-success-dash-svg: var(--bs-green-dash-svg); + --bs-success-radio-svg: var(--bs-green-radio-svg); + --bs-success-switch-svg: var(--bs-green-switch-svg); + + /* Info */ + + --bs-info-hue: var(--bs-cyan-hue); + --bs-info-saturation: var(--bs-cyan-saturation); + --bs-info-100-hsl: var(--bs-cyan-100-hsl); + --bs-info-200-hsl: var(--bs-cyan-200-hsl); + --bs-info-300-hsl: var(--bs-cyan-300-hsl); + --bs-info-400-hsl: var(--bs-cyan-400-hsl); + --bs-info-500-hsl: var(--bs-cyan-500-hsl); + --bs-info-600-hsl: var(--bs-cyan-600-hsl); + --bs-info-700-hsl: var(--bs-cyan-700-hsl); + --bs-info-800-hsl: var(--bs-cyan-800-hsl); + --bs-info-900-hsl: var(--bs-cyan-900-hsl); + --bs-info-100: var(--bs-cyan-100); + --bs-info-200: var(--bs-cyan-200); + --bs-info-300: var(--bs-cyan-300); + --bs-info-400: var(--bs-cyan-400); + --bs-info-500: var(--bs-cyan-500); + --bs-info-600: var(--bs-cyan-600); + --bs-info-700: var(--bs-cyan-700); + --bs-info-800: var(--bs-cyan-800); + --bs-info-900: var(--bs-cyan-900); + --bs-info-hsl: var(--bs-cyan-hsl); + --bs-info: var(--bs-cyan); + --bs-info-foreground-hsl: var(--bs-cyan-foreground-hsl); + --bs-info-foreground: var(--bs-cyan-foreground); + --bs-info-text-emphasis-hsl: var(--bs-cyan-text-emphasis-hsl); + --bs-info-text-emphasis: var(--bs-cyan-text-emphasis); + --bs-info-hover-bg: var(--bs-cyan-hover-bg); + --bs-info-active-bg: var(--bs-cyan-active-bg); + --bs-info-bg-subtle: var(--bs-cyan-bg-subtle); + --bs-info-border-subtle: var(--bs-cyan-border-subtle); + --bs-info-checkbox-svg: var(--bs-cyan-checkbox-svg); + --bs-info-dash-svg: var(--bs-cyan-dash-svg); + --bs-info-radio-svg: var(--bs-cyan-radio-svg); + --bs-info-switch-svg: var(--bs-cyan-switch-svg); + + /* Warning */ + + --bs-warning-hue: var(--bs-yellow-hue); + --bs-warning-saturation: var(--bs-yellow-saturation); + --bs-warning-100-hsl: var(--bs-yellow-100-hsl); + --bs-warning-200-hsl: var(--bs-yellow-200-hsl); + --bs-warning-300-hsl: var(--bs-yellow-300-hsl); + --bs-warning-400-hsl: var(--bs-yellow-400-hsl); + --bs-warning-500-hsl: var(--bs-yellow-500-hsl); + --bs-warning-600-hsl: var(--bs-yellow-600-hsl); + --bs-warning-700-hsl: var(--bs-yellow-700-hsl); + --bs-warning-800-hsl: var(--bs-yellow-800-hsl); + --bs-warning-900-hsl: var(--bs-yellow-900-hsl); + --bs-warning-100: var(--bs-yellow-100); + --bs-warning-200: var(--bs-yellow-200); + --bs-warning-300: var(--bs-yellow-300); + --bs-warning-400: var(--bs-yellow-400); + --bs-warning-500: var(--bs-yellow-500); + --bs-warning-600: var(--bs-yellow-600); + --bs-warning-700: var(--bs-yellow-700); + --bs-warning-800: var(--bs-yellow-800); + --bs-warning-900: var(--bs-yellow-900); + --bs-warning-hsl: var(--bs-yellow-hsl); + --bs-warning: var(--bs-yellow); + --bs-warning-foreground-hsl: var(--bs-yellow-foreground-hsl); + --bs-warning-foreground: var(--bs-yellow-foreground); + --bs-warning-text-emphasis-hsl: var(--bs-yellow-text-emphasis-hsl); + --bs-warning-text-emphasis: var(--bs-yellow-text-emphasis); + --bs-warning-hover-bg: var(--bs-yellow-hover-bg); + --bs-warning-active-bg: var(--bs-yellow-active-bg); + --bs-warning-bg-subtle: var(--bs-yellow-bg-subtle); + --bs-warning-border-subtle: var(--bs-yellow-border-subtle); + --bs-warning-checkbox-svg: var(--bs-yellow-checkbox-svg); + --bs-warning-dash-svg: var(--bs-yellow-dash-svg); + --bs-warning-radio-svg: var(--bs-yellow-radio-svg); + --bs-warning-switch-svg: var(--bs-yellow-switch-svg); + + /* Danger */ + + --bs-danger-hue: var(--bs-red-hue); + --bs-danger-saturation: var(--bs-red-saturation); + --bs-danger-100-hsl: var(--bs-red-100-hsl); + --bs-danger-200-hsl: var(--bs-red-200-hsl); + --bs-danger-300-hsl: var(--bs-red-300-hsl); + --bs-danger-400-hsl: var(--bs-red-400-hsl); + --bs-danger-500-hsl: var(--bs-red-500-hsl); + --bs-danger-600-hsl: var(--bs-red-600-hsl); + --bs-danger-700-hsl: var(--bs-red-700-hsl); + --bs-danger-800-hsl: var(--bs-red-800-hsl); + --bs-danger-900-hsl: var(--bs-red-900-hsl); + --bs-danger-100: var(--bs-red-100); + --bs-danger-200: var(--bs-red-200); + --bs-danger-300: var(--bs-red-300); + --bs-danger-400: var(--bs-red-400); + --bs-danger-500: var(--bs-red-500); + --bs-danger-600: var(--bs-red-600); + --bs-danger-700: var(--bs-red-700); + --bs-danger-800: var(--bs-red-800); + --bs-danger-900: var(--bs-red-900); + --bs-danger-hsl: var(--bs-red-hsl); + --bs-danger: var(--bs-red); + --bs-danger-foreground-hsl: var(--bs-red-foreground-hsl); + --bs-danger-foreground: var(--bs-red-foreground); + --bs-danger-text-emphasis-hsl: var(--bs-red-text-emphasis-hsl); + --bs-danger-text-emphasis: var(--bs-red-text-emphasis); + --bs-danger-hover-bg: var(--bs-red-hover-bg); + --bs-danger-active-bg: var(--bs-red-active-bg); + --bs-danger-bg-subtle: var(--bs-red-bg-subtle); + --bs-danger-border-subtle: var(--bs-red-border-subtle); + --bs-danger-checkbox-svg: var(--bs-red-checkbox-svg); + --bs-danger-dash-svg: var(--bs-red-dash-svg); + --bs-danger-radio-svg: var(--bs-red-radio-svg); + --bs-danger-switch-svg: var(--bs-red-switch-svg); + + /* Light */ + + --bs-light-hue: var(--bs-lightgray-hue); + --bs-light-saturation: var(--bs-lightgray-saturation); + --bs-light-100-hsl: var(--bs-lightgray-100-hsl); + --bs-light-200-hsl: var(--bs-lightgray-200-hsl); + --bs-light-300-hsl: var(--bs-lightgray-300-hsl); + --bs-light-400-hsl: var(--bs-lightgray-400-hsl); + --bs-light-500-hsl: var(--bs-lightgray-500-hsl); + --bs-light-600-hsl: var(--bs-lightgray-600-hsl); + --bs-light-700-hsl: var(--bs-lightgray-700-hsl); + --bs-light-800-hsl: var(--bs-lightgray-800-hsl); + --bs-light-900-hsl: var(--bs-lightgray-900-hsl); + --bs-light-100: var(--bs-lightgray-100); + --bs-light-200: var(--bs-lightgray-200); + --bs-light-300: var(--bs-lightgray-300); + --bs-light-400: var(--bs-lightgray-400); + --bs-light-500: var(--bs-lightgray-500); + --bs-light-600: var(--bs-lightgray-600); + --bs-light-700: var(--bs-lightgray-700); + --bs-light-800: var(--bs-lightgray-800); + --bs-light-900: var(--bs-lightgray-900); + --bs-light-hsl: var(--bs-lightgray-hsl); + --bs-light: var(--bs-lightgray); + --bs-light-foreground-hsl: var(--bs-lightgray-foreground-hsl); + --bs-light-foreground: var(--bs-lightgray-foreground); + --bs-light-text-emphasis-hsl: var(--bs-lightgray-text-emphasis-hsl); + --bs-light-text-emphasis: var(--bs-lightgray-text-emphasis); + --bs-light-hover-bg: var(--bs-lightgray-hover-bg); + --bs-light-active-bg: var(--bs-lightgray-active-bg); + --bs-light-bg-subtle: var(--bs-lightgray-bg-subtle); + --bs-light-border-subtle: var(--bs-lightgray-border-subtle); + --bs-light-checkbox-svg: var(--bs-lightgray-checkbox-svg); + --bs-light-dash-svg: var(--bs-lightgray-dash-svg); + --bs-light-radio-svg: var(--bs-lightgray-radio-svg); + --bs-light-switch-svg: var(--bs-lightgray-switch-svg); + + /* Dark */ + + --bs-dark-hue: var(--bs-darkgray-hue); + --bs-dark-saturation: var(--bs-darkgray-saturation); + --bs-dark-100-hsl: var(--bs-darkgray-100-hsl); + --bs-dark-200-hsl: var(--bs-darkgray-200-hsl); + --bs-dark-300-hsl: var(--bs-darkgray-300-hsl); + --bs-dark-400-hsl: var(--bs-darkgray-400-hsl); + --bs-dark-500-hsl: var(--bs-darkgray-500-hsl); + --bs-dark-600-hsl: var(--bs-darkgray-600-hsl); + --bs-dark-700-hsl: var(--bs-darkgray-700-hsl); + --bs-dark-800-hsl: var(--bs-darkgray-800-hsl); + --bs-dark-900-hsl: var(--bs-darkgray-900-hsl); + --bs-dark-100: var(--bs-darkgray-100); + --bs-dark-200: var(--bs-darkgray-200); + --bs-dark-300: var(--bs-darkgray-300); + --bs-dark-400: var(--bs-darkgray-400); + --bs-dark-500: var(--bs-darkgray-500); + --bs-dark-600: var(--bs-darkgray-600); + --bs-dark-700: var(--bs-darkgray-700); + --bs-dark-800: var(--bs-darkgray-800); + --bs-dark-900: var(--bs-darkgray-900); + --bs-dark-hsl: var(--bs-darkgray-hsl); + --bs-dark: var(--bs-darkgray); + --bs-dark-foreground-hsl: var(--bs-darkgray-foreground-hsl); + --bs-dark-foreground: var(--bs-darkgray-foreground); + --bs-dark-text-emphasis-hsl: var(--bs-darkgray-text-emphasis-hsl); + --bs-dark-text-emphasis: var(--bs-darkgray-text-emphasis); + --bs-dark-hover-bg: var(--bs-darkgray-hover-bg); + --bs-dark-active-bg: var(--bs-darkgray-active-bg); + --bs-dark-bg-subtle: var(--bs-darkgray-bg-subtle); + --bs-dark-border-subtle: var(--bs-darkgray-border-subtle); + --bs-dark-checkbox-svg: var(--bs-darkgray-checkbox-svg); + --bs-dark-dash-svg: var(--bs-darkgray-dash-svg); + --bs-dark-radio-svg: var(--bs-darkgray-radio-svg); + --bs-dark-switch-svg: var(--bs-darkgray-switch-svg); +} + +[data-bs-theme=dark] { + /* Light gray */ + + --bs-lightgray-text-emphasis-hsl: var(--bs-lightgray-400-hsl); + --bs-lightgray-text-emphasis: hsl(var(--bs-lightgray-text-emphasis-hsl)); + --bs-lightgray-bg-subtle: hsl(var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 30%); + --bs-lightgray-border-subtle: var(--bs-lightgray-600); + + /* Gray */ + + --bs-gray-text-emphasis-hsl: var(--bs-gray-300-hsl); + --bs-gray-text-emphasis: hsl(var(--bs-gray-text-emphasis-hsl)); + --bs-gray-bg-subtle: hsl(var(--bs-gray-hue), var(--bs-gray-saturation), 25%); + --bs-gray-border-subtle: var(--bs-gray-600); + + /* Dark gray */ + + --bs-darkgray-text-emphasis-hsl: var(--bs-darkgray-300-hsl); + --bs-darkgray-text-emphasis: hsl(var(--bs-darkgray-text-emphasis-hsl)); + --bs-darkgray-bg-subtle: hsl(var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 17.5%); + --bs-darkgray-border-subtle: var(--bs-darkgray-600); + + /* Sable (black) */ + + --bs-sable-text-emphasis-hsl: var(--bs-sable-400-hsl); + --bs-sable-text-emphasis: hsl(var(--bs-sable-text-emphasis-hsl)); + --bs-sable-bg-subtle: hsl(var(--bs-sable-hue), var(--bs-sable-saturation), 12%); + --bs-sable-border-subtle: var(--bs-sable-600); + + /* Red */ + + --bs-red-text-emphasis-hsl: var(--bs-red-hue), var(--bs-red-saturation), 65%; + --bs-red-text-emphasis: hsl(var(--bs-red-text-emphasis-hsl)); + --bs-red-bg-subtle: hsl(var(--bs-red-hue), calc(var(--bs-red-saturation)/3), 15%); + --bs-red-border-subtle: var(--bs-red-600); + + /* Orange */ + + --bs-orange-text-emphasis-hsl: var(--bs-orange-400-hsl); + --bs-orange-text-emphasis: hsl(var(--bs-orange-text-emphasis-hsl)); + --bs-orange-bg-subtle: hsl(var(--bs-orange-hue), calc(var(--bs-orange-saturation)/3), 15%); + --bs-orange-border-subtle: var(--bs-orange-600); + + /* Sienna (burnt orange) */ + + --bs-sienna-text-emphasis-hsl: var(--bs-sienna-400-hsl); + --bs-sienna-text-emphasis: hsl(var(--bs-sienna-text-emphasis-hsl)); + --bs-sienna-bg-subtle: hsl(var(--bs-sienna-hue), calc(var(--bs-sienna-saturation)/3), 15%); + --bs-sienna-border-subtle: var(--bs-sienna-600); + + /* Amber */ + + --bs-amber-text-emphasis-hsl: var(--bs-amber-400-hsl); + --bs-amber-text-emphasis: hsl(var(--bs-amber-text-emphasis-hsl)); + --bs-amber-bg-subtle: hsl(var(--bs-amber-hue), calc(var(--bs-amber-saturation)/3), 15%); + --bs-amber-border-subtle: var(--bs-amber-600); + + /* Yellow */ + + --bs-yellow-text-emphasis-hsl: var(--bs-yellow-400-hsl); + --bs-yellow-text-emphasis: hsl(var(--bs-yellow-text-emphasis-hsl)); + --bs-yellow-bg-subtle: hsl(var(--bs-yellow-hue), calc(var(--bs-yellow-saturation)/3), 15%); + --bs-yellow-border-subtle: var(--bs-yellow-600); + + /* Lime */ + + --bs-lime-text-emphasis-hsl: var(--bs-lime-400-hsl); + --bs-lime-text-emphasis: hsl(var(--bs-lime-text-emphasis-hsl)); + --bs-lime-bg-subtle: hsl(var(--bs-lime-hue), calc(var(--bs-lime-saturation)/3), 15%); + --bs-lime-border-subtle: var(--bs-lime-600); + + /* Green */ + + --bs-green-text-emphasis-hsl: var(--bs-green-400-hsl); + --bs-green-text-emphasis: hsl(var(--bs-green-text-emphasis-hsl)); + --bs-green-bg-subtle: hsl(var(--bs-green-hue), calc(var(--bs-green-saturation)/3), 15%); + --bs-green-border-subtle: var(--bs-green-600); + + /* Emerald */ + + --bs-emerald-text-emphasis-hsl: var(--bs-emerald-400-hsl); + --bs-emerald-text-emphasis: hsl(var(--bs-emerald-text-emphasis-hsl)); + --bs-emerald-bg-subtle: hsl(var(--bs-emerald-hue), calc(var(--bs-emerald-saturation)/3), 15%); + --bs-emerald-border-subtle: var(--bs-emerald-600); + + /* Turquoise */ + + --bs-turquoise-text-emphasis-hsl: var(--bs-turquoise-400-hsl); + --bs-turquoise-text-emphasis: hsl(var(--bs-turquoise-text-emphasis-hsl)); + --bs-turquoise-bg-subtle: hsl(var(--bs-turquoise-hue), calc(var(--bs-turquoise-saturation)/3), 15%); + --bs-turquoise-border-subtle: var(--bs-turquoise-600); + + /* Teal */ + + --bs-teal-text-emphasis-hsl: var(--bs-teal-400-hsl); + --bs-teal-text-emphasis: hsl(var(--bs-teal-text-emphasis-hsl)); + --bs-teal-bg-subtle: hsl(var(--bs-teal-hue), calc(var(--bs-teal-saturation)/3), 15%); + --bs-teal-border-subtle: var(--bs-teal-600); + + /* Cyan */ + + --bs-cyan-text-emphasis-hsl: var(--bs-cyan-400-hsl); + --bs-cyan-text-emphasis: hsl(var(--bs-cyan-text-emphasis-hsl)); + --bs-cyan-bg-subtle: hsl(var(--bs-cyan-hue), calc(var(--bs-cyan-saturation)/3), 15%); + --bs-cyan-border-subtle: var(--bs-cyan-600); + + /* Sky */ + + --bs-sky-text-emphasis-hsl: var(--bs-sky-400-hsl); + --bs-sky-text-emphasis: hsl(var(--bs-sky-text-emphasis-hsl)); + --bs-sky-bg-subtle: hsl(var(--bs-sky-hue), calc(var(--bs-sky-saturation)/3), 15%); + --bs-sky-border-subtle: var(--bs-sky-600); + + /* Blue */ + + --bs-blue-text-emphasis-hsl: var(--bs-blue-400-hsl); + --bs-blue-text-emphasis: hsl(var(--bs-blue-text-emphasis-hsl)); + --bs-blue-bg-subtle: hsl(var(--bs-blue-hue), calc(var(--bs-blue-saturation)/3), 15%); + --bs-blue-border-subtle: var(--bs-blue-600); + + /* Navy */ + + --bs-navy-text-emphasis-hsl: var(--bs-navy-300-hsl); + --bs-navy-text-emphasis: hsl(var(--bs-navy-text-emphasis-hsl)); + --bs-navy-bg-subtle: hsl(var(--bs-navy-hue), calc(var(--bs-navy-saturation)/3), 15%); + --bs-navy-border-subtle: var(--bs-navy-600); + + /* Indigo */ + + --bs-indigo-text-emphasis-hsl: var(--bs-indigo-300-hsl); + --bs-indigo-text-emphasis: hsl(var(--bs-indigo-text-emphasis-hsl)); + --bs-indigo-bg-subtle: hsl(var(--bs-indigo-hue), calc(var(--bs-indigo-saturation)/3), 15%); + --bs-indigo-border-subtle: var(--bs-indigo-600); + + /* Violet */ + + --bs-violet-text-emphasis-hsl: var(--bs-violet-300-hsl); + --bs-violet-text-emphasis: hsl(var(--bs-violet-text-emphasis-hsl)); + --bs-violet-bg-subtle: hsl(var(--bs-violet-hue), calc(var(--bs-violet-saturation)/3), 15%); + --bs-violet-border-subtle: var(--bs-violet-600); + + /* Purple */ + + --bs-purple-text-emphasis-hsl: var(--bs-purple-300-hsl); + --bs-purple-text-emphasis: hsl(var(--bs-purple-text-emphasis-hsl)); + --bs-purple-bg-subtle: hsl(var(--bs-purple-hue), calc(var(--bs-purple-saturation)/3), 15%); + --bs-purple-border-subtle: var(--bs-purple-600); + + /* Fuchsia */ + + --bs-fuchsia-text-emphasis-hsl: var(--bs-fuchsia-400-hsl); + --bs-fuchsia-text-emphasis: hsl(var(--bs-fuchsia-text-emphasis-hsl)); + --bs-fuchsia-bg-subtle: hsl(var(--bs-fuchsia-hue), calc(var(--bs-fuchsia-saturation)/3), 15%); + --bs-fuchsia-border-subtle: var(--bs-fuchsia-600); + + /* Pink (magenta) */ + + --bs-pink-text-emphasis-hsl: var(--bs-pink-400-hsl); + --bs-pink-text-emphasis: hsl(var(--bs-pink-text-emphasis-hsl)); + --bs-pink-bg-subtle: hsl(var(--bs-pink-hue), calc(var(--bs-pink-saturation)/3), 15%); + --bs-pink-border-subtle: var(--bs-pink-600); + + /* Primary */ + + --bs-primary-text-emphasis-hsl: var(--bs-blue-text-emphasis-hsl); + --bs-primary-text-emphasis: var(--bs-blue-text-emphasis); + --bs-primary-bg-subtle: var(--bs-blue-bg-subtle); + --bs-primary-border-subtle: var(--bs-blue-border-subtle); + + /* Secondary */ + + --bs-secondary-hue: var(--bs-darkgray-hue); + --bs-secondary-saturation: var(--bs-darkgray-saturation); + --bs-secondary-100-hsl: var(--bs-darkgray-100-hsl); + --bs-secondary-200-hsl: var(--bs-darkgray-200-hsl); + --bs-secondary-300-hsl: var(--bs-darkgray-300-hsl); + --bs-secondary-400-hsl: var(--bs-darkgray-400-hsl); + --bs-secondary-500-hsl: var(--bs-darkgray-500-hsl); + --bs-secondary-600-hsl: var(--bs-darkgray-600-hsl); + --bs-secondary-700-hsl: var(--bs-darkgray-700-hsl); + --bs-secondary-800-hsl: var(--bs-darkgray-800-hsl); + --bs-secondary-900-hsl: var(--bs-darkgray-900-hsl); + --bs-secondary-100: var(--bs-darkgray-100); + --bs-secondary-200: var(--bs-darkgray-200); + --bs-secondary-300: var(--bs-darkgray-300); + --bs-secondary-400: var(--bs-darkgray-400); + --bs-secondary-500: var(--bs-darkgray-500); + --bs-secondary-600: var(--bs-darkgray-600); + --bs-secondary-700: var(--bs-darkgray-700); + --bs-secondary-800: var(--bs-darkgray-800); + --bs-secondary-900: var(--bs-darkgray-900); + --bs-secondary-hsl: var(--bs-darkgray-hsl); + --bs-secondary: var(--bs-darkgray); + --bs-secondary-foreground-hsl: var(--bs-darkgray-foreground-hsl); + --bs-secondary-foreground: var(--bs-darkgray-foreground); + --bs-secondary-text-emphasis-hsl: var(--bs-darkgray-text-emphasis-hsl); + --bs-secondary-text-emphasis: var(--bs-darkgray-text-emphasis); + --bs-secondary-hover-bg: var(--bs-darkgray-hover-bg); + --bs-secondary-active-bg: var(--bs-darkgray-active-bg); + --bs-secondary-bg-subtle: var(--bs-darkgray-bg-subtle); + --bs-secondary-border-subtle: var(--bs-darkgray-border-subtle); + --bs-secondary-checkbox-svg: var(--bs-darkgray-checkbox-svg); + --bs-secondary-dash-svg: var(--bs-darkgray-dash-svg); + --bs-secondary-radio-svg: var(--bs-darkgray-radio-svg); + --bs-secondary-switch-svg: var(--bs-darkgray-switch-svg); + + /* Success */ + + --bs-success-text-emphasis-hsl: var(--bs-green-text-emphasis-hsl); + --bs-success-text-emphasis: var(--bs-green-text-emphasis); + --bs-success-bg-subtle: var(--bs-green-bg-subtle); + --bs-success-border-subtle: var(--bs-green-border-subtle); + + /* Info */ + + --bs-info-text-emphasis-hsl: var(--bs-cyan-text-emphasis-hsl); + --bs-info-text-emphasis: var(--bs-cyan-text-emphasis); + --bs-info-bg-subtle: var(--bs-cyan-bg-subtle); + --bs-info-border-subtle: var(--bs-cyan-border-subtle); + + /* Warning */ + + --bs-warning-text-emphasis-hsl: var(--bs-yellow-text-emphasis-hsl); + --bs-warning-text-emphasis: var(--bs-yellow-text-emphasis); + --bs-warning-bg-subtle: var(--bs-yellow-bg-subtle); + --bs-warning-border-subtle: var(--bs-yellow-border-subtle); + + /* Danger */ + + --bs-danger-text-emphasis-hsl: var(--bs-red-text-emphasis-hsl); + --bs-danger-text-emphasis: var(--bs-red-text-emphasis); + --bs-danger-bg-subtle: var(--bs-red-bg-subtle); + --bs-danger-border-subtle: var(--bs-red-border-subtle); + + /* Light */ + + --bs-light-hue: var(--bs-gray-hue); + --bs-light-saturation: var(--bs-gray-saturation); + --bs-light-100-hsl: var(--bs-gray-100-hsl); + --bs-light-200-hsl: var(--bs-gray-200-hsl); + --bs-light-300-hsl: var(--bs-gray-300-hsl); + --bs-light-400-hsl: var(--bs-gray-400-hsl); + --bs-light-500-hsl: var(--bs-gray-500-hsl); + --bs-light-600-hsl: var(--bs-gray-600-hsl); + --bs-light-700-hsl: var(--bs-gray-700-hsl); + --bs-light-800-hsl: var(--bs-gray-800-hsl); + --bs-light-900-hsl: var(--bs-gray-900-hsl); + --bs-light-100: var(--bs-gray-100); + --bs-light-200: var(--bs-gray-200); + --bs-light-300: var(--bs-gray-300); + --bs-light-400: var(--bs-gray-400); + --bs-light-500: var(--bs-gray-500); + --bs-light-600: var(--bs-gray-600); + --bs-light-700: var(--bs-gray-700); + --bs-light-800: var(--bs-gray-800); + --bs-light-900: var(--bs-gray-900); + --bs-light-hsl: var(--bs-gray-hsl); + --bs-light: var(--bs-gray); + --bs-light-foreground-hsl: var(--bs-gray-foreground-hsl); + --bs-light-foreground: var(--bs-gray-foreground); + --bs-light-text-emphasis-hsl: var(--bs-gray-text-emphasis-hsl); + --bs-light-text-emphasis: var(--bs-gray-text-emphasis); + --bs-light-hover-bg: var(--bs-gray-hover-bg); + --bs-light-active-bg: var(--bs-gray-active-bg); + --bs-light-bg-subtle: var(--bs-gray-bg-subtle); + --bs-light-border-subtle: var(--bs-gray-border-subtle); + --bs-light-checkbox-svg: var(--bs-gray-checkbox-svg); + --bs-light-dash-svg: var(--bs-gray-dash-svg); + --bs-light-radio-svg: var(--bs-gray-radio-svg); + --bs-light-switch-svg: var(--bs-gray-switch-svg); + + /* Dark */ + + --bs-dark-hue: var(--bs-sable-hue); + --bs-dark-saturation: var(--bs-sable-saturation); + --bs-dark-100-hsl: var(--bs-sable-100-hsl); + --bs-dark-200-hsl: var(--bs-sable-200-hsl); + --bs-dark-300-hsl: var(--bs-sable-300-hsl); + --bs-dark-400-hsl: var(--bs-sable-400-hsl); + --bs-dark-500-hsl: var(--bs-sable-500-hsl); + --bs-dark-600-hsl: var(--bs-sable-600-hsl); + --bs-dark-700-hsl: var(--bs-sable-700-hsl); + --bs-dark-800-hsl: var(--bs-sable-800-hsl); + --bs-dark-900-hsl: var(--bs-sable-900-hsl); + --bs-dark-100: var(--bs-sable-100); + --bs-dark-200: var(--bs-sable-200); + --bs-dark-300: var(--bs-sable-300); + --bs-dark-400: var(--bs-sable-400); + --bs-dark-500: var(--bs-sable-500); + --bs-dark-600: var(--bs-sable-600); + --bs-dark-700: var(--bs-sable-700); + --bs-dark-800: var(--bs-sable-800); + --bs-dark-900: var(--bs-sable-900); + --bs-dark-hsl: var(--bs-sable-hsl); + --bs-dark: var(--bs-sable); + --bs-dark-foreground-hsl: var(--bs-sable-foreground-hsl); + --bs-dark-foreground: var(--bs-sable-foreground); + --bs-dark-text-emphasis-hsl: var(--bs-sable-text-emphasis-hsl); + --bs-dark-text-emphasis: var(--bs-sable-text-emphasis); + --bs-dark-hover-bg: var(--bs-sable-hover-bg); + --bs-dark-active-bg: var(--bs-sable-active-bg); + --bs-dark-bg-subtle: var(--bs-sable-bg-subtle); + --bs-dark-border-subtle: var(--bs-sable-border-subtle); + --bs-dark-checkbox-svg: var(--bs-sable-checkbox-svg); + --bs-dark-dash-svg: var(--bs-sable-dash-svg); + --bs-dark-radio-svg: var(--bs-sable-radio-svg); + --bs-dark-switch-svg: var(--bs-sable-switch-svg); +} + +/** + * ---------------------------------------------------------------------------- + * [ Variables ] + * ---------------------------------------------------------------------------- + */ + +:root, +[data-bs-theme=light] { + /* Color scheme */ + + color-scheme: light; + + /* Font family */ + + --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-serif: Iowan Old Style, Apple Garamond, Baskerville, Times New Roman, Droid Serif, Times, Source Serif Pro, serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; + --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + --bs-body-font-family: var(--bs-font-sans-serif); + + /* Font size */ + + --bs-font-size-base: 0.875rem; + --bs-font-size-sm: 0.75rem; + --bs-font-size-lg: 1rem; + --bs-relative-font-size-sm: 0.85714285714em; /* 12px */ + --bs-relative-font-size-xs: 0.71428571428em; /* 10px */ + --bs-relative-font-size-2xs: 0.57142857142em; /* 8px */ + --bs-relative-font-size-3xs: 0.42857142857em; /* 6px */ + --bs-relative-font-size-4xs: 0.28571428571em; /* 4px */ + --bs-relative-font-size-5xs: 0.21428571428em; /* 3px */ + --bs-relative-font-size-6xs: 0.14285714285em; /* 2px */ + --bs-relative-font-size-7xs: 0.07142857142em; /* 1px */ + --bs-body-font-size: var(--bs-font-size-base); + --bs-h1-font-size: calc(var(--bs-font-size-base) + 1.375rem); + --bs-h2-font-size: calc(var(--bs-font-size-base) + 1rem); + --bs-h3-font-size: calc(var(--bs-font-size-base) + 0.75rem); + --bs-h4-font-size: calc(var(--bs-font-size-base) + 0.5rem); + --bs-h5-font-size: calc(var(--bs-font-size-base) + 0.25rem); + --bs-h6-font-size: var(--bs-font-size-base); + + /* Font weight */ + + --bs-font-weight-lighter: lighter; + --bs-font-weight-light: 300; + --bs-font-weight-normal: 400; + --bs-font-weight-medium: 500; + --bs-font-weight-semibold: 600; + --bs-font-weight-bold: 700; + --bs-font-weight-bolder: bolder; + --bs-body-font-weight: var(--bs-font-weight-normal); + --bs-heading-font-weight: var(--bs-font-weight-bold); + + /* Line height */ + + --bs-line-height-base: 1.5; + --bs-line-height-sm: 1.25; + --bs-line-height-lg: 2; + --bs-body-line-height: var(--bs-line-height-base); + --bs-heading-line-height: 1.2; + + /* Font smoothing */ + + --bs-body-webkit-font-smoothing: antialiased; + --bs-body-moz-osx-font-smoothing: grayscale; + + /* Spacer */ + + --bs-spacer: 1rem; + --bs-spacer-1: calc(var(--bs-spacer) * 0.25); + --bs-spacer-2: calc(var(--bs-spacer) * 0.5); + --bs-spacer-3: var(--bs-spacer); + --bs-spacer-4: calc(var(--bs-spacer) * 1.5); + --bs-spacer-5: calc(var(--bs-spacer) * 3); + + /* Color */ + + --bs-color-hue: var(--bs-gray-hue); + --bs-color-saturation: var(--bs-gray-saturation); + --bs-body-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 15%; + --bs-body-color: hsl(var(--bs-body-color-hsl)); + --bs-emphasis-color-hsl: var(--bs-black-hsl); + --bs-emphasis-color: hsl(var(--bs-emphasis-color-hsl)); + --bs-secondary-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 40%; + --bs-secondary-color: hsl(var(--bs-secondary-color-hsl)); + --bs-tertiary-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 65%; + --bs-tertiary-color: hsl(var(--bs-tertiary-color-hsl)); + --bs-heading-color: inherit; + + /* Background */ + + --bs-body-bg-hsl: var(--bs-white-hsl); + --bs-body-bg: hsl(var(--bs-body-bg-hsl)); + --bs-secondary-bg-hsl: var(--bs-lightgray-100-hsl); + --bs-secondary-bg: hsl(var(--bs-secondary-bg-hsl)); + --bs-tertiary-bg-hsl: var(--bs-lightgray-200-hsl); + --bs-tertiary-bg: hsl(var(--bs-tertiary-bg-hsl)); + --bs-gradient: linear-gradient(180deg, hsla(var(--bs-white-hsl), 0.15), hsla(var(--bs-white-hsl), 0)); + + /* Border */ + + --bs-border-width: 1px; + --bs-border-width-1: var(--bs-border-width); + --bs-border-width-2: calc(var(--bs-border-width) + 1px); + --bs-border-width-3: calc(var(--bs-border-width) + 2px); + --bs-border-width-4: calc(var(--bs-border-width) + 3px); + --bs-border-width-5: calc(var(--bs-border-width) + 4px); + --bs-border-style: solid; + --bs-border-color: var(--bs-lightgray-800); + --bs-border-color-light: var(--bs-lightgray-600); + --bs-border-color-dark: var(--bs-border-color); + --bs-border-color-translucent: hsla(var(--bs-black-hsl), 0.15); + --bs-border-radius: 0.375rem; + --bs-border-radius-sm: 0.25rem; + --bs-border-radius-lg: 0.5rem; + --bs-border-radius-xl: 1rem; + --bs-border-radius-xxl: 2rem; + --bs-border-radius-2xl: var(--bs-border-radius-xxl); + --bs-border-radius-pill: 50rem; + + /* Box shadow */ + + --bs-box-shadow-color: hsla(var(--bs-black-hsl), 0.15); + --bs-box-shadow: 0 0.5rem 1rem var(--bs-box-shadow-color); + --bs-box-shadow-sm: 0 0.125rem 0.25rem var(--bs-box-shadow-color); + --bs-box-shadow-lg: 0 1rem 3rem var(--bs-box-shadow-color); + --bs-box-shadow-inset: inset 0 1px var(--bs-box-shadow-color); + + /* Focus ring */ + + --bs-focus-ring-width: 0.25rem; + --bs-focus-ring-opacity: 0.25; + --bs-focus-ring-color: hsla(var(--bs-primary-hsl), var(--bs-focus-ring-opacity)); + + /* Link */ + + --bs-link-color-hsl: var(--bs-primary-hsl); + --bs-link-color: hsl(var(--bs-link-color-hsl)); + --bs-link-decoration: underline; + --bs-link-decoration-offset: var(--bs-relative-font-size-4xs); + --bs-link-hover-color-hsl: var(--bs-primary-text-emphasis-hsl); + --bs-link-hover-color: hsl(var(--bs-link-hover-color-hsl)); + --bs-link-hover-decoration: underline; + + /* Highlight */ + + --bs-highlight-padding: var(--bs-relative-font-size-6xs); + --bs-highlight-color: inherit; + --bs-highlight-bg: hsla(var(--bs-yellow-hsl), 0.25); + --bs-highlight-border-radius: 0; + + /* Code */ + + --bs-code-padding: var(--bs-relative-font-size-6xs) var(--bs-relative-font-size-4xs); + --bs-code-font-size: var(--bs-relative-font-size-sm); + --bs-code-color: inherit; + --bs-code-bg: hsla(var(--bs-black-hsl), 0.1); + --bs-code-border-radius: var(--bs-border-radius-sm); + + /* Keyboard input */ + + --bs-kbd-padding: 0.125rem 0.375rem; + --bs-kbd-font-size: var(--bs-font-size-sm); + --bs-kbd-color: var(--bs-dark-foreground); + --bs-kbd-bg: var(--bs-dark); + --bs-kbd-border-radius: var(--bs-border-radius-sm); + + /* Container */ + + --bs-container-max-width-sm: 540px; + --bs-container-max-width-md: 720px; + --bs-container-max-width-lg: 960px; + --bs-container-max-width-xl: 1140px; + --bs-container-max-width-xxl: 1320px; + + /* Sidebar */ + + --bs-sidebar-margin: 0; + --bs-sidebar-width: 20rem; + --bs-sidebar-height: 100%; + --bs-padding-sbwidth: var(--bs-sidebar-width); + + /* Content (used as needed in cards, panels, menus, etc.) */ + + --bs-content-color-hsl: var(--bs-body-color-hsl); + --bs-content-color: hsl(var(--bs-content-color-hsl)); + --bs-content-bg-hsl: var(--bs-body-bg-hsl); + --bs-content-bg: hsl(var(--bs-content-bg-hsl)); + --bs-content-border-color: var(--bs-border-color-dark); + --bs-content-box-shadow: none; + --bs-content-floating-color-hsl: var(--bs-content-color-hsl); + --bs-content-floating-color: hsl(var(--bs-content-floating-color-hsl)); + --bs-content-floating-bg-hsl: var(--bs-content-bg-hsl); + --bs-content-floating-bg: hsl(var(--bs-content-floating-bg-hsl)); + --bs-content-floating-border-color: var(--bs-content-border-color); + --bs-content-floating-box-shadow: 0 1rem 2.25rem 0 rgba(0, 0, 0, 0.05), 0 0.25rem 1rem 0 rgba(0, 0, 0, 0.04); + + /* Action (used as needed in buttons, inputs, menu items, page links, etc.) */ + + --bs-action-padding-x: 0.5rem; + --bs-action-padding-y: 0.25rem; + --bs-action-font-size: var(--bs-font-size-base); + --bs-action-line-height: calc(20/14); + --bs-action-sm-padding-x: 0.375rem; + --bs-action-sm-padding-y: 0.125rem; + --bs-action-sm-font-size: var(--bs-font-size-sm); + --bs-action-sm-line-height: calc(18/12); + --bs-action-lg-padding-x: 0.625rem; + --bs-action-lg-padding-y: 0.3125rem; + --bs-action-lg-font-size: var(--bs-font-size-lg); + --bs-action-lg-line-height: calc(24/16); + --bs-action-color: hsl(var(--bs-color-hue), var(--bs-color-saturation), 20%); + --bs-action-bg: var(--bs-white); + --bs-action-border-color: var(--bs-border-color-dark); + --bs-action-hover-color: var(--bs-action-color); + --bs-action-hover-bg: var(--bs-lightgray-200); + --bs-action-hover-border-color: var(--bs-action-border-color); + --bs-action-focus-shadow-hsl: var(--bs-primary-hsl); + --bs-action-active-color: var(--bs-action-color); + --bs-action-active-bg: var(--bs-lightgray-400); + --bs-action-active-border-color: var(--bs-action-border-color); + --bs-action-active-shadow: none; + --bs-action-disabled-color: var(--bs-secondary-color); + --bs-action-disabled-bg: var(--bs-lightgray-400); + --bs-action-disabled-border-color: var(--bs-action-border-color); + + /* Form */ + + --bs-form-color: var(--bs-body-color); + --bs-form-bg: var(--bs-action-bg); + --bs-form-secondary-bg: var(--bs-action-hover-bg); + --bs-form-tertiary-bg: var(--bs-action-active-bg); + --bs-form-border-color: var(--bs-action-border-color); + --bs-form-focus-border-color: var(--bs-form-border-color); + --bs-form-focus-shadow-hsl: var(--bs-primary-hsl); + --bs-form-disabled-color: var(--bs-action-disabled-color); + --bs-form-disabled-bg: var(--bs-action-disabled-bg); + --bs-form-disabled-border-color: var(--bs-action-disabled-border-color); + --bs-form-valid-color: var(--bs-success-text-emphasis); + --bs-form-valid-border-color: var(--bs-success-border-subtle); + --bs-form-invalid-color: var(--bs-danger-text-emphasis); + --bs-form-invalid-border-color: var(--bs-danger-border-subtle); + --bs-form-check-bg: var(--bs-form-bg); + --bs-form-check-border-color: var(--bs-border-color); + --bs-form-check-focus-border-color: var(--bs-form-check-border-color); + --bs-form-check-focus-shadow-hsl: var(--bs-form-focus-shadow-hsl); + + /* Contextual buttons */ + + --bs-ctx-btn-border-color: transparent; + --bs-ctx-btn-hover-border-color: var(--bs-ctx-btn-border-color); + --bs-ctx-btn-active-border-color: var(--bs-ctx-btn-border-color); + --bs-ctx-btn-disabled-border-color: var(--bs-ctx-btn-border-color); + --bs-ctx-btn-bg-clip: border-box; + + /* Action bar (used as needed in range, progress, etc.) */ + + --bs-actionbar-bg: var(--bs-action-hover-bg); + --bs-actionbar-border-color: hsla(var(--bs-black-hsl), 0.075); + --bs-progresstrack-border-width: 0; + --bs-progresstrack-box-shadow: inset 0 0 0 var(--bs-border-width) var(--bs-actionbar-border-color); + --bs-progresstrack-bg-clip: border-box; +} + +[data-bs-theme=dark] { + /* Color scheme */ + + color-scheme: dark; + + /* Color */ + + --bs-color-hue: var(--bs-gray-hue); + --bs-color-saturation: var(--bs-gray-saturation); + --bs-body-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 85%; + --bs-body-color: hsl(var(--bs-body-color-hsl)); + --bs-emphasis-color-hsl: var(--bs-white-hsl); + --bs-emphasis-color: hsl(var(--bs-emphasis-color-hsl)); + --bs-secondary-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 60%; + --bs-secondary-color: hsl(var(--bs-secondary-color-hsl)); + --bs-tertiary-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 35%; + --bs-tertiary-color: hsl(var(--bs-tertiary-color-hsl)); + --bs-heading-color: inherit; + + /* Background */ + + --bs-body-bg-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 13%; + --bs-body-bg: hsl(var(--bs-body-bg-hsl)); + --bs-secondary-bg-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 11.8%; + --bs-secondary-bg: hsl(var(--bs-secondary-bg-hsl)); + --bs-tertiary-bg-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 11%; + --bs-tertiary-bg: hsl(var(--bs-tertiary-bg-hsl)); + --bs-gradient: linear-gradient(180deg, hsla(var(--bs-white-hsl), 0.15), hsla(var(--bs-white-hsl), 0)); + + /* Border */ + + --bs-border-color: var(--bs-gray-800); + --bs-border-color-light: var(--bs-border-color); + --bs-border-color-dark: hsl(var(--bs-sable-hue), var(--bs-sable-saturation), 9.5%); + --bs-border-color-translucent: hsla(var(--bs-white-hsl), 0.15); + + /* Box shadow */ + + --bs-box-shadow-color: hsla(var(--bs-black-hsl), 0.4); + --bs-box-shadow: 0 0.5rem 1rem var(--bs-box-shadow-color); + --bs-box-shadow-sm: 0 0.125rem 0.25rem var(--bs-box-shadow-color); + --bs-box-shadow-lg: 0 1rem 3rem var(--bs-box-shadow-color); + --bs-box-shadow-inset: inset 0 1px var(--bs-box-shadow-color); + + /* Link */ + + --bs-link-color-hsl: var(--bs-primary-text-emphasis-hsl); + --bs-link-color: hsl(var(--bs-link-color-hsl)); + --bs-link-hover-color-hsl: var(--bs-primary-hsl); + --bs-link-hover-color: hsl(var(--bs-link-hover-color-hsl)); + + /* Highlight */ + + --bs-highlight-color: inherit; + --bs-highlight-bg: hsla(var(--bs-yellow-hsl), 0.1); + + /* Code */ + + --bs-code-color: inherit; + --bs-code-bg: hsla(var(--bs-white-hsl), 0.075); + + /* Keyboard input */ + + --bs-kbd-color: var(--bs-light-foreground); + --bs-kbd-bg: var(--bs-light); + + /* Content (used as needed in cards, panels, menus, etc.) */ + + --bs-content-color-hsl: var(--bs-body-color-hsl); + --bs-content-color: hsl(var(--bs-content-color-hsl)); + --bs-content-bg-hsl: var(--bs-tertiary-bg-hsl); + --bs-content-bg: hsl(var(--bs-content-bg-hsl)); + --bs-content-border-color: var(--bs-border-color-dark); + --bs-content-box-shadow: none; + --bs-content-floating-color-hsl: var(--bs-content-color-hsl); + --bs-content-floating-color: hsl(var(--bs-content-floating-color-hsl)); + --bs-content-floating-bg-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 13.5%; + --bs-content-floating-bg: hsl(var(--bs-content-floating-bg-hsl)); + --bs-content-floating-border-color: var(--bs-content-border-color); + --bs-content-floating-box-shadow: 0 1rem 2.25rem 0 rgba(0, 0, 0, 0.2), 0 0.25rem 1rem 0 rgba(0, 0, 0, 0.16); + + /* Action (used as needed in buttons, inputs, menu items, page links, etc.) */ + + --bs-action-color: hsl(var(--bs-color-hue), var(--bs-color-saturation), 80%); + --bs-action-bg: var(--bs-sable-700); + --bs-action-border-color: var(--bs-border-color-dark); + --bs-action-hover-color: var(--bs-action-color); + --bs-action-hover-bg: var(--bs-sable-600); + --bs-action-hover-border-color: var(--bs-action-border-color); + --bs-action-focus-shadow-hsl: var(--bs-primary-hsl); + --bs-action-active-color: var(--bs-action-color); + --bs-action-active-bg: var(--bs-sable-500); + --bs-action-active-border-color: var(--bs-action-border-color); + --bs-action-active-shadow: none; + --bs-action-disabled-color: var(--bs-secondary-color); + --bs-action-disabled-bg: var(--bs-sable-400); + --bs-action-disabled-border-color: var(--bs-action-border-color); + + /* Form */ + + --bs-form-color: var(--bs-body-color); + --bs-form-bg: var(--bs-action-bg); + --bs-form-secondary-bg: var(--bs-action-hover-bg); + --bs-form-tertiary-bg: var(--bs-action-active-bg); + --bs-form-border-color: var(--bs-action-border-color); + --bs-form-focus-border-color: var(--bs-form-border-color); + --bs-form-focus-shadow-hsl: var(--bs-primary-hsl); + --bs-form-disabled-color: var(--bs-action-disabled-color); + --bs-form-disabled-bg: var(--bs-action-disabled-bg); + --bs-form-disabled-border-color: var(--bs-action-disabled-border-color); + --bs-form-valid-color: var(--bs-success-text-emphasis); + --bs-form-valid-border-color: var(--bs-success-border-subtle); + --bs-form-invalid-color: var(--bs-danger-text-emphasis); + --bs-form-invalid-border-color: var(--bs-danger-border-subtle); + --bs-form-check-bg: var(--bs-form-bg); + --bs-form-check-border-color: var(--bs-border-color); + --bs-form-check-focus-border-color: var(--bs-form-check-border-color); + --bs-form-check-focus-shadow-hsl: var(--bs-form-focus-shadow-hsl); + + /* Contextual buttons */ + + --bs-ctx-btn-border-color: var(--bs-border-color-dark); + --bs-ctx-btn-hover-border-color: var(--bs-ctx-btn-border-color); + --bs-ctx-btn-active-border-color: var(--bs-ctx-btn-border-color); + --bs-ctx-btn-disabled-border-color: var(--bs-ctx-btn-border-color); + --bs-ctx-btn-bg-clip: padding-box; + + /* Action bar (used as needed in range, progress, etc.) */ + + --bs-actionbar-bg: var(--bs-action-bg); + --bs-actionbar-border-color: var(--bs-action-border-color); + --bs-progresstrack-border-width: var(--bs-border-width); + --bs-progresstrack-box-shadow: none; + --bs-progresstrack-bg-clip: padding-box; +} + +/** + * ---------------------------------------------------------------------------- + * [ Reboot ] + * ---------------------------------------------------------------------------- + */ + +*, +*::before, +*::after { + box-sizing: border-box; +} + +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-font-smoothing: var(--bs-body-webkit-font-smoothing); + -moz-osx-font-smoothing: var(--bs-body-moz-osx-font-smoothing); + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: hsla(0, 0, 0, 0); +} + +hr { + margin: 1rem 0; + color: inherit; + border: 0; + border-top: var(--bs-border-width) solid; + opacity: 0.25; +} + +h6, .h6, +h5, .h5, +h4, .h4, +h3, .h3, +h2, .h2, +h1, .h1 { + margin-top: 0; + margin-bottom: 0.5rem; + font-weight: var(--bs-heading-font-weight); + line-height: var(--bs-heading-line-height); + color: var(--bs-heading-color); +} + +h1, .h1 { + font-size: calc((var(--bs-font-size-base) + 0.4875rem) + 1.5vw); +} + +@media (min-width: 1200px) { + h1, .h1 { + font-size: var(--bs-h1-font-size); + } +} + +h2, .h2 { + font-size: calc((var(--bs-font-size-base) + 0.4375rem) + 0.9vw); +} + +@media (min-width: 1200px) { + h2, .h2 { + font-size: var(--bs-h2-font-size); + } +} + +h3, .h3 { + font-size: calc((var(--bs-font-size-base) + 0.4rem) + 0.6vw); +} + +@media (min-width: 1200px) { + h3, .h3 { + font-size: var(--bs-h3-font-size); + } +} + +h4, .h4 { + font-size: calc((var(--bs-font-size-base) + 0.375rem) + 0.3vw); +} + +@media (min-width: 1200px) { + h4, .h4 { + font-size: var(--bs-h4-font-size); + } +} + +h5, .h5 { + font-size: var(--bs-h5-font-size); +} + +h6, .h6 { + font-size: var(--bs-h6-font-size); +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title] { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + cursor: help; + -webkit-text-decoration-skip-ink: none; + text-decoration-skip-ink: none; +} + +a > abbr[title] { + text-underline-offset: var(--bs-relative-font-size-6xs); +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul { + padding-right: 2rem; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: var(--bs-font-weight-bold); +} + +dd { + margin-bottom: 0.5rem; + margin-right: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: var(--bs-font-weight-bolder); +} + +small, .small { + font-size: var(--bs-relative-font-size-sm); +} + +mark, .mark { + padding: var(--bs-highlight-padding); + color: var(--bs-highlight-color); + background-color: var(--bs-highlight-bg); + border-radius: var(--bs-highlight-border-radius); +} + +sub, +sup { + position: relative; + font-size: var(--bs-relative-font-size-xs); + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: calc(-1 * var(--bs-relative-font-size-4xs)); +} + +sup { + top: calc(-1 * var(--bs-relative-font-size-3xs)); +} + +a { + color: hsla(var(--bs-link-color-hsl), var(--bs-link-opacity, 1)); + text-decoration: var(--bs-link-decoration); + text-underline-offset: var(--bs-link-decoration-offset); + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} + +a:hover { + --bs-link-color-hsl: var(--bs-link-hover-color-hsl); + --bs-link-decoration: var(--bs-link-hover-decoration); +} + +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: var(--bs-relative-font-size-sm); +} + +pre code { + padding: 0; + font-size: inherit; + color: inherit; + background-color: transparent; + border-radius: 0; + word-break: normal; + word-wrap: normal; +} + +code { + padding: var(--bs-code-padding); + font-size: var(--bs-code-font-size); + color: var(--bs-code-color); + background-color: var(--bs-code-bg); + border-radius: var(--bs-code-border-radius); + word-wrap: break-word; + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} + +a > code { + color: inherit; +} + +kbd { + padding: var(--bs-kbd-padding); + font-size: var(--bs-kbd-font-size); + color: var(--bs-kbd-color); + background-color: var(--bs-kbd-bg); + border-radius: var(--bs-kbd-border-radius); + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} + +kbd kbd { + padding: 0; + font-size: 1em; +} + +figure { + margin: 0 0 1rem; +} + +img, +svg { + vertical-align: middle; +} + +table { + caption-side: bottom; + border-collapse: collapse; +} + +caption { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: var(--bs-secondary-color); + text-align: right; +} + +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: right; + width: 100%; + padding: 0; + margin-bottom: 0.5rem; + font-size: calc((var(--bs-font-size-base) + 0.375rem) + 0.3vw); + line-height: inherit; +} + +@media (min-width: 1200px) { + legend { + font-size: calc(var(--bs-font-size-base) + 0.5rem); + } +} + +legend + * { + clear: right; +} + +::-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; +} + +[type="tel"], +[type="url"], +[type="email"], +[type="number"] { + direction: ltr; +} + +::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-color-swatch-wrapper { + padding: 0; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +::file-selector-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +iframe { + border: 0; +} + +summary { + display: list-item; + cursor: pointer; +} + +progress { + vertical-align: baseline; +} + +[hidden] { + display: none !important; +} + +/** + * ---------------------------------------------------------------------------- + * [ Typography ] + * ---------------------------------------------------------------------------- + */ + +.lead { + font-size: calc(var(--bs-font-size-base) + 0.25rem); +} + +.display-1, +.display-2, +.display-3, +.display-4, +.display-5, +.display-6 { + font-weight: var(--bs-font-weight-bold); + line-height: 1.2; +} + +.display-1 { + font-size: calc((var(--bs-font-size-base) + 0.7rem) + 4.5vw); +} + +@media (min-width: 1200px) { + .display-1 { + font-size: calc(var(--bs-font-size-base) + 3.875rem); + } +} + +.display-2 { + font-size: calc((var(--bs-font-size-base) + 0.65rem) + 3.9vw); +} + +@media (min-width: 1200px) { + .display-2 { + font-size: calc(var(--bs-font-size-base) + 3.375rem); + } +} + +.display-3 { + font-size: calc((var(--bs-font-size-base) + 0.6rem) + 3.3vw); +} + +@media (min-width: 1200px) { + .display-3 { + font-size: calc(var(--bs-font-size-base) + 2.875rem); + } +} + +.display-4 { + font-size: calc((var(--bs-font-size-base) + 0.55rem) + 2.7vw); +} + +@media (min-width: 1200px) { + .display-4 { + font-size: calc(var(--bs-font-size-base) + 2.375rem); + } +} + +.display-5 { + font-size: calc((var(--bs-font-size-base) + 0.5rem) + 2.1vw); +} + +@media (min-width: 1200px) { + .display-5 { + font-size: calc(var(--bs-font-size-base) + 1.875rem); + } +} + +.display-6 { + font-size: calc((var(--bs-font-size-base) + 0.45rem) + 1.5vw); +} + +@media (min-width: 1200px) { + .display-6 { + font-size: calc(var(--bs-font-size-base) + 1.375rem); + } +} + +.list-unstyled { + padding-right: 0; + list-style: none; +} + +.list-inline { + padding-right: 0; + list-style: none; +} + +.list-inline-item { + display: inline-block; +} + +.list-inline-item:not(:last-child) { + margin-left: 0.5rem; +} + +.initialism { + font-size: var(--bs-relative-font-size-sm); + text-transform: uppercase; +} + +.blockquote { + margin-bottom: 1rem; + font-size: calc(var(--bs-font-size-base) + 0.25rem); +} + +.blockquote > :last-child { + margin-bottom: 0; +} + +.blockquote-footer { + margin-top: -1rem; + margin-bottom: 1rem; + font-size: var(--bs-relative-font-size-sm); + color: var(--bs-secondary-color); +} + +.blockquote-footer::before { + content: "— "; +} + +/** + * ---------------------------------------------------------------------------- + * [ Images ] + * ---------------------------------------------------------------------------- + */ + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: var(--bs-body-bg); + border: var(--bs-border-width) solid var(--bs-border-color); + border-radius: var(--bs-border-radius); + max-width: 100%; + height: auto; +} + +/** + * ---------------------------------------------------------------------------- + * [ Figures ] + * ---------------------------------------------------------------------------- + */ + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: var(--bs-relative-font-size-sm); + color: var(--bs-secondary-color); +} + +/** + * ---------------------------------------------------------------------------- + * [ Grid ] + * ---------------------------------------------------------------------------- + */ + +.container, +.container-fluid, +.container-xxl, +.container-xl, +.container-lg, +.container-md, +.container-sm { + --bs-gutter-x: var(--bs-spacer-4); + --bs-gutter-y: 0; + width: 100%; + padding-left: calc(var(--bs-gutter-x) * 0.5); + padding-right: calc(var(--bs-gutter-x) * 0.5); + margin-left: auto; + margin-right: auto; +} + +@media (min-width: 576px) { + .container-sm, .container { + max-width: var(--bs-container-max-width-sm); + } +} + +@media (min-width: 768px) { + .container-md, .container-sm, .container { + max-width: var(--bs-container-max-width-md); + } +} + +@media (min-width: 992px) { + .container-lg, .container-md, .container-sm, .container { + max-width: var(--bs-container-max-width-lg); + } +} + +@media (min-width: 1200px) { + .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: var(--bs-container-max-width-xl); + } +} + +@media (min-width: 1400px) { + .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: var(--bs-container-max-width-xxl); + } +} + +:root { + --bs-breakpoint-xs: 0; + --bs-breakpoint-sm: 576px; + --bs-breakpoint-md: 768px; + --bs-breakpoint-lg: 992px; + --bs-breakpoint-xl: 1200px; + --bs-breakpoint-xxl: 1400px; +} + +.row { + --bs-gutter-x: var(--bs-spacer-4); + --bs-gutter-y: 0; + display: flex; + flex-wrap: wrap; + margin-top: calc(-1 * var(--bs-gutter-y)); + margin-left: calc(-0.5 * var(--bs-gutter-x)); + margin-right: calc(-0.5 * var(--bs-gutter-x)); +} + +.row > * { + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-left: calc(var(--bs-gutter-x) * 0.5); + padding-right: calc(var(--bs-gutter-x) * 0.5); + margin-top: var(--bs-gutter-y); +} + +.col { + flex: 1 0 0%; +} + +.row-cols-auto > * { + flex: 0 0 auto; + width: auto; +} + +.row-cols-1 > * { + flex: 0 0 auto; + width: 100%; +} + +.row-cols-2 > * { + flex: 0 0 auto; + width: 50%; +} + +.row-cols-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; +} + +.row-cols-4 > * { + flex: 0 0 auto; + width: 25%; +} + +.row-cols-5 > * { + flex: 0 0 auto; + width: 20%; +} + +.row-cols-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; +} + +.col-auto { + flex: 0 0 auto; + width: auto; +} + +.col-1 { + flex: 0 0 auto; + width: 8.33333333%; +} + +.col-2 { + flex: 0 0 auto; + width: 16.66666667%; +} + +.col-3 { + flex: 0 0 auto; + width: 25%; +} + +.col-4 { + flex: 0 0 auto; + width: 33.33333333%; +} + +.col-5 { + flex: 0 0 auto; + width: 41.66666667%; +} + +.col-6 { + flex: 0 0 auto; + width: 50%; +} + +.col-7 { + flex: 0 0 auto; + width: 58.33333333%; +} + +.col-8 { + flex: 0 0 auto; + width: 66.66666667%; +} + +.col-9 { + flex: 0 0 auto; + width: 75%; +} + +.col-10 { + flex: 0 0 auto; + width: 83.33333333%; +} + +.col-11 { + flex: 0 0 auto; + width: 91.66666667%; +} + +.col-12 { + flex: 0 0 auto; + width: 100%; +} + +.offset-1 { + margin-right: 8.33333333%; +} + +.offset-2 { + margin-right: 16.66666667%; +} + +.offset-3 { + margin-right: 25%; +} + +.offset-4 { + margin-right: 33.33333333%; +} + +.offset-5 { + margin-right: 41.66666667%; +} + +.offset-6 { + margin-right: 50%; +} + +.offset-7 { + margin-right: 58.33333333%; +} + +.offset-8 { + margin-right: 66.66666667%; +} + +.offset-9 { + margin-right: 75%; +} + +.offset-10 { + margin-right: 83.33333333%; +} + +.offset-11 { + margin-right: 91.66666667%; +} + +.g-0, +.gx-0 { + --bs-gutter-x: 0; +} + +.g-0, +.gy-0 { + --bs-gutter-y: 0; +} + +.g-1, +.gx-1 { + --bs-gutter-x: var(--bs-spacer-1); +} + +.g-1, +.gy-1 { + --bs-gutter-y: var(--bs-spacer-1); +} + +.g-2, +.gx-2 { + --bs-gutter-x: var(--bs-spacer-2); +} + +.g-2, +.gy-2 { + --bs-gutter-y: var(--bs-spacer-2); +} + +.g-3, +.gx-3 { + --bs-gutter-x: var(--bs-spacer-3); +} + +.g-3, +.gy-3 { + --bs-gutter-y: var(--bs-spacer-3); +} + +.g-4, +.gx-4 { + --bs-gutter-x: var(--bs-spacer-4); +} + +.g-4, +.gy-4 { + --bs-gutter-y: var(--bs-spacer-4); +} + +.g-5, +.gx-5 { + --bs-gutter-x: var(--bs-spacer-5); +} + +.g-5, +.gy-5 { + --bs-gutter-y: var(--bs-spacer-5); +} + +@media (min-width: 576px) { + .col-sm { + flex: 1 0 0%; + } + + .row-cols-sm-auto > * { + flex: 0 0 auto; + width: auto; + } + + .row-cols-sm-1 > * { + flex: 0 0 auto; + width: 100%; + } + + .row-cols-sm-2 > * { + flex: 0 0 auto; + width: 50%; + } + + .row-cols-sm-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + + .row-cols-sm-4 > * { + flex: 0 0 auto; + width: 25%; + } + + .row-cols-sm-5 > * { + flex: 0 0 auto; + width: 20%; + } + + .row-cols-sm-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + + .col-sm-auto { + flex: 0 0 auto; + width: auto; + } + + .col-sm-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + + .col-sm-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + + .col-sm-3 { + flex: 0 0 auto; + width: 25%; + } + + .col-sm-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + + .col-sm-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + + .col-sm-6 { + flex: 0 0 auto; + width: 50%; + } + + .col-sm-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + + .col-sm-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + + .col-sm-9 { + flex: 0 0 auto; + width: 75%; + } + + .col-sm-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + + .col-sm-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + + .col-sm-12 { + flex: 0 0 auto; + width: 100%; + } + + .offset-sm-0 { + margin-right: 0; + } + + .offset-sm-1 { + margin-right: 8.33333333%; + } + + .offset-sm-2 { + margin-right: 16.66666667%; + } + + .offset-sm-3 { + margin-right: 25%; + } + + .offset-sm-4 { + margin-right: 33.33333333%; + } + + .offset-sm-5 { + margin-right: 41.66666667%; + } + + .offset-sm-6 { + margin-right: 50%; + } + + .offset-sm-7 { + margin-right: 58.33333333%; + } + + .offset-sm-8 { + margin-right: 66.66666667%; + } + + .offset-sm-9 { + margin-right: 75%; + } + + .offset-sm-10 { + margin-right: 83.33333333%; + } + + .offset-sm-11 { + margin-right: 91.66666667%; + } + + .g-sm-0, + .gx-sm-0 { + --bs-gutter-x: 0; + } + + .g-sm-0, + .gy-sm-0 { + --bs-gutter-y: 0; + } + + .g-sm-1, + .gx-sm-1 { + --bs-gutter-x: var(--bs-spacer-1); + } + + .g-sm-1, + .gy-sm-1 { + --bs-gutter-y: var(--bs-spacer-1); + } + + .g-sm-2, + .gx-sm-2 { + --bs-gutter-x: var(--bs-spacer-2); + } + + .g-sm-2, + .gy-sm-2 { + --bs-gutter-y: var(--bs-spacer-2); + } + + .g-sm-3, + .gx-sm-3 { + --bs-gutter-x: var(--bs-spacer-3); + } + + .g-sm-3, + .gy-sm-3 { + --bs-gutter-y: var(--bs-spacer-3); + } + + .g-sm-4, + .gx-sm-4 { + --bs-gutter-x: var(--bs-spacer-4); + } + + .g-sm-4, + .gy-sm-4 { + --bs-gutter-y: var(--bs-spacer-4); + } + + .g-sm-5, + .gx-sm-5 { + --bs-gutter-x: var(--bs-spacer-5); + } + + .g-sm-5, + .gy-sm-5 { + --bs-gutter-y: var(--bs-spacer-5); + } +} + +@media (min-width: 768px) { + .col-md { + flex: 1 0 0%; + } + + .row-cols-md-auto > * { + flex: 0 0 auto; + width: auto; + } + + .row-cols-md-1 > * { + flex: 0 0 auto; + width: 100%; + } + + .row-cols-md-2 > * { + flex: 0 0 auto; + width: 50%; + } + + .row-cols-md-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + + .row-cols-md-4 > * { + flex: 0 0 auto; + width: 25%; + } + + .row-cols-md-5 > * { + flex: 0 0 auto; + width: 20%; + } + + .row-cols-md-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + + .col-md-auto { + flex: 0 0 auto; + width: auto; + } + + .col-md-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + + .col-md-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + + .col-md-3 { + flex: 0 0 auto; + width: 25%; + } + + .col-md-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + + .col-md-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + + .col-md-6 { + flex: 0 0 auto; + width: 50%; + } + + .col-md-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + + .col-md-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + + .col-md-9 { + flex: 0 0 auto; + width: 75%; + } + + .col-md-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + + .col-md-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + + .col-md-12 { + flex: 0 0 auto; + width: 100%; + } + + .offset-md-0 { + margin-right: 0; + } + + .offset-md-1 { + margin-right: 8.33333333%; + } + + .offset-md-2 { + margin-right: 16.66666667%; + } + + .offset-md-3 { + margin-right: 25%; + } + + .offset-md-4 { + margin-right: 33.33333333%; + } + + .offset-md-5 { + margin-right: 41.66666667%; + } + + .offset-md-6 { + margin-right: 50%; + } + + .offset-md-7 { + margin-right: 58.33333333%; + } + + .offset-md-8 { + margin-right: 66.66666667%; + } + + .offset-md-9 { + margin-right: 75%; + } + + .offset-md-10 { + margin-right: 83.33333333%; + } + + .offset-md-11 { + margin-right: 91.66666667%; + } + + .g-md-0, + .gx-md-0 { + --bs-gutter-x: 0; + } + + .g-md-0, + .gy-md-0 { + --bs-gutter-y: 0; + } + + .g-md-1, + .gx-md-1 { + --bs-gutter-x: var(--bs-spacer-1); + } + + .g-md-1, + .gy-md-1 { + --bs-gutter-y: var(--bs-spacer-1); + } + + .g-md-2, + .gx-md-2 { + --bs-gutter-x: var(--bs-spacer-2); + } + + .g-md-2, + .gy-md-2 { + --bs-gutter-y: var(--bs-spacer-2); + } + + .g-md-3, + .gx-md-3 { + --bs-gutter-x: var(--bs-spacer-3); + } + + .g-md-3, + .gy-md-3 { + --bs-gutter-y: var(--bs-spacer-3); + } + + .g-md-4, + .gx-md-4 { + --bs-gutter-x: var(--bs-spacer-4); + } + + .g-md-4, + .gy-md-4 { + --bs-gutter-y: var(--bs-spacer-4); + } + + .g-md-5, + .gx-md-5 { + --bs-gutter-x: var(--bs-spacer-5); + } + + .g-md-5, + .gy-md-5 { + --bs-gutter-y: var(--bs-spacer-5); + } +} + +@media (min-width: 992px) { + .col-lg { + flex: 1 0 0%; + } + + .row-cols-lg-auto > * { + flex: 0 0 auto; + width: auto; + } + + .row-cols-lg-1 > * { + flex: 0 0 auto; + width: 100%; + } + + .row-cols-lg-2 > * { + flex: 0 0 auto; + width: 50%; + } + + .row-cols-lg-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + + .row-cols-lg-4 > * { + flex: 0 0 auto; + width: 25%; + } + + .row-cols-lg-5 > * { + flex: 0 0 auto; + width: 20%; + } + + .row-cols-lg-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + + .col-lg-auto { + flex: 0 0 auto; + width: auto; + } + + .col-lg-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + + .col-lg-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + + .col-lg-3 { + flex: 0 0 auto; + width: 25%; + } + + .col-lg-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + + .col-lg-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + + .col-lg-6 { + flex: 0 0 auto; + width: 50%; + } + + .col-lg-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + + .col-lg-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + + .col-lg-9 { + flex: 0 0 auto; + width: 75%; + } + + .col-lg-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + + .col-lg-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + + .col-lg-12 { + flex: 0 0 auto; + width: 100%; + } + + .offset-lg-0 { + margin-right: 0; + } + + .offset-lg-1 { + margin-right: 8.33333333%; + } + + .offset-lg-2 { + margin-right: 16.66666667%; + } + + .offset-lg-3 { + margin-right: 25%; + } + + .offset-lg-4 { + margin-right: 33.33333333%; + } + + .offset-lg-5 { + margin-right: 41.66666667%; + } + + .offset-lg-6 { + margin-right: 50%; + } + + .offset-lg-7 { + margin-right: 58.33333333%; + } + + .offset-lg-8 { + margin-right: 66.66666667%; + } + + .offset-lg-9 { + margin-right: 75%; + } + + .offset-lg-10 { + margin-right: 83.33333333%; + } + + .offset-lg-11 { + margin-right: 91.66666667%; + } + + .g-lg-0, + .gx-lg-0 { + --bs-gutter-x: 0; + } + + .g-lg-0, + .gy-lg-0 { + --bs-gutter-y: 0; + } + + .g-lg-1, + .gx-lg-1 { + --bs-gutter-x: var(--bs-spacer-1); + } + + .g-lg-1, + .gy-lg-1 { + --bs-gutter-y: var(--bs-spacer-1); + } + + .g-lg-2, + .gx-lg-2 { + --bs-gutter-x: var(--bs-spacer-2); + } + + .g-lg-2, + .gy-lg-2 { + --bs-gutter-y: var(--bs-spacer-2); + } + + .g-lg-3, + .gx-lg-3 { + --bs-gutter-x: var(--bs-spacer-3); + } + + .g-lg-3, + .gy-lg-3 { + --bs-gutter-y: var(--bs-spacer-3); + } + + .g-lg-4, + .gx-lg-4 { + --bs-gutter-x: var(--bs-spacer-4); + } + + .g-lg-4, + .gy-lg-4 { + --bs-gutter-y: var(--bs-spacer-4); + } + + .g-lg-5, + .gx-lg-5 { + --bs-gutter-x: var(--bs-spacer-5); + } + + .g-lg-5, + .gy-lg-5 { + --bs-gutter-y: var(--bs-spacer-5); + } +} + +@media (min-width: 1200px) { + .col-xl { + flex: 1 0 0%; + } + + .row-cols-xl-auto > * { + flex: 0 0 auto; + width: auto; + } + + .row-cols-xl-1 > * { + flex: 0 0 auto; + width: 100%; + } + + .row-cols-xl-2 > * { + flex: 0 0 auto; + width: 50%; + } + + .row-cols-xl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + + .row-cols-xl-4 > * { + flex: 0 0 auto; + width: 25%; + } + + .row-cols-xl-5 > * { + flex: 0 0 auto; + width: 20%; + } + + .row-cols-xl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + + .col-xl-auto { + flex: 0 0 auto; + width: auto; + } + + .col-xl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + + .col-xl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + + .col-xl-3 { + flex: 0 0 auto; + width: 25%; + } + + .col-xl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + + .col-xl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + + .col-xl-6 { + flex: 0 0 auto; + width: 50%; + } + + .col-xl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + + .col-xl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + + .col-xl-9 { + flex: 0 0 auto; + width: 75%; + } + + .col-xl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + + .col-xl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + + .col-xl-12 { + flex: 0 0 auto; + width: 100%; + } + + .offset-xl-0 { + margin-right: 0; + } + + .offset-xl-1 { + margin-right: 8.33333333%; + } + + .offset-xl-2 { + margin-right: 16.66666667%; + } + + .offset-xl-3 { + margin-right: 25%; + } + + .offset-xl-4 { + margin-right: 33.33333333%; + } + + .offset-xl-5 { + margin-right: 41.66666667%; + } + + .offset-xl-6 { + margin-right: 50%; + } + + .offset-xl-7 { + margin-right: 58.33333333%; + } + + .offset-xl-8 { + margin-right: 66.66666667%; + } + + .offset-xl-9 { + margin-right: 75%; + } + + .offset-xl-10 { + margin-right: 83.33333333%; + } + + .offset-xl-11 { + margin-right: 91.66666667%; + } + + .g-xl-0, + .gx-xl-0 { + --bs-gutter-x: 0; + } + + .g-xl-0, + .gy-xl-0 { + --bs-gutter-y: 0; + } + + .g-xl-1, + .gx-xl-1 { + --bs-gutter-x: var(--bs-spacer-1); + } + + .g-xl-1, + .gy-xl-1 { + --bs-gutter-y: var(--bs-spacer-1); + } + + .g-xl-2, + .gx-xl-2 { + --bs-gutter-x: var(--bs-spacer-2); + } + + .g-xl-2, + .gy-xl-2 { + --bs-gutter-y: var(--bs-spacer-2); + } + + .g-xl-3, + .gx-xl-3 { + --bs-gutter-x: var(--bs-spacer-3); + } + + .g-xl-3, + .gy-xl-3 { + --bs-gutter-y: var(--bs-spacer-3); + } + + .g-xl-4, + .gx-xl-4 { + --bs-gutter-x: var(--bs-spacer-4); + } + + .g-xl-4, + .gy-xl-4 { + --bs-gutter-y: var(--bs-spacer-4); + } + + .g-xl-5, + .gx-xl-5 { + --bs-gutter-x: var(--bs-spacer-5); + } + + .g-xl-5, + .gy-xl-5 { + --bs-gutter-y: var(--bs-spacer-5); + } +} + +@media (min-width: 1400px) { + .col-xxl { + flex: 1 0 0%; + } + + .row-cols-xxl-auto > * { + flex: 0 0 auto; + width: auto; + } + + .row-cols-xxl-1 > * { + flex: 0 0 auto; + width: 100%; + } + + .row-cols-xxl-2 > * { + flex: 0 0 auto; + width: 50%; + } + + .row-cols-xxl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + + .row-cols-xxl-4 > * { + flex: 0 0 auto; + width: 25%; + } + + .row-cols-xxl-5 > * { + flex: 0 0 auto; + width: 20%; + } + + .row-cols-xxl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + + .col-xxl-auto { + flex: 0 0 auto; + width: auto; + } + + .col-xxl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + + .col-xxl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + + .col-xxl-3 { + flex: 0 0 auto; + width: 25%; + } + + .col-xxl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + + .col-xxl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + + .col-xxl-6 { + flex: 0 0 auto; + width: 50%; + } + + .col-xxl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + + .col-xxl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + + .col-xxl-9 { + flex: 0 0 auto; + width: 75%; + } + + .col-xxl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + + .col-xxl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + + .col-xxl-12 { + flex: 0 0 auto; + width: 100%; + } + + .offset-xxl-0 { + margin-right: 0; + } + + .offset-xxl-1 { + margin-right: 8.33333333%; + } + + .offset-xxl-2 { + margin-right: 16.66666667%; + } + + .offset-xxl-3 { + margin-right: 25%; + } + + .offset-xxl-4 { + margin-right: 33.33333333%; + } + + .offset-xxl-5 { + margin-right: 41.66666667%; + } + + .offset-xxl-6 { + margin-right: 50%; + } + + .offset-xxl-7 { + margin-right: 58.33333333%; + } + + .offset-xxl-8 { + margin-right: 66.66666667%; + } + + .offset-xxl-9 { + margin-right: 75%; + } + + .offset-xxl-10 { + margin-right: 83.33333333%; + } + + .offset-xxl-11 { + margin-right: 91.66666667%; + } + + .g-xxl-0, + .gx-xxl-0 { + --bs-gutter-x: 0; + } + + .g-xxl-0, + .gy-xxl-0 { + --bs-gutter-y: 0; + } + + .g-xxl-1, + .gx-xxl-1 { + --bs-gutter-x: var(--bs-spacer-1); + } + + .g-xxl-1, + .gy-xxl-1 { + --bs-gutter-y: var(--bs-spacer-1); + } + + .g-xxl-2, + .gx-xxl-2 { + --bs-gutter-x: var(--bs-spacer-2); + } + + .g-xxl-2, + .gy-xxl-2 { + --bs-gutter-y: var(--bs-spacer-2); + } + + .g-xxl-3, + .gx-xxl-3 { + --bs-gutter-x: var(--bs-spacer-3); + } + + .g-xxl-3, + .gy-xxl-3 { + --bs-gutter-y: var(--bs-spacer-3); + } + + .g-xxl-4, + .gx-xxl-4 { + --bs-gutter-x: var(--bs-spacer-4); + } + + .g-xxl-4, + .gy-xxl-4 { + --bs-gutter-y: var(--bs-spacer-4); + } + + .g-xxl-5, + .gx-xxl-5 { + --bs-gutter-x: var(--bs-spacer-5); + } + + .g-xxl-5, + .gy-xxl-5 { + --bs-gutter-y: var(--bs-spacer-5); + } +} + +/** + * ---------------------------------------------------------------------------- + * [ Tables ] + * ---------------------------------------------------------------------------- + */ + +.table { + --bs-table-color-type: initial; + --bs-table-bg-type: initial; + --bs-table-color-state: initial; + --bs-table-bg-state: initial; + --bs-table-color: var(--bs-body-color); + --bs-table-bg: transparent; + --bs-table-border-color: var(--bs-border-color); + --bs-table-accent-bg: transparent; + --bs-table-striped-color: var(--bs-table-color); + --bs-table-striped-bg: hsla(var(--bs-black-hsl), 0.03); + --bs-table-active-color: var(--bs-table-color); + --bs-table-active-bg: hsla(var(--bs-black-hsl), 0.09); + --bs-table-hover-color: var(--bs-table-color); + --bs-table-hover-bg: hsla(var(--bs-black-hsl), 0.06); + width: 100%; + margin-bottom: 1rem; + vertical-align: top; + border-color: var(--bs-table-border-color); +} + +[data-bs-theme=dark] .table { + --bs-table-striped-bg: hsla(var(--bs-white-hsl), 0.025); + --bs-table-active-bg: hsla(var(--bs-white-hsl), 0.075); + --bs-table-hover-bg: hsla(var(--bs-white-hsl), 0.05); +} + +.table > :not(caption) > * > * { + padding: 0.375rem 0.5rem; + color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color))); + background-color: var(--bs-table-bg); + border-bottom-width: var(--bs-border-width); + box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg))); +} + +.table > tbody { + vertical-align: inherit; +} + +.table > thead { + vertical-align: bottom; +} + +.table-group-divider { + border-top: var(--bs-border-width-2) solid currentcolor; +} + +.caption-top { + caption-side: top; +} + +.table-sm > :not(caption) > * > * { + padding: 0.25rem 0.375rem; +} + +.table-bordered > :not(caption) > * { + border-width: var(--bs-border-width) 0; +} + +.table-bordered > :not(caption) > * > * { + border-width: 0 var(--bs-border-width); +} + +.table-borderless > :not(caption) > * > * { + border-bottom-width: 0; +} + +.table-borderless > :not(:first-child) { + border-top-width: 0; +} + +.table-striped > tbody > tr:nth-of-type(odd) > * { + --bs-table-color-type: var(--bs-table-striped-color); + --bs-table-bg-type: var(--bs-table-striped-bg); +} + +.table-striped-columns > :not(caption) > tr > :nth-child(even) { + --bs-table-color-type: var(--bs-table-striped-color); + --bs-table-bg-type: var(--bs-table-striped-bg); +} + +.table-active { + --bs-table-color-state: var(--bs-table-active-color); + --bs-table-bg-state: var(--bs-table-active-bg); +} + +.table-hover > tbody > tr:hover > * { + --bs-table-color-state: var(--bs-table-hover-color); + --bs-table-bg-state: var(--bs-table-hover-bg); +} + +/* Primary table */ + +.table-primary { + --bs-table-color: var(--bs-body-color); + --bs-table-bg: hsla(var(--bs-primary-hsl), 0.125); + --bs-table-border-color: var(--bs-border-color); + --bs-table-striped-color: var(--bs-table-color); + --bs-table-striped-bg: hsla(var(--bs-primary-hsl), 0.15); + --bs-table-active-color: var(--bs-table-color); + --bs-table-active-bg: hsla(var(--bs-primary-hsl), 0.25); + --bs-table-hover-color: var(--bs-table-color); + --bs-table-hover-bg: hsla(var(--bs-primary-hsl), 0.2); + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +/* Secondary table */ + +.table-secondary { + --bs-table-color: var(--bs-body-color); + --bs-table-bg: hsla(var(--bs-secondary-hsl), 0.125); + --bs-table-border-color: var(--bs-border-color); + --bs-table-striped-color: var(--bs-table-color); + --bs-table-striped-bg: hsla(var(--bs-secondary-hsl), 0.15); + --bs-table-active-color: var(--bs-table-color); + --bs-table-active-bg: hsla(var(--bs-secondary-hsl), 0.25); + --bs-table-hover-color: var(--bs-table-color); + --bs-table-hover-bg: hsla(var(--bs-secondary-hsl), 0.2); + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +/* Success table */ + +.table-success { + --bs-table-color: var(--bs-body-color); + --bs-table-bg: hsla(var(--bs-success-hsl), 0.125); + --bs-table-border-color: var(--bs-border-color); + --bs-table-striped-color: var(--bs-table-color); + --bs-table-striped-bg: hsla(var(--bs-success-hsl), 0.15); + --bs-table-active-color: var(--bs-table-color); + --bs-table-active-bg: hsla(var(--bs-success-hsl), 0.25); + --bs-table-hover-color: var(--bs-table-color); + --bs-table-hover-bg: hsla(var(--bs-success-hsl), 0.2); + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +/* Info table */ + +.table-info { + --bs-table-color: var(--bs-body-color); + --bs-table-bg: hsla(var(--bs-info-hsl), 0.125); + --bs-table-border-color: var(--bs-border-color); + --bs-table-striped-color: var(--bs-table-color); + --bs-table-striped-bg: hsla(var(--bs-info-hsl), 0.15); + --bs-table-active-color: var(--bs-table-color); + --bs-table-active-bg: hsla(var(--bs-info-hsl), 0.25); + --bs-table-hover-color: var(--bs-table-color); + --bs-table-hover-bg: hsla(var(--bs-info-hsl), 0.2); + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +/* Warning table */ + +.table-warning { + --bs-table-color: var(--bs-body-color); + --bs-table-bg: hsla(var(--bs-warning-hsl), 0.125); + --bs-table-border-color: var(--bs-border-color); + --bs-table-striped-color: var(--bs-table-color); + --bs-table-striped-bg: hsla(var(--bs-warning-hsl), 0.15); + --bs-table-active-color: var(--bs-table-color); + --bs-table-active-bg: hsla(var(--bs-warning-hsl), 0.25); + --bs-table-hover-color: var(--bs-table-color); + --bs-table-hover-bg: hsla(var(--bs-warning-hsl), 0.2); + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +/* Danger table */ + +.table-danger { + --bs-table-color: var(--bs-body-color); + --bs-table-bg: hsla(var(--bs-danger-hsl), 0.125); + --bs-table-border-color: var(--bs-border-color); + --bs-table-striped-color: var(--bs-table-color); + --bs-table-striped-bg: hsla(var(--bs-danger-hsl), 0.15); + --bs-table-active-color: var(--bs-table-color); + --bs-table-active-bg: hsla(var(--bs-danger-hsl), 0.25); + --bs-table-hover-color: var(--bs-table-color); + --bs-table-hover-bg: hsla(var(--bs-danger-hsl), 0.2); + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +/* Light table */ + +.table-light { + --bs-table-color: var(--bs-body-color); + --bs-table-bg: hsla(var(--bs-light-hsl), 0.125); + --bs-table-border-color: var(--bs-border-color); + --bs-table-striped-color: var(--bs-table-color); + --bs-table-striped-bg: hsla(var(--bs-light-hsl), 0.15); + --bs-table-active-color: var(--bs-table-color); + --bs-table-active-bg: hsla(var(--bs-light-hsl), 0.25); + --bs-table-hover-color: var(--bs-table-color); + --bs-table-hover-bg: hsla(var(--bs-light-hsl), 0.2); + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +/* Dark table */ + +.table-dark { + --bs-table-color: var(--bs-body-color); + --bs-table-bg: hsla(var(--bs-dark-hsl), 0.125); + --bs-table-border-color: var(--bs-border-color); + --bs-table-striped-color: var(--bs-table-color); + --bs-table-striped-bg: hsla(var(--bs-dark-hsl), 0.15); + --bs-table-active-color: var(--bs-table-color); + --bs-table-active-bg: hsla(var(--bs-dark-hsl), 0.25); + --bs-table-hover-color: var(--bs-table-color); + --bs-table-hover-bg: hsla(var(--bs-dark-hsl), 0.2); + color: var(--bs-table-color); + border-color: var(--bs-table-border-color); +} + +/* Responsive table */ + +.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 ] + * ---------------------------------------------------------------------------- + */ + +.form-label { + margin-bottom: 0.5rem; +} + +.col-form-label { + padding-top: calc(var(--bs-action-padding-y) + var(--bs-border-width)); + padding-bottom: calc(var(--bs-action-padding-y) + var(--bs-border-width)); + margin-bottom: 0; + font-size: var(--bs-action-font-size); + line-height: var(--bs-action-line-height); +} + +.col-form-label-lg { + padding-top: calc(var(--bs-action-lg-padding-y) + var(--bs-border-width)); + padding-bottom: calc(var(--bs-action-lg-padding-y) + var(--bs-border-width)); + font-size: var(--bs-action-lg-font-size); + line-height: var(--bs-action-lg-line-height); +} + +.col-form-label-sm { + padding-top: calc(var(--bs-action-sm-padding-y) + var(--bs-border-width)); + padding-bottom: calc(var(--bs-action-sm-padding-y) + var(--bs-border-width)); + font-size: var(--bs-action-sm-font-size); + line-height: var(--bs-action-sm-line-height); +} + +.form-text { + margin-top: 0.25rem; + font-size: var(--bs-font-size-sm); + color: var(--bs-secondary-color); +} + +/* Form control */ + +.form-control { + display: block; + width: 100%; + padding: var(--bs-action-padding-y) var(--bs-action-padding-x); + font-size: var(--bs-action-font-size); + font-weight: var(--bs-font-weight-normal); + line-height: var(--bs-action-line-height); + color: var(--bs-form-color); + background-color: var(--bs-form-bg); + background-clip: padding-box; + border: var(--bs-border-width) solid var(--bs-form-border-color); + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + border-radius: var(--bs-border-radius); +} + +@media (prefers-reduced-motion: reduce) { + .form-control { + transition: none; + } +} + +.form-control[type=file] { + overflow: hidden; +} + +.form-control[type=file]:not(:disabled):not([readonly]) { + cursor: pointer; +} + +.form-control:focus { + color: var(--bs-form-color); + background-color: var(--bs-form-bg); + border-color: var(--bs-form-focus-border-color); + outline: 0; + box-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-form-focus-shadow-hsl), 0.35); +} + +.form-control::-webkit-date-and-time-value { + min-width: 5.3125rem; + height: 1.5em; + margin: 0; +} + +.form-control::-webkit-datetime-edit { + display: block; + padding: 0; +} + +.form-control::-moz-placeholder { + color: var(--bs-tertiary-color); + opacity: 1; +} + +.form-control::placeholder { + color: var(--bs-tertiary-color); + opacity: 1; +} + +.form-control:disabled { + color: var(--bs-form-disabled-color); + background-color: var(--bs-form-disabled-bg); + border-color: var(--bs-form-disabled-border-color); + opacity: 1; +} + +.form-control::-webkit-file-upload-button { + padding: var(--bs-action-padding-y) var(--bs-action-padding-x); + margin: calc(-1 * var(--bs-action-padding-y)) calc(-1 * var(--bs-action-padding-x)); + -webkit-margin-end: var(--bs-action-padding-x); + margin-inline-end: var(--bs-action-padding-x); + color: var(--bs-form-color); + background-color: var(--bs-form-secondary-bg); + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: var(--bs-border-width); + border-radius: 0; +} + +.form-control::file-selector-button { + padding: var(--bs-action-padding-y) var(--bs-action-padding-x); + margin: calc(-1 * var(--bs-action-padding-y)) calc(-1 * var(--bs-action-padding-x)); + -webkit-margin-end: var(--bs-action-padding-x); + margin-inline-end: var(--bs-action-padding-x); + color: var(--bs-form-color); + background-color: var(--bs-form-secondary-bg); + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: var(--bs-border-width); + border-radius: 0; +} + +@media (prefers-reduced-motion: reduce) { + .form-control::-webkit-file-upload-button { + -webkit-transition: none; + transition: none; + } + + .form-control::file-selector-button { + transition: none; + } +} + +.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button { + background-color: var(--bs-form-tertiary-bg); +} + +.form-control:hover:not(:disabled):not([readonly])::file-selector-button { + background-color: var(--bs-form-tertiary-bg); +} + +.form-control-plaintext { + display: block; + width: 100%; + padding: var(--bs-action-padding-y) 0; + margin-bottom: 0; + line-height: var(--bs-action-line-height); + color: var(--bs-form-color); + background-color: transparent; + border: solid transparent; + border-width: var(--bs-border-width) 0; +} + +.form-control-plaintext:focus { + outline: 0; +} + +.form-control-plaintext.form-control-sm, +.form-control-plaintext.form-control-lg { + padding-left: 0; + padding-right: 0; +} + +.form-control-sm { + min-height: calc(var(--bs-action-sm-font-size) * var(--bs-action-sm-line-height) + var(--bs-action-sm-padding-y) * 2 + var(--bs-border-width) * 2); + padding: var(--bs-action-sm-padding-y) var(--bs-action-sm-padding-x); + font-size: var(--bs-action-sm-font-size); + line-height: var(--bs-action-sm-line-height); + border-radius: var(--bs-border-radius-sm); +} + +.form-control-sm::-webkit-file-upload-button { + padding: var(--bs-action-sm-padding-y) var(--bs-action-sm-padding-x); + margin: calc(-1 * var(--bs-action-sm-padding-y)) calc(-1 * var(--bs-action-sm-padding-x)); + -webkit-margin-end: var(--bs-action-sm-padding-x); + margin-inline-end: var(--bs-action-sm-padding-x); +} + +.form-control-sm::file-selector-button { + padding: var(--bs-action-sm-padding-y) var(--bs-action-sm-padding-x); + margin: calc(-1 * var(--bs-action-sm-padding-y)) calc(-1 * var(--bs-action-sm-padding-x)); + -webkit-margin-end: var(--bs-action-sm-padding-x); + margin-inline-end: var(--bs-action-sm-padding-x); +} + +.form-control-lg { + min-height: calc(var(--bs-action-lg-font-size) * var(--bs-action-lg-line-height) + var(--bs-action-lg-padding-y) * 2 + var(--bs-border-width) * 2); + padding: var(--bs-action-lg-padding-y) var(--bs-action-lg-padding-x); + font-size: var(--bs-action-lg-font-size); + line-height: var(--bs-action-lg-line-height); + border-radius: var(--bs-border-radius-lg); +} + +.form-control-lg::-webkit-file-upload-button { + padding: var(--bs-action-lg-padding-y) var(--bs-action-lg-padding-x); + margin: calc(-1 * var(--bs-action-lg-padding-y)) calc(-1 * var(--bs-action-lg-padding-x)); + -webkit-margin-end: var(--bs-action-lg-padding-x); + margin-inline-end: var(--bs-action-lg-padding-x); +} + +.form-control-lg::file-selector-button { + padding: var(--bs-action-lg-padding-y) var(--bs-action-lg-padding-x); + margin: calc(-1 * var(--bs-action-lg-padding-y)) calc(-1 * var(--bs-action-lg-padding-x)); + -webkit-margin-end: var(--bs-action-lg-padding-x); + margin-inline-end: var(--bs-action-lg-padding-x); +} + +textarea.form-control { + min-height: calc(var(--bs-action-font-size) * var(--bs-action-line-height) + var(--bs-action-padding-y) * 2 + var(--bs-border-width) * 2); +} + +textarea.form-control-sm, +.input-group-sm > textarea.form-control { + min-height: calc(var(--bs-action-sm-font-size) * var(--bs-action-sm-line-height) + var(--bs-action-sm-padding-y) * 2 + var(--bs-border-width) * 2); +} + +textarea.form-control-lg, +.input-group-lg > textarea.form-control { + min-height: calc(var(--bs-action-lg-font-size) * var(--bs-action-lg-line-height) + var(--bs-action-lg-padding-y) * 2 + var(--bs-border-width) * 2); +} + +.form-control-color { + width: 3rem; + height: calc(1.5em + var(--bs-action-padding-y) + var(--bs-border-width) * 2); + padding: 0.375rem; +} + +.form-control-color:not(:disabled):not([readonly]) { + cursor: pointer; +} + +.form-control-color::-moz-color-swatch { + border: 0 !important; + border-radius: var(--bs-border-radius); +} + +.form-control-color::-webkit-color-swatch { + border: 0 !important; + border-radius: var(--bs-border-radius); +} + +.form-control-color.form-control-sm { + height: calc(1.5em + var(--bs-action-sm-padding-y) + var(--bs-border-width) * 2); +} + +.form-control-color.form-control-lg { + height: calc(1.5em + var(--bs-action-lg-padding-y) + var(--bs-border-width) * 2); +} + +/* Form select */ + +.form-select { + --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%233d4043' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); + display: block; + width: 100%; + padding: var(--bs-action-padding-y) var(--bs-action-padding-x) var(--bs-action-padding-y) 2rem; + font-size: var(--bs-action-font-size); + font-weight: var(--bs-font-weight-normal); + line-height: var(--bs-action-line-height); + color: var(--bs-form-color); + background-color: var(--bs-form-bg); + background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none); + background-repeat: no-repeat; + background-position: left var(--bs-action-padding-x) center; + background-size: 1rem 0.75rem; + border: var(--bs-border-width) solid var(--bs-form-border-color); + border-radius: var(--bs-border-radius); + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +@media (prefers-reduced-motion: reduce) { + .form-select { + transition: none; + } +} + +.form-select:focus { + border-color: var(--bs-form-focus-border-color); + outline: 0; + box-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-form-focus-shadow-hsl), 0.35); +} + +.form-select[multiple], +.form-select[size]:not([size="1"]) { + padding-left: var(--bs-action-padding-x); + background-image: none; +} + +.form-select:disabled { + color: var(--bs-form-disabled-color); + background-color: var(--bs-form-disabled-bg); + border-color: var(--bs-form-disabled-border-color); +} + +.form-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 var(--bs-form-color); +} + +.form-select-sm { + padding-top: var(--bs-action-sm-padding-y); + padding-bottom: var(--bs-action-sm-padding-y); + padding-right: var(--bs-action-sm-padding-x); + font-size: var(--bs-action-sm-font-size); + line-height: var(--bs-action-sm-line-height); + border-radius: var(--bs-border-radius-sm); +} + +.form-select-lg { + padding-top: var(--bs-action-lg-padding-y); + padding-bottom: var(--bs-action-lg-padding-y); + padding-right: var(--bs-action-lg-padding-x); + font-size: var(--bs-action-lg-font-size); + line-height: var(--bs-action-lg-line-height); + border-radius: var(--bs-border-radius-lg); +} + +[data-bs-theme=dark] .form-select { + --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23aeb1b7' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); +} + +.form-select[multiple] { + overflow-y: auto; +} + +/* Form check */ + +.form-check { + display: block; + min-height: 1.5rem; + padding-right: 1.5em; + margin-bottom: 0.125rem; +} + +.form-check .form-check-input { + float: right; + margin-right: -1.5em; +} + +.form-check-reverse { + padding-left: 1.5em; + padding-right: 0; + text-align: left; +} + +.form-check-reverse .form-check-input { + float: left; + margin-left: -1.5em; + margin-right: 0; +} + +.form-check-input { + flex-shrink: 0; + width: 1em; + height: 1em; + margin-top: var(--bs-relative-font-size-4xs); + vertical-align: top; + background-color: var(--bs-form-check-bg); + background-image: var(--bs-form-check-bg-image); + background-repeat: no-repeat; + background-position: center; + background-size: contain; + border: var(--bs-border-width) solid var(--bs-form-check-border-color); + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + -webkit-print-color-adjust: exact; + color-adjust: exact; + print-color-adjust: exact; +} + +.form-check-input[type=checkbox] { + border-radius: var(--bs-relative-font-size-4xs); +} + +.form-check-input[type=radio] { + border-radius: 50%; +} + +.form-check-input:active { + filter: brightness(90%); +} + +.form-check-input:focus { + border-color: var(--bs-form-check-focus-border-color); + outline: 0; + box-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-form-check-focus-shadow-hsl), 0.35); +} + +.form-check-input:checked { + background-color: var(--bs-primary); + border-color: var(--bs-primary); +} + +.form-check-input:checked[type=checkbox] { + --bs-form-check-bg-image: var(--bs-primary-checkbox-svg); +} + +.form-check-input:checked[type=radio] { + --bs-form-check-bg-image: var(--bs-primary-radio-svg); +} + +.form-check-input[type=checkbox]:indeterminate { + background-color: var(--bs-primary); + border-color: var(--bs-primary); + --bs-form-check-bg-image: var(--bs-primary-dash-svg); +} + +.form-check-input:disabled { + pointer-events: none; + filter: none; + opacity: 0.5; +} + +.form-check-input[disabled] ~ .form-check-label, +.form-check-input:disabled ~ .form-check-label { + cursor: default; + opacity: 0.5; +} + +.form-switch { + padding-right: 2.5em; +} + +.form-switch .form-check-input { + --bs-form-switch-bg: var(--bs-switch-svg-unchecked); + width: 2em; + margin-right: -2.5em; + background-image: var(--bs-form-switch-bg); + background-position: right center; + border-radius: 2em; + transition: background-position 0.15s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .form-switch .form-check-input { + transition: none; + } +} + +.form-switch .form-check-input:focus { + --bs-form-switch-bg: var(--bs-switch-svg-unchecked); +} + +.form-switch .form-check-input:checked { + background-position: left center; + --bs-form-switch-bg: var(--bs-primary-switch-svg); +} + +.form-switch.form-check-reverse { + padding-left: 2.5em; + padding-right: 0; +} + +.form-switch.form-check-reverse .form-check-input { + margin-left: -2.5em; + margin-right: 0; +} + +.form-check-inline { + display: inline-block; + margin-left: 1rem; +} + +.btn-check { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} + +.btn-check[disabled] + .btn, +.btn-check:disabled + .btn { + pointer-events: none; + filter: none; + opacity: 0.65; +} + +/* Form range */ + +.form-range { + width: 100%; + height: 1.625rem; + padding: 0; + background-color: transparent; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.form-range:focus { + outline: 0; +} + +.form-range:focus::-webkit-slider-thumb { + border-color: var(--bs-primary-border-subtle); + box-shadow: 0 0 0 0.3125rem hsla(var(--bs-form-focus-shadow-hsl), 0.35); +} + +.form-range:focus::-moz-range-thumb { + border-color: var(--bs-primary-border-subtle); + box-shadow: 0 0 0 0.3125rem hsla(var(--bs-form-focus-shadow-hsl), 0.35); +} + +.form-range::-moz-focus-outer { + border: 0; +} + +.form-range::-webkit-slider-thumb { + width: 1.625rem; + height: 1.625rem; + margin-top: -0.625rem; + background-color: var(--bs-form-check-bg); + border: var(--bs-border-width-2) solid var(--bs-form-check-border-color); + border-radius: 50%; + -webkit-appearance: none; + appearance: none; + box-sizing: border-box; + cursor: pointer; +} + +@media (prefers-reduced-motion: reduce) { + .form-range::-webkit-slider-thumb { + -webkit-transition: none; + transition: none; + } +} + +.form-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + box-sizing: border-box; + cursor: pointer; + background-color: var(--bs-actionbar-bg); + border: var(--bs-border-width) solid var(--bs-actionbar-border-color); + border-radius: 1rem; +} + +.form-range::-moz-range-thumb { + width: 1.625rem; + height: 1.625rem; + background-color: var(--bs-form-check-bg); + border: var(--bs-border-width-2) solid var(--bs-form-check-border-color); + border-radius: 50%; + -moz-appearance: none; + appearance: none; + box-sizing: border-box; + cursor: pointer; +} + +@media (prefers-reduced-motion: reduce) { + .form-range::-moz-range-thumb { + -moz-transition: none; + transition: none; + } +} + +.form-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + box-sizing: border-box; + cursor: pointer; + background-color: var(--bs-actionbar-bg); + border: var(--bs-border-width) solid var(--bs-actionbar-border-color); + border-radius: 1rem; +} + +.form-range:disabled { + pointer-events: none; +} + +.form-range:disabled::-webkit-slider-thumb { + background-color: var(--bs-form-check-border-color); +} + +.form-range:disabled::-moz-range-thumb { + background-color: var(--bs-form-check-border-color); +} + +/* Floating labels */ + +.form-floating { + position: relative; +} + +.form-floating > .form-control, +.form-floating > .form-control-plaintext, +.form-floating > .form-select { + height: calc(3.5rem + calc(var(--bs-border-width) * 2)); + min-height: calc(3.5rem + calc(var(--bs-border-width) * 2)); + line-height: var(--bs-line-height-sm); +} + +.form-floating > label { + position: absolute; + top: 0; + right: 0; + z-index: 2; + height: 100%; + padding: 1rem 0.75rem; + overflow: hidden; + text-align: start; + text-overflow: ellipsis; + white-space: nowrap; + pointer-events: none; + color: hsla(var(--bs-body-color-hsl), 0.75); + border: var(--bs-border-width) solid transparent; + transform-origin: 100% 0; + transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .form-floating > label { + transition: none; + } +} + +.form-floating > .form-control, +.form-floating > .form-control-plaintext { + padding: 1rem 0.75rem; +} + +.form-floating > .form-control::-moz-placeholder, +.form-floating > .form-control-plaintext::-moz-placeholder { + color: transparent; +} + +.form-floating > .form-control::placeholder, +.form-floating > .form-control-plaintext::placeholder { + color: transparent; +} + +.form-floating > .form-control:not(:-moz-placeholder-shown), +.form-floating > .form-control-plaintext:not(:-moz-placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} + +.form-floating > .form-control:focus, +.form-floating > .form-control:not(:placeholder-shown), +.form-floating > .form-control-plaintext:focus, +.form-floating > .form-control-plaintext:not(:placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} + +.form-floating > .form-control:-webkit-autofill, +.form-floating > .form-control-plaintext:-webkit-autofill { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} + +.form-floating > .form-select { + padding-top: 1.625rem; + padding-bottom: 0.625rem; + padding-right: 0.75rem; +} + +.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label { + color: hsla(var(--bs-body-color-hsl), 0.75); + transform: scale(0.85) translateY(-0.5rem) translateX(-0.15rem); +} + +.form-floating > .form-control:focus ~ label, +.form-floating > .form-control:not(:placeholder-shown) ~ label, +.form-floating > .form-control-plaintext ~ label, +.form-floating > .form-select ~ label { + color: hsla(var(--bs-body-color-hsl), 0.75); + transform: scale(0.85) translateY(-0.5rem) translateX(-0.15rem); +} + +.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label::after { + position: absolute; + inset: 1rem 0.375rem; + z-index: -1; + height: 1.5em; + content: ""; + background-color: var(--bs-form-bg); + border-radius: var(--bs-border-radius); +} + +.form-floating > .form-control:focus ~ label::after, +.form-floating > .form-control:not(:placeholder-shown) ~ label::after, +.form-floating > .form-control-plaintext ~ label::after, +.form-floating > .form-select ~ label::after { + position: absolute; + inset: 1rem 0.375rem; + z-index: -1; + height: 1.5em; + content: ""; + background-color: var(--bs-form-bg); + border-radius: var(--bs-border-radius); +} + +.form-floating > .form-control-plaintext ~ label::after { + background-color: transparent; +} + +.form-floating > .form-control:-webkit-autofill ~ label { + color: hsla(var(--bs-body-color-hsl), 0.75); + transform: scale(0.85) translateY(-0.5rem) translateX(-0.15rem); +} + +.form-floating > .form-control-plaintext ~ label { + border-width: var(--bs-border-width) 0; +} + +.form-floating > :disabled ~ label, +.form-floating > .form-control:disabled ~ label { + color: var(--bs-form-disabled-color); +} + +.form-floating > :disabled ~ label::after, +.form-floating > .form-control:disabled ~ label::after { + background-color: var(--bs-form-disabled-bg); +} + +/* Input group */ + +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100%; +} + +.input-group > .form-control, +.input-group > .form-select, +.input-group > .form-floating { + position: relative; + flex: 1 1 auto; + width: 1%; + min-width: 0; +} + +.input-group > .form-control:focus, +.input-group > .form-select:focus, +.input-group > .form-floating:focus-within { + z-index: 5; +} + +.input-group .btn { + position: relative; + z-index: 2; +} + +.input-group .btn:focus { + z-index: 5; +} + +.input-group-text { + display: flex; + align-items: center; + padding: var(--bs-action-padding-y) var(--bs-action-padding-x); + font-size: var(--bs-action-font-size); + font-weight: var(--bs-font-weight-normal); + line-height: var(--bs-action-line-height); + color: var(--bs-body-color); + text-align: center; + white-space: nowrap; + background-color: var(--bs-form-tertiary-bg); + border: var(--bs-border-width) solid var(--bs-form-border-color); + border-radius: var(--bs-border-radius); +} + +.input-group-lg > .form-control, +.input-group-lg > .form-select, +.input-group-lg > .input-group-text, +.input-group-lg > .btn { + padding: var(--bs-action-lg-padding-y) var(--bs-action-lg-padding-x); + font-size: var(--bs-action-lg-font-size); + line-height: var(--bs-action-lg-line-height); + border-radius: var(--bs-border-radius-lg); +} + +.input-group-sm > .form-control, +.input-group-sm > .form-select, +.input-group-sm > .input-group-text, +.input-group-sm > .btn { + padding: var(--bs-action-sm-padding-y) var(--bs-action-sm-padding-x); + font-size: var(--bs-action-sm-font-size); + line-height: var(--bs-action-sm-line-height); + border-radius: var(--bs-border-radius-sm); +} + +.input-group-lg > .form-select, +.input-group-sm > .form-select { + padding-left: 2rem; +} + +.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-left-radius: 0; + border-bottom-left-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-left-radius: 0; + border-bottom-left-radius: 0; +} + +.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) { + margin-right: calc(var(--bs-border-width) * -1); + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group > .form-floating:not(:first-child) > .form-control, +.input-group > .form-floating:not(:first-child) > .form-select { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +/* Success validation */ + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: var(--bs-relative-font-size-sm); + color: var(--bs-form-valid-color); + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} + +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.375rem; + margin-top: 0.125rem; + font-size: var(--bs-font-size-sm); + line-height: var(--bs-line-height-sm); + color: var(--bs-success-foreground); + background-color: var(--bs-success); + border-radius: var(--bs-border-radius-sm); + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} + +.was-validated :valid ~ .valid-feedback, +.was-validated :valid ~ .valid-tooltip, +.is-valid ~ .valid-feedback, +.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-control:valid, +.form-control.is-valid { + border-color: var(--bs-form-valid-border-color); + padding-left: calc(1.5em + var(--bs-action-padding-x)); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%233b844f' 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: left calc(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y) / 2)) center; + background-size: calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y)) calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y)); +} + +.was-validated .form-control:valid:focus, +.form-control.is-valid:focus { + border-color: var(--bs-form-valid-border-color); + box-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-success-hsl), 0.35); +} + +.was-validated textarea.form-control:valid, +textarea.form-control.is-valid { + padding-left: calc(1.5em + var(--bs-action-padding-x)); + background-position: top calc(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y) / 2)) left calc(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y) / 2)); +} + +.was-validated .form-select:valid, +.form-select.is-valid { + border-color: var(--bs-form-valid-border-color); +} + +.was-validated .form-select:valid:not([multiple]):not([size]), +.was-validated .form-select:valid:not([multiple])[size="1"], +.form-select.is-valid:not([multiple]):not([size]), +.form-select.is-valid:not([multiple])[size="1"] { + --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%233b844f' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + padding-left: 3.5rem; + background-position: left var(--bs-action-padding-x) center, center left 2rem; + background-size: 1rem 0.75rem, calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y)) calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y)); +} + +.was-validated .form-select:valid:focus, +.form-select.is-valid:focus { + border-color: var(--bs-form-valid-border-color); + box-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-success-hsl), 0.35); +} + +.was-validated .form-control-color:valid, +.form-control-color.is-valid { + width: calc(3rem + calc(1.5em + var(--bs-action-padding-x))); +} + +.was-validated .form-check-input:valid, +.form-check-input.is-valid { + border-color: var(--bs-form-valid-border-color); +} + +.was-validated .form-check-input:valid:checked, +.form-check-input.is-valid:checked { + background-color: var(--bs-success); + border-color: var(--bs-success); +} + +.was-validated .form-check-input:valid:checked[type=checkbox], +.form-check-input.is-valid:checked[type=checkbox] { + --bs-form-check-bg-image: var(--bs-success-checkbox-svg); +} + +.was-validated .form-check-input:valid:checked[type=radio], +.form-check-input.is-valid:checked[type=radio] { + --bs-form-check-bg-image: var(--bs-success-radio-svg); +} + +.was-validated.form-switch .form-check-input:valid:checked, +.was-validated .form-switch .form-check-input:valid:checked, +.form-switch .form-check-input.is-valid:checked { + --bs-form-switch-bg: var(--bs-success-switch-svg); +} + +.was-validated .form-check-input:valid:focus, +.form-check-input.is-valid:focus { + box-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-success-hsl), 0.35); +} + +.was-validated .form-check-input:valid ~ .form-check-label, +.form-check-input.is-valid ~ .form-check-label { + color: var(--bs-form-valid-color); +} + +.form-check-inline .form-check-input ~ .valid-feedback { + margin-right: 0.5em; +} + +.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid, +.was-validated .input-group > .form-select:not(:focus):valid, +.input-group > .form-select:not(:focus).is-valid, +.was-validated .input-group > .form-floating:not(:focus-within):valid, +.input-group > .form-floating:not(:focus-within).is-valid { + z-index: 3; +} + +/* Error validation */ + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.25rem; + font-size: var(--bs-relative-font-size-sm); + color: var(--bs-form-invalid-color); + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.25rem 0.375rem; + margin-top: 0.125rem; + font-size: var(--bs-font-size-sm); + line-height: var(--bs-line-height-sm); + color: var(--bs-danger-foreground); + background-color: var(--bs-danger); + border-radius: var(--bs-border-radius-sm); + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} + +.was-validated :invalid ~ .invalid-feedback, +.was-validated :invalid ~ .invalid-tooltip, +.is-invalid ~ .invalid-feedback, +.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-control:invalid, +.form-control.is-invalid { + border-color: var(--bs-form-invalid-border-color); + padding-left: calc(1.5em + var(--bs-action-padding-x)); + 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: left calc(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y) / 2)) center; + background-size: calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y)) calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y)); +} + +.was-validated .form-control:invalid:focus, +.form-control.is-invalid:focus { + border-color: var(--bs-form-invalid-border-color); + box-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-danger-hsl), 0.35); +} + +.was-validated textarea.form-control:invalid, +textarea.form-control.is-invalid { + padding-left: calc(1.5em + var(--bs-action-padding-x)); + background-position: top calc(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y) / 2)) left calc(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y) / 2)); +} + +.was-validated .form-select:invalid, +.form-select.is-invalid { + border-color: var(--bs-form-invalid-border-color); +} + +.was-validated .form-select:invalid:not([multiple]):not([size]), +.was-validated .form-select:invalid:not([multiple])[size="1"], +.form-select.is-invalid:not([multiple]):not([size]), +.form-select.is-invalid:not([multiple])[size="1"] { + --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); + padding-left: 3.5rem; + background-position: left var(--bs-action-padding-x) center, center left 2rem; + background-size: 1rem 0.75rem, calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y)) calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y)); +} + +.was-validated .form-select:invalid:focus, +.form-select.is-invalid:focus { + border-color: var(--bs-form-invalid-border-color); + box-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-danger-hsl), 0.35); +} + +.was-validated .form-control-color:invalid, +.form-control-color.is-invalid { + width: calc(3rem + calc(1.5em + var(--bs-action-padding-x))); +} + +.was-validated .form-check-input:invalid, +.form-check-input.is-invalid { + border-color: var(--bs-form-invalid-border-color); +} + +.was-validated .form-check-input:invalid:checked, +.form-check-input.is-invalid:checked { + background-color: var(--bs-danger); + border-color: var(--bs-danger); +} + +.was-validated .form-check-input:invalid:checked[type=checkbox], +.form-check-input.is-invalid:checked[type=checkbox] { + --bs-form-check-bg-image: var(--bs-danger-checkbox-svg); +} + +.was-validated .form-check-input:invalid:checked[type=radio], +.form-check-input.is-invalid:checked[type=radio] { + --bs-form-check-bg-image: var(--bs-danger-radio-svg); +} + +.was-validated.form-switch .form-check-input:invalid:checked, +.was-validated .form-switch .form-check-input:invalid:checked, +.form-switch .form-check-input.is-invalid:checked { + --bs-form-switch-bg: var(--bs-danger-switch-svg); +} + +.was-validated .form-check-input:invalid:focus, +.form-check-input.is-invalid:focus { + box-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-danger-hsl), 0.35); +} + +.was-validated .form-check-input:invalid ~ .form-check-label, +.form-check-input.is-invalid ~ .form-check-label { + color: var(--bs-form-invalid-color); +} + +.form-check-inline .form-check-input ~ .invalid-feedback { + margin-right: 0.5em; +} + +.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid, +.was-validated .input-group > .form-select:not(:focus):invalid, +.input-group > .form-select:not(:focus).is-invalid, +.was-validated .input-group > .form-floating:not(:focus-within):invalid, +.input-group > .form-floating:not(:focus-within).is-invalid { + z-index: 4; +} + +/** + * ---------------------------------------------------------------------------- + * [ Buttons ] + * + * The secondary button is unique because it largely uses the --bs-action-* + * variables. Therefore, it has been styled and given a "default" look. + * ---------------------------------------------------------------------------- + */ + +.btn { + --bs-btn-padding-x: var(--bs-action-padding-x); + --bs-btn-padding-y: var(--bs-action-padding-y); + --bs-btn-font-family: ; + --bs-btn-font-size: var(--bs-action-font-size); + --bs-btn-font-weight: var(--bs-font-weight-normal); + --bs-btn-line-height: var(--bs-action-line-height); + --bs-btn-color: var(--bs-body-color); + --bs-btn-bg: transparent; + --bs-btn-border-width: var(--bs-border-width); + --bs-btn-border-color: transparent; + --bs-btn-border-radius: var(--bs-border-radius); + --bs-btn-hover-border-color: var(--bs-btn-border-color); + --bs-btn-box-shadow: none; + --bs-btn-disabled-opacity: 0.65; + --bs-btn-focus-box-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-btn-focus-shadow-hsl), 0.5); + --bs-btn-bg-clip: border-box; + --bs-btn-webkit-font-smoothing: auto; + --bs-btn-moz-osx-font-smoothing: auto; + display: inline-block; + padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x); + font-family: var(--bs-btn-font-family); + font-size: var(--bs-btn-font-size); + font-weight: var(--bs-btn-font-weight); + line-height: var(--bs-btn-line-height); + color: var(--bs-btn-color); + text-align: center; + text-decoration: none; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + border: var(--bs-btn-border-width) solid var(--bs-btn-border-color); + border-radius: var(--bs-btn-border-radius); + background-color: var(--bs-btn-bg); + background-clip: var(--bs-btn-bg-clip); + -webkit-font-smoothing: var(--bs-btn-webkit-font-smoothing); + -moz-osx-font-smoothing: var(--bs-btn-moz-osx-font-smoothing); +} + +@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 { + 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 { + 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); +} + +/* Primary button */ + +.btn-primary { + --bs-btn-color: var(--bs-primary-foreground); + --bs-btn-bg: var(--bs-primary); + --bs-btn-border-color: var(--bs-ctx-btn-border-color); + --bs-btn-hover-color: var(--bs-btn-color); + --bs-btn-hover-bg: var(--bs-primary-hover-bg); + --bs-btn-hover-border-color: var(--bs-ctx-btn-hover-border-color); + --bs-btn-focus-shadow-hsl: var(--bs-primary-hsl); + --bs-btn-active-color: var(--bs-btn-color); + --bs-btn-active-bg: var(--bs-primary-active-bg); + --bs-btn-active-border-color: var(--bs-ctx-btn-active-border-color); + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-ctx-btn-disabled-border-color); + --bs-btn-bg-clip: var(--bs-ctx-btn-bg-clip); +} + +/* Secondary button */ + +.btn-secondary { + --bs-btn-color: var(--bs-action-color); + --bs-btn-bg: var(--bs-action-bg); + --bs-btn-border-color: var(--bs-action-border-color); + --bs-btn-hover-color: var(--bs-action-hover-color); + --bs-btn-hover-bg: var(--bs-action-hover-bg); + --bs-btn-hover-border-color: var(--bs-action-hover-border-color); + --bs-btn-focus-shadow-hsl: var(--bs-action-focus-shadow-hsl); + --bs-btn-active-color: var(--bs-action-active-color); + --bs-btn-active-bg: var(--bs-action-active-bg); + --bs-btn-active-border-color: var(--bs-action-active-border-color); + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-btn-border-color); + --bs-btn-bg-clip: border-box; +} + +/* Success button */ + +.btn-success { + --bs-btn-color: var(--bs-success-foreground); + --bs-btn-bg: var(--bs-success); + --bs-btn-border-color: var(--bs-ctx-btn-border-color); + --bs-btn-hover-color: var(--bs-btn-color); + --bs-btn-hover-bg: var(--bs-success-hover-bg); + --bs-btn-hover-border-color: var(--bs-ctx-btn-hover-border-color); + --bs-btn-focus-shadow-hsl: var(--bs-success-hsl); + --bs-btn-active-color: var(--bs-btn-color); + --bs-btn-active-bg: var(--bs-success-active-bg); + --bs-btn-active-border-color: var(--bs-ctx-btn-active-border-color); + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-ctx-btn-disabled-border-color); + --bs-btn-bg-clip: var(--bs-ctx-btn-bg-clip); +} + +/* Info button */ + +.btn-info { + --bs-btn-color: var(--bs-info-foreground); + --bs-btn-bg: var(--bs-info); + --bs-btn-border-color: var(--bs-ctx-btn-border-color); + --bs-btn-hover-color: var(--bs-btn-color); + --bs-btn-hover-bg: var(--bs-info-hover-bg); + --bs-btn-hover-border-color: var(--bs-ctx-btn-hover-border-color); + --bs-btn-focus-shadow-hsl: var(--bs-info-hsl); + --bs-btn-active-color: var(--bs-btn-color); + --bs-btn-active-bg: var(--bs-info-active-bg); + --bs-btn-active-border-color: var(--bs-ctx-btn-active-border-color); + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-ctx-btn-disabled-border-color); + --bs-btn-bg-clip: var(--bs-ctx-btn-bg-clip); +} + +/* Warning button */ + +.btn-warning { + --bs-btn-color: var(--bs-warning-foreground); + --bs-btn-bg: var(--bs-warning); + --bs-btn-border-color: var(--bs-ctx-btn-border-color); + --bs-btn-hover-color: var(--bs-btn-color); + --bs-btn-hover-bg: var(--bs-warning-hover-bg); + --bs-btn-hover-border-color: var(--bs-ctx-btn-hover-border-color); + --bs-btn-focus-shadow-hsl: var(--bs-warning-hsl); + --bs-btn-active-color: var(--bs-btn-color); + --bs-btn-active-bg: var(--bs-warning-active-bg); + --bs-btn-active-border-color: var(--bs-ctx-btn-active-border-color); + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-ctx-btn-disabled-border-color); + --bs-btn-bg-clip: var(--bs-ctx-btn-bg-clip); +} + +/* Danger button */ + +.btn-danger { + --bs-btn-color: var(--bs-danger-foreground); + --bs-btn-bg: var(--bs-danger); + --bs-btn-border-color: var(--bs-ctx-btn-border-color); + --bs-btn-hover-color: var(--bs-btn-color); + --bs-btn-hover-bg: var(--bs-danger-hover-bg); + --bs-btn-hover-border-color: var(--bs-ctx-btn-hover-border-color); + --bs-btn-focus-shadow-hsl: var(--bs-danger-hsl); + --bs-btn-active-color: var(--bs-btn-color); + --bs-btn-active-bg: var(--bs-danger-active-bg); + --bs-btn-active-border-color: var(--bs-ctx-btn-active-border-color); + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-ctx-btn-disabled-border-color); + --bs-btn-bg-clip: var(--bs-ctx-btn-bg-clip); +} + +/* Light button */ + +.btn-light { + --bs-btn-color: var(--bs-light-foreground); + --bs-btn-bg: var(--bs-light); + --bs-btn-border-color: var(--bs-ctx-btn-border-color); + --bs-btn-hover-color: var(--bs-btn-color); + --bs-btn-hover-bg: var(--bs-light-hover-bg); + --bs-btn-hover-border-color: var(--bs-ctx-btn-hover-border-color); + --bs-btn-focus-shadow-hsl: var(--bs-light-hsl); + --bs-btn-active-color: var(--bs-btn-color); + --bs-btn-active-bg: var(--bs-light-active-bg); + --bs-btn-active-border-color: var(--bs-ctx-btn-active-border-color); + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-ctx-btn-disabled-border-color); + --bs-btn-bg-clip: var(--bs-ctx-btn-bg-clip); +} + +/* Dark button */ + +.btn-dark { + --bs-btn-color: var(--bs-dark-foreground); + --bs-btn-bg: var(--bs-dark); + --bs-btn-border-color: var(--bs-ctx-btn-border-color); + --bs-btn-hover-color: var(--bs-btn-color); + --bs-btn-hover-bg: var(--bs-dark-hover-bg); + --bs-btn-hover-border-color: var(--bs-ctx-btn-hover-border-color); + --bs-btn-focus-shadow-hsl: var(--bs-dark-hsl); + --bs-btn-active-color: var(--bs-btn-color); + --bs-btn-active-bg: var(--bs-dark-active-bg); + --bs-btn-active-border-color: var(--bs-ctx-btn-active-border-color); + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-ctx-btn-disabled-border-color); + --bs-btn-bg-clip: var(--bs-ctx-btn-bg-clip); +} + +/* Primary outline button */ + +.btn-outline-primary { + --bs-btn-color: var(--bs-primary-text-emphasis); + --bs-btn-border-color: var(--bs-primary-text-emphasis); + --bs-btn-hover-color: var(--bs-primary-foreground); + --bs-btn-hover-bg: var(--bs-primary); + --bs-btn-hover-border-color: var(--bs-primary); + --bs-btn-focus-shadow-hsl: var(--bs-primary-hsl); + --bs-btn-active-color: var(--bs-btn-hover-color); + --bs-btn-active-bg: var(--bs-btn-hover-bg); + --bs-btn-active-border-color: var(--bs-btn-hover-border-color); + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-btn-border-color); + --bs-btn-bg-clip: border-box; + --bs-gradient: none; +} + +/* Secondary outline button */ + +.btn-outline-secondary { + --bs-btn-color: var(--bs-secondary-text-emphasis); + --bs-btn-border-color: var(--bs-secondary-text-emphasis); + --bs-btn-hover-color: var(--bs-secondary-foreground); + --bs-btn-hover-bg: var(--bs-secondary); + --bs-btn-hover-border-color: var(--bs-secondary); + --bs-btn-focus-shadow-hsl: var(--bs-secondary-hsl); + --bs-btn-active-color: var(--bs-btn-hover-color); + --bs-btn-active-bg: var(--bs-btn-hover-bg); + --bs-btn-active-border-color: var(--bs-btn-hover-border-color); + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-btn-border-color); + --bs-btn-bg-clip: border-box; + --bs-gradient: none; +} + +/* Success outline button */ + +.btn-outline-success { + --bs-btn-color: var(--bs-success-text-emphasis); + --bs-btn-border-color: var(--bs-success-text-emphasis); + --bs-btn-hover-color: var(--bs-success-foreground); + --bs-btn-hover-bg: var(--bs-success); + --bs-btn-hover-border-color: var(--bs-success); + --bs-btn-focus-shadow-hsl: var(--bs-success-hsl); + --bs-btn-active-color: var(--bs-btn-hover-color); + --bs-btn-active-bg: var(--bs-btn-hover-bg); + --bs-btn-active-border-color: var(--bs-btn-hover-border-color); + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-btn-border-color); + --bs-btn-bg-clip: border-box; + --bs-gradient: none; +} + +/* Info outline button */ + +.btn-outline-info { + --bs-btn-color: var(--bs-info-text-emphasis); + --bs-btn-border-color: var(--bs-info-text-emphasis); + --bs-btn-hover-color: var(--bs-info-foreground); + --bs-btn-hover-bg: var(--bs-info); + --bs-btn-hover-border-color: var(--bs-info); + --bs-btn-focus-shadow-hsl: var(--bs-info-hsl); + --bs-btn-active-color: var(--bs-btn-hover-color); + --bs-btn-active-bg: var(--bs-btn-hover-bg); + --bs-btn-active-border-color: var(--bs-btn-hover-border-color); + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-btn-border-color); + --bs-btn-bg-clip: border-box; + --bs-gradient: none; +} + +/* Warning outline button */ + +.btn-outline-warning { + --bs-btn-color: var(--bs-warning-text-emphasis); + --bs-btn-border-color: var(--bs-warning-text-emphasis); + --bs-btn-hover-color: var(--bs-warning-foreground); + --bs-btn-hover-bg: var(--bs-warning); + --bs-btn-hover-border-color: var(--bs-warning); + --bs-btn-focus-shadow-hsl: var(--bs-warning-hsl); + --bs-btn-active-color: var(--bs-btn-hover-color); + --bs-btn-active-bg: var(--bs-btn-hover-bg); + --bs-btn-active-border-color: var(--bs-btn-hover-border-color); + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-btn-border-color); + --bs-btn-bg-clip: border-box; + --bs-gradient: none; +} + +/* Danger outline button */ + +.btn-outline-danger { + --bs-btn-color: var(--bs-danger-text-emphasis); + --bs-btn-border-color: var(--bs-danger-text-emphasis); + --bs-btn-hover-color: var(--bs-danger-foreground); + --bs-btn-hover-bg: var(--bs-danger); + --bs-btn-hover-border-color: var(--bs-danger); + --bs-btn-focus-shadow-hsl: var(--bs-danger-hsl); + --bs-btn-active-color: var(--bs-btn-hover-color); + --bs-btn-active-bg: var(--bs-btn-hover-bg); + --bs-btn-active-border-color: var(--bs-btn-hover-border-color); + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-btn-border-color); + --bs-btn-bg-clip: border-box; + --bs-gradient: none; +} + +/* Light outline button */ + +.btn-outline-light { + --bs-btn-color: var(--bs-light-text-emphasis); + --bs-btn-border-color: var(--bs-light-text-emphasis); + --bs-btn-hover-color: var(--bs-light-foreground); + --bs-btn-hover-bg: var(--bs-light); + --bs-btn-hover-border-color: var(--bs-light); + --bs-btn-focus-shadow-hsl: var(--bs-light-hsl); + --bs-btn-active-color: var(--bs-btn-hover-color); + --bs-btn-active-bg: var(--bs-btn-hover-bg); + --bs-btn-active-border-color: var(--bs-btn-hover-border-color); + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-btn-border-color); + --bs-btn-bg-clip: border-box; + --bs-gradient: none; +} + +/* Dark outline button */ + +.btn-outline-dark { + --bs-btn-color: var(--bs-dark-text-emphasis); + --bs-btn-border-color: var(--bs-dark-text-emphasis); + --bs-btn-hover-color: var(--bs-dark-foreground); + --bs-btn-hover-bg: var(--bs-dark); + --bs-btn-hover-border-color: var(--bs-dark); + --bs-btn-focus-shadow-hsl: var(--bs-dark-hsl); + --bs-btn-active-color: var(--bs-btn-hover-color); + --bs-btn-active-bg: var(--bs-btn-hover-bg); + --bs-btn-active-border-color: var(--bs-btn-hover-border-color); + --bs-btn-active-shadow: none; + --bs-btn-disabled-color: var(--bs-btn-color); + --bs-btn-disabled-bg: var(--bs-btn-bg); + --bs-btn-disabled-border-color: var(--bs-btn-border-color); + --bs-btn-bg-clip: border-box; + --bs-gradient: none; +} + +/* Link button */ + +.btn-link { + --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: var(--bs-secondary-color); + --bs-btn-disabled-border-color: transparent; + --bs-btn-box-shadow: none; + --bs-btn-focus-shadow-hsl: var(--bs-primary-hsl); + text-decoration: var(--bs-link-decoration); + text-underline-offset: var(--bs-link-decoration-offset); +} + +.btn-link:focus-visible { + color: var(--bs-btn-color); +} + +.btn-link:hover { + color: var(--bs-btn-hover-color); + text-decoration: var(--bs-link-hover-decoration); +} + +/* Large button */ + +.btn-lg, +.btn-group-lg > .btn { + --bs-btn-padding-x: var(--bs-action-lg-padding-x); + --bs-btn-padding-y: var(--bs-action-lg-padding-y); + --bs-btn-font-size: var(--bs-action-lg-font-size); + --bs-btn-line-height: var(--bs-action-lg-line-height); + --bs-btn-border-radius: var(--bs-border-radius-lg); +} + +/* Small button */ + +.btn-sm, +.btn-group-sm > .btn { + --bs-btn-padding-x: var(--bs-action-sm-padding-x); + --bs-btn-padding-y: var(--bs-action-sm-padding-y); + --bs-btn-font-size: var(--bs-action-sm-font-size); + --bs-btn-line-height: var(--bs-action-sm-line-height); + --bs-btn-border-radius: var(--bs-border-radius-sm); +} + +/** + * ---------------------------------------------------------------------------- + * [ Collapse ] + * ---------------------------------------------------------------------------- + */ + +.fade { + transition: opacity 0.15s linear; +} + +@media (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} + +.fade:not(.show) { + opacity: 0; +} + +.collapse:not(.show) { + display: none; +} + +.collapsing { + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} + +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} + +.collapsing.collapse-horizontal { + width: 0; + height: auto; + transition: width 0.35s ease; +} + +@media (prefers-reduced-motion: reduce) { + .collapsing.collapse-horizontal { + transition: none; + } +} + +/** + * ---------------------------------------------------------------------------- + * [ Dropdowns ] + * ---------------------------------------------------------------------------- + */ + +.dropup, +.dropend, +.dropdown, +.dropstart, +.dropup-center, +.dropdown-center { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; +} + +.dropdown-toggle::after { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-left: 0.3em solid transparent; + border-bottom: 0; + border-right: 0.3em solid transparent; +} + +.dropdown-toggle:empty::after { + margin-right: 0; +} + +.dropdown-menu { + --bs-dropdown-zindex: 1000; + --bs-dropdown-min-width: 11.25rem; + --bs-dropdown-padding-x: 0.25rem; + --bs-dropdown-padding-y: 0.25rem; + --bs-dropdown-spacer: 0.125rem; + --bs-dropdown-font-size: var(--bs-font-size-base); + --bs-dropdown-color: var(--bs-content-floating-color); + --bs-dropdown-bg: var(--bs-content-floating-bg); + --bs-dropdown-border-color: var(--bs-content-floating-border-color); + --bs-dropdown-border-radius: var(--bs-border-radius); + --bs-dropdown-border-width: var(--bs-border-width); + --bs-dropdown-inner-border-radius: calc(var(--bs-dropdown-border-radius) - var(--bs-border-width)); + --bs-dropdown-divider-bg: var(--bs-border-color-translucent); + --bs-dropdown-divider-margin-y: 0.5rem; + --bs-dropdown-box-shadow: var(--bs-content-floating-box-shadow); + --bs-dropdown-link-color: var(--bs-dropdown-color); + --bs-dropdown-link-hover-color: var(--bs-dropdown-link-color); + --bs-dropdown-link-hover-bg: var(--bs-action-hover-bg); + --bs-dropdown-link-active-color: var(--bs-dropdown-link-color); + --bs-dropdown-link-active-bg: var(--bs-action-active-bg); + --bs-dropdown-link-disabled-color: var(--bs-tertiary-color); + --bs-dropdown-link-webkit-font-smoothing: var(--bs-body-webkit-font-smoothing); + --bs-dropdown-link-moz-osx-font-smoothing: var(--bs-body-moz-osx-font-smoothing); + --bs-dropdown-item-padding-x: 1rem; + --bs-dropdown-item-padding-y: 0.25rem; + --bs-dropdown-item-border-radius: var(--bs-border-radius-sm); + --bs-dropdown-header-color: var(--bs-secondary-color); + --bs-dropdown-header-padding-x: 1rem; + --bs-dropdown-header-padding-y: 0.5rem; + position: absolute; + z-index: var(--bs-dropdown-zindex); + display: none; + min-width: var(--bs-dropdown-min-width); + padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x); + margin: 0; + font-size: var(--bs-dropdown-font-size); + color: var(--bs-dropdown-color); + text-align: right; + 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); + box-shadow: var(--bs-dropdown-box-shadow); +} + +.dropdown-menu[data-bs-popper] { + top: 100%; + right: 0; + margin-top: var(--bs-dropdown-spacer); +} + +.dropdown-menu-start { + --bs-position: start; +} + +.dropdown-menu-start[data-bs-popper] { + left: auto; + right: 0; +} + +.dropdown-menu-end { + --bs-position: end; +} + +.dropdown-menu-end[data-bs-popper] { + left: 0; + right: auto; +} + +@media (min-width: 576px) { + .dropdown-menu-sm-start { + --bs-position: start; + } + + .dropdown-menu-sm-start[data-bs-popper] { + left: auto; + right: 0; + } + + .dropdown-menu-sm-end { + --bs-position: end; + } + + .dropdown-menu-sm-end[data-bs-popper] { + left: 0; + right: auto; + } +} + +@media (min-width: 768px) { + .dropdown-menu-md-start { + --bs-position: start; + } + + .dropdown-menu-md-start[data-bs-popper] { + left: auto; + right: 0; + } + + .dropdown-menu-md-end { + --bs-position: end; + } + + .dropdown-menu-md-end[data-bs-popper] { + left: 0; + right: auto; + } +} + +@media (min-width: 992px) { + .dropdown-menu-lg-start { + --bs-position: start; + } + + .dropdown-menu-lg-start[data-bs-popper] { + left: auto; + right: 0; + } + + .dropdown-menu-lg-end { + --bs-position: end; + } + + .dropdown-menu-lg-end[data-bs-popper] { + left: 0; + right: auto; + } +} + +@media (min-width: 1200px) { + .dropdown-menu-xl-start { + --bs-position: start; + } + + .dropdown-menu-xl-start[data-bs-popper] { + left: auto; + right: 0; + } + + .dropdown-menu-xl-end { + --bs-position: end; + } + + .dropdown-menu-xl-end[data-bs-popper] { + left: 0; + right: auto; + } +} + +@media (min-width: 1400px) { + .dropdown-menu-xxl-start { + --bs-position: start; + } + + .dropdown-menu-xxl-start[data-bs-popper] { + left: auto; + right: 0; + } + + .dropdown-menu-xxl-end { + --bs-position: end; + } + + .dropdown-menu-xxl-end[data-bs-popper] { + left: 0; + right: 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-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-left: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-right: 0.3em solid transparent; +} + +.dropup .dropdown-toggle:empty::after { + margin-right: 0; +} + +.dropend .dropdown-menu[data-bs-popper] { + top: 0; + left: auto; + right: 100%; + margin-top: 0; + margin-right: var(--bs-dropdown-spacer); +} + +.dropend .dropdown-toggle::after { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-left: 0; + border-bottom: 0.3em solid transparent; + border-right: 0.3em solid; +} + +.dropend .dropdown-toggle:empty::after { + margin-right: 0; +} + +.dropend .dropdown-toggle::after { + vertical-align: 0; +} + +.dropstart .dropdown-menu[data-bs-popper] { + top: 0; + left: 100%; + right: auto; + margin-top: 0; + margin-left: var(--bs-dropdown-spacer); +} + +.dropstart .dropdown-toggle::after { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; +} + +.dropstart .dropdown-toggle::after { + display: none; +} + +.dropstart .dropdown-toggle::before { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-left: 0.3em solid; + border-bottom: 0.3em solid transparent; +} + +.dropstart .dropdown-toggle:empty::after { + margin-right: 0; +} + +.dropstart .dropdown-toggle::before { + vertical-align: 0; +} + +.dropdown-divider { + height: 0; + margin: var(--bs-dropdown-divider-margin-y) 0; + overflow: hidden; + border-top: var(--bs-border-width) solid var(--bs-dropdown-divider-bg); + opacity: 1; +} + +.dropdown-item { + display: block; + width: 100%; + padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x); + clear: both; + font-weight: var(--bs-font-weight-normal); + color: var(--bs-dropdown-link-color); + text-align: inherit; + text-decoration: none; + white-space: nowrap; + background-color: transparent; + border: 0; + border-radius: var(--bs-dropdown-item-border-radius); + -webkit-font-smoothing: var(--bs-dropdown-link-webkit-font-smoothing); + -moz-osx-font-smoothing: var(--bs-dropdown-link-moz-osx-font-smoothing); +} + +.dropdown-item:hover, +.dropdown-item:focus { + color: var(--bs-dropdown-link-hover-color); + background-color: var(--bs-dropdown-link-hover-bg); +} + +.dropdown-item:active { + color: var(--bs-dropdown-link-active-color); + text-decoration: none; + background-color: var(--bs-dropdown-link-active-bg); +} + +.dropdown-item.active { + color: var(--bs-primary-foreground); + background-color: var(--bs-primary); + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} + +.dropdown-item.active:focus-visible { + background-color: var(--bs-primary-hover-bg); +} + +.dropdown-item.disabled, .dropdown-item:disabled { + color: var(--bs-dropdown-link-disabled-color); + pointer-events: none; + background-color: transparent; +} + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x); + margin-bottom: 0; + font-size: var(--bs-dropdown-font-size); + 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); +} + +/** + * ---------------------------------------------------------------------------- + * [ Button group ] + * + * Because the secondary button is the "default" variation, the z-indices are + * slightly adjusted for a better look overall. + * ---------------------------------------------------------------------------- + */ + +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; +} + +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + flex: 1 1 auto; +} + +.btn-group > .btn-check + .btn:not(.btn-secondary), +.btn-group > .btn:not(.btn-secondary), +.btn-group-vertical > .btn-check + .btn:not(.btn-secondary), +.btn-group-vertical > .btn:not(.btn-secondary) { + z-index: 1; +} + +.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: 2; +} + +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} + +.btn-toolbar .input-group { + width: auto; +} + +.btn-group { + border-radius: var(--bs-border-radius); +} + +.btn-group > :not(.btn-check:first-child) + .btn, +.btn-group > .btn-group:not(:first-child) { + margin-right: calc(-1 * var(--bs-border-width)); +} + +.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-left-radius: 0; + border-bottom-left-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-right-radius: 0; + border-bottom-right-radius: 0; +} + +.dropdown-toggle-split { + padding-left: 0.5rem; + padding-right: 0.5rem; +} + +.dropdown-toggle-split::after, +.dropup .dropdown-toggle-split::after, +.dropend .dropdown-toggle-split::after { + margin-right: 0; +} + +.dropstart .dropdown-toggle-split::before { + margin-left: 0; +} + +.btn-sm + .dropdown-toggle-split, +.btn-group-sm > .btn + .dropdown-toggle-split { + padding-left: 0.375rem; + padding-right: 0.375rem; +} + +.btn-lg + .dropdown-toggle-split, +.btn-group-lg > .btn + .dropdown-toggle-split { + padding-left: 0.625rem; + padding-right: 0.625rem; +} + +.btn-group-vertical { + flex-direction: column; + align-items: flex-start; + justify-content: center; +} + +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} + +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) { + margin-top: calc(-1 * var(--bs-border-width)); +} + +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + +.btn-group-vertical > .btn ~ .btn, +.btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +/** + * ---------------------------------------------------------------------------- + * [ Navs and tabs ] + * ---------------------------------------------------------------------------- + */ + +.nav { + --bs-nav-link-padding-x: 0.5rem; + --bs-nav-link-padding-y: 0.25rem; + --bs-nav-link-font-weight: ; + --bs-nav-link-color: var(--bs-link-color); + --bs-nav-link-hover-color: var(--bs-link-hover-color); + --bs-nav-link-disabled-color: var(--bs-tertiary-color); + --bs-nav-link-webkit-font-smoothing: auto; + --bs-nav-link-moz-osx-font-smoothing: auto; + display: flex; + flex-wrap: wrap; + padding-right: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x); + font-size: var(--bs-nav-link-font-size); + font-weight: var(--bs-nav-link-font-weight); + color: var(--bs-nav-link-color); + text-decoration: none; + background: none; + border: 0; + -webkit-font-smoothing: var(--bs-nav-link-webkit-font-smoothing); + -moz-osx-font-smoothing: var(--bs-nav-link-moz-osx-font-smoothing); +} + +.nav-link:hover, +.nav-link:focus { + color: var(--bs-nav-link-hover-color); +} + +.nav-link:focus-visible { + outline: 0; + box-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-action-focus-shadow-hsl), 0.5); +} + +.nav-link.disabled, +.nav-link:disabled { + color: var(--bs-nav-link-disabled-color); + pointer-events: none; + cursor: default; +} + +.nav-tabs { + --bs-nav-link-color: var(--bs-body-color); + --bs-nav-link-hover-color: var(--bs-nav-link-color); + --bs-nav-link-webkit-font-smoothing: var(--bs-body-webkit-font-smoothing); + --bs-nav-link-moz-osx-font-smoothing: var(--bs-body-moz-osx-font-smoothing); + --bs-nav-tabs-border-width: var(--bs-border-width); + --bs-nav-tabs-border-color: var(--bs-border-color); + --bs-nav-tabs-border-radius: var(--bs-border-radius); + --bs-nav-tabs-link-hover-border-color: var(--bs-border-color-translucent) var(--bs-border-color-translucent) transparent; + --bs-nav-tabs-link-active-color: var(--bs-nav-link-color); + --bs-nav-tabs-link-active-bg: var(--bs-content-bg); + --bs-nav-tabs-link-active-border-color: var(--bs-nav-tabs-border-color) var(--bs-nav-tabs-border-color) var(--bs-nav-tabs-link-active-bg); + border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color); +} + +.nav-tabs .nav-link { + margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width)); + border: var(--bs-nav-tabs-border-width) solid transparent; + border-top-right-radius: var(--bs-nav-tabs-border-radius); + border-top-left-radius: var(--bs-nav-tabs-border-radius); +} + +.nav-tabs .nav-link:hover, +.nav-tabs .nav-link:focus { + isolation: isolate; + border-color: var(--bs-nav-tabs-link-hover-border-color); +} + +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: var(--bs-nav-tabs-link-active-color); + background-color: var(--bs-nav-tabs-link-active-bg); + border-color: var(--bs-nav-tabs-link-active-border-color); +} + +.nav-tabs .dropdown-menu { + margin-top: calc(-1 * var(--bs-nav-tabs-border-width)); + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.nav-pills { + --bs-nav-link-color: var(--bs-body-color); + --bs-nav-link-hover-color: var(--bs-secondary-color); + --bs-nav-link-webkit-font-smoothing: var(--bs-body-webkit-font-smoothing); + --bs-nav-link-moz-osx-font-smoothing: var(--bs-body-moz-osx-font-smoothing); + --bs-nav-pills-border-radius: var(--bs-border-radius); + --bs-nav-pills-link-active-color: var(--bs-primary-foreground); + --bs-nav-pills-link-active-bg: var(--bs-primary); +} + +.nav-pills .nav-link { + border-radius: var(--bs-nav-pills-border-radius); +} + +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: var(--bs-nav-pills-link-active-color); + background-color: var(--bs-nav-pills-link-active-bg); + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} + +.nav-underline { + --bs-nav-link-color: var(--bs-body-color); + --bs-nav-link-hover-color: var(--bs-secondary-color); + --bs-nav-link-webkit-font-smoothing: var(--bs-body-webkit-font-smoothing); + --bs-nav-link-moz-osx-font-smoothing: var(--bs-body-moz-osx-font-smoothing); + --bs-nav-underline-gap: 1rem; + --bs-nav-underline-border-width: 0.125rem; + --bs-nav-underline-link-padding: var(--bs-nav-link-padding-y) 0 calc(var(--bs-nav-link-padding-y) + var(--bs-nav-underline-border-width)) 0; + --bs-nav-underline-link-active-color: var(--bs-link-color); + gap: var(--bs-nav-underline-gap); +} + +.nav-underline .nav-link { + padding: var(--bs-nav-underline-link-padding); + border-bottom: var(--bs-nav-underline-border-width) solid transparent; +} + +.nav-underline .nav-link.active, +.nav-underline .show > .nav-link { + color: var(--bs-nav-underline-link-active-color); + border-bottom-color: currentcolor; + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} + +.nav-fill > .nav-link, +.nav-fill .nav-item { + flex: 1 1 auto; + text-align: center; +} + +.nav-justified > .nav-link, +.nav-justified .nav-item { + flex-basis: 0; + flex-grow: 1; + text-align: center; +} + +.nav-fill .nav-item .nav-link, +.nav-justified .nav-item .nav-link { + width: 100%; +} + +.tab-content > .tab-pane { + display: none; +} + +.tab-content > .active { + display: block; +} + +/** + * ---------------------------------------------------------------------------- + * [ Navbar ] + * ---------------------------------------------------------------------------- + */ + +.navbar { + --bs-color-hsl: var(--bs-emphasis-color-hsl); + --bs-navbar-padding-x: 0; + --bs-navbar-padding-y: 0.5rem; + --bs-navbar-color: hsla(var(--bs-color-hsl), 0.65); + --bs-navbar-hover-color: hsla(var(--bs-color-hsl), 0.75); + --bs-navbar-disabled-color: hsla(var(--bs-color-hsl), 0.3); + --bs-navbar-active-color: hsla(var(--bs-color-hsl), 0.95); + --bs-navbar-brand-padding-y: 0.3125rem; + --bs-navbar-brand-margin-end: 1rem; + --bs-navbar-brand-font-size: calc(var(--bs-font-size-base) + 0.25rem); + --bs-navbar-brand-color: hsla(var(--bs-color-hsl), 0.85); + --bs-navbar-brand-hover-color: var(--bs-navbar-brand-color); + --bs-navbar-nav-link-padding-x: 0.75rem; + --bs-navbar-toggler-padding-y: 0.125rem; + --bs-navbar-toggler-padding-x: 0.25rem; + --bs-navbar-toggler-font-size: var(--bs-font-size-lg); + --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='%23242628' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); + --bs-navbar-toggler-border-color: transparent; + --bs-navbar-toggler-border-radius: var(--bs-border-radius-sm); + --bs-navbar-toggler-focus-width: var(--bs-focus-ring-width); + --bs-navbar-toggler-transition: none; + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x); +} + +.navbar > .container, +.navbar > .container-fluid, +.navbar > .container-sm, +.navbar > .container-md, +.navbar > .container-lg, +.navbar > .container-xl, +.navbar > .container-xxl { + display: flex; + flex-wrap: inherit; + align-items: center; + justify-content: space-between; +} + +.navbar-brand { + padding-top: var(--bs-navbar-brand-padding-y); + padding-bottom: var(--bs-navbar-brand-padding-y); + margin-left: var(--bs-navbar-brand-margin-end); + font-size: var(--bs-navbar-brand-font-size); + color: var(--bs-navbar-brand-color); + text-decoration: none; + white-space: nowrap; +} + +.navbar-brand:hover, +.navbar-brand:focus { + color: var(--bs-navbar-brand-hover-color); +} + +.navbar-nav { + --bs-nav-link-padding-x: 0; + --bs-nav-link-padding-y: 0.5rem; + --bs-nav-link-font-weight: ; + --bs-nav-link-color: var(--bs-navbar-color); + --bs-nav-link-hover-color: var(--bs-navbar-hover-color); + --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color); + display: flex; + flex-direction: column; + padding-right: 0; + margin-bottom: 0; + list-style: none; +} + +.navbar-nav .nav-link.active, +.navbar-nav .nav-link.show { + color: var(--bs-navbar-active-color); +} + +.navbar-nav .dropdown-menu { + position: static; +} + +.navbar-text { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + color: var(--bs-navbar-color); +} + +.navbar-text a, +.navbar-text a:hover, +.navbar-text a:focus { + color: var(--bs-navbar-active-color); +} + +.navbar-collapse { + flex-basis: 100%; + flex-grow: 1; + align-items: center; +} + +.navbar-toggler { + padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x); + font-size: var(--bs-navbar-toggler-font-size); + line-height: 1; + color: var(--bs-navbar-color); + background-color: transparent; + border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color); + border-radius: var(--bs-navbar-toggler-border-radius); + transition: var(--bs-navbar-toggler-transition); +} + +@media (prefers-reduced-motion: reduce) { + .navbar-toggler { + transition: none; + } +} + +.navbar-toggler:hover { + text-decoration: none; +} + +.navbar-toggler:focus-visible { + text-decoration: none; + outline: 0; + box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width) hsla(var(--bs-emphasis-color-hsl), 0.25); +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + background-image: var(--bs-navbar-toggler-icon-bg); + background-repeat: no-repeat; + background-position: center; + background-size: 100%; +} + +.navbar-nav-scroll { + max-height: var(--bs-scroll-height, 75vh); + overflow-y: auto; +} + +@media (min-width: 576px) { + .navbar-expand-sm { + flex-wrap: nowrap; + justify-content: flex-start; + } + + .navbar-expand-sm .navbar-nav { + flex-direction: row; + } + + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + + .navbar-expand-sm .navbar-nav .nav-link { + padding-left: var(--bs-navbar-nav-link-padding-x); + padding-right: var(--bs-navbar-nav-link-padding-x); + } + + .navbar-expand-sm .navbar-nav-scroll { + overflow: visible; + } + + .navbar-expand-sm .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + + .navbar-expand-sm .navbar-toggler { + display: none; + } + + .navbar-expand-sm .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + + .navbar-expand-sm .offcanvas .offcanvas-header { + display: none; + } + + .navbar-expand-sm .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} + +@media (min-width: 768px) { + .navbar-expand-md { + flex-wrap: nowrap; + justify-content: flex-start; + } + + .navbar-expand-md .navbar-nav { + flex-direction: row; + } + + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + + .navbar-expand-md .navbar-nav .nav-link { + padding-left: var(--bs-navbar-nav-link-padding-x); + padding-right: var(--bs-navbar-nav-link-padding-x); + } + + .navbar-expand-md .navbar-nav-scroll { + overflow: visible; + } + + .navbar-expand-md .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + + .navbar-expand-md .navbar-toggler { + display: none; + } + + .navbar-expand-md .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + + .navbar-expand-md .offcanvas .offcanvas-header { + display: none; + } + + .navbar-expand-md .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} + +@media (min-width: 992px) { + .navbar-expand-lg { + flex-wrap: nowrap; + justify-content: flex-start; + } + + .navbar-expand-lg .navbar-nav { + flex-direction: row; + } + + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + + .navbar-expand-lg .navbar-nav .nav-link { + padding-left: var(--bs-navbar-nav-link-padding-x); + padding-right: var(--bs-navbar-nav-link-padding-x); + } + + .navbar-expand-lg .navbar-nav-scroll { + overflow: visible; + } + + .navbar-expand-lg .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + + .navbar-expand-lg .navbar-toggler { + display: none; + } + + .navbar-expand-lg .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + + .navbar-expand-lg .offcanvas .offcanvas-header { + display: none; + } + + .navbar-expand-lg .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} + +@media (min-width: 1200px) { + .navbar-expand-xl { + flex-wrap: nowrap; + justify-content: flex-start; + } + + .navbar-expand-xl .navbar-nav { + flex-direction: row; + } + + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + + .navbar-expand-xl .navbar-nav .nav-link { + padding-left: var(--bs-navbar-nav-link-padding-x); + padding-right: var(--bs-navbar-nav-link-padding-x); + } + + .navbar-expand-xl .navbar-nav-scroll { + overflow: visible; + } + + .navbar-expand-xl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + + .navbar-expand-xl .navbar-toggler { + display: none; + } + + .navbar-expand-xl .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + + .navbar-expand-xl .offcanvas .offcanvas-header { + display: none; + } + + .navbar-expand-xl .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} + +@media (min-width: 1400px) { + .navbar-expand-xxl { + flex-wrap: nowrap; + justify-content: flex-start; + } + + .navbar-expand-xxl .navbar-nav { + flex-direction: row; + } + + .navbar-expand-xxl .navbar-nav .dropdown-menu { + position: absolute; + } + + .navbar-expand-xxl .navbar-nav .nav-link { + padding-left: var(--bs-navbar-nav-link-padding-x); + padding-right: var(--bs-navbar-nav-link-padding-x); + } + + .navbar-expand-xxl .navbar-nav-scroll { + overflow: visible; + } + + .navbar-expand-xxl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + + .navbar-expand-xxl .navbar-toggler { + display: none; + } + + .navbar-expand-xxl .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; + } + + .navbar-expand-xxl .offcanvas .offcanvas-header { + display: none; + } + + .navbar-expand-xxl .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} + +.navbar-expand { + flex-wrap: nowrap; + justify-content: flex-start; +} + +.navbar-expand .navbar-nav { + flex-direction: row; +} + +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} + +.navbar-expand .navbar-nav .nav-link { + padding-left: var(--bs-navbar-nav-link-padding-x); + padding-right: var(--bs-navbar-nav-link-padding-x); +} + +.navbar-expand .navbar-nav-scroll { + overflow: visible; +} + +.navbar-expand .navbar-collapse { + display: flex !important; + flex-basis: auto; +} + +.navbar-expand .navbar-toggler { + display: none; +} + +.navbar-expand .offcanvas { + position: static; + z-index: auto; + flex-grow: 1; + width: auto !important; + height: auto !important; + visibility: visible !important; + background-color: transparent !important; + border: 0 !important; + transform: none !important; + transition: none; +} + +.navbar-expand .offcanvas .offcanvas-header { + display: none; +} + +.navbar-expand .offcanvas .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; +} + +[data-bs-theme=dark] .navbar-toggler-icon { + --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23c9cbcf' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +/* Local light and dark variants */ + +.navbar-toggler[data-bs-theme=light] .navbar-toggler-icon { + --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23242628' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +.navbar-toggler[data-bs-theme=dark] .navbar-toggler-icon { + --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23c9cbcf' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} + +/** + * ---------------------------------------------------------------------------- + * [ Card ] + * ---------------------------------------------------------------------------- + */ + +.card { + --bs-card-spacer-y: 1rem; + --bs-card-spacer-x: 1rem; + --bs-card-title-spacer-y: 0.5rem; + --bs-card-title-color: ; + --bs-card-subtitle-color: ; + --bs-card-border-width: var(--bs-border-width); + --bs-card-border-color: var(--bs-content-border-color); + --bs-card-inner-border-color: var(--bs-border-color-translucent); + --bs-card-group-border-color: var(--bs-border-color); + --bs-card-border-radius: var(--bs-border-radius-lg); + --bs-card-box-shadow: var(--bs-content-box-shadow); + --bs-card-inner-border-radius: calc(var(--bs-card-border-radius) - (var(--bs-card-border-width))); + --bs-card-cap-padding-y: 0.5rem; + --bs-card-cap-padding-x: 1rem; + --bs-card-cap-bg: hsla(var(--bs-black-hsl), 0.025); + --bs-card-cap-color: ; + --bs-card-height: ; + --bs-card-color: ; + --bs-card-bg: var(--bs-content-bg); + --bs-card-img-overlay-padding: 1rem; + --bs-card-group-margin: 0.75rem; + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + height: var(--bs-card-height); + color: var(--bs-body-color); + word-wrap: break-word; + background-color: var(--bs-card-bg); + background-clip: border-box; + border: var(--bs-card-border-width) solid var(--bs-card-border-color); + border-radius: var(--bs-card-border-radius); + box-shadow: var(--bs-card-box-shadow); +} + +[data-bs-theme=dark] .card { + --bs-card-cap-bg: hsla(var(--bs-black-hsl), 0.1); +} + +.card > hr { + margin-left: 0; + margin-right: 0; +} + +.card > .list-group { + border-top: var(--bs-card-border-width) solid var(--bs-list-group-border-color); + border-bottom: var(--bs-card-border-width) solid var(--bs-list-group-border-color); +} + +.card > .list-group:first-child { + border-top-width: 0; + border-top-right-radius: var(--bs-card-inner-border-radius); + border-top-left-radius: var(--bs-card-inner-border-radius); +} + +.card > .list-group:last-child { + border-bottom-width: 0; + border-bottom-left-radius: var(--bs-card-inner-border-radius); + border-bottom-right-radius: var(--bs-card-inner-border-radius); +} + +.card > .card-header + .list-group, +.card > .list-group + .card-footer { + border-top: 0; +} + +.card-body { + flex: 1 1 auto; + padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x); + color: var(--bs-card-color); +} + +.card-title { + margin-bottom: var(--bs-card-title-spacer-y); + color: var(--bs-card-title-color); +} + +.card-subtitle { + margin-top: calc(-0.5 * var(--bs-card-title-spacer-y)); + margin-bottom: 0; + color: var(--bs-card-subtitle-color); +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link + .card-link { + margin-right: 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-inner-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-inner-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-left: calc(-0.5 * var(--bs-card-cap-padding-x)); + margin-bottom: calc(-1 * var(--bs-card-cap-padding-y)); + margin-right: calc(-0.5 * var(--bs-card-cap-padding-x)); + border-bottom: 0; +} + +.card-header-tabs .nav-link.active { + background-color: var(--bs-card-bg); + border-bottom-color: var(--bs-card-bg); +} + +.card-header-pills { + margin-left: calc(-0.5 * var(--bs-card-cap-padding-x)); + margin-right: calc(-0.5 * var(--bs-card-cap-padding-x)); +} + +.card-header-underline { + margin-left: calc(-0.5 * var(--bs-card-cap-padding-x)); + margin-bottom: calc(-1 * var(--bs-card-cap-padding-y)); + margin-right: calc(-0.5 * var(--bs-card-cap-padding-x)); +} + +.card-img-overlay { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 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-right-radius: var(--bs-card-inner-border-radius); + border-top-left-radius: var(--bs-card-inner-border-radius); +} + +.card-img, +.card-img-bottom { + border-bottom-left-radius: var(--bs-card-inner-border-radius); + border-bottom-right-radius: var(--bs-card-inner-border-radius); +} + +.card-group > .card { + margin-bottom: var(--bs-card-group-margin); +} + +@media (min-width: 576px) { + .card-group { + display: flex; + flex-flow: row wrap; + } + + .card-group > .card { + flex: 1 0 0%; + margin-bottom: 0; + } + + .card-group > .card + .card { + margin-right: 0; + border-right: 0; + } + + .card-group > .card:not(:last-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border-left-color: var(--bs-card-group-border-color); + } + + .card-group > .card:not(:last-child) .card-img-top, + .card-group > .card:not(:last-child) .card-header { + border-top-left-radius: 0; + } + + .card-group > .card:not(:last-child) .card-img-bottom, + .card-group > .card:not(:last-child) .card-footer { + border-bottom-left-radius: 0; + } + + .card-group > .card:not(:first-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-right-color: var(--bs-card-group-border-color); + } + + .card-group > .card:not(:first-child) .card-img-top, + .card-group > .card:not(:first-child) .card-header { + border-top-right-radius: 0; + } + + .card-group > .card:not(:first-child) .card-img-bottom, + .card-group > .card:not(:first-child) .card-footer { + border-bottom-right-radius: 0; + } +} + +/** + * ---------------------------------------------------------------------------- + * [ Accordion ] + * ---------------------------------------------------------------------------- + */ + +.accordion { + --bs-accordion-color: var(--bs-body-color); + --bs-accordion-bg: transparent; + --bs-accordion-transition: ; + --bs-accordion-border-color: var(--bs-border-color); + --bs-accordion-border-width: var(--bs-border-width); + --bs-accordion-border-radius: var(--bs-border-radius); + --bs-accordion-inner-border-radius: calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width)); + --bs-accordion-btn-padding-x: 1rem; + --bs-accordion-btn-padding-y: 0.75rem; + --bs-accordion-btn-color: var(--bs-accordion-color); + --bs-accordion-btn-bg: var(--bs-accordion-bg); + --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23242628'%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: 0.75rem; + --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='%23242628'%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: var(--bs-accordion-border-color); + --bs-accordion-btn-focus-box-shadow: inset 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-action-focus-shadow-hsl), 0.5); + --bs-accordion-body-padding-x: 1rem; + --bs-accordion-body-padding-y: 1rem; + --bs-accordion-active-color: var(--bs-accordion-color); + --bs-accordion-active-bg: var(--bs-accordion-bg); +} + +[data-bs-theme=dark] .accordion { + --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23c9cbcf'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23c9cbcf'%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"); +} + +.accordion-button { + position: relative; + display: flex; + align-items: center; + width: 100%; + padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x); + font-size: var(--bs-font-size-base); + color: var(--bs-accordion-btn-color); + text-align: right; + background-color: var(--bs-accordion-btn-bg); + border: 0; + border-radius: 0; + overflow-anchor: none; + transition: var(--bs-accordion-transition); +} + +@media (prefers-reduced-motion: reduce) { + .accordion-button { + transition: none; + } +} + +.accordion-button:not(.collapsed) { + color: var(--bs-accordion-active-color); + background-color: var(--bs-accordion-active-bg); + box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color); +} + +.accordion-button:not(.collapsed)::after { + background-image: var(--bs-accordion-btn-active-icon); + transform: var(--bs-accordion-btn-icon-transform); +} + +.accordion-button::after { + flex-shrink: 0; + width: var(--bs-accordion-btn-icon-width); + height: var(--bs-accordion-btn-icon-width); + margin-right: 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-right-radius: var(--bs-accordion-border-radius); + border-top-left-radius: var(--bs-accordion-border-radius); +} + +.accordion-item:first-of-type .accordion-button { + border-top-right-radius: var(--bs-accordion-inner-border-radius); + border-top-left-radius: var(--bs-accordion-inner-border-radius); +} + +.accordion-item:not(:first-of-type) { + border-top: 0; +} + +.accordion-item:last-of-type { + border-bottom-left-radius: var(--bs-accordion-border-radius); + border-bottom-right-radius: var(--bs-accordion-border-radius); +} + +.accordion-item:last-of-type .accordion-button.collapsed { + border-bottom-left-radius: var(--bs-accordion-inner-border-radius); + border-bottom-right-radius: var(--bs-accordion-inner-border-radius); +} + +.accordion-item:last-of-type .accordion-collapse { + border-bottom-left-radius: var(--bs-accordion-border-radius); + border-bottom-right-radius: var(--bs-accordion-border-radius); +} + +.accordion-body { + padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x); +} + +.accordion-flush .accordion-collapse { + border-width: 0; +} + +.accordion-flush .accordion-item { + border-left: 0; + border-right: 0; + border-radius: 0; +} + +.accordion-flush .accordion-item:first-child { + border-top: 0; +} + +.accordion-flush .accordion-item:last-child { + border-bottom: 0; +} + +.accordion-flush .accordion-item .accordion-button, +.accordion-flush .accordion-item .accordion-button.collapsed { + border-radius: 0; +} + +/** + * ---------------------------------------------------------------------------- + * [ Breadcrumb ] + * ---------------------------------------------------------------------------- + */ + +.breadcrumb { + --bs-breadcrumb-padding-x: 0; + --bs-breadcrumb-padding-y: 0; + --bs-breadcrumb-margin-bottom: 1rem; + --bs-breadcrumb-bg: ; + --bs-breadcrumb-border-radius: ; + --bs-breadcrumb-divider-color: var(--bs-secondary-color); + --bs-breadcrumb-item-padding-x: 0.5rem; + --bs-breadcrumb-item-active-color: var(--bs-secondary-color); + display: flex; + flex-wrap: wrap; + padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x); + margin-bottom: var(--bs-breadcrumb-margin-bottom); + font-size: var(--bs-breadcrumb-font-size); + list-style: none; + background-color: var(--bs-breadcrumb-bg); + border-radius: var(--bs-breadcrumb-border-radius); +} + +.breadcrumb-item + .breadcrumb-item { + padding-right: var(--bs-breadcrumb-item-padding-x); +} + +.breadcrumb-item + .breadcrumb-item::before { + float: right; + padding-left: var(--bs-breadcrumb-item-padding-x); + color: var(--bs-breadcrumb-divider-color); + content: var(--bs-breadcrumb-divider, "/") ; +} + +.breadcrumb-item.active { + color: var(--bs-breadcrumb-item-active-color); +} + +/** + * ---------------------------------------------------------------------------- + * [ Pagination ] + * ---------------------------------------------------------------------------- + */ + +.pagination { + --bs-pagination-padding-x: 0.375rem; + --bs-pagination-padding-y: 0.25rem; + --bs-pagination-font-size: var(--bs-font-size-base); + --bs-pagination-line-height: calc(20/14); + --bs-pagination-min-width: 1.875rem; + --bs-pagination-color: var(--bs-action-color); + --bs-pagination-bg: var(--bs-action-bg); + --bs-pagination-border-width: var(--bs-border-width); + --bs-pagination-border-color: var(--bs-action-border-color); + --bs-pagination-border-radius: var(--bs-border-radius); + --bs-pagination-hover-color: var(--bs-action-hover-color); + --bs-pagination-hover-bg: var(--bs-action-hover-bg); + --bs-pagination-hover-border-color: var(--bs-action-border-color); + --bs-pagination-focus-color: var(--bs-action-active-color); + --bs-pagination-focus-bg: var(--bs-action-active-bg); + --bs-pagination-focus-box-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-action-focus-shadow-hsl), 0.5); + --bs-pagination-active-color: var(--bs-primary-foreground); + --bs-pagination-active-bg: var(--bs-primary); + --bs-pagination-active-border-color: var(--bs-ctx-btn-border-color); + --bs-pagination-active-bg-clip: var(--bs-ctx-btn-bg-clip); + --bs-pagination-active-webkit-font-smoothing: auto; + --bs-pagination-active-moz-osx-font-smoothing: auto; + --bs-pagination-disabled-color: var(--bs-action-disabled-color); + --bs-pagination-disabled-bg: var(--bs-action-disabled-bg); + --bs-pagination-disabled-border-color: var(--bs-action-disabled-border-color); + display: flex; + padding-right: 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); + line-height: var(--bs-pagination-line-height); + min-width: var(--bs-pagination-min-width); + color: var(--bs-pagination-color); + text-decoration: none; + text-align: center; + background-color: var(--bs-pagination-bg); + border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color); +} + +@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); + background-clip: var(--bs-pagination-active-bg-clip); + -webkit-font-smoothing: var(--bs-pagination-active-webkit-font-smoothing); + -moz-osx-font-smoothing: var(--bs-pagination-active-moz-osx-font-smoothing); +} + +.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-right: calc(-1 * var(--bs-pagination-border-width)); +} + +.page-item:first-child .page-link { + border-top-right-radius: var(--bs-pagination-border-radius); + border-bottom-right-radius: var(--bs-pagination-border-radius); +} + +.page-item:last-child .page-link { + border-top-left-radius: var(--bs-pagination-border-radius); + border-bottom-left-radius: var(--bs-pagination-border-radius); +} + +.pagination-lg { + --bs-pagination-padding-x: 0.625rem; + --bs-pagination-padding-y: 0.3125rem; + --bs-pagination-font-size: var(--bs-font-size-lg); + --bs-pagination-line-height: calc(24/16); + --bs-pagination-min-width: 2.25rem; + --bs-pagination-border-radius: var(--bs-border-radius-lg); +} + +.pagination-sm { + --bs-pagination-padding-x: 0.125rem; + --bs-pagination-padding-y: 0.125rem; + --bs-pagination-font-size: var(--bs-font-size-sm); + --bs-pagination-line-height: calc(18/12); + --bs-pagination-min-width: 1.5rem; + --bs-pagination-border-radius: var(--bs-border-radius-sm); +} + +/** + * ---------------------------------------------------------------------------- + * [ Badge ] + * ---------------------------------------------------------------------------- + */ + +.badge { + --bs-badge-padding-x: var(--bs-relative-font-size-2xs); + --bs-badge-padding-y: var(--bs-relative-font-size-4xs); + --bs-badge-font-size: var(--bs-relative-font-size-sm); + --bs-badge-font-weight: var(--bs-font-weight-normal); + --bs-badge-color: var(--bs-secondary-foreground); + --bs-badge-bg: var(--bs-secondary); + --bs-badge-border-radius: var(--bs-border-radius); + display: inline-block; + padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x); + font-size: var(--bs-badge-font-size); + font-weight: var(--bs-badge-font-weight); + line-height: 1; + color: var(--bs-badge-color); + background-color: var(--bs-badge-bg); + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: var(--bs-badge-border-radius); + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} + +.badge:empty { + display: none; +} + +.btn .badge { + position: relative; + top: -1px; +} + +/** + * ---------------------------------------------------------------------------- + * [ Alerts ] + * ---------------------------------------------------------------------------- + */ + +.alert { + --bs-alert-bg: transparent; + --bs-alert-padding-x: 1rem; + --bs-alert-padding-y: 0.75rem; + --bs-alert-margin-bottom: 1rem; + --bs-alert-color: inherit; + --bs-alert-border-color: transparent; + --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color); + --bs-alert-border-radius: var(--bs-border-radius); + --bs-alert-link-color: inherit; + position: relative; + padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x); + margin-bottom: var(--bs-alert-margin-bottom); + color: var(--bs-alert-color); + background-color: var(--bs-alert-bg); + border: var(--bs-alert-border); + border-radius: var(--bs-alert-border-radius); +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: var(--bs-font-weight-normal); + color: var(--bs-alert-link-color); + text-decoration: underline; + -webkit-font-smoothing: var(--bs-body-webkit-font-smoothing); + -moz-osx-font-smoothing: var(--bs-body-moz-osx-font-smoothing); +} + +.alert-link:hover { + opacity: 0.75; + text-decoration: underline; +} + +.alert-dismissible { + padding-left: 2.5rem; +} + +.alert-dismissible .btn-close { + position: absolute; + top: 50%; + left: 0.375rem; + transform: translateY(-50%); + z-index: 2; +} + +/* Primary alert */ + +.alert-primary { + --bs-alert-color: var(--bs-body-color); + --bs-alert-bg: var(--bs-primary-bg-subtle); + --bs-alert-border-color: var(--bs-primary-border-subtle); + --bs-alert-link-color: var(--bs-alert-color); +} + +/* Secondary alert */ + +.alert-secondary { + --bs-alert-color: var(--bs-body-color); + --bs-alert-bg: var(--bs-secondary-bg-subtle); + --bs-alert-border-color: var(--bs-secondary-border-subtle); + --bs-alert-link-color: var(--bs-alert-color); +} + +/* Success alert */ + +.alert-success { + --bs-alert-color: var(--bs-body-color); + --bs-alert-bg: var(--bs-success-bg-subtle); + --bs-alert-border-color: var(--bs-success-border-subtle); + --bs-alert-link-color: var(--bs-alert-color); +} + +/* Info alert */ + +.alert-info { + --bs-alert-color: var(--bs-body-color); + --bs-alert-bg: var(--bs-info-bg-subtle); + --bs-alert-border-color: var(--bs-info-border-subtle); + --bs-alert-link-color: var(--bs-alert-color); +} + +/* Warning alert */ + +.alert-warning { + --bs-alert-color: var(--bs-body-color); + --bs-alert-bg: var(--bs-warning-bg-subtle); + --bs-alert-border-color: var(--bs-warning-border-subtle); + --bs-alert-link-color: var(--bs-alert-color); +} + +/* Danger alert */ + +.alert-danger { + --bs-alert-color: var(--bs-body-color); + --bs-alert-bg: var(--bs-danger-bg-subtle); + --bs-alert-border-color: var(--bs-danger-border-subtle); + --bs-alert-link-color: var(--bs-alert-color); +} + +/* Light alert */ + +.alert-light { + --bs-alert-color: var(--bs-body-color); + --bs-alert-bg: var(--bs-light-bg-subtle); + --bs-alert-border-color: var(--bs-light-border-subtle); + --bs-alert-link-color: var(--bs-alert-color); +} + +/* Dark alert */ + +.alert-dark { + --bs-alert-color: var(--bs-body-color); + --bs-alert-bg: var(--bs-dark-bg-subtle); + --bs-alert-border-color: var(--bs-dark-border-subtle); + --bs-alert-link-color: var(--bs-alert-color); +} + +/** + * ---------------------------------------------------------------------------- + * [ Progress ] + * ---------------------------------------------------------------------------- + */ + +@keyframes progress-bar-stripes { + 0% { + background-position-x: 0.625rem; + } +} + +.progress, +.progress-stacked { + --bs-progress-height: 0.625rem; + --bs-progress-font-size: 0.5rem; + --bs-progress-bg: var(--bs-actionbar-bg); + --bs-progress-border: var(--bs-progresstrack-border-width) solid var(--bs-actionbar-border-color); + --bs-progress-border-radius: var(--bs-border-radius-pill); + --bs-progress-box-shadow: var(--bs-progresstrack-box-shadow); + --bs-progress-bg-clip: var(--bs-progresstrack-bg-clip); + --bs-progress-bar-color: var(--bs-primary-foreground); + --bs-progress-bar-bg: var(--bs-primary); + --bs-progress-bar-transition: width 0.6s ease; + display: flex; + height: var(--bs-progress-height); + overflow: hidden; + font-size: var(--bs-progress-font-size); + background-color: var(--bs-progress-bg); + border: var(--bs-progress-border); + border-radius: var(--bs-progress-border-radius); + box-shadow: var(--bs-progress-box-shadow); + background-clip: var(--bs-progress-bg-clip); +} + +.progress-bar { + display: flex; + flex-direction: column; + justify-content: center; + overflow: hidden; + color: var(--bs-progress-bar-color); + text-align: center; + white-space: nowrap; + background-color: var(--bs-progress-bar-bg); + transition: var(--bs-progress-bar-transition); + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} + +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} + +.progress-bar-striped { + background-image: linear-gradient( + -45deg, + hsla(var(--bs-primary-foreground-hsl), 0.15) 25%, + transparent 25%, + transparent 50%, + hsla(var(--bs-primary-foreground-hsl), 0.15) 50%, + hsla(var(--bs-primary-foreground-hsl), 0.15) 75%, + transparent 75%, + transparent + ); + background-size: var(--bs-progress-height) var(--bs-progress-height); +} + +.progress-stacked > .progress { + height: 100%; + overflow: visible; + font-size: inherit; + background-color: transparent; + border: 0; + border-radius: 0; + box-shadow: none; + background-clip: border-box; +} + +.progress-stacked > .progress > .progress-bar { + width: 100%; +} + +.progress-bar-animated { + animation: 1s linear infinite progress-bar-stripes; +} + +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + animation: none; + } +} + +/** + * ---------------------------------------------------------------------------- + * [ List group ] + * ---------------------------------------------------------------------------- + */ + +.list-group { + --bs-list-group-color: var(--bs-body-color); + --bs-list-group-bg: transparent; + --bs-list-group-border-color: var(--bs-border-color); + --bs-list-group-border-width: var(--bs-border-width); + --bs-list-group-border-radius: var(--bs-border-radius); + --bs-list-group-item-padding-x: 1rem; + --bs-list-group-item-padding-y: 0.375rem; + --bs-list-group-action-color: var(--bs-list-group-color); + --bs-list-group-action-hover-color: var(--bs-list-group-action-color); + --bs-list-group-action-hover-bg: hsla(var(--bs-black-hsl), 0.06); + --bs-list-group-action-active-color: var(--bs-list-group-action-color); + --bs-list-group-action-active-bg: hsla(var(--bs-black-hsl), 0.09); + --bs-list-group-disabled-color: var(--bs-secondary-color); + --bs-list-group-disabled-bg: hsla(var(--bs-black-hsl), 0.03); + --bs-list-group-active-color: var(--bs-primary-foreground); + --bs-list-group-active-bg: var(--bs-primary); + --bs-list-group-active-border-color: var(--bs-primary); + display: flex; + flex-direction: column; + padding-right: 0; + margin-bottom: 0; + border-radius: var(--bs-list-group-border-radius); +} + +[data-bs-theme=dark] .list-group { + --bs-list-group-action-hover-bg: hsla(var(--bs-white-hsl), 0.05); + --bs-list-group-action-active-bg: hsla(var(--bs-white-hsl), 0.075); + --bs-list-group-disabled-bg: hsla(var(--bs-white-hsl), 0.025); +} + +.list-group-numbered { + list-style-type: none; + counter-reset: section; +} + +.list-group-numbered > .list-group-item::before { + content: counters(section, ".") ". "; + counter-increment: section; +} + +.list-group-item-action { + width: 100%; + color: var(--bs-list-group-action-color); + text-align: inherit; +} + +.list-group-item-action:hover, +.list-group-item-action:focus { + z-index: 1; + color: var(--bs-list-group-action-hover-color); + text-decoration: none; + background-color: var(--bs-list-group-action-hover-bg); +} + +.list-group-item-action:active { + color: var(--bs-list-group-action-active-color); + background-color: var(--bs-list-group-action-active-bg); +} + +.list-group-item { + position: relative; + display: block; + padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x); + color: var(--bs-list-group-color); + text-decoration: none; + background-color: var(--bs-list-group-bg); + border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color); + -webkit-font-smoothing: var(--bs-body-webkit-font-smoothing); + -moz-osx-font-smoothing: var(--bs-body-moz-osx-font-smoothing); +} + +.list-group-item:first-child { + border-top-right-radius: inherit; + border-top-left-radius: inherit; +} + +.list-group-item:last-child { + border-bottom-left-radius: inherit; + border-bottom-right-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); + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} + +.list-group-item + .list-group-item { + border-top-width: 0; +} + +.list-group-item + .list-group-item.active { + margin-top: calc(-1 * var(--bs-list-group-border-width)); + border-top-width: var(--bs-list-group-border-width); +} + +.list-group-horizontal { + flex-direction: row; +} + +.list-group-horizontal > .list-group-item:first-child:not(:last-child) { + border-bottom-right-radius: var(--bs-list-group-border-radius); + border-top-left-radius: 0; +} + +.list-group-horizontal > .list-group-item:last-child:not(:first-child) { + border-top-left-radius: var(--bs-list-group-border-radius); + border-bottom-right-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-right-width: 0; +} + +.list-group-horizontal > .list-group-item + .list-group-item.active { + margin-right: calc(-1 * var(--bs-list-group-border-width)); + border-right-width: var(--bs-list-group-border-width); +} + +@media (min-width: 576px) { + .list-group-horizontal-sm { + flex-direction: row; + } + + .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) { + border-bottom-right-radius: var(--bs-list-group-border-radius); + border-top-left-radius: 0; + } + + .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) { + border-top-left-radius: var(--bs-list-group-border-radius); + border-bottom-right-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-right-width: 0; + } + + .list-group-horizontal-sm > .list-group-item + .list-group-item.active { + margin-right: calc(-1 * var(--bs-list-group-border-width)); + border-right-width: var(--bs-list-group-border-width); + } +} + +@media (min-width: 768px) { + .list-group-horizontal-md { + flex-direction: row; + } + + .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) { + border-bottom-right-radius: var(--bs-list-group-border-radius); + border-top-left-radius: 0; + } + + .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) { + border-top-left-radius: var(--bs-list-group-border-radius); + border-bottom-right-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-right-width: 0; + } + + .list-group-horizontal-md > .list-group-item + .list-group-item.active { + margin-right: calc(-1 * var(--bs-list-group-border-width)); + border-right-width: var(--bs-list-group-border-width); + } +} + +@media (min-width: 992px) { + .list-group-horizontal-lg { + flex-direction: row; + } + + .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) { + border-bottom-right-radius: var(--bs-list-group-border-radius); + border-top-left-radius: 0; + } + + .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) { + border-top-left-radius: var(--bs-list-group-border-radius); + border-bottom-right-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-right-width: 0; + } + + .list-group-horizontal-lg > .list-group-item + .list-group-item.active { + margin-right: calc(-1 * var(--bs-list-group-border-width)); + border-right-width: var(--bs-list-group-border-width); + } +} + +@media (min-width: 1200px) { + .list-group-horizontal-xl { + flex-direction: row; + } + + .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) { + border-bottom-right-radius: var(--bs-list-group-border-radius); + border-top-left-radius: 0; + } + + .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) { + border-top-left-radius: var(--bs-list-group-border-radius); + border-bottom-right-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-right-width: 0; + } + + .list-group-horizontal-xl > .list-group-item + .list-group-item.active { + margin-right: calc(-1 * var(--bs-list-group-border-width)); + border-right-width: var(--bs-list-group-border-width); + } +} + +@media (min-width: 1400px) { + .list-group-horizontal-xxl { + flex-direction: row; + } + + .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) { + border-bottom-right-radius: var(--bs-list-group-border-radius); + border-top-left-radius: 0; + } + + .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) { + border-top-left-radius: var(--bs-list-group-border-radius); + border-bottom-right-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-right-width: 0; + } + + .list-group-horizontal-xxl > .list-group-item + .list-group-item.active { + margin-right: calc(-1 * var(--bs-list-group-border-width)); + border-right-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; +} + +/* Primary list group item */ + +.list-group-item-primary { + --bs-list-group-color: var(--bs-body-color); + --bs-list-group-bg: hsla(var(--bs-primary-hsl), 0.125); + --bs-list-group-border-color: var(--bs-border-color); + --bs-list-group-action-hover-color: var(--bs-list-group-action-color); + --bs-list-group-action-hover-bg: hsla(var(--bs-primary-hsl), 0.2); + --bs-list-group-action-active-color: var(--bs-list-group-action-color); + --bs-list-group-action-active-bg: hsla(var(--bs-primary-hsl), 0.25); + --bs-list-group-active-color: var(--bs-primary-foreground); + --bs-list-group-active-bg: var(--bs-primary-hover-bg); + --bs-list-group-active-border-color: var(--bs-primary-hover-bg); +} + +/* Secondary list group item */ + +.list-group-item-secondary { + --bs-list-group-color: var(--bs-body-color); + --bs-list-group-bg: hsla(var(--bs-secondary-hsl), 0.125); + --bs-list-group-border-color: var(--bs-border-color); + --bs-list-group-action-hover-color: var(--bs-list-group-action-color); + --bs-list-group-action-hover-bg: hsla(var(--bs-secondary-hsl), 0.2); + --bs-list-group-action-active-color: var(--bs-list-group-action-color); + --bs-list-group-action-active-bg: hsla(var(--bs-secondary-hsl), 0.25); + --bs-list-group-active-color: var(--bs-secondary-foreground); + --bs-list-group-active-bg: var(--bs-secondary-hover-bg); + --bs-list-group-active-border-color: var(--bs-secondary-hover-bg); +} + +/* Success list group item */ + +.list-group-item-success { + --bs-list-group-color: var(--bs-body-color); + --bs-list-group-bg: hsla(var(--bs-success-hsl), 0.125); + --bs-list-group-border-color: var(--bs-border-color); + --bs-list-group-action-hover-color: var(--bs-list-group-action-color); + --bs-list-group-action-hover-bg: hsla(var(--bs-success-hsl), 0.2); + --bs-list-group-action-active-color: var(--bs-list-group-action-color); + --bs-list-group-action-active-bg: hsla(var(--bs-success-hsl), 0.25); + --bs-list-group-active-color: var(--bs-success-foreground); + --bs-list-group-active-bg: var(--bs-success-hover-bg); + --bs-list-group-active-border-color: var(--bs-success-hover-bg); +} + +/* Info list group item */ + +.list-group-item-info { + --bs-list-group-color: var(--bs-body-color); + --bs-list-group-bg: hsla(var(--bs-info-hsl), 0.125); + --bs-list-group-border-color: var(--bs-border-color); + --bs-list-group-action-hover-color: var(--bs-list-group-action-color); + --bs-list-group-action-hover-bg: hsla(var(--bs-info-hsl), 0.2); + --bs-list-group-action-active-color: var(--bs-list-group-action-color); + --bs-list-group-action-active-bg: hsla(var(--bs-info-hsl), 0.25); + --bs-list-group-active-color: var(--bs-info-foreground); + --bs-list-group-active-bg: var(--bs-info-hover-bg); + --bs-list-group-active-border-color: var(--bs-info-hover-bg); +} + +/* Warning list group item */ + +.list-group-item-warning { + --bs-list-group-color: var(--bs-body-color); + --bs-list-group-bg: hsla(var(--bs-warning-hsl), 0.125); + --bs-list-group-border-color: var(--bs-border-color); + --bs-list-group-action-hover-color: var(--bs-list-group-action-color); + --bs-list-group-action-hover-bg: hsla(var(--bs-warning-hsl), 0.2); + --bs-list-group-action-active-color: var(--bs-list-group-action-color); + --bs-list-group-action-active-bg: hsla(var(--bs-warning-hsl), 0.25); + --bs-list-group-active-color: var(--bs-warning-foreground); + --bs-list-group-active-bg: var(--bs-warning-hover-bg); + --bs-list-group-active-border-color: var(--bs-warning-hover-bg); +} + +/* Danger list group item */ + +.list-group-item-danger { + --bs-list-group-color: var(--bs-body-color); + --bs-list-group-bg: hsla(var(--bs-danger-hsl), 0.125); + --bs-list-group-border-color: var(--bs-border-color); + --bs-list-group-action-hover-color: var(--bs-list-group-action-color); + --bs-list-group-action-hover-bg: hsla(var(--bs-danger-hsl), 0.2); + --bs-list-group-action-active-color: var(--bs-list-group-action-color); + --bs-list-group-action-active-bg: hsla(var(--bs-danger-hsl), 0.25); + --bs-list-group-active-color: var(--bs-danger-foreground); + --bs-list-group-active-bg: var(--bs-danger-hover-bg); + --bs-list-group-active-border-color: var(--bs-danger-hover-bg); +} + +/* Light list group item */ + +.list-group-item-light { + --bs-list-group-color: var(--bs-body-color); + --bs-list-group-bg: hsla(var(--bs-light-hsl), 0.125); + --bs-list-group-border-color: var(--bs-border-color); + --bs-list-group-action-hover-color: var(--bs-list-group-action-color); + --bs-list-group-action-hover-bg: hsla(var(--bs-light-hsl), 0.2); + --bs-list-group-action-active-color: var(--bs-list-group-action-color); + --bs-list-group-action-active-bg: hsla(var(--bs-light-hsl), 0.25); + --bs-list-group-active-color: var(--bs-light-foreground); + --bs-list-group-active-bg: var(--bs-light-hover-bg); + --bs-list-group-active-border-color: var(--bs-light-hover-bg); +} + +/* Dark list group item */ + +.list-group-item-dark { + --bs-list-group-color: var(--bs-body-color); + --bs-list-group-bg: hsla(var(--bs-dark-hsl), 0.125); + --bs-list-group-border-color: var(--bs-border-color); + --bs-list-group-action-hover-color: var(--bs-list-group-action-color); + --bs-list-group-action-hover-bg: hsla(var(--bs-dark-hsl), 0.2); + --bs-list-group-action-active-color: var(--bs-list-group-action-color); + --bs-list-group-action-active-bg: hsla(var(--bs-dark-hsl), 0.25); + --bs-list-group-active-color: var(--bs-dark-foreground); + --bs-list-group-active-bg: var(--bs-dark-hover-bg); + --bs-list-group-active-border-color: var(--bs-dark-hover-bg); +} + +/** + * ---------------------------------------------------------------------------- + * [ Close button ] + * ---------------------------------------------------------------------------- + */ + +.btn-close { + --bs-btn-close-color: var(--bs-black); + --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e"); + --bs-btn-close-opacity: 0.5; + --bs-btn-close-hover-opacity: 0.75; + --bs-btn-close-focus-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-black-hsl), 0.25); + --bs-btn-close-focus-opacity: 1; + --bs-btn-close-disabled-opacity: 0.25; + --bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%); + box-sizing: content-box; + width: 1em; + height: 1em; + padding: var(--bs-relative-font-size-4xs); + color: var(--bs-btn-close-color); + background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat; + border: 0; + border-radius: var(--bs-border-radius-sm); + opacity: var(--bs-btn-close-opacity); +} + +.btn-close:hover { + color: var(--bs-btn-close-color); + text-decoration: none; + opacity: var(--bs-btn-close-hover-opacity); +} + +.btn-close:focus { + outline: 0; + box-shadow: var(--bs-btn-close-focus-shadow); + opacity: var(--bs-btn-close-focus-opacity); +} + +.btn-close:disabled, .btn-close.disabled { + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + opacity: var(--bs-btn-close-disabled-opacity); +} + +[data-bs-theme=dark] .btn-close { + filter: var(--bs-btn-close-white-filter); +} + +/* Local light and dark variants */ + +.btn-close[data-bs-theme=light] { + filter: none; +} + +.btn-close[data-bs-theme=dark] { + filter: var(--bs-btn-close-white-filter); +} + +/** + * ---------------------------------------------------------------------------- + * [ Toast ] + * ---------------------------------------------------------------------------- + */ + +.toast { + --bs-toast-zindex: 1090; + --bs-toast-padding-x: 0.75rem; + --bs-toast-padding-y: 0.5rem; + --bs-toast-spacing: 1.5rem; + --bs-toast-max-width: 21.875rem; + --bs-toast-font-size: 0.875rem; + --bs-toast-color: ; + --bs-toast-bg: hsla(var(--bs-content-floating-bg-hsl), 0.95); + --bs-toast-border-width: var(--bs-border-width); + --bs-toast-border-color: var(--bs-content-floating-border-color); + --bs-toast-border-radius: var(--bs-border-radius); + --bs-toast-box-shadow: var(--bs-content-floating-box-shadow); + --bs-toast-header-color: var(--bs-secondary-color); + --bs-toast-header-bg: var(--bs-toast-bg); + --bs-toast-header-border-color: var(--bs-border-color-translucent); + width: var(--bs-toast-max-width); + max-width: 100%; + font-size: var(--bs-toast-font-size); + color: var(--bs-toast-color); + pointer-events: auto; + background-color: var(--bs-toast-bg); + background-clip: padding-box; + border: var(--bs-toast-border-width) solid var(--bs-toast-border-color); + box-shadow: var(--bs-toast-box-shadow); + border-radius: var(--bs-toast-border-radius); +} + +.toast.showing { + opacity: 0; +} + +.toast:not(.show) { + display: none; +} + +.toast-container { + --bs-toast-zindex: 1090; + position: absolute; + z-index: var(--bs-toast-zindex); + width: -webkit-max-content; + width: -moz-max-content; + width: max-content; + max-width: 100%; + pointer-events: none; +} + +.toast-container > :not(:last-child) { + margin-bottom: var(--bs-toast-spacing); +} + +.toast-header { + display: flex; + align-items: center; + padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x); + color: var(--bs-toast-header-color); + background-color: var(--bs-toast-header-bg); + background-clip: padding-box; + border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color); + border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width)); + border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width)); +} + +.toast-header .btn-close { + margin-left: calc(-0.5 * var(--bs-toast-padding-x)); + margin-right: var(--bs-toast-padding-x); +} + +.toast-body { + padding: var(--bs-toast-padding-x); + word-wrap: break-word; +} + +/** + * ---------------------------------------------------------------------------- + * [ Modal ] + * ---------------------------------------------------------------------------- + */ + +.modal { + --bs-modal-zindex: 1055; + --bs-modal-width: 25rem; + --bs-modal-padding: 1rem; + --bs-modal-margin: 0.5rem; + --bs-modal-color: ; + --bs-modal-bg: var(--bs-content-bg); + --bs-modal-border-color: var(--bs-content-border-color); + --bs-modal-border-width: var(--bs-border-width); + --bs-modal-border-radius: var(--bs-border-radius-lg); + --bs-modal-box-shadow: var(--bs-content-box-shadow); + --bs-modal-inner-border-radius: calc(var(--bs-modal-border-radius) - (var(--bs-modal-border-width))); + --bs-modal-header-padding-x: 1rem; + --bs-modal-header-padding-y: 1rem; + --bs-modal-header-padding: var(--bs-modal-header-padding-y) var(--bs-modal-header-padding-x); + --bs-modal-header-border-color: var(--bs-border-color-translucent); + --bs-modal-header-border-width: var(--bs-border-width); + --bs-modal-title-line-height: var(--bs-line-height-sm); + --bs-modal-footer-padding-x: 1rem; + --bs-modal-footer-padding-y: 1rem; + --bs-modal-footer-gap: 0.5rem; + --bs-modal-footer-bg: ; + --bs-modal-footer-border-color: var(--bs-border-color-translucent); + --bs-modal-footer-border-width: var(--bs-border-width); + position: fixed; + top: 0; + right: 0; + z-index: var(--bs-modal-zindex); + display: none; + width: 100%; + height: 100%; + overflow-x: hidden; + overflow-y: auto; + outline: 0; +} + +.modal-dialog { + position: relative; + width: auto; + margin: var(--bs-modal-margin); + pointer-events: none; +} + +.modal.fade .modal-dialog { + transition: transform 0.3s ease-out; + transform: translate(0, -50px); +} + +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} + +.modal.show .modal-dialog { + transform: none; +} + +.modal.modal-static .modal-dialog { + transform: scale(1.02); +} + +.modal-dialog-scrollable { + height: calc(100% - var(--bs-modal-margin) * 2); +} + +.modal-dialog-scrollable .modal-content { + max-height: 100%; + overflow: hidden; +} + +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} + +.modal-dialog-centered { + display: flex; + align-items: center; + min-height: calc(100% - var(--bs-modal-margin) * 2); +} + +.modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + color: var(--bs-modal-color); + pointer-events: auto; + background-color: var(--bs-modal-bg); + background-clip: padding-box; + border: var(--bs-modal-border-width) solid var(--bs-modal-border-color); + border-radius: var(--bs-modal-border-radius); + box-shadow: var(--bs-modal-box-shadow); + outline: 0; +} + +.modal-backdrop { + --bs-backdrop-zindex: 1050; + --bs-backdrop-bg: var(--bs-black); + --bs-backdrop-opacity: 0.5; + position: fixed; + top: 0; + right: 0; + z-index: var(--bs-backdrop-zindex); + width: 100vw; + height: 100vh; + background-color: var(--bs-backdrop-bg); +} + +.modal-backdrop.fade { + opacity: 0; +} + +.modal-backdrop.show { + opacity: var(--bs-backdrop-opacity); +} + +.modal-header { + display: flex; + flex-shrink: 0; + align-items: center; + justify-content: space-between; + padding: var(--bs-modal-header-padding); + border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color); + border-top-right-radius: var(--bs-modal-inner-border-radius); + border-top-left-radius: var(--bs-modal-inner-border-radius); +} + +.modal-header .btn-close { + padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5); + margin: calc(-0.5 * var(--bs-modal-header-padding-y)) auto calc(-0.5 * var(--bs-modal-header-padding-y)) calc(-0.5 * var(--bs-modal-header-padding-x)); +} + +.modal-title { + margin-bottom: 0; + line-height: var(--bs-modal-title-line-height); +} + +.modal-body { + position: relative; + flex: 1 1 auto; + padding: var(--bs-modal-padding); +} + +.modal-footer { + display: flex; + flex-shrink: 0; + flex-wrap: wrap; + align-items: center; + justify-content: flex-end; + padding: calc(var(--bs-modal-footer-padding-y) - var(--bs-modal-footer-gap) * 0.5) calc(var(--bs-modal-footer-padding-x) - var(--bs-modal-footer-gap) * 0.5); + background-color: var(--bs-modal-footer-bg); + border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color); + border-bottom-left-radius: var(--bs-modal-inner-border-radius); + border-bottom-right-radius: var(--bs-modal-inner-border-radius); +} + +.modal-footer > * { + margin: calc(var(--bs-modal-footer-gap) * 0.5); +} + +@media (min-width: 576px) { + .modal { + --bs-modal-margin: 1.75rem; + } + + .modal-dialog { + max-width: var(--bs-modal-width); + margin-left: auto; + margin-right: auto; + } + + .modal-sm { + --bs-modal-width: 18.75rem; + } +} + +@media (min-width: 992px) { + .modal-lg, + .modal-xl { + --bs-modal-width: 42.5rem; + } +} + +@media (min-width: 1200px) { + .modal-xl { + --bs-modal-width: 65rem; + } +} + +.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; + } +} + +/** + * ---------------------------------------------------------------------------- + * [ Tooltips ] + * ---------------------------------------------------------------------------- + */ + +.tooltip { + --bs-tooltip-zindex: 1080; + --bs-tooltip-max-width: 12.5rem; + --bs-tooltip-padding-x: 0.5rem; + --bs-tooltip-padding-y: 0.25rem; + --bs-tooltip-margin: ; + --bs-tooltip-font-size: var(--bs-font-size-sm); + --bs-tooltip-color: var(--bs-body-bg); + --bs-tooltip-bg: var(--bs-emphasis-color); + --bs-tooltip-border-radius: var(--bs-border-radius); + --bs-tooltip-opacity: 0.95; + --bs-tooltip-webkit-font-smoothing: auto; + --bs-tooltip-moz-osx-font-smoothing: auto; + --bs-tooltip-arrow-width: 0.8rem; + --bs-tooltip-arrow-height: 0.4rem; + z-index: var(--bs-tooltip-zindex); + display: block; + margin: var(--bs-tooltip-margin); + font-family: var(--bs-body-font-family); + font-style: normal; + font-weight: var(--bs-font-weight-normal); + line-height: var(--bs-line-height-base); + text-align: right; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + white-space: normal; + word-spacing: normal; + line-break: auto; + font-size: var(--bs-tooltip-font-size); + word-wrap: break-word; + opacity: 0; +} + +.tooltip.show { + opacity: var(--bs-tooltip-opacity); +} + +.tooltip .tooltip-arrow { + display: block; + width: var(--bs-tooltip-arrow-width); + height: var(--bs-tooltip-arrow-height); +} + +.tooltip .tooltip-arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-top .tooltip-arrow, +.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow { + bottom: calc(-1 * var(--bs-tooltip-arrow-height)); +} + +.bs-tooltip-top .tooltip-arrow::before, +.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before { + top: -1px; + border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0; + border-top-color: var(--bs-tooltip-bg); +} +.bs-tooltip-end .tooltip-arrow, +.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow { + left: calc(-1 * var(--bs-tooltip-arrow-height)); + width: var(--bs-tooltip-arrow-height); + height: var(--bs-tooltip-arrow-width); +} + +.bs-tooltip-end .tooltip-arrow::before, +.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before { + right: -1px; + border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0; + border-right-color: var(--bs-tooltip-bg); +} + +.bs-tooltip-bottom .tooltip-arrow, +.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow { + top: calc(-1 * var(--bs-tooltip-arrow-height)); +} + +.bs-tooltip-bottom .tooltip-arrow::before, +.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before { + bottom: -1px; + border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height); + border-bottom-color: var(--bs-tooltip-bg); +} +.bs-tooltip-start .tooltip-arrow, +.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow { + right: calc(-1 * var(--bs-tooltip-arrow-height)); + width: var(--bs-tooltip-arrow-height); + height: var(--bs-tooltip-arrow-width); +} + +.bs-tooltip-start .tooltip-arrow::before, +.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before { + left: -1px; + border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height); + border-left-color: var(--bs-tooltip-bg); +} + +.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); + -webkit-font-smoothing: var(--bs-tooltip-webkit-font-smoothing); + -moz-osx-font-smoothing: var(--bs-tooltip-moz-osx-font-smoothing); +} + +/** + * ---------------------------------------------------------------------------- + * [ Popovers ] + * ---------------------------------------------------------------------------- + */ + +.popover { + --bs-popover-zindex: 1070; + --bs-popover-max-width: 17.25rem; + --bs-popover-font-size: var(--bs-font-size-base); + --bs-popover-bg: var(--bs-content-floating-bg); + --bs-popover-border-width: var(--bs-border-width); + --bs-popover-border-color: var(--bs-content-floating-border-color); + --bs-popover-border-radius: var(--bs-border-radius); + --bs-popover-inner-border-radius: calc(var(--bs-popover-border-radius) - var(--bs-popover-border-width)); + --bs-popover-box-shadow: var(--bs-content-floating-box-shadow); + --bs-popover-header-padding-x: 0.75rem; + --bs-popover-header-padding-y: 0.5rem; + --bs-popover-header-font-size: var(--bs-popover-font-size); + --bs-popover-header-color: var(--bs-body-color); + --bs-popover-header-bg: var(--bs-popover-bg); + --bs-popover-header-border-color: var(--bs-border-color-translucent); + --bs-popover-body-padding-x: 0.75rem; + --bs-popover-body-padding-y: 0.75rem; + --bs-popover-body-color: var(--bs-content-floating-color); + --bs-popover-arrow-width: 1rem; + --bs-popover-arrow-height: 0.5rem; + --bs-popover-arrow-border: var(--bs-popover-border-color); + z-index: var(--bs-popover-zindex); + display: block; + max-width: var(--bs-popover-max-width); + font-family: var(--bs-body-font-family); + font-style: normal; + font-weight: var(--bs-font-weight-normal); + line-height: var(--bs-line-height-base); + text-align: right; + 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); + box-shadow: var(--bs-popover-box-shadow); +} + +.popover .popover-arrow { + display: block; + width: var(--bs-popover-arrow-width); + height: var(--bs-popover-arrow-height); +} + +.popover .popover-arrow::before, +.popover .popover-arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; + border-width: 0; +} + +.bs-popover-top > .popover-arrow, +.bs-popover-auto[data-popper-placement^=top] > .popover-arrow { + bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); +} + +.bs-popover-top > .popover-arrow::before, +.bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, +.bs-popover-top > .popover-arrow::after, +.bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { + border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0; +} + +.bs-popover-top > .popover-arrow::before, +.bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before { + bottom: 0; + border-top-color: var(--bs-popover-arrow-border); +} + +.bs-popover-top > .popover-arrow::after, +.bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { + bottom: var(--bs-popover-border-width); + border-top-color: var(--bs-popover-bg); +} +.bs-popover-end > .popover-arrow, +.bs-popover-auto[data-popper-placement^=right] > .popover-arrow { + left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); + width: var(--bs-popover-arrow-height); + height: var(--bs-popover-arrow-width); +} + +.bs-popover-end > .popover-arrow::before, +.bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, +.bs-popover-end > .popover-arrow::after, +.bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { + border-width: calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0; +} + +.bs-popover-end > .popover-arrow::before, +.bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before { + left: 0; + border-right-color: var(--bs-popover-arrow-border); +} + +.bs-popover-end > .popover-arrow::after, +.bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { + left: var(--bs-popover-border-width); + border-right-color: var(--bs-popover-bg); +} + +.bs-popover-bottom > .popover-arrow, +.bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow { + top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width)); +} + +.bs-popover-bottom > .popover-arrow::before, +.bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, +.bs-popover-bottom > .popover-arrow::after, +.bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { + border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height); +} + +.bs-popover-bottom > .popover-arrow::before, +.bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before { + top: 0; + border-bottom-color: var(--bs-popover-arrow-border); +} + +.bs-popover-bottom > .popover-arrow::after, +.bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { + top: var(--bs-popover-border-width); + border-bottom-color: var(--bs-popover-bg); +} + +.bs-popover-bottom .popover-header::before, +.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before { + position: absolute; + top: 0; + right: 50%; + display: block; + width: var(--bs-popover-arrow-width); + margin-right: calc(-0.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) * 0.5) 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height); +} + +.bs-popover-start > .popover-arrow::before, +.bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before { + right: 0; + border-left-color: var(--bs-popover-arrow-border); +} + +.bs-popover-start > .popover-arrow::after, +.bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { + right: var(--bs-popover-border-width); + border-left-color: var(--bs-popover-bg); +} + +.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-header-border-color); + border-top-right-radius: var(--bs-popover-inner-border-radius); + border-top-left-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 ] + * ---------------------------------------------------------------------------- + */ + +.carousel { + position: relative; +} + +.carousel.pointer-event { + touch-action: pan-y; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} + +.carousel-inner::after { + display: block; + clear: both; + content: ""; +} + +.carousel-item { + position: relative; + display: none; + float: right; + width: 100%; + margin-left: -100%; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transition: transform 0.6s ease-in-out; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +.carousel-item-next:not(.carousel-item-start), +.active.carousel-item-end { + transform: translateX(-100%); +} + +.carousel-item-prev:not(.carousel-item-end), +.active.carousel-item-start { + transform: translateX(100%); +} + +.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + transform: none; +} + +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-start, +.carousel-fade .carousel-item-prev.carousel-item-end { + z-index: 1; + opacity: 1; +} + +.carousel-fade .active.carousel-item-start, +.carousel-fade .active.carousel-item-end { + z-index: 0; + opacity: 0; + transition: opacity 0s 0.6s; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-start, + .carousel-fade .active.carousel-item-end { + transition: none; + } +} + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: flex; + align-items: center; + justify-content: center; + width: 15%; + padding: 0; + color: var(--bs-white); + text-align: center; + background: none; + border: 0; + opacity: 0.5; + transition: opacity 0.15s ease; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-control-prev, + .carousel-control-next { + transition: none; + } +} + +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: var(--bs-white); + text-decoration: none; + outline: 0; + opacity: 0.9; +} + +.carousel-control-prev { + right: 0; +} + +.carousel-control-next { + left: 0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 2.5rem; + height: 2.5rem; + background-color: var(--bs-white); + background-repeat: no-repeat; + background-size: 50% 50%; + border-radius: 50%; +} + +.carousel-control-prev-icon { + background-position: 55% center; +} + +.carousel-control-next-icon { + background-position: 45% center; +} + +.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='%23242628'%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-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23242628'%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; + left: 0; + bottom: 0; + right: 0; + z-index: 2; + display: flex; + justify-content: center; + padding: 0; + margin-left: 15%; + margin-bottom: 1rem; + margin-right: 15%; +} + +.carousel-indicators [data-bs-target] { + box-sizing: content-box; + flex: 0 1 auto; + width: 1.875rem; + height: 0.1875rem; + padding: 0; + margin-left: 0.1875rem; + margin-right: 0.1875rem; + text-indent: -999px; + cursor: pointer; + background-color: var(--bs-white); + background-clip: padding-box; + border: 0; + border-top: 0.625rem solid transparent; + border-bottom: 0.625rem solid transparent; + opacity: 0.5; + transition: opacity 0.6s ease; +} + +@media (prefers-reduced-motion: reduce) { + .carousel-indicators [data-bs-target] { + transition: none; + } +} + +.carousel-indicators .active { + opacity: 1; +} + +.carousel-caption { + position: absolute; + left: 15%; + bottom: 1.25rem; + right: 15%; + padding-top: 1.25rem; + padding-bottom: 1.25rem; + color: var(--bs-white); + text-align: center; +} + +[data-bs-theme=dark] .carousel .carousel-control-next-icon, +[data-bs-theme=dark] .carousel .carousel-control-prev-icon, +[data-bs-theme=dark].carousel .carousel-control-next-icon, +[data-bs-theme=dark].carousel .carousel-control-prev-icon { + background-color: var(--bs-black); +} + +[data-bs-theme=dark] .carousel .carousel-control-next-icon, +[data-bs-theme=dark].carousel .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='%23c9cbcf'%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"); +} + +[data-bs-theme=dark] .carousel .carousel-control-prev-icon, +[data-bs-theme=dark].carousel .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='%23c9cbcf'%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"); +} + +[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target], +[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target] { + background-color: var(--bs-black); +} + +[data-bs-theme=dark] .carousel .carousel-caption, +[data-bs-theme=dark].carousel .carousel-caption { + color: var(--bs-black); +} + +/** + * ---------------------------------------------------------------------------- + * [ Spinner ] + * ---------------------------------------------------------------------------- + */ + +.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) ; + } +} + +.spinner-border { + --bs-spinner-width: calc(var(--bs-font-size-base) * 2); + --bs-spinner-height: calc(var(--bs-font-size-base) * 2); + --bs-spinner-vertical-align: calc(-1 * var(--bs-relative-font-size-6xs)); + --bs-spinner-border-width: var(--bs-relative-font-size-4xs); + --bs-spinner-animation-speed: 0.75s; + --bs-spinner-animation-name: spinner-border; + border: var(--bs-spinner-border-width) solid currentcolor; + border-left-color: transparent; +} + +.spinner-border-sm { + --bs-spinner-width: var(--bs-font-size-base); + --bs-spinner-height: var(--bs-font-size-base); + --bs-spinner-border-width: var(--bs-relative-font-size-6xs); +} + +@keyframes spinner-grow { + 0% { + transform: scale(0); + } + + 50% { + opacity: 1; + transform: none; + } +} + +.spinner-grow { + --bs-spinner-width: calc(var(--bs-font-size-base) * 2); + --bs-spinner-height: calc(var(--bs-font-size-base) * 2); + --bs-spinner-vertical-align: calc(-1 * var(--bs-relative-font-size-6xs)); + --bs-spinner-animation-speed: 0.75s; + --bs-spinner-animation-name: spinner-grow; + background-color: currentcolor; + opacity: 0; +} + +.spinner-grow-sm { + --bs-spinner-width: var(--bs-font-size-base); + --bs-spinner-height: var(--bs-font-size-base); +} + +@media (prefers-reduced-motion:reduce) { + .spinner-border, + .spinner-grow { + --bs-spinner-animation-speed: 1.5s; + } +} + +/** + * ---------------------------------------------------------------------------- + * [ Offcanvas ] + * ---------------------------------------------------------------------------- + */ + +.offcanvas, +.offcanvas-xxl, +.offcanvas-xl, +.offcanvas-lg, +.offcanvas-md, +.offcanvas-sm { + --bs-offcanvas-zindex: 1045; + --bs-offcanvas-width: 21.875rem; + --bs-offcanvas-height: 30vh; + --bs-offcanvas-padding-x: 1rem; + --bs-offcanvas-padding-y: 1rem; + --bs-offcanvas-color: var(--bs-content-color); + --bs-offcanvas-bg: var(--bs-content-bg); + --bs-offcanvas-border-width: var(--bs-border-width); + --bs-offcanvas-border-color: var(--bs-content-border-color); + --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm); + --bs-offcanvas-transition: transform 0.3s ease-in-out; + --bs-offcanvas-title-line-height: var(--bs-line-height-sm); +} + +@media (max-width: 575.98px) { + .offcanvas-sm { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); + } +} + +@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-sm { + transition: none; + } +} + +@media (max-width: 575.98px) { + .offcanvas-sm.offcanvas-start { + top: 0; + 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-end { + 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-top { + top: 0; + left: 0; + right: 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 { + left: 0; + right: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + + .offcanvas-sm.showing, + .offcanvas-sm.show:not(.hiding) { + transform: none; + } + + .offcanvas-sm.showing, + .offcanvas-sm.hiding, + .offcanvas-sm.show { + visibility: visible; + } +} + +@media (min-width: 576px) { + .offcanvas-sm { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + + .offcanvas-sm .offcanvas-header { + display: none; + } + + .offcanvas-sm .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 767.98px) { + .offcanvas-md { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); + } +} + +@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-md { + transition: none; + } +} + +@media (max-width: 767.98px) { + .offcanvas-md.offcanvas-start { + top: 0; + 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-end { + 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-top { + top: 0; + left: 0; + right: 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 { + left: 0; + right: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + + .offcanvas-md.showing, + .offcanvas-md.show:not(.hiding) { + transform: none; + } + + .offcanvas-md.showing, + .offcanvas-md.hiding, + .offcanvas-md.show { + visibility: visible; + } +} + +@media (min-width: 768px) { + .offcanvas-md { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + + .offcanvas-md .offcanvas-header { + display: none; + } + + .offcanvas-md .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 991.98px) { + .offcanvas-lg { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); + } +} + +@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-lg { + transition: none; + } +} + +@media (max-width: 991.98px) { + .offcanvas-lg.offcanvas-start { + top: 0; + 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-end { + 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-top { + top: 0; + left: 0; + right: 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 { + left: 0; + right: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + + .offcanvas-lg.showing, + .offcanvas-lg.show:not(.hiding) { + transform: none; + } + + .offcanvas-lg.showing, + .offcanvas-lg.hiding, + .offcanvas-lg.show { + visibility: visible; + } +} + +@media (min-width: 992px) { + .offcanvas-lg { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + + .offcanvas-lg .offcanvas-header { + display: none; + } + + .offcanvas-lg .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 1199.98px) { + .offcanvas-xl { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); + } +} + +@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-xl { + transition: none; + } +} + +@media (max-width: 1199.98px) { + .offcanvas-xl.offcanvas-start { + top: 0; + 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-end { + 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-top { + top: 0; + left: 0; + right: 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 { + left: 0; + right: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + + .offcanvas-xl.showing, + .offcanvas-xl.show:not(.hiding) { + transform: none; + } + + .offcanvas-xl.showing, + .offcanvas-xl.hiding, + .offcanvas-xl.show { + visibility: visible; + } +} + +@media (min-width: 1200px) { + .offcanvas-xl { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + + .offcanvas-xl .offcanvas-header { + display: none; + } + + .offcanvas-xl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +@media (max-width: 1399.98px) { + .offcanvas-xxl { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); + } +} + +@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) { + .offcanvas-xxl { + transition: none; + } +} + +@media (max-width: 1399.98px) { + .offcanvas-xxl.offcanvas-start { + top: 0; + 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-end { + 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-top { + top: 0; + left: 0; + right: 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 { + left: 0; + right: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); + } + + .offcanvas-xxl.showing, + .offcanvas-xxl.show:not(.hiding) { + transform: none; + } + + .offcanvas-xxl.showing, + .offcanvas-xxl.hiding, + .offcanvas-xxl.show { + visibility: visible; + } +} + +@media (min-width: 1400px) { + .offcanvas-xxl { + --bs-offcanvas-height: auto; + --bs-offcanvas-border-width: 0; + background-color: transparent !important; + } + + .offcanvas-xxl .offcanvas-header { + display: none; + } + + .offcanvas-xxl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + background-color: transparent !important; + } +} + +.offcanvas { + position: fixed; + bottom: 0; + z-index: var(--bs-offcanvas-zindex); + display: flex; + flex-direction: column; + max-width: 100%; + color: var(--bs-offcanvas-color); + visibility: hidden; + background-color: var(--bs-offcanvas-bg); + background-clip: padding-box; + outline: 0; + transition: var(--bs-offcanvas-transition); +} + +@media (prefers-reduced-motion: reduce) { + .offcanvas { + transition: none; + } +} + +.offcanvas.offcanvas-start { + top: 0; + 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-end { + 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-top { + top: 0; + left: 0; + right: 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 { + left: 0; + right: 0; + height: var(--bs-offcanvas-height); + max-height: 100%; + border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color); + transform: translateY(100%); +} + +.offcanvas.showing, +.offcanvas.show:not(.hiding) { + transform: none; +} + +.offcanvas.showing, +.offcanvas.hiding, +.offcanvas.show { + visibility: visible; +} + +.offcanvas-backdrop { + position: fixed; + top: 0; + right: 0; + z-index: 1040; + width: 100vw; + height: 100vh; + background-color: var(--bs-black); +} + +.offcanvas-backdrop.fade { + opacity: 0; +} + +.offcanvas-backdrop.show { + opacity: 0.5; +} + +.offcanvas-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x); +} + +.offcanvas-header .btn-close { + padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5); + margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y)); + margin-left: calc(-0.5 * var(--bs-offcanvas-padding-x)); + margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y)); +} + +.offcanvas-title { + margin-bottom: 0; + line-height: var(--bs-offcanvas-title-line-height); +} + +.offcanvas-body { + flex-grow: 1; + padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x); + overflow-y: auto; +} + +/** + * ---------------------------------------------------------------------------- + * [ Sidebar ] + * ---------------------------------------------------------------------------- + */ + +.sidebar { + --bs-sidebar-padding: var(--bs-spacer); + --bs-sidebar-color: hsla(var(--bs-emphasis-color-hsl), 0.65); + --bs-sidebar-hover-color: hsla(var(--bs-emphasis-color-hsl), 0.8); + --bs-sidebar-disabled-color: hsla(var(--bs-emphasis-color-hsl), 0.3); + --bs-sidebar-active-color: var(--bs-link-color); + --bs-sidebar-bg: var(--bs-content-bg); + --bs-sidebar-border-width: var(--bs-border-width); + --bs-sidebar-border-color: var(--bs-content-border-color); + --bs-sidebar-border-radius: 0; + --bs-sidebar-brand-padding-y: 0; + --bs-sidebar-brand-margin-end: 1rem; + --bs-sidebar-brand-font-size: calc(var(--bs-font-size-base) + 0.25rem); + --bs-sidebar-brand-color: hsla(var(--bs-emphasis-color-hsl), 0.85); + --bs-sidebar-brand-hover-color: var(--bs-sidebar-brand-color); + --bs-sidebar-item-padding-x: 0; + --bs-sidebar-item-padding-y: 0.375rem; + --bs-sidebar-header-font-size: var(--bs-font-size-base); + --bs-sidebar-header-font-weight: var(--bs-font-weight-normal); + --bs-sidebar-divider-bg: var(--bs-border-color-translucent); + --bs-sidebar-divider-margin-y: 0.5rem; + position: fixed; + top: 0; + right: 0; + margin: var(--bs-sidebar-margin); + width: var(--bs-sidebar-width); + height: var(--bs-sidebar-height); + display: flex; + flex-direction: column; + background-color: var(--bs-sidebar-bg) !important; + border-left: var(--bs-sidebar-border-width) solid var(--bs-sidebar-border-color) !important; + border-radius: var(--bs-sidebar-border-radius); + outline: 0; +} + +@media (min-width: 576px) { + body:has(> .sidebar.offcanvas-sm) { + padding-right: var(--bs-padding-sbwidth); + } + + .ps-sm-sbwidth { + padding-right: var(--bs-padding-sbwidth) !important; + } +} + +@media (min-width: 768px) { + body:has(> .sidebar.offcanvas-md) { + padding-right: var(--bs-padding-sbwidth); + } + + .ps-md-sbwidth { + padding-right: var(--bs-padding-sbwidth) !important; + } +} + +@media (min-width: 992px) { + body:has(> .sidebar.offcanvas-lg) { + padding-right: var(--bs-padding-sbwidth); + } + + .ps-lg-sbwidth { + padding-right: var(--bs-padding-sbwidth) !important; + } +} + +@media (min-width: 1200px) { + body:has(> .sidebar.offcanvas-xl) { + padding-right: var(--bs-padding-sbwidth); + } + + .ps-xl-sbwidth { + padding-right: var(--bs-padding-sbwidth) !important; + } +} + +@media (min-width: 1400px) { + body:has(> .sidebar.offcanvas-xxl) { + padding-right: var(--bs-padding-sbwidth); + } + + .ps-xxl-sbwidth { + padding-right: var(--bs-padding-sbwidth) !important; + } +} + +.sidebar .offcanvas-header { + display: flex; +} + +.sidebar .offcanvas-body { + display: flex; + flex-direction: column; + flex-grow: 1; + padding: var(--bs-sidebar-padding); + overflow-y: auto; +} + +.sidebar-brand { + padding-top: var(--bs-sidebar-brand-padding-y); + padding-bottom: var(--bs-sidebar-brand-padding-y); + margin-left: var(--bs-sidebar-brand-margin-end); + font-size: var(--bs-sidebar-brand-font-size); + color: var(--bs-sidebar-brand-color); + text-decoration: none; + white-space: nowrap; +} + +.sidebar-brand:hover, +.sidebar-brand:focus { + color: var(--bs-sidebar-brand-hover-color); +} + +.sidebar-nav { + --bs-nav-link-padding-x: var(--bs-sidebar-item-padding-x); + --bs-nav-link-padding-y: var(--bs-sidebar-item-padding-y); + --bs-nav-link-font-weight: ; + --bs-nav-link-color: var(--bs-sidebar-color); + --bs-nav-link-hover-color: var(--bs-sidebar-hover-color); + --bs-nav-link-disabled-color: var(--bs-sidebar-disabled-color); + display: flex; + flex-direction: column; + padding-right: 0; + margin-bottom: 0; + list-style: none; +} + +.sidebar-nav .nav-link.active, +.sidebar-nav .nav-link.show { + color: var(--bs-sidebar-active-color); + -webkit-font-smoothing: auto; + -moz-osx-font-smoothing: auto; +} + +.sidebar-header { + display: block; + padding: var(--bs-sidebar-item-padding-y) 0; + margin-bottom: 0; + font-size: var(--bs-sidebar-header-font-size); + font-weight: var(--bs-sidebar-header-font-weight); +} + +.sidebar-divider { + height: 0; + margin: var(--bs-sidebar-divider-margin-y) 0; + overflow: hidden; + border-top: var(--bs-border-width) solid var(--bs-sidebar-divider-bg); + opacity: 1; +} + +/** + * ---------------------------------------------------------------------------- + * [ Placeholders ] + * ---------------------------------------------------------------------------- + */ + +.placeholder { + display: inline-block; + min-height: 1em; + vertical-align: middle; + cursor: wait; + background-color: currentcolor; + opacity: 0.5; +} + +.placeholder.btn::before { + display: inline-block; + content: ""; +} + +.placeholder-xs { + min-height: 0.6em; +} + +.placeholder-sm { + min-height: 0.8em; +} + +.placeholder-lg { + min-height: 1.2em; +} + +.placeholder-glow .placeholder { + animation: placeholder-glow 2s ease-in-out infinite; +} + +@keyframes placeholder-glow { + 50% { + opacity: 0.2; + } +} + +.placeholder-wave { + -webkit-mask-image: linear-gradient( + 130deg, + var(--bs-black) 55%, + hsla(var(--bs-black-hsl), 0.65) 75%, + var(--bs-black) 95% + ); + mask-image: linear-gradient( + 130deg, + var(--bs-black) 55%, + hsla(var(--bs-black-hsl), 0.65) 75%, + var(--bs-black) 95% + ); + -webkit-mask-size: 200% 100%; + mask-size: 200% 100%; + animation: placeholder-wave 2s linear infinite; +} + +@keyframes placeholder-wave { + 100% { + -webkit-mask-position: -200% 0%; + mask-position: -200% 0%; + } +} + +/** + * ---------------------------------------------------------------------------- + * [ Clearfix ] + * ---------------------------------------------------------------------------- + */ + +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +/** + * ---------------------------------------------------------------------------- + * [ Color and background ] + * ---------------------------------------------------------------------------- + */ + +.text-bg-primary { + --bs-color-hsl: var(--bs-primary-foreground-hsl); + color: hsla(var(--bs-color-hsl), var(--bs-text-opacity, 1)) !important; + background-color: hsla(var(--bs-primary-hsl), var(--bs-bg-opacity, 1)) !important; + -webkit-font-smoothing: auto !important; + -moz-osx-font-smoothing: auto !important; +} + +.text-bg-secondary { + --bs-color-hsl: var(--bs-secondary-foreground-hsl); + color: hsla(var(--bs-color-hsl), var(--bs-text-opacity, 1)) !important; + background-color: hsla(var(--bs-secondary-hsl), var(--bs-bg-opacity, 1)) !important; + -webkit-font-smoothing: auto !important; + -moz-osx-font-smoothing: auto !important; +} + +.text-bg-success { + --bs-color-hsl: var(--bs-success-foreground-hsl); + color: hsla(var(--bs-color-hsl), var(--bs-text-opacity, 1)) !important; + background-color: hsla(var(--bs-success-hsl), var(--bs-bg-opacity, 1)) !important; + -webkit-font-smoothing: auto !important; + -moz-osx-font-smoothing: auto !important; +} + +.text-bg-info { + --bs-color-hsl: var(--bs-info-foreground-hsl); + color: hsla(var(--bs-color-hsl), var(--bs-text-opacity, 1)) !important; + background-color: hsla(var(--bs-info-hsl), var(--bs-bg-opacity, 1)) !important; + -webkit-font-smoothing: auto !important; + -moz-osx-font-smoothing: auto !important; +} + +.text-bg-warning { + --bs-color-hsl: var(--bs-warning-foreground-hsl); + color: hsla(var(--bs-color-hsl), var(--bs-text-opacity, 1)) !important; + background-color: hsla(var(--bs-warning-hsl), var(--bs-bg-opacity, 1)) !important; + -webkit-font-smoothing: auto !important; + -moz-osx-font-smoothing: auto !important; +} + +.text-bg-danger { + --bs-color-hsl: var(--bs-danger-foreground-hsl); + color: hsla(var(--bs-color-hsl), var(--bs-text-opacity, 1)) !important; + background-color: hsla(var(--bs-danger-hsl), var(--bs-bg-opacity, 1)) !important; + -webkit-font-smoothing: auto !important; + -moz-osx-font-smoothing: auto !important; +} + +.text-bg-light { + --bs-color-hsl: var(--bs-light-foreground-hsl); + color: hsla(var(--bs-color-hsl), var(--bs-text-opacity, 1)) !important; + background-color: hsla(var(--bs-light-hsl), var(--bs-bg-opacity, 1)) !important; + -webkit-font-smoothing: auto !important; + -moz-osx-font-smoothing: auto !important; +} + +.text-bg-dark { + --bs-color-hsl: var(--bs-dark-foreground-hsl); + color: hsla(var(--bs-color-hsl), var(--bs-text-opacity, 1)) !important; + background-color: hsla(var(--bs-dark-hsl), var(--bs-bg-opacity, 1)) !important; + -webkit-font-smoothing: auto !important; + -moz-osx-font-smoothing: auto !important; +} + +/** + * ---------------------------------------------------------------------------- + * [ Colored links ] + * ---------------------------------------------------------------------------- + */ + +.link-primary { + color: hsla(var(--bs-primary-text-emphasis-hsl, var(--bs-link-opacity, 1))) !important; + -webkit-text-decoration-color: hsla(var(--bs-primary-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-primary-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-primary:hover, +.link-primary:focus { + color: hsla(var(--bs-primary-hsl), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: hsla(var(--bs-primary-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-primary-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-secondary { + color: hsla(var(--bs-secondary-text-emphasis-hsl, var(--bs-link-opacity, 1))) !important; + -webkit-text-decoration-color: hsla(var(--bs-secondary-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-secondary-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-secondary:hover, +.link-secondary:focus { + color: hsla(var(--bs-secondary-hsl), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: hsla(var(--bs-secondary-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-secondary-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-success { + color: hsla(var(--bs-success-text-emphasis-hsl, var(--bs-link-opacity, 1))) !important; + -webkit-text-decoration-color: hsla(var(--bs-success-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-success-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-success:hover, +.link-success:focus { + color: hsla(var(--bs-success-hsl), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: hsla(var(--bs-success-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-success-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-info { + color: hsla(var(--bs-info-text-emphasis-hsl, var(--bs-link-opacity, 1))) !important; + -webkit-text-decoration-color: hsla(var(--bs-info-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-info-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-info:hover, +.link-info:focus { + color: hsla(var(--bs-info-hsl), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: hsla(var(--bs-info-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-info-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-warning { + color: hsla(var(--bs-warning-text-emphasis-hsl, var(--bs-link-opacity, 1))) !important; + -webkit-text-decoration-color: hsla(var(--bs-warning-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-warning-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-warning:hover, +.link-warning:focus { + color: hsla(var(--bs-warning-hsl), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: hsla(var(--bs-warning-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-warning-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-danger { + color: hsla(var(--bs-danger-text-emphasis-hsl, var(--bs-link-opacity, 1))) !important; + -webkit-text-decoration-color: hsla(var(--bs-danger-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-danger-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-danger:hover, +.link-danger:focus { + color: hsla(var(--bs-danger-hsl), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: hsla(var(--bs-danger-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-danger-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-light { + color: hsla(var(--bs-light-text-emphasis-hsl, var(--bs-link-opacity, 1))) !important; + -webkit-text-decoration-color: hsla(var(--bs-light-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-light-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-light:hover, +.link-light:focus { + color: hsla(var(--bs-light-hsl), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: hsla(var(--bs-light-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-light-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-dark { + color: hsla(var(--bs-dark-text-emphasis-hsl, var(--bs-link-opacity, 1))) !important; + -webkit-text-decoration-color: hsla(var(--bs-dark-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-dark-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-dark:hover, +.link-dark:focus { + color: hsla(var(--bs-dark-hsl), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: hsla(var(--bs-dark-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-dark-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-body-emphasis { + color: hsla(var(--bs-emphasis-color-hsl), var(--bs-link-opacity, 1)) !important; + -webkit-text-decoration-color: hsla(var(--bs-emphasis-color-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-emphasis-color-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-body-emphasis:hover, +.link-body-emphasis:focus { + color: hsla(var(--bs-emphasis-color-hsl), var(--bs-link-opacity, 0.75)) !important; + -webkit-text-decoration-color: hsla(var(--bs-emphasis-color-hsl), var(--bs-link-underline-opacity, 0.75)) !important; + text-decoration-color: hsla(var(--bs-emphasis-color-hsl), var(--bs-link-underline-opacity, 0.75)) !important; +} + +/** + * ---------------------------------------------------------------------------- + * [ Focus ring ] + * ---------------------------------------------------------------------------- + */ + +.focus-ring:focus { + outline: 0 !important; + box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color) !important; +} + +.focus-ring-primary { + --bs-focus-ring-color: hsla(var(--bs-primary-hsl), var(--bs-focus-ring-opacity)); +} + +.focus-ring-secondary { + --bs-focus-ring-color: hsla(var(--bs-secondary-hsl), var(--bs-focus-ring-opacity)); +} + +.focus-ring-success { + --bs-focus-ring-color: hsla(var(--bs-success-hsl), var(--bs-focus-ring-opacity)); +} + +.focus-ring-info { + --bs-focus-ring-color: hsla(var(--bs-info-hsl), var(--bs-focus-ring-opacity)); +} + +.focus-ring-warning { + --bs-focus-ring-color: hsla(var(--bs-warning-hsl), var(--bs-focus-ring-opacity)); +} + +.focus-ring-danger { + --bs-focus-ring-color: hsla(var(--bs-danger-hsl), var(--bs-focus-ring-opacity)); +} + +.focus-ring-light { + --bs-focus-ring-color: hsla(var(--bs-light-hsl), var(--bs-focus-ring-opacity)); +} + +.focus-ring-dark { + --bs-focus-ring-color: hsla(var(--bs-dark-hsl), var(--bs-focus-ring-opacity)); +} + +/** + * ---------------------------------------------------------------------------- + * [ Icon link ] + * ---------------------------------------------------------------------------- + */ + +.icon-link { + display: inline-flex; + gap: 0.375rem; + align-items: center; + -webkit-text-decoration-color: hsla(var(--bs-link-color-hsl), var(--bs-link-opacity, 1)); + text-decoration-color: hsla(var(--bs-link-color-hsl), var(--bs-link-opacity, 1)); + text-underline-offset: var(--bs-link-decoration-offset); + -webkit-backface-visibility: hidden; + backface-visibility: hidden; +} + +.icon-link > .bi { + flex-shrink: 0; + width: 1em; + height: 1em; + fill: currentcolor; + transition: 0.2s ease-in-out transform; +} + +@media (prefers-reduced-motion: reduce) { + .icon-link > .bi { + transition: none; + } +} + +.icon-link-hover:hover > .bi, +.icon-link-hover:focus-visible > .bi { + transform: var(--bs-icon-link-transform, translate3d(-0.25em, 0, 0)); +} + +/** + * ---------------------------------------------------------------------------- + * [ Position ] + * ---------------------------------------------------------------------------- + */ + +.fixed-top { + position: fixed; + top: 0; + left: 0; + right: 0; + z-index: 1030; +} + +.fixed-bottom { + position: fixed; + left: 0; + bottom: 0; + right: 0; + z-index: 1030; +} + +.sticky-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; +} + +.sticky-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; +} + +@media (min-width: 576px) { + .sticky-sm-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + + .sticky-sm-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} + +@media (min-width: 768px) { + .sticky-md-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + + .sticky-md-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} + +@media (min-width: 992px) { + .sticky-lg-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + + .sticky-lg-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} + +@media (min-width: 1200px) { + .sticky-xl-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + + .sticky-xl-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} + +@media (min-width: 1400px) { + .sticky-xxl-top { + position: -webkit-sticky; + position: sticky; + top: 0; + z-index: 1020; + } + + .sticky-xxl-bottom { + position: -webkit-sticky; + position: sticky; + bottom: 0; + z-index: 1020; + } +} + +/** + * ---------------------------------------------------------------------------- + * [ Ratio ] + * ---------------------------------------------------------------------------- + */ + +.ratio { + position: relative; + width: 100%; +} + +.ratio::before { + display: block; + padding-top: var(--bs-aspect-ratio); + content: ""; +} + +.ratio > * { + position: absolute; + top: 0; + right: 0; + width: 100%; + height: 100%; +} + +.ratio-1x1 { + --bs-aspect-ratio: 100%; +} + +.ratio-4x3 { + --bs-aspect-ratio: 75%; +} + +.ratio-16x9 { + --bs-aspect-ratio: 56.25%; +} + +.ratio-21x9 { + --bs-aspect-ratio: 42.8571428571%; +} + +/** + * ---------------------------------------------------------------------------- + * [ Stacks ] + * ---------------------------------------------------------------------------- + */ + +.hstack { + display: flex; + flex-direction: row; + align-items: center; + align-self: stretch; +} + +.vstack { + display: flex; + flex: 1 1 auto; + flex-direction: column; + align-self: stretch; +} + +/** + * ---------------------------------------------------------------------------- + * [ Stretched link ] + * ---------------------------------------------------------------------------- + */ + +.stretched-link::after { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 1; + content: ""; +} + +/** + * ---------------------------------------------------------------------------- + * [ Text truncation ] + * ---------------------------------------------------------------------------- + */ + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +/** + * ---------------------------------------------------------------------------- + * [ Vertical rule ] + * ---------------------------------------------------------------------------- + */ + +.vr { + display: inline-block; + align-self: stretch; + width: var(--bs-border-width); + min-height: 1em; + background-color: currentcolor; + opacity: 0.25; +} + +/** + * ---------------------------------------------------------------------------- + * [ Visually hidden ] + * ---------------------------------------------------------------------------- + */ + +.visually-hidden, +.visually-hidden-focusable:not(:focus):not(:focus-within) { + width: 1px !important; + height: 1px !important; + padding: 0 !important; + margin: -1px !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; +} + +.visually-hidden:not(caption), +.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) { + position: absolute !important; +} + +/** + * ---------------------------------------------------------------------------- + * [ Background utilities ] + * ---------------------------------------------------------------------------- + */ + +.bg-primary { + --bs-bg-opacity: 1; + background-color: hsla(var(--bs-primary-hsl), var(--bs-bg-opacity)) !important; +} + +.bg-secondary { + --bs-bg-opacity: 1; + background-color: hsla(var(--bs-secondary-hsl), var(--bs-bg-opacity)) !important; +} + +.bg-success { + --bs-bg-opacity: 1; + background-color: hsla(var(--bs-success-hsl), var(--bs-bg-opacity)) !important; +} + +.bg-info { + --bs-bg-opacity: 1; + background-color: hsla(var(--bs-info-hsl), var(--bs-bg-opacity)) !important; +} + +.bg-warning { + --bs-bg-opacity: 1; + background-color: hsla(var(--bs-warning-hsl), var(--bs-bg-opacity)) !important; +} + +.bg-danger { + --bs-bg-opacity: 1; + background-color: hsla(var(--bs-danger-hsl), var(--bs-bg-opacity)) !important; +} + +.bg-light { + --bs-bg-opacity: 1; + background-color: hsla(var(--bs-light-hsl), var(--bs-bg-opacity)) !important; +} + +.bg-dark { + --bs-bg-opacity: 1; + background-color: hsla(var(--bs-dark-hsl), var(--bs-bg-opacity)) !important; +} + +.bg-black { + --bs-bg-opacity: 1; + background-color: hsla(var(--bs-black-hsl), var(--bs-bg-opacity)) !important; +} + +.bg-white { + --bs-bg-opacity: 1; + background-color: hsla(var(--bs-white-hsl), var(--bs-bg-opacity)) !important; +} + +.bg-body { + --bs-bg-opacity: 1; + background-color: hsla(var(--bs-body-bg-hsl), var(--bs-bg-opacity)) !important; +} + +.bg-transparent { + --bs-bg-opacity: 1; + background-color: transparent !important; +} + +.bg-body-secondary { + --bs-bg-opacity: 1; + background-color: hsla(var(--bs-secondary-bg-hsl), var(--bs-bg-opacity)) !important; +} + +.bg-body-tertiary { + --bs-bg-opacity: 1; + background-color: hsla(var(--bs-tertiary-bg-hsl), var(--bs-bg-opacity)) !important; +} + +.bg-body-emphasis { + --bs-bg-opacity: 1; + background-color: hsla(var(--bs-emphasis-bg-hsl), var(--bs-bg-opacity)) !important; +} + +.bg-opacity-10 { + --bs-bg-opacity: 0.1; +} + +.bg-opacity-25 { + --bs-bg-opacity: 0.25; +} + +.bg-opacity-50 { + --bs-bg-opacity: 0.5; +} + +.bg-opacity-75 { + --bs-bg-opacity: 0.75; +} + +.bg-opacity-100 { + --bs-bg-opacity: 1; +} + +.bg-primary-subtle { + background-color: var(--bs-primary-bg-subtle) !important; +} + +.bg-secondary-subtle { + background-color: var(--bs-secondary-bg-subtle) !important; +} + +.bg-success-subtle { + background-color: var(--bs-success-bg-subtle) !important; +} + +.bg-info-subtle { + background-color: var(--bs-info-bg-subtle) !important; +} + +.bg-warning-subtle { + background-color: var(--bs-warning-bg-subtle) !important; +} + +.bg-danger-subtle { + background-color: var(--bs-danger-bg-subtle) !important; +} + +.bg-light-subtle { + background-color: var(--bs-light-bg-subtle) !important; +} + +.bg-dark-subtle { + background-color: var(--bs-dark-bg-subtle) !important; +} + +.bg-gradient { + background-image: var(--bs-gradient) !important; +} + +/** + * ---------------------------------------------------------------------------- + * [ Border utilities ] + * ---------------------------------------------------------------------------- + */ + +.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-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-end-0 { + border-left: 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-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important; +} + +.border-start-0 { + border-right: 0 !important; +} + +.border-primary { + --bs-border-opacity: 1; + border-color: hsla(var(--bs-primary-hsl), var(--bs-border-opacity)) !important; +} + +.border-secondary { + --bs-border-opacity: 1; + border-color: hsla(var(--bs-secondary-hsl), var(--bs-border-opacity)) !important; +} + +.border-success { + --bs-border-opacity: 1; + border-color: hsla(var(--bs-success-hsl), var(--bs-border-opacity)) !important; +} + +.border-info { + --bs-border-opacity: 1; + border-color: hsla(var(--bs-info-hsl), var(--bs-border-opacity)) !important; +} + +.border-warning { + --bs-border-opacity: 1; + border-color: hsla(var(--bs-warning-hsl), var(--bs-border-opacity)) !important; +} + +.border-danger { + --bs-border-opacity: 1; + border-color: hsla(var(--bs-danger-hsl), var(--bs-border-opacity)) !important; +} + +.border-light { + --bs-border-opacity: 1; + border-color: hsla(var(--bs-light-hsl), var(--bs-border-opacity)) !important; +} + +.border-dark { + --bs-border-opacity: 1; + border-color: hsla(var(--bs-dark-hsl), var(--bs-border-opacity)) !important; +} + +.border-black { + --bs-border-opacity: 1; + border-color: hsla(var(--bs-black-hsl), var(--bs-border-opacity)) !important; +} + +.border-white { + --bs-border-opacity: 1; + border-color: hsla(var(--bs-white-hsl), var(--bs-border-opacity)) !important; +} + +.border-primary-subtle { + border-color: var(--bs-primary-border-subtle) !important; +} + +.border-secondary-subtle { + border-color: var(--bs-secondary-border-subtle) !important; +} + +.border-success-subtle { + border-color: var(--bs-success-border-subtle) !important; +} + +.border-info-subtle { + border-color: var(--bs-info-border-subtle) !important; +} + +.border-warning-subtle { + border-color: var(--bs-warning-border-subtle) !important; +} + +.border-danger-subtle { + border-color: var(--bs-danger-border-subtle) !important; +} + +.border-light-subtle { + border-color: var(--bs-light-border-subtle) !important; +} + +.border-dark-subtle { + border-color: var(--bs-dark-border-subtle) !important; +} + +.border-1 { + border-width: var(--bs-border-width-1) !important; +} + +.border-2 { + border-width: var(--bs-border-width-2) !important; +} + +.border-3 { + border-width: var(--bs-border-width-3) !important; +} + +.border-4 { + border-width: var(--bs-border-width-4) !important; +} + +.border-5 { + border-width: var(--bs-border-width-5) !important; +} + +.border-opacity-10 { + --bs-border-opacity: 0.1; +} + +.border-opacity-25 { + --bs-border-opacity: 0.25; +} + +.border-opacity-50 { + --bs-border-opacity: 0.5; +} + +.border-opacity-75 { + --bs-border-opacity: 0.75; +} + +.border-opacity-100 { + --bs-border-opacity: 1; +} + +.rounded { + border-radius: var(--bs-border-radius) !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.rounded-1 { + border-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-2 { + border-radius: var(--bs-border-radius) !important; +} + +.rounded-3 { + border-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-4 { + border-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-5 { + border-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-pill { + border-radius: var(--bs-border-radius-pill) !important; +} + +.rounded-top { + border-top-right-radius: var(--bs-border-radius) !important; + border-top-left-radius: var(--bs-border-radius) !important; +} + +.rounded-top-0 { + border-top-right-radius: 0 !important; + border-top-left-radius: 0 !important; +} + +.rounded-top-1 { + border-top-right-radius: var(--bs-border-radius-sm) !important; + border-top-left-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-top-2 { + border-top-right-radius: var(--bs-border-radius) !important; + border-top-left-radius: var(--bs-border-radius) !important; +} + +.rounded-top-3 { + border-top-right-radius: var(--bs-border-radius-lg) !important; + border-top-left-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-top-4 { + border-top-right-radius: var(--bs-border-radius-xl) !important; + border-top-left-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-top-5 { + border-top-right-radius: var(--bs-border-radius-xxl) !important; + border-top-left-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-top-circle { + border-top-right-radius: 50% !important; + border-top-left-radius: 50% !important; +} + +.rounded-top-pill { + border-top-right-radius: var(--bs-border-radius-pill) !important; + border-top-left-radius: var(--bs-border-radius-pill) !important; +} + +.rounded-end { + border-top-left-radius: var(--bs-border-radius) !important; + border-bottom-left-radius: var(--bs-border-radius) !important; +} + +.rounded-end-0 { + border-top-left-radius: 0 !important; + border-bottom-left-radius: 0 !important; +} + +.rounded-end-1 { + border-top-left-radius: var(--bs-border-radius-sm) !important; + border-bottom-left-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-end-2 { + border-top-left-radius: var(--bs-border-radius) !important; + border-bottom-left-radius: var(--bs-border-radius) !important; +} + +.rounded-end-3 { + border-top-left-radius: var(--bs-border-radius-lg) !important; + border-bottom-left-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-end-4 { + border-top-left-radius: var(--bs-border-radius-xl) !important; + border-bottom-left-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-end-5 { + border-top-left-radius: var(--bs-border-radius-xxl) !important; + border-bottom-left-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-end-circle { + border-top-left-radius: 50% !important; + border-bottom-left-radius: 50% !important; +} + +.rounded-end-pill { + border-top-left-radius: var(--bs-border-radius-pill) !important; + border-bottom-left-radius: var(--bs-border-radius-pill) !important; +} + +.rounded-bottom { + border-bottom-left-radius: var(--bs-border-radius) !important; + border-bottom-right-radius: var(--bs-border-radius) !important; +} + +.rounded-bottom-0 { + border-bottom-left-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} + +.rounded-bottom-1 { + border-bottom-left-radius: var(--bs-border-radius-sm) !important; + border-bottom-right-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-bottom-2 { + border-bottom-left-radius: var(--bs-border-radius) !important; + border-bottom-right-radius: var(--bs-border-radius) !important; +} + +.rounded-bottom-3 { + border-bottom-left-radius: var(--bs-border-radius-lg) !important; + border-bottom-right-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-bottom-4 { + border-bottom-left-radius: var(--bs-border-radius-xl) !important; + border-bottom-right-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-bottom-5 { + border-bottom-left-radius: var(--bs-border-radius-xxl) !important; + border-bottom-right-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-bottom-circle { + border-bottom-left-radius: 50% !important; + border-bottom-right-radius: 50% !important; +} + +.rounded-bottom-pill { + border-bottom-left-radius: var(--bs-border-radius-pill) !important; + border-bottom-right-radius: var(--bs-border-radius-pill) !important; +} + +.rounded-start { + border-bottom-right-radius: var(--bs-border-radius) !important; + border-top-right-radius: var(--bs-border-radius) !important; +} + +.rounded-start-0 { + border-bottom-right-radius: 0 !important; + border-top-right-radius: 0 !important; +} + +.rounded-start-1 { + border-bottom-right-radius: var(--bs-border-radius-sm) !important; + border-top-right-radius: var(--bs-border-radius-sm) !important; +} + +.rounded-start-2 { + border-bottom-right-radius: var(--bs-border-radius) !important; + border-top-right-radius: var(--bs-border-radius) !important; +} + +.rounded-start-3 { + border-bottom-right-radius: var(--bs-border-radius-lg) !important; + border-top-right-radius: var(--bs-border-radius-lg) !important; +} + +.rounded-start-4 { + border-bottom-right-radius: var(--bs-border-radius-xl) !important; + border-top-right-radius: var(--bs-border-radius-xl) !important; +} + +.rounded-start-5 { + border-bottom-right-radius: var(--bs-border-radius-xxl) !important; + border-top-right-radius: var(--bs-border-radius-xxl) !important; +} + +.rounded-start-circle { + border-bottom-right-radius: 50% !important; + border-top-right-radius: 50% !important; +} + +.rounded-start-pill { + border-bottom-right-radius: var(--bs-border-radius-pill) !important; + border-top-right-radius: var(--bs-border-radius-pill) !important; +} + +/** + * ---------------------------------------------------------------------------- + * [ Box shadow utilities ] + * ---------------------------------------------------------------------------- + */ + +.shadow { + box-shadow: var(--bs-box-shadow) !important; +} + +.shadow-sm { + box-shadow: var(--bs-box-shadow-sm) !important; +} + +.shadow-lg { + box-shadow: var(--bs-box-shadow-lg) !important; +} + +.shadow-none { + box-shadow: none !important; +} + +/** + * ---------------------------------------------------------------------------- + * [ Color utilities ] + * ---------------------------------------------------------------------------- + */ + +.text-primary { + --bs-text-opacity: 1; + color: hsla(var(--bs-primary-hsl), var(--bs-text-opacity)) !important; +} + +.text-secondary { + --bs-text-opacity: 1; + color: hsla(var(--bs-secondary-hsl), var(--bs-text-opacity)) !important; +} + +.text-success { + --bs-text-opacity: 1; + color: hsla(var(--bs-success-hsl), var(--bs-text-opacity)) !important; +} + +.text-info { + --bs-text-opacity: 1; + color: hsla(var(--bs-info-hsl), var(--bs-text-opacity)) !important; +} + +.text-warning { + --bs-text-opacity: 1; + color: hsla(var(--bs-warning-hsl), var(--bs-text-opacity)) !important; +} + +.text-danger { + --bs-text-opacity: 1; + color: hsla(var(--bs-danger-hsl), var(--bs-text-opacity)) !important; +} + +.text-light { + --bs-text-opacity: 1; + color: hsla(var(--bs-light-hsl), var(--bs-text-opacity)) !important; +} + +.text-dark { + --bs-text-opacity: 1; + color: hsla(var(--bs-dark-hsl), var(--bs-text-opacity)) !important; +} + +.text-black { + --bs-text-opacity: 1; + color: hsla(var(--bs-black-hsl), var(--bs-text-opacity)) !important; +} + +.text-white { + --bs-text-opacity: 1; + color: hsla(var(--bs-white-hsl), var(--bs-text-opacity)) !important; +} + +.text-body { + --bs-text-opacity: 1; + color: hsla(var(--bs-body-color-hsl), var(--bs-text-opacity)) !important; +} + +.text-muted { + --bs-text-opacity: 1; + color: var(--bs-secondary-color) !important; +} + +.text-black-50 { + --bs-text-opacity: 1; + color: hsla(var(--bs-black-hsl), 0.5) !important; +} + +.text-white-50 { + --bs-text-opacity: 1; + color: hsla(var(--bs-white-hsl), 0.5) !important; +} + +.text-body-secondary { + --bs-text-opacity: 1; + color: var(--bs-secondary-color) !important; +} + +.text-body-tertiary { + --bs-text-opacity: 1; + color: var(--bs-tertiary-color) !important; +} + +.text-body-emphasis { + --bs-text-opacity: 1; + color: var(--bs-emphasis-color) !important; +} + +.text-reset { + --bs-text-opacity: 1; + color: inherit !important; +} + +.text-opacity-25 { + --bs-text-opacity: 0.25; +} + +.text-opacity-50 { + --bs-text-opacity: 0.5; +} + +.text-opacity-75 { + --bs-text-opacity: 0.75; +} + +.text-opacity-100 { + --bs-text-opacity: 1; +} + +.text-primary-emphasis { + color: var(--bs-primary-text-emphasis) !important; +} + +.text-secondary-emphasis { + color: var(--bs-secondary-text-emphasis) !important; +} + +.text-success-emphasis { + color: var(--bs-success-text-emphasis) !important; +} + +.text-info-emphasis { + color: var(--bs-info-text-emphasis) !important; +} + +.text-warning-emphasis { + color: var(--bs-warning-text-emphasis) !important; +} + +.text-danger-emphasis { + color: var(--bs-danger-text-emphasis) !important; +} + +.text-light-emphasis { + color: var(--bs-light-text-emphasis) !important; +} + +.text-dark-emphasis { + color: var(--bs-dark-text-emphasis) !important; +} + +/** + * ---------------------------------------------------------------------------- + * [ Display utilities ] + * ---------------------------------------------------------------------------- + */ + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-grid { + display: grid !important; +} + +.d-inline-grid { + display: inline-grid !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +.d-none { + display: none !important; +} + +@media (min-width: 576px) { + .d-sm-inline { + display: inline !important; + } + + .d-sm-inline-block { + display: inline-block !important; + } + + .d-sm-block { + display: block !important; + } + + .d-sm-grid { + display: grid !important; + } + + .d-sm-inline-grid { + display: inline-grid !important; + } + + .d-sm-table { + display: table !important; + } + + .d-sm-table-row { + display: table-row !important; + } + + .d-sm-table-cell { + display: table-cell !important; + } + + .d-sm-flex { + display: flex !important; + } + + .d-sm-inline-flex { + display: inline-flex !important; + } + + .d-sm-none { + display: none !important; + } +} + +@media (min-width: 768px) { + .d-md-inline { + display: inline !important; + } + + .d-md-inline-block { + display: inline-block !important; + } + + .d-md-block { + display: block !important; + } + + .d-md-grid { + display: grid !important; + } + + .d-md-inline-grid { + display: inline-grid !important; + } + + .d-md-table { + display: table !important; + } + + .d-md-table-row { + display: table-row !important; + } + + .d-md-table-cell { + display: table-cell !important; + } + + .d-md-flex { + display: flex !important; + } + + .d-md-inline-flex { + display: inline-flex !important; + } + + .d-md-none { + display: none !important; + } +} + +@media (min-width: 992px) { + .d-lg-inline { + display: inline !important; + } + + .d-lg-inline-block { + display: inline-block !important; + } + + .d-lg-block { + display: block !important; + } + + .d-lg-grid { + display: grid !important; + } + + .d-lg-inline-grid { + display: inline-grid !important; + } + + .d-lg-table { + display: table !important; + } + + .d-lg-table-row { + display: table-row !important; + } + + .d-lg-table-cell { + display: table-cell !important; + } + + .d-lg-flex { + display: flex !important; + } + + .d-lg-inline-flex { + display: inline-flex !important; + } + + .d-lg-none { + display: none !important; + } +} + +@media (min-width: 1200px) { + .d-xl-inline { + display: inline !important; + } + + .d-xl-inline-block { + display: inline-block !important; + } + + .d-xl-block { + display: block !important; + } + + .d-xl-grid { + display: grid !important; + } + + .d-xl-inline-grid { + display: inline-grid !important; + } + + .d-xl-table { + display: table !important; + } + + .d-xl-table-row { + display: table-row !important; + } + + .d-xl-table-cell { + display: table-cell !important; + } + + .d-xl-flex { + display: flex !important; + } + + .d-xl-inline-flex { + display: inline-flex !important; + } + + .d-xl-none { + display: none !important; + } +} + +@media (min-width: 1400px) { + .d-xxl-inline { + display: inline !important; + } + + .d-xxl-inline-block { + display: inline-block !important; + } + + .d-xxl-block { + display: block !important; + } + + .d-xxl-grid { + display: grid !important; + } + + .d-xxl-inline-grid { + display: inline-grid !important; + } + + .d-xxl-table { + display: table !important; + } + + .d-xxl-table-row { + display: table-row !important; + } + + .d-xxl-table-cell { + display: table-cell !important; + } + + .d-xxl-flex { + display: flex !important; + } + + .d-xxl-inline-flex { + display: inline-flex !important; + } + + .d-xxl-none { + display: none !important; + } +} + +@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; + } +} + +/** + * ---------------------------------------------------------------------------- + * [ Flex utilities ] + * ---------------------------------------------------------------------------- + */ + +.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; +} + +@media (min-width: 576px) { + .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; + } +} + +@media (min-width: 768px) { + .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; + } +} + +@media (min-width: 992px) { + .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; + } +} + +@media (min-width: 1200px) { + .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; + } +} + +@media (min-width: 1400px) { + .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; + } +} + +/** + * ---------------------------------------------------------------------------- + * [ Float utilities ] + * ---------------------------------------------------------------------------- + */ + +.float-start { + float: right !important; +} + +.float-end { + float: left !important; +} + +.float-none { + float: none !important; +} + +@media (min-width: 576px) { + .float-sm-start { + float: right !important; + } + + .float-sm-end { + float: left !important; + } + + .float-sm-none { + float: none !important; + } +} + +@media (min-width: 768px) { + .float-md-start { + float: right !important; + } + + .float-md-end { + float: left !important; + } + + .float-md-none { + float: none !important; + } +} + +@media (min-width: 992px) { + .float-lg-start { + float: right !important; + } + + .float-lg-end { + float: left !important; + } + + .float-lg-none { + float: none !important; + } +} + +@media (min-width: 1200px) { + .float-xl-start { + float: right !important; + } + + .float-xl-end { + float: left !important; + } + + .float-xl-none { + float: none !important; + } +} + +@media (min-width: 1400px) { + .float-xxl-start { + float: right !important; + } + + .float-xxl-end { + float: left !important; + } + + .float-xxl-none { + float: none !important; + } +} + +/** + * ---------------------------------------------------------------------------- + * [ Interaction utilities ] + * ---------------------------------------------------------------------------- + */ + +.user-select-all { + -webkit-user-select: all !important; + -moz-user-select: all !important; + user-select: all !important; +} + +.user-select-auto { + -webkit-user-select: auto !important; + -moz-user-select: auto !important; + user-select: auto !important; +} + +.user-select-none { + -webkit-user-select: none !important; + -moz-user-select: none !important; + user-select: none !important; +} + +.pe-none { + pointer-events: none !important; +} + +.pe-auto { + pointer-events: auto !important; +} + +/** + * ---------------------------------------------------------------------------- + * [ Link utilities ] + * ---------------------------------------------------------------------------- + */ + +.link-opacity-10 { + --bs-link-opacity: 0.1; +} + +.link-opacity-10-hover:hover { + --bs-link-opacity: 0.1; +} + +.link-opacity-25 { + --bs-link-opacity: 0.25; +} + +.link-opacity-25-hover:hover { + --bs-link-opacity: 0.25; +} + +.link-opacity-50 { + --bs-link-opacity: 0.5; +} + +.link-opacity-50-hover:hover { + --bs-link-opacity: 0.5; +} + +.link-opacity-75 { + --bs-link-opacity: 0.75; +} + +.link-opacity-75-hover:hover { + --bs-link-opacity: 0.75; +} + +.link-opacity-100 { + --bs-link-opacity: 1; +} + +.link-opacity-100-hover:hover { + --bs-link-opacity: 1; +} + +.link-offset-1 { + text-underline-offset: var(--bs-relative-font-size-6xs) !important; +} + +.link-offset-1-hover:hover { + text-underline-offset: var(--bs-relative-font-size-6xs) !important; +} + +.link-offset-2 { + text-underline-offset: var(--bs-relative-font-size-4xs) !important; +} + +.link-offset-2-hover:hover { + text-underline-offset: var(--bs-relative-font-size-4xs) !important; +} + +.link-offset-3 { + text-underline-offset: var(--bs-relative-font-size-3xs) !important; +} + +.link-offset-3-hover:hover { + text-underline-offset: var(--bs-relative-font-size-3xs) !important; +} + +.link-underline-primary { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: hsla(var(--bs-primary-hsl), var(--bs-link-underline-opacity)) !important; + text-decoration-color: hsla(var(--bs-primary-hsl), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-secondary { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: hsla(var(--bs-secondary-hsl), var(--bs-link-underline-opacity)) !important; + text-decoration-color: hsla(var(--bs-secondary-hsl), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-success { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: hsla(var(--bs-success-hsl), var(--bs-link-underline-opacity)) !important; + text-decoration-color: hsla(var(--bs-success-hsl), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-info { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: hsla(var(--bs-info-hsl), var(--bs-link-underline-opacity)) !important; + text-decoration-color: hsla(var(--bs-info-hsl), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-warning { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: hsla(var(--bs-warning-hsl), var(--bs-link-underline-opacity)) !important; + text-decoration-color: hsla(var(--bs-warning-hsl), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-danger { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: hsla(var(--bs-danger-hsl), var(--bs-link-underline-opacity)) !important; + text-decoration-color: hsla(var(--bs-danger-hsl), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-light { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: hsla(var(--bs-light-hsl), var(--bs-link-underline-opacity)) !important; + text-decoration-color: hsla(var(--bs-light-hsl), var(--bs-link-underline-opacity)) !important; +} + +.link-underline-dark { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: hsla(var(--bs-dark-hsl), var(--bs-link-underline-opacity)) !important; + text-decoration-color: hsla(var(--bs-dark-hsl), var(--bs-link-underline-opacity)) !important; +} + +.link-underline { + --bs-link-underline-opacity: 1; + -webkit-text-decoration-color: hsla(var(--bs-link-color-hsl), var(--bs-link-underline-opacity, 1)) !important; + text-decoration-color: hsla(var(--bs-link-color-hsl), var(--bs-link-underline-opacity, 1)) !important; +} + +.link-underline-opacity-0 { + --bs-link-underline-opacity: 0; +} + +.link-underline-opacity-0-hover:hover { + --bs-link-underline-opacity: 0; +} + +.link-underline-opacity-10 { + --bs-link-underline-opacity: 0.1; +} + +.link-underline-opacity-10-hover:hover { + --bs-link-underline-opacity: 0.1; +} + +.link-underline-opacity-25 { + --bs-link-underline-opacity: 0.25; +} + +.link-underline-opacity-25-hover:hover { + --bs-link-underline-opacity: 0.25; +} + +.link-underline-opacity-50 { + --bs-link-underline-opacity: 0.5; +} + +.link-underline-opacity-50-hover:hover { + --bs-link-underline-opacity: 0.5; +} + +.link-underline-opacity-75 { + --bs-link-underline-opacity: 0.75; +} + +.link-underline-opacity-75-hover:hover { + --bs-link-underline-opacity: 0.75; +} + +.link-underline-opacity-100 { + --bs-link-underline-opacity: 1; +} + +.link-underline-opacity-100-hover:hover { + --bs-link-underline-opacity: 1; +} + +/** + * ---------------------------------------------------------------------------- + * [ Object fit utilities ] + * ---------------------------------------------------------------------------- + */ + +.object-fit-contain { + object-fit: contain !important; +} + +.object-fit-cover { + object-fit: cover !important; +} + +.object-fit-fill { + object-fit: fill !important; +} + +.object-fit-scale { + object-fit: scale-down !important; +} + +.object-fit-none { + object-fit: none !important; +} + + +@media (min-width: 576px) { + .object-fit-sm-contain { + object-fit: contain !important; + } + + .object-fit-sm-cover { + object-fit: cover !important; + } + + .object-fit-sm-fill { + object-fit: fill !important; + } + + .object-fit-sm-scale { + object-fit: scale-down !important; + } + + .object-fit-sm-none { + object-fit: none !important; + } +} + +@media (min-width: 768px) { + .object-fit-md-contain { + object-fit: contain !important; + } + + .object-fit-md-cover { + object-fit: cover !important; + } + + .object-fit-md-fill { + object-fit: fill !important; + } + + .object-fit-md-scale { + object-fit: scale-down !important; + } + + .object-fit-md-none { + object-fit: none !important; + } +} + +@media (min-width: 992px) { + .object-fit-lg-contain { + object-fit: contain !important; + } + + .object-fit-lg-cover { + object-fit: cover !important; + } + + .object-fit-lg-fill { + object-fit: fill !important; + } + + .object-fit-lg-scale { + object-fit: scale-down !important; + } + + .object-fit-lg-none { + object-fit: none !important; + } +} + +@media (min-width: 1200px) { + .object-fit-xl-contain { + object-fit: contain !important; + } + + .object-fit-xl-cover { + object-fit: cover !important; + } + + .object-fit-xl-fill { + object-fit: fill !important; + } + + .object-fit-xl-scale { + object-fit: scale-down !important; + } + + .object-fit-xl-none { + object-fit: none !important; + } +} + +@media (min-width: 1400px) { + .object-fit-xxl-contain { + object-fit: contain !important; + } + + .object-fit-xxl-cover { + object-fit: cover !important; + } + + .object-fit-xxl-fill { + object-fit: fill !important; + } + + .object-fit-xxl-scale { + object-fit: scale-down !important; + } + + .object-fit-xxl-none { + object-fit: none !important; + } +} + +/** + * ---------------------------------------------------------------------------- + * [ Opacity utilities ] + * ---------------------------------------------------------------------------- + */ + +.opacity-0 { + opacity: 0 !important; +} + +.opacity-25 { + opacity: 0.25 !important; +} + +.opacity-50 { + opacity: 0.5 !important; +} + +.opacity-75 { + opacity: 0.75 !important; +} + +.opacity-100 { + opacity: 1 !important; +} + +/** + * ---------------------------------------------------------------------------- + * [ Overflow utilities ] + * ---------------------------------------------------------------------------- + */ + +.overflow-auto { + overflow: auto !important; +} + +.overflow-hidden { + overflow: hidden !important; +} + +.overflow-visible { + overflow: visible !important; +} + +.overflow-scroll { + overflow: scroll !important; +} + +.overflow-x-auto { + overflow-x: auto !important; +} + +.overflow-x-hidden { + overflow-x: hidden !important; +} + +.overflow-x-visible { + overflow-x: visible !important; +} + +.overflow-x-scroll { + overflow-x: scroll !important; +} + +.overflow-y-auto { + overflow-y: auto !important; +} + +.overflow-y-hidden { + overflow-y: hidden !important; +} + +.overflow-y-visible { + overflow-y: visible !important; +} + +.overflow-y-scroll { + overflow-y: scroll !important; +} + +@media (min-width: 576px) { + .overflow-sm-auto { + overflow: auto !important; + } + + .overflow-sm-hidden { + overflow: hidden !important; + } + + .overflow-sm-visible { + overflow: visible !important; + } + + .overflow-sm-scroll { + overflow: scroll !important; + } + + .overflow-x-sm-auto { + overflow-x: auto !important; + } + + .overflow-x-sm-hidden { + overflow-x: hidden !important; + } + + .overflow-x-sm-visible { + overflow-x: visible !important; + } + + .overflow-x-sm-scroll { + overflow-x: scroll !important; + } + + .overflow-y-sm-auto { + overflow-y: auto !important; + } + + .overflow-y-sm-hidden { + overflow-y: hidden !important; + } + + .overflow-y-sm-visible { + overflow-y: visible !important; + } + + .overflow-y-sm-scroll { + overflow-y: scroll !important; + } +} + +@media (min-width: 768px) { + .overflow-md-auto { + overflow: auto !important; + } + + .overflow-md-hidden { + overflow: hidden !important; + } + + .overflow-md-visible { + overflow: visible !important; + } + + .overflow-md-scroll { + overflow: scroll !important; + } + + .overflow-x-md-auto { + overflow-x: auto !important; + } + + .overflow-x-md-hidden { + overflow-x: hidden !important; + } + + .overflow-x-md-visible { + overflow-x: visible !important; + } + + .overflow-x-md-scroll { + overflow-x: scroll !important; + } + + .overflow-y-md-auto { + overflow-y: auto !important; + } + + .overflow-y-md-hidden { + overflow-y: hidden !important; + } + + .overflow-y-md-visible { + overflow-y: visible !important; + } + + .overflow-y-md-scroll { + overflow-y: scroll !important; + } +} + +@media (min-width: 992px) { + .overflow-lg-auto { + overflow: auto !important; + } + + .overflow-lg-hidden { + overflow: hidden !important; + } + + .overflow-lg-visible { + overflow: visible !important; + } + + .overflow-lg-scroll { + overflow: scroll !important; + } + + .overflow-x-lg-auto { + overflow-x: auto !important; + } + + .overflow-x-lg-hidden { + overflow-x: hidden !important; + } + + .overflow-x-lg-visible { + overflow-x: visible !important; + } + + .overflow-x-lg-scroll { + overflow-x: scroll !important; + } + + .overflow-y-lg-auto { + overflow-y: auto !important; + } + + .overflow-y-lg-hidden { + overflow-y: hidden !important; + } + + .overflow-y-lg-visible { + overflow-y: visible !important; + } + + .overflow-y-lg-scroll { + overflow-y: scroll !important; + } +} + +@media (min-width: 1200px) { + .overflow-xl-auto { + overflow: auto !important; + } + + .overflow-xl-hidden { + overflow: hidden !important; + } + + .overflow-xl-visible { + overflow: visible !important; + } + + .overflow-xl-scroll { + overflow: scroll !important; + } + + .overflow-x-xl-auto { + overflow-x: auto !important; + } + + .overflow-x-xl-hidden { + overflow-x: hidden !important; + } + + .overflow-x-xl-visible { + overflow-x: visible !important; + } + + .overflow-x-xl-scroll { + overflow-x: scroll !important; + } + + .overflow-y-xl-auto { + overflow-y: auto !important; + } + + .overflow-y-xl-hidden { + overflow-y: hidden !important; + } + + .overflow-y-xl-visible { + overflow-y: visible !important; + } + + .overflow-y-xl-scroll { + overflow-y: scroll !important; + } +} + +@media (min-width: 1400px) { + .overflow-xxl-auto { + overflow: auto !important; + } + + .overflow-xxl-hidden { + overflow: hidden !important; + } + + .overflow-xxl-visible { + overflow: visible !important; + } + + .overflow-xxl-scroll { + overflow: scroll !important; + } + + .overflow-x-xxl-auto { + overflow-x: auto !important; + } + + .overflow-x-xxl-hidden { + overflow-x: hidden !important; + } + + .overflow-x-xxl-visible { + overflow-x: visible !important; + } + + .overflow-x-xxl-scroll { + overflow-x: scroll !important; + } + + .overflow-y-xxl-auto { + overflow-y: auto !important; + } + + .overflow-y-xxl-hidden { + overflow-y: hidden !important; + } + + .overflow-y-xxl-visible { + overflow-y: visible !important; + } + + .overflow-y-xxl-scroll { + overflow-y: scroll !important; + } +} + +/** + * ---------------------------------------------------------------------------- + * [ Position utilities ] + * ---------------------------------------------------------------------------- + */ + +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-sticky { + position: -webkit-sticky !important; + position: sticky !important; +} + +.top-0 { + top: 0 !important; +} + +.top-50 { + top: 50% !important; +} + +.top-100 { + top: 100% !important; +} + +.bottom-0 { + bottom: 0 !important; +} + +.bottom-50 { + bottom: 50% !important; +} + +.bottom-100 { + bottom: 100% !important; +} + +.start-0 { + right: 0 !important; +} + +.start-50 { + right: 50% !important; +} + +.start-100 { + right: 100% !important; +} + +.end-0 { + left: 0 !important; +} + +.end-50 { + left: 50% !important; +} + +.end-100 { + left: 100% !important; +} + +.translate-middle { + transform: translate(50%, -50%) !important; +} + +.translate-middle-x { + transform: translateX(50%) !important; +} + +.translate-middle-y { + transform: translateY(-50%) !important; +} + +@media (min-width: 576px) { + .position-sm-static { + position: static !important; + } + + .position-sm-relative { + position: relative !important; + } + + .position-sm-absolute { + position: absolute !important; + } + + .position-sm-fixed { + position: fixed !important; + } + + .position-sm-sticky { + position: -webkit-sticky !important; + position: sticky !important; + } + + .top-sm-0 { + top: 0 !important; + } + + .top-sm-50 { + top: 50% !important; + } + + .top-sm-100 { + top: 100% !important; + } + + .bottom-sm-0 { + bottom: 0 !important; + } + + .bottom-sm-50 { + bottom: 50% !important; + } + + .bottom-sm-100 { + bottom: 100% !important; + } + + .start-sm-0 { + right: 0 !important; + } + + .start-sm-50 { + right: 50% !important; + } + + .start-sm-100 { + right: 100% !important; + } + + .end-sm-0 { + left: 0 !important; + } + + .end-sm-50 { + left: 50% !important; + } + + .end-sm-100 { + left: 100% !important; + } + + .translate-middle-sm { + transform: translate(50%, -50%) !important; + } + + .translate-middle-sm-x { + transform: translateX(50%) !important; + } + + .translate-middle-sm-y { + transform: translateY(-50%) !important; + } +} + +@media (min-width: 768px) { + .position-md-static { + position: static !important; + } + + .position-md-relative { + position: relative !important; + } + + .position-md-absolute { + position: absolute !important; + } + + .position-md-fixed { + position: fixed !important; + } + + .position-md-sticky { + position: -webkit-sticky !important; + position: sticky !important; + } + + .top-md-0 { + top: 0 !important; + } + + .top-md-50 { + top: 50% !important; + } + + .top-md-100 { + top: 100% !important; + } + + .bottom-md-0 { + bottom: 0 !important; + } + + .bottom-md-50 { + bottom: 50% !important; + } + + .bottom-md-100 { + bottom: 100% !important; + } + + .start-md-0 { + right: 0 !important; + } + + .start-md-50 { + right: 50% !important; + } + + .start-md-100 { + right: 100% !important; + } + + .end-md-0 { + left: 0 !important; + } + + .end-md-50 { + left: 50% !important; + } + + .end-md-100 { + left: 100% !important; + } + + .translate-middle-md { + transform: translate(50%, -50%) !important; + } + + .translate-middle-md-x { + transform: translateX(50%) !important; + } + + .translate-middle-md-y { + transform: translateY(-50%) !important; + } +} + +@media (min-width: 992px) { + .position-lg-static { + position: static !important; + } + + .position-lg-relative { + position: relative !important; + } + + .position-lg-absolute { + position: absolute !important; + } + + .position-lg-fixed { + position: fixed !important; + } + + .position-lg-sticky { + position: -webkit-sticky !important; + position: sticky !important; + } + + .top-lg-0 { + top: 0 !important; + } + + .top-lg-50 { + top: 50% !important; + } + + .top-lg-100 { + top: 100% !important; + } + + .bottom-lg-0 { + bottom: 0 !important; + } + + .bottom-lg-50 { + bottom: 50% !important; + } + + .bottom-lg-100 { + bottom: 100% !important; + } + + .start-lg-0 { + right: 0 !important; + } + + .start-lg-50 { + right: 50% !important; + } + + .start-lg-100 { + right: 100% !important; + } + + .end-lg-0 { + left: 0 !important; + } + + .end-lg-50 { + left: 50% !important; + } + + .end-lg-100 { + left: 100% !important; + } + + .translate-middle-lg { + transform: translate(50%, -50%) !important; + } + + .translate-middle-lg-x { + transform: translateX(50%) !important; + } + + .translate-middle-lg-y { + transform: translateY(-50%) !important; + } +} + +@media (min-width: 1200px) { + .position-xl-static { + position: static !important; + } + + .position-xl-relative { + position: relative !important; + } + + .position-xl-absolute { + position: absolute !important; + } + + .position-xl-fixed { + position: fixed !important; + } + + .position-xl-sticky { + position: -webkit-sticky !important; + position: sticky !important; + } + + .top-xl-0 { + top: 0 !important; + } + + .top-xl-50 { + top: 50% !important; + } + + .top-xl-100 { + top: 100% !important; + } + + .bottom-xl-0 { + bottom: 0 !important; + } + + .bottom-xl-50 { + bottom: 50% !important; + } + + .bottom-xl-100 { + bottom: 100% !important; + } + + .start-xl-0 { + right: 0 !important; + } + + .start-xl-50 { + right: 50% !important; + } + + .start-xl-100 { + right: 100% !important; + } + + .end-xl-0 { + left: 0 !important; + } + + .end-xl-50 { + left: 50% !important; + } + + .end-xl-100 { + left: 100% !important; + } + + .translate-middle-xl { + transform: translate(50%, -50%) !important; + } + + .translate-middle-xl-x { + transform: translateX(50%) !important; + } + + .translate-middle-xl-y { + transform: translateY(-50%) !important; + } +} + +@media (min-width: 1400px) { + .position-xxl-static { + position: static !important; + } + + .position-xxl-relative { + position: relative !important; + } + + .position-xxl-absolute { + position: absolute !important; + } + + .position-xxl-fixed { + position: fixed !important; + } + + .position-xxl-sticky { + position: -webkit-sticky !important; + position: sticky !important; + } + + .top-xxl-0 { + top: 0 !important; + } + + .top-xxl-50 { + top: 50% !important; + } + + .top-xxl-100 { + top: 100% !important; + } + + .bottom-xxl-0 { + bottom: 0 !important; + } + + .bottom-xxl-50 { + bottom: 50% !important; + } + + .bottom-xxl-100 { + bottom: 100% !important; + } + + .start-xxl-0 { + right: 0 !important; + } + + .start-xxl-50 { + right: 50% !important; + } + + .start-xxl-100 { + right: 100% !important; + } + + .end-xxl-0 { + left: 0 !important; + } + + .end-xxl-50 { + left: 50% !important; + } + + .end-xxl-100 { + left: 100% !important; + } + + .translate-middle-xxl { + transform: translate(50%, -50%) !important; + } + + .translate-middle-xxl-x { + transform: translateX(50%) !important; + } + + .translate-middle-xxl-y { + transform: translateY(-50%) !important; + } +} + +/** + * ---------------------------------------------------------------------------- + * [ Sizing utilities ] + * ---------------------------------------------------------------------------- + */ + +.specific-w-25 { + width: 1.5625rem !important; +} + +.specific-w-50 { + width: 3.125rem !important; +} + +.specific-w-75 { + width: 4.6875rem !important; +} + +.specific-w-100 { + width: 6.25rem !important; +} + +.specific-w-150 { + width: 9.375rem !important; +} + +.specific-w-200 { + width: 12.5rem !important; +} + +.specific-w-250 { + width: 15.625rem !important; +} + +.specific-w-300 { + width: 18.75rem !important; +} + +.specific-w-350 { + width: 21.875rem !important; +} + +.specific-w-400 { + width: 25rem !important; +} + +.specific-w-450 { + width: 28.125rem !important; +} + +.specific-w-500 { + width: 31.25rem !important; +} + +.specific-w-550 { + width: 34.375rem !important; +} + +.specific-w-600 { + width: 37.5rem !important; +} + +.w-auto { + width: auto !important; +} + +.w-25 { + width: 25% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +.mw-100 { + max-width: 100% !important; +} + +.vw-100 { + width: 100vw !important; +} + +.min-vw-100 { + min-width: 100vw !important; +} + +.specific-h-25 { + height: 1.5625rem !important; +} + +.specific-h-50 { + height: 3.125rem !important; +} + +.specific-h-75 { + height: 4.6875rem !important; +} + +.specific-h-100 { + height: 6.25rem !important; +} + +.specific-h-150 { + height: 9.375rem !important; +} + +.specific-h-200 { + height: 12.5rem !important; +} + +.specific-h-250 { + height: 15.625rem !important; +} + +.specific-h-300 { + height: 18.75rem !important; +} + +.specific-h-350 { + height: 21.875rem !important; +} + +.specific-h-400 { + height: 25rem !important; +} + +.specific-h-450 { + height: 28.125rem !important; +} + +.specific-h-500 { + height: 31.25rem !important; +} + +.specific-h-550 { + height: 34.375rem !important; +} + +.specific-h-600 { + height: 37.5rem !important; +} + +.h-auto { + height: auto !important; +} + +.h-25 { + height: 25% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +.mh-100 { + max-height: 100% !important; +} + +.vh-100 { + height: 100vh !important; +} + +.min-vh-100 { + min-height: 100vh !important; +} + +@media (min-width: 576px) { + .specific-w-sm-25 { + width: 1.5625rem !important; + } + + .specific-w-sm-50 { + width: 3.125rem !important; + } + + .specific-w-sm-75 { + width: 4.6875rem !important; + } + + .specific-w-sm-100 { + width: 6.25rem !important; + } + + .specific-w-sm-150 { + width: 9.375rem !important; + } + + .specific-w-sm-200 { + width: 12.5rem !important; + } + + .specific-w-sm-250 { + width: 15.625rem !important; + } + + .specific-w-sm-300 { + width: 18.75rem !important; + } + + .specific-w-sm-350 { + width: 21.875rem !important; + } + + .specific-w-sm-400 { + width: 25rem !important; + } + + .specific-w-sm-450 { + width: 28.125rem !important; + } + + .specific-w-sm-500 { + width: 31.25rem !important; + } + + .specific-w-sm-550 { + width: 34.375rem !important; + } + + .specific-w-sm-600 { + width: 37.5rem !important; + } + + .w-sm-auto { + width: auto !important; + } + + .w-sm-25 { + width: 25% !important; + } + + .w-sm-50 { + width: 50% !important; + } + + .w-sm-75 { + width: 75% !important; + } + + .w-sm-100 { + width: 100% !important; + } + + .mw-sm-100 { + max-width: 100% !important; + } + + .vw-sm-100 { + width: 100vw !important; + } + + .min-vw-sm-100 { + min-width: 100vw !important; + } + + .specific-h-sm-25 { + height: 1.5625rem !important; + } + + .specific-h-sm-50 { + height: 3.125rem !important; + } + + .specific-h-sm-75 { + height: 4.6875rem !important; + } + + .specific-h-sm-100 { + height: 6.25rem !important; + } + + .specific-h-sm-150 { + height: 9.375rem !important; + } + + .specific-h-sm-200 { + height: 12.5rem !important; + } + + .specific-h-sm-250 { + height: 15.625rem !important; + } + + .specific-h-sm-300 { + height: 18.75rem !important; + } + + .specific-h-sm-350 { + height: 21.875rem !important; + } + + .specific-h-sm-400 { + height: 25rem !important; + } + + .specific-h-sm-450 { + height: 28.125rem !important; + } + + .specific-h-sm-500 { + height: 31.25rem !important; + } + + .specific-h-sm-550 { + height: 34.375rem !important; + } + + .specific-h-sm-600 { + height: 37.5rem !important; + } + + .h-sm-auto { + height: auto !important; + } + + .h-sm-25 { + height: 25% !important; + } + + .h-sm-50 { + height: 50% !important; + } + + .h-sm-75 { + height: 75% !important; + } + + .h-sm-100 { + height: 100% !important; + } + + .mh-sm-100 { + max-height: 100% !important; + } + + .vh-sm-100 { + height: 100vh !important; + } + + .min-vh-sm-100 { + min-height: 100vh !important; + } +} + +@media (min-width: 768px) { + .specific-w-md-25 { + width: 1.5625rem !important; + } + + .specific-w-md-50 { + width: 3.125rem !important; + } + + .specific-w-md-75 { + width: 4.6875rem !important; + } + + .specific-w-md-100 { + width: 6.25rem !important; + } + + .specific-w-md-150 { + width: 9.375rem !important; + } + + .specific-w-md-200 { + width: 12.5rem !important; + } + + .specific-w-md-250 { + width: 15.625rem !important; + } + + .specific-w-md-300 { + width: 18.75rem !important; + } + + .specific-w-md-350 { + width: 21.875rem !important; + } + + .specific-w-md-400 { + width: 25rem !important; + } + + .specific-w-md-450 { + width: 28.125rem !important; + } + + .specific-w-md-500 { + width: 31.25rem !important; + } + + .specific-w-md-550 { + width: 34.375rem !important; + } + + .specific-w-md-600 { + width: 37.5rem !important; + } + + .w-md-auto { + width: auto !important; + } + + .w-md-25 { + width: 25% !important; + } + + .w-md-50 { + width: 50% !important; + } + + .w-md-75 { + width: 75% !important; + } + + .w-md-100 { + width: 100% !important; + } + + .mw-md-100 { + max-width: 100% !important; + } + + .vw-md-100 { + width: 100vw !important; + } + + .min-vw-md-100 { + min-width: 100vw !important; + } + + .specific-h-md-25 { + height: 1.5625rem !important; + } + + .specific-h-md-50 { + height: 3.125rem !important; + } + + .specific-h-md-75 { + height: 4.6875rem !important; + } + + .specific-h-md-100 { + height: 6.25rem !important; + } + + .specific-h-md-150 { + height: 9.375rem !important; + } + + .specific-h-md-200 { + height: 12.5rem !important; + } + + .specific-h-md-250 { + height: 15.625rem !important; + } + + .specific-h-md-300 { + height: 18.75rem !important; + } + + .specific-h-md-350 { + height: 21.875rem !important; + } + + .specific-h-md-400 { + height: 25rem !important; + } + + .specific-h-md-450 { + height: 28.125rem !important; + } + + .specific-h-md-500 { + height: 31.25rem !important; + } + + .specific-h-md-550 { + height: 34.375rem !important; + } + + .specific-h-md-600 { + height: 37.5rem !important; + } + + .h-md-auto { + height: auto !important; + } + + .h-md-25 { + height: 25% !important; + } + + .h-md-50 { + height: 50% !important; + } + + .h-md-75 { + height: 75% !important; + } + + .h-md-100 { + height: 100% !important; + } + + .mh-md-100 { + max-height: 100% !important; + } + + .vh-md-100 { + height: 100vh !important; + } + + .min-vh-md-100 { + min-height: 100vh !important; + } +} + +@media (min-width: 992px) { + .specific-w-lg-25 { + width: 1.5625rem !important; + } + + .specific-w-lg-50 { + width: 3.125rem !important; + } + + .specific-w-lg-75 { + width: 4.6875rem !important; + } + + .specific-w-lg-100 { + width: 6.25rem !important; + } + + .specific-w-lg-150 { + width: 9.375rem !important; + } + + .specific-w-lg-200 { + width: 12.5rem !important; + } + + .specific-w-lg-250 { + width: 15.625rem !important; + } + + .specific-w-lg-300 { + width: 18.75rem !important; + } + + .specific-w-lg-350 { + width: 21.875rem !important; + } + + .specific-w-lg-400 { + width: 25rem !important; + } + + .specific-w-lg-450 { + width: 28.125rem !important; + } + + .specific-w-lg-500 { + width: 31.25rem !important; + } + + .specific-w-lg-550 { + width: 34.375rem !important; + } + + .specific-w-lg-600 { + width: 37.5rem !important; + } + + .w-lg-auto { + width: auto !important; + } + + .w-lg-25 { + width: 25% !important; + } + + .w-lg-50 { + width: 50% !important; + } + + .w-lg-75 { + width: 75% !important; + } + + .w-lg-100 { + width: 100% !important; + } + + .mw-lg-100 { + max-width: 100% !important; + } + + .vw-lg-100 { + width: 100vw !important; + } + + .min-vw-lg-100 { + min-width: 100vw !important; + } + + .specific-h-lg-25 { + height: 1.5625rem !important; + } + + .specific-h-lg-50 { + height: 3.125rem !important; + } + + .specific-h-lg-75 { + height: 4.6875rem !important; + } + + .specific-h-lg-100 { + height: 6.25rem !important; + } + + .specific-h-lg-150 { + height: 9.375rem !important; + } + + .specific-h-lg-200 { + height: 12.5rem !important; + } + + .specific-h-lg-250 { + height: 15.625rem !important; + } + + .specific-h-lg-300 { + height: 18.75rem !important; + } + + .specific-h-lg-350 { + height: 21.875rem !important; + } + + .specific-h-lg-400 { + height: 25rem !important; + } + + .specific-h-lg-450 { + height: 28.125rem !important; + } + + .specific-h-lg-500 { + height: 31.25rem !important; + } + + .specific-h-lg-550 { + height: 34.375rem !important; + } + + .specific-h-lg-600 { + height: 37.5rem !important; + } + + .h-lg-auto { + height: auto !important; + } + + .h-lg-25 { + height: 25% !important; + } + + .h-lg-50 { + height: 50% !important; + } + + .h-lg-75 { + height: 75% !important; + } + + .h-lg-100 { + height: 100% !important; + } + + .mh-lg-100 { + max-height: 100% !important; + } + + .vh-lg-100 { + height: 100vh !important; + } + + .min-vh-lg-100 { + min-height: 100vh !important; + } +} + +@media (min-width: 1200px) { + .specific-w-xl-25 { + width: 1.5625rem !important; + } + + .specific-w-xl-50 { + width: 3.125rem !important; + } + + .specific-w-xl-75 { + width: 4.6875rem !important; + } + + .specific-w-xl-100 { + width: 6.25rem !important; + } + + .specific-w-xl-150 { + width: 9.375rem !important; + } + + .specific-w-xl-200 { + width: 12.5rem !important; + } + + .specific-w-xl-250 { + width: 15.625rem !important; + } + + .specific-w-xl-300 { + width: 18.75rem !important; + } + + .specific-w-xl-350 { + width: 21.875rem !important; + } + + .specific-w-xl-400 { + width: 25rem !important; + } + + .specific-w-xl-450 { + width: 28.125rem !important; + } + + .specific-w-xl-500 { + width: 31.25rem !important; + } + + .specific-w-xl-550 { + width: 34.375rem !important; + } + + .specific-w-xl-600 { + width: 37.5rem !important; + } + + .w-xl-auto { + width: auto !important; + } + + .w-xl-25 { + width: 25% !important; + } + + .w-xl-50 { + width: 50% !important; + } + + .w-xl-75 { + width: 75% !important; + } + + .w-xl-100 { + width: 100% !important; + } + + .mw-xl-100 { + max-width: 100% !important; + } + + .vw-xl-100 { + width: 100vw !important; + } + + .min-vw-xl-100 { + min-width: 100vw !important; + } + + .specific-h-xl-25 { + height: 1.5625rem !important; + } + + .specific-h-xl-50 { + height: 3.125rem !important; + } + + .specific-h-xl-75 { + height: 4.6875rem !important; + } + + .specific-h-xl-100 { + height: 6.25rem !important; + } + + .specific-h-xl-150 { + height: 9.375rem !important; + } + + .specific-h-xl-200 { + height: 12.5rem !important; + } + + .specific-h-xl-250 { + height: 15.625rem !important; + } + + .specific-h-xl-300 { + height: 18.75rem !important; + } + + .specific-h-xl-350 { + height: 21.875rem !important; + } + + .specific-h-xl-400 { + height: 25rem !important; + } + + .specific-h-xl-450 { + height: 28.125rem !important; + } + + .specific-h-xl-500 { + height: 31.25rem !important; + } + + .specific-h-xl-550 { + height: 34.375rem !important; + } + + .specific-h-xl-600 { + height: 37.5rem !important; + } + + .h-xl-auto { + height: auto !important; + } + + .h-xl-25 { + height: 25% !important; + } + + .h-xl-50 { + height: 50% !important; + } + + .h-xl-75 { + height: 75% !important; + } + + .h-xl-100 { + height: 100% !important; + } + + .mh-xl-100 { + max-height: 100% !important; + } + + .vh-xl-100 { + height: 100vh !important; + } + + .min-vh-xl-100 { + min-height: 100vh !important; + } +} + +@media (min-width: 1400px) { + .specific-w-xxl-25 { + width: 1.5625rem !important; + } + + .specific-w-xxl-50 { + width: 3.125rem !important; + } + + .specific-w-xxl-75 { + width: 4.6875rem !important; + } + + .specific-w-xxl-100 { + width: 6.25rem !important; + } + + .specific-w-xxl-150 { + width: 9.375rem !important; + } + + .specific-w-xxl-200 { + width: 12.5rem !important; + } + + .specific-w-xxl-250 { + width: 15.625rem !important; + } + + .specific-w-xxl-300 { + width: 18.75rem !important; + } + + .specific-w-xxl-350 { + width: 21.875rem !important; + } + + .specific-w-xxl-400 { + width: 25rem !important; + } + + .specific-w-xxl-450 { + width: 28.125rem !important; + } + + .specific-w-xxl-500 { + width: 31.25rem !important; + } + + .specific-w-xxl-550 { + width: 34.375rem !important; + } + + .specific-w-xxl-600 { + width: 37.5rem !important; + } + + .w-xxl-auto { + width: auto !important; + } + + .w-xxl-25 { + width: 25% !important; + } + + .w-xxl-50 { + width: 50% !important; + } + + .w-xxl-75 { + width: 75% !important; + } + + .w-xxl-100 { + width: 100% !important; + } + + .mw-xxl-100 { + max-width: 100% !important; + } + + .vw-xxl-100 { + width: 100vw !important; + } + + .min-vw-xxl-100 { + min-width: 100vw !important; + } + + .specific-h-xxl-25 { + height: 1.5625rem !important; + } + + .specific-h-xxl-50 { + height: 3.125rem !important; + } + + .specific-h-xxl-75 { + height: 4.6875rem !important; + } + + .specific-h-xxl-100 { + height: 6.25rem !important; + } + + .specific-h-xxl-150 { + height: 9.375rem !important; + } + + .specific-h-xxl-200 { + height: 12.5rem !important; + } + + .specific-h-xxl-250 { + height: 15.625rem !important; + } + + .specific-h-xxl-300 { + height: 18.75rem !important; + } + + .specific-h-xxl-350 { + height: 21.875rem !important; + } + + .specific-h-xxl-400 { + height: 25rem !important; + } + + .specific-h-xxl-450 { + height: 28.125rem !important; + } + + .specific-h-xxl-500 { + height: 31.25rem !important; + } + + .specific-h-xxl-550 { + height: 34.375rem !important; + } + + .specific-h-xxl-600 { + height: 37.5rem !important; + } + + .h-xxl-auto { + height: auto !important; + } + + .h-xxl-25 { + height: 25% !important; + } + + .h-xxl-50 { + height: 50% !important; + } + + .h-xxl-75 { + height: 75% !important; + } + + .h-xxl-100 { + height: 100% !important; + } + + .mh-xxl-100 { + max-height: 100% !important; + } + + .vh-xxl-100 { + height: 100vh !important; + } + + .min-vh-xxl-100 { + min-height: 100vh !important; + } +} + +/** + * ---------------------------------------------------------------------------- + * [ Spacing utilities ] + * ---------------------------------------------------------------------------- + */ + +.m-0 { + margin: 0 !important; +} + +.m-1 { + margin: var(--bs-spacer-1) !important; +} + +.m-2 { + margin: var(--bs-spacer-2) !important; +} + +.m-3 { + margin: var(--bs-spacer-3) !important; +} + +.m-4 { + margin: var(--bs-spacer-4) !important; +} + +.m-5 { + margin: var(--bs-spacer-5) !important; +} + +.m-auto { + margin: auto !important; +} + +.m-n1 { + margin: calc(-1 * var(--bs-spacer-1)) !important; +} + +.m-n2 { + margin: calc(-1 * var(--bs-spacer-2)) !important; +} + +.m-n3 { + margin: calc(-1 * var(--bs-spacer-3)) !important; +} + +.m-n4 { + margin: calc(-1 * var(--bs-spacer-4)) !important; +} + +.m-n5 { + margin: calc(-1 * var(--bs-spacer-5)) !important; +} + +.mx-0 { + margin-left: 0 !important; + margin-right: 0 !important; +} + +.mx-1 { + margin-left: var(--bs-spacer-1) !important; + margin-right: var(--bs-spacer-1) !important; +} + +.mx-2 { + margin-left: var(--bs-spacer-2) !important; + margin-right: var(--bs-spacer-2) !important; +} + +.mx-3 { + margin-left: var(--bs-spacer-3) !important; + margin-right: var(--bs-spacer-3) !important; +} + +.mx-4 { + margin-left: var(--bs-spacer-4) !important; + margin-right: var(--bs-spacer-4) !important; +} + +.mx-5 { + margin-left: var(--bs-spacer-5) !important; + margin-right: var(--bs-spacer-5) !important; +} + +.mx-auto { + margin-left: auto !important; + margin-right: auto !important; +} + +.mx-n1 { + margin-left: calc(-1 * var(--bs-spacer-1)) !important; + margin-right: calc(-1 * var(--bs-spacer-1)) !important; +} + +.mx-n2 { + margin-left: calc(-1 * var(--bs-spacer-2)) !important; + margin-right: calc(-1 * var(--bs-spacer-2)) !important; +} + +.mx-n3 { + margin-left: calc(-1 * var(--bs-spacer-3)) !important; + margin-right: calc(-1 * var(--bs-spacer-3)) !important; +} + +.mx-n4 { + margin-left: calc(-1 * var(--bs-spacer-4)) !important; + margin-right: calc(-1 * var(--bs-spacer-4)) !important; +} + +.mx-n5 { + margin-left: calc(-1 * var(--bs-spacer-5)) !important; + margin-right: calc(-1 * var(--bs-spacer-5)) !important; +} + +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +.my-1 { + margin-top: var(--bs-spacer-1) !important; + margin-bottom: var(--bs-spacer-1) !important; +} + +.my-2 { + margin-top: var(--bs-spacer-2) !important; + margin-bottom: var(--bs-spacer-2) !important; +} + +.my-3 { + margin-top: var(--bs-spacer-3) !important; + margin-bottom: var(--bs-spacer-3) !important; +} + +.my-4 { + margin-top: var(--bs-spacer-4) !important; + margin-bottom: var(--bs-spacer-4) !important; +} + +.my-5 { + margin-top: var(--bs-spacer-5) !important; + margin-bottom: var(--bs-spacer-5) !important; +} + +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; +} + +.my-n1 { + margin-top: calc(-1 * var(--bs-spacer-1)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-1)) !important; +} + +.my-n2 { + margin-top: calc(-1 * var(--bs-spacer-2)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-2)) !important; +} + +.my-n3 { + margin-top: calc(-1 * var(--bs-spacer-3)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-3)) !important; +} + +.my-n4 { + margin-top: calc(-1 * var(--bs-spacer-4)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-4)) !important; +} + +.my-n5 { + margin-top: calc(-1 * var(--bs-spacer-5)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-5)) !important; +} + +.mt-0 { + margin-top: 0 !important; +} + +.mt-1 { + margin-top: var(--bs-spacer-1) !important; +} + +.mt-2 { + margin-top: var(--bs-spacer-2) !important; +} + +.mt-3 { + margin-top: var(--bs-spacer-3) !important; +} + +.mt-4 { + margin-top: var(--bs-spacer-4) !important; +} + +.mt-5 { + margin-top: var(--bs-spacer-5) !important; +} + +.mt-auto { + margin-top: auto !important; +} + +.mt-n1 { + margin-top: calc(-1 * var(--bs-spacer-1)) !important; +} + +.mt-n2 { + margin-top: calc(-1 * var(--bs-spacer-2)) !important; +} + +.mt-n3 { + margin-top: calc(-1 * var(--bs-spacer-3)) !important; +} + +.mt-n4 { + margin-top: calc(-1 * var(--bs-spacer-4)) !important; +} + +.mt-n5 { + margin-top: calc(-1 * var(--bs-spacer-5)) !important; +} + +.me-0 { + margin-left: 0 !important; +} + +.me-1 { + margin-left: var(--bs-spacer-1) !important; +} + +.me-2 { + margin-left: var(--bs-spacer-2) !important; +} + +.me-3 { + margin-left: var(--bs-spacer-3) !important; +} + +.me-4 { + margin-left: var(--bs-spacer-4) !important; +} + +.me-5 { + margin-left: var(--bs-spacer-5) !important; +} + +.me-auto { + margin-left: auto !important; +} + +.me-n1 { + margin-left: calc(-1 * var(--bs-spacer-1)) !important; +} + +.me-n2 { + margin-left: calc(-1 * var(--bs-spacer-2)) !important; +} + +.me-n3 { + margin-left: calc(-1 * var(--bs-spacer-3)) !important; +} + +.me-n4 { + margin-left: calc(-1 * var(--bs-spacer-4)) !important; +} + +.me-n5 { + margin-left: calc(-1 * var(--bs-spacer-5)) !important; +} + +.mb-0 { + margin-bottom: 0 !important; +} + +.mb-1 { + margin-bottom: var(--bs-spacer-1) !important; +} + +.mb-2 { + margin-bottom: var(--bs-spacer-2) !important; +} + +.mb-3 { + margin-bottom: var(--bs-spacer-3) !important; +} + +.mb-4 { + margin-bottom: var(--bs-spacer-4) !important; +} + +.mb-5 { + margin-bottom: var(--bs-spacer-5) !important; +} + +.mb-auto { + margin-bottom: auto !important; +} + +.mb-n1 { + margin-bottom: calc(-1 * var(--bs-spacer-1)) !important; +} + +.mb-n2 { + margin-bottom: calc(-1 * var(--bs-spacer-2)) !important; +} + +.mb-n3 { + margin-bottom: calc(-1 * var(--bs-spacer-3)) !important; +} + +.mb-n4 { + margin-bottom: calc(-1 * var(--bs-spacer-4)) !important; +} + +.mb-n5 { + margin-bottom: calc(-1 * var(--bs-spacer-5)) !important; +} + +.ms-0 { + margin-right: 0 !important; +} + +.ms-1 { + margin-right: var(--bs-spacer-1) !important; +} + +.ms-2 { + margin-right: var(--bs-spacer-2) !important; +} + +.ms-3 { + margin-right: var(--bs-spacer-3) !important; +} + +.ms-4 { + margin-right: var(--bs-spacer-4) !important; +} + +.ms-5 { + margin-right: var(--bs-spacer-5) !important; +} + +.ms-auto { + margin-right: auto !important; +} + +.ms-n1 { + margin-right: calc(-1 * var(--bs-spacer-1)) !important; +} + +.ms-n2 { + margin-right: calc(-1 * var(--bs-spacer-2)) !important; +} + +.ms-n3 { + margin-right: calc(-1 * var(--bs-spacer-3)) !important; +} + +.ms-n4 { + margin-right: calc(-1 * var(--bs-spacer-4)) !important; +} + +.ms-n5 { + margin-right: calc(-1 * var(--bs-spacer-5)) !important; +} + +.p-0 { + padding: 0 !important; +} + +.p-1 { + padding: var(--bs-spacer-1) !important; +} + +.p-2 { + padding: var(--bs-spacer-2) !important; +} + +.p-3 { + padding: var(--bs-spacer-3) !important; +} + +.p-4 { + padding: var(--bs-spacer-4) !important; +} + +.p-5 { + padding: var(--bs-spacer-5) !important; +} + +.px-0 { + padding-left: 0 !important; + padding-right: 0 !important; +} + +.px-1 { + padding-left: var(--bs-spacer-1) !important; + padding-right: var(--bs-spacer-1) !important; +} + +.px-2 { + padding-left: var(--bs-spacer-2) !important; + padding-right: var(--bs-spacer-2) !important; +} + +.px-3 { + padding-left: var(--bs-spacer-3) !important; + padding-right: var(--bs-spacer-3) !important; +} + +.px-4 { + padding-left: var(--bs-spacer-4) !important; + padding-right: var(--bs-spacer-4) !important; +} + +.px-5 { + padding-left: var(--bs-spacer-5) !important; + padding-right: var(--bs-spacer-5) !important; +} + +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +.py-1 { + padding-top: var(--bs-spacer-1) !important; + padding-bottom: var(--bs-spacer-1) !important; +} + +.py-2 { + padding-top: var(--bs-spacer-2) !important; + padding-bottom: var(--bs-spacer-2) !important; +} + +.py-3 { + padding-top: var(--bs-spacer-3) !important; + padding-bottom: var(--bs-spacer-3) !important; +} + +.py-4 { + padding-top: var(--bs-spacer-4) !important; + padding-bottom: var(--bs-spacer-4) !important; +} + +.py-5 { + padding-top: var(--bs-spacer-5) !important; + padding-bottom: var(--bs-spacer-5) !important; +} + +.pt-0 { + padding-top: 0 !important; +} + +.pt-1 { + padding-top: var(--bs-spacer-1) !important; +} + +.pt-2 { + padding-top: var(--bs-spacer-2) !important; +} + +.pt-3 { + padding-top: var(--bs-spacer-3) !important; +} + +.pt-4 { + padding-top: var(--bs-spacer-4) !important; +} + +.pt-5 { + padding-top: var(--bs-spacer-5) !important; +} + +.pe-0 { + padding-left: 0 !important; +} + +.pe-1 { + padding-left: var(--bs-spacer-1) !important; +} + +.pe-2 { + padding-left: var(--bs-spacer-2) !important; +} + +.pe-3 { + padding-left: var(--bs-spacer-3) !important; +} + +.pe-4 { + padding-left: var(--bs-spacer-4) !important; +} + +.pe-5 { + padding-left: var(--bs-spacer-5) !important; +} + +.pb-0 { + padding-bottom: 0 !important; +} + +.pb-1 { + padding-bottom: var(--bs-spacer-1) !important; +} + +.pb-2 { + padding-bottom: var(--bs-spacer-2) !important; +} + +.pb-3 { + padding-bottom: var(--bs-spacer-3) !important; +} + +.pb-4 { + padding-bottom: var(--bs-spacer-4) !important; +} + +.pb-5 { + padding-bottom: var(--bs-spacer-5) !important; +} + +.ps-0 { + padding-right: 0 !important; +} + +.ps-1 { + padding-right: var(--bs-spacer-1) !important; +} + +.ps-2 { + padding-right: var(--bs-spacer-2) !important; +} + +.ps-3 { + padding-right: var(--bs-spacer-3) !important; +} + +.ps-4 { + padding-right: var(--bs-spacer-4) !important; +} + +.ps-5 { + padding-right: var(--bs-spacer-5) !important; +} + +.gap-0 { + gap: 0 !important; +} + +.gap-1 { + gap: var(--bs-spacer-1) !important; +} + +.gap-2 { + gap: var(--bs-spacer-2) !important; +} + +.gap-3 { + gap: var(--bs-spacer-3) !important; +} + +.gap-4 { + gap: var(--bs-spacer-4) !important; +} + +.gap-5 { + gap: var(--bs-spacer-5) !important; +} + +.row-gap-0 { + gap: 0 !important; +} + +.row-gap-1 { + row-gap: var(--bs-spacer-1) !important; +} + +.row-gap-2 { + row-gap: var(--bs-spacer-2) !important; +} + +.row-gap-3 { + row-gap: var(--bs-spacer-3) !important; +} + +.row-gap-4 { + row-gap: var(--bs-spacer-4) !important; +} + +.row-gap-5 { + row-gap: var(--bs-spacer-5) !important; +} + +.column-gap-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; +} + +.column-gap-1 { + -moz-column-gap: var(--bs-spacer-1) !important; + column-gap: var(--bs-spacer-1) !important; +} + +.column-gap-2 { + -moz-column-gap: var(--bs-spacer-2) !important; + column-gap: var(--bs-spacer-2) !important; +} + +.column-gap-3 { + -moz-column-gap: var(--bs-spacer-3) !important; + column-gap: var(--bs-spacer-3) !important; +} + +.column-gap-4 { + -moz-column-gap: var(--bs-spacer-4) !important; + column-gap: var(--bs-spacer-4) !important; +} + +.column-gap-5 { + -moz-column-gap: var(--bs-spacer-5) !important; + column-gap: var(--bs-spacer-5) !important; +} + +@media (min-width: 576px) { + .m-sm-0 { + margin: 0 !important; + } + + .m-sm-1 { + margin: var(--bs-spacer-1) !important; + } + + .m-sm-2 { + margin: var(--bs-spacer-2) !important; + } + + .m-sm-3 { + margin: var(--bs-spacer-3) !important; + } + + .m-sm-4 { + margin: var(--bs-spacer-4) !important; + } + + .m-sm-5 { + margin: var(--bs-spacer-5) !important; + } + + .m-sm-auto { + margin: auto !important; + } + + .m-sm-n1 { + margin: calc(-1 * var(--bs-spacer-1)) !important; + } + + .m-sm-n2 { + margin: calc(-1 * var(--bs-spacer-2)) !important; + } + + .m-sm-n3 { + margin: calc(-1 * var(--bs-spacer-3)) !important; + } + + .m-sm-n4 { + margin: calc(-1 * var(--bs-spacer-4)) !important; + } + + .m-sm-n5 { + margin: calc(-1 * var(--bs-spacer-5)) !important; + } + + .mx-sm-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + + .mx-sm-1 { + margin-left: var(--bs-spacer-1) !important; + margin-right: var(--bs-spacer-1) !important; + } + + .mx-sm-2 { + margin-left: var(--bs-spacer-2) !important; + margin-right: var(--bs-spacer-2) !important; + } + + .mx-sm-3 { + margin-left: var(--bs-spacer-3) !important; + margin-right: var(--bs-spacer-3) !important; + } + + .mx-sm-4 { + margin-left: var(--bs-spacer-4) !important; + margin-right: var(--bs-spacer-4) !important; + } + + .mx-sm-5 { + margin-left: var(--bs-spacer-5) !important; + margin-right: var(--bs-spacer-5) !important; + } + + .mx-sm-auto { + margin-left: auto !important; + margin-right: auto !important; + } + + .mx-sm-n1 { + margin-left: calc(-1 * var(--bs-spacer-1)) !important; + margin-right: calc(-1 * var(--bs-spacer-1)) !important; + } + + .mx-sm-n2 { + margin-left: calc(-1 * var(--bs-spacer-2)) !important; + margin-right: calc(-1 * var(--bs-spacer-2)) !important; + } + + .mx-sm-n3 { + margin-left: calc(-1 * var(--bs-spacer-3)) !important; + margin-right: calc(-1 * var(--bs-spacer-3)) !important; + } + + .mx-sm-n4 { + margin-left: calc(-1 * var(--bs-spacer-4)) !important; + margin-right: calc(-1 * var(--bs-spacer-4)) !important; + } + + .mx-sm-n5 { + margin-left: calc(-1 * var(--bs-spacer-5)) !important; + margin-right: calc(-1 * var(--bs-spacer-5)) !important; + } + + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-sm-1 { + margin-top: var(--bs-spacer-1) !important; + margin-bottom: var(--bs-spacer-1) !important; + } + + .my-sm-2 { + margin-top: var(--bs-spacer-2) !important; + margin-bottom: var(--bs-spacer-2) !important; + } + + .my-sm-3 { + margin-top: var(--bs-spacer-3) !important; + margin-bottom: var(--bs-spacer-3) !important; + } + + .my-sm-4 { + margin-top: var(--bs-spacer-4) !important; + margin-bottom: var(--bs-spacer-4) !important; + } + + .my-sm-5 { + margin-top: var(--bs-spacer-5) !important; + margin-bottom: var(--bs-spacer-5) !important; + } + + .my-sm-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .my-sm-n1 { + margin-top: calc(-1 * var(--bs-spacer-1)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-1)) !important; + } + + .my-sm-n2 { + margin-top: calc(-1 * var(--bs-spacer-2)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-2)) !important; + } + + .my-sm-n3 { + margin-top: calc(-1 * var(--bs-spacer-3)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-3)) !important; + } + + .my-sm-n4 { + margin-top: calc(-1 * var(--bs-spacer-4)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-4)) !important; + } + + .my-sm-n5 { + margin-top: calc(-1 * var(--bs-spacer-5)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-5)) !important; + } + + .mt-sm-0 { + margin-top: 0 !important; + } + + .mt-sm-1 { + margin-top: var(--bs-spacer-1) !important; + } + + .mt-sm-2 { + margin-top: var(--bs-spacer-2) !important; + } + + .mt-sm-3 { + margin-top: var(--bs-spacer-3) !important; + } + + .mt-sm-4 { + margin-top: var(--bs-spacer-4) !important; + } + + .mt-sm-5 { + margin-top: var(--bs-spacer-5) !important; + } + + .mt-sm-auto { + margin-top: auto !important; + } + + .mt-sm-n1 { + margin-top: calc(-1 * var(--bs-spacer-1)) !important; + } + + .mt-sm-n2 { + margin-top: calc(-1 * var(--bs-spacer-2)) !important; + } + + .mt-sm-n3 { + margin-top: calc(-1 * var(--bs-spacer-3)) !important; + } + + .mt-sm-n4 { + margin-top: calc(-1 * var(--bs-spacer-4)) !important; + } + + .mt-sm-n5 { + margin-top: calc(-1 * var(--bs-spacer-5)) !important; + } + + .me-sm-0 { + margin-left: 0 !important; + } + + .me-sm-1 { + margin-left: var(--bs-spacer-1) !important; + } + + .me-sm-2 { + margin-left: var(--bs-spacer-2) !important; + } + + .me-sm-3 { + margin-left: var(--bs-spacer-3) !important; + } + + .me-sm-4 { + margin-left: var(--bs-spacer-4) !important; + } + + .me-sm-5 { + margin-left: var(--bs-spacer-5) !important; + } + + .me-sm-auto { + margin-left: auto !important; + } + + .me-sm-n1 { + margin-left: calc(-1 * var(--bs-spacer-1)) !important; + } + + .me-sm-n2 { + margin-left: calc(-1 * var(--bs-spacer-2)) !important; + } + + .me-sm-n3 { + margin-left: calc(-1 * var(--bs-spacer-3)) !important; + } + + .me-sm-n4 { + margin-left: calc(-1 * var(--bs-spacer-4)) !important; + } + + .me-sm-n5 { + margin-left: calc(-1 * var(--bs-spacer-5)) !important; + } + + .mb-sm-0 { + margin-bottom: 0 !important; + } + + .mb-sm-1 { + margin-bottom: var(--bs-spacer-1) !important; + } + + .mb-sm-2 { + margin-bottom: var(--bs-spacer-2) !important; + } + + .mb-sm-3 { + margin-bottom: var(--bs-spacer-3) !important; + } + + .mb-sm-4 { + margin-bottom: var(--bs-spacer-4) !important; + } + + .mb-sm-5 { + margin-bottom: var(--bs-spacer-5) !important; + } + + .mb-sm-auto { + margin-bottom: auto !important; + } + + .mb-sm-n1 { + margin-bottom: calc(-1 * var(--bs-spacer-1)) !important; + } + + .mb-sm-n2 { + margin-bottom: calc(-1 * var(--bs-spacer-2)) !important; + } + + .mb-sm-n3 { + margin-bottom: calc(-1 * var(--bs-spacer-3)) !important; + } + + .mb-sm-n4 { + margin-bottom: calc(-1 * var(--bs-spacer-4)) !important; + } + + .mb-sm-n5 { + margin-bottom: calc(-1 * var(--bs-spacer-5)) !important; + } + + .ms-sm-0 { + margin-right: 0 !important; + } + + .ms-sm-1 { + margin-right: var(--bs-spacer-1) !important; + } + + .ms-sm-2 { + margin-right: var(--bs-spacer-2) !important; + } + + .ms-sm-3 { + margin-right: var(--bs-spacer-3) !important; + } + + .ms-sm-4 { + margin-right: var(--bs-spacer-4) !important; + } + + .ms-sm-5 { + margin-right: var(--bs-spacer-5) !important; + } + + .ms-sm-auto { + margin-right: auto !important; + } + + .ms-sm-n1 { + margin-right: calc(-1 * var(--bs-spacer-1)) !important; + } + + .ms-sm-n2 { + margin-right: calc(-1 * var(--bs-spacer-2)) !important; + } + + .ms-sm-n3 { + margin-right: calc(-1 * var(--bs-spacer-3)) !important; + } + + .ms-sm-n4 { + margin-right: calc(-1 * var(--bs-spacer-4)) !important; + } + + .ms-sm-n5 { + margin-right: calc(-1 * var(--bs-spacer-5)) !important; + } + + .p-sm-0 { + padding: 0 !important; + } + + .p-sm-1 { + padding: var(--bs-spacer-1) !important; + } + + .p-sm-2 { + padding: var(--bs-spacer-2) !important; + } + + .p-sm-3 { + padding: var(--bs-spacer-3) !important; + } + + .p-sm-4 { + padding: var(--bs-spacer-4) !important; + } + + .p-sm-5 { + padding: var(--bs-spacer-5) !important; + } + + .px-sm-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + + .px-sm-1 { + padding-left: var(--bs-spacer-1) !important; + padding-right: var(--bs-spacer-1) !important; + } + + .px-sm-2 { + padding-left: var(--bs-spacer-2) !important; + padding-right: var(--bs-spacer-2) !important; + } + + .px-sm-3 { + padding-left: var(--bs-spacer-3) !important; + padding-right: var(--bs-spacer-3) !important; + } + + .px-sm-4 { + padding-left: var(--bs-spacer-4) !important; + padding-right: var(--bs-spacer-4) !important; + } + + .px-sm-5 { + padding-left: var(--bs-spacer-5) !important; + padding-right: var(--bs-spacer-5) !important; + } + + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-sm-1 { + padding-top: var(--bs-spacer-1) !important; + padding-bottom: var(--bs-spacer-1) !important; + } + + .py-sm-2 { + padding-top: var(--bs-spacer-2) !important; + padding-bottom: var(--bs-spacer-2) !important; + } + + .py-sm-3 { + padding-top: var(--bs-spacer-3) !important; + padding-bottom: var(--bs-spacer-3) !important; + } + + .py-sm-4 { + padding-top: var(--bs-spacer-4) !important; + padding-bottom: var(--bs-spacer-4) !important; + } + + .py-sm-5 { + padding-top: var(--bs-spacer-5) !important; + padding-bottom: var(--bs-spacer-5) !important; + } + + .pt-sm-0 { + padding-top: 0 !important; + } + + .pt-sm-1 { + padding-top: var(--bs-spacer-1) !important; + } + + .pt-sm-2 { + padding-top: var(--bs-spacer-2) !important; + } + + .pt-sm-3 { + padding-top: var(--bs-spacer-3) !important; + } + + .pt-sm-4 { + padding-top: var(--bs-spacer-4) !important; + } + + .pt-sm-5 { + padding-top: var(--bs-spacer-5) !important; + } + + .pe-sm-0 { + padding-left: 0 !important; + } + + .pe-sm-1 { + padding-left: var(--bs-spacer-1) !important; + } + + .pe-sm-2 { + padding-left: var(--bs-spacer-2) !important; + } + + .pe-sm-3 { + padding-left: var(--bs-spacer-3) !important; + } + + .pe-sm-4 { + padding-left: var(--bs-spacer-4) !important; + } + + .pe-sm-5 { + padding-left: var(--bs-spacer-5) !important; + } + + .pb-sm-0 { + padding-bottom: 0 !important; + } + + .pb-sm-1 { + padding-bottom: var(--bs-spacer-1) !important; + } + + .pb-sm-2 { + padding-bottom: var(--bs-spacer-2) !important; + } + + .pb-sm-3 { + padding-bottom: var(--bs-spacer-3) !important; + } + + .pb-sm-4 { + padding-bottom: var(--bs-spacer-4) !important; + } + + .pb-sm-5 { + padding-bottom: var(--bs-spacer-5) !important; + } + + .ps-sm-0 { + padding-right: 0 !important; + } + + .ps-sm-1 { + padding-right: var(--bs-spacer-1) !important; + } + + .ps-sm-2 { + padding-right: var(--bs-spacer-2) !important; + } + + .ps-sm-3 { + padding-right: var(--bs-spacer-3) !important; + } + + .ps-sm-4 { + padding-right: var(--bs-spacer-4) !important; + } + + .ps-sm-5 { + padding-right: var(--bs-spacer-5) !important; + } + + .gap-sm-0 { + gap: 0 !important; + } + + .gap-sm-1 { + gap: var(--bs-spacer-1) !important; + } + + .gap-sm-2 { + gap: var(--bs-spacer-2) !important; + } + + .gap-sm-3 { + gap: var(--bs-spacer-3) !important; + } + + .gap-sm-4 { + gap: var(--bs-spacer-4) !important; + } + + .gap-sm-5 { + gap: var(--bs-spacer-5) !important; + } + + .row-gap-sm-0 { + gap: 0 !important; + } + + .row-gap-sm-1 { + row-gap: var(--bs-spacer-1) !important; + } + + .row-gap-sm-2 { + row-gap: var(--bs-spacer-2) !important; + } + + .row-gap-sm-3 { + row-gap: var(--bs-spacer-3) !important; + } + + .row-gap-sm-4 { + row-gap: var(--bs-spacer-4) !important; + } + + .row-gap-sm-5 { + row-gap: var(--bs-spacer-5) !important; + } + + .column-gap-sm-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + + .column-gap-sm-1 { + -moz-column-gap: var(--bs-spacer-1) !important; + column-gap: var(--bs-spacer-1) !important; + } + + .column-gap-sm-2 { + -moz-column-gap: var(--bs-spacer-2) !important; + column-gap: var(--bs-spacer-2) !important; + } + + .column-gap-sm-3 { + -moz-column-gap: var(--bs-spacer-3) !important; + column-gap: var(--bs-spacer-3) !important; + } + + .column-gap-sm-4 { + -moz-column-gap: var(--bs-spacer-4) !important; + column-gap: var(--bs-spacer-4) !important; + } + + .column-gap-sm-5 { + -moz-column-gap: var(--bs-spacer-5) !important; + column-gap: var(--bs-spacer-5) !important; + } +} + +@media (min-width: 768px) { + .m-md-0 { + margin: 0 !important; + } + + .m-md-1 { + margin: var(--bs-spacer-1) !important; + } + + .m-md-2 { + margin: var(--bs-spacer-2) !important; + } + + .m-md-3 { + margin: var(--bs-spacer-3) !important; + } + + .m-md-4 { + margin: var(--bs-spacer-4) !important; + } + + .m-md-5 { + margin: var(--bs-spacer-5) !important; + } + + .m-md-auto { + margin: auto !important; + } + + .m-md-n1 { + margin: calc(-1 * var(--bs-spacer-1)) !important; + } + + .m-md-n2 { + margin: calc(-1 * var(--bs-spacer-2)) !important; + } + + .m-md-n3 { + margin: calc(-1 * var(--bs-spacer-3)) !important; + } + + .m-md-n4 { + margin: calc(-1 * var(--bs-spacer-4)) !important; + } + + .m-md-n5 { + margin: calc(-1 * var(--bs-spacer-5)) !important; + } + + .mx-md-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + + .mx-md-1 { + margin-left: var(--bs-spacer-1) !important; + margin-right: var(--bs-spacer-1) !important; + } + + .mx-md-2 { + margin-left: var(--bs-spacer-2) !important; + margin-right: var(--bs-spacer-2) !important; + } + + .mx-md-3 { + margin-left: var(--bs-spacer-3) !important; + margin-right: var(--bs-spacer-3) !important; + } + + .mx-md-4 { + margin-left: var(--bs-spacer-4) !important; + margin-right: var(--bs-spacer-4) !important; + } + + .mx-md-5 { + margin-left: var(--bs-spacer-5) !important; + margin-right: var(--bs-spacer-5) !important; + } + + .mx-md-auto { + margin-left: auto !important; + margin-right: auto !important; + } + + .mx-md-n1 { + margin-left: calc(-1 * var(--bs-spacer-1)) !important; + margin-right: calc(-1 * var(--bs-spacer-1)) !important; + } + + .mx-md-n2 { + margin-left: calc(-1 * var(--bs-spacer-2)) !important; + margin-right: calc(-1 * var(--bs-spacer-2)) !important; + } + + .mx-md-n3 { + margin-left: calc(-1 * var(--bs-spacer-3)) !important; + margin-right: calc(-1 * var(--bs-spacer-3)) !important; + } + + .mx-md-n4 { + margin-left: calc(-1 * var(--bs-spacer-4)) !important; + margin-right: calc(-1 * var(--bs-spacer-4)) !important; + } + + .mx-md-n5 { + margin-left: calc(-1 * var(--bs-spacer-5)) !important; + margin-right: calc(-1 * var(--bs-spacer-5)) !important; + } + + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-md-1 { + margin-top: var(--bs-spacer-1) !important; + margin-bottom: var(--bs-spacer-1) !important; + } + + .my-md-2 { + margin-top: var(--bs-spacer-2) !important; + margin-bottom: var(--bs-spacer-2) !important; + } + + .my-md-3 { + margin-top: var(--bs-spacer-3) !important; + margin-bottom: var(--bs-spacer-3) !important; + } + + .my-md-4 { + margin-top: var(--bs-spacer-4) !important; + margin-bottom: var(--bs-spacer-4) !important; + } + + .my-md-5 { + margin-top: var(--bs-spacer-5) !important; + margin-bottom: var(--bs-spacer-5) !important; + } + + .my-md-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .my-md-n1 { + margin-top: calc(-1 * var(--bs-spacer-1)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-1)) !important; + } + + .my-md-n2 { + margin-top: calc(-1 * var(--bs-spacer-2)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-2)) !important; + } + + .my-md-n3 { + margin-top: calc(-1 * var(--bs-spacer-3)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-3)) !important; + } + + .my-md-n4 { + margin-top: calc(-1 * var(--bs-spacer-4)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-4)) !important; + } + + .my-md-n5 { + margin-top: calc(-1 * var(--bs-spacer-5)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-5)) !important; + } + + .mt-md-0 { + margin-top: 0 !important; + } + + .mt-md-1 { + margin-top: var(--bs-spacer-1) !important; + } + + .mt-md-2 { + margin-top: var(--bs-spacer-2) !important; + } + + .mt-md-3 { + margin-top: var(--bs-spacer-3) !important; + } + + .mt-md-4 { + margin-top: var(--bs-spacer-4) !important; + } + + .mt-md-5 { + margin-top: var(--bs-spacer-5) !important; + } + + .mt-md-auto { + margin-top: auto !important; + } + + .mt-md-n1 { + margin-top: calc(-1 * var(--bs-spacer-1)) !important; + } + + .mt-md-n2 { + margin-top: calc(-1 * var(--bs-spacer-2)) !important; + } + + .mt-md-n3 { + margin-top: calc(-1 * var(--bs-spacer-3)) !important; + } + + .mt-md-n4 { + margin-top: calc(-1 * var(--bs-spacer-4)) !important; + } + + .mt-md-n5 { + margin-top: calc(-1 * var(--bs-spacer-5)) !important; + } + + .me-md-0 { + margin-left: 0 !important; + } + + .me-md-1 { + margin-left: var(--bs-spacer-1) !important; + } + + .me-md-2 { + margin-left: var(--bs-spacer-2) !important; + } + + .me-md-3 { + margin-left: var(--bs-spacer-3) !important; + } + + .me-md-4 { + margin-left: var(--bs-spacer-4) !important; + } + + .me-md-5 { + margin-left: var(--bs-spacer-5) !important; + } + + .me-md-auto { + margin-left: auto !important; + } + + .me-md-n1 { + margin-left: calc(-1 * var(--bs-spacer-1)) !important; + } + + .me-md-n2 { + margin-left: calc(-1 * var(--bs-spacer-2)) !important; + } + + .me-md-n3 { + margin-left: calc(-1 * var(--bs-spacer-3)) !important; + } + + .me-md-n4 { + margin-left: calc(-1 * var(--bs-spacer-4)) !important; + } + + .me-md-n5 { + margin-left: calc(-1 * var(--bs-spacer-5)) !important; + } + + .mb-md-0 { + margin-bottom: 0 !important; + } + + .mb-md-1 { + margin-bottom: var(--bs-spacer-1) !important; + } + + .mb-md-2 { + margin-bottom: var(--bs-spacer-2) !important; + } + + .mb-md-3 { + margin-bottom: var(--bs-spacer-3) !important; + } + + .mb-md-4 { + margin-bottom: var(--bs-spacer-4) !important; + } + + .mb-md-5 { + margin-bottom: var(--bs-spacer-5) !important; + } + + .mb-md-auto { + margin-bottom: auto !important; + } + + .mb-md-n1 { + margin-bottom: calc(-1 * var(--bs-spacer-1)) !important; + } + + .mb-md-n2 { + margin-bottom: calc(-1 * var(--bs-spacer-2)) !important; + } + + .mb-md-n3 { + margin-bottom: calc(-1 * var(--bs-spacer-3)) !important; + } + + .mb-md-n4 { + margin-bottom: calc(-1 * var(--bs-spacer-4)) !important; + } + + .mb-md-n5 { + margin-bottom: calc(-1 * var(--bs-spacer-5)) !important; + } + + .ms-md-0 { + margin-right: 0 !important; + } + + .ms-md-1 { + margin-right: var(--bs-spacer-1) !important; + } + + .ms-md-2 { + margin-right: var(--bs-spacer-2) !important; + } + + .ms-md-3 { + margin-right: var(--bs-spacer-3) !important; + } + + .ms-md-4 { + margin-right: var(--bs-spacer-4) !important; + } + + .ms-md-5 { + margin-right: var(--bs-spacer-5) !important; + } + + .ms-md-auto { + margin-right: auto !important; + } + + .ms-md-n1 { + margin-right: calc(-1 * var(--bs-spacer-1)) !important; + } + + .ms-md-n2 { + margin-right: calc(-1 * var(--bs-spacer-2)) !important; + } + + .ms-md-n3 { + margin-right: calc(-1 * var(--bs-spacer-3)) !important; + } + + .ms-md-n4 { + margin-right: calc(-1 * var(--bs-spacer-4)) !important; + } + + .ms-md-n5 { + margin-right: calc(-1 * var(--bs-spacer-5)) !important; + } + + .p-md-0 { + padding: 0 !important; + } + + .p-md-1 { + padding: var(--bs-spacer-1) !important; + } + + .p-md-2 { + padding: var(--bs-spacer-2) !important; + } + + .p-md-3 { + padding: var(--bs-spacer-3) !important; + } + + .p-md-4 { + padding: var(--bs-spacer-4) !important; + } + + .p-md-5 { + padding: var(--bs-spacer-5) !important; + } + + .px-md-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + + .px-md-1 { + padding-left: var(--bs-spacer-1) !important; + padding-right: var(--bs-spacer-1) !important; + } + + .px-md-2 { + padding-left: var(--bs-spacer-2) !important; + padding-right: var(--bs-spacer-2) !important; + } + + .px-md-3 { + padding-left: var(--bs-spacer-3) !important; + padding-right: var(--bs-spacer-3) !important; + } + + .px-md-4 { + padding-left: var(--bs-spacer-4) !important; + padding-right: var(--bs-spacer-4) !important; + } + + .px-md-5 { + padding-left: var(--bs-spacer-5) !important; + padding-right: var(--bs-spacer-5) !important; + } + + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-md-1 { + padding-top: var(--bs-spacer-1) !important; + padding-bottom: var(--bs-spacer-1) !important; + } + + .py-md-2 { + padding-top: var(--bs-spacer-2) !important; + padding-bottom: var(--bs-spacer-2) !important; + } + + .py-md-3 { + padding-top: var(--bs-spacer-3) !important; + padding-bottom: var(--bs-spacer-3) !important; + } + + .py-md-4 { + padding-top: var(--bs-spacer-4) !important; + padding-bottom: var(--bs-spacer-4) !important; + } + + .py-md-5 { + padding-top: var(--bs-spacer-5) !important; + padding-bottom: var(--bs-spacer-5) !important; + } + + .pt-md-0 { + padding-top: 0 !important; + } + + .pt-md-1 { + padding-top: var(--bs-spacer-1) !important; + } + + .pt-md-2 { + padding-top: var(--bs-spacer-2) !important; + } + + .pt-md-3 { + padding-top: var(--bs-spacer-3) !important; + } + + .pt-md-4 { + padding-top: var(--bs-spacer-4) !important; + } + + .pt-md-5 { + padding-top: var(--bs-spacer-5) !important; + } + + .pe-md-0 { + padding-left: 0 !important; + } + + .pe-md-1 { + padding-left: var(--bs-spacer-1) !important; + } + + .pe-md-2 { + padding-left: var(--bs-spacer-2) !important; + } + + .pe-md-3 { + padding-left: var(--bs-spacer-3) !important; + } + + .pe-md-4 { + padding-left: var(--bs-spacer-4) !important; + } + + .pe-md-5 { + padding-left: var(--bs-spacer-5) !important; + } + + .pb-md-0 { + padding-bottom: 0 !important; + } + + .pb-md-1 { + padding-bottom: var(--bs-spacer-1) !important; + } + + .pb-md-2 { + padding-bottom: var(--bs-spacer-2) !important; + } + + .pb-md-3 { + padding-bottom: var(--bs-spacer-3) !important; + } + + .pb-md-4 { + padding-bottom: var(--bs-spacer-4) !important; + } + + .pb-md-5 { + padding-bottom: var(--bs-spacer-5) !important; + } + + .ps-md-0 { + padding-right: 0 !important; + } + + .ps-md-1 { + padding-right: var(--bs-spacer-1) !important; + } + + .ps-md-2 { + padding-right: var(--bs-spacer-2) !important; + } + + .ps-md-3 { + padding-right: var(--bs-spacer-3) !important; + } + + .ps-md-4 { + padding-right: var(--bs-spacer-4) !important; + } + + .ps-md-5 { + padding-right: var(--bs-spacer-5) !important; + } + + .gap-md-0 { + gap: 0 !important; + } + + .gap-md-1 { + gap: var(--bs-spacer-1) !important; + } + + .gap-md-2 { + gap: var(--bs-spacer-2) !important; + } + + .gap-md-3 { + gap: var(--bs-spacer-3) !important; + } + + .gap-md-4 { + gap: var(--bs-spacer-4) !important; + } + + .gap-md-5 { + gap: var(--bs-spacer-5) !important; + } + + .row-gap-md-0 { + gap: 0 !important; + } + + .row-gap-md-1 { + row-gap: var(--bs-spacer-1) !important; + } + + .row-gap-md-2 { + row-gap: var(--bs-spacer-2) !important; + } + + .row-gap-md-3 { + row-gap: var(--bs-spacer-3) !important; + } + + .row-gap-md-4 { + row-gap: var(--bs-spacer-4) !important; + } + + .row-gap-md-5 { + row-gap: var(--bs-spacer-5) !important; + } + + .column-gap-md-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + + .column-gap-md-1 { + -moz-column-gap: var(--bs-spacer-1) !important; + column-gap: var(--bs-spacer-1) !important; + } + + .column-gap-md-2 { + -moz-column-gap: var(--bs-spacer-2) !important; + column-gap: var(--bs-spacer-2) !important; + } + + .column-gap-md-3 { + -moz-column-gap: var(--bs-spacer-3) !important; + column-gap: var(--bs-spacer-3) !important; + } + + .column-gap-md-4 { + -moz-column-gap: var(--bs-spacer-4) !important; + column-gap: var(--bs-spacer-4) !important; + } + + .column-gap-md-5 { + -moz-column-gap: var(--bs-spacer-5) !important; + column-gap: var(--bs-spacer-5) !important; + } +} + +@media (min-width: 992px) { + .m-lg-0 { + margin: 0 !important; + } + + .m-lg-1 { + margin: var(--bs-spacer-1) !important; + } + + .m-lg-2 { + margin: var(--bs-spacer-2) !important; + } + + .m-lg-3 { + margin: var(--bs-spacer-3) !important; + } + + .m-lg-4 { + margin: var(--bs-spacer-4) !important; + } + + .m-lg-5 { + margin: var(--bs-spacer-5) !important; + } + + .m-lg-auto { + margin: auto !important; + } + + .m-lg-n1 { + margin: calc(-1 * var(--bs-spacer-1)) !important; + } + + .m-lg-n2 { + margin: calc(-1 * var(--bs-spacer-2)) !important; + } + + .m-lg-n3 { + margin: calc(-1 * var(--bs-spacer-3)) !important; + } + + .m-lg-n4 { + margin: calc(-1 * var(--bs-spacer-4)) !important; + } + + .m-lg-n5 { + margin: calc(-1 * var(--bs-spacer-5)) !important; + } + + .mx-lg-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + + .mx-lg-1 { + margin-left: var(--bs-spacer-1) !important; + margin-right: var(--bs-spacer-1) !important; + } + + .mx-lg-2 { + margin-left: var(--bs-spacer-2) !important; + margin-right: var(--bs-spacer-2) !important; + } + + .mx-lg-3 { + margin-left: var(--bs-spacer-3) !important; + margin-right: var(--bs-spacer-3) !important; + } + + .mx-lg-4 { + margin-left: var(--bs-spacer-4) !important; + margin-right: var(--bs-spacer-4) !important; + } + + .mx-lg-5 { + margin-left: var(--bs-spacer-5) !important; + margin-right: var(--bs-spacer-5) !important; + } + + .mx-lg-auto { + margin-left: auto !important; + margin-right: auto !important; + } + + .mx-lg-n1 { + margin-left: calc(-1 * var(--bs-spacer-1)) !important; + margin-right: calc(-1 * var(--bs-spacer-1)) !important; + } + + .mx-lg-n2 { + margin-left: calc(-1 * var(--bs-spacer-2)) !important; + margin-right: calc(-1 * var(--bs-spacer-2)) !important; + } + + .mx-lg-n3 { + margin-left: calc(-1 * var(--bs-spacer-3)) !important; + margin-right: calc(-1 * var(--bs-spacer-3)) !important; + } + + .mx-lg-n4 { + margin-left: calc(-1 * var(--bs-spacer-4)) !important; + margin-right: calc(-1 * var(--bs-spacer-4)) !important; + } + + .mx-lg-n5 { + margin-left: calc(-1 * var(--bs-spacer-5)) !important; + margin-right: calc(-1 * var(--bs-spacer-5)) !important; + } + + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-lg-1 { + margin-top: var(--bs-spacer-1) !important; + margin-bottom: var(--bs-spacer-1) !important; + } + + .my-lg-2 { + margin-top: var(--bs-spacer-2) !important; + margin-bottom: var(--bs-spacer-2) !important; + } + + .my-lg-3 { + margin-top: var(--bs-spacer-3) !important; + margin-bottom: var(--bs-spacer-3) !important; + } + + .my-lg-4 { + margin-top: var(--bs-spacer-4) !important; + margin-bottom: var(--bs-spacer-4) !important; + } + + .my-lg-5 { + margin-top: var(--bs-spacer-5) !important; + margin-bottom: var(--bs-spacer-5) !important; + } + + .my-lg-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .my-lg-n1 { + margin-top: calc(-1 * var(--bs-spacer-1)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-1)) !important; + } + + .my-lg-n2 { + margin-top: calc(-1 * var(--bs-spacer-2)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-2)) !important; + } + + .my-lg-n3 { + margin-top: calc(-1 * var(--bs-spacer-3)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-3)) !important; + } + + .my-lg-n4 { + margin-top: calc(-1 * var(--bs-spacer-4)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-4)) !important; + } + + .my-lg-n5 { + margin-top: calc(-1 * var(--bs-spacer-5)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-5)) !important; + } + + .mt-lg-0 { + margin-top: 0 !important; + } + + .mt-lg-1 { + margin-top: var(--bs-spacer-1) !important; + } + + .mt-lg-2 { + margin-top: var(--bs-spacer-2) !important; + } + + .mt-lg-3 { + margin-top: var(--bs-spacer-3) !important; + } + + .mt-lg-4 { + margin-top: var(--bs-spacer-4) !important; + } + + .mt-lg-5 { + margin-top: var(--bs-spacer-5) !important; + } + + .mt-lg-auto { + margin-top: auto !important; + } + + .mt-lg-n1 { + margin-top: calc(-1 * var(--bs-spacer-1)) !important; + } + + .mt-lg-n2 { + margin-top: calc(-1 * var(--bs-spacer-2)) !important; + } + + .mt-lg-n3 { + margin-top: calc(-1 * var(--bs-spacer-3)) !important; + } + + .mt-lg-n4 { + margin-top: calc(-1 * var(--bs-spacer-4)) !important; + } + + .mt-lg-n5 { + margin-top: calc(-1 * var(--bs-spacer-5)) !important; + } + + .me-lg-0 { + margin-left: 0 !important; + } + + .me-lg-1 { + margin-left: var(--bs-spacer-1) !important; + } + + .me-lg-2 { + margin-left: var(--bs-spacer-2) !important; + } + + .me-lg-3 { + margin-left: var(--bs-spacer-3) !important; + } + + .me-lg-4 { + margin-left: var(--bs-spacer-4) !important; + } + + .me-lg-5 { + margin-left: var(--bs-spacer-5) !important; + } + + .me-lg-auto { + margin-left: auto !important; + } + + .me-lg-n1 { + margin-left: calc(-1 * var(--bs-spacer-1)) !important; + } + + .me-lg-n2 { + margin-left: calc(-1 * var(--bs-spacer-2)) !important; + } + + .me-lg-n3 { + margin-left: calc(-1 * var(--bs-spacer-3)) !important; + } + + .me-lg-n4 { + margin-left: calc(-1 * var(--bs-spacer-4)) !important; + } + + .me-lg-n5 { + margin-left: calc(-1 * var(--bs-spacer-5)) !important; + } + + .mb-lg-0 { + margin-bottom: 0 !important; + } + + .mb-lg-1 { + margin-bottom: var(--bs-spacer-1) !important; + } + + .mb-lg-2 { + margin-bottom: var(--bs-spacer-2) !important; + } + + .mb-lg-3 { + margin-bottom: var(--bs-spacer-3) !important; + } + + .mb-lg-4 { + margin-bottom: var(--bs-spacer-4) !important; + } + + .mb-lg-5 { + margin-bottom: var(--bs-spacer-5) !important; + } + + .mb-lg-auto { + margin-bottom: auto !important; + } + + .mb-lg-n1 { + margin-bottom: calc(-1 * var(--bs-spacer-1)) !important; + } + + .mb-lg-n2 { + margin-bottom: calc(-1 * var(--bs-spacer-2)) !important; + } + + .mb-lg-n3 { + margin-bottom: calc(-1 * var(--bs-spacer-3)) !important; + } + + .mb-lg-n4 { + margin-bottom: calc(-1 * var(--bs-spacer-4)) !important; + } + + .mb-lg-n5 { + margin-bottom: calc(-1 * var(--bs-spacer-5)) !important; + } + + .ms-lg-0 { + margin-right: 0 !important; + } + + .ms-lg-1 { + margin-right: var(--bs-spacer-1) !important; + } + + .ms-lg-2 { + margin-right: var(--bs-spacer-2) !important; + } + + .ms-lg-3 { + margin-right: var(--bs-spacer-3) !important; + } + + .ms-lg-4 { + margin-right: var(--bs-spacer-4) !important; + } + + .ms-lg-5 { + margin-right: var(--bs-spacer-5) !important; + } + + .ms-lg-auto { + margin-right: auto !important; + } + + .ms-lg-n1 { + margin-right: calc(-1 * var(--bs-spacer-1)) !important; + } + + .ms-lg-n2 { + margin-right: calc(-1 * var(--bs-spacer-2)) !important; + } + + .ms-lg-n3 { + margin-right: calc(-1 * var(--bs-spacer-3)) !important; + } + + .ms-lg-n4 { + margin-right: calc(-1 * var(--bs-spacer-4)) !important; + } + + .ms-lg-n5 { + margin-right: calc(-1 * var(--bs-spacer-5)) !important; + } + + .p-lg-0 { + padding: 0 !important; + } + + .p-lg-1 { + padding: var(--bs-spacer-1) !important; + } + + .p-lg-2 { + padding: var(--bs-spacer-2) !important; + } + + .p-lg-3 { + padding: var(--bs-spacer-3) !important; + } + + .p-lg-4 { + padding: var(--bs-spacer-4) !important; + } + + .p-lg-5 { + padding: var(--bs-spacer-5) !important; + } + + .px-lg-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + + .px-lg-1 { + padding-left: var(--bs-spacer-1) !important; + padding-right: var(--bs-spacer-1) !important; + } + + .px-lg-2 { + padding-left: var(--bs-spacer-2) !important; + padding-right: var(--bs-spacer-2) !important; + } + + .px-lg-3 { + padding-left: var(--bs-spacer-3) !important; + padding-right: var(--bs-spacer-3) !important; + } + + .px-lg-4 { + padding-left: var(--bs-spacer-4) !important; + padding-right: var(--bs-spacer-4) !important; + } + + .px-lg-5 { + padding-left: var(--bs-spacer-5) !important; + padding-right: var(--bs-spacer-5) !important; + } + + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-lg-1 { + padding-top: var(--bs-spacer-1) !important; + padding-bottom: var(--bs-spacer-1) !important; + } + + .py-lg-2 { + padding-top: var(--bs-spacer-2) !important; + padding-bottom: var(--bs-spacer-2) !important; + } + + .py-lg-3 { + padding-top: var(--bs-spacer-3) !important; + padding-bottom: var(--bs-spacer-3) !important; + } + + .py-lg-4 { + padding-top: var(--bs-spacer-4) !important; + padding-bottom: var(--bs-spacer-4) !important; + } + + .py-lg-5 { + padding-top: var(--bs-spacer-5) !important; + padding-bottom: var(--bs-spacer-5) !important; + } + + .pt-lg-0 { + padding-top: 0 !important; + } + + .pt-lg-1 { + padding-top: var(--bs-spacer-1) !important; + } + + .pt-lg-2 { + padding-top: var(--bs-spacer-2) !important; + } + + .pt-lg-3 { + padding-top: var(--bs-spacer-3) !important; + } + + .pt-lg-4 { + padding-top: var(--bs-spacer-4) !important; + } + + .pt-lg-5 { + padding-top: var(--bs-spacer-5) !important; + } + + .pe-lg-0 { + padding-left: 0 !important; + } + + .pe-lg-1 { + padding-left: var(--bs-spacer-1) !important; + } + + .pe-lg-2 { + padding-left: var(--bs-spacer-2) !important; + } + + .pe-lg-3 { + padding-left: var(--bs-spacer-3) !important; + } + + .pe-lg-4 { + padding-left: var(--bs-spacer-4) !important; + } + + .pe-lg-5 { + padding-left: var(--bs-spacer-5) !important; + } + + .pb-lg-0 { + padding-bottom: 0 !important; + } + + .pb-lg-1 { + padding-bottom: var(--bs-spacer-1) !important; + } + + .pb-lg-2 { + padding-bottom: var(--bs-spacer-2) !important; + } + + .pb-lg-3 { + padding-bottom: var(--bs-spacer-3) !important; + } + + .pb-lg-4 { + padding-bottom: var(--bs-spacer-4) !important; + } + + .pb-lg-5 { + padding-bottom: var(--bs-spacer-5) !important; + } + + .ps-lg-0 { + padding-right: 0 !important; + } + + .ps-lg-1 { + padding-right: var(--bs-spacer-1) !important; + } + + .ps-lg-2 { + padding-right: var(--bs-spacer-2) !important; + } + + .ps-lg-3 { + padding-right: var(--bs-spacer-3) !important; + } + + .ps-lg-4 { + padding-right: var(--bs-spacer-4) !important; + } + + .ps-lg-5 { + padding-right: var(--bs-spacer-5) !important; + } + + .gap-lg-0 { + gap: 0 !important; + } + + .gap-lg-1 { + gap: var(--bs-spacer-1) !important; + } + + .gap-lg-2 { + gap: var(--bs-spacer-2) !important; + } + + .gap-lg-3 { + gap: var(--bs-spacer-3) !important; + } + + .gap-lg-4 { + gap: var(--bs-spacer-4) !important; + } + + .gap-lg-5 { + gap: var(--bs-spacer-5) !important; + } + + .row-gap-lg-0 { + gap: 0 !important; + } + + .row-gap-lg-1 { + row-gap: var(--bs-spacer-1) !important; + } + + .row-gap-lg-2 { + row-gap: var(--bs-spacer-2) !important; + } + + .row-gap-lg-3 { + row-gap: var(--bs-spacer-3) !important; + } + + .row-gap-lg-4 { + row-gap: var(--bs-spacer-4) !important; + } + + .row-gap-lg-5 { + row-gap: var(--bs-spacer-5) !important; + } + + .column-gap-lg-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + + .column-gap-lg-1 { + -moz-column-gap: var(--bs-spacer-1) !important; + column-gap: var(--bs-spacer-1) !important; + } + + .column-gap-lg-2 { + -moz-column-gap: var(--bs-spacer-2) !important; + column-gap: var(--bs-spacer-2) !important; + } + + .column-gap-lg-3 { + -moz-column-gap: var(--bs-spacer-3) !important; + column-gap: var(--bs-spacer-3) !important; + } + + .column-gap-lg-4 { + -moz-column-gap: var(--bs-spacer-4) !important; + column-gap: var(--bs-spacer-4) !important; + } + + .column-gap-lg-5 { + -moz-column-gap: var(--bs-spacer-5) !important; + column-gap: var(--bs-spacer-5) !important; + } +} + +@media (min-width: 1200px) { + .m-xl-0 { + margin: 0 !important; + } + + .m-xl-1 { + margin: var(--bs-spacer-1) !important; + } + + .m-xl-2 { + margin: var(--bs-spacer-2) !important; + } + + .m-xl-3 { + margin: var(--bs-spacer-3) !important; + } + + .m-xl-4 { + margin: var(--bs-spacer-4) !important; + } + + .m-xl-5 { + margin: var(--bs-spacer-5) !important; + } + + .m-xl-auto { + margin: auto !important; + } + + .m-xl-n1 { + margin: calc(-1 * var(--bs-spacer-1)) !important; + } + + .m-xl-n2 { + margin: calc(-1 * var(--bs-spacer-2)) !important; + } + + .m-xl-n3 { + margin: calc(-1 * var(--bs-spacer-3)) !important; + } + + .m-xl-n4 { + margin: calc(-1 * var(--bs-spacer-4)) !important; + } + + .m-xl-n5 { + margin: calc(-1 * var(--bs-spacer-5)) !important; + } + + .mx-xl-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + + .mx-xl-1 { + margin-left: var(--bs-spacer-1) !important; + margin-right: var(--bs-spacer-1) !important; + } + + .mx-xl-2 { + margin-left: var(--bs-spacer-2) !important; + margin-right: var(--bs-spacer-2) !important; + } + + .mx-xl-3 { + margin-left: var(--bs-spacer-3) !important; + margin-right: var(--bs-spacer-3) !important; + } + + .mx-xl-4 { + margin-left: var(--bs-spacer-4) !important; + margin-right: var(--bs-spacer-4) !important; + } + + .mx-xl-5 { + margin-left: var(--bs-spacer-5) !important; + margin-right: var(--bs-spacer-5) !important; + } + + .mx-xl-auto { + margin-left: auto !important; + margin-right: auto !important; + } + + .mx-xl-n1 { + margin-left: calc(-1 * var(--bs-spacer-1)) !important; + margin-right: calc(-1 * var(--bs-spacer-1)) !important; + } + + .mx-xl-n2 { + margin-left: calc(-1 * var(--bs-spacer-2)) !important; + margin-right: calc(-1 * var(--bs-spacer-2)) !important; + } + + .mx-xl-n3 { + margin-left: calc(-1 * var(--bs-spacer-3)) !important; + margin-right: calc(-1 * var(--bs-spacer-3)) !important; + } + + .mx-xl-n4 { + margin-left: calc(-1 * var(--bs-spacer-4)) !important; + margin-right: calc(-1 * var(--bs-spacer-4)) !important; + } + + .mx-xl-n5 { + margin-left: calc(-1 * var(--bs-spacer-5)) !important; + margin-right: calc(-1 * var(--bs-spacer-5)) !important; + } + + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-xl-1 { + margin-top: var(--bs-spacer-1) !important; + margin-bottom: var(--bs-spacer-1) !important; + } + + .my-xl-2 { + margin-top: var(--bs-spacer-2) !important; + margin-bottom: var(--bs-spacer-2) !important; + } + + .my-xl-3 { + margin-top: var(--bs-spacer-3) !important; + margin-bottom: var(--bs-spacer-3) !important; + } + + .my-xl-4 { + margin-top: var(--bs-spacer-4) !important; + margin-bottom: var(--bs-spacer-4) !important; + } + + .my-xl-5 { + margin-top: var(--bs-spacer-5) !important; + margin-bottom: var(--bs-spacer-5) !important; + } + + .my-xl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .my-xl-n1 { + margin-top: calc(-1 * var(--bs-spacer-1)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-1)) !important; + } + + .my-xl-n2 { + margin-top: calc(-1 * var(--bs-spacer-2)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-2)) !important; + } + + .my-xl-n3 { + margin-top: calc(-1 * var(--bs-spacer-3)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-3)) !important; + } + + .my-xl-n4 { + margin-top: calc(-1 * var(--bs-spacer-4)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-4)) !important; + } + + .my-xl-n5 { + margin-top: calc(-1 * var(--bs-spacer-5)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-5)) !important; + } + + .mt-xl-0 { + margin-top: 0 !important; + } + + .mt-xl-1 { + margin-top: var(--bs-spacer-1) !important; + } + + .mt-xl-2 { + margin-top: var(--bs-spacer-2) !important; + } + + .mt-xl-3 { + margin-top: var(--bs-spacer-3) !important; + } + + .mt-xl-4 { + margin-top: var(--bs-spacer-4) !important; + } + + .mt-xl-5 { + margin-top: var(--bs-spacer-5) !important; + } + + .mt-xl-auto { + margin-top: auto !important; + } + + .mt-xl-n1 { + margin-top: calc(-1 * var(--bs-spacer-1)) !important; + } + + .mt-xl-n2 { + margin-top: calc(-1 * var(--bs-spacer-2)) !important; + } + + .mt-xl-n3 { + margin-top: calc(-1 * var(--bs-spacer-3)) !important; + } + + .mt-xl-n4 { + margin-top: calc(-1 * var(--bs-spacer-4)) !important; + } + + .mt-xl-n5 { + margin-top: calc(-1 * var(--bs-spacer-5)) !important; + } + + .me-xl-0 { + margin-left: 0 !important; + } + + .me-xl-1 { + margin-left: var(--bs-spacer-1) !important; + } + + .me-xl-2 { + margin-left: var(--bs-spacer-2) !important; + } + + .me-xl-3 { + margin-left: var(--bs-spacer-3) !important; + } + + .me-xl-4 { + margin-left: var(--bs-spacer-4) !important; + } + + .me-xl-5 { + margin-left: var(--bs-spacer-5) !important; + } + + .me-xl-auto { + margin-left: auto !important; + } + + .me-xl-n1 { + margin-left: calc(-1 * var(--bs-spacer-1)) !important; + } + + .me-xl-n2 { + margin-left: calc(-1 * var(--bs-spacer-2)) !important; + } + + .me-xl-n3 { + margin-left: calc(-1 * var(--bs-spacer-3)) !important; + } + + .me-xl-n4 { + margin-left: calc(-1 * var(--bs-spacer-4)) !important; + } + + .me-xl-n5 { + margin-left: calc(-1 * var(--bs-spacer-5)) !important; + } + + .mb-xl-0 { + margin-bottom: 0 !important; + } + + .mb-xl-1 { + margin-bottom: var(--bs-spacer-1) !important; + } + + .mb-xl-2 { + margin-bottom: var(--bs-spacer-2) !important; + } + + .mb-xl-3 { + margin-bottom: var(--bs-spacer-3) !important; + } + + .mb-xl-4 { + margin-bottom: var(--bs-spacer-4) !important; + } + + .mb-xl-5 { + margin-bottom: var(--bs-spacer-5) !important; + } + + .mb-xl-auto { + margin-bottom: auto !important; + } + + .mb-xl-n1 { + margin-bottom: calc(-1 * var(--bs-spacer-1)) !important; + } + + .mb-xl-n2 { + margin-bottom: calc(-1 * var(--bs-spacer-2)) !important; + } + + .mb-xl-n3 { + margin-bottom: calc(-1 * var(--bs-spacer-3)) !important; + } + + .mb-xl-n4 { + margin-bottom: calc(-1 * var(--bs-spacer-4)) !important; + } + + .mb-xl-n5 { + margin-bottom: calc(-1 * var(--bs-spacer-5)) !important; + } + + .ms-xl-0 { + margin-right: 0 !important; + } + + .ms-xl-1 { + margin-right: var(--bs-spacer-1) !important; + } + + .ms-xl-2 { + margin-right: var(--bs-spacer-2) !important; + } + + .ms-xl-3 { + margin-right: var(--bs-spacer-3) !important; + } + + .ms-xl-4 { + margin-right: var(--bs-spacer-4) !important; + } + + .ms-xl-5 { + margin-right: var(--bs-spacer-5) !important; + } + + .ms-xl-auto { + margin-right: auto !important; + } + + .ms-xl-n1 { + margin-right: calc(-1 * var(--bs-spacer-1)) !important; + } + + .ms-xl-n2 { + margin-right: calc(-1 * var(--bs-spacer-2)) !important; + } + + .ms-xl-n3 { + margin-right: calc(-1 * var(--bs-spacer-3)) !important; + } + + .ms-xl-n4 { + margin-right: calc(-1 * var(--bs-spacer-4)) !important; + } + + .ms-xl-n5 { + margin-right: calc(-1 * var(--bs-spacer-5)) !important; + } + + .p-xl-0 { + padding: 0 !important; + } + + .p-xl-1 { + padding: var(--bs-spacer-1) !important; + } + + .p-xl-2 { + padding: var(--bs-spacer-2) !important; + } + + .p-xl-3 { + padding: var(--bs-spacer-3) !important; + } + + .p-xl-4 { + padding: var(--bs-spacer-4) !important; + } + + .p-xl-5 { + padding: var(--bs-spacer-5) !important; + } + + .px-xl-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + + .px-xl-1 { + padding-left: var(--bs-spacer-1) !important; + padding-right: var(--bs-spacer-1) !important; + } + + .px-xl-2 { + padding-left: var(--bs-spacer-2) !important; + padding-right: var(--bs-spacer-2) !important; + } + + .px-xl-3 { + padding-left: var(--bs-spacer-3) !important; + padding-right: var(--bs-spacer-3) !important; + } + + .px-xl-4 { + padding-left: var(--bs-spacer-4) !important; + padding-right: var(--bs-spacer-4) !important; + } + + .px-xl-5 { + padding-left: var(--bs-spacer-5) !important; + padding-right: var(--bs-spacer-5) !important; + } + + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-xl-1 { + padding-top: var(--bs-spacer-1) !important; + padding-bottom: var(--bs-spacer-1) !important; + } + + .py-xl-2 { + padding-top: var(--bs-spacer-2) !important; + padding-bottom: var(--bs-spacer-2) !important; + } + + .py-xl-3 { + padding-top: var(--bs-spacer-3) !important; + padding-bottom: var(--bs-spacer-3) !important; + } + + .py-xl-4 { + padding-top: var(--bs-spacer-4) !important; + padding-bottom: var(--bs-spacer-4) !important; + } + + .py-xl-5 { + padding-top: var(--bs-spacer-5) !important; + padding-bottom: var(--bs-spacer-5) !important; + } + + .pt-xl-0 { + padding-top: 0 !important; + } + + .pt-xl-1 { + padding-top: var(--bs-spacer-1) !important; + } + + .pt-xl-2 { + padding-top: var(--bs-spacer-2) !important; + } + + .pt-xl-3 { + padding-top: var(--bs-spacer-3) !important; + } + + .pt-xl-4 { + padding-top: var(--bs-spacer-4) !important; + } + + .pt-xl-5 { + padding-top: var(--bs-spacer-5) !important; + } + + .pe-xl-0 { + padding-left: 0 !important; + } + + .pe-xl-1 { + padding-left: var(--bs-spacer-1) !important; + } + + .pe-xl-2 { + padding-left: var(--bs-spacer-2) !important; + } + + .pe-xl-3 { + padding-left: var(--bs-spacer-3) !important; + } + + .pe-xl-4 { + padding-left: var(--bs-spacer-4) !important; + } + + .pe-xl-5 { + padding-left: var(--bs-spacer-5) !important; + } + + .pb-xl-0 { + padding-bottom: 0 !important; + } + + .pb-xl-1 { + padding-bottom: var(--bs-spacer-1) !important; + } + + .pb-xl-2 { + padding-bottom: var(--bs-spacer-2) !important; + } + + .pb-xl-3 { + padding-bottom: var(--bs-spacer-3) !important; + } + + .pb-xl-4 { + padding-bottom: var(--bs-spacer-4) !important; + } + + .pb-xl-5 { + padding-bottom: var(--bs-spacer-5) !important; + } + + .ps-xl-0 { + padding-right: 0 !important; + } + + .ps-xl-1 { + padding-right: var(--bs-spacer-1) !important; + } + + .ps-xl-2 { + padding-right: var(--bs-spacer-2) !important; + } + + .ps-xl-3 { + padding-right: var(--bs-spacer-3) !important; + } + + .ps-xl-4 { + padding-right: var(--bs-spacer-4) !important; + } + + .ps-xl-5 { + padding-right: var(--bs-spacer-5) !important; + } + + .gap-xl-0 { + gap: 0 !important; + } + + .gap-xl-1 { + gap: var(--bs-spacer-1) !important; + } + + .gap-xl-2 { + gap: var(--bs-spacer-2) !important; + } + + .gap-xl-3 { + gap: var(--bs-spacer-3) !important; + } + + .gap-xl-4 { + gap: var(--bs-spacer-4) !important; + } + + .gap-xl-5 { + gap: var(--bs-spacer-5) !important; + } + + .row-gap-xl-0 { + gap: 0 !important; + } + + .row-gap-xl-1 { + row-gap: var(--bs-spacer-1) !important; + } + + .row-gap-xl-2 { + row-gap: var(--bs-spacer-2) !important; + } + + .row-gap-xl-3 { + row-gap: var(--bs-spacer-3) !important; + } + + .row-gap-xl-4 { + row-gap: var(--bs-spacer-4) !important; + } + + .row-gap-xl-5 { + row-gap: var(--bs-spacer-5) !important; + } + + .column-gap-xl-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + + .column-gap-xl-1 { + -moz-column-gap: var(--bs-spacer-1) !important; + column-gap: var(--bs-spacer-1) !important; + } + + .column-gap-xl-2 { + -moz-column-gap: var(--bs-spacer-2) !important; + column-gap: var(--bs-spacer-2) !important; + } + + .column-gap-xl-3 { + -moz-column-gap: var(--bs-spacer-3) !important; + column-gap: var(--bs-spacer-3) !important; + } + + .column-gap-xl-4 { + -moz-column-gap: var(--bs-spacer-4) !important; + column-gap: var(--bs-spacer-4) !important; + } + + .column-gap-xl-5 { + -moz-column-gap: var(--bs-spacer-5) !important; + column-gap: var(--bs-spacer-5) !important; + } +} + +@media (min-width: 1400px) { + .m-xxl-0 { + margin: 0 !important; + } + + .m-xxl-1 { + margin: var(--bs-spacer-1) !important; + } + + .m-xxl-2 { + margin: var(--bs-spacer-2) !important; + } + + .m-xxl-3 { + margin: var(--bs-spacer-3) !important; + } + + .m-xxl-4 { + margin: var(--bs-spacer-4) !important; + } + + .m-xxl-5 { + margin: var(--bs-spacer-5) !important; + } + + .m-xxl-auto { + margin: auto !important; + } + + .m-xxl-n1 { + margin: calc(-1 * var(--bs-spacer-1)) !important; + } + + .m-xxl-n2 { + margin: calc(-1 * var(--bs-spacer-2)) !important; + } + + .m-xxl-n3 { + margin: calc(-1 * var(--bs-spacer-3)) !important; + } + + .m-xxl-n4 { + margin: calc(-1 * var(--bs-spacer-4)) !important; + } + + .m-xxl-n5 { + margin: calc(-1 * var(--bs-spacer-5)) !important; + } + + .mx-xxl-0 { + margin-left: 0 !important; + margin-right: 0 !important; + } + + .mx-xxl-1 { + margin-left: var(--bs-spacer-1) !important; + margin-right: var(--bs-spacer-1) !important; + } + + .mx-xxl-2 { + margin-left: var(--bs-spacer-2) !important; + margin-right: var(--bs-spacer-2) !important; + } + + .mx-xxl-3 { + margin-left: var(--bs-spacer-3) !important; + margin-right: var(--bs-spacer-3) !important; + } + + .mx-xxl-4 { + margin-left: var(--bs-spacer-4) !important; + margin-right: var(--bs-spacer-4) !important; + } + + .mx-xxl-5 { + margin-left: var(--bs-spacer-5) !important; + margin-right: var(--bs-spacer-5) !important; + } + + .mx-xxl-auto { + margin-left: auto !important; + margin-right: auto !important; + } + + .mx-xxl-n1 { + margin-left: calc(-1 * var(--bs-spacer-1)) !important; + margin-right: calc(-1 * var(--bs-spacer-1)) !important; + } + + .mx-xxl-n2 { + margin-left: calc(-1 * var(--bs-spacer-2)) !important; + margin-right: calc(-1 * var(--bs-spacer-2)) !important; + } + + .mx-xxl-n3 { + margin-left: calc(-1 * var(--bs-spacer-3)) !important; + margin-right: calc(-1 * var(--bs-spacer-3)) !important; + } + + .mx-xxl-n4 { + margin-left: calc(-1 * var(--bs-spacer-4)) !important; + margin-right: calc(-1 * var(--bs-spacer-4)) !important; + } + + .mx-xxl-n5 { + margin-left: calc(-1 * var(--bs-spacer-5)) !important; + margin-right: calc(-1 * var(--bs-spacer-5)) !important; + } + + .my-xxl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-xxl-1 { + margin-top: var(--bs-spacer-1) !important; + margin-bottom: var(--bs-spacer-1) !important; + } + + .my-xxl-2 { + margin-top: var(--bs-spacer-2) !important; + margin-bottom: var(--bs-spacer-2) !important; + } + + .my-xxl-3 { + margin-top: var(--bs-spacer-3) !important; + margin-bottom: var(--bs-spacer-3) !important; + } + + .my-xxl-4 { + margin-top: var(--bs-spacer-4) !important; + margin-bottom: var(--bs-spacer-4) !important; + } + + .my-xxl-5 { + margin-top: var(--bs-spacer-5) !important; + margin-bottom: var(--bs-spacer-5) !important; + } + + .my-xxl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .my-xxl-n1 { + margin-top: calc(-1 * var(--bs-spacer-1)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-1)) !important; + } + + .my-xxl-n2 { + margin-top: calc(-1 * var(--bs-spacer-2)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-2)) !important; + } + + .my-xxl-n3 { + margin-top: calc(-1 * var(--bs-spacer-3)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-3)) !important; + } + + .my-xxl-n4 { + margin-top: calc(-1 * var(--bs-spacer-4)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-4)) !important; + } + + .my-xxl-n5 { + margin-top: calc(-1 * var(--bs-spacer-5)) !important; + margin-bottom: calc(-1 * var(--bs-spacer-5)) !important; + } + + .mt-xxl-0 { + margin-top: 0 !important; + } + + .mt-xxl-1 { + margin-top: var(--bs-spacer-1) !important; + } + + .mt-xxl-2 { + margin-top: var(--bs-spacer-2) !important; + } + + .mt-xxl-3 { + margin-top: var(--bs-spacer-3) !important; + } + + .mt-xxl-4 { + margin-top: var(--bs-spacer-4) !important; + } + + .mt-xxl-5 { + margin-top: var(--bs-spacer-5) !important; + } + + .mt-xxl-auto { + margin-top: auto !important; + } + + .mt-xxl-n1 { + margin-top: calc(-1 * var(--bs-spacer-1)) !important; + } + + .mt-xxl-n2 { + margin-top: calc(-1 * var(--bs-spacer-2)) !important; + } + + .mt-xxl-n3 { + margin-top: calc(-1 * var(--bs-spacer-3)) !important; + } + + .mt-xxl-n4 { + margin-top: calc(-1 * var(--bs-spacer-4)) !important; + } + + .mt-xxl-n5 { + margin-top: calc(-1 * var(--bs-spacer-5)) !important; + } + + .me-xxl-0 { + margin-left: 0 !important; + } + + .me-xxl-1 { + margin-left: var(--bs-spacer-1) !important; + } + + .me-xxl-2 { + margin-left: var(--bs-spacer-2) !important; + } + + .me-xxl-3 { + margin-left: var(--bs-spacer-3) !important; + } + + .me-xxl-4 { + margin-left: var(--bs-spacer-4) !important; + } + + .me-xxl-5 { + margin-left: var(--bs-spacer-5) !important; + } + + .me-xxl-auto { + margin-left: auto !important; + } + + .me-xxl-n1 { + margin-left: calc(-1 * var(--bs-spacer-1)) !important; + } + + .me-xxl-n2 { + margin-left: calc(-1 * var(--bs-spacer-2)) !important; + } + + .me-xxl-n3 { + margin-left: calc(-1 * var(--bs-spacer-3)) !important; + } + + .me-xxl-n4 { + margin-left: calc(-1 * var(--bs-spacer-4)) !important; + } + + .me-xxl-n5 { + margin-left: calc(-1 * var(--bs-spacer-5)) !important; + } + + .mb-xxl-0 { + margin-bottom: 0 !important; + } + + .mb-xxl-1 { + margin-bottom: var(--bs-spacer-1) !important; + } + + .mb-xxl-2 { + margin-bottom: var(--bs-spacer-2) !important; + } + + .mb-xxl-3 { + margin-bottom: var(--bs-spacer-3) !important; + } + + .mb-xxl-4 { + margin-bottom: var(--bs-spacer-4) !important; + } + + .mb-xxl-5 { + margin-bottom: var(--bs-spacer-5) !important; + } + + .mb-xxl-auto { + margin-bottom: auto !important; + } + + .mb-xxl-n1 { + margin-bottom: calc(-1 * var(--bs-spacer-1)) !important; + } + + .mb-xxl-n2 { + margin-bottom: calc(-1 * var(--bs-spacer-2)) !important; + } + + .mb-xxl-n3 { + margin-bottom: calc(-1 * var(--bs-spacer-3)) !important; + } + + .mb-xxl-n4 { + margin-bottom: calc(-1 * var(--bs-spacer-4)) !important; + } + + .mb-xxl-n5 { + margin-bottom: calc(-1 * var(--bs-spacer-5)) !important; + } + + .ms-xxl-0 { + margin-right: 0 !important; + } + + .ms-xxl-1 { + margin-right: var(--bs-spacer-1) !important; + } + + .ms-xxl-2 { + margin-right: var(--bs-spacer-2) !important; + } + + .ms-xxl-3 { + margin-right: var(--bs-spacer-3) !important; + } + + .ms-xxl-4 { + margin-right: var(--bs-spacer-4) !important; + } + + .ms-xxl-5 { + margin-right: var(--bs-spacer-5) !important; + } + + .ms-xxl-auto { + margin-right: auto !important; + } + + .ms-xxl-n1 { + margin-right: calc(-1 * var(--bs-spacer-1)) !important; + } + + .ms-xxl-n2 { + margin-right: calc(-1 * var(--bs-spacer-2)) !important; + } + + .ms-xxl-n3 { + margin-right: calc(-1 * var(--bs-spacer-3)) !important; + } + + .ms-xxl-n4 { + margin-right: calc(-1 * var(--bs-spacer-4)) !important; + } + + .ms-xxl-n5 { + margin-right: calc(-1 * var(--bs-spacer-5)) !important; + } + + .p-xxl-0 { + padding: 0 !important; + } + + .p-xxl-1 { + padding: var(--bs-spacer-1) !important; + } + + .p-xxl-2 { + padding: var(--bs-spacer-2) !important; + } + + .p-xxl-3 { + padding: var(--bs-spacer-3) !important; + } + + .p-xxl-4 { + padding: var(--bs-spacer-4) !important; + } + + .p-xxl-5 { + padding: var(--bs-spacer-5) !important; + } + + .px-xxl-0 { + padding-left: 0 !important; + padding-right: 0 !important; + } + + .px-xxl-1 { + padding-left: var(--bs-spacer-1) !important; + padding-right: var(--bs-spacer-1) !important; + } + + .px-xxl-2 { + padding-left: var(--bs-spacer-2) !important; + padding-right: var(--bs-spacer-2) !important; + } + + .px-xxl-3 { + padding-left: var(--bs-spacer-3) !important; + padding-right: var(--bs-spacer-3) !important; + } + + .px-xxl-4 { + padding-left: var(--bs-spacer-4) !important; + padding-right: var(--bs-spacer-4) !important; + } + + .px-xxl-5 { + padding-left: var(--bs-spacer-5) !important; + padding-right: var(--bs-spacer-5) !important; + } + + .py-xxl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-xxl-1 { + padding-top: var(--bs-spacer-1) !important; + padding-bottom: var(--bs-spacer-1) !important; + } + + .py-xxl-2 { + padding-top: var(--bs-spacer-2) !important; + padding-bottom: var(--bs-spacer-2) !important; + } + + .py-xxl-3 { + padding-top: var(--bs-spacer-3) !important; + padding-bottom: var(--bs-spacer-3) !important; + } + + .py-xxl-4 { + padding-top: var(--bs-spacer-4) !important; + padding-bottom: var(--bs-spacer-4) !important; + } + + .py-xxl-5 { + padding-top: var(--bs-spacer-5) !important; + padding-bottom: var(--bs-spacer-5) !important; + } + + .pt-xxl-0 { + padding-top: 0 !important; + } + + .pt-xxl-1 { + padding-top: var(--bs-spacer-1) !important; + } + + .pt-xxl-2 { + padding-top: var(--bs-spacer-2) !important; + } + + .pt-xxl-3 { + padding-top: var(--bs-spacer-3) !important; + } + + .pt-xxl-4 { + padding-top: var(--bs-spacer-4) !important; + } + + .pt-xxl-5 { + padding-top: var(--bs-spacer-5) !important; + } + + .pe-xxl-0 { + padding-left: 0 !important; + } + + .pe-xxl-1 { + padding-left: var(--bs-spacer-1) !important; + } + + .pe-xxl-2 { + padding-left: var(--bs-spacer-2) !important; + } + + .pe-xxl-3 { + padding-left: var(--bs-spacer-3) !important; + } + + .pe-xxl-4 { + padding-left: var(--bs-spacer-4) !important; + } + + .pe-xxl-5 { + padding-left: var(--bs-spacer-5) !important; + } + + .pb-xxl-0 { + padding-bottom: 0 !important; + } + + .pb-xxl-1 { + padding-bottom: var(--bs-spacer-1) !important; + } + + .pb-xxl-2 { + padding-bottom: var(--bs-spacer-2) !important; + } + + .pb-xxl-3 { + padding-bottom: var(--bs-spacer-3) !important; + } + + .pb-xxl-4 { + padding-bottom: var(--bs-spacer-4) !important; + } + + .pb-xxl-5 { + padding-bottom: var(--bs-spacer-5) !important; + } + + .ps-xxl-0 { + padding-right: 0 !important; + } + + .ps-xxl-1 { + padding-right: var(--bs-spacer-1) !important; + } + + .ps-xxl-2 { + padding-right: var(--bs-spacer-2) !important; + } + + .ps-xxl-3 { + padding-right: var(--bs-spacer-3) !important; + } + + .ps-xxl-4 { + padding-right: var(--bs-spacer-4) !important; + } + + .ps-xxl-5 { + padding-right: var(--bs-spacer-5) !important; + } + + .gap-xxl-0 { + gap: 0 !important; + } + + .gap-xxl-1 { + gap: var(--bs-spacer-1) !important; + } + + .gap-xxl-2 { + gap: var(--bs-spacer-2) !important; + } + + .gap-xxl-3 { + gap: var(--bs-spacer-3) !important; + } + + .gap-xxl-4 { + gap: var(--bs-spacer-4) !important; + } + + .gap-xxl-5 { + gap: var(--bs-spacer-5) !important; + } + + .row-gap-xxl-0 { + gap: 0 !important; + } + + .row-gap-xxl-1 { + row-gap: var(--bs-spacer-1) !important; + } + + .row-gap-xxl-2 { + row-gap: var(--bs-spacer-2) !important; + } + + .row-gap-xxl-3 { + row-gap: var(--bs-spacer-3) !important; + } + + .row-gap-xxl-4 { + row-gap: var(--bs-spacer-4) !important; + } + + .row-gap-xxl-5 { + row-gap: var(--bs-spacer-5) !important; + } + + .column-gap-xxl-0 { + -moz-column-gap: 0 !important; + column-gap: 0 !important; + } + + .column-gap-xxl-1 { + -moz-column-gap: var(--bs-spacer-1) !important; + column-gap: var(--bs-spacer-1) !important; + } + + .column-gap-xxl-2 { + -moz-column-gap: var(--bs-spacer-2) !important; + column-gap: var(--bs-spacer-2) !important; + } + + .column-gap-xxl-3 { + -moz-column-gap: var(--bs-spacer-3) !important; + column-gap: var(--bs-spacer-3) !important; + } + + .column-gap-xxl-4 { + -moz-column-gap: var(--bs-spacer-4) !important; + column-gap: var(--bs-spacer-4) !important; + } + + .column-gap-xxl-5 { + -moz-column-gap: var(--bs-spacer-5) !important; + column-gap: var(--bs-spacer-5) !important; + } +} + +/** + * ---------------------------------------------------------------------------- + * [ Text utilities ] + * ---------------------------------------------------------------------------- + */ + +.font-monospace { + font-family: var(--bs-font-monospace) !important; +} + +.fs-1 { + font-size: calc((var(--bs-font-size-base) + 0.4875rem) + 1.5vw) !important; +} + +.fs-2 { + font-size: calc((var(--bs-font-size-base) + 0.4375rem) + 0.9vw) !important; +} + +.fs-3 { + font-size: calc((var(--bs-font-size-base) + 0.4rem) + 0.6vw) !important; +} + +.fs-4 { + font-size: calc((var(--bs-font-size-base) + 0.375rem) + 0.3vw) !important; +} + +.fs-5 { + font-size: 1.125rem !important; +} + +.fs-6 { + font-size: 0.875rem !important; +} + +.fst-italic { + font-style: italic !important; +} + +.fst-normal { + font-style: normal !important; +} + +.fw-lighter { + font-weight: var(--bs-font-weight-lighter) !important; +} + +.fw-light { + font-weight: var(--bs-font-weight-light) !important; +} + +.fw-normal { + font-weight: var(--bs-font-weight-normal) !important; +} + +.fw-medium { + font-weight: var(--bs-font-weight-medium) !important; +} + +.fw-semibold { + font-weight: var(--bs-font-weight-semibold) !important; +} + +.fw-bold { + font-weight: var(--bs-font-weight-bold) !important; +} + +.fw-bolder { + font-weight: var(--bs-font-weight-bolder) !important; +} + +.lh-1 { + line-height: 1 !important; +} + +.lh-sm { + line-height: var(--bs-line-height-sm) !important; +} + +.lh-base { + line-height: var(--bs-line-height-base) !important; +} + +.lh-lg { + line-height: var(--bs-line-height-lg) !important; +} + +.text-start { + text-align: right !important; +} + +.text-end { + text-align: left !important; +} + +.text-center { + text-align: center !important; +} + +@media (min-width: 576px) { + .text-sm-start { + text-align: right !important; + } + + .text-sm-end { + text-align: left !important; + } + + .text-sm-center { + text-align: center !important; + } +} + +@media (min-width: 768px) { + .text-md-start { + text-align: right !important; + } + + .text-md-end { + text-align: left !important; + } + + .text-md-center { + text-align: center !important; + } +} + +@media (min-width: 992px) { + .text-lg-start { + text-align: right !important; + } + + .text-lg-end { + text-align: left !important; + } + + .text-lg-center { + text-align: center !important; + } +} + +@media (min-width: 1200px) { + .text-xl-start { + text-align: right !important; + } + + .text-xl-end { + text-align: left !important; + } + + .text-xl-center { + text-align: center !important; + } +} + +@media (min-width: 1400px) { + .text-xxl-start { + text-align: right !important; + } + + .text-xxl-end { + text-align: left !important; + } + + .text-xxl-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; +} + +.antialiased { + -webkit-font-smoothing: antialiased !important; + -moz-osx-font-smoothing: grayscale !important; +} + +.subpixel-antialiased { + -webkit-font-smoothing: auto !important; + -moz-osx-font-smoothing: auto !important; +} + +/** + * ---------------------------------------------------------------------------- + * [ Vertical alignment utilities ] + * ---------------------------------------------------------------------------- + */ + +.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; +} + +/** + * ---------------------------------------------------------------------------- + * [ Visibility utilities ] + * ---------------------------------------------------------------------------- + */ + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +/** + * ---------------------------------------------------------------------------- + * [ Z-index utilities ] + * ---------------------------------------------------------------------------- + */ + +.z-n1 { + z-index: -1 !important; +} + +.z-0 { + z-index: 0 !important; +} + +.z-1 { + z-index: 1 !important; +} + +.z-2 { + z-index: 2 !important; +} + +.z-3 { + z-index: 3 !important; +} + +@media (min-width: 576px) { + .z-sm-n1 { + z-index: -1 !important; + } + + .z-sm-0 { + z-index: 0 !important; + } + + .z-sm-1 { + z-index: 1 !important; + } + + .z-sm-2 { + z-index: 2 !important; + } + + .z-sm-3 { + z-index: 3 !important; + } +} + +@media (min-width: 768px) { + .z-md-n1 { + z-index: -1 !important; + } + + .z-md-0 { + z-index: 0 !important; + } + + .z-md-1 { + z-index: 1 !important; + } + + .z-md-2 { + z-index: 2 !important; + } + + .z-md-3 { + z-index: 3 !important; + } +} + +@media (min-width: 992px) { + .z-lg-n1 { + z-index: -1 !important; + } + + .z-lg-0 { + z-index: 0 !important; + } + + .z-lg-1 { + z-index: 1 !important; + } + + .z-lg-2 { + z-index: 2 !important; + } + + .z-lg-3 { + z-index: 3 !important; + } +} + +@media (min-width: 1200px) { + .z-xl-n1 { + z-index: -1 !important; + } + + .z-xl-0 { + z-index: 0 !important; + } + + .z-xl-1 { + z-index: 1 !important; + } + + .z-xl-2 { + z-index: 2 !important; + } + + .z-xl-3 { + z-index: 3 !important; + } +} + +@media (min-width: 1400px) { + .z-xxl-n1 { + z-index: -1 !important; + } + + .z-xxl-0 { + z-index: 0 !important; + } + + .z-xxl-1 { + z-index: 1 !important; + } + + .z-xxl-2 { + z-index: 2 !important; + } + + .z-xxl-3 { + z-index: 3 !important; + } +} diff --git a/modules/analyze/html/external/halfmoon-ui/halfmoon.rtl.min.css b/modules/analyze/html/external/halfmoon-ui/halfmoon.rtl.min.css new file mode 100644 index 0000000..f73cb0c --- /dev/null +++ b/modules/analyze/html/external/halfmoon-ui/halfmoon.rtl.min.css @@ -0,0 +1,22 @@ +@charset "UTF-8"; +/*! + * ---------------------------------------------------------------------------- + * Halfmoon CSS + * Version: 2.0.1 + * https://www.gethalfmoon.com + * Copyright (c) 2023, Tahmid Khan + * Licensed under MIT (https://www.gethalfmoon.com/license) + * ---------------------------------------------------------------------------- + * The above notice must be included in its entirety when this file is used. + */ +/*! + * The following notice(s) is/are provided to honor the licenses of 3rd party + * software used to build Halfmoon. + * ---------------------------------------------------------------------------- + * Bootstrap (https://getbootstrap.com/) + * Copyright 2011-2023 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + * ---------------------------------------------------------------------------- + */ +@keyframes progress-bar-stripes{0%{background-position-x:.625rem}}@keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-wave{to{-webkit-mask-position:-200%0;mask-position:-200%0}}:root,[data-bs-theme=light]{--bs-checkbox-svg-light:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");--bs-checkbox-svg-dark:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23222' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");--bs-dash-svg-light: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");--bs-dash-svg-dark:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23222' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");--bs-radio-svg-light: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");--bs-radio-svg-dark:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23222'/%3e%3c/svg%3e");--bs-switch-svg-light: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");--bs-switch-svg-dark:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23222'/%3e%3c/svg%3e");--bs-switch-svg-unchecked:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23bcbec2'/%3e%3c/svg%3e")}[data-bs-theme=dark]{--bs-switch-svg-unchecked:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23494b50'/%3e%3c/svg%3e")}:root,[data-bs-theme=light]{--bs-black-hsl:0, 0%, 0%;--bs-black:hsl(var(--bs-black-hsl));--bs-white-hsl:0, 0%, 100%;--bs-white:hsl(var(--bs-white-hsl));--bs-mistyrose-hue:0;--bs-mistyrose-saturation:5%;--bs-stone-hue:25;--bs-stone-saturation:5%;--bs-sand-hue:60;--bs-sand-saturation:5%;--bs-sage-hue:152;--bs-sage-saturation:6%;--bs-slate-hue:214.3;--bs-slate-saturation:12.3%;--bs-neutral-hue:218;--bs-neutral-saturation:5%;--bs-zinc-hue:240;--bs-zinc-saturation:4%;--bs-mauve-hue:331;--bs-mauve-saturation:7.5%;--bs-lightgray-hue:var(--bs-neutral-hue);--bs-lightgray-saturation:var(--bs-neutral-saturation);--bs-lightgray-100-hsl:var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 97.5%;--bs-lightgray-200-hsl:var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 95%;--bs-lightgray-300-hsl:var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 92.5%;--bs-lightgray-400-hsl:var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 90%;--bs-lightgray-500-hsl:var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 87.5%;--bs-lightgray-600-hsl:var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 85%;--bs-lightgray-700-hsl:var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 80%;--bs-lightgray-800-hsl:var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 75%;--bs-lightgray-900-hsl:var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 70%;--bs-lightgray-100:hsl(var(--bs-lightgray-100-hsl));--bs-lightgray-200:hsl(var(--bs-lightgray-200-hsl));--bs-lightgray-300:hsl(var(--bs-lightgray-300-hsl));--bs-lightgray-400:hsl(var(--bs-lightgray-400-hsl));--bs-lightgray-500:hsl(var(--bs-lightgray-500-hsl));--bs-lightgray-600:hsl(var(--bs-lightgray-600-hsl));--bs-lightgray-700:hsl(var(--bs-lightgray-700-hsl));--bs-lightgray-800:hsl(var(--bs-lightgray-800-hsl));--bs-lightgray-900:hsl(var(--bs-lightgray-900-hsl));--bs-lightgray-hsl:var(--bs-lightgray-500-hsl);--bs-lightgray:hsl(var(--bs-lightgray-hsl));--bs-lightgray-foreground-hsl:var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 10%;--bs-lightgray-foreground:hsl(var(--bs-lightgray-foreground-hsl));--bs-lightgray-text-emphasis-hsl:var(--bs-lightgray-600-hsl);--bs-lightgray-text-emphasis:hsl(var(--bs-lightgray-text-emphasis-hsl));--bs-lightgray-hover-bg:var(--bs-lightgray-400);--bs-lightgray-active-bg:var(--bs-lightgray-300);--bs-lightgray-bg-subtle:hsl(var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 97.5%);--bs-lightgray-border-subtle:var(--bs-lightgray-400);--bs-lightgray-checkbox-svg:var(--bs-checkbox-svg-dark);--bs-lightgray-dash-svg:var(--bs-dash-svg-dark);--bs-lightgray-radio-svg:var(--bs-radio-svg-dark);--bs-lightgray-switch-svg:var(--bs-switch-svg-dark);--bs-gray-hue:var(--bs-lightgray-hue);--bs-gray-saturation:var(--bs-lightgray-saturation);--bs-gray-100-hsl:var(--bs-gray-hue), var(--bs-gray-saturation), 85%;--bs-gray-200-hsl:var(--bs-gray-hue), var(--bs-gray-saturation), 75%;--bs-gray-300-hsl:var(--bs-gray-hue), var(--bs-gray-saturation), 65%;--bs-gray-400-hsl:var(--bs-gray-hue), var(--bs-gray-saturation), 55%;--bs-gray-500-hsl:var(--bs-gray-hue), var(--bs-gray-saturation), 45%;--bs-gray-600-hsl:var(--bs-gray-hue), var(--bs-gray-saturation), 40%;--bs-gray-700-hsl:var(--bs-gray-hue), var(--bs-gray-saturation), 35%;--bs-gray-800-hsl:var(--bs-gray-hue), var(--bs-gray-saturation), 30%;--bs-gray-900-hsl:var(--bs-gray-hue), var(--bs-gray-saturation), 25%;--bs-gray-100:hsl(var(--bs-gray-100-hsl));--bs-gray-200:hsl(var(--bs-gray-200-hsl));--bs-gray-300:hsl(var(--bs-gray-300-hsl));--bs-gray-400:hsl(var(--bs-gray-400-hsl));--bs-gray-500:hsl(var(--bs-gray-500-hsl));--bs-gray-600:hsl(var(--bs-gray-600-hsl));--bs-gray-700:hsl(var(--bs-gray-700-hsl));--bs-gray-800:hsl(var(--bs-gray-800-hsl));--bs-gray-900:hsl(var(--bs-gray-900-hsl));--bs-gray-hsl:var(--bs-gray-500-hsl);--bs-gray:hsl(var(--bs-gray-hsl));--bs-gray-foreground-hsl:var(--bs-white-hsl);--bs-gray-foreground:hsl(var(--bs-gray-foreground-hsl));--bs-gray-text-emphasis-hsl:var(--bs-gray-600-hsl);--bs-gray-text-emphasis:hsl(var(--bs-gray-text-emphasis-hsl));--bs-gray-hover-bg:var(--bs-gray-600);--bs-gray-active-bg:var(--bs-gray-700);--bs-gray-bg-subtle:hsl(var(--bs-gray-hue), var(--bs-gray-saturation), 95%);--bs-gray-border-subtle:var(--bs-gray-400);--bs-gray-checkbox-svg:var(--bs-checkbox-svg-light);--bs-gray-dash-svg:var(--bs-dash-svg-light);--bs-gray-radio-svg:var(--bs-radio-svg-light);--bs-gray-switch-svg:var(--bs-switch-svg-light);--bs-darkgray-hue:var(--bs-slate-hue);--bs-darkgray-saturation:var(--bs-slate-saturation);--bs-darkgray-100-hsl:var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 75%;--bs-darkgray-200-hsl:var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 65%;--bs-darkgray-300-hsl:var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 55%;--bs-darkgray-400-hsl:var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 45%;--bs-darkgray-500-hsl:var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 35%;--bs-darkgray-600-hsl:var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 30%;--bs-darkgray-700-hsl:var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 25%;--bs-darkgray-800-hsl:var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 20%;--bs-darkgray-900-hsl:var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 17.5%;--bs-darkgray-100:hsl(var(--bs-darkgray-100-hsl));--bs-darkgray-200:hsl(var(--bs-darkgray-200-hsl));--bs-darkgray-300:hsl(var(--bs-darkgray-300-hsl));--bs-darkgray-400:hsl(var(--bs-darkgray-400-hsl));--bs-darkgray-500:hsl(var(--bs-darkgray-500-hsl));--bs-darkgray-600:hsl(var(--bs-darkgray-600-hsl));--bs-darkgray-700:hsl(var(--bs-darkgray-700-hsl));--bs-darkgray-800:hsl(var(--bs-darkgray-800-hsl));--bs-darkgray-900:hsl(var(--bs-darkgray-900-hsl));--bs-darkgray-hsl:var(--bs-darkgray-500-hsl);--bs-darkgray:hsl(var(--bs-darkgray-hsl));--bs-darkgray-foreground-hsl:var(--bs-white-hsl);--bs-darkgray-foreground:hsl(var(--bs-darkgray-foreground-hsl));--bs-darkgray-text-emphasis-hsl:var(--bs-darkgray-600-hsl);--bs-darkgray-text-emphasis:hsl(var(--bs-darkgray-text-emphasis-hsl));--bs-darkgray-hover-bg:var(--bs-darkgray-600);--bs-darkgray-active-bg:var(--bs-darkgray-700);--bs-darkgray-bg-subtle:hsl(var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 80%);--bs-darkgray-border-subtle:var(--bs-darkgray-400);--bs-darkgray-checkbox-svg:var(--bs-checkbox-svg-light);--bs-darkgray-dash-svg:var(--bs-dash-svg-light);--bs-darkgray-radio-svg:var(--bs-radio-svg-light);--bs-darkgray-switch-svg:var(--bs-switch-svg-light);--bs-sable-hue:var(--bs-darkgray-hue);--bs-sable-saturation:var(--bs-darkgray-saturation);--bs-sable-100-hsl:var(--bs-sable-hue), var(--bs-sable-saturation), 28%;--bs-sable-200-hsl:var(--bs-sable-hue), var(--bs-sable-saturation), 26%;--bs-sable-300-hsl:var(--bs-sable-hue), var(--bs-sable-saturation), 24%;--bs-sable-400-hsl:var(--bs-sable-hue), var(--bs-sable-saturation), 22%;--bs-sable-500-hsl:var(--bs-sable-hue), var(--bs-sable-saturation), 20%;--bs-sable-600-hsl:var(--bs-sable-hue), var(--bs-sable-saturation), 18%;--bs-sable-700-hsl:var(--bs-sable-hue), var(--bs-sable-saturation), 16%;--bs-sable-800-hsl:var(--bs-sable-hue), var(--bs-sable-saturation), 15%;--bs-sable-900-hsl:var(--bs-sable-hue), var(--bs-sable-saturation), 14%;--bs-sable-100:hsl(var(--bs-sable-100-hsl));--bs-sable-200:hsl(var(--bs-sable-200-hsl));--bs-sable-300:hsl(var(--bs-sable-300-hsl));--bs-sable-400:hsl(var(--bs-sable-400-hsl));--bs-sable-500:hsl(var(--bs-sable-500-hsl));--bs-sable-600:hsl(var(--bs-sable-600-hsl));--bs-sable-700:hsl(var(--bs-sable-700-hsl));--bs-sable-800:hsl(var(--bs-sable-800-hsl));--bs-sable-900:hsl(var(--bs-sable-900-hsl));--bs-sable-hsl:var(--bs-sable-500-hsl);--bs-sable:hsl(var(--bs-sable-hsl));--bs-sable-foreground-hsl:var(--bs-white-hsl);--bs-sable-foreground:hsl(var(--bs-sable-foreground-hsl));--bs-sable-text-emphasis-hsl:var(--bs-sable-600-hsl);--bs-sable-text-emphasis:hsl(var(--bs-sable-text-emphasis-hsl));--bs-sable-hover-bg:var(--bs-sable-600);--bs-sable-active-bg:var(--bs-sable-700);--bs-sable-bg-subtle:hsl(var(--bs-sable-hue), var(--bs-sable-saturation), 70%);--bs-sable-border-subtle:var(--bs-sable-400);--bs-sable-checkbox-svg:var(--bs-checkbox-svg-light);--bs-sable-dash-svg:var(--bs-dash-svg-light);--bs-sable-radio-svg:var(--bs-radio-svg-light);--bs-sable-switch-svg:var(--bs-switch-svg-light);--bs-red-hue:0;--bs-red-saturation:67.5%;--bs-red-100-hsl:var(--bs-red-hue), var(--bs-red-saturation), 90%;--bs-red-200-hsl:var(--bs-red-hue), var(--bs-red-saturation), 80%;--bs-red-300-hsl:var(--bs-red-hue), var(--bs-red-saturation), 70%;--bs-red-400-hsl:var(--bs-red-hue), var(--bs-red-saturation), 60%;--bs-red-500-hsl:var(--bs-red-hue), var(--bs-red-saturation), 50%;--bs-red-600-hsl:var(--bs-red-hue), var(--bs-red-saturation), 40%;--bs-red-700-hsl:var(--bs-red-hue), var(--bs-red-saturation), 30%;--bs-red-800-hsl:var(--bs-red-hue), var(--bs-red-saturation), 20%;--bs-red-900-hsl:var(--bs-red-hue), var(--bs-red-saturation), 10%;--bs-red-100:hsl(var(--bs-red-100-hsl));--bs-red-200:hsl(var(--bs-red-200-hsl));--bs-red-300:hsl(var(--bs-red-300-hsl));--bs-red-400:hsl(var(--bs-red-400-hsl));--bs-red-500:hsl(var(--bs-red-500-hsl));--bs-red-600:hsl(var(--bs-red-600-hsl));--bs-red-700:hsl(var(--bs-red-700-hsl));--bs-red-800:hsl(var(--bs-red-800-hsl));--bs-red-900:hsl(var(--bs-red-900-hsl));--bs-red-hsl:var(--bs-red-500-hsl);--bs-red:hsl(var(--bs-red-hsl));--bs-red-foreground-hsl:var(--bs-white-hsl);--bs-red-foreground:hsl(var(--bs-red-foreground-hsl));--bs-red-text-emphasis-hsl:var(--bs-red-600-hsl);--bs-red-text-emphasis:hsl(var(--bs-red-text-emphasis-hsl));--bs-red-hover-bg:var(--bs-red-600);--bs-red-active-bg:var(--bs-red-700);--bs-red-bg-subtle:hsl(var(--bs-red-hue), var(--bs-red-saturation), 95%);--bs-red-border-subtle:var(--bs-red-400);--bs-red-checkbox-svg:var(--bs-checkbox-svg-light);--bs-red-dash-svg:var(--bs-dash-svg-light);--bs-red-radio-svg:var(--bs-radio-svg-light);--bs-red-switch-svg:var(--bs-switch-svg-light);--bs-orange-hue:17;--bs-orange-saturation:88%;--bs-orange-100-hsl:var(--bs-orange-hue), var(--bs-orange-saturation), 90%;--bs-orange-200-hsl:var(--bs-orange-hue), var(--bs-orange-saturation), 80%;--bs-orange-300-hsl:var(--bs-orange-hue), var(--bs-orange-saturation), 70%;--bs-orange-400-hsl:var(--bs-orange-hue), var(--bs-orange-saturation), 60%;--bs-orange-500-hsl:var(--bs-orange-hue), var(--bs-orange-saturation), 50%;--bs-orange-600-hsl:var(--bs-orange-hue), var(--bs-orange-saturation), 40%;--bs-orange-700-hsl:var(--bs-orange-hue), var(--bs-orange-saturation), 30%;--bs-orange-800-hsl:var(--bs-orange-hue), var(--bs-orange-saturation), 20%;--bs-orange-900-hsl:var(--bs-orange-hue), var(--bs-orange-saturation), 10%;--bs-orange-100:hsl(var(--bs-orange-100-hsl));--bs-orange-200:hsl(var(--bs-orange-200-hsl));--bs-orange-300:hsl(var(--bs-orange-300-hsl));--bs-orange-400:hsl(var(--bs-orange-400-hsl));--bs-orange-500:hsl(var(--bs-orange-500-hsl));--bs-orange-600:hsl(var(--bs-orange-600-hsl));--bs-orange-700:hsl(var(--bs-orange-700-hsl));--bs-orange-800:hsl(var(--bs-orange-800-hsl));--bs-orange-900:hsl(var(--bs-orange-900-hsl));--bs-orange-hsl:var(--bs-orange-hue), var(--bs-orange-saturation), 44%;--bs-orange:hsl(var(--bs-orange-hsl));--bs-orange-foreground-hsl:var(--bs-white-hsl);--bs-orange-foreground:hsl(var(--bs-orange-foreground-hsl));--bs-orange-text-emphasis-hsl:var(--bs-orange-600-hsl);--bs-orange-text-emphasis:hsl(var(--bs-orange-text-emphasis-hsl));--bs-orange-hover-bg:var(--bs-orange-600);--bs-orange-active-bg:var(--bs-orange-700);--bs-orange-bg-subtle:hsl(var(--bs-orange-hue), var(--bs-orange-saturation), 95%);--bs-orange-border-subtle:var(--bs-orange-400);--bs-orange-checkbox-svg:var(--bs-checkbox-svg-light);--bs-orange-dash-svg:var(--bs-dash-svg-light);--bs-orange-radio-svg:var(--bs-radio-svg-light);--bs-orange-switch-svg:var(--bs-switch-svg-light);--bs-sienna-hue:25;--bs-sienna-saturation:50%;--bs-sienna-100-hsl:var(--bs-sienna-hue), var(--bs-sienna-saturation), 90%;--bs-sienna-200-hsl:var(--bs-sienna-hue), var(--bs-sienna-saturation), 80%;--bs-sienna-300-hsl:var(--bs-sienna-hue), var(--bs-sienna-saturation), 70%;--bs-sienna-400-hsl:var(--bs-sienna-hue), var(--bs-sienna-saturation), 60%;--bs-sienna-500-hsl:var(--bs-sienna-hue), var(--bs-sienna-saturation), 50%;--bs-sienna-600-hsl:var(--bs-sienna-hue), var(--bs-sienna-saturation), 40%;--bs-sienna-700-hsl:var(--bs-sienna-hue), var(--bs-sienna-saturation), 30%;--bs-sienna-800-hsl:var(--bs-sienna-hue), var(--bs-sienna-saturation), 20%;--bs-sienna-900-hsl:var(--bs-sienna-hue), var(--bs-sienna-saturation), 10%;--bs-sienna-100:hsl(var(--bs-sienna-100-hsl));--bs-sienna-200:hsl(var(--bs-sienna-200-hsl));--bs-sienna-300:hsl(var(--bs-sienna-300-hsl));--bs-sienna-400:hsl(var(--bs-sienna-400-hsl));--bs-sienna-500:hsl(var(--bs-sienna-500-hsl));--bs-sienna-600:hsl(var(--bs-sienna-600-hsl));--bs-sienna-700:hsl(var(--bs-sienna-700-hsl));--bs-sienna-800:hsl(var(--bs-sienna-800-hsl));--bs-sienna-900:hsl(var(--bs-sienna-900-hsl));--bs-sienna-hsl:var(--bs-sienna-600-hsl);--bs-sienna:hsl(var(--bs-sienna-hsl));--bs-sienna-foreground-hsl:var(--bs-white-hsl);--bs-sienna-foreground:hsl(var(--bs-sienna-foreground-hsl));--bs-sienna-text-emphasis-hsl:var(--bs-sienna-700-hsl);--bs-sienna-text-emphasis:hsl(var(--bs-sienna-text-emphasis-hsl));--bs-sienna-hover-bg:var(--bs-sienna-700);--bs-sienna-active-bg:var(--bs-sienna-800);--bs-sienna-bg-subtle:hsl(var(--bs-sienna-hue), var(--bs-sienna-saturation), 95%);--bs-sienna-border-subtle:var(--bs-sienna-400);--bs-sienna-checkbox-svg:var(--bs-checkbox-svg-light);--bs-sienna-dash-svg:var(--bs-dash-svg-light);--bs-sienna-radio-svg:var(--bs-radio-svg-light);--bs-sienna-switch-svg:var(--bs-switch-svg-light);--bs-amber-hue:38;--bs-amber-saturation:92%;--bs-amber-100-hsl:var(--bs-amber-hue), var(--bs-amber-saturation), 90%;--bs-amber-200-hsl:var(--bs-amber-hue), var(--bs-amber-saturation), 80%;--bs-amber-300-hsl:var(--bs-amber-hue), var(--bs-amber-saturation), 70%;--bs-amber-400-hsl:var(--bs-amber-hue), var(--bs-amber-saturation), 60%;--bs-amber-500-hsl:var(--bs-amber-hue), var(--bs-amber-saturation), 50%;--bs-amber-600-hsl:var(--bs-amber-hue), var(--bs-amber-saturation), 40%;--bs-amber-700-hsl:var(--bs-amber-hue), var(--bs-amber-saturation), 30%;--bs-amber-800-hsl:var(--bs-amber-hue), var(--bs-amber-saturation), 20%;--bs-amber-900-hsl:var(--bs-amber-hue), var(--bs-amber-saturation), 10%;--bs-amber-100:hsl(var(--bs-amber-100-hsl));--bs-amber-200:hsl(var(--bs-amber-200-hsl));--bs-amber-300:hsl(var(--bs-amber-300-hsl));--bs-amber-400:hsl(var(--bs-amber-400-hsl));--bs-amber-500:hsl(var(--bs-amber-500-hsl));--bs-amber-600:hsl(var(--bs-amber-600-hsl));--bs-amber-700:hsl(var(--bs-amber-700-hsl));--bs-amber-800:hsl(var(--bs-amber-800-hsl));--bs-amber-900:hsl(var(--bs-amber-900-hsl));--bs-amber-hsl:var(--bs-amber-500-hsl);--bs-amber:hsl(var(--bs-amber-hsl));--bs-amber-foreground-hsl:var(--bs-amber-900-hsl);--bs-amber-foreground:hsl(var(--bs-amber-foreground-hsl));--bs-amber-text-emphasis-hsl:var(--bs-amber-700-hsl);--bs-amber-text-emphasis:hsl(var(--bs-amber-text-emphasis-hsl));--bs-amber-hover-bg:var(--bs-amber-400);--bs-amber-active-bg:var(--bs-amber-300);--bs-amber-bg-subtle:hsl(var(--bs-amber-hue), var(--bs-amber-saturation), 95%);--bs-amber-border-subtle:var(--bs-amber-400);--bs-amber-checkbox-svg:var(--bs-checkbox-svg-dark);--bs-amber-dash-svg:var(--bs-dash-svg-dark);--bs-amber-radio-svg:var(--bs-radio-svg-dark);--bs-amber-switch-svg:var(--bs-switch-svg-dark);--bs-yellow-hue:50;--bs-yellow-saturation:93%;--bs-yellow-100-hsl:var(--bs-yellow-hue), var(--bs-yellow-saturation), 90%;--bs-yellow-200-hsl:var(--bs-yellow-hue), var(--bs-yellow-saturation), 80%;--bs-yellow-300-hsl:var(--bs-yellow-hue), var(--bs-yellow-saturation), 70%;--bs-yellow-400-hsl:var(--bs-yellow-hue), var(--bs-yellow-saturation), 60%;--bs-yellow-500-hsl:var(--bs-yellow-hue), var(--bs-yellow-saturation), 50%;--bs-yellow-600-hsl:var(--bs-yellow-hue), var(--bs-yellow-saturation), 40%;--bs-yellow-700-hsl:var(--bs-yellow-hue), var(--bs-yellow-saturation), 30%;--bs-yellow-800-hsl:var(--bs-yellow-hue), var(--bs-yellow-saturation), 20%;--bs-yellow-900-hsl:var(--bs-yellow-hue), var(--bs-yellow-saturation), 10%;--bs-yellow-100:hsl(var(--bs-yellow-100-hsl));--bs-yellow-200:hsl(var(--bs-yellow-200-hsl));--bs-yellow-300:hsl(var(--bs-yellow-300-hsl));--bs-yellow-400:hsl(var(--bs-yellow-400-hsl));--bs-yellow-500:hsl(var(--bs-yellow-500-hsl));--bs-yellow-600:hsl(var(--bs-yellow-600-hsl));--bs-yellow-700:hsl(var(--bs-yellow-700-hsl));--bs-yellow-800:hsl(var(--bs-yellow-800-hsl));--bs-yellow-900:hsl(var(--bs-yellow-900-hsl));--bs-yellow-hsl:var(--bs-yellow-500-hsl);--bs-yellow:hsl(var(--bs-yellow-hsl));--bs-yellow-foreground-hsl:var(--bs-yellow-900-hsl);--bs-yellow-foreground:hsl(var(--bs-yellow-foreground-hsl));--bs-yellow-text-emphasis-hsl:var(--bs-yellow-hue), var(--bs-yellow-saturation), 25%;--bs-yellow-text-emphasis:hsl(var(--bs-yellow-text-emphasis-hsl));--bs-yellow-hover-bg:var(--bs-yellow-400);--bs-yellow-active-bg:var(--bs-yellow-300);--bs-yellow-bg-subtle:hsl(var(--bs-yellow-hue), var(--bs-yellow-saturation), 95%);--bs-yellow-border-subtle:var(--bs-yellow-400);--bs-yellow-checkbox-svg:var(--bs-checkbox-svg-dark);--bs-yellow-dash-svg:var(--bs-dash-svg-dark);--bs-yellow-radio-svg:var(--bs-radio-svg-dark);--bs-yellow-switch-svg:var(--bs-switch-svg-dark);--bs-lime-hue:83;--bs-lime-saturation:78%;--bs-lime-100-hsl:var(--bs-lime-hue), var(--bs-lime-saturation), 90%;--bs-lime-200-hsl:var(--bs-lime-hue), var(--bs-lime-saturation), 80%;--bs-lime-300-hsl:var(--bs-lime-hue), var(--bs-lime-saturation), 70%;--bs-lime-400-hsl:var(--bs-lime-hue), var(--bs-lime-saturation), 60%;--bs-lime-500-hsl:var(--bs-lime-hue), var(--bs-lime-saturation), 50%;--bs-lime-600-hsl:var(--bs-lime-hue), var(--bs-lime-saturation), 40%;--bs-lime-700-hsl:var(--bs-lime-hue), var(--bs-lime-saturation), 30%;--bs-lime-800-hsl:var(--bs-lime-hue), var(--bs-lime-saturation), 20%;--bs-lime-900-hsl:var(--bs-lime-hue), var(--bs-lime-saturation), 10%;--bs-lime-100:hsl(var(--bs-lime-100-hsl));--bs-lime-200:hsl(var(--bs-lime-200-hsl));--bs-lime-300:hsl(var(--bs-lime-300-hsl));--bs-lime-400:hsl(var(--bs-lime-400-hsl));--bs-lime-500:hsl(var(--bs-lime-500-hsl));--bs-lime-600:hsl(var(--bs-lime-600-hsl));--bs-lime-700:hsl(var(--bs-lime-700-hsl));--bs-lime-800:hsl(var(--bs-lime-800-hsl));--bs-lime-900:hsl(var(--bs-lime-900-hsl));--bs-lime-hsl:var(--bs-lime-500-hsl);--bs-lime:hsl(var(--bs-lime-hsl));--bs-lime-foreground-hsl:var(--bs-lime-900-hsl);--bs-lime-foreground:hsl(var(--bs-lime-foreground-hsl));--bs-lime-text-emphasis-hsl:var(--bs-lime-hue), var(--bs-lime-saturation), 27.5%;--bs-lime-text-emphasis:hsl(var(--bs-lime-text-emphasis-hsl));--bs-lime-hover-bg:var(--bs-lime-400);--bs-lime-active-bg:var(--bs-lime-300);--bs-lime-bg-subtle:hsl(var(--bs-lime-hue), var(--bs-lime-saturation), 95%);--bs-lime-border-subtle:var(--bs-lime-400);--bs-lime-checkbox-svg:var(--bs-checkbox-svg-dark);--bs-lime-dash-svg:var(--bs-dash-svg-dark);--bs-lime-radio-svg:var(--bs-radio-svg-dark);--bs-lime-switch-svg:var(--bs-switch-svg-dark);--bs-green-hue:145;--bs-green-saturation:52%;--bs-green-100-hsl:var(--bs-green-hue), var(--bs-green-saturation), 90%;--bs-green-200-hsl:var(--bs-green-hue), var(--bs-green-saturation), 80%;--bs-green-300-hsl:var(--bs-green-hue), var(--bs-green-saturation), 70%;--bs-green-400-hsl:var(--bs-green-hue), var(--bs-green-saturation), 60%;--bs-green-500-hsl:var(--bs-green-hue), var(--bs-green-saturation), 50%;--bs-green-600-hsl:var(--bs-green-hue), var(--bs-green-saturation), 40%;--bs-green-700-hsl:var(--bs-green-hue), var(--bs-green-saturation), 30%;--bs-green-800-hsl:var(--bs-green-hue), var(--bs-green-saturation), 20%;--bs-green-900-hsl:var(--bs-green-hue), var(--bs-green-saturation), 10%;--bs-green-100:hsl(var(--bs-green-100-hsl));--bs-green-200:hsl(var(--bs-green-200-hsl));--bs-green-300:hsl(var(--bs-green-300-hsl));--bs-green-400:hsl(var(--bs-green-400-hsl));--bs-green-500:hsl(var(--bs-green-500-hsl));--bs-green-600:hsl(var(--bs-green-600-hsl));--bs-green-700:hsl(var(--bs-green-700-hsl));--bs-green-800:hsl(var(--bs-green-800-hsl));--bs-green-900:hsl(var(--bs-green-900-hsl));--bs-green-hsl:var(--bs-green-hue), var(--bs-green-saturation), 34%;--bs-green:hsl(var(--bs-green-hsl));--bs-green-foreground-hsl:var(--bs-white-hsl);--bs-green-foreground:hsl(var(--bs-green-foreground-hsl));--bs-green-text-emphasis-hsl:var(--bs-green-700-hsl);--bs-green-text-emphasis:hsl(var(--bs-green-text-emphasis-hsl));--bs-green-hover-bg:var(--bs-green-700);--bs-green-active-bg:var(--bs-green-800);--bs-green-bg-subtle:hsl(var(--bs-green-hue), var(--bs-green-saturation), 95%);--bs-green-border-subtle:var(--bs-green-400);--bs-green-checkbox-svg:var(--bs-checkbox-svg-light);--bs-green-dash-svg:var(--bs-dash-svg-light);--bs-green-radio-svg:var(--bs-radio-svg-light);--bs-green-switch-svg:var(--bs-switch-svg-light);--bs-emerald-hue:160;--bs-emerald-saturation:84%;--bs-emerald-100-hsl:var(--bs-emerald-hue), var(--bs-emerald-saturation), 90%;--bs-emerald-200-hsl:var(--bs-emerald-hue), var(--bs-emerald-saturation), 80%;--bs-emerald-300-hsl:var(--bs-emerald-hue), var(--bs-emerald-saturation), 70%;--bs-emerald-400-hsl:var(--bs-emerald-hue), var(--bs-emerald-saturation), 60%;--bs-emerald-500-hsl:var(--bs-emerald-hue), var(--bs-emerald-saturation), 50%;--bs-emerald-600-hsl:var(--bs-emerald-hue), var(--bs-emerald-saturation), 40%;--bs-emerald-700-hsl:var(--bs-emerald-hue), var(--bs-emerald-saturation), 30%;--bs-emerald-800-hsl:var(--bs-emerald-hue), var(--bs-emerald-saturation), 20%;--bs-emerald-900-hsl:var(--bs-emerald-hue), var(--bs-emerald-saturation), 10%;--bs-emerald-100:hsl(var(--bs-emerald-100-hsl));--bs-emerald-200:hsl(var(--bs-emerald-200-hsl));--bs-emerald-300:hsl(var(--bs-emerald-300-hsl));--bs-emerald-400:hsl(var(--bs-emerald-400-hsl));--bs-emerald-500:hsl(var(--bs-emerald-500-hsl));--bs-emerald-600:hsl(var(--bs-emerald-600-hsl));--bs-emerald-700:hsl(var(--bs-emerald-700-hsl));--bs-emerald-800:hsl(var(--bs-emerald-800-hsl));--bs-emerald-900:hsl(var(--bs-emerald-900-hsl));--bs-emerald-hsl:var(--bs-emerald-500-hsl);--bs-emerald:hsl(var(--bs-emerald-hsl));--bs-emerald-foreground-hsl:var(--bs-emerald-900-hsl);--bs-emerald-foreground:hsl(var(--bs-emerald-foreground-hsl));--bs-emerald-text-emphasis-hsl:var(--bs-emerald-hue), var(--bs-emerald-saturation), 27.5%;--bs-emerald-text-emphasis:hsl(var(--bs-emerald-text-emphasis-hsl));--bs-emerald-hover-bg:var(--bs-emerald-400);--bs-emerald-active-bg:var(--bs-emerald-300);--bs-emerald-bg-subtle:hsl(var(--bs-emerald-hue), var(--bs-emerald-saturation), 95%);--bs-emerald-border-subtle:var(--bs-emerald-400);--bs-emerald-checkbox-svg:var(--bs-checkbox-svg-dark);--bs-emerald-dash-svg:var(--bs-dash-svg-dark);--bs-emerald-radio-svg:var(--bs-radio-svg-dark);--bs-emerald-switch-svg:var(--bs-switch-svg-dark);--bs-turquoise-hue:168;--bs-turquoise-saturation:52%;--bs-turquoise-100-hsl:var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 90%;--bs-turquoise-200-hsl:var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 80%;--bs-turquoise-300-hsl:var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 70%;--bs-turquoise-400-hsl:var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 60%;--bs-turquoise-500-hsl:var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 50%;--bs-turquoise-600-hsl:var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 40%;--bs-turquoise-700-hsl:var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 30%;--bs-turquoise-800-hsl:var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 20%;--bs-turquoise-900-hsl:var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 10%;--bs-turquoise-100:hsl(var(--bs-turquoise-100-hsl));--bs-turquoise-200:hsl(var(--bs-turquoise-200-hsl));--bs-turquoise-300:hsl(var(--bs-turquoise-300-hsl));--bs-turquoise-400:hsl(var(--bs-turquoise-400-hsl));--bs-turquoise-500:hsl(var(--bs-turquoise-500-hsl));--bs-turquoise-600:hsl(var(--bs-turquoise-600-hsl));--bs-turquoise-700:hsl(var(--bs-turquoise-700-hsl));--bs-turquoise-800:hsl(var(--bs-turquoise-800-hsl));--bs-turquoise-900:hsl(var(--bs-turquoise-900-hsl));--bs-turquoise-hsl:var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 34%;--bs-turquoise:hsl(var(--bs-turquoise-hsl));--bs-turquoise-foreground-hsl:var(--bs-white-hsl);--bs-turquoise-foreground:hsl(var(--bs-turquoise-foreground-hsl));--bs-turquoise-text-emphasis-hsl:var(--bs-turquoise-700-hsl);--bs-turquoise-text-emphasis:hsl(var(--bs-turquoise-text-emphasis-hsl));--bs-turquoise-hover-bg:var(--bs-turquoise-700);--bs-turquoise-active-bg:var(--bs-turquoise-800);--bs-turquoise-bg-subtle:hsl(var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 95%);--bs-turquoise-border-subtle:var(--bs-turquoise-400);--bs-turquoise-checkbox-svg:var(--bs-checkbox-svg-light);--bs-turquoise-dash-svg:var(--bs-dash-svg-light);--bs-turquoise-radio-svg:var(--bs-radio-svg-light);--bs-turquoise-switch-svg:var(--bs-switch-svg-light);--bs-teal-hue:173;--bs-teal-saturation:80%;--bs-teal-100-hsl:var(--bs-teal-hue), var(--bs-teal-saturation), 90%;--bs-teal-200-hsl:var(--bs-teal-hue), var(--bs-teal-saturation), 80%;--bs-teal-300-hsl:var(--bs-teal-hue), var(--bs-teal-saturation), 70%;--bs-teal-400-hsl:var(--bs-teal-hue), var(--bs-teal-saturation), 60%;--bs-teal-500-hsl:var(--bs-teal-hue), var(--bs-teal-saturation), 50%;--bs-teal-600-hsl:var(--bs-teal-hue), var(--bs-teal-saturation), 40%;--bs-teal-700-hsl:var(--bs-teal-hue), var(--bs-teal-saturation), 30%;--bs-teal-800-hsl:var(--bs-teal-hue), var(--bs-teal-saturation), 20%;--bs-teal-900-hsl:var(--bs-teal-hue), var(--bs-teal-saturation), 10%;--bs-teal-100:hsl(var(--bs-teal-100-hsl));--bs-teal-200:hsl(var(--bs-teal-200-hsl));--bs-teal-300:hsl(var(--bs-teal-300-hsl));--bs-teal-400:hsl(var(--bs-teal-400-hsl));--bs-teal-500:hsl(var(--bs-teal-500-hsl));--bs-teal-600:hsl(var(--bs-teal-600-hsl));--bs-teal-700:hsl(var(--bs-teal-700-hsl));--bs-teal-800:hsl(var(--bs-teal-800-hsl));--bs-teal-900:hsl(var(--bs-teal-900-hsl));--bs-teal-hsl:var(--bs-teal-500-hsl);--bs-teal:hsl(var(--bs-teal-hsl));--bs-teal-foreground-hsl:var(--bs-teal-900-hsl);--bs-teal-foreground:hsl(var(--bs-teal-foreground-hsl));--bs-teal-text-emphasis-hsl:var(--bs-teal-hue), var(--bs-teal-saturation), 27.5%;--bs-teal-text-emphasis:hsl(var(--bs-teal-text-emphasis-hsl));--bs-teal-hover-bg:var(--bs-teal-400);--bs-teal-active-bg:var(--bs-teal-300);--bs-teal-bg-subtle:hsl(var(--bs-teal-hue), var(--bs-teal-saturation), 95%);--bs-teal-border-subtle:var(--bs-teal-400);--bs-teal-checkbox-svg:var(--bs-checkbox-svg-dark);--bs-teal-dash-svg:var(--bs-dash-svg-dark);--bs-teal-radio-svg:var(--bs-radio-svg-dark);--bs-teal-switch-svg:var(--bs-switch-svg-dark);--bs-cyan-hue:189;--bs-cyan-saturation:94%;--bs-cyan-100-hsl:var(--bs-cyan-hue), var(--bs-cyan-saturation), 90%;--bs-cyan-200-hsl:var(--bs-cyan-hue), var(--bs-cyan-saturation), 80%;--bs-cyan-300-hsl:var(--bs-cyan-hue), var(--bs-cyan-saturation), 70%;--bs-cyan-400-hsl:var(--bs-cyan-hue), var(--bs-cyan-saturation), 60%;--bs-cyan-500-hsl:var(--bs-cyan-hue), var(--bs-cyan-saturation), 50%;--bs-cyan-600-hsl:var(--bs-cyan-hue), var(--bs-cyan-saturation), 40%;--bs-cyan-700-hsl:var(--bs-cyan-hue), var(--bs-cyan-saturation), 30%;--bs-cyan-800-hsl:var(--bs-cyan-hue), var(--bs-cyan-saturation), 20%;--bs-cyan-900-hsl:var(--bs-cyan-hue), var(--bs-cyan-saturation), 10%;--bs-cyan-100:hsl(var(--bs-cyan-100-hsl));--bs-cyan-200:hsl(var(--bs-cyan-200-hsl));--bs-cyan-300:hsl(var(--bs-cyan-300-hsl));--bs-cyan-400:hsl(var(--bs-cyan-400-hsl));--bs-cyan-500:hsl(var(--bs-cyan-500-hsl));--bs-cyan-600:hsl(var(--bs-cyan-600-hsl));--bs-cyan-700:hsl(var(--bs-cyan-700-hsl));--bs-cyan-800:hsl(var(--bs-cyan-800-hsl));--bs-cyan-900:hsl(var(--bs-cyan-900-hsl));--bs-cyan-hsl:var(--bs-cyan-500-hsl);--bs-cyan:hsl(var(--bs-cyan-hsl));--bs-cyan-foreground-hsl:var(--bs-cyan-900-hsl);--bs-cyan-foreground:hsl(var(--bs-cyan-foreground-hsl));--bs-cyan-text-emphasis-hsl:var(--bs-cyan-700-hsl);--bs-cyan-text-emphasis:hsl(var(--bs-cyan-text-emphasis-hsl));--bs-cyan-hover-bg:var(--bs-cyan-400);--bs-cyan-active-bg:var(--bs-cyan-300);--bs-cyan-bg-subtle:hsl(var(--bs-cyan-hue), var(--bs-cyan-saturation), 95%);--bs-cyan-border-subtle:var(--bs-cyan-400);--bs-cyan-checkbox-svg:var(--bs-checkbox-svg-dark);--bs-cyan-dash-svg:var(--bs-dash-svg-dark);--bs-cyan-radio-svg:var(--bs-radio-svg-dark);--bs-cyan-switch-svg:var(--bs-switch-svg-dark);--bs-sky-hue:198;--bs-sky-saturation:100%;--bs-sky-100-hsl:var(--bs-sky-hue), var(--bs-sky-saturation), 90%;--bs-sky-200-hsl:var(--bs-sky-hue), var(--bs-sky-saturation), 80%;--bs-sky-300-hsl:var(--bs-sky-hue), var(--bs-sky-saturation), 70%;--bs-sky-400-hsl:var(--bs-sky-hue), var(--bs-sky-saturation), 60%;--bs-sky-500-hsl:var(--bs-sky-hue), var(--bs-sky-saturation), 50%;--bs-sky-600-hsl:var(--bs-sky-hue), var(--bs-sky-saturation), 40%;--bs-sky-700-hsl:var(--bs-sky-hue), var(--bs-sky-saturation), 30%;--bs-sky-800-hsl:var(--bs-sky-hue), var(--bs-sky-saturation), 20%;--bs-sky-900-hsl:var(--bs-sky-hue), var(--bs-sky-saturation), 10%;--bs-sky-100:hsl(var(--bs-sky-100-hsl));--bs-sky-200:hsl(var(--bs-sky-200-hsl));--bs-sky-300:hsl(var(--bs-sky-300-hsl));--bs-sky-400:hsl(var(--bs-sky-400-hsl));--bs-sky-500:hsl(var(--bs-sky-500-hsl));--bs-sky-600:hsl(var(--bs-sky-600-hsl));--bs-sky-700:hsl(var(--bs-sky-700-hsl));--bs-sky-800:hsl(var(--bs-sky-800-hsl));--bs-sky-900:hsl(var(--bs-sky-900-hsl));--bs-sky-hsl:var(--bs-sky-500-hsl);--bs-sky:hsl(var(--bs-sky-hsl));--bs-sky-foreground-hsl:var(--bs-sky-900-hsl);--bs-sky-foreground:hsl(var(--bs-sky-foreground-hsl));--bs-sky-text-emphasis-hsl:var(--bs-sky-700-hsl);--bs-sky-text-emphasis:hsl(var(--bs-sky-text-emphasis-hsl));--bs-sky-hover-bg:var(--bs-sky-400);--bs-sky-active-bg:var(--bs-sky-300);--bs-sky-bg-subtle:hsl(var(--bs-sky-hue), var(--bs-sky-saturation), 95%);--bs-sky-border-subtle:var(--bs-sky-400);--bs-sky-checkbox-svg:var(--bs-checkbox-svg-dark);--bs-sky-dash-svg:var(--bs-dash-svg-dark);--bs-sky-radio-svg:var(--bs-radio-svg-dark);--bs-sky-switch-svg:var(--bs-switch-svg-dark);--bs-blue-hue:216;--bs-blue-saturation:100%;--bs-blue-100-hsl:var(--bs-blue-hue), var(--bs-blue-saturation), 90%;--bs-blue-200-hsl:var(--bs-blue-hue), var(--bs-blue-saturation), 80%;--bs-blue-300-hsl:var(--bs-blue-hue), var(--bs-blue-saturation), 70%;--bs-blue-400-hsl:var(--bs-blue-hue), var(--bs-blue-saturation), 60%;--bs-blue-500-hsl:var(--bs-blue-hue), var(--bs-blue-saturation), 50%;--bs-blue-600-hsl:var(--bs-blue-hue), var(--bs-blue-saturation), 40%;--bs-blue-700-hsl:var(--bs-blue-hue), var(--bs-blue-saturation), 30%;--bs-blue-800-hsl:var(--bs-blue-hue), var(--bs-blue-saturation), 20%;--bs-blue-900-hsl:var(--bs-blue-hue), var(--bs-blue-saturation), 10%;--bs-blue-100:hsl(var(--bs-blue-100-hsl));--bs-blue-200:hsl(var(--bs-blue-200-hsl));--bs-blue-300:hsl(var(--bs-blue-300-hsl));--bs-blue-400:hsl(var(--bs-blue-400-hsl));--bs-blue-500:hsl(var(--bs-blue-500-hsl));--bs-blue-600:hsl(var(--bs-blue-600-hsl));--bs-blue-700:hsl(var(--bs-blue-700-hsl));--bs-blue-800:hsl(var(--bs-blue-800-hsl));--bs-blue-900:hsl(var(--bs-blue-900-hsl));--bs-blue-hsl:var(--bs-blue-500-hsl);--bs-blue:hsl(var(--bs-blue-hsl));--bs-blue-foreground-hsl:var(--bs-white-hsl);--bs-blue-foreground:hsl(var(--bs-blue-foreground-hsl));--bs-blue-text-emphasis-hsl:var(--bs-blue-600-hsl);--bs-blue-text-emphasis:hsl(var(--bs-blue-text-emphasis-hsl));--bs-blue-hover-bg:var(--bs-blue-600);--bs-blue-active-bg:var(--bs-blue-700);--bs-blue-bg-subtle:hsl(var(--bs-blue-hue), var(--bs-blue-saturation), 95%);--bs-blue-border-subtle:var(--bs-blue-400);--bs-blue-checkbox-svg:var(--bs-checkbox-svg-light);--bs-blue-dash-svg:var(--bs-dash-svg-light);--bs-blue-radio-svg:var(--bs-radio-svg-light);--bs-blue-switch-svg:var(--bs-switch-svg-light);--bs-navy-hue:235;--bs-navy-saturation:85%;--bs-navy-100-hsl:var(--bs-navy-hue), var(--bs-navy-saturation), 90%;--bs-navy-200-hsl:var(--bs-navy-hue), var(--bs-navy-saturation), 80%;--bs-navy-300-hsl:var(--bs-navy-hue), var(--bs-navy-saturation), 70%;--bs-navy-400-hsl:var(--bs-navy-hue), var(--bs-navy-saturation), 60%;--bs-navy-500-hsl:var(--bs-navy-hue), var(--bs-navy-saturation), 50%;--bs-navy-600-hsl:var(--bs-navy-hue), var(--bs-navy-saturation), 40%;--bs-navy-700-hsl:var(--bs-navy-hue), var(--bs-navy-saturation), 30%;--bs-navy-800-hsl:var(--bs-navy-hue), var(--bs-navy-saturation), 20%;--bs-navy-900-hsl:var(--bs-navy-hue), var(--bs-navy-saturation), 10%;--bs-navy-100:hsl(var(--bs-navy-100-hsl));--bs-navy-200:hsl(var(--bs-navy-200-hsl));--bs-navy-300:hsl(var(--bs-navy-300-hsl));--bs-navy-400:hsl(var(--bs-navy-400-hsl));--bs-navy-500:hsl(var(--bs-navy-500-hsl));--bs-navy-600:hsl(var(--bs-navy-600-hsl));--bs-navy-700:hsl(var(--bs-navy-700-hsl));--bs-navy-800:hsl(var(--bs-navy-800-hsl));--bs-navy-900:hsl(var(--bs-navy-900-hsl));--bs-navy-hsl:var(--bs-navy-500-hsl);--bs-navy:hsl(var(--bs-navy-hsl));--bs-navy-foreground-hsl:var(--bs-white-hsl);--bs-navy-foreground:hsl(var(--bs-navy-foreground-hsl));--bs-navy-text-emphasis-hsl:var(--bs-navy-600-hsl);--bs-navy-text-emphasis:hsl(var(--bs-navy-text-emphasis-hsl));--bs-navy-hover-bg:var(--bs-navy-600);--bs-navy-active-bg:var(--bs-navy-700);--bs-navy-bg-subtle:hsl(var(--bs-navy-hue), var(--bs-navy-saturation), 95%);--bs-navy-border-subtle:var(--bs-navy-400);--bs-navy-checkbox-svg:var(--bs-checkbox-svg-light);--bs-navy-dash-svg:var(--bs-dash-svg-light);--bs-navy-radio-svg:var(--bs-radio-svg-light);--bs-navy-switch-svg:var(--bs-switch-svg-light);--bs-indigo-hue:241;--bs-indigo-saturation:60%;--bs-indigo-100-hsl:var(--bs-indigo-hue), var(--bs-indigo-saturation), 90%;--bs-indigo-200-hsl:var(--bs-indigo-hue), var(--bs-indigo-saturation), 80%;--bs-indigo-300-hsl:var(--bs-indigo-hue), var(--bs-indigo-saturation), 70%;--bs-indigo-400-hsl:var(--bs-indigo-hue), var(--bs-indigo-saturation), 60%;--bs-indigo-500-hsl:var(--bs-indigo-hue), var(--bs-indigo-saturation), 50%;--bs-indigo-600-hsl:var(--bs-indigo-hue), var(--bs-indigo-saturation), 40%;--bs-indigo-700-hsl:var(--bs-indigo-hue), var(--bs-indigo-saturation), 30%;--bs-indigo-800-hsl:var(--bs-indigo-hue), var(--bs-indigo-saturation), 20%;--bs-indigo-900-hsl:var(--bs-indigo-hue), var(--bs-indigo-saturation), 10%;--bs-indigo-100:hsl(var(--bs-indigo-100-hsl));--bs-indigo-200:hsl(var(--bs-indigo-200-hsl));--bs-indigo-300:hsl(var(--bs-indigo-300-hsl));--bs-indigo-400:hsl(var(--bs-indigo-400-hsl));--bs-indigo-500:hsl(var(--bs-indigo-500-hsl));--bs-indigo-600:hsl(var(--bs-indigo-600-hsl));--bs-indigo-700:hsl(var(--bs-indigo-700-hsl));--bs-indigo-800:hsl(var(--bs-indigo-800-hsl));--bs-indigo-900:hsl(var(--bs-indigo-900-hsl));--bs-indigo-hsl:var(--bs-indigo-500-hsl);--bs-indigo:hsl(var(--bs-indigo-hsl));--bs-indigo-foreground-hsl:var(--bs-white-hsl);--bs-indigo-foreground:hsl(var(--bs-indigo-foreground-hsl));--bs-indigo-text-emphasis-hsl:var(--bs-indigo-600-hsl);--bs-indigo-text-emphasis:hsl(var(--bs-indigo-text-emphasis-hsl));--bs-indigo-hover-bg:var(--bs-indigo-600);--bs-indigo-active-bg:var(--bs-indigo-700);--bs-indigo-bg-subtle:hsl(var(--bs-indigo-hue), var(--bs-indigo-saturation), 95%);--bs-indigo-border-subtle:var(--bs-indigo-400);--bs-indigo-checkbox-svg:var(--bs-checkbox-svg-light);--bs-indigo-dash-svg:var(--bs-dash-svg-light);--bs-indigo-radio-svg:var(--bs-radio-svg-light);--bs-indigo-switch-svg:var(--bs-switch-svg-light);--bs-violet-hue:262;--bs-violet-saturation:83%;--bs-violet-100-hsl:var(--bs-violet-hue), var(--bs-violet-saturation), 90%;--bs-violet-200-hsl:var(--bs-violet-hue), var(--bs-violet-saturation), 80%;--bs-violet-300-hsl:var(--bs-violet-hue), var(--bs-violet-saturation), 70%;--bs-violet-400-hsl:var(--bs-violet-hue), var(--bs-violet-saturation), 60%;--bs-violet-500-hsl:var(--bs-violet-hue), var(--bs-violet-saturation), 50%;--bs-violet-600-hsl:var(--bs-violet-hue), var(--bs-violet-saturation), 40%;--bs-violet-700-hsl:var(--bs-violet-hue), var(--bs-violet-saturation), 30%;--bs-violet-800-hsl:var(--bs-violet-hue), var(--bs-violet-saturation), 20%;--bs-violet-900-hsl:var(--bs-violet-hue), var(--bs-violet-saturation), 10%;--bs-violet-100:hsl(var(--bs-violet-100-hsl));--bs-violet-200:hsl(var(--bs-violet-200-hsl));--bs-violet-300:hsl(var(--bs-violet-300-hsl));--bs-violet-400:hsl(var(--bs-violet-400-hsl));--bs-violet-500:hsl(var(--bs-violet-500-hsl));--bs-violet-600:hsl(var(--bs-violet-600-hsl));--bs-violet-700:hsl(var(--bs-violet-700-hsl));--bs-violet-800:hsl(var(--bs-violet-800-hsl));--bs-violet-900:hsl(var(--bs-violet-900-hsl));--bs-violet-hsl:var(--bs-violet-500-hsl);--bs-violet:hsl(var(--bs-violet-hsl));--bs-violet-foreground-hsl:var(--bs-white-hsl);--bs-violet-foreground:hsl(var(--bs-violet-foreground-hsl));--bs-violet-text-emphasis-hsl:var(--bs-violet-600-hsl);--bs-violet-text-emphasis:hsl(var(--bs-violet-text-emphasis-hsl));--bs-violet-hover-bg:var(--bs-violet-600);--bs-violet-active-bg:var(--bs-violet-700);--bs-violet-bg-subtle:hsl(var(--bs-violet-hue), var(--bs-violet-saturation), 95%);--bs-violet-border-subtle:var(--bs-violet-400);--bs-violet-checkbox-svg:var(--bs-checkbox-svg-light);--bs-violet-dash-svg:var(--bs-dash-svg-light);--bs-violet-radio-svg:var(--bs-radio-svg-light);--bs-violet-switch-svg:var(--bs-switch-svg-light);--bs-purple-hue:271;--bs-purple-saturation:80%;--bs-purple-100-hsl:var(--bs-purple-hue), var(--bs-purple-saturation), 90%;--bs-purple-200-hsl:var(--bs-purple-hue), var(--bs-purple-saturation), 80%;--bs-purple-300-hsl:var(--bs-purple-hue), var(--bs-purple-saturation), 70%;--bs-purple-400-hsl:var(--bs-purple-hue), var(--bs-purple-saturation), 60%;--bs-purple-500-hsl:var(--bs-purple-hue), var(--bs-purple-saturation), 50%;--bs-purple-600-hsl:var(--bs-purple-hue), var(--bs-purple-saturation), 40%;--bs-purple-700-hsl:var(--bs-purple-hue), var(--bs-purple-saturation), 30%;--bs-purple-800-hsl:var(--bs-purple-hue), var(--bs-purple-saturation), 20%;--bs-purple-900-hsl:var(--bs-purple-hue), var(--bs-purple-saturation), 10%;--bs-purple-100:hsl(var(--bs-purple-100-hsl));--bs-purple-200:hsl(var(--bs-purple-200-hsl));--bs-purple-300:hsl(var(--bs-purple-300-hsl));--bs-purple-400:hsl(var(--bs-purple-400-hsl));--bs-purple-500:hsl(var(--bs-purple-500-hsl));--bs-purple-600:hsl(var(--bs-purple-600-hsl));--bs-purple-700:hsl(var(--bs-purple-700-hsl));--bs-purple-800:hsl(var(--bs-purple-800-hsl));--bs-purple-900:hsl(var(--bs-purple-900-hsl));--bs-purple-hsl:var(--bs-purple-500-hsl);--bs-purple:hsl(var(--bs-purple-hsl));--bs-purple-foreground-hsl:var(--bs-white-hsl);--bs-purple-foreground:hsl(var(--bs-purple-foreground-hsl));--bs-purple-text-emphasis-hsl:var(--bs-purple-600-hsl);--bs-purple-text-emphasis:hsl(var(--bs-purple-text-emphasis-hsl));--bs-purple-hover-bg:var(--bs-purple-600);--bs-purple-active-bg:var(--bs-purple-700);--bs-purple-bg-subtle:hsl(var(--bs-purple-hue), var(--bs-purple-saturation), 95%);--bs-purple-border-subtle:var(--bs-purple-400);--bs-purple-checkbox-svg:var(--bs-checkbox-svg-light);--bs-purple-dash-svg:var(--bs-dash-svg-light);--bs-purple-radio-svg:var(--bs-radio-svg-light);--bs-purple-switch-svg:var(--bs-switch-svg-light);--bs-fuchsia-hue:292;--bs-fuchsia-saturation:52.5%;--bs-fuchsia-100-hsl:var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 90%;--bs-fuchsia-200-hsl:var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 80%;--bs-fuchsia-300-hsl:var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 70%;--bs-fuchsia-400-hsl:var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 60%;--bs-fuchsia-500-hsl:var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 50%;--bs-fuchsia-600-hsl:var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 40%;--bs-fuchsia-700-hsl:var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 30%;--bs-fuchsia-800-hsl:var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 20%;--bs-fuchsia-900-hsl:var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 10%;--bs-fuchsia-100:hsl(var(--bs-fuchsia-100-hsl));--bs-fuchsia-200:hsl(var(--bs-fuchsia-200-hsl));--bs-fuchsia-300:hsl(var(--bs-fuchsia-300-hsl));--bs-fuchsia-400:hsl(var(--bs-fuchsia-400-hsl));--bs-fuchsia-500:hsl(var(--bs-fuchsia-500-hsl));--bs-fuchsia-600:hsl(var(--bs-fuchsia-600-hsl));--bs-fuchsia-700:hsl(var(--bs-fuchsia-700-hsl));--bs-fuchsia-800:hsl(var(--bs-fuchsia-800-hsl));--bs-fuchsia-900:hsl(var(--bs-fuchsia-900-hsl));--bs-fuchsia-hsl:var(--bs-fuchsia-500-hsl);--bs-fuchsia:hsl(var(--bs-fuchsia-hsl));--bs-fuchsia-foreground-hsl:var(--bs-white-hsl);--bs-fuchsia-foreground:hsl(var(--bs-fuchsia-foreground-hsl));--bs-fuchsia-text-emphasis-hsl:var(--bs-fuchsia-600-hsl);--bs-fuchsia-text-emphasis:hsl(var(--bs-fuchsia-text-emphasis-hsl));--bs-fuchsia-hover-bg:var(--bs-fuchsia-600);--bs-fuchsia-active-bg:var(--bs-fuchsia-700);--bs-fuchsia-bg-subtle:hsl(var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 95%);--bs-fuchsia-border-subtle:var(--bs-fuchsia-400);--bs-fuchsia-checkbox-svg:var(--bs-checkbox-svg-light);--bs-fuchsia-dash-svg:var(--bs-dash-svg-light);--bs-fuchsia-radio-svg:var(--bs-radio-svg-light);--bs-fuchsia-switch-svg:var(--bs-switch-svg-light);--bs-pink-hue:331;--bs-pink-saturation:60%;--bs-pink-100-hsl:var(--bs-pink-hue), var(--bs-pink-saturation), 90%;--bs-pink-200-hsl:var(--bs-pink-hue), var(--bs-pink-saturation), 80%;--bs-pink-300-hsl:var(--bs-pink-hue), var(--bs-pink-saturation), 70%;--bs-pink-400-hsl:var(--bs-pink-hue), var(--bs-pink-saturation), 60%;--bs-pink-500-hsl:var(--bs-pink-hue), var(--bs-pink-saturation), 50%;--bs-pink-600-hsl:var(--bs-pink-hue), var(--bs-pink-saturation), 40%;--bs-pink-700-hsl:var(--bs-pink-hue), var(--bs-pink-saturation), 30%;--bs-pink-800-hsl:var(--bs-pink-hue), var(--bs-pink-saturation), 20%;--bs-pink-900-hsl:var(--bs-pink-hue), var(--bs-pink-saturation), 10%;--bs-pink-100:hsl(var(--bs-pink-100-hsl));--bs-pink-200:hsl(var(--bs-pink-200-hsl));--bs-pink-300:hsl(var(--bs-pink-300-hsl));--bs-pink-400:hsl(var(--bs-pink-400-hsl));--bs-pink-500:hsl(var(--bs-pink-500-hsl));--bs-pink-600:hsl(var(--bs-pink-600-hsl));--bs-pink-700:hsl(var(--bs-pink-700-hsl));--bs-pink-800:hsl(var(--bs-pink-800-hsl));--bs-pink-900:hsl(var(--bs-pink-900-hsl));--bs-pink-hsl:var(--bs-pink-500-hsl);--bs-pink:hsl(var(--bs-pink-hsl));--bs-pink-foreground-hsl:var(--bs-white-hsl);--bs-pink-foreground:hsl(var(--bs-pink-foreground-hsl));--bs-pink-text-emphasis-hsl:var(--bs-pink-600-hsl);--bs-pink-text-emphasis:hsl(var(--bs-pink-text-emphasis-hsl));--bs-pink-hover-bg:var(--bs-pink-600);--bs-pink-active-bg:var(--bs-pink-700);--bs-pink-bg-subtle:hsl(var(--bs-pink-hue), var(--bs-pink-saturation), 95%);--bs-pink-border-subtle:var(--bs-pink-400);--bs-pink-checkbox-svg:var(--bs-checkbox-svg-light);--bs-pink-dash-svg:var(--bs-dash-svg-light);--bs-pink-radio-svg:var(--bs-radio-svg-light);--bs-pink-switch-svg:var(--bs-switch-svg-light);--bs-primary-hue:var(--bs-blue-hue);--bs-primary-saturation:var(--bs-blue-saturation);--bs-primary-100-hsl:var(--bs-blue-100-hsl);--bs-primary-200-hsl:var(--bs-blue-200-hsl);--bs-primary-300-hsl:var(--bs-blue-300-hsl);--bs-primary-400-hsl:var(--bs-blue-400-hsl);--bs-primary-500-hsl:var(--bs-blue-500-hsl);--bs-primary-600-hsl:var(--bs-blue-600-hsl);--bs-primary-700-hsl:var(--bs-blue-700-hsl);--bs-primary-800-hsl:var(--bs-blue-800-hsl);--bs-primary-900-hsl:var(--bs-blue-900-hsl);--bs-primary-100:var(--bs-blue-100);--bs-primary-200:var(--bs-blue-200);--bs-primary-300:var(--bs-blue-300);--bs-primary-400:var(--bs-blue-400);--bs-primary-500:var(--bs-blue-500);--bs-primary-600:var(--bs-blue-600);--bs-primary-700:var(--bs-blue-700);--bs-primary-800:var(--bs-blue-800);--bs-primary-900:var(--bs-blue-900);--bs-primary-hsl:var(--bs-blue-hsl);--bs-primary:var(--bs-blue);--bs-primary-foreground-hsl:var(--bs-blue-foreground-hsl);--bs-primary-foreground:var(--bs-blue-foreground);--bs-primary-text-emphasis-hsl:var(--bs-blue-text-emphasis-hsl);--bs-primary-text-emphasis:var(--bs-blue-text-emphasis);--bs-primary-hover-bg:var(--bs-blue-hover-bg);--bs-primary-active-bg:var(--bs-blue-active-bg);--bs-primary-bg-subtle:var(--bs-blue-bg-subtle);--bs-primary-border-subtle:var(--bs-blue-border-subtle);--bs-primary-checkbox-svg:var(--bs-blue-checkbox-svg);--bs-primary-dash-svg:var(--bs-blue-dash-svg);--bs-primary-radio-svg:var(--bs-blue-radio-svg);--bs-primary-switch-svg:var(--bs-blue-switch-svg);--bs-secondary-hue:var(--bs-gray-hue);--bs-secondary-saturation:var(--bs-gray-saturation);--bs-secondary-100-hsl:var(--bs-gray-100-hsl);--bs-secondary-200-hsl:var(--bs-gray-200-hsl);--bs-secondary-300-hsl:var(--bs-gray-300-hsl);--bs-secondary-400-hsl:var(--bs-gray-400-hsl);--bs-secondary-500-hsl:var(--bs-gray-500-hsl);--bs-secondary-600-hsl:var(--bs-gray-600-hsl);--bs-secondary-700-hsl:var(--bs-gray-700-hsl);--bs-secondary-800-hsl:var(--bs-gray-800-hsl);--bs-secondary-900-hsl:var(--bs-gray-900-hsl);--bs-secondary-100:var(--bs-gray-100);--bs-secondary-200:var(--bs-gray-200);--bs-secondary-300:var(--bs-gray-300);--bs-secondary-400:var(--bs-gray-400);--bs-secondary-500:var(--bs-gray-500);--bs-secondary-600:var(--bs-gray-600);--bs-secondary-700:var(--bs-gray-700);--bs-secondary-800:var(--bs-gray-800);--bs-secondary-900:var(--bs-gray-900);--bs-secondary-hsl:var(--bs-gray-hsl);--bs-secondary:var(--bs-gray);--bs-secondary-foreground-hsl:var(--bs-gray-foreground-hsl);--bs-secondary-foreground:var(--bs-gray-foreground);--bs-secondary-text-emphasis-hsl:var(--bs-gray-text-emphasis-hsl);--bs-secondary-text-emphasis:var(--bs-gray-text-emphasis);--bs-secondary-hover-bg:var(--bs-gray-hover-bg);--bs-secondary-active-bg:var(--bs-gray-active-bg);--bs-secondary-bg-subtle:var(--bs-gray-bg-subtle);--bs-secondary-border-subtle:var(--bs-gray-border-subtle);--bs-secondary-checkbox-svg:var(--bs-gray-checkbox-svg);--bs-secondary-dash-svg:var(--bs-gray-dash-svg);--bs-secondary-radio-svg:var(--bs-gray-radio-svg);--bs-secondary-switch-svg:var(--bs-gray-switch-svg);--bs-success-hue:var(--bs-green-hue);--bs-success-saturation:var(--bs-green-saturation);--bs-success-100-hsl:var(--bs-green-100-hsl);--bs-success-200-hsl:var(--bs-green-200-hsl);--bs-success-300-hsl:var(--bs-green-300-hsl);--bs-success-400-hsl:var(--bs-green-400-hsl);--bs-success-500-hsl:var(--bs-green-500-hsl);--bs-success-600-hsl:var(--bs-green-600-hsl);--bs-success-700-hsl:var(--bs-green-700-hsl);--bs-success-800-hsl:var(--bs-green-800-hsl);--bs-success-900-hsl:var(--bs-green-900-hsl);--bs-success-100:var(--bs-green-100);--bs-success-200:var(--bs-green-200);--bs-success-300:var(--bs-green-300);--bs-success-400:var(--bs-green-400);--bs-success-500:var(--bs-green-500);--bs-success-600:var(--bs-green-600);--bs-success-700:var(--bs-green-700);--bs-success-800:var(--bs-green-800);--bs-success-900:var(--bs-green-900);--bs-success-hsl:var(--bs-green-hsl);--bs-success:var(--bs-green);--bs-success-foreground-hsl:var(--bs-green-foreground-hsl);--bs-success-foreground:var(--bs-green-foreground);--bs-success-text-emphasis-hsl:var(--bs-green-text-emphasis-hsl);--bs-success-text-emphasis:var(--bs-green-text-emphasis);--bs-success-hover-bg:var(--bs-green-hover-bg);--bs-success-active-bg:var(--bs-green-active-bg);--bs-success-bg-subtle:var(--bs-green-bg-subtle);--bs-success-border-subtle:var(--bs-green-border-subtle);--bs-success-checkbox-svg:var(--bs-green-checkbox-svg);--bs-success-dash-svg:var(--bs-green-dash-svg);--bs-success-radio-svg:var(--bs-green-radio-svg);--bs-success-switch-svg:var(--bs-green-switch-svg);--bs-info-hue:var(--bs-cyan-hue);--bs-info-saturation:var(--bs-cyan-saturation);--bs-info-100-hsl:var(--bs-cyan-100-hsl);--bs-info-200-hsl:var(--bs-cyan-200-hsl);--bs-info-300-hsl:var(--bs-cyan-300-hsl);--bs-info-400-hsl:var(--bs-cyan-400-hsl);--bs-info-500-hsl:var(--bs-cyan-500-hsl);--bs-info-600-hsl:var(--bs-cyan-600-hsl);--bs-info-700-hsl:var(--bs-cyan-700-hsl);--bs-info-800-hsl:var(--bs-cyan-800-hsl);--bs-info-900-hsl:var(--bs-cyan-900-hsl);--bs-info-100:var(--bs-cyan-100);--bs-info-200:var(--bs-cyan-200);--bs-info-300:var(--bs-cyan-300);--bs-info-400:var(--bs-cyan-400);--bs-info-500:var(--bs-cyan-500);--bs-info-600:var(--bs-cyan-600);--bs-info-700:var(--bs-cyan-700);--bs-info-800:var(--bs-cyan-800);--bs-info-900:var(--bs-cyan-900);--bs-info-hsl:var(--bs-cyan-hsl);--bs-info:var(--bs-cyan);--bs-info-foreground-hsl:var(--bs-cyan-foreground-hsl);--bs-info-foreground:var(--bs-cyan-foreground);--bs-info-text-emphasis-hsl:var(--bs-cyan-text-emphasis-hsl);--bs-info-text-emphasis:var(--bs-cyan-text-emphasis);--bs-info-hover-bg:var(--bs-cyan-hover-bg);--bs-info-active-bg:var(--bs-cyan-active-bg);--bs-info-bg-subtle:var(--bs-cyan-bg-subtle);--bs-info-border-subtle:var(--bs-cyan-border-subtle);--bs-info-checkbox-svg:var(--bs-cyan-checkbox-svg);--bs-info-dash-svg:var(--bs-cyan-dash-svg);--bs-info-radio-svg:var(--bs-cyan-radio-svg);--bs-info-switch-svg:var(--bs-cyan-switch-svg);--bs-warning-hue:var(--bs-yellow-hue);--bs-warning-saturation:var(--bs-yellow-saturation);--bs-warning-100-hsl:var(--bs-yellow-100-hsl);--bs-warning-200-hsl:var(--bs-yellow-200-hsl);--bs-warning-300-hsl:var(--bs-yellow-300-hsl);--bs-warning-400-hsl:var(--bs-yellow-400-hsl);--bs-warning-500-hsl:var(--bs-yellow-500-hsl);--bs-warning-600-hsl:var(--bs-yellow-600-hsl);--bs-warning-700-hsl:var(--bs-yellow-700-hsl);--bs-warning-800-hsl:var(--bs-yellow-800-hsl);--bs-warning-900-hsl:var(--bs-yellow-900-hsl);--bs-warning-100:var(--bs-yellow-100);--bs-warning-200:var(--bs-yellow-200);--bs-warning-300:var(--bs-yellow-300);--bs-warning-400:var(--bs-yellow-400);--bs-warning-500:var(--bs-yellow-500);--bs-warning-600:var(--bs-yellow-600);--bs-warning-700:var(--bs-yellow-700);--bs-warning-800:var(--bs-yellow-800);--bs-warning-900:var(--bs-yellow-900);--bs-warning-hsl:var(--bs-yellow-hsl);--bs-warning:var(--bs-yellow);--bs-warning-foreground-hsl:var(--bs-yellow-foreground-hsl);--bs-warning-foreground:var(--bs-yellow-foreground);--bs-warning-text-emphasis-hsl:var(--bs-yellow-text-emphasis-hsl);--bs-warning-text-emphasis:var(--bs-yellow-text-emphasis);--bs-warning-hover-bg:var(--bs-yellow-hover-bg);--bs-warning-active-bg:var(--bs-yellow-active-bg);--bs-warning-bg-subtle:var(--bs-yellow-bg-subtle);--bs-warning-border-subtle:var(--bs-yellow-border-subtle);--bs-warning-checkbox-svg:var(--bs-yellow-checkbox-svg);--bs-warning-dash-svg:var(--bs-yellow-dash-svg);--bs-warning-radio-svg:var(--bs-yellow-radio-svg);--bs-warning-switch-svg:var(--bs-yellow-switch-svg);--bs-danger-hue:var(--bs-red-hue);--bs-danger-saturation:var(--bs-red-saturation);--bs-danger-100-hsl:var(--bs-red-100-hsl);--bs-danger-200-hsl:var(--bs-red-200-hsl);--bs-danger-300-hsl:var(--bs-red-300-hsl);--bs-danger-400-hsl:var(--bs-red-400-hsl);--bs-danger-500-hsl:var(--bs-red-500-hsl);--bs-danger-600-hsl:var(--bs-red-600-hsl);--bs-danger-700-hsl:var(--bs-red-700-hsl);--bs-danger-800-hsl:var(--bs-red-800-hsl);--bs-danger-900-hsl:var(--bs-red-900-hsl);--bs-danger-100:var(--bs-red-100);--bs-danger-200:var(--bs-red-200);--bs-danger-300:var(--bs-red-300);--bs-danger-400:var(--bs-red-400);--bs-danger-500:var(--bs-red-500);--bs-danger-600:var(--bs-red-600);--bs-danger-700:var(--bs-red-700);--bs-danger-800:var(--bs-red-800);--bs-danger-900:var(--bs-red-900);--bs-danger-hsl:var(--bs-red-hsl);--bs-danger:var(--bs-red);--bs-danger-foreground-hsl:var(--bs-red-foreground-hsl);--bs-danger-foreground:var(--bs-red-foreground);--bs-danger-text-emphasis-hsl:var(--bs-red-text-emphasis-hsl);--bs-danger-text-emphasis:var(--bs-red-text-emphasis);--bs-danger-hover-bg:var(--bs-red-hover-bg);--bs-danger-active-bg:var(--bs-red-active-bg);--bs-danger-bg-subtle:var(--bs-red-bg-subtle);--bs-danger-border-subtle:var(--bs-red-border-subtle);--bs-danger-checkbox-svg:var(--bs-red-checkbox-svg);--bs-danger-dash-svg:var(--bs-red-dash-svg);--bs-danger-radio-svg:var(--bs-red-radio-svg);--bs-danger-switch-svg:var(--bs-red-switch-svg);--bs-light-hue:var(--bs-lightgray-hue);--bs-light-saturation:var(--bs-lightgray-saturation);--bs-light-100-hsl:var(--bs-lightgray-100-hsl);--bs-light-200-hsl:var(--bs-lightgray-200-hsl);--bs-light-300-hsl:var(--bs-lightgray-300-hsl);--bs-light-400-hsl:var(--bs-lightgray-400-hsl);--bs-light-500-hsl:var(--bs-lightgray-500-hsl);--bs-light-600-hsl:var(--bs-lightgray-600-hsl);--bs-light-700-hsl:var(--bs-lightgray-700-hsl);--bs-light-800-hsl:var(--bs-lightgray-800-hsl);--bs-light-900-hsl:var(--bs-lightgray-900-hsl);--bs-light-100:var(--bs-lightgray-100);--bs-light-200:var(--bs-lightgray-200);--bs-light-300:var(--bs-lightgray-300);--bs-light-400:var(--bs-lightgray-400);--bs-light-500:var(--bs-lightgray-500);--bs-light-600:var(--bs-lightgray-600);--bs-light-700:var(--bs-lightgray-700);--bs-light-800:var(--bs-lightgray-800);--bs-light-900:var(--bs-lightgray-900);--bs-light-hsl:var(--bs-lightgray-hsl);--bs-light:var(--bs-lightgray);--bs-light-foreground-hsl:var(--bs-lightgray-foreground-hsl);--bs-light-foreground:var(--bs-lightgray-foreground);--bs-light-text-emphasis-hsl:var(--bs-lightgray-text-emphasis-hsl);--bs-light-text-emphasis:var(--bs-lightgray-text-emphasis);--bs-light-hover-bg:var(--bs-lightgray-hover-bg);--bs-light-active-bg:var(--bs-lightgray-active-bg);--bs-light-bg-subtle:var(--bs-lightgray-bg-subtle);--bs-light-border-subtle:var(--bs-lightgray-border-subtle);--bs-light-checkbox-svg:var(--bs-lightgray-checkbox-svg);--bs-light-dash-svg:var(--bs-lightgray-dash-svg);--bs-light-radio-svg:var(--bs-lightgray-radio-svg);--bs-light-switch-svg:var(--bs-lightgray-switch-svg);--bs-dark-hue:var(--bs-darkgray-hue);--bs-dark-saturation:var(--bs-darkgray-saturation);--bs-dark-100-hsl:var(--bs-darkgray-100-hsl);--bs-dark-200-hsl:var(--bs-darkgray-200-hsl);--bs-dark-300-hsl:var(--bs-darkgray-300-hsl);--bs-dark-400-hsl:var(--bs-darkgray-400-hsl);--bs-dark-500-hsl:var(--bs-darkgray-500-hsl);--bs-dark-600-hsl:var(--bs-darkgray-600-hsl);--bs-dark-700-hsl:var(--bs-darkgray-700-hsl);--bs-dark-800-hsl:var(--bs-darkgray-800-hsl);--bs-dark-900-hsl:var(--bs-darkgray-900-hsl);--bs-dark-100:var(--bs-darkgray-100);--bs-dark-200:var(--bs-darkgray-200);--bs-dark-300:var(--bs-darkgray-300);--bs-dark-400:var(--bs-darkgray-400);--bs-dark-500:var(--bs-darkgray-500);--bs-dark-600:var(--bs-darkgray-600);--bs-dark-700:var(--bs-darkgray-700);--bs-dark-800:var(--bs-darkgray-800);--bs-dark-900:var(--bs-darkgray-900);--bs-dark-hsl:var(--bs-darkgray-hsl);--bs-dark:var(--bs-darkgray);--bs-dark-foreground-hsl:var(--bs-darkgray-foreground-hsl);--bs-dark-foreground:var(--bs-darkgray-foreground);--bs-dark-text-emphasis-hsl:var(--bs-darkgray-text-emphasis-hsl);--bs-dark-text-emphasis:var(--bs-darkgray-text-emphasis);--bs-dark-hover-bg:var(--bs-darkgray-hover-bg);--bs-dark-active-bg:var(--bs-darkgray-active-bg);--bs-dark-bg-subtle:var(--bs-darkgray-bg-subtle);--bs-dark-border-subtle:var(--bs-darkgray-border-subtle);--bs-dark-checkbox-svg:var(--bs-darkgray-checkbox-svg);--bs-dark-dash-svg:var(--bs-darkgray-dash-svg);--bs-dark-radio-svg:var(--bs-darkgray-radio-svg);--bs-dark-switch-svg:var(--bs-darkgray-switch-svg)}[data-bs-theme=dark]{--bs-lightgray-text-emphasis-hsl:var(--bs-lightgray-400-hsl);--bs-lightgray-text-emphasis:hsl(var(--bs-lightgray-text-emphasis-hsl));--bs-lightgray-bg-subtle:hsl(var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 30%);--bs-lightgray-border-subtle:var(--bs-lightgray-600);--bs-gray-text-emphasis-hsl:var(--bs-gray-300-hsl);--bs-gray-text-emphasis:hsl(var(--bs-gray-text-emphasis-hsl));--bs-gray-bg-subtle:hsl(var(--bs-gray-hue), var(--bs-gray-saturation), 25%);--bs-gray-border-subtle:var(--bs-gray-600);--bs-darkgray-text-emphasis-hsl:var(--bs-darkgray-300-hsl);--bs-darkgray-text-emphasis:hsl(var(--bs-darkgray-text-emphasis-hsl));--bs-darkgray-bg-subtle:hsl(var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 17.5%);--bs-darkgray-border-subtle:var(--bs-darkgray-600);--bs-sable-text-emphasis-hsl:var(--bs-sable-400-hsl);--bs-sable-text-emphasis:hsl(var(--bs-sable-text-emphasis-hsl));--bs-sable-bg-subtle:hsl(var(--bs-sable-hue), var(--bs-sable-saturation), 12%);--bs-sable-border-subtle:var(--bs-sable-600);--bs-red-text-emphasis-hsl:var(--bs-red-hue), var(--bs-red-saturation), 65%;--bs-red-text-emphasis:hsl(var(--bs-red-text-emphasis-hsl));--bs-red-bg-subtle:hsl(var(--bs-red-hue), calc(var(--bs-red-saturation)/3), 15%);--bs-red-border-subtle:var(--bs-red-600);--bs-orange-text-emphasis-hsl:var(--bs-orange-400-hsl);--bs-orange-text-emphasis:hsl(var(--bs-orange-text-emphasis-hsl));--bs-orange-bg-subtle:hsl(var(--bs-orange-hue), calc(var(--bs-orange-saturation)/3), 15%);--bs-orange-border-subtle:var(--bs-orange-600);--bs-sienna-text-emphasis-hsl:var(--bs-sienna-400-hsl);--bs-sienna-text-emphasis:hsl(var(--bs-sienna-text-emphasis-hsl));--bs-sienna-bg-subtle:hsl(var(--bs-sienna-hue), calc(var(--bs-sienna-saturation)/3), 15%);--bs-sienna-border-subtle:var(--bs-sienna-600);--bs-amber-text-emphasis-hsl:var(--bs-amber-400-hsl);--bs-amber-text-emphasis:hsl(var(--bs-amber-text-emphasis-hsl));--bs-amber-bg-subtle:hsl(var(--bs-amber-hue), calc(var(--bs-amber-saturation)/3), 15%);--bs-amber-border-subtle:var(--bs-amber-600);--bs-yellow-text-emphasis-hsl:var(--bs-yellow-400-hsl);--bs-yellow-text-emphasis:hsl(var(--bs-yellow-text-emphasis-hsl));--bs-yellow-bg-subtle:hsl(var(--bs-yellow-hue), calc(var(--bs-yellow-saturation)/3), 15%);--bs-yellow-border-subtle:var(--bs-yellow-600);--bs-lime-text-emphasis-hsl:var(--bs-lime-400-hsl);--bs-lime-text-emphasis:hsl(var(--bs-lime-text-emphasis-hsl));--bs-lime-bg-subtle:hsl(var(--bs-lime-hue), calc(var(--bs-lime-saturation)/3), 15%);--bs-lime-border-subtle:var(--bs-lime-600);--bs-green-text-emphasis-hsl:var(--bs-green-400-hsl);--bs-green-text-emphasis:hsl(var(--bs-green-text-emphasis-hsl));--bs-green-bg-subtle:hsl(var(--bs-green-hue), calc(var(--bs-green-saturation)/3), 15%);--bs-green-border-subtle:var(--bs-green-600);--bs-emerald-text-emphasis-hsl:var(--bs-emerald-400-hsl);--bs-emerald-text-emphasis:hsl(var(--bs-emerald-text-emphasis-hsl));--bs-emerald-bg-subtle:hsl(var(--bs-emerald-hue), calc(var(--bs-emerald-saturation)/3), 15%);--bs-emerald-border-subtle:var(--bs-emerald-600);--bs-turquoise-text-emphasis-hsl:var(--bs-turquoise-400-hsl);--bs-turquoise-text-emphasis:hsl(var(--bs-turquoise-text-emphasis-hsl));--bs-turquoise-bg-subtle:hsl(var(--bs-turquoise-hue), calc(var(--bs-turquoise-saturation)/3), 15%);--bs-turquoise-border-subtle:var(--bs-turquoise-600);--bs-teal-text-emphasis-hsl:var(--bs-teal-400-hsl);--bs-teal-text-emphasis:hsl(var(--bs-teal-text-emphasis-hsl));--bs-teal-bg-subtle:hsl(var(--bs-teal-hue), calc(var(--bs-teal-saturation)/3), 15%);--bs-teal-border-subtle:var(--bs-teal-600);--bs-cyan-text-emphasis-hsl:var(--bs-cyan-400-hsl);--bs-cyan-text-emphasis:hsl(var(--bs-cyan-text-emphasis-hsl));--bs-cyan-bg-subtle:hsl(var(--bs-cyan-hue), calc(var(--bs-cyan-saturation)/3), 15%);--bs-cyan-border-subtle:var(--bs-cyan-600);--bs-sky-text-emphasis-hsl:var(--bs-sky-400-hsl);--bs-sky-text-emphasis:hsl(var(--bs-sky-text-emphasis-hsl));--bs-sky-bg-subtle:hsl(var(--bs-sky-hue), calc(var(--bs-sky-saturation)/3), 15%);--bs-sky-border-subtle:var(--bs-sky-600);--bs-blue-text-emphasis-hsl:var(--bs-blue-400-hsl);--bs-blue-text-emphasis:hsl(var(--bs-blue-text-emphasis-hsl));--bs-blue-bg-subtle:hsl(var(--bs-blue-hue), calc(var(--bs-blue-saturation)/3), 15%);--bs-blue-border-subtle:var(--bs-blue-600);--bs-navy-text-emphasis-hsl:var(--bs-navy-300-hsl);--bs-navy-text-emphasis:hsl(var(--bs-navy-text-emphasis-hsl));--bs-navy-bg-subtle:hsl(var(--bs-navy-hue), calc(var(--bs-navy-saturation)/3), 15%);--bs-navy-border-subtle:var(--bs-navy-600);--bs-indigo-text-emphasis-hsl:var(--bs-indigo-300-hsl);--bs-indigo-text-emphasis:hsl(var(--bs-indigo-text-emphasis-hsl));--bs-indigo-bg-subtle:hsl(var(--bs-indigo-hue), calc(var(--bs-indigo-saturation)/3), 15%);--bs-indigo-border-subtle:var(--bs-indigo-600);--bs-violet-text-emphasis-hsl:var(--bs-violet-300-hsl);--bs-violet-text-emphasis:hsl(var(--bs-violet-text-emphasis-hsl));--bs-violet-bg-subtle:hsl(var(--bs-violet-hue), calc(var(--bs-violet-saturation)/3), 15%);--bs-violet-border-subtle:var(--bs-violet-600);--bs-purple-text-emphasis-hsl:var(--bs-purple-300-hsl);--bs-purple-text-emphasis:hsl(var(--bs-purple-text-emphasis-hsl));--bs-purple-bg-subtle:hsl(var(--bs-purple-hue), calc(var(--bs-purple-saturation)/3), 15%);--bs-purple-border-subtle:var(--bs-purple-600);--bs-fuchsia-text-emphasis-hsl:var(--bs-fuchsia-400-hsl);--bs-fuchsia-text-emphasis:hsl(var(--bs-fuchsia-text-emphasis-hsl));--bs-fuchsia-bg-subtle:hsl(var(--bs-fuchsia-hue), calc(var(--bs-fuchsia-saturation)/3), 15%);--bs-fuchsia-border-subtle:var(--bs-fuchsia-600);--bs-pink-text-emphasis-hsl:var(--bs-pink-400-hsl);--bs-pink-text-emphasis:hsl(var(--bs-pink-text-emphasis-hsl));--bs-pink-bg-subtle:hsl(var(--bs-pink-hue), calc(var(--bs-pink-saturation)/3), 15%);--bs-pink-border-subtle:var(--bs-pink-600);--bs-primary-text-emphasis-hsl:var(--bs-blue-text-emphasis-hsl);--bs-primary-text-emphasis:var(--bs-blue-text-emphasis);--bs-primary-bg-subtle:var(--bs-blue-bg-subtle);--bs-primary-border-subtle:var(--bs-blue-border-subtle);--bs-secondary-hue:var(--bs-darkgray-hue);--bs-secondary-saturation:var(--bs-darkgray-saturation);--bs-secondary-100-hsl:var(--bs-darkgray-100-hsl);--bs-secondary-200-hsl:var(--bs-darkgray-200-hsl);--bs-secondary-300-hsl:var(--bs-darkgray-300-hsl);--bs-secondary-400-hsl:var(--bs-darkgray-400-hsl);--bs-secondary-500-hsl:var(--bs-darkgray-500-hsl);--bs-secondary-600-hsl:var(--bs-darkgray-600-hsl);--bs-secondary-700-hsl:var(--bs-darkgray-700-hsl);--bs-secondary-800-hsl:var(--bs-darkgray-800-hsl);--bs-secondary-900-hsl:var(--bs-darkgray-900-hsl);--bs-secondary-100:var(--bs-darkgray-100);--bs-secondary-200:var(--bs-darkgray-200);--bs-secondary-300:var(--bs-darkgray-300);--bs-secondary-400:var(--bs-darkgray-400);--bs-secondary-500:var(--bs-darkgray-500);--bs-secondary-600:var(--bs-darkgray-600);--bs-secondary-700:var(--bs-darkgray-700);--bs-secondary-800:var(--bs-darkgray-800);--bs-secondary-900:var(--bs-darkgray-900);--bs-secondary-hsl:var(--bs-darkgray-hsl);--bs-secondary:var(--bs-darkgray);--bs-secondary-foreground-hsl:var(--bs-darkgray-foreground-hsl);--bs-secondary-foreground:var(--bs-darkgray-foreground);--bs-secondary-text-emphasis-hsl:var(--bs-darkgray-text-emphasis-hsl);--bs-secondary-text-emphasis:var(--bs-darkgray-text-emphasis);--bs-secondary-hover-bg:var(--bs-darkgray-hover-bg);--bs-secondary-active-bg:var(--bs-darkgray-active-bg);--bs-secondary-bg-subtle:var(--bs-darkgray-bg-subtle);--bs-secondary-border-subtle:var(--bs-darkgray-border-subtle);--bs-secondary-checkbox-svg:var(--bs-darkgray-checkbox-svg);--bs-secondary-dash-svg:var(--bs-darkgray-dash-svg);--bs-secondary-radio-svg:var(--bs-darkgray-radio-svg);--bs-secondary-switch-svg:var(--bs-darkgray-switch-svg);--bs-success-text-emphasis-hsl:var(--bs-green-text-emphasis-hsl);--bs-success-text-emphasis:var(--bs-green-text-emphasis);--bs-success-bg-subtle:var(--bs-green-bg-subtle);--bs-success-border-subtle:var(--bs-green-border-subtle);--bs-info-text-emphasis-hsl:var(--bs-cyan-text-emphasis-hsl);--bs-info-text-emphasis:var(--bs-cyan-text-emphasis);--bs-info-bg-subtle:var(--bs-cyan-bg-subtle);--bs-info-border-subtle:var(--bs-cyan-border-subtle);--bs-warning-text-emphasis-hsl:var(--bs-yellow-text-emphasis-hsl);--bs-warning-text-emphasis:var(--bs-yellow-text-emphasis);--bs-warning-bg-subtle:var(--bs-yellow-bg-subtle);--bs-warning-border-subtle:var(--bs-yellow-border-subtle);--bs-danger-text-emphasis-hsl:var(--bs-red-text-emphasis-hsl);--bs-danger-text-emphasis:var(--bs-red-text-emphasis);--bs-danger-bg-subtle:var(--bs-red-bg-subtle);--bs-danger-border-subtle:var(--bs-red-border-subtle);--bs-light-hue:var(--bs-gray-hue);--bs-light-saturation:var(--bs-gray-saturation);--bs-light-100-hsl:var(--bs-gray-100-hsl);--bs-light-200-hsl:var(--bs-gray-200-hsl);--bs-light-300-hsl:var(--bs-gray-300-hsl);--bs-light-400-hsl:var(--bs-gray-400-hsl);--bs-light-500-hsl:var(--bs-gray-500-hsl);--bs-light-600-hsl:var(--bs-gray-600-hsl);--bs-light-700-hsl:var(--bs-gray-700-hsl);--bs-light-800-hsl:var(--bs-gray-800-hsl);--bs-light-900-hsl:var(--bs-gray-900-hsl);--bs-light-100:var(--bs-gray-100);--bs-light-200:var(--bs-gray-200);--bs-light-300:var(--bs-gray-300);--bs-light-400:var(--bs-gray-400);--bs-light-500:var(--bs-gray-500);--bs-light-600:var(--bs-gray-600);--bs-light-700:var(--bs-gray-700);--bs-light-800:var(--bs-gray-800);--bs-light-900:var(--bs-gray-900);--bs-light-hsl:var(--bs-gray-hsl);--bs-light:var(--bs-gray);--bs-light-foreground-hsl:var(--bs-gray-foreground-hsl);--bs-light-foreground:var(--bs-gray-foreground);--bs-light-text-emphasis-hsl:var(--bs-gray-text-emphasis-hsl);--bs-light-text-emphasis:var(--bs-gray-text-emphasis);--bs-light-hover-bg:var(--bs-gray-hover-bg);--bs-light-active-bg:var(--bs-gray-active-bg);--bs-light-bg-subtle:var(--bs-gray-bg-subtle);--bs-light-border-subtle:var(--bs-gray-border-subtle);--bs-light-checkbox-svg:var(--bs-gray-checkbox-svg);--bs-light-dash-svg:var(--bs-gray-dash-svg);--bs-light-radio-svg:var(--bs-gray-radio-svg);--bs-light-switch-svg:var(--bs-gray-switch-svg);--bs-dark-hue:var(--bs-sable-hue);--bs-dark-saturation:var(--bs-sable-saturation);--bs-dark-100-hsl:var(--bs-sable-100-hsl);--bs-dark-200-hsl:var(--bs-sable-200-hsl);--bs-dark-300-hsl:var(--bs-sable-300-hsl);--bs-dark-400-hsl:var(--bs-sable-400-hsl);--bs-dark-500-hsl:var(--bs-sable-500-hsl);--bs-dark-600-hsl:var(--bs-sable-600-hsl);--bs-dark-700-hsl:var(--bs-sable-700-hsl);--bs-dark-800-hsl:var(--bs-sable-800-hsl);--bs-dark-900-hsl:var(--bs-sable-900-hsl);--bs-dark-100:var(--bs-sable-100);--bs-dark-200:var(--bs-sable-200);--bs-dark-300:var(--bs-sable-300);--bs-dark-400:var(--bs-sable-400);--bs-dark-500:var(--bs-sable-500);--bs-dark-600:var(--bs-sable-600);--bs-dark-700:var(--bs-sable-700);--bs-dark-800:var(--bs-sable-800);--bs-dark-900:var(--bs-sable-900);--bs-dark-hsl:var(--bs-sable-hsl);--bs-dark:var(--bs-sable);--bs-dark-foreground-hsl:var(--bs-sable-foreground-hsl);--bs-dark-foreground:var(--bs-sable-foreground);--bs-dark-text-emphasis-hsl:var(--bs-sable-text-emphasis-hsl);--bs-dark-text-emphasis:var(--bs-sable-text-emphasis);--bs-dark-hover-bg:var(--bs-sable-hover-bg);--bs-dark-active-bg:var(--bs-sable-active-bg);--bs-dark-bg-subtle:var(--bs-sable-bg-subtle);--bs-dark-border-subtle:var(--bs-sable-border-subtle);--bs-dark-checkbox-svg:var(--bs-sable-checkbox-svg);--bs-dark-dash-svg:var(--bs-sable-dash-svg);--bs-dark-radio-svg:var(--bs-sable-radio-svg);--bs-dark-switch-svg:var(--bs-sable-switch-svg)}:root,[data-bs-theme=light]{color-scheme:light;--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-serif:Iowan Old Style, Apple Garamond, Baskerville, Times New Roman, Droid Serif, Times, Source Serif Pro, serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;--bs-font-monospace:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-body-font-family:var(--bs-font-sans-serif);--bs-font-size-base:0.875rem;--bs-font-size-sm:0.75rem;--bs-font-size-lg:1rem;--bs-relative-font-size-sm:0.85714285714em;--bs-relative-font-size-xs:0.71428571428em;--bs-relative-font-size-2xs:0.57142857142em;--bs-relative-font-size-3xs:0.42857142857em;--bs-relative-font-size-4xs:0.28571428571em;--bs-relative-font-size-5xs:0.21428571428em;--bs-relative-font-size-6xs:0.14285714285em;--bs-relative-font-size-7xs:0.07142857142em;--bs-body-font-size:var(--bs-font-size-base);--bs-h1-font-size:calc(var(--bs-font-size-base) + 1.375rem);--bs-h2-font-size:calc(var(--bs-font-size-base) + 1rem);--bs-h3-font-size:calc(var(--bs-font-size-base) + 0.75rem);--bs-h4-font-size:calc(var(--bs-font-size-base) + 0.5rem);--bs-h5-font-size:calc(var(--bs-font-size-base) + 0.25rem);--bs-h6-font-size:var(--bs-font-size-base);--bs-font-weight-lighter:lighter;--bs-font-weight-light:300;--bs-font-weight-normal:400;--bs-font-weight-medium:500;--bs-font-weight-semibold:600;--bs-font-weight-bold:700;--bs-font-weight-bolder:bolder;--bs-body-font-weight:var(--bs-font-weight-normal);--bs-heading-font-weight:var(--bs-font-weight-bold);--bs-line-height-base:1.5;--bs-line-height-sm:1.25;--bs-line-height-lg:2;--bs-body-line-height:var(--bs-line-height-base);--bs-heading-line-height:1.2;--bs-body-webkit-font-smoothing:antialiased;--bs-body-moz-osx-font-smoothing:grayscale;--bs-spacer:1rem;--bs-spacer-1:calc(var(--bs-spacer) * 0.25);--bs-spacer-2:calc(var(--bs-spacer) * 0.5);--bs-spacer-3:var(--bs-spacer);--bs-spacer-4:calc(var(--bs-spacer) * 1.5);--bs-spacer-5:calc(var(--bs-spacer) * 3);--bs-color-hue:var(--bs-gray-hue);--bs-color-saturation:var(--bs-gray-saturation);--bs-body-color-hsl:var(--bs-color-hue), var(--bs-color-saturation), 15%;--bs-body-color:hsl(var(--bs-body-color-hsl));--bs-emphasis-color-hsl:var(--bs-black-hsl);--bs-emphasis-color:hsl(var(--bs-emphasis-color-hsl));--bs-secondary-color-hsl:var(--bs-color-hue), var(--bs-color-saturation), 40%;--bs-secondary-color:hsl(var(--bs-secondary-color-hsl));--bs-tertiary-color-hsl:var(--bs-color-hue), var(--bs-color-saturation), 65%;--bs-tertiary-color:hsl(var(--bs-tertiary-color-hsl));--bs-heading-color:inherit;--bs-body-bg-hsl:var(--bs-white-hsl);--bs-body-bg:hsl(var(--bs-body-bg-hsl));--bs-secondary-bg-hsl:var(--bs-lightgray-100-hsl);--bs-secondary-bg:hsl(var(--bs-secondary-bg-hsl));--bs-tertiary-bg-hsl:var(--bs-lightgray-200-hsl);--bs-tertiary-bg:hsl(var(--bs-tertiary-bg-hsl));--bs-gradient:linear-gradient(180deg, hsla(var(--bs-white-hsl), 0.15), hsla(var(--bs-white-hsl), 0));--bs-border-width:1px;--bs-border-width-1:var(--bs-border-width);--bs-border-width-2:calc(var(--bs-border-width) + 1px);--bs-border-width-3:calc(var(--bs-border-width) + 2px);--bs-border-width-4:calc(var(--bs-border-width) + 3px);--bs-border-width-5:calc(var(--bs-border-width) + 4px);--bs-border-style:solid;--bs-border-color:var(--bs-lightgray-800);--bs-border-color-light:var(--bs-lightgray-600);--bs-border-color-dark:var(--bs-border-color);--bs-border-color-translucent:hsla(var(--bs-black-hsl), 0.15);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow-color:hsla(var(--bs-black-hsl), 0.15);--bs-box-shadow:0 0.5rem 1rem var(--bs-box-shadow-color);--bs-box-shadow-sm:0 0.125rem 0.25rem var(--bs-box-shadow-color);--bs-box-shadow-lg:0 1rem 3rem var(--bs-box-shadow-color);--bs-box-shadow-inset:inset 0 1px var(--bs-box-shadow-color);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:hsla(var(--bs-primary-hsl), var(--bs-focus-ring-opacity));--bs-link-color-hsl:var(--bs-primary-hsl);--bs-link-color:hsl(var(--bs-link-color-hsl));--bs-link-decoration:underline;--bs-link-decoration-offset:var(--bs-relative-font-size-4xs);--bs-link-hover-color-hsl:var(--bs-primary-text-emphasis-hsl);--bs-link-hover-color:hsl(var(--bs-link-hover-color-hsl));--bs-link-hover-decoration:underline;--bs-highlight-padding:var(--bs-relative-font-size-6xs);--bs-highlight-color:inherit;--bs-highlight-bg:hsla(var(--bs-yellow-hsl), 0.25);--bs-highlight-border-radius:0;--bs-code-padding:var(--bs-relative-font-size-6xs) var(--bs-relative-font-size-4xs);--bs-code-font-size:var(--bs-relative-font-size-sm);--bs-code-color:inherit;--bs-code-bg:hsla(var(--bs-black-hsl), 0.1);--bs-code-border-radius:var(--bs-border-radius-sm);--bs-kbd-padding:0.125rem 0.375rem;--bs-kbd-font-size:var(--bs-font-size-sm);--bs-kbd-color:var(--bs-dark-foreground);--bs-kbd-bg:var(--bs-dark);--bs-kbd-border-radius:var(--bs-border-radius-sm);--bs-container-max-width-sm:540px;--bs-container-max-width-md:720px;--bs-container-max-width-lg:960px;--bs-container-max-width-xl:1140px;--bs-container-max-width-xxl:1320px;--bs-sidebar-margin:0;--bs-sidebar-width:20rem;--bs-sidebar-height:100%;--bs-padding-sbwidth:var(--bs-sidebar-width);--bs-content-color-hsl:var(--bs-body-color-hsl);--bs-content-color:hsl(var(--bs-content-color-hsl));--bs-content-bg-hsl:var(--bs-body-bg-hsl);--bs-content-bg:hsl(var(--bs-content-bg-hsl));--bs-content-border-color:var(--bs-border-color-dark);--bs-content-box-shadow:none;--bs-content-floating-color-hsl:var(--bs-content-color-hsl);--bs-content-floating-color:hsl(var(--bs-content-floating-color-hsl));--bs-content-floating-bg-hsl:var(--bs-content-bg-hsl);--bs-content-floating-bg:hsl(var(--bs-content-floating-bg-hsl));--bs-content-floating-border-color:var(--bs-content-border-color);--bs-content-floating-box-shadow:0 1rem 2.25rem 0 rgba(0, 0, 0, 0.05), 0 0.25rem 1rem 0 rgba(0, 0, 0, 0.04);--bs-action-padding-x:0.5rem;--bs-action-padding-y:0.25rem;--bs-action-font-size:var(--bs-font-size-base);--bs-action-line-height:calc(20/14);--bs-action-sm-padding-x:0.375rem;--bs-action-sm-padding-y:0.125rem;--bs-action-sm-font-size:var(--bs-font-size-sm);--bs-action-sm-line-height:calc(18/12);--bs-action-lg-padding-x:0.625rem;--bs-action-lg-padding-y:0.3125rem;--bs-action-lg-font-size:var(--bs-font-size-lg);--bs-action-lg-line-height:calc(24/16);--bs-action-color:hsl(var(--bs-color-hue), var(--bs-color-saturation), 20%);--bs-action-bg:var(--bs-white);--bs-action-border-color:var(--bs-border-color-dark);--bs-action-hover-color:var(--bs-action-color);--bs-action-hover-bg:var(--bs-lightgray-200);--bs-action-hover-border-color:var(--bs-action-border-color);--bs-action-focus-shadow-hsl:var(--bs-primary-hsl);--bs-action-active-color:var(--bs-action-color);--bs-action-active-bg:var(--bs-lightgray-400);--bs-action-active-border-color:var(--bs-action-border-color);--bs-action-active-shadow:none;--bs-action-disabled-color:var(--bs-secondary-color);--bs-action-disabled-bg:var(--bs-lightgray-400);--bs-action-disabled-border-color:var(--bs-action-border-color);--bs-form-color:var(--bs-body-color);--bs-form-bg:var(--bs-action-bg);--bs-form-secondary-bg:var(--bs-action-hover-bg);--bs-form-tertiary-bg:var(--bs-action-active-bg);--bs-form-border-color:var(--bs-action-border-color);--bs-form-focus-border-color:var(--bs-form-border-color);--bs-form-focus-shadow-hsl:var(--bs-primary-hsl);--bs-form-disabled-color:var(--bs-action-disabled-color);--bs-form-disabled-bg:var(--bs-action-disabled-bg);--bs-form-disabled-border-color:var(--bs-action-disabled-border-color);--bs-form-valid-color:var(--bs-success-text-emphasis);--bs-form-valid-border-color:var(--bs-success-border-subtle);--bs-form-invalid-color:var(--bs-danger-text-emphasis);--bs-form-invalid-border-color:var(--bs-danger-border-subtle);--bs-form-check-bg:var(--bs-form-bg);--bs-form-check-border-color:var(--bs-border-color);--bs-form-check-focus-border-color:var(--bs-form-check-border-color);--bs-form-check-focus-shadow-hsl:var(--bs-form-focus-shadow-hsl);--bs-ctx-btn-border-color:transparent;--bs-ctx-btn-hover-border-color:var(--bs-ctx-btn-border-color);--bs-ctx-btn-active-border-color:var(--bs-ctx-btn-border-color);--bs-ctx-btn-disabled-border-color:var(--bs-ctx-btn-border-color);--bs-ctx-btn-bg-clip:border-box;--bs-actionbar-bg:var(--bs-action-hover-bg);--bs-actionbar-border-color:hsla(var(--bs-black-hsl), 0.075);--bs-progresstrack-border-width:0;--bs-progresstrack-box-shadow:inset 0 0 0 var(--bs-border-width) var(--bs-actionbar-border-color);--bs-progresstrack-bg-clip:border-box}[data-bs-theme=dark]{color-scheme:dark;--bs-color-hue:var(--bs-gray-hue);--bs-color-saturation:var(--bs-gray-saturation);--bs-body-color-hsl:var(--bs-color-hue), var(--bs-color-saturation), 85%;--bs-body-color:hsl(var(--bs-body-color-hsl));--bs-emphasis-color-hsl:var(--bs-white-hsl);--bs-emphasis-color:hsl(var(--bs-emphasis-color-hsl));--bs-secondary-color-hsl:var(--bs-color-hue), var(--bs-color-saturation), 60%;--bs-secondary-color:hsl(var(--bs-secondary-color-hsl));--bs-tertiary-color-hsl:var(--bs-color-hue), var(--bs-color-saturation), 35%;--bs-tertiary-color:hsl(var(--bs-tertiary-color-hsl));--bs-heading-color:inherit;--bs-body-bg-hsl:var(--bs-sable-hue), var(--bs-sable-saturation), 13%;--bs-body-bg:hsl(var(--bs-body-bg-hsl));--bs-secondary-bg-hsl:var(--bs-sable-hue), var(--bs-sable-saturation), 11.8%;--bs-secondary-bg:hsl(var(--bs-secondary-bg-hsl));--bs-tertiary-bg-hsl:var(--bs-sable-hue), var(--bs-sable-saturation), 11%;--bs-tertiary-bg:hsl(var(--bs-tertiary-bg-hsl));--bs-gradient:linear-gradient(180deg, hsla(var(--bs-white-hsl), 0.15), hsla(var(--bs-white-hsl), 0));--bs-border-color:var(--bs-gray-800);--bs-border-color-light:var(--bs-border-color);--bs-border-color-dark:hsl(var(--bs-sable-hue), var(--bs-sable-saturation), 9.5%);--bs-border-color-translucent:hsla(var(--bs-white-hsl), 0.15);--bs-box-shadow-color:hsla(var(--bs-black-hsl), 0.4);--bs-box-shadow:0 0.5rem 1rem var(--bs-box-shadow-color);--bs-box-shadow-sm:0 0.125rem 0.25rem var(--bs-box-shadow-color);--bs-box-shadow-lg:0 1rem 3rem var(--bs-box-shadow-color);--bs-box-shadow-inset:inset 0 1px var(--bs-box-shadow-color);--bs-link-color-hsl:var(--bs-primary-text-emphasis-hsl);--bs-link-color:hsl(var(--bs-link-color-hsl));--bs-link-hover-color-hsl:var(--bs-primary-hsl);--bs-link-hover-color:hsl(var(--bs-link-hover-color-hsl));--bs-highlight-color:inherit;--bs-highlight-bg:hsla(var(--bs-yellow-hsl), 0.1);--bs-code-color:inherit;--bs-code-bg:hsla(var(--bs-white-hsl), 0.075);--bs-kbd-color:var(--bs-light-foreground);--bs-kbd-bg:var(--bs-light);--bs-content-color-hsl:var(--bs-body-color-hsl);--bs-content-color:hsl(var(--bs-content-color-hsl));--bs-content-bg-hsl:var(--bs-tertiary-bg-hsl);--bs-content-bg:hsl(var(--bs-content-bg-hsl));--bs-content-border-color:var(--bs-border-color-dark);--bs-content-box-shadow:none;--bs-content-floating-color-hsl:var(--bs-content-color-hsl);--bs-content-floating-color:hsl(var(--bs-content-floating-color-hsl));--bs-content-floating-bg-hsl:var(--bs-sable-hue), var(--bs-sable-saturation), 13.5%;--bs-content-floating-bg:hsl(var(--bs-content-floating-bg-hsl));--bs-content-floating-border-color:var(--bs-content-border-color);--bs-content-floating-box-shadow:0 1rem 2.25rem 0 rgba(0, 0, 0, 0.2), 0 0.25rem 1rem 0 rgba(0, 0, 0, 0.16);--bs-action-color:hsl(var(--bs-color-hue), var(--bs-color-saturation), 80%);--bs-action-bg:var(--bs-sable-700);--bs-action-border-color:var(--bs-border-color-dark);--bs-action-hover-color:var(--bs-action-color);--bs-action-hover-bg:var(--bs-sable-600);--bs-action-hover-border-color:var(--bs-action-border-color);--bs-action-focus-shadow-hsl:var(--bs-primary-hsl);--bs-action-active-color:var(--bs-action-color);--bs-action-active-bg:var(--bs-sable-500);--bs-action-active-border-color:var(--bs-action-border-color);--bs-action-active-shadow:none;--bs-action-disabled-color:var(--bs-secondary-color);--bs-action-disabled-bg:var(--bs-sable-400);--bs-action-disabled-border-color:var(--bs-action-border-color);--bs-form-color:var(--bs-body-color);--bs-form-bg:var(--bs-action-bg);--bs-form-secondary-bg:var(--bs-action-hover-bg);--bs-form-tertiary-bg:var(--bs-action-active-bg);--bs-form-border-color:var(--bs-action-border-color);--bs-form-focus-border-color:var(--bs-form-border-color);--bs-form-focus-shadow-hsl:var(--bs-primary-hsl);--bs-form-disabled-color:var(--bs-action-disabled-color);--bs-form-disabled-bg:var(--bs-action-disabled-bg);--bs-form-disabled-border-color:var(--bs-action-disabled-border-color);--bs-form-valid-color:var(--bs-success-text-emphasis);--bs-form-valid-border-color:var(--bs-success-border-subtle);--bs-form-invalid-color:var(--bs-danger-text-emphasis);--bs-form-invalid-border-color:var(--bs-danger-border-subtle);--bs-form-check-bg:var(--bs-form-bg);--bs-form-check-border-color:var(--bs-border-color);--bs-form-check-focus-border-color:var(--bs-form-check-border-color);--bs-form-check-focus-shadow-hsl:var(--bs-form-focus-shadow-hsl);--bs-ctx-btn-border-color:var(--bs-border-color-dark);--bs-ctx-btn-hover-border-color:var(--bs-ctx-btn-border-color);--bs-ctx-btn-active-border-color:var(--bs-ctx-btn-border-color);--bs-ctx-btn-disabled-border-color:var(--bs-ctx-btn-border-color);--bs-ctx-btn-bg-clip:padding-box;--bs-actionbar-bg:var(--bs-action-bg);--bs-actionbar-border-color:var(--bs-action-border-color);--bs-progresstrack-border-width:var(--bs-border-width);--bs-progresstrack-box-shadow:none;--bs-progresstrack-bg-clip:padding-box}*,::after,::before{box-sizing:border-box}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-font-smoothing:var(--bs-body-webkit-font-smoothing);-moz-osx-font-smoothing:var(--bs-body-moz-osx-font-smoothing);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:hsla(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:var(--bs-heading-font-weight);line-height:var(--bs-heading-line-height);color:var(--bs-heading-color)}.h1,h1{font-size:calc((var(--bs-font-size-base) + .4875rem) + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:var(--bs-h1-font-size)}}.h2,h2{font-size:calc((var(--bs-font-size-base) + .4375rem) + .9vw)}@media (min-width:1200px){.h2,h2{font-size:var(--bs-h2-font-size)}}.h3,h3{font-size:calc((var(--bs-font-size-base) + .4rem) + .6vw)}@media (min-width:1200px){.h3,h3{font-size:var(--bs-h3-font-size)}}.h4,h4{font-size:calc((var(--bs-font-size-base) + .375rem) + .3vw)}@media (min-width:1200px){.h4,h4{font-size:var(--bs-h4-font-size)}}.h5,h5{font-size:var(--bs-h5-font-size)}.h6,h6{font-size:var(--bs-h6-font-size)}p{margin-top:0}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}a>abbr[title]{text-underline-offset:var(--bs-relative-font-size-6xs)}address{font-style:normal;line-height:inherit}ol,ul{padding-right:2rem}address,dl,ol,p,ul{margin-bottom:1rem}dl,ol,ul{margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:var(--bs-font-weight-bold)}dd{margin-bottom:.5rem;margin-right:0}blockquote,figure{margin:0 0 1rem}b,strong{font-weight:var(--bs-font-weight-bolder)}.small,small{font-size:var(--bs-relative-font-size-sm)}.mark,mark{padding:var(--bs-highlight-padding);color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg);border-radius:var(--bs-highlight-border-radius)}sub,sup{position:relative;font-size:var(--bs-relative-font-size-xs);line-height:0;vertical-align:baseline}sub{bottom:calc(-1*var(--bs-relative-font-size-4xs))}sup{top:calc(-1*var(--bs-relative-font-size-3xs))}a{color:hsla(var(--bs-link-color-hsl),var(--bs-link-opacity, 1));text-decoration:var(--bs-link-decoration);text-underline-offset:var(--bs-link-decoration-offset);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}a:hover{--bs-link-color-hsl:var(--bs-link-hover-color-hsl);--bs-link-decoration:var(--bs-link-hover-decoration)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:var(--bs-relative-font-size-sm)}pre code{padding:0;font-size:inherit;background-color:transparent;border-radius:0;word-break:normal;word-wrap:normal}code,kbd{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}code{padding:var(--bs-code-padding);font-size:var(--bs-code-font-size);color:var(--bs-code-color);background-color:var(--bs-code-bg);border-radius:var(--bs-code-border-radius);word-wrap:break-word}a>code,pre code{color:inherit}kbd{padding:var(--bs-kbd-padding);font-size:var(--bs-kbd-font-size);color:var(--bs-kbd-color);background-color:var(--bs-kbd-bg);border-radius:var(--bs-kbd-border-radius)}kbd kbd{padding:0;font-size:1em}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:right}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label,output{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}.form-control-color:not(:disabled):not([readonly]),.form-control[type=file]:not(:disabled):not([readonly]),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:right;width:100%;padding:0;margin-bottom:.5rem;font-size:calc((var(--bs-font-size-base) + .375rem) + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:calc(var(--bs-font-size-base) + .5rem)}}legend+*{clear:right}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}[type=email],[type=number],[type=tel],[type=url]{direction:ltr}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:calc(var(--bs-font-size-base) + .25rem)}.display-1,.display-2,.display-3,.display-4,.display-5,.display-6{font-weight:var(--bs-font-weight-bold);line-height:1.2}.display-1{font-size:calc((var(--bs-font-size-base) + .7rem) + 4.5vw)}@media (min-width:1200px){.display-1{font-size:calc(var(--bs-font-size-base) + 3.875rem)}}.display-2{font-size:calc((var(--bs-font-size-base) + .65rem) + 3.9vw)}@media (min-width:1200px){.display-2{font-size:calc(var(--bs-font-size-base) + 3.375rem)}}.display-3{font-size:calc((var(--bs-font-size-base) + .6rem) + 3.3vw)}@media (min-width:1200px){.display-3{font-size:calc(var(--bs-font-size-base) + 2.875rem)}}.display-4{font-size:calc((var(--bs-font-size-base) + .55rem) + 2.7vw)}@media (min-width:1200px){.display-4{font-size:calc(var(--bs-font-size-base) + 2.375rem)}}.display-5{font-size:calc((var(--bs-font-size-base) + .5rem) + 2.1vw)}@media (min-width:1200px){.display-5{font-size:calc(var(--bs-font-size-base) + 1.875rem)}}.display-6{font-size:calc((var(--bs-font-size-base) + .45rem) + 1.5vw)}@media (min-width:1200px){.display-6{font-size:calc(var(--bs-font-size-base) + 1.375rem)}}.list-inline,.list-unstyled{padding-right:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-left:.5rem}.initialism{font-size:var(--bs-relative-font-size-sm);text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:calc(var(--bs-font-size-base) + .25rem)}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:var(--bs-relative-font-size-sm);color:var(--bs-secondary-color)}.blockquote-footer::before{content:"— "}.img-fluid,.img-thumbnail{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:var(--bs-relative-font-size-sm);color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:var(--bs-spacer-4);--bs-gutter-y:0;width:100%;padding-left:calc(var(--bs-gutter-x)*.5);padding-right:calc(var(--bs-gutter-x)*.5);margin-left:auto;margin-right:auto}@media (min-width:576px){.container,.container-sm{max-width:var(--bs-container-max-width-sm)}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:var(--bs-container-max-width-md)}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:var(--bs-container-max-width-lg)}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:var(--bs-container-max-width-xl)}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:var(--bs-container-max-width-xxl)}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:var(--bs-spacer-4);--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1*var(--bs-gutter-y));margin-left:calc(-.5*var(--bs-gutter-x));margin-right:calc(-.5*var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-left:calc(var(--bs-gutter-x)*.5);padding-right:calc(var(--bs-gutter-x)*.5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.col-auto,.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{width:auto}.col-1,.col-2{flex:0 0 auto;width:8.33333333%}.col-2{width:16.66666667%}.col-3,.col-4{flex:0 0 auto;width:25%}.col-4{width:33.33333333%}.col-5,.col-6{flex:0 0 auto;width:41.66666667%}.col-6{width:50%}.col-7,.col-8{flex:0 0 auto;width:58.33333333%}.col-8{width:66.66666667%}.col-10,.col-9{flex:0 0 auto;width:75%}.col-10{width:83.33333333%}.col-11,.col-12{flex:0 0 auto;width:91.66666667%}.col-12{width:100%}.offset-1{margin-right:8.33333333%}.offset-2{margin-right:16.66666667%}.offset-3{margin-right:25%}.offset-4{margin-right:33.33333333%}.offset-5{margin-right:41.66666667%}.offset-6{margin-right:50%}.offset-7{margin-right:58.33333333%}.offset-8{margin-right:66.66666667%}.offset-9{margin-right:75%}.offset-10{margin-right:83.33333333%}.offset-11{margin-right:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:var(--bs-spacer-1)}.g-1,.gy-1{--bs-gutter-y:var(--bs-spacer-1)}.g-2,.gx-2{--bs-gutter-x:var(--bs-spacer-2)}.g-2,.gy-2{--bs-gutter-y:var(--bs-spacer-2)}.g-3,.gx-3{--bs-gutter-x:var(--bs-spacer-3)}.g-3,.gy-3{--bs-gutter-y:var(--bs-spacer-3)}.g-4,.gx-4{--bs-gutter-x:var(--bs-spacer-4)}.g-4,.gy-4{--bs-gutter-y:var(--bs-spacer-4)}.g-5,.gx-5{--bs-gutter-x:var(--bs-spacer-5)}.g-5,.gy-5{--bs-gutter-y:var(--bs-spacer-5)}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.col-sm-auto,.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{width:auto}.col-sm-1,.col-sm-2{flex:0 0 auto;width:8.33333333%}.col-sm-2{width:16.66666667%}.col-sm-3,.col-sm-4{flex:0 0 auto;width:25%}.col-sm-4{width:33.33333333%}.col-sm-5,.col-sm-6{flex:0 0 auto;width:41.66666667%}.col-sm-6{width:50%}.col-sm-7,.col-sm-8{flex:0 0 auto;width:58.33333333%}.col-sm-8{width:66.66666667%}.col-sm-10,.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{width:83.33333333%}.col-sm-11,.col-sm-12{flex:0 0 auto;width:91.66666667%}.col-sm-12{width:100%}.offset-sm-0{margin-right:0}.offset-sm-1{margin-right:8.33333333%}.offset-sm-2{margin-right:16.66666667%}.offset-sm-3{margin-right:25%}.offset-sm-4{margin-right:33.33333333%}.offset-sm-5{margin-right:41.66666667%}.offset-sm-6{margin-right:50%}.offset-sm-7{margin-right:58.33333333%}.offset-sm-8{margin-right:66.66666667%}.offset-sm-9{margin-right:75%}.offset-sm-10{margin-right:83.33333333%}.offset-sm-11{margin-right:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:var(--bs-spacer-1)}.g-sm-1,.gy-sm-1{--bs-gutter-y:var(--bs-spacer-1)}.g-sm-2,.gx-sm-2{--bs-gutter-x:var(--bs-spacer-2)}.g-sm-2,.gy-sm-2{--bs-gutter-y:var(--bs-spacer-2)}.g-sm-3,.gx-sm-3{--bs-gutter-x:var(--bs-spacer-3)}.g-sm-3,.gy-sm-3{--bs-gutter-y:var(--bs-spacer-3)}.g-sm-4,.gx-sm-4{--bs-gutter-x:var(--bs-spacer-4)}.g-sm-4,.gy-sm-4{--bs-gutter-y:var(--bs-spacer-4)}.g-sm-5,.gx-sm-5{--bs-gutter-x:var(--bs-spacer-5)}.g-sm-5,.gy-sm-5{--bs-gutter-y:var(--bs-spacer-5)}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.col-md-auto,.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{width:auto}.col-md-1,.col-md-2{flex:0 0 auto;width:8.33333333%}.col-md-2{width:16.66666667%}.col-md-3,.col-md-4{flex:0 0 auto;width:25%}.col-md-4{width:33.33333333%}.col-md-5,.col-md-6{flex:0 0 auto;width:41.66666667%}.col-md-6{width:50%}.col-md-7,.col-md-8{flex:0 0 auto;width:58.33333333%}.col-md-8{width:66.66666667%}.col-md-10,.col-md-9{flex:0 0 auto;width:75%}.col-md-10{width:83.33333333%}.col-md-11,.col-md-12{flex:0 0 auto;width:91.66666667%}.col-md-12{width:100%}.offset-md-0{margin-right:0}.offset-md-1{margin-right:8.33333333%}.offset-md-2{margin-right:16.66666667%}.offset-md-3{margin-right:25%}.offset-md-4{margin-right:33.33333333%}.offset-md-5{margin-right:41.66666667%}.offset-md-6{margin-right:50%}.offset-md-7{margin-right:58.33333333%}.offset-md-8{margin-right:66.66666667%}.offset-md-9{margin-right:75%}.offset-md-10{margin-right:83.33333333%}.offset-md-11{margin-right:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:var(--bs-spacer-1)}.g-md-1,.gy-md-1{--bs-gutter-y:var(--bs-spacer-1)}.g-md-2,.gx-md-2{--bs-gutter-x:var(--bs-spacer-2)}.g-md-2,.gy-md-2{--bs-gutter-y:var(--bs-spacer-2)}.g-md-3,.gx-md-3{--bs-gutter-x:var(--bs-spacer-3)}.g-md-3,.gy-md-3{--bs-gutter-y:var(--bs-spacer-3)}.g-md-4,.gx-md-4{--bs-gutter-x:var(--bs-spacer-4)}.g-md-4,.gy-md-4{--bs-gutter-y:var(--bs-spacer-4)}.g-md-5,.gx-md-5{--bs-gutter-x:var(--bs-spacer-5)}.g-md-5,.gy-md-5{--bs-gutter-y:var(--bs-spacer-5)}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.col-lg-auto,.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{width:auto}.col-lg-1,.col-lg-2{flex:0 0 auto;width:8.33333333%}.col-lg-2{width:16.66666667%}.col-lg-3,.col-lg-4{flex:0 0 auto;width:25%}.col-lg-4{width:33.33333333%}.col-lg-5,.col-lg-6{flex:0 0 auto;width:41.66666667%}.col-lg-6{width:50%}.col-lg-7,.col-lg-8{flex:0 0 auto;width:58.33333333%}.col-lg-8{width:66.66666667%}.col-lg-10,.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{width:83.33333333%}.col-lg-11,.col-lg-12{flex:0 0 auto;width:91.66666667%}.col-lg-12{width:100%}.offset-lg-0{margin-right:0}.offset-lg-1{margin-right:8.33333333%}.offset-lg-2{margin-right:16.66666667%}.offset-lg-3{margin-right:25%}.offset-lg-4{margin-right:33.33333333%}.offset-lg-5{margin-right:41.66666667%}.offset-lg-6{margin-right:50%}.offset-lg-7{margin-right:58.33333333%}.offset-lg-8{margin-right:66.66666667%}.offset-lg-9{margin-right:75%}.offset-lg-10{margin-right:83.33333333%}.offset-lg-11{margin-right:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:var(--bs-spacer-1)}.g-lg-1,.gy-lg-1{--bs-gutter-y:var(--bs-spacer-1)}.g-lg-2,.gx-lg-2{--bs-gutter-x:var(--bs-spacer-2)}.g-lg-2,.gy-lg-2{--bs-gutter-y:var(--bs-spacer-2)}.g-lg-3,.gx-lg-3{--bs-gutter-x:var(--bs-spacer-3)}.g-lg-3,.gy-lg-3{--bs-gutter-y:var(--bs-spacer-3)}.g-lg-4,.gx-lg-4{--bs-gutter-x:var(--bs-spacer-4)}.g-lg-4,.gy-lg-4{--bs-gutter-y:var(--bs-spacer-4)}.g-lg-5,.gx-lg-5{--bs-gutter-x:var(--bs-spacer-5)}.g-lg-5,.gy-lg-5{--bs-gutter-y:var(--bs-spacer-5)}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.col-xl-auto,.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{width:auto}.col-xl-1,.col-xl-2{flex:0 0 auto;width:8.33333333%}.col-xl-2{width:16.66666667%}.col-xl-3,.col-xl-4{flex:0 0 auto;width:25%}.col-xl-4{width:33.33333333%}.col-xl-5,.col-xl-6{flex:0 0 auto;width:41.66666667%}.col-xl-6{width:50%}.col-xl-7,.col-xl-8{flex:0 0 auto;width:58.33333333%}.col-xl-8{width:66.66666667%}.col-xl-10,.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{width:83.33333333%}.col-xl-11,.col-xl-12{flex:0 0 auto;width:91.66666667%}.col-xl-12{width:100%}.offset-xl-0{margin-right:0}.offset-xl-1{margin-right:8.33333333%}.offset-xl-2{margin-right:16.66666667%}.offset-xl-3{margin-right:25%}.offset-xl-4{margin-right:33.33333333%}.offset-xl-5{margin-right:41.66666667%}.offset-xl-6{margin-right:50%}.offset-xl-7{margin-right:58.33333333%}.offset-xl-8{margin-right:66.66666667%}.offset-xl-9{margin-right:75%}.offset-xl-10{margin-right:83.33333333%}.offset-xl-11{margin-right:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:var(--bs-spacer-1)}.g-xl-1,.gy-xl-1{--bs-gutter-y:var(--bs-spacer-1)}.g-xl-2,.gx-xl-2{--bs-gutter-x:var(--bs-spacer-2)}.g-xl-2,.gy-xl-2{--bs-gutter-y:var(--bs-spacer-2)}.g-xl-3,.gx-xl-3{--bs-gutter-x:var(--bs-spacer-3)}.g-xl-3,.gy-xl-3{--bs-gutter-y:var(--bs-spacer-3)}.g-xl-4,.gx-xl-4{--bs-gutter-x:var(--bs-spacer-4)}.g-xl-4,.gy-xl-4{--bs-gutter-y:var(--bs-spacer-4)}.g-xl-5,.gx-xl-5{--bs-gutter-x:var(--bs-spacer-5)}.g-xl-5,.gy-xl-5{--bs-gutter-y:var(--bs-spacer-5)}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1,.col-xxl-2{flex:0 0 auto;width:8.33333333%}.col-xxl-2{width:16.66666667%}.col-xxl-3,.col-xxl-4{flex:0 0 auto;width:25%}.col-xxl-4{width:33.33333333%}.col-xxl-5,.col-xxl-6{flex:0 0 auto;width:41.66666667%}.col-xxl-6{width:50%}.col-xxl-7,.col-xxl-8{flex:0 0 auto;width:58.33333333%}.col-xxl-8{width:66.66666667%}.col-xxl-10,.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{width:83.33333333%}.col-xxl-11,.col-xxl-12{flex:0 0 auto;width:91.66666667%}.col-xxl-12{width:100%}.offset-xxl-0{margin-right:0}.offset-xxl-1{margin-right:8.33333333%}.offset-xxl-2{margin-right:16.66666667%}.offset-xxl-3{margin-right:25%}.offset-xxl-4{margin-right:33.33333333%}.offset-xxl-5{margin-right:41.66666667%}.offset-xxl-6{margin-right:50%}.offset-xxl-7{margin-right:58.33333333%}.offset-xxl-8{margin-right:66.66666667%}.offset-xxl-9{margin-right:75%}.offset-xxl-10{margin-right:83.33333333%}.offset-xxl-11{margin-right:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:var(--bs-spacer-1)}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:var(--bs-spacer-1)}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:var(--bs-spacer-2)}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:var(--bs-spacer-2)}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:var(--bs-spacer-3)}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:var(--bs-spacer-3)}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:var(--bs-spacer-4)}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:var(--bs-spacer-4)}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:var(--bs-spacer-5)}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:var(--bs-spacer-5)}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-body-color);--bs-table-bg:transparent;--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-table-color);--bs-table-striped-bg:hsla(var(--bs-black-hsl), 0.03);--bs-table-active-color:var(--bs-table-color);--bs-table-active-bg:hsla(var(--bs-black-hsl), 0.09);--bs-table-hover-color:var(--bs-table-color);--bs-table-hover-bg:hsla(var(--bs-black-hsl), 0.06);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}[data-bs-theme=dark] .table{--bs-table-striped-bg:hsla(var(--bs-white-hsl), 0.025);--bs-table-active-bg:hsla(var(--bs-white-hsl), 0.075);--bs-table-hover-bg:hsla(var(--bs-white-hsl), 0.05)}.table>:not(caption)>*>*{padding:.375rem .5rem;color:var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:var(--bs-border-width-2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .375rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width)0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(even){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary,.table-secondary{--bs-table-color:var(--bs-body-color);--bs-table-border-color:var(--bs-border-color);--bs-table-striped-color:var(--bs-table-color);--bs-table-active-color:var(--bs-table-color);--bs-table-hover-color:var(--bs-table-color);color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-primary{--bs-table-bg:hsla(var(--bs-primary-hsl), 0.125);--bs-table-striped-bg:hsla(var(--bs-primary-hsl), 0.15);--bs-table-active-bg:hsla(var(--bs-primary-hsl), 0.25);--bs-table-hover-bg:hsla(var(--bs-primary-hsl), 0.2)}.table-secondary{--bs-table-bg:hsla(var(--bs-secondary-hsl), 0.125);--bs-table-striped-bg:hsla(var(--bs-secondary-hsl), 0.15);--bs-table-active-bg:hsla(var(--bs-secondary-hsl), 0.25);--bs-table-hover-bg:hsla(var(--bs-secondary-hsl), 0.2)}.table-success{--bs-table-bg:hsla(var(--bs-success-hsl), 0.125);--bs-table-striped-bg:hsla(var(--bs-success-hsl), 0.15);--bs-table-active-bg:hsla(var(--bs-success-hsl), 0.25);--bs-table-hover-bg:hsla(var(--bs-success-hsl), 0.2)}.table-info,.table-success,.table-warning{--bs-table-color:var(--bs-body-color);--bs-table-border-color:var(--bs-border-color);--bs-table-striped-color:var(--bs-table-color);--bs-table-active-color:var(--bs-table-color);--bs-table-hover-color:var(--bs-table-color);color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-bg:hsla(var(--bs-info-hsl), 0.125);--bs-table-striped-bg:hsla(var(--bs-info-hsl), 0.15);--bs-table-active-bg:hsla(var(--bs-info-hsl), 0.25);--bs-table-hover-bg:hsla(var(--bs-info-hsl), 0.2)}.table-warning{--bs-table-bg:hsla(var(--bs-warning-hsl), 0.125);--bs-table-striped-bg:hsla(var(--bs-warning-hsl), 0.15);--bs-table-active-bg:hsla(var(--bs-warning-hsl), 0.25);--bs-table-hover-bg:hsla(var(--bs-warning-hsl), 0.2)}.table-danger{--bs-table-bg:hsla(var(--bs-danger-hsl), 0.125);--bs-table-striped-bg:hsla(var(--bs-danger-hsl), 0.15);--bs-table-active-bg:hsla(var(--bs-danger-hsl), 0.25);--bs-table-hover-bg:hsla(var(--bs-danger-hsl), 0.2)}.table-danger,.table-dark,.table-light{--bs-table-color:var(--bs-body-color);--bs-table-border-color:var(--bs-border-color);--bs-table-striped-color:var(--bs-table-color);--bs-table-active-color:var(--bs-table-color);--bs-table-hover-color:var(--bs-table-color);color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-bg:hsla(var(--bs-light-hsl), 0.125);--bs-table-striped-bg:hsla(var(--bs-light-hsl), 0.15);--bs-table-active-bg:hsla(var(--bs-light-hsl), 0.25);--bs-table-hover-bg:hsla(var(--bs-light-hsl), 0.2)}.table-dark{--bs-table-bg:hsla(var(--bs-dark-hsl), 0.125);--bs-table-striped-bg:hsla(var(--bs-dark-hsl), 0.15);--bs-table-active-bg:hsla(var(--bs-dark-hsl), 0.25);--bs-table-hover-bg:hsla(var(--bs-dark-hsl), 0.2)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(var(--bs-action-padding-y) + var(--bs-border-width));padding-bottom:calc(var(--bs-action-padding-y) + var(--bs-border-width));margin-bottom:0;font-size:var(--bs-action-font-size);line-height:var(--bs-action-line-height)}.col-form-label-lg{padding-top:calc(var(--bs-action-lg-padding-y) + var(--bs-border-width));padding-bottom:calc(var(--bs-action-lg-padding-y) + var(--bs-border-width));font-size:var(--bs-action-lg-font-size);line-height:var(--bs-action-lg-line-height)}.col-form-label-sm{padding-top:calc(var(--bs-action-sm-padding-y) + var(--bs-border-width));padding-bottom:calc(var(--bs-action-sm-padding-y) + var(--bs-border-width));font-size:var(--bs-action-sm-font-size);line-height:var(--bs-action-sm-line-height)}.form-text{margin-top:.25rem;font-size:var(--bs-font-size-sm);color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:var(--bs-action-padding-y) var(--bs-action-padding-x);font-size:var(--bs-action-font-size);font-weight:var(--bs-font-weight-normal);line-height:var(--bs-action-line-height);color:var(--bs-form-color);background-color:var(--bs-form-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-form-border-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--bs-border-radius)}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control:focus{color:var(--bs-form-color);background-color:var(--bs-form-bg);border-color:var(--bs-form-focus-border-color);outline:0;box-shadow:0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-form-focus-shadow-hsl),.35)}.form-control::-webkit-date-and-time-value{min-width:5.3125rem;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-moz-placeholder{color:var(--bs-tertiary-color);opacity:1}.form-control::placeholder{color:var(--bs-tertiary-color);opacity:1}.form-control:disabled{color:var(--bs-form-disabled-color);background-color:var(--bs-form-disabled-bg);border-color:var(--bs-form-disabled-border-color);opacity:1}.form-control::-webkit-file-upload-button{padding:var(--bs-action-padding-y) var(--bs-action-padding-x);margin:calc(-1*var(--bs-action-padding-y)) calc(-1*var(--bs-action-padding-x));-webkit-margin-end:var(--bs-action-padding-x);margin-inline-end:var(--bs-action-padding-x);color:var(--bs-form-color);background-color:var(--bs-form-secondary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0}.form-control::file-selector-button{padding:var(--bs-action-padding-y) var(--bs-action-padding-x);margin:calc(-1*var(--bs-action-padding-y)) calc(-1*var(--bs-action-padding-x));-webkit-margin-end:var(--bs-action-padding-x);margin-inline-end:var(--bs-action-padding-x);color:var(--bs-form-color);background-color:var(--bs-form-secondary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-form-tertiary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-form-tertiary-bg)}.form-control-plaintext{display:block;width:100%;padding:var(--bs-action-padding-y)0;margin-bottom:0;line-height:var(--bs-action-line-height);color:var(--bs-form-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width)0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-left:0;padding-right:0}.form-control-sm{min-height:calc(var(--bs-action-sm-font-size)*var(--bs-action-sm-line-height) + var(--bs-action-sm-padding-y)*2 + var(--bs-border-width)*2);padding:var(--bs-action-sm-padding-y) var(--bs-action-sm-padding-x);font-size:var(--bs-action-sm-font-size);line-height:var(--bs-action-sm-line-height);border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:var(--bs-action-sm-padding-y) var(--bs-action-sm-padding-x);margin:calc(-1*var(--bs-action-sm-padding-y)) calc(-1*var(--bs-action-sm-padding-x));-webkit-margin-end:var(--bs-action-sm-padding-x);margin-inline-end:var(--bs-action-sm-padding-x)}.form-control-sm::file-selector-button{padding:var(--bs-action-sm-padding-y) var(--bs-action-sm-padding-x);margin:calc(-1*var(--bs-action-sm-padding-y)) calc(-1*var(--bs-action-sm-padding-x));-webkit-margin-end:var(--bs-action-sm-padding-x);margin-inline-end:var(--bs-action-sm-padding-x)}.form-control-lg{min-height:calc(var(--bs-action-lg-font-size)*var(--bs-action-lg-line-height) + var(--bs-action-lg-padding-y)*2 + var(--bs-border-width)*2);padding:var(--bs-action-lg-padding-y) var(--bs-action-lg-padding-x);font-size:var(--bs-action-lg-font-size);line-height:var(--bs-action-lg-line-height);border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:var(--bs-action-lg-padding-y) var(--bs-action-lg-padding-x);margin:calc(-1*var(--bs-action-lg-padding-y)) calc(-1*var(--bs-action-lg-padding-x));-webkit-margin-end:var(--bs-action-lg-padding-x);margin-inline-end:var(--bs-action-lg-padding-x)}.form-control-lg::file-selector-button{padding:var(--bs-action-lg-padding-y) var(--bs-action-lg-padding-x);margin:calc(-1*var(--bs-action-lg-padding-y)) calc(-1*var(--bs-action-lg-padding-x));-webkit-margin-end:var(--bs-action-lg-padding-x);margin-inline-end:var(--bs-action-lg-padding-x)}textarea.form-control{min-height:calc(var(--bs-action-font-size)*var(--bs-action-line-height) + var(--bs-action-padding-y)*2 + var(--bs-border-width)*2)}.input-group-sm>textarea.form-control,textarea.form-control-sm{min-height:calc(var(--bs-action-sm-font-size)*var(--bs-action-sm-line-height) + var(--bs-action-sm-padding-y)*2 + var(--bs-border-width)*2)}.input-group-lg>textarea.form-control,textarea.form-control-lg{min-height:calc(var(--bs-action-lg-font-size)*var(--bs-action-lg-line-height) + var(--bs-action-lg-padding-y)*2 + var(--bs-border-width)*2)}.form-control-color{width:3rem;height:calc(1.5em + var(--bs-action-padding-y) + var(--bs-border-width)*2);padding:.375rem}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + var(--bs-action-sm-padding-y) + var(--bs-border-width)*2)}.form-control-color.form-control-lg{height:calc(1.5em + var(--bs-action-lg-padding-y) + var(--bs-border-width)*2)}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%233d4043' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:var(--bs-action-padding-y) var(--bs-action-padding-x) var(--bs-action-padding-y) 2rem;font-size:var(--bs-action-font-size);font-weight:var(--bs-font-weight-normal);line-height:var(--bs-action-line-height);color:var(--bs-form-color);background-color:var(--bs-form-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:left var(--bs-action-padding-x) center;background-size:1rem .75rem;border:var(--bs-border-width) solid var(--bs-form-border-color);border-radius:var(--bs-border-radius);-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:var(--bs-form-focus-border-color);outline:0;box-shadow:0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-form-focus-shadow-hsl),.35)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-left:var(--bs-action-padding-x);background-image:none}.form-select:disabled{color:var(--bs-form-disabled-color);background-color:var(--bs-form-disabled-bg);border-color:var(--bs-form-disabled-border-color)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-form-color)}.form-select-sm{padding-top:var(--bs-action-sm-padding-y);padding-bottom:var(--bs-action-sm-padding-y);padding-right:var(--bs-action-sm-padding-x);font-size:var(--bs-action-sm-font-size);line-height:var(--bs-action-sm-line-height);border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:var(--bs-action-lg-padding-y);padding-bottom:var(--bs-action-lg-padding-y);padding-right:var(--bs-action-lg-padding-x);font-size:var(--bs-action-lg-font-size);line-height:var(--bs-action-lg-line-height);border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23aeb1b7' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-select[multiple]{overflow-y:auto}.form-check{display:block;min-height:1.5rem;padding-right:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:right;margin-right:-1.5em}.form-check-reverse{padding-left:1.5em;padding-right:0;text-align:left}.form-check-reverse .form-check-input{float:left;margin-left:-1.5em;margin-right:0}.form-check-input{flex-shrink:0;width:1em;height:1em;margin-top:var(--bs-relative-font-size-4xs);vertical-align:top;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-form-check-border-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:var(--bs-relative-font-size-4xs)}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:var(--bs-form-check-focus-border-color);outline:0;box-shadow:0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-form-check-focus-shadow-hsl),.35)}.form-check-input:checked{background-color:var(--bs-primary);border-color:var(--bs-primary)}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:var(--bs-primary-checkbox-svg)}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:var(--bs-primary-radio-svg)}.form-check-input[type=checkbox]:indeterminate{background-color:var(--bs-primary);border-color:var(--bs-primary);--bs-form-check-bg-image:var(--bs-primary-dash-svg)}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-right:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:var(--bs-switch-svg-unchecked);width:2em;margin-right:-2.5em;background-image:var(--bs-form-switch-bg);background-position:right center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:var(--bs-switch-svg-unchecked)}.form-switch .form-check-input:checked{background-position:left center;--bs-form-switch-bg:var(--bs-primary-switch-svg)}.form-switch.form-check-reverse{padding-left:2.5em;padding-right:0}.form-switch.form-check-reverse .form-check-input{margin-left:-2.5em;margin-right:0}.form-check-inline{display:inline-block;margin-left: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.625rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{border-color:var(--bs-primary-border-subtle);box-shadow:0 0 0 .3125rem hsla(var(--bs-form-focus-shadow-hsl),.35)}.form-range:focus::-moz-range-thumb{border-color:var(--bs-primary-border-subtle);box-shadow:0 0 0 .3125rem hsla(var(--bs-form-focus-shadow-hsl),.35)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1.625rem;height:1.625rem;margin-top:-.625rem;background-color:var(--bs-form-check-bg);border:var(--bs-border-width-2) solid var(--bs-form-check-border-color);border-radius:50%;-webkit-appearance:none;appearance:none;box-sizing:border-box;cursor:pointer}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;box-sizing:border-box;cursor:pointer;background-color:var(--bs-actionbar-bg);border:var(--bs-border-width) solid var(--bs-actionbar-border-color);border-radius:1rem}.form-range::-moz-range-thumb{width:1.625rem;height:1.625rem;background-color:var(--bs-form-check-bg);border:var(--bs-border-width-2) solid var(--bs-form-check-border-color);border-radius:50%;-moz-appearance:none;appearance:none;box-sizing:border-box;cursor:pointer}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;box-sizing:border-box;cursor:pointer;background-color:var(--bs-actionbar-bg);border:var(--bs-border-width) solid var(--bs-actionbar-border-color);border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-form-check-border-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-form-check-border-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width)*2));min-height:calc(3.5rem + calc(var(--bs-border-width)*2));line-height:var(--bs-line-height-sm)}.form-floating>label{position:absolute;top:0;right:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;color:hsla(var(--bs-body-color-hsl),.75);border:var(--bs-border-width) solid transparent;transform-origin:100%0;transition:opacity .1s ease-in-out,transform .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-plaintext::-moz-placeholder,.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown),.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem;padding-right:.75rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{color:hsla(var(--bs-body-color-hsl),.75);transform:scale(.85) translateY(-.5rem) translateX(-.15rem)}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{color:hsla(var(--bs-body-color-hsl),.75);transform:scale(.85) translateY(-.5rem) translateX(-.15rem)}.form-floating>.form-control:not(:-moz-placeholder-shown)~label::after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-form-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control-plaintext~label::after,.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-form-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control-plaintext~label::after{background-color:transparent}.form-floating>.form-control:-webkit-autofill~label{color:hsla(var(--bs-body-color-hsl),.75);transform:scale(.85) translateY(-.5rem) translateX(-.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width)0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:var(--bs-form-disabled-color)}.form-floating>.form-control:disabled~label::after,.form-floating>:disabled~label::after{background-color:var(--bs-form-disabled-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:var(--bs-action-padding-y) var(--bs-action-padding-x);font-size:var(--bs-action-font-size);font-weight:var(--bs-font-weight-normal);line-height:var(--bs-action-line-height);color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-form-tertiary-bg);border:var(--bs-border-width) solid var(--bs-form-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:var(--bs-action-lg-padding-y) var(--bs-action-lg-padding-x);font-size:var(--bs-action-lg-font-size);line-height:var(--bs-action-lg-line-height);border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:var(--bs-action-sm-padding-y) var(--bs-action-sm-padding-x);font-size:var(--bs-action-sm-font-size);line-height:var(--bs-action-sm-line-height);border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-left:2rem}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-right:calc(var(--bs-border-width)*-1);border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.valid-feedback,.valid-tooltip{display:none;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.valid-feedback{width:100%;margin-top:.25rem;font-size:var(--bs-relative-font-size-sm);color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;max-width:100%;padding:.25rem .375rem;margin-top:.125rem;font-size:var(--bs-font-size-sm);line-height:var(--bs-line-height-sm);color:var(--bs-success-foreground);background-color:var(--bs-success);border-radius:var(--bs-border-radius-sm)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-form-valid-border-color);padding-left:calc(1.5em + var(--bs-action-padding-x));background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%233b844f' 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:left calc(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y)/2)) center;background-size:calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y)) calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y))}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-success-hsl),.35)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-left:calc(1.5em + var(--bs-action-padding-x));background-position:top calc(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y)/2)) left calc(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y)/2))}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%233b844f' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-left:3.5rem;background-position:left var(--bs-action-padding-x) center,center left 2rem;background-size:1rem .75rem,calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y)) calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y))}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-success-hsl),.35)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.5em + var(--bs-action-padding-x)))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-success);border-color:var(--bs-success)}.form-check-input.is-valid:checked[type=checkbox],.was-validated .form-check-input:valid:checked[type=checkbox]{--bs-form-check-bg-image:var(--bs-success-checkbox-svg)}.form-check-input.is-valid:checked[type=radio],.was-validated .form-check-input:valid:checked[type=radio]{--bs-form-check-bg-image:var(--bs-success-radio-svg)}.form-switch .form-check-input.is-valid:checked,.was-validated .form-switch .form-check-input:valid:checked,.was-validated.form-switch .form-check-input:valid:checked{--bs-form-switch-bg:var(--bs-success-switch-svg)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-success-hsl),.35)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-right:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback,.invalid-tooltip{display:none;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.invalid-feedback{width:100%;margin-top:.25rem;font-size:var(--bs-relative-font-size-sm);color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;max-width:100%;padding:.25rem .375rem;margin-top:.125rem;font-size:var(--bs-font-size-sm);line-height:var(--bs-line-height-sm);color:var(--bs-danger-foreground);background-color:var(--bs-danger);border-radius:var(--bs-border-radius-sm)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-form-invalid-border-color);padding-left:calc(1.5em + var(--bs-action-padding-x));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:left calc(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y)/2)) center;background-size:calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y)) calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y))}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-danger-hsl),.35)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-left:calc(1.5em + var(--bs-action-padding-x));background-position:top calc(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y)/2)) left calc(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y)/2))}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-left:3.5rem;background-position:left var(--bs-action-padding-x) center,center left 2rem;background-size:1rem .75rem,calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y)) calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y))}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-danger-hsl),.35)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.5em + var(--bs-action-padding-x)))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-danger);border-color:var(--bs-danger)}.form-check-input.is-invalid:checked[type=checkbox],.was-validated .form-check-input:invalid:checked[type=checkbox]{--bs-form-check-bg-image:var(--bs-danger-checkbox-svg)}.form-check-input.is-invalid:checked[type=radio],.was-validated .form-check-input:invalid:checked[type=radio]{--bs-form-check-bg-image:var(--bs-danger-radio-svg)}.form-switch .form-check-input.is-invalid:checked,.was-validated .form-switch .form-check-input:invalid:checked,.was-validated.form-switch .form-check-input:invalid:checked{--bs-form-switch-bg:var(--bs-danger-switch-svg)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-danger-hsl),.35)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-right:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn,.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg)}.btn{--bs-btn-padding-x:var(--bs-action-padding-x);--bs-btn-padding-y:var(--bs-action-padding-y);--bs-btn-font-family: ;--bs-btn-font-size:var(--bs-action-font-size);--bs-btn-font-weight:var(--bs-font-weight-normal);--bs-btn-line-height:var(--bs-action-line-height);--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:var(--bs-btn-border-color);--bs-btn-box-shadow:none;--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-btn-focus-shadow-hsl), 0.5);--bs-btn-bg-clip:border-box;--bs-btn-webkit-font-smoothing:auto;--bs-btn-moz-osx-font-smoothing:auto;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);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-clip:var(--bs-btn-bg-clip);-webkit-font-smoothing:var(--bs-btn-webkit-font-smoothing);-moz-osx-font-smoothing:var(--bs-btn-moz-osx-font-smoothing)}@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{border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg)}.btn-check:focus-visible+.btn,.btn:focus-visible{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary,.btn-secondary{--bs-btn-active-shadow:none;--bs-btn-disabled-color:var(--bs-btn-color);--bs-btn-disabled-bg:var(--bs-btn-bg)}.btn-primary{--bs-btn-color:var(--bs-primary-foreground);--bs-btn-bg:var(--bs-primary);--bs-btn-border-color:var(--bs-ctx-btn-border-color);--bs-btn-hover-color:var(--bs-btn-color);--bs-btn-hover-bg:var(--bs-primary-hover-bg);--bs-btn-hover-border-color:var(--bs-ctx-btn-hover-border-color);--bs-btn-focus-shadow-hsl:var(--bs-primary-hsl);--bs-btn-active-color:var(--bs-btn-color);--bs-btn-active-bg:var(--bs-primary-active-bg);--bs-btn-active-border-color:var(--bs-ctx-btn-active-border-color);--bs-btn-disabled-border-color:var(--bs-ctx-btn-disabled-border-color);--bs-btn-bg-clip:var(--bs-ctx-btn-bg-clip)}.btn-secondary{--bs-btn-color:var(--bs-action-color);--bs-btn-bg:var(--bs-action-bg);--bs-btn-border-color:var(--bs-action-border-color);--bs-btn-hover-color:var(--bs-action-hover-color);--bs-btn-hover-bg:var(--bs-action-hover-bg);--bs-btn-hover-border-color:var(--bs-action-hover-border-color);--bs-btn-focus-shadow-hsl:var(--bs-action-focus-shadow-hsl);--bs-btn-active-color:var(--bs-action-active-color);--bs-btn-active-bg:var(--bs-action-active-bg);--bs-btn-active-border-color:var(--bs-action-active-border-color);--bs-btn-disabled-border-color:var(--bs-btn-border-color);--bs-btn-bg-clip:border-box}.btn-success{--bs-btn-color:var(--bs-success-foreground);--bs-btn-bg:var(--bs-success);--bs-btn-border-color:var(--bs-ctx-btn-border-color);--bs-btn-hover-color:var(--bs-btn-color);--bs-btn-hover-bg:var(--bs-success-hover-bg);--bs-btn-hover-border-color:var(--bs-ctx-btn-hover-border-color);--bs-btn-focus-shadow-hsl:var(--bs-success-hsl);--bs-btn-active-color:var(--bs-btn-color);--bs-btn-active-bg:var(--bs-success-active-bg);--bs-btn-active-border-color:var(--bs-ctx-btn-active-border-color);--bs-btn-disabled-border-color:var(--bs-ctx-btn-disabled-border-color);--bs-btn-bg-clip:var(--bs-ctx-btn-bg-clip)}.btn-info,.btn-success,.btn-warning{--bs-btn-active-shadow:none;--bs-btn-disabled-color:var(--bs-btn-color);--bs-btn-disabled-bg:var(--bs-btn-bg)}.btn-info{--bs-btn-color:var(--bs-info-foreground);--bs-btn-bg:var(--bs-info);--bs-btn-border-color:var(--bs-ctx-btn-border-color);--bs-btn-hover-color:var(--bs-btn-color);--bs-btn-hover-bg:var(--bs-info-hover-bg);--bs-btn-hover-border-color:var(--bs-ctx-btn-hover-border-color);--bs-btn-focus-shadow-hsl:var(--bs-info-hsl);--bs-btn-active-color:var(--bs-btn-color);--bs-btn-active-bg:var(--bs-info-active-bg);--bs-btn-active-border-color:var(--bs-ctx-btn-active-border-color);--bs-btn-disabled-border-color:var(--bs-ctx-btn-disabled-border-color);--bs-btn-bg-clip:var(--bs-ctx-btn-bg-clip)}.btn-warning{--bs-btn-color:var(--bs-warning-foreground);--bs-btn-bg:var(--bs-warning);--bs-btn-hover-bg:var(--bs-warning-hover-bg);--bs-btn-focus-shadow-hsl:var(--bs-warning-hsl);--bs-btn-active-bg:var(--bs-warning-active-bg)}.btn-danger,.btn-light,.btn-warning{--bs-btn-border-color:var(--bs-ctx-btn-border-color);--bs-btn-hover-color:var(--bs-btn-color);--bs-btn-hover-border-color:var(--bs-ctx-btn-hover-border-color);--bs-btn-active-color:var(--bs-btn-color);--bs-btn-active-border-color:var(--bs-ctx-btn-active-border-color);--bs-btn-disabled-border-color:var(--bs-ctx-btn-disabled-border-color);--bs-btn-bg-clip:var(--bs-ctx-btn-bg-clip)}.btn-danger{--bs-btn-color:var(--bs-danger-foreground);--bs-btn-bg:var(--bs-danger);--bs-btn-hover-bg:var(--bs-danger-hover-bg);--bs-btn-focus-shadow-hsl:var(--bs-danger-hsl);--bs-btn-active-bg:var(--bs-danger-active-bg);--bs-btn-active-shadow:none;--bs-btn-disabled-color:var(--bs-btn-color);--bs-btn-disabled-bg:var(--bs-btn-bg)}.btn-light{--bs-btn-color:var(--bs-light-foreground);--bs-btn-bg:var(--bs-light);--bs-btn-hover-bg:var(--bs-light-hover-bg);--bs-btn-focus-shadow-hsl:var(--bs-light-hsl);--bs-btn-active-bg:var(--bs-light-active-bg)}.btn-dark,.btn-light,.btn-outline-primary,.btn-outline-secondary{--bs-btn-active-shadow:none;--bs-btn-disabled-color:var(--bs-btn-color);--bs-btn-disabled-bg:var(--bs-btn-bg)}.btn-dark{--bs-btn-color:var(--bs-dark-foreground);--bs-btn-bg:var(--bs-dark);--bs-btn-border-color:var(--bs-ctx-btn-border-color);--bs-btn-hover-color:var(--bs-btn-color);--bs-btn-hover-bg:var(--bs-dark-hover-bg);--bs-btn-hover-border-color:var(--bs-ctx-btn-hover-border-color);--bs-btn-focus-shadow-hsl:var(--bs-dark-hsl);--bs-btn-active-color:var(--bs-btn-color);--bs-btn-active-bg:var(--bs-dark-active-bg);--bs-btn-active-border-color:var(--bs-ctx-btn-active-border-color);--bs-btn-disabled-border-color:var(--bs-ctx-btn-disabled-border-color);--bs-btn-bg-clip:var(--bs-ctx-btn-bg-clip)}.btn-outline-primary,.btn-outline-secondary{--bs-btn-active-color:var(--bs-btn-hover-color);--bs-btn-active-bg:var(--bs-btn-hover-bg);--bs-btn-active-border-color:var(--bs-btn-hover-border-color);--bs-btn-disabled-border-color:var(--bs-btn-border-color);--bs-btn-bg-clip:border-box;--bs-gradient:none}.btn-outline-primary{--bs-btn-color:var(--bs-primary-text-emphasis);--bs-btn-border-color:var(--bs-primary-text-emphasis);--bs-btn-hover-color:var(--bs-primary-foreground);--bs-btn-hover-bg:var(--bs-primary);--bs-btn-hover-border-color:var(--bs-primary);--bs-btn-focus-shadow-hsl:var(--bs-primary-hsl)}.btn-outline-secondary{--bs-btn-color:var(--bs-secondary-text-emphasis);--bs-btn-border-color:var(--bs-secondary-text-emphasis);--bs-btn-hover-color:var(--bs-secondary-foreground);--bs-btn-hover-bg:var(--bs-secondary);--bs-btn-hover-border-color:var(--bs-secondary);--bs-btn-focus-shadow-hsl:var(--bs-secondary-hsl)}.btn-outline-success{--bs-btn-color:var(--bs-success-text-emphasis);--bs-btn-border-color:var(--bs-success-text-emphasis);--bs-btn-hover-color:var(--bs-success-foreground);--bs-btn-hover-bg:var(--bs-success);--bs-btn-hover-border-color:var(--bs-success);--bs-btn-focus-shadow-hsl:var(--bs-success-hsl)}.btn-outline-info,.btn-outline-success,.btn-outline-warning{--bs-btn-active-color:var(--bs-btn-hover-color);--bs-btn-active-bg:var(--bs-btn-hover-bg);--bs-btn-active-border-color:var(--bs-btn-hover-border-color);--bs-btn-active-shadow:none;--bs-btn-disabled-color:var(--bs-btn-color);--bs-btn-disabled-bg:var(--bs-btn-bg);--bs-btn-disabled-border-color:var(--bs-btn-border-color);--bs-btn-bg-clip:border-box;--bs-gradient:none}.btn-outline-info{--bs-btn-color:var(--bs-info-text-emphasis);--bs-btn-border-color:var(--bs-info-text-emphasis);--bs-btn-hover-color:var(--bs-info-foreground);--bs-btn-hover-bg:var(--bs-info);--bs-btn-hover-border-color:var(--bs-info);--bs-btn-focus-shadow-hsl:var(--bs-info-hsl)}.btn-outline-warning{--bs-btn-color:var(--bs-warning-text-emphasis);--bs-btn-border-color:var(--bs-warning-text-emphasis);--bs-btn-hover-color:var(--bs-warning-foreground);--bs-btn-hover-bg:var(--bs-warning);--bs-btn-hover-border-color:var(--bs-warning);--bs-btn-focus-shadow-hsl:var(--bs-warning-hsl)}.btn-outline-danger{--bs-btn-color:var(--bs-danger-text-emphasis);--bs-btn-border-color:var(--bs-danger-text-emphasis);--bs-btn-hover-color:var(--bs-danger-foreground);--bs-btn-hover-bg:var(--bs-danger);--bs-btn-hover-border-color:var(--bs-danger);--bs-btn-focus-shadow-hsl:var(--bs-danger-hsl)}.btn-outline-danger,.btn-outline-dark,.btn-outline-light{--bs-btn-active-color:var(--bs-btn-hover-color);--bs-btn-active-bg:var(--bs-btn-hover-bg);--bs-btn-active-border-color:var(--bs-btn-hover-border-color);--bs-btn-active-shadow:none;--bs-btn-disabled-color:var(--bs-btn-color);--bs-btn-disabled-bg:var(--bs-btn-bg);--bs-btn-disabled-border-color:var(--bs-btn-border-color);--bs-btn-bg-clip:border-box;--bs-gradient:none}.btn-outline-light{--bs-btn-color:var(--bs-light-text-emphasis);--bs-btn-border-color:var(--bs-light-text-emphasis);--bs-btn-hover-color:var(--bs-light-foreground);--bs-btn-hover-bg:var(--bs-light);--bs-btn-hover-border-color:var(--bs-light);--bs-btn-focus-shadow-hsl:var(--bs-light-hsl)}.btn-outline-dark{--bs-btn-color:var(--bs-dark-text-emphasis);--bs-btn-border-color:var(--bs-dark-text-emphasis);--bs-btn-hover-color:var(--bs-dark-foreground);--bs-btn-hover-bg:var(--bs-dark);--bs-btn-hover-border-color:var(--bs-dark);--bs-btn-focus-shadow-hsl:var(--bs-dark-hsl)}.btn-link{--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:var(--bs-secondary-color);--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:none;--bs-btn-focus-shadow-hsl:var(--bs-primary-hsl);text-decoration:var(--bs-link-decoration);text-underline-offset:var(--bs-link-decoration-offset)}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color);text-decoration:var(--bs-link-hover-decoration)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-x:var(--bs-action-lg-padding-x);--bs-btn-padding-y:var(--bs-action-lg-padding-y);--bs-btn-font-size:var(--bs-action-lg-font-size);--bs-btn-line-height:var(--bs-action-lg-line-height);--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-x:var(--bs-action-sm-padding-x);--bs-btn-padding-y:var(--bs-action-sm-padding-y);--bs-btn-font-size:var(--bs-action-sm-font-size);--bs-btn-line-height:var(--bs-action-sm-line-height);--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-left:.3em solid transparent;border-bottom:0;border-right:.3em solid transparent}.dropdown-toggle:empty::after,.dropend .dropdown-toggle:empty::after,.dropstart .dropdown-toggle:empty::after,.dropup .dropdown-toggle:empty::after{margin-right:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:11.25rem;--bs-dropdown-padding-x:0.25rem;--bs-dropdown-padding-y:0.25rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:var(--bs-font-size-base);--bs-dropdown-color:var(--bs-content-floating-color);--bs-dropdown-bg:var(--bs-content-floating-bg);--bs-dropdown-border-color:var(--bs-content-floating-border-color);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-dropdown-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:var(--bs-content-floating-box-shadow);--bs-dropdown-link-color:var(--bs-dropdown-color);--bs-dropdown-link-hover-color:var(--bs-dropdown-link-color);--bs-dropdown-link-hover-bg:var(--bs-action-hover-bg);--bs-dropdown-link-active-color:var(--bs-dropdown-link-color);--bs-dropdown-link-active-bg:var(--bs-action-active-bg);--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-link-webkit-font-smoothing:var(--bs-body-webkit-font-smoothing);--bs-dropdown-link-moz-osx-font-smoothing:var(--bs-body-moz-osx-font-smoothing);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-item-border-radius:var(--bs-border-radius-sm);--bs-dropdown-header-color:var(--bs-secondary-color);--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:right;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);box-shadow:var(--bs-dropdown-box-shadow)}.dropdown-menu[data-bs-popper]{top:100%;right:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{left:auto;right:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{left:0;right:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{left:auto;right:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{left:0;right:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{left:auto;right:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{left:0;right:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{left:auto;right:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{left:0;right:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{left:auto;right:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{left:0;right:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{left:auto;right:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{left:0;right:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after,.dropup .dropdown-toggle::after{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:0;border-left:.3em solid transparent;border-bottom:.3em solid;border-right:.3em solid transparent}.dropend .dropdown-menu[data-bs-popper]{top:0;left:auto;right:100%;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{border-top:.3em solid transparent;border-left:0;border-bottom:.3em solid transparent;border-right:.3em solid;vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;left:100%;right:auto;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{margin-right:.255em;vertical-align:.255em;content:"";display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-left:.255em;content:"";border-top:.3em solid transparent;border-left:.3em solid;border-bottom:.3em solid transparent;vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y)0;overflow:hidden;border-top:var(--bs-border-width) solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:var(--bs-font-weight-normal);color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius);-webkit-font-smoothing:var(--bs-dropdown-link-webkit-font-smoothing);-moz-osx-font-smoothing:var(--bs-dropdown-link-moz-osx-font-smoothing)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.active{color:var(--bs-primary-foreground);background-color:var(--bs-primary);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.dropdown-item.active:focus-visible{background-color:var(--bs-primary-hover-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:var(--bs-dropdown-font-size);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)}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check+.btn:not(.btn-secondary),.btn-group-vertical>.btn:not(.btn-secondary),.btn-group>.btn-check+.btn:not(.btn-secondary),.btn-group>.btn:not(.btn-secondary){z-index:1}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-right:calc(-1*var(--bs-border-width))}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-right-radius:0;border-bottom-right-radius:0}.dropdown-toggle-split{padding-left:.5rem;padding-right:.5rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-right:0}.dropstart .dropdown-toggle-split::before{margin-left:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-left:.375rem;padding-right:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-left:.625rem;padding-right:.625rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(-1*var(--bs-border-width))}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-left-radius:0;border-bottom-right-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-right-radius:0;border-top-left-radius:0}.nav{--bs-nav-link-padding-x:0.5rem;--bs-nav-link-padding-y:0.25rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-tertiary-color);--bs-nav-link-webkit-font-smoothing:auto;--bs-nav-link-moz-osx-font-smoothing:auto;display:flex;flex-wrap:wrap;padding-right:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;-webkit-font-smoothing:var(--bs-nav-link-webkit-font-smoothing);-moz-osx-font-smoothing:var(--bs-nav-link-moz-osx-font-smoothing)}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-action-focus-shadow-hsl),.5)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-link-color:var(--bs-body-color);--bs-nav-link-hover-color:var(--bs-nav-link-color);--bs-nav-link-webkit-font-smoothing:var(--bs-body-webkit-font-smoothing);--bs-nav-link-moz-osx-font-smoothing:var(--bs-body-moz-osx-font-smoothing);--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-border-color-translucent) var(--bs-border-color-translucent) transparent;--bs-nav-tabs-link-active-color:var(--bs-nav-link-color);--bs-nav-tabs-link-active-bg:var(--bs-content-bg);--bs-nav-tabs-link-active-border-color:var(--bs-nav-tabs-border-color) var(--bs-nav-tabs-border-color) var(--bs-nav-tabs-link-active-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1*var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-right-radius:var(--bs-nav-tabs-border-radius);border-top-left-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1*var(--bs-nav-tabs-border-width));border-top-right-radius:0;border-top-left-radius:0}.nav-pills,.nav-underline{--bs-nav-link-color:var(--bs-body-color);--bs-nav-link-hover-color:var(--bs-secondary-color);--bs-nav-link-webkit-font-smoothing:var(--bs-body-webkit-font-smoothing);--bs-nav-link-moz-osx-font-smoothing:var(--bs-body-moz-osx-font-smoothing)}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:var(--bs-primary-foreground);--bs-nav-pills-link-active-bg:var(--bs-primary)}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:0.125rem;--bs-nav-underline-link-padding:var(--bs-nav-link-padding-y) 0 calc(var(--bs-nav-link-padding-y) + var(--bs-nav-underline-border-width)) 0;--bs-nav-underline-link-active-color:var(--bs-link-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding:var(--bs-nav-underline-link-padding);border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-color-hsl:var(--bs-emphasis-color-hsl);--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:hsla(var(--bs-color-hsl), 0.65);--bs-navbar-hover-color:hsla(var(--bs-color-hsl), 0.75);--bs-navbar-disabled-color:hsla(var(--bs-color-hsl), 0.3);--bs-navbar-active-color:hsla(var(--bs-color-hsl), 0.95);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:calc(var(--bs-font-size-base) + 0.25rem);--bs-navbar-brand-color:hsla(var(--bs-color-hsl), 0.85);--bs-navbar-brand-hover-color:var(--bs-navbar-brand-color);--bs-navbar-nav-link-padding-x:0.75rem;--bs-navbar-toggler-padding-y:0.125rem;--bs-navbar-toggler-padding-x:0.25rem;--bs-navbar-toggler-font-size:var(--bs-font-size-lg);--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='%23242628' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:transparent;--bs-navbar-toggler-border-radius:var(--bs-border-radius-sm);--bs-navbar-toggler-focus-width:var(--bs-focus-ring-width);--bs-navbar-toggler-transition:none;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-left:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-right:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus-visible{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width) hsla(var(--bs-emphasis-color-hsl),.25)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler,.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler,.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler,.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler,.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler,.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler,.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-toggler[data-bs-theme=light] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23242628' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-toggler[data-bs-theme=dark] .navbar-toggler-icon,[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23c9cbcf' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-content-border-color);--bs-card-inner-border-color:var(--bs-border-color-translucent);--bs-card-group-border-color:var(--bs-border-color);--bs-card-border-radius:var(--bs-border-radius-lg);--bs-card-box-shadow:var(--bs-content-box-shadow);--bs-card-inner-border-radius:calc(var(--bs-card-border-radius) - (var(--bs-card-border-width)));--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:hsla(var(--bs-black-hsl), 0.025);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-content-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius);box-shadow:var(--bs-card-box-shadow)}[data-bs-theme=dark] .card{--bs-card-cap-bg:hsla(var(--bs-black-hsl), 0.1)}.card>hr{margin-left:0;margin-right:0}.card>.list-group{border-top:var(--bs-card-border-width) solid var(--bs-list-group-border-color);border-bottom:var(--bs-card-border-width) solid var(--bs-list-group-border-color)}.card>.list-group:first-child{border-top-width:0;border-top-right-radius:var(--bs-card-inner-border-radius);border-top-left-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-left-radius:var(--bs-card-inner-border-radius);border-bottom-right-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5*var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-right: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-inner-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-inner-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-bottom:calc(-1*var(--bs-card-cap-padding-y));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills,.card-header-tabs,.card-header-underline{margin-left:calc(-.5*var(--bs-card-cap-padding-x));margin-right:calc(-.5*var(--bs-card-cap-padding-x))}.card-header-underline{margin-bottom:calc(-1*var(--bs-card-cap-padding-y))}.card-img-overlay{position:absolute;top:0;left:0;bottom:0;right:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-right-radius:var(--bs-card-inner-border-radius);border-top-left-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-left-radius:var(--bs-card-inner-border-radius);border-bottom-right-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-right:0;border-right:0}.card-group>.card:not(:last-child){border-top-left-radius:0;border-bottom-left-radius:0;border-left-color:var(--bs-card-group-border-color)}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-left-radius:0}.card-group>.card:not(:first-child){border-top-right-radius:0;border-bottom-right-radius:0;border-right-color:var(--bs-card-group-border-color)}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-right-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:transparent;--bs-accordion-transition: ;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width));--bs-accordion-btn-padding-x:1rem;--bs-accordion-btn-padding-y:0.75rem;--bs-accordion-btn-color:var(--bs-accordion-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23242628'%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:0.75rem;--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='%23242628'%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:var(--bs-accordion-border-color);--bs-accordion-btn-focus-box-shadow:inset 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-action-focus-shadow-hsl), 0.5);--bs-accordion-body-padding-x:1rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-accordion-color);--bs-accordion-active-bg:var(--bs-accordion-bg)}[data-bs-theme=dark] .accordion{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23c9cbcf'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23c9cbcf'%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")}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:var(--bs-font-size-base);color:var(--bs-accordion-btn-color);text-align:right;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1*var(--bs-accordion-border-width))0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-right: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-right-radius:var(--bs-accordion-border-radius);border-top-left-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-right-radius:var(--bs-accordion-inner-border-radius);border-top-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type,.accordion-item:last-of-type .accordion-collapse{border-bottom-left-radius:var(--bs-accordion-border-radius);border-bottom-right-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-left-radius:var(--bs-accordion-inner-border-radius);border-bottom-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-left:0;border-right:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}.breadcrumb,.pagination{display:flex;list-style:none}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);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);background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-right:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:right;padding-left:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:0.375rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:var(--bs-font-size-base);--bs-pagination-line-height:calc(20/14);--bs-pagination-min-width:1.875rem;--bs-pagination-color:var(--bs-action-color);--bs-pagination-bg:var(--bs-action-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-action-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-action-hover-color);--bs-pagination-hover-bg:var(--bs-action-hover-bg);--bs-pagination-hover-border-color:var(--bs-action-border-color);--bs-pagination-focus-color:var(--bs-action-active-color);--bs-pagination-focus-bg:var(--bs-action-active-bg);--bs-pagination-focus-box-shadow:0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-action-focus-shadow-hsl), 0.5);--bs-pagination-active-color:var(--bs-primary-foreground);--bs-pagination-active-bg:var(--bs-primary);--bs-pagination-active-border-color:var(--bs-ctx-btn-border-color);--bs-pagination-active-bg-clip:var(--bs-ctx-btn-bg-clip);--bs-pagination-active-webkit-font-smoothing:auto;--bs-pagination-active-moz-osx-font-smoothing:auto;--bs-pagination-disabled-color:var(--bs-action-disabled-color);--bs-pagination-disabled-bg:var(--bs-action-disabled-bg);--bs-pagination-disabled-border-color:var(--bs-action-disabled-border-color);padding-right:0}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);line-height:var(--bs-pagination-line-height);min-width:var(--bs-pagination-min-width);color:var(--bs-pagination-color);text-decoration:none;text-align:center;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color)}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color);background-clip:var(--bs-pagination-active-bg-clip);-webkit-font-smoothing:var(--bs-pagination-active-webkit-font-smoothing);-moz-osx-font-smoothing:var(--bs-pagination-active-moz-osx-font-smoothing)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-right:calc(-1*var(--bs-pagination-border-width))}.page-item:first-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:0.625rem;--bs-pagination-padding-y:0.3125rem;--bs-pagination-font-size:var(--bs-font-size-lg);--bs-pagination-line-height:calc(24/16);--bs-pagination-min-width:2.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:0.125rem;--bs-pagination-padding-y:0.125rem;--bs-pagination-font-size:var(--bs-font-size-sm);--bs-pagination-line-height:calc(18/12);--bs-pagination-min-width:1.5rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:var(--bs-relative-font-size-2xs);--bs-badge-padding-y:var(--bs-relative-font-size-4xs);--bs-badge-font-size:var(--bs-relative-font-size-sm);--bs-badge-font-weight:var(--bs-font-weight-normal);--bs-badge-color:var(--bs-secondary-foreground);--bs-badge-bg:var(--bs-secondary);--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);background-color:var(--bs-badge-bg);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:0.75rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:var(--bs-font-weight-normal);color:var(--bs-alert-link-color);text-decoration:underline;-webkit-font-smoothing:var(--bs-body-webkit-font-smoothing);-moz-osx-font-smoothing:var(--bs-body-moz-osx-font-smoothing)}.alert-link:hover{opacity:.75;text-decoration:underline}.alert-dismissible{padding-left:2.5rem}.alert-dismissible .btn-close{position:absolute;top:50%;left:.375rem;transform:translateY(-50%);z-index:2}.alert-primary,.alert-secondary{--bs-alert-color:var(--bs-body-color);--bs-alert-link-color:var(--bs-alert-color)}.alert-primary{--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle)}.alert-secondary{--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle)}.alert-success{--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle)}.alert-info,.alert-success,.alert-warning{--bs-alert-color:var(--bs-body-color);--bs-alert-link-color:var(--bs-alert-color)}.alert-info{--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle)}.alert-warning{--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle)}.alert-danger{--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle)}.alert-danger,.alert-dark,.alert-light{--bs-alert-color:var(--bs-body-color);--bs-alert-link-color:var(--bs-alert-color)}.alert-light{--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle)}.alert-dark{--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle)}.progress,.progress-stacked{--bs-progress-height:0.625rem;--bs-progress-font-size:0.5rem;--bs-progress-bg:var(--bs-actionbar-bg);--bs-progress-border:var(--bs-progresstrack-border-width) solid var(--bs-actionbar-border-color);--bs-progress-border-radius:var(--bs-border-radius-pill);--bs-progress-box-shadow:var(--bs-progresstrack-box-shadow);--bs-progress-bg-clip:var(--bs-progresstrack-bg-clip);--bs-progress-bar-color:var(--bs-primary-foreground);--bs-progress-bar-bg:var(--bs-primary);--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border:var(--bs-progress-border);border-radius:var(--bs-progress-border-radius);box-shadow:var(--bs-progress-box-shadow);background-clip:var(--bs-progress-bg-clip)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(-45deg,hsla(var(--bs-primary-foreground-hsl),.15) 25%,transparent 25%,transparent 50%,hsla(var(--bs-primary-foreground-hsl),.15) 50%,hsla(var(--bs-primary-foreground-hsl),.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{height:100%;overflow:visible;font-size:inherit;background-color:transparent;border:0;border-radius:0;box-shadow:none;background-clip:border-box}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:transparent;--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.375rem;--bs-list-group-action-color:var(--bs-list-group-color);--bs-list-group-action-hover-color:var(--bs-list-group-action-color);--bs-list-group-action-hover-bg:hsla(var(--bs-black-hsl), 0.06);--bs-list-group-action-active-color:var(--bs-list-group-action-color);--bs-list-group-action-active-bg:hsla(var(--bs-black-hsl), 0.09);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:hsla(var(--bs-black-hsl), 0.03);--bs-list-group-active-color:var(--bs-primary-foreground);--bs-list-group-active-bg:var(--bs-primary);--bs-list-group-active-border-color:var(--bs-primary);display:flex;flex-direction:column;padding-right:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}[data-bs-theme=dark] .list-group{--bs-list-group-action-hover-bg:hsla(var(--bs-white-hsl), 0.05);--bs-list-group-action-active-bg:hsla(var(--bs-white-hsl), 0.075);--bs-list-group-disabled-bg:hsla(var(--bs-white-hsl), 0.025)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section,".")". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);-webkit-font-smoothing:var(--bs-body-webkit-font-smoothing);-moz-osx-font-smoothing:var(--bs-body-moz-osx-font-smoothing)}.list-group-item:first-child{border-top-right-radius:inherit;border-top-left-radius:inherit}.list-group-item:last-child{border-bottom-left-radius:inherit;border-bottom-right-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);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1*var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-right-radius:var(--bs-list-group-border-radius);border-top-left-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-left-radius:var(--bs-list-group-border-radius);border-bottom-right-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-right-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-right:calc(-1*var(--bs-list-group-border-width));border-right-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-right-radius:var(--bs-list-group-border-radius);border-top-left-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-left-radius:var(--bs-list-group-border-radius);border-bottom-right-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-right-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-right:calc(-1*var(--bs-list-group-border-width));border-right-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-right-radius:var(--bs-list-group-border-radius);border-top-left-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-left-radius:var(--bs-list-group-border-radius);border-bottom-right-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-right-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-right:calc(-1*var(--bs-list-group-border-width));border-right-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-right-radius:var(--bs-list-group-border-radius);border-top-left-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-left-radius:var(--bs-list-group-border-radius);border-bottom-right-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-right-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-right:calc(-1*var(--bs-list-group-border-width));border-right-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-right-radius:var(--bs-list-group-border-radius);border-top-left-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-left-radius:var(--bs-list-group-border-radius);border-bottom-right-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-right-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-right:calc(-1*var(--bs-list-group-border-width));border-right-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-right-radius:var(--bs-list-group-border-radius);border-top-left-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-left-radius:var(--bs-list-group-border-radius);border-bottom-right-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-right-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-right:calc(-1*var(--bs-list-group-border-width));border-right-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary,.list-group-item-secondary{--bs-list-group-color:var(--bs-body-color);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-action-hover-color:var(--bs-list-group-action-color);--bs-list-group-action-active-color:var(--bs-list-group-action-color)}.list-group-item-primary{--bs-list-group-bg:hsla(var(--bs-primary-hsl), 0.125);--bs-list-group-action-hover-bg:hsla(var(--bs-primary-hsl), 0.2);--bs-list-group-action-active-bg:hsla(var(--bs-primary-hsl), 0.25);--bs-list-group-active-color:var(--bs-primary-foreground);--bs-list-group-active-bg:var(--bs-primary-hover-bg);--bs-list-group-active-border-color:var(--bs-primary-hover-bg)}.list-group-item-secondary{--bs-list-group-bg:hsla(var(--bs-secondary-hsl), 0.125);--bs-list-group-action-hover-bg:hsla(var(--bs-secondary-hsl), 0.2);--bs-list-group-action-active-bg:hsla(var(--bs-secondary-hsl), 0.25);--bs-list-group-active-color:var(--bs-secondary-foreground);--bs-list-group-active-bg:var(--bs-secondary-hover-bg);--bs-list-group-active-border-color:var(--bs-secondary-hover-bg)}.list-group-item-success{--bs-list-group-bg:hsla(var(--bs-success-hsl), 0.125);--bs-list-group-action-hover-bg:hsla(var(--bs-success-hsl), 0.2);--bs-list-group-action-active-bg:hsla(var(--bs-success-hsl), 0.25);--bs-list-group-active-color:var(--bs-success-foreground);--bs-list-group-active-bg:var(--bs-success-hover-bg);--bs-list-group-active-border-color:var(--bs-success-hover-bg)}.list-group-item-info,.list-group-item-success,.list-group-item-warning{--bs-list-group-color:var(--bs-body-color);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-action-hover-color:var(--bs-list-group-action-color);--bs-list-group-action-active-color:var(--bs-list-group-action-color)}.list-group-item-info{--bs-list-group-bg:hsla(var(--bs-info-hsl), 0.125);--bs-list-group-action-hover-bg:hsla(var(--bs-info-hsl), 0.2);--bs-list-group-action-active-bg:hsla(var(--bs-info-hsl), 0.25);--bs-list-group-active-color:var(--bs-info-foreground);--bs-list-group-active-bg:var(--bs-info-hover-bg);--bs-list-group-active-border-color:var(--bs-info-hover-bg)}.list-group-item-warning{--bs-list-group-bg:hsla(var(--bs-warning-hsl), 0.125);--bs-list-group-action-hover-bg:hsla(var(--bs-warning-hsl), 0.2);--bs-list-group-action-active-bg:hsla(var(--bs-warning-hsl), 0.25);--bs-list-group-active-color:var(--bs-warning-foreground);--bs-list-group-active-bg:var(--bs-warning-hover-bg);--bs-list-group-active-border-color:var(--bs-warning-hover-bg)}.list-group-item-danger{--bs-list-group-bg:hsla(var(--bs-danger-hsl), 0.125);--bs-list-group-action-hover-bg:hsla(var(--bs-danger-hsl), 0.2);--bs-list-group-action-active-bg:hsla(var(--bs-danger-hsl), 0.25);--bs-list-group-active-color:var(--bs-danger-foreground);--bs-list-group-active-bg:var(--bs-danger-hover-bg);--bs-list-group-active-border-color:var(--bs-danger-hover-bg)}.list-group-item-danger,.list-group-item-dark,.list-group-item-light{--bs-list-group-color:var(--bs-body-color);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-action-hover-color:var(--bs-list-group-action-color);--bs-list-group-action-active-color:var(--bs-list-group-action-color)}.list-group-item-light{--bs-list-group-bg:hsla(var(--bs-light-hsl), 0.125);--bs-list-group-action-hover-bg:hsla(var(--bs-light-hsl), 0.2);--bs-list-group-action-active-bg:hsla(var(--bs-light-hsl), 0.25);--bs-list-group-active-color:var(--bs-light-foreground);--bs-list-group-active-bg:var(--bs-light-hover-bg);--bs-list-group-active-border-color:var(--bs-light-hover-bg)}.list-group-item-dark{--bs-list-group-bg:hsla(var(--bs-dark-hsl), 0.125);--bs-list-group-action-hover-bg:hsla(var(--bs-dark-hsl), 0.2);--bs-list-group-action-active-bg:hsla(var(--bs-dark-hsl), 0.25);--bs-list-group-active-color:var(--bs-dark-foreground);--bs-list-group-active-bg:var(--bs-dark-hover-bg);--bs-list-group-active-border-color:var(--bs-dark-hover-bg)}.btn-close,.btn-close:hover{color:var(--bs-btn-close-color)}.btn-close{--bs-btn-close-color:var(--bs-black);--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-shadow:0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-black-hsl), 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:var(--bs-relative-font-size-4xs);background:var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:var(--bs-border-radius-sm);opacity:var(--bs-btn-close-opacity)}.btn-close:hover{text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.btn-close[data-bs-theme=light]{filter:none}.btn-close[data-bs-theme=dark]{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:21.875rem;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:hsla(var(--bs-content-floating-bg-hsl), 0.95);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-content-floating-border-color);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-content-floating-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:var(--bs-toast-bg);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-left:calc(-.5*var(--bs-toast-padding-x));margin-right: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:25rem;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color: ;--bs-modal-bg:var(--bs-content-bg);--bs-modal-border-color:var(--bs-content-border-color);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-content-box-shadow);--bs-modal-inner-border-radius:calc(var(--bs-modal-border-radius) - (var(--bs-modal-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:var(--bs-modal-header-padding-y) var(--bs-modal-header-padding-x);--bs-modal-header-border-color:var(--bs-border-color-translucent);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:var(--bs-line-height-sm);--bs-modal-footer-padding-x:1rem;--bs-modal-footer-padding-y:1rem;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color-translucent);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;right: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 .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin)*2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin)*2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);box-shadow:var(--bs-modal-box-shadow);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:var(--bs-black);--bs-backdrop-opacity:0.5;position:fixed;top:0;right:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-right-radius:var(--bs-modal-inner-border-radius);border-top-left-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)) auto calc(-.5*var(--bs-modal-header-padding-y)) calc(-.5*var(--bs-modal-header-padding-x))}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-footer-padding-y) - var(--bs-modal-footer-gap)*.5) calc(var(--bs-modal-footer-padding-x) - 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-left-radius:var(--bs-modal-inner-border-radius);border-bottom-right-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}.modal-dialog{max-width:var(--bs-modal-width);margin-left:auto;margin-right:auto}.modal-sm{--bs-modal-width:18.75rem}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:42.5rem}}@media (min-width:1200px){.modal-xl{--bs-modal-width:65rem}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:12.5rem;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:var(--bs-font-size-sm);--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:0.95;--bs-tooltip-webkit-font-smoothing:auto;--bs-tooltip-moz-osx-font-smoothing:auto;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-body-font-family);font-style:normal;font-weight:var(--bs-font-weight-normal);line-height:var(--bs-line-height-base);text-align:right;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1*var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width)*.5)0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1*var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width)*.5)0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1*var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1*var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width)*.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);-webkit-font-smoothing:var(--bs-tooltip-webkit-font-smoothing);-moz-osx-font-smoothing:var(--bs-tooltip-moz-osx-font-smoothing)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:17.25rem;--bs-popover-font-size:var(--bs-font-size-base);--bs-popover-bg:var(--bs-content-floating-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-content-floating-border-color);--bs-popover-border-radius:var(--bs-border-radius);--bs-popover-inner-border-radius:calc(var(--bs-popover-border-radius) - var(--bs-popover-border-width));--bs-popover-box-shadow:var(--bs-content-floating-box-shadow);--bs-popover-header-padding-x:0.75rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:var(--bs-popover-font-size);--bs-popover-header-color:var(--bs-body-color);--bs-popover-header-bg:var(--bs-popover-bg);--bs-popover-header-border-color:var(--bs-border-color-translucent);--bs-popover-body-padding-x:0.75rem;--bs-popover-body-padding-y:0.75rem;--bs-popover-body-color:var(--bs-content-floating-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-body-font-family);font-style:normal;font-weight:var(--bs-font-weight-normal);line-height:var(--bs-line-height-base);text-align:right;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);box-shadow:var(--bs-popover-box-shadow)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width)*.5)0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width)*.5)0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;right:50%;display:block;width:var(--bs-popover-arrow-width);margin-right:calc(-.5*var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1*(var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width)*.5)0 calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-border-color);border-top-right-radius:var(--bs-popover-inner-border-radius);border-top-left-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,.carousel-inner{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{width:100%;overflow:hidden}.carousel-inner::after,.clearfix::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:right;width:100%;margin-left:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(-100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:var(--bs-white);text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:var(--bs-white);text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{right:0}.carousel-control-next{left:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2.5rem;height:2.5rem;background-color:var(--bs-white);background-repeat:no-repeat;background-size:50% 50%;border-radius:50%}.carousel-control-prev-icon{background-position:55%center}.carousel-control-next-icon{background-position:45%center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23242628'%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-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23242628'%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;left:0;bottom:0;right:0;z-index:2;display:flex;justify-content:center;padding:0;margin-left:15%;margin-bottom:1rem;margin-right:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:1.875rem;height:.1875rem;padding:0;margin-left:.1875rem;margin-right:.1875rem;text-indent:-999px;cursor:pointer;background-color:var(--bs-white);background-clip:padding-box;border:0;border-top:.625rem solid transparent;border-bottom:.625rem solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;left:15%;bottom:1.25rem;right:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:var(--bs-white);text-align:center}[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:var(--bs-black)}[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .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='%23c9cbcf'%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")}[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .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='%23c9cbcf'%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")}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:var(--bs-black)}.spinner-border,.spinner-grow{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}.spinner-border{--bs-spinner-width:calc(var(--bs-font-size-base) * 2);--bs-spinner-height:calc(var(--bs-font-size-base) * 2);--bs-spinner-vertical-align:calc(-1 * var(--bs-relative-font-size-6xs));--bs-spinner-border-width:var(--bs-relative-font-size-4xs);--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-left-color:transparent}.spinner-border-sm{--bs-spinner-width:var(--bs-font-size-base);--bs-spinner-height:var(--bs-font-size-base);--bs-spinner-border-width:var(--bs-relative-font-size-6xs)}.spinner-grow{--bs-spinner-width:calc(var(--bs-font-size-base) * 2);--bs-spinner-height:calc(var(--bs-font-size-base) * 2);--bs-spinner-vertical-align:calc(-1 * var(--bs-relative-font-size-6xs));--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:var(--bs-font-size-base);--bs-spinner-height:var(--bs-font-size-base)}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:21.875rem;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-content-color);--bs-offcanvas-bg:var(--bs-content-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-content-border-color);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform 0.3s ease-in-out;--bs-offcanvas-title-line-height:var(--bs-line-height-sm)}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;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-end{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-bottom,.offcanvas-sm.offcanvas-top{left:0;right:0;height:var(--bs-offcanvas-height);max-height:100%}.offcanvas-sm.offcanvas-top{top:0;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;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-end{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-bottom,.offcanvas-md.offcanvas-top{left:0;right:0;height:var(--bs-offcanvas-height);max-height:100%}.offcanvas-md.offcanvas-top{top:0;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;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-end{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-bottom,.offcanvas-lg.offcanvas-top{left:0;right:0;height:var(--bs-offcanvas-height);max-height:100%}.offcanvas-lg.offcanvas-top{top:0;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;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-end{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-bottom,.offcanvas-xl.offcanvas-top{left:0;right:0;height:var(--bs-offcanvas-height);max-height:100%}.offcanvas-xl.offcanvas-top{top:0;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;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-end{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-bottom,.offcanvas-xxl.offcanvas-top{left:0;right:0;height:var(--bs-offcanvas-height);max-height:100%}.offcanvas-xxl.offcanvas-top{top:0;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;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-end{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-bottom,.offcanvas.offcanvas-top{left:0;right:0;height:var(--bs-offcanvas-height);max-height:100%}.offcanvas.offcanvas-top{top:0;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;right:0;z-index:1040;width:100vw;height:100vh;background-color:var(--bs-black)}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y)*.5) calc(var(--bs-offcanvas-padding-x)*.5);margin-top:calc(-.5*var(--bs-offcanvas-padding-y));margin-left:calc(-.5*var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5*var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.sidebar{--bs-sidebar-padding:var(--bs-spacer);--bs-sidebar-color:hsla(var(--bs-emphasis-color-hsl), 0.65);--bs-sidebar-hover-color:hsla(var(--bs-emphasis-color-hsl), 0.8);--bs-sidebar-disabled-color:hsla(var(--bs-emphasis-color-hsl), 0.3);--bs-sidebar-active-color:var(--bs-link-color);--bs-sidebar-bg:var(--bs-content-bg);--bs-sidebar-border-width:var(--bs-border-width);--bs-sidebar-border-color:var(--bs-content-border-color);--bs-sidebar-border-radius:0;--bs-sidebar-brand-padding-y:0;--bs-sidebar-brand-margin-end:1rem;--bs-sidebar-brand-font-size:calc(var(--bs-font-size-base) + 0.25rem);--bs-sidebar-brand-color:hsla(var(--bs-emphasis-color-hsl), 0.85);--bs-sidebar-brand-hover-color:var(--bs-sidebar-brand-color);--bs-sidebar-item-padding-x:0;--bs-sidebar-item-padding-y:0.375rem;--bs-sidebar-header-font-size:var(--bs-font-size-base);--bs-sidebar-header-font-weight:var(--bs-font-weight-normal);--bs-sidebar-divider-bg:var(--bs-border-color-translucent);--bs-sidebar-divider-margin-y:0.5rem;position:fixed;top:0;right:0;margin:var(--bs-sidebar-margin);width:var(--bs-sidebar-width);height:var(--bs-sidebar-height);display:flex;flex-direction:column;background-color:var(--bs-sidebar-bg)!important;border-left:var(--bs-sidebar-border-width) solid var(--bs-sidebar-border-color)!important;border-radius:var(--bs-sidebar-border-radius);outline:0}@media (min-width:576px){body:has(>.sidebar.offcanvas-sm){padding-right:var(--bs-padding-sbwidth)}.ps-sm-sbwidth{padding-right:var(--bs-padding-sbwidth)!important}}@media (min-width:768px){body:has(>.sidebar.offcanvas-md){padding-right:var(--bs-padding-sbwidth)}.ps-md-sbwidth{padding-right:var(--bs-padding-sbwidth)!important}}@media (min-width:992px){body:has(>.sidebar.offcanvas-lg){padding-right:var(--bs-padding-sbwidth)}.ps-lg-sbwidth{padding-right:var(--bs-padding-sbwidth)!important}}@media (min-width:1200px){body:has(>.sidebar.offcanvas-xl){padding-right:var(--bs-padding-sbwidth)}.ps-xl-sbwidth{padding-right:var(--bs-padding-sbwidth)!important}}@media (min-width:1400px){body:has(>.sidebar.offcanvas-xxl){padding-right:var(--bs-padding-sbwidth)}.ps-xxl-sbwidth{padding-right:var(--bs-padding-sbwidth)!important}}.sidebar .offcanvas-header{display:flex}.sidebar .offcanvas-body{display:flex;flex-direction:column;flex-grow:1;padding:var(--bs-sidebar-padding);overflow-y:auto}.sidebar-brand{padding-top:var(--bs-sidebar-brand-padding-y);padding-bottom:var(--bs-sidebar-brand-padding-y);margin-left:var(--bs-sidebar-brand-margin-end);font-size:var(--bs-sidebar-brand-font-size);color:var(--bs-sidebar-brand-color);text-decoration:none;white-space:nowrap}.sidebar-brand:focus,.sidebar-brand:hover{color:var(--bs-sidebar-brand-hover-color)}.sidebar-nav{--bs-nav-link-padding-x:var(--bs-sidebar-item-padding-x);--bs-nav-link-padding-y:var(--bs-sidebar-item-padding-y);--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-sidebar-color);--bs-nav-link-hover-color:var(--bs-sidebar-hover-color);--bs-nav-link-disabled-color:var(--bs-sidebar-disabled-color);display:flex;flex-direction:column;padding-right:0;margin-bottom:0;list-style:none}.sidebar-nav .nav-link.active,.sidebar-nav .nav-link.show{color:var(--bs-sidebar-active-color);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.sidebar-header{display:block;padding:var(--bs-sidebar-item-padding-y)0;margin-bottom:0;font-size:var(--bs-sidebar-header-font-size);font-weight:var(--bs-sidebar-header-font-weight)}.sidebar-divider{height:0;margin:var(--bs-sidebar-divider-margin-y)0;overflow:hidden;border-top:var(--bs-border-width) solid var(--bs-sidebar-divider-bg);opacity:1}.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}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,var(--bs-black) 55%,hsla(var(--bs-black-hsl),.65) 75%,var(--bs-black) 95%);mask-image:linear-gradient(130deg,var(--bs-black) 55%,hsla(var(--bs-black-hsl),.65) 75%,var(--bs-black) 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}.text-bg-primary,.text-bg-secondary{color:hsla(var(--bs-color-hsl),var(--bs-text-opacity, 1))!important;-webkit-font-smoothing:auto!important;-moz-osx-font-smoothing:auto!important}.text-bg-primary{--bs-color-hsl:var(--bs-primary-foreground-hsl);background-color:hsla(var(--bs-primary-hsl),var(--bs-bg-opacity, 1))!important}.text-bg-secondary{--bs-color-hsl:var(--bs-secondary-foreground-hsl);background-color:hsla(var(--bs-secondary-hsl),var(--bs-bg-opacity, 1))!important}.text-bg-success{--bs-color-hsl:var(--bs-success-foreground-hsl);background-color:hsla(var(--bs-success-hsl),var(--bs-bg-opacity, 1))!important}.text-bg-info,.text-bg-success,.text-bg-warning{color:hsla(var(--bs-color-hsl),var(--bs-text-opacity, 1))!important;-webkit-font-smoothing:auto!important;-moz-osx-font-smoothing:auto!important}.text-bg-info{--bs-color-hsl:var(--bs-info-foreground-hsl);background-color:hsla(var(--bs-info-hsl),var(--bs-bg-opacity, 1))!important}.text-bg-warning{--bs-color-hsl:var(--bs-warning-foreground-hsl);background-color:hsla(var(--bs-warning-hsl),var(--bs-bg-opacity, 1))!important}.text-bg-danger{--bs-color-hsl:var(--bs-danger-foreground-hsl);background-color:hsla(var(--bs-danger-hsl),var(--bs-bg-opacity, 1))!important}.text-bg-danger,.text-bg-dark,.text-bg-light{color:hsla(var(--bs-color-hsl),var(--bs-text-opacity, 1))!important;-webkit-font-smoothing:auto!important;-moz-osx-font-smoothing:auto!important}.text-bg-light{--bs-color-hsl:var(--bs-light-foreground-hsl);background-color:hsla(var(--bs-light-hsl),var(--bs-bg-opacity, 1))!important}.text-bg-dark{--bs-color-hsl:var(--bs-dark-foreground-hsl);background-color:hsla(var(--bs-dark-hsl),var(--bs-bg-opacity, 1))!important}.link-primary{color:hsla(var(--bs-primary-text-emphasis-hsl, var(--bs-link-opacity, 1)))!important;-webkit-text-decoration-color:hsla(var(--bs-primary-text-emphasis-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-primary-text-emphasis-hsl),var(--bs-link-underline-opacity, 1))!important}.link-primary:focus,.link-primary:hover{color:hsla(var(--bs-primary-hsl),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:hsla(var(--bs-primary-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-primary-hsl),var(--bs-link-underline-opacity, 1))!important}.link-secondary{color:hsla(var(--bs-secondary-text-emphasis-hsl, var(--bs-link-opacity, 1)))!important;-webkit-text-decoration-color:hsla(var(--bs-secondary-text-emphasis-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-secondary-text-emphasis-hsl),var(--bs-link-underline-opacity, 1))!important}.link-secondary:focus,.link-secondary:hover{color:hsla(var(--bs-secondary-hsl),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:hsla(var(--bs-secondary-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-secondary-hsl),var(--bs-link-underline-opacity, 1))!important}.link-success{color:hsla(var(--bs-success-text-emphasis-hsl, var(--bs-link-opacity, 1)))!important;-webkit-text-decoration-color:hsla(var(--bs-success-text-emphasis-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-success-text-emphasis-hsl),var(--bs-link-underline-opacity, 1))!important}.link-success:focus,.link-success:hover{color:hsla(var(--bs-success-hsl),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:hsla(var(--bs-success-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-success-hsl),var(--bs-link-underline-opacity, 1))!important}.link-info{color:hsla(var(--bs-info-text-emphasis-hsl, var(--bs-link-opacity, 1)))!important;-webkit-text-decoration-color:hsla(var(--bs-info-text-emphasis-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-info-text-emphasis-hsl),var(--bs-link-underline-opacity, 1))!important}.link-info:focus,.link-info:hover{color:hsla(var(--bs-info-hsl),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:hsla(var(--bs-info-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-info-hsl),var(--bs-link-underline-opacity, 1))!important}.link-warning{color:hsla(var(--bs-warning-text-emphasis-hsl, var(--bs-link-opacity, 1)))!important;-webkit-text-decoration-color:hsla(var(--bs-warning-text-emphasis-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-warning-text-emphasis-hsl),var(--bs-link-underline-opacity, 1))!important}.link-warning:focus,.link-warning:hover{color:hsla(var(--bs-warning-hsl),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:hsla(var(--bs-warning-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-warning-hsl),var(--bs-link-underline-opacity, 1))!important}.link-danger{color:hsla(var(--bs-danger-text-emphasis-hsl, var(--bs-link-opacity, 1)))!important;-webkit-text-decoration-color:hsla(var(--bs-danger-text-emphasis-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-danger-text-emphasis-hsl),var(--bs-link-underline-opacity, 1))!important}.link-danger:focus,.link-danger:hover{color:hsla(var(--bs-danger-hsl),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:hsla(var(--bs-danger-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-danger-hsl),var(--bs-link-underline-opacity, 1))!important}.link-light{color:hsla(var(--bs-light-text-emphasis-hsl, var(--bs-link-opacity, 1)))!important;-webkit-text-decoration-color:hsla(var(--bs-light-text-emphasis-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-light-text-emphasis-hsl),var(--bs-link-underline-opacity, 1))!important}.link-light:focus,.link-light:hover{color:hsla(var(--bs-light-hsl),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:hsla(var(--bs-light-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-light-hsl),var(--bs-link-underline-opacity, 1))!important}.link-dark{color:hsla(var(--bs-dark-text-emphasis-hsl, var(--bs-link-opacity, 1)))!important;-webkit-text-decoration-color:hsla(var(--bs-dark-text-emphasis-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-dark-text-emphasis-hsl),var(--bs-link-underline-opacity, 1))!important}.link-dark:focus,.link-dark:hover{color:hsla(var(--bs-dark-hsl),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:hsla(var(--bs-dark-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-dark-hsl),var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis{color:hsla(var(--bs-emphasis-color-hsl),var(--bs-link-opacity, 1))!important;-webkit-text-decoration-color:hsla(var(--bs-emphasis-color-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-emphasis-color-hsl),var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:hsla(var(--bs-emphasis-color-hsl),var(--bs-link-opacity, 0.75))!important;-webkit-text-decoration-color:hsla(var(--bs-emphasis-color-hsl),var(--bs-link-underline-opacity, 0.75))!important;text-decoration-color:hsla(var(--bs-emphasis-color-hsl),var(--bs-link-underline-opacity, 0.75))!important}.focus-ring:focus{outline:0!important;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)!important}.focus-ring-primary{--bs-focus-ring-color:hsla(var(--bs-primary-hsl), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:hsla(var(--bs-secondary-hsl), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:hsla(var(--bs-success-hsl), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:hsla(var(--bs-info-hsl), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:hsla(var(--bs-warning-hsl), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:hsla(var(--bs-danger-hsl), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:hsla(var(--bs-light-hsl), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:hsla(var(--bs-dark-hsl), var(--bs-focus-ring-opacity))}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:hsla(var(--bs-link-color-hsl),var(--bs-link-opacity, 1));text-decoration-color:hsla(var(--bs-link-color-hsl),var(--bs-link-opacity, 1));text-underline-offset:var(--bs-link-decoration-offset);-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform, translate3d(-0.25em, 0, 0))}.fixed-bottom,.fixed-top{position:fixed;left:0;right:0;z-index:1030}.fixed-top{top:0}.fixed-bottom{bottom:0}.sticky-bottom,.sticky-top{position:-webkit-sticky;position:sticky;z-index:1020}.sticky-top{top:0}.sticky-bottom{bottom:0}@media (min-width:576px){.sticky-sm-bottom,.sticky-sm-top{position:-webkit-sticky;position:sticky;z-index:1020}.sticky-sm-top{top:0}.sticky-sm-bottom{bottom:0}}@media (min-width:768px){.sticky-md-bottom,.sticky-md-top{position:-webkit-sticky;position:sticky;z-index:1020}.sticky-md-top{top:0}.sticky-md-bottom{bottom:0}}@media (min-width:992px){.sticky-lg-bottom,.sticky-lg-top{position:-webkit-sticky;position:sticky;z-index:1020}.sticky-lg-top{top:0}.sticky-lg-bottom{bottom:0}}@media (min-width:1200px){.sticky-xl-bottom,.sticky-xl-top{position:-webkit-sticky;position:sticky;z-index:1020}.sticky-xl-top{top:0}.sticky-xl-bottom{bottom:0}}@media (min-width:1400px){.sticky-xxl-bottom,.sticky-xxl-top{position:-webkit-sticky;position:sticky;z-index:1020}.sticky-xxl-top{top:0}.sticky-xxl-bottom{bottom:0}}.ratio,.ratio>*{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;right:0;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.hstack,.vstack{display:flex;align-self:stretch}.hstack{flex-direction:row;align-items:center}.vstack{flex:1 1 auto;flex-direction:column}.stretched-link::after{position:absolute;top:0;left:0;bottom:0;right:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.bg-primary{--bs-bg-opacity:1;background-color:hsla(var(--bs-primary-hsl),var(--bs-bg-opacity))!important}.bg-secondary,.bg-success{--bs-bg-opacity:1;background-color:hsla(var(--bs-secondary-hsl),var(--bs-bg-opacity))!important}.bg-success{background-color:hsla(var(--bs-success-hsl),var(--bs-bg-opacity))!important}.bg-info,.bg-warning{--bs-bg-opacity:1;background-color:hsla(var(--bs-info-hsl),var(--bs-bg-opacity))!important}.bg-warning{background-color:hsla(var(--bs-warning-hsl),var(--bs-bg-opacity))!important}.bg-danger,.bg-light{--bs-bg-opacity:1;background-color:hsla(var(--bs-danger-hsl),var(--bs-bg-opacity))!important}.bg-light{background-color:hsla(var(--bs-light-hsl),var(--bs-bg-opacity))!important}.bg-black,.bg-dark{--bs-bg-opacity:1;background-color:hsla(var(--bs-dark-hsl),var(--bs-bg-opacity))!important}.bg-black{background-color:hsla(var(--bs-black-hsl),var(--bs-bg-opacity))!important}.bg-body,.bg-white{--bs-bg-opacity:1;background-color:hsla(var(--bs-white-hsl),var(--bs-bg-opacity))!important}.bg-body{background-color:hsla(var(--bs-body-bg-hsl),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:hsla(var(--bs-secondary-bg-hsl),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:hsla(var(--bs-tertiary-bg-hsl),var(--bs-bg-opacity))!important}.bg-body-emphasis{--bs-bg-opacity:1;background-color:hsla(var(--bs-emphasis-bg-hsl),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.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-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-left: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-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-right:0!important}.border-primary,.border-secondary{--bs-border-opacity:1;border-color:hsla(var(--bs-primary-hsl),var(--bs-border-opacity))!important}.border-secondary{border-color:hsla(var(--bs-secondary-hsl),var(--bs-border-opacity))!important}.border-info,.border-success{--bs-border-opacity:1;border-color:hsla(var(--bs-success-hsl),var(--bs-border-opacity))!important}.border-info{border-color:hsla(var(--bs-info-hsl),var(--bs-border-opacity))!important}.border-danger,.border-warning{--bs-border-opacity:1;border-color:hsla(var(--bs-warning-hsl),var(--bs-border-opacity))!important}.border-danger{border-color:hsla(var(--bs-danger-hsl),var(--bs-border-opacity))!important}.border-dark,.border-light{--bs-border-opacity:1;border-color:hsla(var(--bs-light-hsl),var(--bs-border-opacity))!important}.border-dark{border-color:hsla(var(--bs-dark-hsl),var(--bs-border-opacity))!important}.border-black,.border-white{--bs-border-opacity:1;border-color:hsla(var(--bs-black-hsl),var(--bs-border-opacity))!important}.border-white{border-color:hsla(var(--bs-white-hsl),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:var(--bs-border-width-1)!important}.border-2{border-width:var(--bs-border-width-2)!important}.border-3{border-width:var(--bs-border-width-3)!important}.border-4{border-width:var(--bs-border-width-4)!important}.border-5{border-width:var(--bs-border-width-5)!important}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-right-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-right-radius:0!important;border-top-left-radius:0!important}.rounded-top-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-right-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-right-radius:50%!important;border-top-left-radius:50%!important}.rounded-top-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-left-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.rounded-end-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-left-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-left-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-end-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-left-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.rounded-bottom-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-left-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-bottom-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-right-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-right-radius:0!important;border-top-right-radius:0!important}.rounded-start-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-right-radius:50%!important;border-top-right-radius:50%!important}.rounded-start-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.text-primary{--bs-text-opacity:1;color:hsla(var(--bs-primary-hsl),var(--bs-text-opacity))!important}.text-secondary,.text-success{--bs-text-opacity:1;color:hsla(var(--bs-secondary-hsl),var(--bs-text-opacity))!important}.text-success{color:hsla(var(--bs-success-hsl),var(--bs-text-opacity))!important}.text-info,.text-warning{--bs-text-opacity:1;color:hsla(var(--bs-info-hsl),var(--bs-text-opacity))!important}.text-warning{color:hsla(var(--bs-warning-hsl),var(--bs-text-opacity))!important}.text-danger,.text-light{--bs-text-opacity:1;color:hsla(var(--bs-danger-hsl),var(--bs-text-opacity))!important}.text-light{color:hsla(var(--bs-light-hsl),var(--bs-text-opacity))!important}.text-black,.text-dark{--bs-text-opacity:1;color:hsla(var(--bs-dark-hsl),var(--bs-text-opacity))!important}.text-black{color:hsla(var(--bs-black-hsl),var(--bs-text-opacity))!important}.text-body,.text-white{--bs-text-opacity:1;color:hsla(var(--bs-white-hsl),var(--bs-text-opacity))!important}.text-body{color:hsla(var(--bs-body-color-hsl),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50,.text-white-50{--bs-text-opacity:1;color:hsla(var(--bs-black-hsl),.5)!important}.text-white-50{color:hsla(var(--bs-white-hsl),.5)!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}@media (min-width:576px){.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}}@media (min-width:768px){.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}}@media (min-width:992px){.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}}@media (min-width:1200px){.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}}@media (min-width:1400px){.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}}@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}}.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}@media (min-width:576px){.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}}@media (min-width:768px){.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}}@media (min-width:992px){.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}}@media (min-width:1200px){.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}}@media (min-width:1400px){.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}}.float-start{float:right!important}.float-end{float:left!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-start{float:right!important}.float-sm-end{float:left!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-start{float:right!important}.float-md-end{float:left!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-start{float:right!important}.float-lg-end{float:left!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-start{float:right!important}.float-xl-end{float:left!important}.float-xl-none{float:none!important}}@media (min-width:1400px){.float-xxl-start{float:right!important}.float-xxl-end{float:left!important}.float-xxl-none{float:none!important}}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.link-opacity-10,.link-opacity-10-hover:hover{--bs-link-opacity:0.1}.link-opacity-25,.link-opacity-25-hover:hover{--bs-link-opacity:0.25}.link-opacity-50,.link-opacity-50-hover:hover{--bs-link-opacity:0.5}.link-opacity-75,.link-opacity-75-hover:hover{--bs-link-opacity:0.75}.link-opacity-100,.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:var(--bs-relative-font-size-6xs)!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:var(--bs-relative-font-size-4xs)!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:var(--bs-relative-font-size-3xs)!important}.link-underline-primary,.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:hsla(var(--bs-primary-hsl),var(--bs-link-underline-opacity))!important;text-decoration-color:hsla(var(--bs-primary-hsl),var(--bs-link-underline-opacity))!important}.link-underline-secondary{-webkit-text-decoration-color:hsla(var(--bs-secondary-hsl),var(--bs-link-underline-opacity))!important;text-decoration-color:hsla(var(--bs-secondary-hsl),var(--bs-link-underline-opacity))!important}.link-underline-info,.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:hsla(var(--bs-success-hsl),var(--bs-link-underline-opacity))!important;text-decoration-color:hsla(var(--bs-success-hsl),var(--bs-link-underline-opacity))!important}.link-underline-info{-webkit-text-decoration-color:hsla(var(--bs-info-hsl),var(--bs-link-underline-opacity))!important;text-decoration-color:hsla(var(--bs-info-hsl),var(--bs-link-underline-opacity))!important}.link-underline-danger,.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:hsla(var(--bs-warning-hsl),var(--bs-link-underline-opacity))!important;text-decoration-color:hsla(var(--bs-warning-hsl),var(--bs-link-underline-opacity))!important}.link-underline-danger{-webkit-text-decoration-color:hsla(var(--bs-danger-hsl),var(--bs-link-underline-opacity))!important;text-decoration-color:hsla(var(--bs-danger-hsl),var(--bs-link-underline-opacity))!important}.link-underline-dark,.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:hsla(var(--bs-light-hsl),var(--bs-link-underline-opacity))!important;text-decoration-color:hsla(var(--bs-light-hsl),var(--bs-link-underline-opacity))!important}.link-underline-dark{-webkit-text-decoration-color:hsla(var(--bs-dark-hsl),var(--bs-link-underline-opacity))!important;text-decoration-color:hsla(var(--bs-dark-hsl),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:hsla(var(--bs-link-color-hsl),var(--bs-link-underline-opacity, 1))!important;text-decoration-color:hsla(var(--bs-link-color-hsl),var(--bs-link-underline-opacity, 1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:0.1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:0.25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:0.5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:0.75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.object-fit-contain{object-fit:contain!important}.object-fit-cover{object-fit:cover!important}.object-fit-fill{object-fit:fill!important}.object-fit-scale{object-fit:scale-down!important}.object-fit-none{object-fit:none!important}@media (min-width:576px){.object-fit-sm-contain{object-fit:contain!important}.object-fit-sm-cover{object-fit:cover!important}.object-fit-sm-fill{object-fit:fill!important}.object-fit-sm-scale{object-fit:scale-down!important}.object-fit-sm-none{object-fit:none!important}}@media (min-width:768px){.object-fit-md-contain{object-fit:contain!important}.object-fit-md-cover{object-fit:cover!important}.object-fit-md-fill{object-fit:fill!important}.object-fit-md-scale{object-fit:scale-down!important}.object-fit-md-none{object-fit:none!important}}@media (min-width:992px){.object-fit-lg-contain{object-fit:contain!important}.object-fit-lg-cover{object-fit:cover!important}.object-fit-lg-fill{object-fit:fill!important}.object-fit-lg-scale{object-fit:scale-down!important}.object-fit-lg-none{object-fit:none!important}}@media (min-width:1200px){.object-fit-xl-contain{object-fit:contain!important}.object-fit-xl-cover{object-fit:cover!important}.object-fit-xl-fill{object-fit:fill!important}.object-fit-xl-scale{object-fit:scale-down!important}.object-fit-xl-none{object-fit:none!important}}@media (min-width:1400px){.object-fit-xxl-contain{object-fit:contain!important}.object-fit-xxl-cover{object-fit:cover!important}.object-fit-xxl-fill{object-fit:fill!important}.object-fit-xxl-scale{object-fit:scale-down!important}.object-fit-xxl-none{object-fit:none!important}}.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}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}@media (min-width:576px){.overflow-sm-auto{overflow:auto!important}.overflow-sm-hidden{overflow:hidden!important}.overflow-sm-visible{overflow:visible!important}.overflow-sm-scroll{overflow:scroll!important}.overflow-x-sm-auto{overflow-x:auto!important}.overflow-x-sm-hidden{overflow-x:hidden!important}.overflow-x-sm-visible{overflow-x:visible!important}.overflow-x-sm-scroll{overflow-x:scroll!important}.overflow-y-sm-auto{overflow-y:auto!important}.overflow-y-sm-hidden{overflow-y:hidden!important}.overflow-y-sm-visible{overflow-y:visible!important}.overflow-y-sm-scroll{overflow-y:scroll!important}}@media (min-width:768px){.overflow-md-auto{overflow:auto!important}.overflow-md-hidden{overflow:hidden!important}.overflow-md-visible{overflow:visible!important}.overflow-md-scroll{overflow:scroll!important}.overflow-x-md-auto{overflow-x:auto!important}.overflow-x-md-hidden{overflow-x:hidden!important}.overflow-x-md-visible{overflow-x:visible!important}.overflow-x-md-scroll{overflow-x:scroll!important}.overflow-y-md-auto{overflow-y:auto!important}.overflow-y-md-hidden{overflow-y:hidden!important}.overflow-y-md-visible{overflow-y:visible!important}.overflow-y-md-scroll{overflow-y:scroll!important}}@media (min-width:992px){.overflow-lg-auto{overflow:auto!important}.overflow-lg-hidden{overflow:hidden!important}.overflow-lg-visible{overflow:visible!important}.overflow-lg-scroll{overflow:scroll!important}.overflow-x-lg-auto{overflow-x:auto!important}.overflow-x-lg-hidden{overflow-x:hidden!important}.overflow-x-lg-visible{overflow-x:visible!important}.overflow-x-lg-scroll{overflow-x:scroll!important}.overflow-y-lg-auto{overflow-y:auto!important}.overflow-y-lg-hidden{overflow-y:hidden!important}.overflow-y-lg-visible{overflow-y:visible!important}.overflow-y-lg-scroll{overflow-y:scroll!important}}@media (min-width:1200px){.overflow-xl-auto{overflow:auto!important}.overflow-xl-hidden{overflow:hidden!important}.overflow-xl-visible{overflow:visible!important}.overflow-xl-scroll{overflow:scroll!important}.overflow-x-xl-auto{overflow-x:auto!important}.overflow-x-xl-hidden{overflow-x:hidden!important}.overflow-x-xl-visible{overflow-x:visible!important}.overflow-x-xl-scroll{overflow-x:scroll!important}.overflow-y-xl-auto{overflow-y:auto!important}.overflow-y-xl-hidden{overflow-y:hidden!important}.overflow-y-xl-visible{overflow-y:visible!important}.overflow-y-xl-scroll{overflow-y:scroll!important}}@media (min-width:1400px){.overflow-xxl-auto{overflow:auto!important}.overflow-xxl-hidden{overflow:hidden!important}.overflow-xxl-visible{overflow:visible!important}.overflow-xxl-scroll{overflow:scroll!important}.overflow-x-xxl-auto{overflow-x:auto!important}.overflow-x-xxl-hidden{overflow-x:hidden!important}.overflow-x-xxl-visible{overflow-x:visible!important}.overflow-x-xxl-scroll{overflow-x:scroll!important}.overflow-y-xxl-auto{overflow-y:auto!important}.overflow-y-xxl-hidden{overflow-y:hidden!important}.overflow-y-xxl-visible{overflow-y:visible!important}.overflow-y-xxl-scroll{overflow-y:scroll!important}}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{right:0!important}.start-50{right:50%!important}.start-100{right:100%!important}.end-0{left:0!important}.end-50{left:50%!important}.end-100{left:100%!important}.translate-middle{transform:translate(50%,-50%)!important}.translate-middle-x{transform:translateX(50%)!important}.translate-middle-y{transform:translateY(-50%)!important}@media (min-width:576px){.position-sm-static{position:static!important}.position-sm-relative{position:relative!important}.position-sm-absolute{position:absolute!important}.position-sm-fixed{position:fixed!important}.position-sm-sticky{position:-webkit-sticky!important;position:sticky!important}.top-sm-0{top:0!important}.top-sm-50{top:50%!important}.top-sm-100{top:100%!important}.bottom-sm-0{bottom:0!important}.bottom-sm-50{bottom:50%!important}.bottom-sm-100{bottom:100%!important}.start-sm-0{right:0!important}.start-sm-50{right:50%!important}.start-sm-100{right:100%!important}.end-sm-0{left:0!important}.end-sm-50{left:50%!important}.end-sm-100{left:100%!important}.translate-middle-sm{transform:translate(50%,-50%)!important}.translate-middle-sm-x{transform:translateX(50%)!important}.translate-middle-sm-y{transform:translateY(-50%)!important}}@media (min-width:768px){.position-md-static{position:static!important}.position-md-relative{position:relative!important}.position-md-absolute{position:absolute!important}.position-md-fixed{position:fixed!important}.position-md-sticky{position:-webkit-sticky!important;position:sticky!important}.top-md-0{top:0!important}.top-md-50{top:50%!important}.top-md-100{top:100%!important}.bottom-md-0{bottom:0!important}.bottom-md-50{bottom:50%!important}.bottom-md-100{bottom:100%!important}.start-md-0{right:0!important}.start-md-50{right:50%!important}.start-md-100{right:100%!important}.end-md-0{left:0!important}.end-md-50{left:50%!important}.end-md-100{left:100%!important}.translate-middle-md{transform:translate(50%,-50%)!important}.translate-middle-md-x{transform:translateX(50%)!important}.translate-middle-md-y{transform:translateY(-50%)!important}}@media (min-width:992px){.position-lg-static{position:static!important}.position-lg-relative{position:relative!important}.position-lg-absolute{position:absolute!important}.position-lg-fixed{position:fixed!important}.position-lg-sticky{position:-webkit-sticky!important;position:sticky!important}.top-lg-0{top:0!important}.top-lg-50{top:50%!important}.top-lg-100{top:100%!important}.bottom-lg-0{bottom:0!important}.bottom-lg-50{bottom:50%!important}.bottom-lg-100{bottom:100%!important}.start-lg-0{right:0!important}.start-lg-50{right:50%!important}.start-lg-100{right:100%!important}.end-lg-0{left:0!important}.end-lg-50{left:50%!important}.end-lg-100{left:100%!important}.translate-middle-lg{transform:translate(50%,-50%)!important}.translate-middle-lg-x{transform:translateX(50%)!important}.translate-middle-lg-y{transform:translateY(-50%)!important}}@media (min-width:1200px){.position-xl-static{position:static!important}.position-xl-relative{position:relative!important}.position-xl-absolute{position:absolute!important}.position-xl-fixed{position:fixed!important}.position-xl-sticky{position:-webkit-sticky!important;position:sticky!important}.top-xl-0{top:0!important}.top-xl-50{top:50%!important}.top-xl-100{top:100%!important}.bottom-xl-0{bottom:0!important}.bottom-xl-50{bottom:50%!important}.bottom-xl-100{bottom:100%!important}.start-xl-0{right:0!important}.start-xl-50{right:50%!important}.start-xl-100{right:100%!important}.end-xl-0{left:0!important}.end-xl-50{left:50%!important}.end-xl-100{left:100%!important}.translate-middle-xl{transform:translate(50%,-50%)!important}.translate-middle-xl-x{transform:translateX(50%)!important}.translate-middle-xl-y{transform:translateY(-50%)!important}}@media (min-width:1400px){.position-xxl-static{position:static!important}.position-xxl-relative{position:relative!important}.position-xxl-absolute{position:absolute!important}.position-xxl-fixed{position:fixed!important}.position-xxl-sticky{position:-webkit-sticky!important;position:sticky!important}.top-xxl-0{top:0!important}.top-xxl-50{top:50%!important}.top-xxl-100{top:100%!important}.bottom-xxl-0{bottom:0!important}.bottom-xxl-50{bottom:50%!important}.bottom-xxl-100{bottom:100%!important}.start-xxl-0{right:0!important}.start-xxl-50{right:50%!important}.start-xxl-100{right:100%!important}.end-xxl-0{left:0!important}.end-xxl-50{left:50%!important}.end-xxl-100{left:100%!important}.translate-middle-xxl{transform:translate(50%,-50%)!important}.translate-middle-xxl-x{transform:translateX(50%)!important}.translate-middle-xxl-y{transform:translateY(-50%)!important}}.specific-w-25{width:1.5625rem!important}.specific-w-50{width:3.125rem!important}.specific-w-75{width:4.6875rem!important}.specific-w-100{width:6.25rem!important}.specific-w-150{width:9.375rem!important}.specific-w-200{width:12.5rem!important}.specific-w-250{width:15.625rem!important}.specific-w-300{width:18.75rem!important}.specific-w-350{width:21.875rem!important}.specific-w-400{width:25rem!important}.specific-w-450{width:28.125rem!important}.specific-w-500{width:31.25rem!important}.specific-w-550{width:34.375rem!important}.specific-w-600{width:37.5rem!important}.w-auto{width:auto!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.specific-h-25{height:1.5625rem!important}.specific-h-50{height:3.125rem!important}.specific-h-75{height:4.6875rem!important}.specific-h-100{height:6.25rem!important}.specific-h-150{height:9.375rem!important}.specific-h-200{height:12.5rem!important}.specific-h-250{height:15.625rem!important}.specific-h-300{height:18.75rem!important}.specific-h-350{height:21.875rem!important}.specific-h-400{height:25rem!important}.specific-h-450{height:28.125rem!important}.specific-h-500{height:31.25rem!important}.specific-h-550{height:34.375rem!important}.specific-h-600{height:37.5rem!important}.h-auto{height:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}@media (min-width:576px){.specific-w-sm-25{width:1.5625rem!important}.specific-w-sm-50{width:3.125rem!important}.specific-w-sm-75{width:4.6875rem!important}.specific-w-sm-100{width:6.25rem!important}.specific-w-sm-150{width:9.375rem!important}.specific-w-sm-200{width:12.5rem!important}.specific-w-sm-250{width:15.625rem!important}.specific-w-sm-300{width:18.75rem!important}.specific-w-sm-350{width:21.875rem!important}.specific-w-sm-400{width:25rem!important}.specific-w-sm-450{width:28.125rem!important}.specific-w-sm-500{width:31.25rem!important}.specific-w-sm-550{width:34.375rem!important}.specific-w-sm-600{width:37.5rem!important}.w-sm-auto{width:auto!important}.w-sm-25{width:25%!important}.w-sm-50{width:50%!important}.w-sm-75{width:75%!important}.w-sm-100{width:100%!important}.mw-sm-100{max-width:100%!important}.vw-sm-100{width:100vw!important}.min-vw-sm-100{min-width:100vw!important}.specific-h-sm-25{height:1.5625rem!important}.specific-h-sm-50{height:3.125rem!important}.specific-h-sm-75{height:4.6875rem!important}.specific-h-sm-100{height:6.25rem!important}.specific-h-sm-150{height:9.375rem!important}.specific-h-sm-200{height:12.5rem!important}.specific-h-sm-250{height:15.625rem!important}.specific-h-sm-300{height:18.75rem!important}.specific-h-sm-350{height:21.875rem!important}.specific-h-sm-400{height:25rem!important}.specific-h-sm-450{height:28.125rem!important}.specific-h-sm-500{height:31.25rem!important}.specific-h-sm-550{height:34.375rem!important}.specific-h-sm-600{height:37.5rem!important}.h-sm-auto{height:auto!important}.h-sm-25{height:25%!important}.h-sm-50{height:50%!important}.h-sm-75{height:75%!important}.h-sm-100{height:100%!important}.mh-sm-100{max-height:100%!important}.vh-sm-100{height:100vh!important}.min-vh-sm-100{min-height:100vh!important}}@media (min-width:768px){.specific-w-md-25{width:1.5625rem!important}.specific-w-md-50{width:3.125rem!important}.specific-w-md-75{width:4.6875rem!important}.specific-w-md-100{width:6.25rem!important}.specific-w-md-150{width:9.375rem!important}.specific-w-md-200{width:12.5rem!important}.specific-w-md-250{width:15.625rem!important}.specific-w-md-300{width:18.75rem!important}.specific-w-md-350{width:21.875rem!important}.specific-w-md-400{width:25rem!important}.specific-w-md-450{width:28.125rem!important}.specific-w-md-500{width:31.25rem!important}.specific-w-md-550{width:34.375rem!important}.specific-w-md-600{width:37.5rem!important}.w-md-auto{width:auto!important}.w-md-25{width:25%!important}.w-md-50{width:50%!important}.w-md-75{width:75%!important}.w-md-100{width:100%!important}.mw-md-100{max-width:100%!important}.vw-md-100{width:100vw!important}.min-vw-md-100{min-width:100vw!important}.specific-h-md-25{height:1.5625rem!important}.specific-h-md-50{height:3.125rem!important}.specific-h-md-75{height:4.6875rem!important}.specific-h-md-100{height:6.25rem!important}.specific-h-md-150{height:9.375rem!important}.specific-h-md-200{height:12.5rem!important}.specific-h-md-250{height:15.625rem!important}.specific-h-md-300{height:18.75rem!important}.specific-h-md-350{height:21.875rem!important}.specific-h-md-400{height:25rem!important}.specific-h-md-450{height:28.125rem!important}.specific-h-md-500{height:31.25rem!important}.specific-h-md-550{height:34.375rem!important}.specific-h-md-600{height:37.5rem!important}.h-md-auto{height:auto!important}.h-md-25{height:25%!important}.h-md-50{height:50%!important}.h-md-75{height:75%!important}.h-md-100{height:100%!important}.mh-md-100{max-height:100%!important}.vh-md-100{height:100vh!important}.min-vh-md-100{min-height:100vh!important}}@media (min-width:992px){.specific-w-lg-25{width:1.5625rem!important}.specific-w-lg-50{width:3.125rem!important}.specific-w-lg-75{width:4.6875rem!important}.specific-w-lg-100{width:6.25rem!important}.specific-w-lg-150{width:9.375rem!important}.specific-w-lg-200{width:12.5rem!important}.specific-w-lg-250{width:15.625rem!important}.specific-w-lg-300{width:18.75rem!important}.specific-w-lg-350{width:21.875rem!important}.specific-w-lg-400{width:25rem!important}.specific-w-lg-450{width:28.125rem!important}.specific-w-lg-500{width:31.25rem!important}.specific-w-lg-550{width:34.375rem!important}.specific-w-lg-600{width:37.5rem!important}.w-lg-auto{width:auto!important}.w-lg-25{width:25%!important}.w-lg-50{width:50%!important}.w-lg-75{width:75%!important}.w-lg-100{width:100%!important}.mw-lg-100{max-width:100%!important}.vw-lg-100{width:100vw!important}.min-vw-lg-100{min-width:100vw!important}.specific-h-lg-25{height:1.5625rem!important}.specific-h-lg-50{height:3.125rem!important}.specific-h-lg-75{height:4.6875rem!important}.specific-h-lg-100{height:6.25rem!important}.specific-h-lg-150{height:9.375rem!important}.specific-h-lg-200{height:12.5rem!important}.specific-h-lg-250{height:15.625rem!important}.specific-h-lg-300{height:18.75rem!important}.specific-h-lg-350{height:21.875rem!important}.specific-h-lg-400{height:25rem!important}.specific-h-lg-450{height:28.125rem!important}.specific-h-lg-500{height:31.25rem!important}.specific-h-lg-550{height:34.375rem!important}.specific-h-lg-600{height:37.5rem!important}.h-lg-auto{height:auto!important}.h-lg-25{height:25%!important}.h-lg-50{height:50%!important}.h-lg-75{height:75%!important}.h-lg-100{height:100%!important}.mh-lg-100{max-height:100%!important}.vh-lg-100{height:100vh!important}.min-vh-lg-100{min-height:100vh!important}}@media (min-width:1200px){.specific-w-xl-25{width:1.5625rem!important}.specific-w-xl-50{width:3.125rem!important}.specific-w-xl-75{width:4.6875rem!important}.specific-w-xl-100{width:6.25rem!important}.specific-w-xl-150{width:9.375rem!important}.specific-w-xl-200{width:12.5rem!important}.specific-w-xl-250{width:15.625rem!important}.specific-w-xl-300{width:18.75rem!important}.specific-w-xl-350{width:21.875rem!important}.specific-w-xl-400{width:25rem!important}.specific-w-xl-450{width:28.125rem!important}.specific-w-xl-500{width:31.25rem!important}.specific-w-xl-550{width:34.375rem!important}.specific-w-xl-600{width:37.5rem!important}.w-xl-auto{width:auto!important}.w-xl-25{width:25%!important}.w-xl-50{width:50%!important}.w-xl-75{width:75%!important}.w-xl-100{width:100%!important}.mw-xl-100{max-width:100%!important}.vw-xl-100{width:100vw!important}.min-vw-xl-100{min-width:100vw!important}.specific-h-xl-25{height:1.5625rem!important}.specific-h-xl-50{height:3.125rem!important}.specific-h-xl-75{height:4.6875rem!important}.specific-h-xl-100{height:6.25rem!important}.specific-h-xl-150{height:9.375rem!important}.specific-h-xl-200{height:12.5rem!important}.specific-h-xl-250{height:15.625rem!important}.specific-h-xl-300{height:18.75rem!important}.specific-h-xl-350{height:21.875rem!important}.specific-h-xl-400{height:25rem!important}.specific-h-xl-450{height:28.125rem!important}.specific-h-xl-500{height:31.25rem!important}.specific-h-xl-550{height:34.375rem!important}.specific-h-xl-600{height:37.5rem!important}.h-xl-auto{height:auto!important}.h-xl-25{height:25%!important}.h-xl-50{height:50%!important}.h-xl-75{height:75%!important}.h-xl-100{height:100%!important}.mh-xl-100{max-height:100%!important}.vh-xl-100{height:100vh!important}.min-vh-xl-100{min-height:100vh!important}}@media (min-width:1400px){.specific-w-xxl-25{width:1.5625rem!important}.specific-w-xxl-50{width:3.125rem!important}.specific-w-xxl-75{width:4.6875rem!important}.specific-w-xxl-100{width:6.25rem!important}.specific-w-xxl-150{width:9.375rem!important}.specific-w-xxl-200{width:12.5rem!important}.specific-w-xxl-250{width:15.625rem!important}.specific-w-xxl-300{width:18.75rem!important}.specific-w-xxl-350{width:21.875rem!important}.specific-w-xxl-400{width:25rem!important}.specific-w-xxl-450{width:28.125rem!important}.specific-w-xxl-500{width:31.25rem!important}.specific-w-xxl-550{width:34.375rem!important}.specific-w-xxl-600{width:37.5rem!important}.w-xxl-auto{width:auto!important}.w-xxl-25{width:25%!important}.w-xxl-50{width:50%!important}.w-xxl-75{width:75%!important}.w-xxl-100{width:100%!important}.mw-xxl-100{max-width:100%!important}.vw-xxl-100{width:100vw!important}.min-vw-xxl-100{min-width:100vw!important}.specific-h-xxl-25{height:1.5625rem!important}.specific-h-xxl-50{height:3.125rem!important}.specific-h-xxl-75{height:4.6875rem!important}.specific-h-xxl-100{height:6.25rem!important}.specific-h-xxl-150{height:9.375rem!important}.specific-h-xxl-200{height:12.5rem!important}.specific-h-xxl-250{height:15.625rem!important}.specific-h-xxl-300{height:18.75rem!important}.specific-h-xxl-350{height:21.875rem!important}.specific-h-xxl-400{height:25rem!important}.specific-h-xxl-450{height:28.125rem!important}.specific-h-xxl-500{height:31.25rem!important}.specific-h-xxl-550{height:34.375rem!important}.specific-h-xxl-600{height:37.5rem!important}.h-xxl-auto{height:auto!important}.h-xxl-25{height:25%!important}.h-xxl-50{height:50%!important}.h-xxl-75{height:75%!important}.h-xxl-100{height:100%!important}.mh-xxl-100{max-height:100%!important}.vh-xxl-100{height:100vh!important}.min-vh-xxl-100{min-height:100vh!important}}.m-0{margin:0!important}.m-1{margin:var(--bs-spacer-1)!important}.m-2{margin:var(--bs-spacer-2)!important}.m-3{margin:var(--bs-spacer-3)!important}.m-4{margin:var(--bs-spacer-4)!important}.m-5{margin:var(--bs-spacer-5)!important}.m-auto{margin:auto!important}.m-n1{margin:calc(-1*var(--bs-spacer-1))!important}.m-n2{margin:calc(-1*var(--bs-spacer-2))!important}.m-n3{margin:calc(-1*var(--bs-spacer-3))!important}.m-n4{margin:calc(-1*var(--bs-spacer-4))!important}.m-n5{margin:calc(-1*var(--bs-spacer-5))!important}.mx-0{margin-left:0!important;margin-right:0!important}.mx-1{margin-left:var(--bs-spacer-1)!important;margin-right:var(--bs-spacer-1)!important}.mx-2{margin-left:var(--bs-spacer-2)!important;margin-right:var(--bs-spacer-2)!important}.mx-3{margin-left:var(--bs-spacer-3)!important;margin-right:var(--bs-spacer-3)!important}.mx-4{margin-left:var(--bs-spacer-4)!important;margin-right:var(--bs-spacer-4)!important}.mx-5{margin-left:var(--bs-spacer-5)!important;margin-right:var(--bs-spacer-5)!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.mx-n1{margin-left:calc(-1*var(--bs-spacer-1))!important;margin-right:calc(-1*var(--bs-spacer-1))!important}.mx-n2{margin-left:calc(-1*var(--bs-spacer-2))!important;margin-right:calc(-1*var(--bs-spacer-2))!important}.mx-n3{margin-left:calc(-1*var(--bs-spacer-3))!important;margin-right:calc(-1*var(--bs-spacer-3))!important}.mx-n4{margin-left:calc(-1*var(--bs-spacer-4))!important;margin-right:calc(-1*var(--bs-spacer-4))!important}.mx-n5{margin-left:calc(-1*var(--bs-spacer-5))!important;margin-right:calc(-1*var(--bs-spacer-5))!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:var(--bs-spacer-1)!important;margin-bottom:var(--bs-spacer-1)!important}.my-2{margin-top:var(--bs-spacer-2)!important;margin-bottom:var(--bs-spacer-2)!important}.my-3{margin-top:var(--bs-spacer-3)!important;margin-bottom:var(--bs-spacer-3)!important}.my-4{margin-top:var(--bs-spacer-4)!important;margin-bottom:var(--bs-spacer-4)!important}.my-5{margin-top:var(--bs-spacer-5)!important;margin-bottom:var(--bs-spacer-5)!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.my-n1{margin-top:calc(-1*var(--bs-spacer-1))!important;margin-bottom:calc(-1*var(--bs-spacer-1))!important}.my-n2{margin-top:calc(-1*var(--bs-spacer-2))!important;margin-bottom:calc(-1*var(--bs-spacer-2))!important}.my-n3{margin-top:calc(-1*var(--bs-spacer-3))!important;margin-bottom:calc(-1*var(--bs-spacer-3))!important}.my-n4{margin-top:calc(-1*var(--bs-spacer-4))!important;margin-bottom:calc(-1*var(--bs-spacer-4))!important}.my-n5{margin-top:calc(-1*var(--bs-spacer-5))!important;margin-bottom:calc(-1*var(--bs-spacer-5))!important}.mt-0{margin-top:0!important}.mt-1{margin-top:var(--bs-spacer-1)!important}.mt-2{margin-top:var(--bs-spacer-2)!important}.mt-3{margin-top:var(--bs-spacer-3)!important}.mt-4{margin-top:var(--bs-spacer-4)!important}.mt-5{margin-top:var(--bs-spacer-5)!important}.mt-auto{margin-top:auto!important}.mt-n1{margin-top:calc(-1*var(--bs-spacer-1))!important}.mt-n2{margin-top:calc(-1*var(--bs-spacer-2))!important}.mt-n3{margin-top:calc(-1*var(--bs-spacer-3))!important}.mt-n4{margin-top:calc(-1*var(--bs-spacer-4))!important}.mt-n5{margin-top:calc(-1*var(--bs-spacer-5))!important}.me-0{margin-left:0!important}.me-1{margin-left:var(--bs-spacer-1)!important}.me-2{margin-left:var(--bs-spacer-2)!important}.me-3{margin-left:var(--bs-spacer-3)!important}.me-4{margin-left:var(--bs-spacer-4)!important}.me-5{margin-left:var(--bs-spacer-5)!important}.me-auto{margin-left:auto!important}.me-n1{margin-left:calc(-1*var(--bs-spacer-1))!important}.me-n2{margin-left:calc(-1*var(--bs-spacer-2))!important}.me-n3{margin-left:calc(-1*var(--bs-spacer-3))!important}.me-n4{margin-left:calc(-1*var(--bs-spacer-4))!important}.me-n5{margin-left:calc(-1*var(--bs-spacer-5))!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:var(--bs-spacer-1)!important}.mb-2{margin-bottom:var(--bs-spacer-2)!important}.mb-3{margin-bottom:var(--bs-spacer-3)!important}.mb-4{margin-bottom:var(--bs-spacer-4)!important}.mb-5{margin-bottom:var(--bs-spacer-5)!important}.mb-auto{margin-bottom:auto!important}.mb-n1{margin-bottom:calc(-1*var(--bs-spacer-1))!important}.mb-n2{margin-bottom:calc(-1*var(--bs-spacer-2))!important}.mb-n3{margin-bottom:calc(-1*var(--bs-spacer-3))!important}.mb-n4{margin-bottom:calc(-1*var(--bs-spacer-4))!important}.mb-n5{margin-bottom:calc(-1*var(--bs-spacer-5))!important}.ms-0{margin-right:0!important}.ms-1{margin-right:var(--bs-spacer-1)!important}.ms-2{margin-right:var(--bs-spacer-2)!important}.ms-3{margin-right:var(--bs-spacer-3)!important}.ms-4{margin-right:var(--bs-spacer-4)!important}.ms-5{margin-right:var(--bs-spacer-5)!important}.ms-auto{margin-right:auto!important}.ms-n1{margin-right:calc(-1*var(--bs-spacer-1))!important}.ms-n2{margin-right:calc(-1*var(--bs-spacer-2))!important}.ms-n3{margin-right:calc(-1*var(--bs-spacer-3))!important}.ms-n4{margin-right:calc(-1*var(--bs-spacer-4))!important}.ms-n5{margin-right:calc(-1*var(--bs-spacer-5))!important}.p-0{padding:0!important}.p-1{padding:var(--bs-spacer-1)!important}.p-2{padding:var(--bs-spacer-2)!important}.p-3{padding:var(--bs-spacer-3)!important}.p-4{padding:var(--bs-spacer-4)!important}.p-5{padding:var(--bs-spacer-5)!important}.px-0{padding-left:0!important;padding-right:0!important}.px-1{padding-left:var(--bs-spacer-1)!important;padding-right:var(--bs-spacer-1)!important}.px-2{padding-left:var(--bs-spacer-2)!important;padding-right:var(--bs-spacer-2)!important}.px-3{padding-left:var(--bs-spacer-3)!important;padding-right:var(--bs-spacer-3)!important}.px-4{padding-left:var(--bs-spacer-4)!important;padding-right:var(--bs-spacer-4)!important}.px-5{padding-left:var(--bs-spacer-5)!important;padding-right:var(--bs-spacer-5)!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:var(--bs-spacer-1)!important;padding-bottom:var(--bs-spacer-1)!important}.py-2{padding-top:var(--bs-spacer-2)!important;padding-bottom:var(--bs-spacer-2)!important}.py-3{padding-top:var(--bs-spacer-3)!important;padding-bottom:var(--bs-spacer-3)!important}.py-4{padding-top:var(--bs-spacer-4)!important;padding-bottom:var(--bs-spacer-4)!important}.py-5{padding-top:var(--bs-spacer-5)!important;padding-bottom:var(--bs-spacer-5)!important}.pt-0{padding-top:0!important}.pt-1{padding-top:var(--bs-spacer-1)!important}.pt-2{padding-top:var(--bs-spacer-2)!important}.pt-3{padding-top:var(--bs-spacer-3)!important}.pt-4{padding-top:var(--bs-spacer-4)!important}.pt-5{padding-top:var(--bs-spacer-5)!important}.pe-0{padding-left:0!important}.pe-1{padding-left:var(--bs-spacer-1)!important}.pe-2{padding-left:var(--bs-spacer-2)!important}.pe-3{padding-left:var(--bs-spacer-3)!important}.pe-4{padding-left:var(--bs-spacer-4)!important}.pe-5{padding-left:var(--bs-spacer-5)!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:var(--bs-spacer-1)!important}.pb-2{padding-bottom:var(--bs-spacer-2)!important}.pb-3{padding-bottom:var(--bs-spacer-3)!important}.pb-4{padding-bottom:var(--bs-spacer-4)!important}.pb-5{padding-bottom:var(--bs-spacer-5)!important}.ps-0{padding-right:0!important}.ps-1{padding-right:var(--bs-spacer-1)!important}.ps-2{padding-right:var(--bs-spacer-2)!important}.ps-3{padding-right:var(--bs-spacer-3)!important}.ps-4{padding-right:var(--bs-spacer-4)!important}.ps-5{padding-right:var(--bs-spacer-5)!important}.gap-0{gap:0!important}.gap-1{gap:var(--bs-spacer-1)!important}.gap-2{gap:var(--bs-spacer-2)!important}.gap-3{gap:var(--bs-spacer-3)!important}.gap-4{gap:var(--bs-spacer-4)!important}.gap-5{gap:var(--bs-spacer-5)!important}.row-gap-0{gap:0!important}.row-gap-1{row-gap:var(--bs-spacer-1)!important}.row-gap-2{row-gap:var(--bs-spacer-2)!important}.row-gap-3{row-gap:var(--bs-spacer-3)!important}.row-gap-4{row-gap:var(--bs-spacer-4)!important}.row-gap-5{row-gap:var(--bs-spacer-5)!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:var(--bs-spacer-1)!important;column-gap:var(--bs-spacer-1)!important}.column-gap-2{-moz-column-gap:var(--bs-spacer-2)!important;column-gap:var(--bs-spacer-2)!important}.column-gap-3{-moz-column-gap:var(--bs-spacer-3)!important;column-gap:var(--bs-spacer-3)!important}.column-gap-4{-moz-column-gap:var(--bs-spacer-4)!important;column-gap:var(--bs-spacer-4)!important}.column-gap-5{-moz-column-gap:var(--bs-spacer-5)!important;column-gap:var(--bs-spacer-5)!important}@media (min-width:576px){.m-sm-0{margin:0!important}.m-sm-1{margin:var(--bs-spacer-1)!important}.m-sm-2{margin:var(--bs-spacer-2)!important}.m-sm-3{margin:var(--bs-spacer-3)!important}.m-sm-4{margin:var(--bs-spacer-4)!important}.m-sm-5{margin:var(--bs-spacer-5)!important}.m-sm-auto{margin:auto!important}.m-sm-n1{margin:calc(-1*var(--bs-spacer-1))!important}.m-sm-n2{margin:calc(-1*var(--bs-spacer-2))!important}.m-sm-n3{margin:calc(-1*var(--bs-spacer-3))!important}.m-sm-n4{margin:calc(-1*var(--bs-spacer-4))!important}.m-sm-n5{margin:calc(-1*var(--bs-spacer-5))!important}.mx-sm-0{margin-left:0!important;margin-right:0!important}.mx-sm-1{margin-left:var(--bs-spacer-1)!important;margin-right:var(--bs-spacer-1)!important}.mx-sm-2{margin-left:var(--bs-spacer-2)!important;margin-right:var(--bs-spacer-2)!important}.mx-sm-3{margin-left:var(--bs-spacer-3)!important;margin-right:var(--bs-spacer-3)!important}.mx-sm-4{margin-left:var(--bs-spacer-4)!important;margin-right:var(--bs-spacer-4)!important}.mx-sm-5{margin-left:var(--bs-spacer-5)!important;margin-right:var(--bs-spacer-5)!important}.mx-sm-auto{margin-left:auto!important;margin-right:auto!important}.mx-sm-n1{margin-left:calc(-1*var(--bs-spacer-1))!important;margin-right:calc(-1*var(--bs-spacer-1))!important}.mx-sm-n2{margin-left:calc(-1*var(--bs-spacer-2))!important;margin-right:calc(-1*var(--bs-spacer-2))!important}.mx-sm-n3{margin-left:calc(-1*var(--bs-spacer-3))!important;margin-right:calc(-1*var(--bs-spacer-3))!important}.mx-sm-n4{margin-left:calc(-1*var(--bs-spacer-4))!important;margin-right:calc(-1*var(--bs-spacer-4))!important}.mx-sm-n5{margin-left:calc(-1*var(--bs-spacer-5))!important;margin-right:calc(-1*var(--bs-spacer-5))!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:var(--bs-spacer-1)!important;margin-bottom:var(--bs-spacer-1)!important}.my-sm-2{margin-top:var(--bs-spacer-2)!important;margin-bottom:var(--bs-spacer-2)!important}.my-sm-3{margin-top:var(--bs-spacer-3)!important;margin-bottom:var(--bs-spacer-3)!important}.my-sm-4{margin-top:var(--bs-spacer-4)!important;margin-bottom:var(--bs-spacer-4)!important}.my-sm-5{margin-top:var(--bs-spacer-5)!important;margin-bottom:var(--bs-spacer-5)!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.my-sm-n1{margin-top:calc(-1*var(--bs-spacer-1))!important;margin-bottom:calc(-1*var(--bs-spacer-1))!important}.my-sm-n2{margin-top:calc(-1*var(--bs-spacer-2))!important;margin-bottom:calc(-1*var(--bs-spacer-2))!important}.my-sm-n3{margin-top:calc(-1*var(--bs-spacer-3))!important;margin-bottom:calc(-1*var(--bs-spacer-3))!important}.my-sm-n4{margin-top:calc(-1*var(--bs-spacer-4))!important;margin-bottom:calc(-1*var(--bs-spacer-4))!important}.my-sm-n5{margin-top:calc(-1*var(--bs-spacer-5))!important;margin-bottom:calc(-1*var(--bs-spacer-5))!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:var(--bs-spacer-1)!important}.mt-sm-2{margin-top:var(--bs-spacer-2)!important}.mt-sm-3{margin-top:var(--bs-spacer-3)!important}.mt-sm-4{margin-top:var(--bs-spacer-4)!important}.mt-sm-5{margin-top:var(--bs-spacer-5)!important}.mt-sm-auto{margin-top:auto!important}.mt-sm-n1{margin-top:calc(-1*var(--bs-spacer-1))!important}.mt-sm-n2{margin-top:calc(-1*var(--bs-spacer-2))!important}.mt-sm-n3{margin-top:calc(-1*var(--bs-spacer-3))!important}.mt-sm-n4{margin-top:calc(-1*var(--bs-spacer-4))!important}.mt-sm-n5{margin-top:calc(-1*var(--bs-spacer-5))!important}.me-sm-0{margin-left:0!important}.me-sm-1{margin-left:var(--bs-spacer-1)!important}.me-sm-2{margin-left:var(--bs-spacer-2)!important}.me-sm-3{margin-left:var(--bs-spacer-3)!important}.me-sm-4{margin-left:var(--bs-spacer-4)!important}.me-sm-5{margin-left:var(--bs-spacer-5)!important}.me-sm-auto{margin-left:auto!important}.me-sm-n1{margin-left:calc(-1*var(--bs-spacer-1))!important}.me-sm-n2{margin-left:calc(-1*var(--bs-spacer-2))!important}.me-sm-n3{margin-left:calc(-1*var(--bs-spacer-3))!important}.me-sm-n4{margin-left:calc(-1*var(--bs-spacer-4))!important}.me-sm-n5{margin-left:calc(-1*var(--bs-spacer-5))!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:var(--bs-spacer-1)!important}.mb-sm-2{margin-bottom:var(--bs-spacer-2)!important}.mb-sm-3{margin-bottom:var(--bs-spacer-3)!important}.mb-sm-4{margin-bottom:var(--bs-spacer-4)!important}.mb-sm-5{margin-bottom:var(--bs-spacer-5)!important}.mb-sm-auto{margin-bottom:auto!important}.mb-sm-n1{margin-bottom:calc(-1*var(--bs-spacer-1))!important}.mb-sm-n2{margin-bottom:calc(-1*var(--bs-spacer-2))!important}.mb-sm-n3{margin-bottom:calc(-1*var(--bs-spacer-3))!important}.mb-sm-n4{margin-bottom:calc(-1*var(--bs-spacer-4))!important}.mb-sm-n5{margin-bottom:calc(-1*var(--bs-spacer-5))!important}.ms-sm-0{margin-right:0!important}.ms-sm-1{margin-right:var(--bs-spacer-1)!important}.ms-sm-2{margin-right:var(--bs-spacer-2)!important}.ms-sm-3{margin-right:var(--bs-spacer-3)!important}.ms-sm-4{margin-right:var(--bs-spacer-4)!important}.ms-sm-5{margin-right:var(--bs-spacer-5)!important}.ms-sm-auto{margin-right:auto!important}.ms-sm-n1{margin-right:calc(-1*var(--bs-spacer-1))!important}.ms-sm-n2{margin-right:calc(-1*var(--bs-spacer-2))!important}.ms-sm-n3{margin-right:calc(-1*var(--bs-spacer-3))!important}.ms-sm-n4{margin-right:calc(-1*var(--bs-spacer-4))!important}.ms-sm-n5{margin-right:calc(-1*var(--bs-spacer-5))!important}.p-sm-0{padding:0!important}.p-sm-1{padding:var(--bs-spacer-1)!important}.p-sm-2{padding:var(--bs-spacer-2)!important}.p-sm-3{padding:var(--bs-spacer-3)!important}.p-sm-4{padding:var(--bs-spacer-4)!important}.p-sm-5{padding:var(--bs-spacer-5)!important}.px-sm-0{padding-left:0!important;padding-right:0!important}.px-sm-1{padding-left:var(--bs-spacer-1)!important;padding-right:var(--bs-spacer-1)!important}.px-sm-2{padding-left:var(--bs-spacer-2)!important;padding-right:var(--bs-spacer-2)!important}.px-sm-3{padding-left:var(--bs-spacer-3)!important;padding-right:var(--bs-spacer-3)!important}.px-sm-4{padding-left:var(--bs-spacer-4)!important;padding-right:var(--bs-spacer-4)!important}.px-sm-5{padding-left:var(--bs-spacer-5)!important;padding-right:var(--bs-spacer-5)!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:var(--bs-spacer-1)!important;padding-bottom:var(--bs-spacer-1)!important}.py-sm-2{padding-top:var(--bs-spacer-2)!important;padding-bottom:var(--bs-spacer-2)!important}.py-sm-3{padding-top:var(--bs-spacer-3)!important;padding-bottom:var(--bs-spacer-3)!important}.py-sm-4{padding-top:var(--bs-spacer-4)!important;padding-bottom:var(--bs-spacer-4)!important}.py-sm-5{padding-top:var(--bs-spacer-5)!important;padding-bottom:var(--bs-spacer-5)!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:var(--bs-spacer-1)!important}.pt-sm-2{padding-top:var(--bs-spacer-2)!important}.pt-sm-3{padding-top:var(--bs-spacer-3)!important}.pt-sm-4{padding-top:var(--bs-spacer-4)!important}.pt-sm-5{padding-top:var(--bs-spacer-5)!important}.pe-sm-0{padding-left:0!important}.pe-sm-1{padding-left:var(--bs-spacer-1)!important}.pe-sm-2{padding-left:var(--bs-spacer-2)!important}.pe-sm-3{padding-left:var(--bs-spacer-3)!important}.pe-sm-4{padding-left:var(--bs-spacer-4)!important}.pe-sm-5{padding-left:var(--bs-spacer-5)!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:var(--bs-spacer-1)!important}.pb-sm-2{padding-bottom:var(--bs-spacer-2)!important}.pb-sm-3{padding-bottom:var(--bs-spacer-3)!important}.pb-sm-4{padding-bottom:var(--bs-spacer-4)!important}.pb-sm-5{padding-bottom:var(--bs-spacer-5)!important}.ps-sm-0{padding-right:0!important}.ps-sm-1{padding-right:var(--bs-spacer-1)!important}.ps-sm-2{padding-right:var(--bs-spacer-2)!important}.ps-sm-3{padding-right:var(--bs-spacer-3)!important}.ps-sm-4{padding-right:var(--bs-spacer-4)!important}.ps-sm-5{padding-right:var(--bs-spacer-5)!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:var(--bs-spacer-1)!important}.gap-sm-2{gap:var(--bs-spacer-2)!important}.gap-sm-3{gap:var(--bs-spacer-3)!important}.gap-sm-4{gap:var(--bs-spacer-4)!important}.gap-sm-5{gap:var(--bs-spacer-5)!important}.row-gap-sm-0{gap:0!important}.row-gap-sm-1{row-gap:var(--bs-spacer-1)!important}.row-gap-sm-2{row-gap:var(--bs-spacer-2)!important}.row-gap-sm-3{row-gap:var(--bs-spacer-3)!important}.row-gap-sm-4{row-gap:var(--bs-spacer-4)!important}.row-gap-sm-5{row-gap:var(--bs-spacer-5)!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:var(--bs-spacer-1)!important;column-gap:var(--bs-spacer-1)!important}.column-gap-sm-2{-moz-column-gap:var(--bs-spacer-2)!important;column-gap:var(--bs-spacer-2)!important}.column-gap-sm-3{-moz-column-gap:var(--bs-spacer-3)!important;column-gap:var(--bs-spacer-3)!important}.column-gap-sm-4{-moz-column-gap:var(--bs-spacer-4)!important;column-gap:var(--bs-spacer-4)!important}.column-gap-sm-5{-moz-column-gap:var(--bs-spacer-5)!important;column-gap:var(--bs-spacer-5)!important}}@media (min-width:768px){.m-md-0{margin:0!important}.m-md-1{margin:var(--bs-spacer-1)!important}.m-md-2{margin:var(--bs-spacer-2)!important}.m-md-3{margin:var(--bs-spacer-3)!important}.m-md-4{margin:var(--bs-spacer-4)!important}.m-md-5{margin:var(--bs-spacer-5)!important}.m-md-auto{margin:auto!important}.m-md-n1{margin:calc(-1*var(--bs-spacer-1))!important}.m-md-n2{margin:calc(-1*var(--bs-spacer-2))!important}.m-md-n3{margin:calc(-1*var(--bs-spacer-3))!important}.m-md-n4{margin:calc(-1*var(--bs-spacer-4))!important}.m-md-n5{margin:calc(-1*var(--bs-spacer-5))!important}.mx-md-0{margin-left:0!important;margin-right:0!important}.mx-md-1{margin-left:var(--bs-spacer-1)!important;margin-right:var(--bs-spacer-1)!important}.mx-md-2{margin-left:var(--bs-spacer-2)!important;margin-right:var(--bs-spacer-2)!important}.mx-md-3{margin-left:var(--bs-spacer-3)!important;margin-right:var(--bs-spacer-3)!important}.mx-md-4{margin-left:var(--bs-spacer-4)!important;margin-right:var(--bs-spacer-4)!important}.mx-md-5{margin-left:var(--bs-spacer-5)!important;margin-right:var(--bs-spacer-5)!important}.mx-md-auto{margin-left:auto!important;margin-right:auto!important}.mx-md-n1{margin-left:calc(-1*var(--bs-spacer-1))!important;margin-right:calc(-1*var(--bs-spacer-1))!important}.mx-md-n2{margin-left:calc(-1*var(--bs-spacer-2))!important;margin-right:calc(-1*var(--bs-spacer-2))!important}.mx-md-n3{margin-left:calc(-1*var(--bs-spacer-3))!important;margin-right:calc(-1*var(--bs-spacer-3))!important}.mx-md-n4{margin-left:calc(-1*var(--bs-spacer-4))!important;margin-right:calc(-1*var(--bs-spacer-4))!important}.mx-md-n5{margin-left:calc(-1*var(--bs-spacer-5))!important;margin-right:calc(-1*var(--bs-spacer-5))!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:var(--bs-spacer-1)!important;margin-bottom:var(--bs-spacer-1)!important}.my-md-2{margin-top:var(--bs-spacer-2)!important;margin-bottom:var(--bs-spacer-2)!important}.my-md-3{margin-top:var(--bs-spacer-3)!important;margin-bottom:var(--bs-spacer-3)!important}.my-md-4{margin-top:var(--bs-spacer-4)!important;margin-bottom:var(--bs-spacer-4)!important}.my-md-5{margin-top:var(--bs-spacer-5)!important;margin-bottom:var(--bs-spacer-5)!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.my-md-n1{margin-top:calc(-1*var(--bs-spacer-1))!important;margin-bottom:calc(-1*var(--bs-spacer-1))!important}.my-md-n2{margin-top:calc(-1*var(--bs-spacer-2))!important;margin-bottom:calc(-1*var(--bs-spacer-2))!important}.my-md-n3{margin-top:calc(-1*var(--bs-spacer-3))!important;margin-bottom:calc(-1*var(--bs-spacer-3))!important}.my-md-n4{margin-top:calc(-1*var(--bs-spacer-4))!important;margin-bottom:calc(-1*var(--bs-spacer-4))!important}.my-md-n5{margin-top:calc(-1*var(--bs-spacer-5))!important;margin-bottom:calc(-1*var(--bs-spacer-5))!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:var(--bs-spacer-1)!important}.mt-md-2{margin-top:var(--bs-spacer-2)!important}.mt-md-3{margin-top:var(--bs-spacer-3)!important}.mt-md-4{margin-top:var(--bs-spacer-4)!important}.mt-md-5{margin-top:var(--bs-spacer-5)!important}.mt-md-auto{margin-top:auto!important}.mt-md-n1{margin-top:calc(-1*var(--bs-spacer-1))!important}.mt-md-n2{margin-top:calc(-1*var(--bs-spacer-2))!important}.mt-md-n3{margin-top:calc(-1*var(--bs-spacer-3))!important}.mt-md-n4{margin-top:calc(-1*var(--bs-spacer-4))!important}.mt-md-n5{margin-top:calc(-1*var(--bs-spacer-5))!important}.me-md-0{margin-left:0!important}.me-md-1{margin-left:var(--bs-spacer-1)!important}.me-md-2{margin-left:var(--bs-spacer-2)!important}.me-md-3{margin-left:var(--bs-spacer-3)!important}.me-md-4{margin-left:var(--bs-spacer-4)!important}.me-md-5{margin-left:var(--bs-spacer-5)!important}.me-md-auto{margin-left:auto!important}.me-md-n1{margin-left:calc(-1*var(--bs-spacer-1))!important}.me-md-n2{margin-left:calc(-1*var(--bs-spacer-2))!important}.me-md-n3{margin-left:calc(-1*var(--bs-spacer-3))!important}.me-md-n4{margin-left:calc(-1*var(--bs-spacer-4))!important}.me-md-n5{margin-left:calc(-1*var(--bs-spacer-5))!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:var(--bs-spacer-1)!important}.mb-md-2{margin-bottom:var(--bs-spacer-2)!important}.mb-md-3{margin-bottom:var(--bs-spacer-3)!important}.mb-md-4{margin-bottom:var(--bs-spacer-4)!important}.mb-md-5{margin-bottom:var(--bs-spacer-5)!important}.mb-md-auto{margin-bottom:auto!important}.mb-md-n1{margin-bottom:calc(-1*var(--bs-spacer-1))!important}.mb-md-n2{margin-bottom:calc(-1*var(--bs-spacer-2))!important}.mb-md-n3{margin-bottom:calc(-1*var(--bs-spacer-3))!important}.mb-md-n4{margin-bottom:calc(-1*var(--bs-spacer-4))!important}.mb-md-n5{margin-bottom:calc(-1*var(--bs-spacer-5))!important}.ms-md-0{margin-right:0!important}.ms-md-1{margin-right:var(--bs-spacer-1)!important}.ms-md-2{margin-right:var(--bs-spacer-2)!important}.ms-md-3{margin-right:var(--bs-spacer-3)!important}.ms-md-4{margin-right:var(--bs-spacer-4)!important}.ms-md-5{margin-right:var(--bs-spacer-5)!important}.ms-md-auto{margin-right:auto!important}.ms-md-n1{margin-right:calc(-1*var(--bs-spacer-1))!important}.ms-md-n2{margin-right:calc(-1*var(--bs-spacer-2))!important}.ms-md-n3{margin-right:calc(-1*var(--bs-spacer-3))!important}.ms-md-n4{margin-right:calc(-1*var(--bs-spacer-4))!important}.ms-md-n5{margin-right:calc(-1*var(--bs-spacer-5))!important}.p-md-0{padding:0!important}.p-md-1{padding:var(--bs-spacer-1)!important}.p-md-2{padding:var(--bs-spacer-2)!important}.p-md-3{padding:var(--bs-spacer-3)!important}.p-md-4{padding:var(--bs-spacer-4)!important}.p-md-5{padding:var(--bs-spacer-5)!important}.px-md-0{padding-left:0!important;padding-right:0!important}.px-md-1{padding-left:var(--bs-spacer-1)!important;padding-right:var(--bs-spacer-1)!important}.px-md-2{padding-left:var(--bs-spacer-2)!important;padding-right:var(--bs-spacer-2)!important}.px-md-3{padding-left:var(--bs-spacer-3)!important;padding-right:var(--bs-spacer-3)!important}.px-md-4{padding-left:var(--bs-spacer-4)!important;padding-right:var(--bs-spacer-4)!important}.px-md-5{padding-left:var(--bs-spacer-5)!important;padding-right:var(--bs-spacer-5)!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:var(--bs-spacer-1)!important;padding-bottom:var(--bs-spacer-1)!important}.py-md-2{padding-top:var(--bs-spacer-2)!important;padding-bottom:var(--bs-spacer-2)!important}.py-md-3{padding-top:var(--bs-spacer-3)!important;padding-bottom:var(--bs-spacer-3)!important}.py-md-4{padding-top:var(--bs-spacer-4)!important;padding-bottom:var(--bs-spacer-4)!important}.py-md-5{padding-top:var(--bs-spacer-5)!important;padding-bottom:var(--bs-spacer-5)!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:var(--bs-spacer-1)!important}.pt-md-2{padding-top:var(--bs-spacer-2)!important}.pt-md-3{padding-top:var(--bs-spacer-3)!important}.pt-md-4{padding-top:var(--bs-spacer-4)!important}.pt-md-5{padding-top:var(--bs-spacer-5)!important}.pe-md-0{padding-left:0!important}.pe-md-1{padding-left:var(--bs-spacer-1)!important}.pe-md-2{padding-left:var(--bs-spacer-2)!important}.pe-md-3{padding-left:var(--bs-spacer-3)!important}.pe-md-4{padding-left:var(--bs-spacer-4)!important}.pe-md-5{padding-left:var(--bs-spacer-5)!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:var(--bs-spacer-1)!important}.pb-md-2{padding-bottom:var(--bs-spacer-2)!important}.pb-md-3{padding-bottom:var(--bs-spacer-3)!important}.pb-md-4{padding-bottom:var(--bs-spacer-4)!important}.pb-md-5{padding-bottom:var(--bs-spacer-5)!important}.ps-md-0{padding-right:0!important}.ps-md-1{padding-right:var(--bs-spacer-1)!important}.ps-md-2{padding-right:var(--bs-spacer-2)!important}.ps-md-3{padding-right:var(--bs-spacer-3)!important}.ps-md-4{padding-right:var(--bs-spacer-4)!important}.ps-md-5{padding-right:var(--bs-spacer-5)!important}.gap-md-0{gap:0!important}.gap-md-1{gap:var(--bs-spacer-1)!important}.gap-md-2{gap:var(--bs-spacer-2)!important}.gap-md-3{gap:var(--bs-spacer-3)!important}.gap-md-4{gap:var(--bs-spacer-4)!important}.gap-md-5{gap:var(--bs-spacer-5)!important}.row-gap-md-0{gap:0!important}.row-gap-md-1{row-gap:var(--bs-spacer-1)!important}.row-gap-md-2{row-gap:var(--bs-spacer-2)!important}.row-gap-md-3{row-gap:var(--bs-spacer-3)!important}.row-gap-md-4{row-gap:var(--bs-spacer-4)!important}.row-gap-md-5{row-gap:var(--bs-spacer-5)!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:var(--bs-spacer-1)!important;column-gap:var(--bs-spacer-1)!important}.column-gap-md-2{-moz-column-gap:var(--bs-spacer-2)!important;column-gap:var(--bs-spacer-2)!important}.column-gap-md-3{-moz-column-gap:var(--bs-spacer-3)!important;column-gap:var(--bs-spacer-3)!important}.column-gap-md-4{-moz-column-gap:var(--bs-spacer-4)!important;column-gap:var(--bs-spacer-4)!important}.column-gap-md-5{-moz-column-gap:var(--bs-spacer-5)!important;column-gap:var(--bs-spacer-5)!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.m-lg-1{margin:var(--bs-spacer-1)!important}.m-lg-2{margin:var(--bs-spacer-2)!important}.m-lg-3{margin:var(--bs-spacer-3)!important}.m-lg-4{margin:var(--bs-spacer-4)!important}.m-lg-5{margin:var(--bs-spacer-5)!important}.m-lg-auto{margin:auto!important}.m-lg-n1{margin:calc(-1*var(--bs-spacer-1))!important}.m-lg-n2{margin:calc(-1*var(--bs-spacer-2))!important}.m-lg-n3{margin:calc(-1*var(--bs-spacer-3))!important}.m-lg-n4{margin:calc(-1*var(--bs-spacer-4))!important}.m-lg-n5{margin:calc(-1*var(--bs-spacer-5))!important}.mx-lg-0{margin-left:0!important;margin-right:0!important}.mx-lg-1{margin-left:var(--bs-spacer-1)!important;margin-right:var(--bs-spacer-1)!important}.mx-lg-2{margin-left:var(--bs-spacer-2)!important;margin-right:var(--bs-spacer-2)!important}.mx-lg-3{margin-left:var(--bs-spacer-3)!important;margin-right:var(--bs-spacer-3)!important}.mx-lg-4{margin-left:var(--bs-spacer-4)!important;margin-right:var(--bs-spacer-4)!important}.mx-lg-5{margin-left:var(--bs-spacer-5)!important;margin-right:var(--bs-spacer-5)!important}.mx-lg-auto{margin-left:auto!important;margin-right:auto!important}.mx-lg-n1{margin-left:calc(-1*var(--bs-spacer-1))!important;margin-right:calc(-1*var(--bs-spacer-1))!important}.mx-lg-n2{margin-left:calc(-1*var(--bs-spacer-2))!important;margin-right:calc(-1*var(--bs-spacer-2))!important}.mx-lg-n3{margin-left:calc(-1*var(--bs-spacer-3))!important;margin-right:calc(-1*var(--bs-spacer-3))!important}.mx-lg-n4{margin-left:calc(-1*var(--bs-spacer-4))!important;margin-right:calc(-1*var(--bs-spacer-4))!important}.mx-lg-n5{margin-left:calc(-1*var(--bs-spacer-5))!important;margin-right:calc(-1*var(--bs-spacer-5))!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:var(--bs-spacer-1)!important;margin-bottom:var(--bs-spacer-1)!important}.my-lg-2{margin-top:var(--bs-spacer-2)!important;margin-bottom:var(--bs-spacer-2)!important}.my-lg-3{margin-top:var(--bs-spacer-3)!important;margin-bottom:var(--bs-spacer-3)!important}.my-lg-4{margin-top:var(--bs-spacer-4)!important;margin-bottom:var(--bs-spacer-4)!important}.my-lg-5{margin-top:var(--bs-spacer-5)!important;margin-bottom:var(--bs-spacer-5)!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.my-lg-n1{margin-top:calc(-1*var(--bs-spacer-1))!important;margin-bottom:calc(-1*var(--bs-spacer-1))!important}.my-lg-n2{margin-top:calc(-1*var(--bs-spacer-2))!important;margin-bottom:calc(-1*var(--bs-spacer-2))!important}.my-lg-n3{margin-top:calc(-1*var(--bs-spacer-3))!important;margin-bottom:calc(-1*var(--bs-spacer-3))!important}.my-lg-n4{margin-top:calc(-1*var(--bs-spacer-4))!important;margin-bottom:calc(-1*var(--bs-spacer-4))!important}.my-lg-n5{margin-top:calc(-1*var(--bs-spacer-5))!important;margin-bottom:calc(-1*var(--bs-spacer-5))!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:var(--bs-spacer-1)!important}.mt-lg-2{margin-top:var(--bs-spacer-2)!important}.mt-lg-3{margin-top:var(--bs-spacer-3)!important}.mt-lg-4{margin-top:var(--bs-spacer-4)!important}.mt-lg-5{margin-top:var(--bs-spacer-5)!important}.mt-lg-auto{margin-top:auto!important}.mt-lg-n1{margin-top:calc(-1*var(--bs-spacer-1))!important}.mt-lg-n2{margin-top:calc(-1*var(--bs-spacer-2))!important}.mt-lg-n3{margin-top:calc(-1*var(--bs-spacer-3))!important}.mt-lg-n4{margin-top:calc(-1*var(--bs-spacer-4))!important}.mt-lg-n5{margin-top:calc(-1*var(--bs-spacer-5))!important}.me-lg-0{margin-left:0!important}.me-lg-1{margin-left:var(--bs-spacer-1)!important}.me-lg-2{margin-left:var(--bs-spacer-2)!important}.me-lg-3{margin-left:var(--bs-spacer-3)!important}.me-lg-4{margin-left:var(--bs-spacer-4)!important}.me-lg-5{margin-left:var(--bs-spacer-5)!important}.me-lg-auto{margin-left:auto!important}.me-lg-n1{margin-left:calc(-1*var(--bs-spacer-1))!important}.me-lg-n2{margin-left:calc(-1*var(--bs-spacer-2))!important}.me-lg-n3{margin-left:calc(-1*var(--bs-spacer-3))!important}.me-lg-n4{margin-left:calc(-1*var(--bs-spacer-4))!important}.me-lg-n5{margin-left:calc(-1*var(--bs-spacer-5))!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:var(--bs-spacer-1)!important}.mb-lg-2{margin-bottom:var(--bs-spacer-2)!important}.mb-lg-3{margin-bottom:var(--bs-spacer-3)!important}.mb-lg-4{margin-bottom:var(--bs-spacer-4)!important}.mb-lg-5{margin-bottom:var(--bs-spacer-5)!important}.mb-lg-auto{margin-bottom:auto!important}.mb-lg-n1{margin-bottom:calc(-1*var(--bs-spacer-1))!important}.mb-lg-n2{margin-bottom:calc(-1*var(--bs-spacer-2))!important}.mb-lg-n3{margin-bottom:calc(-1*var(--bs-spacer-3))!important}.mb-lg-n4{margin-bottom:calc(-1*var(--bs-spacer-4))!important}.mb-lg-n5{margin-bottom:calc(-1*var(--bs-spacer-5))!important}.ms-lg-0{margin-right:0!important}.ms-lg-1{margin-right:var(--bs-spacer-1)!important}.ms-lg-2{margin-right:var(--bs-spacer-2)!important}.ms-lg-3{margin-right:var(--bs-spacer-3)!important}.ms-lg-4{margin-right:var(--bs-spacer-4)!important}.ms-lg-5{margin-right:var(--bs-spacer-5)!important}.ms-lg-auto{margin-right:auto!important}.ms-lg-n1{margin-right:calc(-1*var(--bs-spacer-1))!important}.ms-lg-n2{margin-right:calc(-1*var(--bs-spacer-2))!important}.ms-lg-n3{margin-right:calc(-1*var(--bs-spacer-3))!important}.ms-lg-n4{margin-right:calc(-1*var(--bs-spacer-4))!important}.ms-lg-n5{margin-right:calc(-1*var(--bs-spacer-5))!important}.p-lg-0{padding:0!important}.p-lg-1{padding:var(--bs-spacer-1)!important}.p-lg-2{padding:var(--bs-spacer-2)!important}.p-lg-3{padding:var(--bs-spacer-3)!important}.p-lg-4{padding:var(--bs-spacer-4)!important}.p-lg-5{padding:var(--bs-spacer-5)!important}.px-lg-0{padding-left:0!important;padding-right:0!important}.px-lg-1{padding-left:var(--bs-spacer-1)!important;padding-right:var(--bs-spacer-1)!important}.px-lg-2{padding-left:var(--bs-spacer-2)!important;padding-right:var(--bs-spacer-2)!important}.px-lg-3{padding-left:var(--bs-spacer-3)!important;padding-right:var(--bs-spacer-3)!important}.px-lg-4{padding-left:var(--bs-spacer-4)!important;padding-right:var(--bs-spacer-4)!important}.px-lg-5{padding-left:var(--bs-spacer-5)!important;padding-right:var(--bs-spacer-5)!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:var(--bs-spacer-1)!important;padding-bottom:var(--bs-spacer-1)!important}.py-lg-2{padding-top:var(--bs-spacer-2)!important;padding-bottom:var(--bs-spacer-2)!important}.py-lg-3{padding-top:var(--bs-spacer-3)!important;padding-bottom:var(--bs-spacer-3)!important}.py-lg-4{padding-top:var(--bs-spacer-4)!important;padding-bottom:var(--bs-spacer-4)!important}.py-lg-5{padding-top:var(--bs-spacer-5)!important;padding-bottom:var(--bs-spacer-5)!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:var(--bs-spacer-1)!important}.pt-lg-2{padding-top:var(--bs-spacer-2)!important}.pt-lg-3{padding-top:var(--bs-spacer-3)!important}.pt-lg-4{padding-top:var(--bs-spacer-4)!important}.pt-lg-5{padding-top:var(--bs-spacer-5)!important}.pe-lg-0{padding-left:0!important}.pe-lg-1{padding-left:var(--bs-spacer-1)!important}.pe-lg-2{padding-left:var(--bs-spacer-2)!important}.pe-lg-3{padding-left:var(--bs-spacer-3)!important}.pe-lg-4{padding-left:var(--bs-spacer-4)!important}.pe-lg-5{padding-left:var(--bs-spacer-5)!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:var(--bs-spacer-1)!important}.pb-lg-2{padding-bottom:var(--bs-spacer-2)!important}.pb-lg-3{padding-bottom:var(--bs-spacer-3)!important}.pb-lg-4{padding-bottom:var(--bs-spacer-4)!important}.pb-lg-5{padding-bottom:var(--bs-spacer-5)!important}.ps-lg-0{padding-right:0!important}.ps-lg-1{padding-right:var(--bs-spacer-1)!important}.ps-lg-2{padding-right:var(--bs-spacer-2)!important}.ps-lg-3{padding-right:var(--bs-spacer-3)!important}.ps-lg-4{padding-right:var(--bs-spacer-4)!important}.ps-lg-5{padding-right:var(--bs-spacer-5)!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:var(--bs-spacer-1)!important}.gap-lg-2{gap:var(--bs-spacer-2)!important}.gap-lg-3{gap:var(--bs-spacer-3)!important}.gap-lg-4{gap:var(--bs-spacer-4)!important}.gap-lg-5{gap:var(--bs-spacer-5)!important}.row-gap-lg-0{gap:0!important}.row-gap-lg-1{row-gap:var(--bs-spacer-1)!important}.row-gap-lg-2{row-gap:var(--bs-spacer-2)!important}.row-gap-lg-3{row-gap:var(--bs-spacer-3)!important}.row-gap-lg-4{row-gap:var(--bs-spacer-4)!important}.row-gap-lg-5{row-gap:var(--bs-spacer-5)!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:var(--bs-spacer-1)!important;column-gap:var(--bs-spacer-1)!important}.column-gap-lg-2{-moz-column-gap:var(--bs-spacer-2)!important;column-gap:var(--bs-spacer-2)!important}.column-gap-lg-3{-moz-column-gap:var(--bs-spacer-3)!important;column-gap:var(--bs-spacer-3)!important}.column-gap-lg-4{-moz-column-gap:var(--bs-spacer-4)!important;column-gap:var(--bs-spacer-4)!important}.column-gap-lg-5{-moz-column-gap:var(--bs-spacer-5)!important;column-gap:var(--bs-spacer-5)!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.m-xl-1{margin:var(--bs-spacer-1)!important}.m-xl-2{margin:var(--bs-spacer-2)!important}.m-xl-3{margin:var(--bs-spacer-3)!important}.m-xl-4{margin:var(--bs-spacer-4)!important}.m-xl-5{margin:var(--bs-spacer-5)!important}.m-xl-auto{margin:auto!important}.m-xl-n1{margin:calc(-1*var(--bs-spacer-1))!important}.m-xl-n2{margin:calc(-1*var(--bs-spacer-2))!important}.m-xl-n3{margin:calc(-1*var(--bs-spacer-3))!important}.m-xl-n4{margin:calc(-1*var(--bs-spacer-4))!important}.m-xl-n5{margin:calc(-1*var(--bs-spacer-5))!important}.mx-xl-0{margin-left:0!important;margin-right:0!important}.mx-xl-1{margin-left:var(--bs-spacer-1)!important;margin-right:var(--bs-spacer-1)!important}.mx-xl-2{margin-left:var(--bs-spacer-2)!important;margin-right:var(--bs-spacer-2)!important}.mx-xl-3{margin-left:var(--bs-spacer-3)!important;margin-right:var(--bs-spacer-3)!important}.mx-xl-4{margin-left:var(--bs-spacer-4)!important;margin-right:var(--bs-spacer-4)!important}.mx-xl-5{margin-left:var(--bs-spacer-5)!important;margin-right:var(--bs-spacer-5)!important}.mx-xl-auto{margin-left:auto!important;margin-right:auto!important}.mx-xl-n1{margin-left:calc(-1*var(--bs-spacer-1))!important;margin-right:calc(-1*var(--bs-spacer-1))!important}.mx-xl-n2{margin-left:calc(-1*var(--bs-spacer-2))!important;margin-right:calc(-1*var(--bs-spacer-2))!important}.mx-xl-n3{margin-left:calc(-1*var(--bs-spacer-3))!important;margin-right:calc(-1*var(--bs-spacer-3))!important}.mx-xl-n4{margin-left:calc(-1*var(--bs-spacer-4))!important;margin-right:calc(-1*var(--bs-spacer-4))!important}.mx-xl-n5{margin-left:calc(-1*var(--bs-spacer-5))!important;margin-right:calc(-1*var(--bs-spacer-5))!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:var(--bs-spacer-1)!important;margin-bottom:var(--bs-spacer-1)!important}.my-xl-2{margin-top:var(--bs-spacer-2)!important;margin-bottom:var(--bs-spacer-2)!important}.my-xl-3{margin-top:var(--bs-spacer-3)!important;margin-bottom:var(--bs-spacer-3)!important}.my-xl-4{margin-top:var(--bs-spacer-4)!important;margin-bottom:var(--bs-spacer-4)!important}.my-xl-5{margin-top:var(--bs-spacer-5)!important;margin-bottom:var(--bs-spacer-5)!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.my-xl-n1{margin-top:calc(-1*var(--bs-spacer-1))!important;margin-bottom:calc(-1*var(--bs-spacer-1))!important}.my-xl-n2{margin-top:calc(-1*var(--bs-spacer-2))!important;margin-bottom:calc(-1*var(--bs-spacer-2))!important}.my-xl-n3{margin-top:calc(-1*var(--bs-spacer-3))!important;margin-bottom:calc(-1*var(--bs-spacer-3))!important}.my-xl-n4{margin-top:calc(-1*var(--bs-spacer-4))!important;margin-bottom:calc(-1*var(--bs-spacer-4))!important}.my-xl-n5{margin-top:calc(-1*var(--bs-spacer-5))!important;margin-bottom:calc(-1*var(--bs-spacer-5))!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:var(--bs-spacer-1)!important}.mt-xl-2{margin-top:var(--bs-spacer-2)!important}.mt-xl-3{margin-top:var(--bs-spacer-3)!important}.mt-xl-4{margin-top:var(--bs-spacer-4)!important}.mt-xl-5{margin-top:var(--bs-spacer-5)!important}.mt-xl-auto{margin-top:auto!important}.mt-xl-n1{margin-top:calc(-1*var(--bs-spacer-1))!important}.mt-xl-n2{margin-top:calc(-1*var(--bs-spacer-2))!important}.mt-xl-n3{margin-top:calc(-1*var(--bs-spacer-3))!important}.mt-xl-n4{margin-top:calc(-1*var(--bs-spacer-4))!important}.mt-xl-n5{margin-top:calc(-1*var(--bs-spacer-5))!important}.me-xl-0{margin-left:0!important}.me-xl-1{margin-left:var(--bs-spacer-1)!important}.me-xl-2{margin-left:var(--bs-spacer-2)!important}.me-xl-3{margin-left:var(--bs-spacer-3)!important}.me-xl-4{margin-left:var(--bs-spacer-4)!important}.me-xl-5{margin-left:var(--bs-spacer-5)!important}.me-xl-auto{margin-left:auto!important}.me-xl-n1{margin-left:calc(-1*var(--bs-spacer-1))!important}.me-xl-n2{margin-left:calc(-1*var(--bs-spacer-2))!important}.me-xl-n3{margin-left:calc(-1*var(--bs-spacer-3))!important}.me-xl-n4{margin-left:calc(-1*var(--bs-spacer-4))!important}.me-xl-n5{margin-left:calc(-1*var(--bs-spacer-5))!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:var(--bs-spacer-1)!important}.mb-xl-2{margin-bottom:var(--bs-spacer-2)!important}.mb-xl-3{margin-bottom:var(--bs-spacer-3)!important}.mb-xl-4{margin-bottom:var(--bs-spacer-4)!important}.mb-xl-5{margin-bottom:var(--bs-spacer-5)!important}.mb-xl-auto{margin-bottom:auto!important}.mb-xl-n1{margin-bottom:calc(-1*var(--bs-spacer-1))!important}.mb-xl-n2{margin-bottom:calc(-1*var(--bs-spacer-2))!important}.mb-xl-n3{margin-bottom:calc(-1*var(--bs-spacer-3))!important}.mb-xl-n4{margin-bottom:calc(-1*var(--bs-spacer-4))!important}.mb-xl-n5{margin-bottom:calc(-1*var(--bs-spacer-5))!important}.ms-xl-0{margin-right:0!important}.ms-xl-1{margin-right:var(--bs-spacer-1)!important}.ms-xl-2{margin-right:var(--bs-spacer-2)!important}.ms-xl-3{margin-right:var(--bs-spacer-3)!important}.ms-xl-4{margin-right:var(--bs-spacer-4)!important}.ms-xl-5{margin-right:var(--bs-spacer-5)!important}.ms-xl-auto{margin-right:auto!important}.ms-xl-n1{margin-right:calc(-1*var(--bs-spacer-1))!important}.ms-xl-n2{margin-right:calc(-1*var(--bs-spacer-2))!important}.ms-xl-n3{margin-right:calc(-1*var(--bs-spacer-3))!important}.ms-xl-n4{margin-right:calc(-1*var(--bs-spacer-4))!important}.ms-xl-n5{margin-right:calc(-1*var(--bs-spacer-5))!important}.p-xl-0{padding:0!important}.p-xl-1{padding:var(--bs-spacer-1)!important}.p-xl-2{padding:var(--bs-spacer-2)!important}.p-xl-3{padding:var(--bs-spacer-3)!important}.p-xl-4{padding:var(--bs-spacer-4)!important}.p-xl-5{padding:var(--bs-spacer-5)!important}.px-xl-0{padding-left:0!important;padding-right:0!important}.px-xl-1{padding-left:var(--bs-spacer-1)!important;padding-right:var(--bs-spacer-1)!important}.px-xl-2{padding-left:var(--bs-spacer-2)!important;padding-right:var(--bs-spacer-2)!important}.px-xl-3{padding-left:var(--bs-spacer-3)!important;padding-right:var(--bs-spacer-3)!important}.px-xl-4{padding-left:var(--bs-spacer-4)!important;padding-right:var(--bs-spacer-4)!important}.px-xl-5{padding-left:var(--bs-spacer-5)!important;padding-right:var(--bs-spacer-5)!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:var(--bs-spacer-1)!important;padding-bottom:var(--bs-spacer-1)!important}.py-xl-2{padding-top:var(--bs-spacer-2)!important;padding-bottom:var(--bs-spacer-2)!important}.py-xl-3{padding-top:var(--bs-spacer-3)!important;padding-bottom:var(--bs-spacer-3)!important}.py-xl-4{padding-top:var(--bs-spacer-4)!important;padding-bottom:var(--bs-spacer-4)!important}.py-xl-5{padding-top:var(--bs-spacer-5)!important;padding-bottom:var(--bs-spacer-5)!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:var(--bs-spacer-1)!important}.pt-xl-2{padding-top:var(--bs-spacer-2)!important}.pt-xl-3{padding-top:var(--bs-spacer-3)!important}.pt-xl-4{padding-top:var(--bs-spacer-4)!important}.pt-xl-5{padding-top:var(--bs-spacer-5)!important}.pe-xl-0{padding-left:0!important}.pe-xl-1{padding-left:var(--bs-spacer-1)!important}.pe-xl-2{padding-left:var(--bs-spacer-2)!important}.pe-xl-3{padding-left:var(--bs-spacer-3)!important}.pe-xl-4{padding-left:var(--bs-spacer-4)!important}.pe-xl-5{padding-left:var(--bs-spacer-5)!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:var(--bs-spacer-1)!important}.pb-xl-2{padding-bottom:var(--bs-spacer-2)!important}.pb-xl-3{padding-bottom:var(--bs-spacer-3)!important}.pb-xl-4{padding-bottom:var(--bs-spacer-4)!important}.pb-xl-5{padding-bottom:var(--bs-spacer-5)!important}.ps-xl-0{padding-right:0!important}.ps-xl-1{padding-right:var(--bs-spacer-1)!important}.ps-xl-2{padding-right:var(--bs-spacer-2)!important}.ps-xl-3{padding-right:var(--bs-spacer-3)!important}.ps-xl-4{padding-right:var(--bs-spacer-4)!important}.ps-xl-5{padding-right:var(--bs-spacer-5)!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:var(--bs-spacer-1)!important}.gap-xl-2{gap:var(--bs-spacer-2)!important}.gap-xl-3{gap:var(--bs-spacer-3)!important}.gap-xl-4{gap:var(--bs-spacer-4)!important}.gap-xl-5{gap:var(--bs-spacer-5)!important}.row-gap-xl-0{gap:0!important}.row-gap-xl-1{row-gap:var(--bs-spacer-1)!important}.row-gap-xl-2{row-gap:var(--bs-spacer-2)!important}.row-gap-xl-3{row-gap:var(--bs-spacer-3)!important}.row-gap-xl-4{row-gap:var(--bs-spacer-4)!important}.row-gap-xl-5{row-gap:var(--bs-spacer-5)!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:var(--bs-spacer-1)!important;column-gap:var(--bs-spacer-1)!important}.column-gap-xl-2{-moz-column-gap:var(--bs-spacer-2)!important;column-gap:var(--bs-spacer-2)!important}.column-gap-xl-3{-moz-column-gap:var(--bs-spacer-3)!important;column-gap:var(--bs-spacer-3)!important}.column-gap-xl-4{-moz-column-gap:var(--bs-spacer-4)!important;column-gap:var(--bs-spacer-4)!important}.column-gap-xl-5{-moz-column-gap:var(--bs-spacer-5)!important;column-gap:var(--bs-spacer-5)!important}}@media (min-width:1400px){.m-xxl-0{margin:0!important}.m-xxl-1{margin:var(--bs-spacer-1)!important}.m-xxl-2{margin:var(--bs-spacer-2)!important}.m-xxl-3{margin:var(--bs-spacer-3)!important}.m-xxl-4{margin:var(--bs-spacer-4)!important}.m-xxl-5{margin:var(--bs-spacer-5)!important}.m-xxl-auto{margin:auto!important}.m-xxl-n1{margin:calc(-1*var(--bs-spacer-1))!important}.m-xxl-n2{margin:calc(-1*var(--bs-spacer-2))!important}.m-xxl-n3{margin:calc(-1*var(--bs-spacer-3))!important}.m-xxl-n4{margin:calc(-1*var(--bs-spacer-4))!important}.m-xxl-n5{margin:calc(-1*var(--bs-spacer-5))!important}.mx-xxl-0{margin-left:0!important;margin-right:0!important}.mx-xxl-1{margin-left:var(--bs-spacer-1)!important;margin-right:var(--bs-spacer-1)!important}.mx-xxl-2{margin-left:var(--bs-spacer-2)!important;margin-right:var(--bs-spacer-2)!important}.mx-xxl-3{margin-left:var(--bs-spacer-3)!important;margin-right:var(--bs-spacer-3)!important}.mx-xxl-4{margin-left:var(--bs-spacer-4)!important;margin-right:var(--bs-spacer-4)!important}.mx-xxl-5{margin-left:var(--bs-spacer-5)!important;margin-right:var(--bs-spacer-5)!important}.mx-xxl-auto{margin-left:auto!important;margin-right:auto!important}.mx-xxl-n1{margin-left:calc(-1*var(--bs-spacer-1))!important;margin-right:calc(-1*var(--bs-spacer-1))!important}.mx-xxl-n2{margin-left:calc(-1*var(--bs-spacer-2))!important;margin-right:calc(-1*var(--bs-spacer-2))!important}.mx-xxl-n3{margin-left:calc(-1*var(--bs-spacer-3))!important;margin-right:calc(-1*var(--bs-spacer-3))!important}.mx-xxl-n4{margin-left:calc(-1*var(--bs-spacer-4))!important;margin-right:calc(-1*var(--bs-spacer-4))!important}.mx-xxl-n5{margin-left:calc(-1*var(--bs-spacer-5))!important;margin-right:calc(-1*var(--bs-spacer-5))!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:var(--bs-spacer-1)!important;margin-bottom:var(--bs-spacer-1)!important}.my-xxl-2{margin-top:var(--bs-spacer-2)!important;margin-bottom:var(--bs-spacer-2)!important}.my-xxl-3{margin-top:var(--bs-spacer-3)!important;margin-bottom:var(--bs-spacer-3)!important}.my-xxl-4{margin-top:var(--bs-spacer-4)!important;margin-bottom:var(--bs-spacer-4)!important}.my-xxl-5{margin-top:var(--bs-spacer-5)!important;margin-bottom:var(--bs-spacer-5)!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.my-xxl-n1{margin-top:calc(-1*var(--bs-spacer-1))!important;margin-bottom:calc(-1*var(--bs-spacer-1))!important}.my-xxl-n2{margin-top:calc(-1*var(--bs-spacer-2))!important;margin-bottom:calc(-1*var(--bs-spacer-2))!important}.my-xxl-n3{margin-top:calc(-1*var(--bs-spacer-3))!important;margin-bottom:calc(-1*var(--bs-spacer-3))!important}.my-xxl-n4{margin-top:calc(-1*var(--bs-spacer-4))!important;margin-bottom:calc(-1*var(--bs-spacer-4))!important}.my-xxl-n5{margin-top:calc(-1*var(--bs-spacer-5))!important;margin-bottom:calc(-1*var(--bs-spacer-5))!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:var(--bs-spacer-1)!important}.mt-xxl-2{margin-top:var(--bs-spacer-2)!important}.mt-xxl-3{margin-top:var(--bs-spacer-3)!important}.mt-xxl-4{margin-top:var(--bs-spacer-4)!important}.mt-xxl-5{margin-top:var(--bs-spacer-5)!important}.mt-xxl-auto{margin-top:auto!important}.mt-xxl-n1{margin-top:calc(-1*var(--bs-spacer-1))!important}.mt-xxl-n2{margin-top:calc(-1*var(--bs-spacer-2))!important}.mt-xxl-n3{margin-top:calc(-1*var(--bs-spacer-3))!important}.mt-xxl-n4{margin-top:calc(-1*var(--bs-spacer-4))!important}.mt-xxl-n5{margin-top:calc(-1*var(--bs-spacer-5))!important}.me-xxl-0{margin-left:0!important}.me-xxl-1{margin-left:var(--bs-spacer-1)!important}.me-xxl-2{margin-left:var(--bs-spacer-2)!important}.me-xxl-3{margin-left:var(--bs-spacer-3)!important}.me-xxl-4{margin-left:var(--bs-spacer-4)!important}.me-xxl-5{margin-left:var(--bs-spacer-5)!important}.me-xxl-auto{margin-left:auto!important}.me-xxl-n1{margin-left:calc(-1*var(--bs-spacer-1))!important}.me-xxl-n2{margin-left:calc(-1*var(--bs-spacer-2))!important}.me-xxl-n3{margin-left:calc(-1*var(--bs-spacer-3))!important}.me-xxl-n4{margin-left:calc(-1*var(--bs-spacer-4))!important}.me-xxl-n5{margin-left:calc(-1*var(--bs-spacer-5))!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:var(--bs-spacer-1)!important}.mb-xxl-2{margin-bottom:var(--bs-spacer-2)!important}.mb-xxl-3{margin-bottom:var(--bs-spacer-3)!important}.mb-xxl-4{margin-bottom:var(--bs-spacer-4)!important}.mb-xxl-5{margin-bottom:var(--bs-spacer-5)!important}.mb-xxl-auto{margin-bottom:auto!important}.mb-xxl-n1{margin-bottom:calc(-1*var(--bs-spacer-1))!important}.mb-xxl-n2{margin-bottom:calc(-1*var(--bs-spacer-2))!important}.mb-xxl-n3{margin-bottom:calc(-1*var(--bs-spacer-3))!important}.mb-xxl-n4{margin-bottom:calc(-1*var(--bs-spacer-4))!important}.mb-xxl-n5{margin-bottom:calc(-1*var(--bs-spacer-5))!important}.ms-xxl-0{margin-right:0!important}.ms-xxl-1{margin-right:var(--bs-spacer-1)!important}.ms-xxl-2{margin-right:var(--bs-spacer-2)!important}.ms-xxl-3{margin-right:var(--bs-spacer-3)!important}.ms-xxl-4{margin-right:var(--bs-spacer-4)!important}.ms-xxl-5{margin-right:var(--bs-spacer-5)!important}.ms-xxl-auto{margin-right:auto!important}.ms-xxl-n1{margin-right:calc(-1*var(--bs-spacer-1))!important}.ms-xxl-n2{margin-right:calc(-1*var(--bs-spacer-2))!important}.ms-xxl-n3{margin-right:calc(-1*var(--bs-spacer-3))!important}.ms-xxl-n4{margin-right:calc(-1*var(--bs-spacer-4))!important}.ms-xxl-n5{margin-right:calc(-1*var(--bs-spacer-5))!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:var(--bs-spacer-1)!important}.p-xxl-2{padding:var(--bs-spacer-2)!important}.p-xxl-3{padding:var(--bs-spacer-3)!important}.p-xxl-4{padding:var(--bs-spacer-4)!important}.p-xxl-5{padding:var(--bs-spacer-5)!important}.px-xxl-0{padding-left:0!important;padding-right:0!important}.px-xxl-1{padding-left:var(--bs-spacer-1)!important;padding-right:var(--bs-spacer-1)!important}.px-xxl-2{padding-left:var(--bs-spacer-2)!important;padding-right:var(--bs-spacer-2)!important}.px-xxl-3{padding-left:var(--bs-spacer-3)!important;padding-right:var(--bs-spacer-3)!important}.px-xxl-4{padding-left:var(--bs-spacer-4)!important;padding-right:var(--bs-spacer-4)!important}.px-xxl-5{padding-left:var(--bs-spacer-5)!important;padding-right:var(--bs-spacer-5)!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:var(--bs-spacer-1)!important;padding-bottom:var(--bs-spacer-1)!important}.py-xxl-2{padding-top:var(--bs-spacer-2)!important;padding-bottom:var(--bs-spacer-2)!important}.py-xxl-3{padding-top:var(--bs-spacer-3)!important;padding-bottom:var(--bs-spacer-3)!important}.py-xxl-4{padding-top:var(--bs-spacer-4)!important;padding-bottom:var(--bs-spacer-4)!important}.py-xxl-5{padding-top:var(--bs-spacer-5)!important;padding-bottom:var(--bs-spacer-5)!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:var(--bs-spacer-1)!important}.pt-xxl-2{padding-top:var(--bs-spacer-2)!important}.pt-xxl-3{padding-top:var(--bs-spacer-3)!important}.pt-xxl-4{padding-top:var(--bs-spacer-4)!important}.pt-xxl-5{padding-top:var(--bs-spacer-5)!important}.pe-xxl-0{padding-left:0!important}.pe-xxl-1{padding-left:var(--bs-spacer-1)!important}.pe-xxl-2{padding-left:var(--bs-spacer-2)!important}.pe-xxl-3{padding-left:var(--bs-spacer-3)!important}.pe-xxl-4{padding-left:var(--bs-spacer-4)!important}.pe-xxl-5{padding-left:var(--bs-spacer-5)!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:var(--bs-spacer-1)!important}.pb-xxl-2{padding-bottom:var(--bs-spacer-2)!important}.pb-xxl-3{padding-bottom:var(--bs-spacer-3)!important}.pb-xxl-4{padding-bottom:var(--bs-spacer-4)!important}.pb-xxl-5{padding-bottom:var(--bs-spacer-5)!important}.ps-xxl-0{padding-right:0!important}.ps-xxl-1{padding-right:var(--bs-spacer-1)!important}.ps-xxl-2{padding-right:var(--bs-spacer-2)!important}.ps-xxl-3{padding-right:var(--bs-spacer-3)!important}.ps-xxl-4{padding-right:var(--bs-spacer-4)!important}.ps-xxl-5{padding-right:var(--bs-spacer-5)!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:var(--bs-spacer-1)!important}.gap-xxl-2{gap:var(--bs-spacer-2)!important}.gap-xxl-3{gap:var(--bs-spacer-3)!important}.gap-xxl-4{gap:var(--bs-spacer-4)!important}.gap-xxl-5{gap:var(--bs-spacer-5)!important}.row-gap-xxl-0{gap:0!important}.row-gap-xxl-1{row-gap:var(--bs-spacer-1)!important}.row-gap-xxl-2{row-gap:var(--bs-spacer-2)!important}.row-gap-xxl-3{row-gap:var(--bs-spacer-3)!important}.row-gap-xxl-4{row-gap:var(--bs-spacer-4)!important}.row-gap-xxl-5{row-gap:var(--bs-spacer-5)!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:var(--bs-spacer-1)!important;column-gap:var(--bs-spacer-1)!important}.column-gap-xxl-2{-moz-column-gap:var(--bs-spacer-2)!important;column-gap:var(--bs-spacer-2)!important}.column-gap-xxl-3{-moz-column-gap:var(--bs-spacer-3)!important;column-gap:var(--bs-spacer-3)!important}.column-gap-xxl-4{-moz-column-gap:var(--bs-spacer-4)!important;column-gap:var(--bs-spacer-4)!important}.column-gap-xxl-5{-moz-column-gap:var(--bs-spacer-5)!important;column-gap:var(--bs-spacer-5)!important}}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc((var(--bs-font-size-base) + .4875rem) + 1.5vw)!important}.fs-2{font-size:calc((var(--bs-font-size-base) + .4375rem) + .9vw)!important}.fs-3{font-size:calc((var(--bs-font-size-base) + .4rem) + .6vw)!important}.fs-4{font-size:calc((var(--bs-font-size-base) + .375rem) + .3vw)!important}.fs-5{font-size:1.125rem!important}.fs-6{font-size:.875rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:var(--bs-font-weight-lighter)!important}.fw-light{font-weight:var(--bs-font-weight-light)!important}.fw-normal{font-weight:var(--bs-font-weight-normal)!important}.fw-medium{font-weight:var(--bs-font-weight-medium)!important}.fw-semibold{font-weight:var(--bs-font-weight-semibold)!important}.fw-bold{font-weight:var(--bs-font-weight-bold)!important}.fw-bolder{font-weight:var(--bs-font-weight-bolder)!important}.lh-1{line-height:1!important}.lh-sm{line-height:var(--bs-line-height-sm)!important}.lh-base{line-height:var(--bs-line-height-base)!important}.lh-lg{line-height:var(--bs-line-height-lg)!important}.text-start{text-align:right!important}.text-end{text-align:left!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-start{text-align:right!important}.text-sm-end{text-align:left!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-start{text-align:right!important}.text-md-end{text-align:left!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-start{text-align:right!important}.text-lg-end{text-align:left!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-start{text-align:right!important}.text-xl-end{text-align:left!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.text-xxl-start{text-align:right!important}.text-xxl-end{text-align:left!important}.text-xxl-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}.antialiased{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.subpixel-antialiased{-webkit-font-smoothing:auto!important;-moz-osx-font-smoothing:auto!important}.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}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.z-sm-n1{z-index:-1!important}.z-sm-0{z-index:0!important}.z-sm-1{z-index:1!important}.z-sm-2{z-index:2!important}.z-sm-3{z-index:3!important}}@media (min-width:768px){.z-md-n1{z-index:-1!important}.z-md-0{z-index:0!important}.z-md-1{z-index:1!important}.z-md-2{z-index:2!important}.z-md-3{z-index:3!important}}@media (min-width:992px){.z-lg-n1{z-index:-1!important}.z-lg-0{z-index:0!important}.z-lg-1{z-index:1!important}.z-lg-2{z-index:2!important}.z-lg-3{z-index:3!important}}@media (min-width:1200px){.z-xl-n1{z-index:-1!important}.z-xl-0{z-index:0!important}.z-xl-1{z-index:1!important}.z-xl-2{z-index:2!important}.z-xl-3{z-index:3!important}}@media (min-width:1400px){.z-xxl-n1{z-index:-1!important}.z-xxl-0{z-index:0!important}.z-xxl-1{z-index:1!important}.z-xxl-2{z-index:2!important}.z-xxl-3{z-index:3!important}} +/*# sourceMappingURL=halfmoon.rtl.min.css.map */ \ No newline at end of file diff --git a/modules/analyze/html/external/halfmoon-ui/halfmoon.rtl.min.css.map b/modules/analyze/html/external/halfmoon-ui/halfmoon.rtl.min.css.map new file mode 100644 index 0000000..e003b96 --- /dev/null +++ b/modules/analyze/html/external/halfmoon-ui/halfmoon.rtl.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["css/halfmoon.rtl.css"],"names":[],"mappings":"AAAA,iB;;;;;;;;;;;;;;;;;;;;AAyhPA,gCACC,E,CACC,+BAwhDF,A,0BACC,E,CACC,0BAqBF,A,wBACC,E,CACC,kB,CAGD,G,CACC,S,CACA,gBAwyBF,A,4BACC,G,CACC,YAsBF,A,4BACC,E,CACC,4B,CACA,sBAv3TF,K,CACA,qB,CACC,qP,CACG,oP,CAEA,2O,CACA,0O,CAEA,0J,CACA,yJ,CAEA,2J,CACA,0J,CACA,kK,CAGJ,oB,CACI,kK,CASJ,K,CACA,qB,CAGC,wB,CACA,mC,CAIA,0B,CACA,mC,CAIA,oB,CACA,4B,CAEA,iB,CACA,wB,CAEA,gB,CACA,uB,CAEA,iB,CACA,uB,CAEA,oB,CACA,2B,CAEA,oB,CACA,0B,CAEA,iB,CACA,uB,CAEA,kB,CACA,0B,CAIA,wC,CACA,sD,CACA,qF,CACA,mF,CACA,qF,CACA,mF,CACA,qF,CACA,mF,CACA,mF,CACA,mF,CACA,mF,CACA,mD,CACA,mD,CACA,mD,CACA,mD,CACA,mD,CACA,mD,CACA,mD,CACA,mD,CACA,mD,CACA,8C,CACA,2C,CACA,0F,CACA,iE,CACA,4D,CACA,uE,CACA,+C,CACA,gD,CACA,4F,CACA,oD,CACA,uD,CACA,+C,CACA,iD,CACA,mD,CAIA,qC,CACA,mD,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,oC,CACA,iC,CACA,4C,CACA,uD,CACA,kD,CACA,6D,CACA,qC,CACA,sC,CACA,2E,CACA,0C,CACA,mD,CACA,2C,CACA,6C,CACA,+C,CAIA,qC,CACA,mD,CACA,gF,CACA,gF,CACA,gF,CACA,gF,CACA,gF,CACA,gF,CACA,gF,CACA,gF,CACA,kF,CACA,iD,CACA,iD,CACA,iD,CACA,iD,CACA,iD,CACA,iD,CACA,iD,CACA,iD,CACA,iD,CACA,4C,CACA,yC,CACA,gD,CACA,+D,CACA,0D,CACA,qE,CACA,6C,CACA,8C,CACA,uF,CACA,kD,CACA,uD,CACA,+C,CACA,iD,CACA,mD,CAIA,qC,CACA,mD,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,sC,CACA,mC,CACA,6C,CACA,yD,CACA,oD,CACA,+D,CACA,uC,CACA,wC,CACA,8E,CACA,4C,CACA,oD,CACA,4C,CACA,8C,CACA,gD,CAIA,c,CACA,yB,CACA,iE,CACA,iE,CACA,iE,CACA,iE,CACA,iE,CACA,iE,CACA,iE,CACA,iE,CACA,iE,CACA,uC,CACA,uC,CACA,uC,CACA,uC,CACA,uC,CACA,uC,CACA,uC,CACA,uC,CACA,uC,CACA,kC,CACA,+B,CACA,2C,CACA,qD,CACA,gD,CACA,2D,CACA,mC,CACA,oC,CACA,wE,CACA,wC,CACA,kD,CACA,0C,CACA,4C,CACA,8C,CAIA,kB,CACA,0B,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,sE,CACA,qC,CACA,8C,CACA,2D,CACA,sD,CACA,iE,CACA,yC,CACA,0C,CACA,iF,CACA,8C,CACA,qD,CACA,6C,CACA,+C,CACA,iD,CAIA,kB,CACA,0B,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,wC,CACA,qC,CACA,8C,CACA,2D,CACA,sD,CACA,iE,CACA,yC,CACA,0C,CACA,iF,CACA,8C,CACA,qD,CACA,6C,CACA,+C,CACA,iD,CAIA,iB,CACA,yB,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,sC,CACA,mC,CACA,iD,CACA,yD,CACA,oD,CACA,+D,CACA,uC,CACA,wC,CACA,8E,CACA,4C,CACA,mD,CACA,2C,CACA,6C,CACA,+C,CAIA,kB,CACA,0B,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,wC,CACA,qC,CACA,mD,CACA,2D,CACA,oF,CACA,iE,CACA,yC,CACA,0C,CACA,iF,CACA,8C,CACA,oD,CACA,4C,CACA,8C,CACA,gD,CAIA,gB,CACA,wB,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,oC,CACA,iC,CACA,+C,CACA,uD,CACA,gF,CACA,6D,CACA,qC,CACA,sC,CACA,2E,CACA,0C,CACA,kD,CACA,0C,CACA,4C,CACA,8C,CAIA,kB,CACA,yB,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,uE,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,mE,CACA,mC,CACA,6C,CACA,yD,CACA,oD,CACA,+D,CACA,uC,CACA,wC,CACA,8E,CACA,4C,CACA,oD,CACA,4C,CACA,8C,CACA,gD,CAIA,oB,CACA,2B,CACA,6E,CACA,6E,CACA,6E,CACA,6E,CACA,6E,CACA,6E,CACA,6E,CACA,6E,CACA,6E,CACA,+C,CACA,+C,CACA,+C,CACA,+C,CACA,+C,CACA,+C,CACA,+C,CACA,+C,CACA,+C,CACA,0C,CACA,uC,CACA,qD,CACA,6D,CACA,yF,CACA,mE,CACA,2C,CACA,4C,CACA,oF,CACA,gD,CACA,qD,CACA,6C,CACA,+C,CACA,iD,CAIA,sB,CACA,6B,CACA,mF,CACA,mF,CACA,mF,CACA,mF,CACA,mF,CACA,mF,CACA,mF,CACA,mF,CACA,mF,CACA,mD,CACA,mD,CACA,mD,CACA,mD,CACA,mD,CACA,mD,CACA,mD,CACA,mD,CACA,mD,CACA,+E,CACA,2C,CACA,iD,CACA,iE,CACA,4D,CACA,uE,CACA,+C,CACA,gD,CACA,0F,CACA,oD,CACA,wD,CACA,gD,CACA,kD,CACA,oD,CAIA,iB,CACA,wB,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,oC,CACA,iC,CACA,+C,CACA,uD,CACA,gF,CACA,6D,CACA,qC,CACA,sC,CACA,2E,CACA,0C,CACA,kD,CACA,0C,CACA,4C,CACA,8C,CAIA,iB,CACA,wB,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,oC,CACA,iC,CACA,+C,CACA,uD,CACA,kD,CACA,6D,CACA,qC,CACA,sC,CACA,2E,CACA,0C,CACA,kD,CACA,0C,CACA,4C,CACA,8C,CAIA,gB,CACA,wB,CACA,iE,CACA,iE,CACA,iE,CACA,iE,CACA,iE,CACA,iE,CACA,iE,CACA,iE,CACA,iE,CACA,uC,CACA,uC,CACA,uC,CACA,uC,CACA,uC,CACA,uC,CACA,uC,CACA,uC,CACA,uC,CACA,kC,CACA,+B,CACA,6C,CACA,qD,CACA,gD,CACA,2D,CACA,mC,CACA,oC,CACA,wE,CACA,wC,CACA,iD,CACA,yC,CACA,2C,CACA,6C,CAIA,iB,CACA,yB,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,oC,CACA,iC,CACA,4C,CACA,uD,CACA,kD,CACA,6D,CACA,qC,CACA,sC,CACA,2E,CACA,0C,CACA,mD,CACA,2C,CACA,6C,CACA,+C,CAIA,iB,CACA,wB,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,oC,CACA,iC,CACA,4C,CACA,uD,CACA,kD,CACA,6D,CACA,qC,CACA,sC,CACA,2E,CACA,0C,CACA,mD,CACA,2C,CACA,6C,CACA,+C,CAIA,mB,CACA,0B,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,wC,CACA,qC,CACA,8C,CACA,2D,CACA,sD,CACA,iE,CACA,yC,CACA,0C,CACA,iF,CACA,8C,CACA,qD,CACA,6C,CACA,+C,CACA,iD,CAIA,mB,CACA,0B,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,wC,CACA,qC,CACA,8C,CACA,2D,CACA,sD,CACA,iE,CACA,yC,CACA,0C,CACA,iF,CACA,8C,CACA,qD,CACA,6C,CACA,+C,CACA,iD,CAIA,mB,CACA,0B,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,0E,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,wC,CACA,qC,CACA,8C,CACA,2D,CACA,sD,CACA,iE,CACA,yC,CACA,0C,CACA,iF,CACA,8C,CACA,qD,CACA,6C,CACA,+C,CACA,iD,CAIA,oB,CACA,6B,CACA,6E,CACA,6E,CACA,6E,CACA,6E,CACA,6E,CACA,6E,CACA,6E,CACA,6E,CACA,6E,CACA,+C,CACA,+C,CACA,+C,CACA,+C,CACA,+C,CACA,+C,CACA,+C,CACA,+C,CACA,+C,CACA,0C,CACA,uC,CACA,+C,CACA,6D,CACA,wD,CACA,mE,CACA,2C,CACA,4C,CACA,oF,CACA,gD,CACA,sD,CACA,8C,CACA,gD,CACA,kD,CAIA,iB,CACA,wB,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,oE,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,oC,CACA,iC,CACA,4C,CACA,uD,CACA,kD,CACA,6D,CACA,qC,CACA,sC,CACA,2E,CACA,0C,CACA,mD,CACA,2C,CACA,6C,CACA,+C,CAIA,mC,CACA,iD,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,mC,CACA,mC,CACA,mC,CACA,mC,CACA,mC,CACA,mC,CACA,mC,CACA,mC,CACA,mC,CACA,mC,CACA,2B,CACA,yD,CACA,iD,CACA,+D,CACA,uD,CACA,6C,CACA,+C,CACA,+C,CACA,uD,CACA,qD,CACA,6C,CACA,+C,CACA,iD,CAIA,qC,CACA,mD,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,qC,CACA,qC,CACA,qC,CACA,qC,CACA,qC,CACA,qC,CACA,qC,CACA,qC,CACA,qC,CACA,qC,CACA,6B,CACA,2D,CACA,mD,CACA,iE,CACA,yD,CACA,+C,CACA,iD,CACA,iD,CACA,yD,CACA,uD,CACA,+C,CACA,iD,CACA,mD,CAIA,oC,CACA,kD,CACA,4C,CACA,4C,CACA,4C,CACA,4C,CACA,4C,CACA,4C,CACA,4C,CACA,4C,CACA,4C,CACA,oC,CACA,oC,CACA,oC,CACA,oC,CACA,oC,CACA,oC,CACA,oC,CACA,oC,CACA,oC,CACA,oC,CACA,4B,CACA,0D,CACA,kD,CACA,gE,CACA,wD,CACA,8C,CACA,gD,CACA,gD,CACA,wD,CACA,sD,CACA,8C,CACA,gD,CACA,kD,CAIA,gC,CACA,8C,CACA,wC,CACA,wC,CACA,wC,CACA,wC,CACA,wC,CACA,wC,CACA,wC,CACA,wC,CACA,wC,CACA,gC,CACA,gC,CACA,gC,CACA,gC,CACA,gC,CACA,gC,CACA,gC,CACA,gC,CACA,gC,CACA,gC,CACA,wB,CACA,sD,CACA,8C,CACA,4D,CACA,oD,CACA,0C,CACA,4C,CACA,4C,CACA,oD,CACA,kD,CACA,0C,CACA,4C,CACA,8C,CAIA,qC,CACA,mD,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,6C,CACA,qC,CACA,qC,CACA,qC,CACA,qC,CACA,qC,CACA,qC,CACA,qC,CACA,qC,CACA,qC,CACA,qC,CACA,6B,CACA,2D,CACA,mD,CACA,iE,CACA,yD,CACA,+C,CACA,iD,CACA,iD,CACA,yD,CACA,uD,CACA,+C,CACA,iD,CACA,mD,CAIA,iC,CACA,+C,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,yB,CACA,uD,CACA,+C,CACA,6D,CACA,qD,CACA,2C,CACA,6C,CACA,6C,CACA,qD,CACA,mD,CACA,2C,CACA,6C,CACA,+C,CAIA,sC,CACA,oD,CACA,8C,CACA,8C,CACA,8C,CACA,8C,CACA,8C,CACA,8C,CACA,8C,CACA,8C,CACA,8C,CACA,sC,CACA,sC,CACA,sC,CACA,sC,CACA,sC,CACA,sC,CACA,sC,CACA,sC,CACA,sC,CACA,sC,CACA,8B,CACA,4D,CACA,oD,CACA,kE,CACA,0D,CACA,gD,CACA,kD,CACA,kD,CACA,0D,CACA,wD,CACA,gD,CACA,kD,CACA,oD,CAIA,oC,CACA,kD,CACA,4C,CACA,4C,CACA,4C,CACA,4C,CACA,4C,CACA,4C,CACA,4C,CACA,4C,CACA,4C,CACA,oC,CACA,oC,CACA,oC,CACA,oC,CACA,oC,CACA,oC,CACA,oC,CACA,oC,CACA,oC,CACA,oC,CACA,4B,CACA,0D,CACA,kD,CACA,gE,CACA,wD,CACA,8C,CACA,gD,CACA,gD,CACA,wD,CACA,sD,CACA,8C,CACA,gD,CACA,kD,CAGD,oB,CAGC,4D,CACA,uE,CACA,0F,CACA,oD,CAIA,kD,CACA,6D,CACA,2E,CACA,0C,CAIA,0D,CACA,qE,CACA,yF,CACA,kD,CAIA,oD,CACA,+D,CACA,8E,CACA,4C,CAIA,2E,CACA,2D,CACA,gF,CACA,wC,CAIA,sD,CACA,iE,CACA,yF,CACA,8C,CAIA,sD,CACA,iE,CACA,yF,CACA,8C,CAIA,oD,CACA,+D,CACA,sF,CACA,4C,CAIA,sD,CACA,iE,CACA,yF,CACA,8C,CAIA,kD,CACA,6D,CACA,mF,CACA,0C,CAIA,oD,CACA,+D,CACA,sF,CACA,4C,CAIA,wD,CACA,mE,CACA,4F,CACA,gD,CAIA,4D,CACA,uE,CACA,kG,CACA,oD,CAIA,kD,CACA,6D,CACA,mF,CACA,0C,CAIA,kD,CACA,6D,CACA,mF,CACA,0C,CAIA,gD,CACA,2D,CACA,gF,CACA,wC,CAIA,kD,CACA,6D,CACA,mF,CACA,0C,CAIA,kD,CACA,6D,CACA,mF,CACA,0C,CAIA,sD,CACA,iE,CACA,yF,CACA,8C,CAIA,sD,CACA,iE,CACA,yF,CACA,8C,CAIA,sD,CACA,iE,CACA,yF,CACA,8C,CAIA,wD,CACA,mE,CACA,4F,CACA,gD,CAIA,kD,CACA,6D,CACA,mF,CACA,0C,CAIA,+D,CACA,uD,CACA,+C,CACA,uD,CAIA,yC,CACA,uD,CACA,iD,CACA,iD,CACA,iD,CACA,iD,CACA,iD,CACA,iD,CACA,iD,CACA,iD,CACA,iD,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,iC,CACA,+D,CACA,uD,CACA,qE,CACA,6D,CACA,mD,CACA,qD,CACA,qD,CACA,6D,CACA,2D,CACA,mD,CACA,qD,CACA,uD,CAIA,gE,CACA,wD,CACA,gD,CACA,wD,CAIA,4D,CACA,oD,CACA,4C,CACA,oD,CAIA,iE,CACA,yD,CACA,iD,CACA,yD,CAIA,6D,CACA,qD,CACA,6C,CACA,qD,CAIA,iC,CACA,+C,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,yB,CACA,uD,CACA,+C,CACA,6D,CACA,qD,CACA,2C,CACA,6C,CACA,6C,CACA,qD,CACA,mD,CACA,2C,CACA,6C,CACA,+C,CAIA,iC,CACA,+C,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,yC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,iC,CACA,yB,CACA,uD,CACA,+C,CACA,6D,CACA,qD,CACA,2C,CACA,6C,CACA,6C,CACA,qD,CACA,mD,CACA,2C,CACA,6C,CACA,+C,CASD,K,CACA,qB,CAGC,kB,CAIA,oN,CACA,8K,CACA,wG,CACA,+C,CAIA,4B,CACA,yB,CACA,sB,CACA,0C,CACA,0C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,2C,CACA,4C,CACA,2D,CACA,uD,CACA,0D,CACA,yD,CACA,0D,CACA,0C,CAIA,gC,CACA,0B,CACA,2B,CACA,2B,CACA,6B,CACA,yB,CACA,8B,CACA,kD,CACA,mD,CAIA,yB,CACA,wB,CACA,qB,CACA,gD,CACA,4B,CAIA,2C,CACA,0C,CAIA,gB,CACA,2C,CACA,0C,CACA,8B,CACA,0C,CACA,wC,CAIA,iC,CACA,+C,CACA,wE,CACA,6C,CACA,2C,CACA,qD,CACA,6E,CACA,uD,CACA,4E,CACA,qD,CACA,0B,CAIA,oC,CACA,uC,CACA,iD,CACA,iD,CACA,gD,CACA,+C,CACA,oG,CAIA,qB,CACA,0C,CACA,sD,CACA,sD,CACA,sD,CACA,sD,CACA,uB,CACA,yC,CACA,+C,CACA,6C,CACA,6D,CACA,2B,CACA,6B,CACA,4B,CACA,0B,CACA,2B,CACA,kD,CACA,6B,CAIA,qD,CACA,wD,CACA,gE,CACA,yD,CACA,4D,CAIA,6B,CACA,4B,CACA,+E,CAIA,yC,CACA,6C,CACA,8B,CACA,4D,CACA,6D,CACA,yD,CACA,oC,CAIA,uD,CACA,4B,CACA,kD,CACA,8B,CAIA,mF,CACA,mD,CACA,uB,CACA,2C,CACA,kD,CAIA,kC,CACA,yC,CACA,wC,CACA,0B,CACA,iD,CAIA,iC,CACA,iC,CACA,iC,CACA,kC,CACA,mC,CAIA,qB,CACA,wB,CACA,wB,CACA,4C,CAIA,+C,CACA,mD,CACA,yC,CACA,6C,CACA,qD,CACA,4B,CACA,2D,CACA,qE,CACA,qD,CACA,+D,CACA,iE,CACA,2G,CAIA,4B,CACA,6B,CACA,8C,CACA,mC,CACA,iC,CACA,iC,CACA,+C,CACA,sC,CACA,iC,CACA,kC,CACA,+C,CACA,sC,CACA,2E,CACA,8B,CACA,oD,CACA,8C,CACA,4C,CACA,4D,CACA,kD,CACA,+C,CACA,6C,CACA,6D,CACA,8B,CACA,oD,CACA,+C,CACA,+D,CAIA,oC,CACA,gC,CACA,gD,CACA,gD,CACA,oD,CACA,wD,CACA,gD,CACA,wD,CACA,kD,CACA,sE,CACA,qD,CACA,4D,CACA,sD,CACA,6D,CACA,oC,CACA,mD,CACA,oE,CACA,gE,CAIA,qC,CACA,8D,CACA,+D,CACA,iE,CACA,+B,CAIA,2C,CACA,4D,CACA,iC,CACA,iG,CACA,qC,CAGD,oB,CAGC,iB,CAIA,iC,CACA,+C,CACA,wE,CACA,6C,CACA,2C,CACA,qD,CACA,6E,CACA,uD,CACA,4E,CACA,qD,CACA,0B,CAIA,qE,CACA,uC,CACA,4E,CACA,iD,CACA,yE,CACA,+C,CACA,oG,CAIA,oC,CACA,8C,CACA,iF,CACA,6D,CAIA,oD,CACA,wD,CACA,gE,CACA,yD,CACA,4D,CAIA,uD,CACA,6C,CACA,+C,CACA,yD,CAIA,4B,CACA,iD,CAIA,uB,CACA,6C,CAIA,yC,CACA,2B,CAIA,+C,CACA,mD,CACA,6C,CACA,6C,CACA,qD,CACA,4B,CACA,2D,CACA,qE,CACA,mF,CACA,+D,CACA,iE,CACA,0G,CAIA,2E,CACA,kC,CACA,oD,CACA,8C,CACA,wC,CACA,4D,CACA,kD,CACA,+C,CACA,yC,CACA,6D,CACA,8B,CACA,oD,CACA,2C,CACA,+D,CAIA,oC,CACA,gC,CACA,gD,CACA,gD,CACA,oD,CACA,wD,CACA,gD,CACA,wD,CACA,kD,CACA,sE,CACA,qD,CACA,4D,CACA,sD,CACA,6D,CACA,oC,CACA,mD,CACA,oE,CACA,gE,CAIA,qD,CACA,8D,CACA,+D,CACA,iE,CACA,gC,CAIA,qC,CACA,yD,CACA,sD,CACA,kC,CACA,sC,CASD,C,CAEA,O,CADA,Q,CAEC,qB,CAGD,I,CACC,Q,CACA,sC,CACA,kC,CACA,sC,CACA,sC,CACA,0B,CACA,oC,CACA,kC,CACA,2D,CACA,6D,CACA,6B,CACA,yC,CAGD,E,CACC,a,CACA,a,CACA,Q,CACA,uC,CACA,W,CAQG,G,CADA,G,CADA,G,CADA,G,CADA,G,CADA,G,CAKJ,E,CADA,E,CADA,E,CADA,E,CADA,E,CADA,E,CAMC,Y,CACA,mB,CACA,yC,CACA,yC,CACA,6B,CAGG,G,CAAJ,E,CACC,6D,CAGD,0BACK,G,CAAJ,E,CACC,kCAIE,G,CAAJ,E,CACC,4D,CAGD,0BACK,G,CAAJ,E,CACC,kCAIE,G,CAAJ,E,CACC,yD,CAGD,0BACK,G,CAAJ,E,CACC,kCAIE,G,CAAJ,E,CACC,2D,CAGD,0BACK,G,CAAJ,E,CACC,kCAIE,G,CAAJ,E,CACC,gC,CAGG,G,CAAJ,E,CACC,gC,CAGD,C,CACC,Y,CAID,W,CACC,wC,CACA,gC,CACA,W,CACA,qC,CACA,6B,CAGD,a,CACC,sD,CAGD,O,CAEC,iB,CACA,mB,CAGD,E,CACA,E,CACC,kB,CARD,O,CAaA,E,CAFA,E,CA5BA,C,CA6BA,E,CAGC,kB,CAFD,E,CAFA,E,CACA,E,CAEC,Y,CAID,K,CAEA,K,CACA,K,CAFA,K,CAGC,e,CAGD,E,CACC,sC,CAGD,E,CACC,mB,CACA,c,CAGD,U,CA8GA,M,CA7GC,e,CAGD,C,CACA,M,CACC,wC,CAGM,M,CAAP,K,CACC,yC,CAGK,K,CAAN,I,CACC,mC,CACA,+B,CACA,uC,CACA,+C,CAGD,G,CACA,G,CACC,iB,CACA,yC,CACA,a,CACA,uB,CAGD,G,CACC,gD,CAGD,G,CACC,6C,CAGD,C,CACC,8D,CACA,yC,CACA,sD,CACA,2B,CACA,4B,CAGD,O,CACC,kD,CACA,oD,CAGD,MAAM,M,MAAY,Q,CAAU,MAAM,M,MAAY,c,CAC7C,a,CACA,oB,CAID,I,CACA,G,CAFA,G,CAGA,I,CACC,oC,CACA,a,CAGD,G,CACC,a,CACA,Y,CACA,kB,CACA,a,CACA,yC,CAGD,Q,CACC,S,CACA,iB,CAEA,4B,CACA,e,CACA,iB,CACA,gB,CAGD,I,CAeA,G,CAMC,2B,CACA,4B,CAtBD,I,CACC,8B,CACA,kC,CACA,0B,CACA,kC,CACA,0C,CACA,oB,CAKD,M,CArBA,Q,CAsBC,a,CAGD,G,CACC,6B,CACA,iC,CACA,yB,CACA,iC,CACA,yC,CAKD,O,CACC,S,CACA,a,CAOD,G,CACA,G,CACC,qB,CAGD,K,CACC,mB,CACA,wB,CAGD,O,CACC,iB,CACA,oB,CACA,+B,CACA,gB,CAGD,E,CACC,kB,CACA,+B,CAID,K,CAGA,E,CAFA,K,CAPA,E,CAKA,K,CAGA,E,CAGC,oB,CACA,kB,CACA,c,CAGD,K,CAyIA,M,CAxIC,oB,CAGD,M,CACC,e,CAGD,iBAAiB,e,CAChB,S,CAID,M,CADA,K,CAGA,Q,CADA,M,CAEA,Q,CACC,Q,CACA,mB,CACA,iB,CACA,mB,CAGD,M,CACA,M,CACC,mB,CAGD,a,CACC,c,CAGD,M,CACC,gB,CAGD,e,CACC,S,CAGD,WAAW,W,MAAiB,qB,MAA2B,Y,MAAkB,W,MAAiB,+C,CACzF,sB,CAID,a,CACA,Y,CACA,a,CAHA,M,CAIC,yB,CA4lED,wBAAwB,S,MAAe,W,CA/KvC,6BAA6B,S,MAAe,W,CAz6D5C,kBAAkB,U,CAClB,iBAAiB,U,CACjB,kBAAkB,U,CAHlB,WAAW,U,CAIV,c,CAGD,kB,CACC,S,CACA,iB,CAGD,Q,CACC,e,CAGD,Q,CACC,W,CACA,S,CACA,Q,CACA,Q,CAGD,M,CACC,W,CACA,U,CACA,S,CACA,mB,CACA,2D,CACA,mB,CAGD,0BACC,M,CACC,kDAIF,Q,CACC,W,CAOD,iC,CAJA,sC,CAGA,kC,CADA,8B,CAGA,mC,CAJA,4B,CAKA,kC,CACC,S,CAGD,2B,CACC,W,CAGD,a,CACC,mB,CACA,4B,CAKD,Y,CACA,a,CAHA,U,CACA,U,CAGC,a,CAGD,2B,CACC,uB,CAGD,8B,CACC,S,CAGD,4B,CACC,Y,CACA,yB,CAGD,sB,CACC,Y,CACA,yB,CAOD,M,CACC,Q,CAGD,O,CACC,iB,CACA,c,CAGD,Q,CACC,uB,CAGD,Q,CACC,sB,CASD,K,CACC,iD,CAGD,U,CACA,U,CACA,U,CACA,U,CACA,U,CACA,U,CACC,sC,CACA,e,CAGD,U,CACC,0D,CAGD,0BACC,U,CACC,qDAIF,U,CACC,2D,CAGD,0BACC,U,CACC,qDAIF,U,CACC,0D,CAGD,0BACC,U,CACC,qDAIF,U,CACC,2D,CAGD,0BACC,U,CACC,qDAIF,U,CACC,0D,CAGD,0BACC,U,CACC,qDAIF,U,CACC,2D,CAGD,0BACC,U,CACC,qDASF,Y,CALA,c,CACC,e,CACA,e,CAQD,iB,CACC,oB,CAGD,sBAAsB,Y,CACrB,iB,CAGD,W,CACC,yC,CACA,wB,CAGD,W,CACC,kB,CACA,iD,CAGD,uB,CACC,e,CAGD,kB,CACC,gB,CACA,kB,CACA,yC,CACA,+B,CAGD,0B,CACC,Y,CASD,U,CAKA,c,CAJC,c,CACA,W,CAGD,c,CACC,c,CACA,kC,CACA,0D,CACA,qC,CAWD,O,CACC,oB,CAGD,W,CACC,mB,CACA,a,CAGD,e,CACC,yC,CACA,+B,CASD,U,CACA,gB,CAGA,a,CACA,a,CACA,a,CAHA,a,CADA,c,CAKC,gC,CACA,e,CACA,U,CACA,wC,CACA,yC,CACA,gB,CACA,iB,CAGD,yBACgB,U,CAAf,a,CACC,4CAIF,A,yBAC+B,U,CAA9B,a,CAAe,a,CACd,4CAIF,A,yBAC8C,U,CAA7C,a,CAAe,a,CAAe,a,CAC7B,4CAIF,A,0BAC6D,U,CAA7C,a,CAAe,a,CAAe,a,CAA7C,a,CACC,4CAIF,A,0BAC6E,U,CAA7C,a,CAAe,a,CAAe,a,CAA7C,a,CAAhB,c,CACC,6CAIF,K,CACC,oB,CACA,wB,CACA,wB,CACA,wB,CACA,yB,CACA,0B,CAGD,I,CACC,gC,CACA,e,CACA,Y,CACA,c,CACA,sC,CACA,wC,CACA,yC,CAGD,M,CACC,a,CACA,U,CACA,c,CACA,wC,CACA,yC,CACA,6B,CAGD,I,CACC,W,CAGD,gB,CACC,a,CACA,U,CAGD,a,CACC,a,CACA,U,CAGD,a,CACC,a,CACA,S,CAGD,a,CACC,a,CACA,oB,CAGD,a,CACC,a,CACA,S,CAGD,a,CACC,a,CACA,S,CAQD,S,CALA,a,CACC,a,CACA,oB,CAGD,S,CAEC,U,CAGD,M,CAKA,M,CAJC,a,CACA,iB,CAGD,M,CAEC,kB,CAGD,M,CAKA,M,CAJC,a,CACA,S,CAGD,M,CAEC,kB,CAGD,M,CAKA,M,CAJC,a,CACA,kB,CAGD,M,CAEC,S,CAGD,M,CAKA,M,CAJC,a,CACA,kB,CAGD,M,CAEC,kB,CAQD,O,CALA,M,CACC,a,CACA,S,CAGD,O,CAEC,kB,CAGD,O,CAKA,O,CAJC,a,CACA,kB,CAGD,O,CAEC,U,CAGD,S,CACC,wB,CAGD,S,CACC,yB,CAGD,S,CACC,gB,CAGD,S,CACC,yB,CAGD,S,CACC,yB,CAGD,S,CACC,gB,CAGD,S,CACC,yB,CAGD,S,CACC,yB,CAGD,S,CACC,gB,CAGD,U,CACC,yB,CAGD,U,CACC,yB,CAGD,I,CACA,K,CACC,e,CAGD,I,CACA,K,CACC,e,CAGD,I,CACA,K,CACC,gC,CAGD,I,CACA,K,CACC,gC,CAGD,I,CACA,K,CACC,gC,CAGD,I,CACA,K,CACC,gC,CAGD,I,CACA,K,CACC,gC,CAGD,I,CACA,K,CACC,gC,CAGD,I,CACA,K,CACC,gC,CAGD,I,CACA,K,CACC,gC,CAGD,I,CACA,K,CACC,gC,CAGD,I,CACA,K,CACC,gC,CAGD,yBACC,O,CACC,W,CAGD,mB,CACC,a,CACA,U,CAGD,gB,CACC,a,CACA,U,CAGD,gB,CACC,a,CACA,S,CAGD,gB,CACC,a,CACA,oB,CAGD,gB,CACC,a,CACA,S,CAGD,gB,CACC,a,CACA,S,CAQD,Y,CALA,gB,CACC,a,CACA,oB,CAGD,Y,CAEC,U,CAGD,S,CAKA,S,CAJC,a,CACA,iB,CAGD,S,CAEC,kB,CAGD,S,CAKA,S,CAJC,a,CACA,S,CAGD,S,CAEC,kB,CAGD,S,CAKA,S,CAJC,a,CACA,kB,CAGD,S,CAEC,S,CAGD,S,CAKA,S,CAJC,a,CACA,kB,CAGD,S,CAEC,kB,CAQD,U,CALA,S,CACC,a,CACA,S,CAGD,U,CAEC,kB,CAGD,U,CAKA,U,CAJC,a,CACA,kB,CAGD,U,CAEC,U,CAGD,Y,CACC,c,CAGD,Y,CACC,wB,CAGD,Y,CACC,yB,CAGD,Y,CACC,gB,CAGD,Y,CACC,yB,CAGD,Y,CACC,yB,CAGD,Y,CACC,gB,CAGD,Y,CACC,yB,CAGD,Y,CACC,yB,CAGD,Y,CACC,gB,CAGD,a,CACC,yB,CAGD,a,CACC,yB,CAGD,O,CACA,Q,CACC,e,CAGD,O,CACA,Q,CACC,e,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,kCAIF,A,yBACC,O,CACC,W,CAGD,mB,CACC,a,CACA,U,CAGD,gB,CACC,a,CACA,U,CAGD,gB,CACC,a,CACA,S,CAGD,gB,CACC,a,CACA,oB,CAGD,gB,CACC,a,CACA,S,CAGD,gB,CACC,a,CACA,S,CAQD,Y,CALA,gB,CACC,a,CACA,oB,CAGD,Y,CAEC,U,CAGD,S,CAKA,S,CAJC,a,CACA,iB,CAGD,S,CAEC,kB,CAGD,S,CAKA,S,CAJC,a,CACA,S,CAGD,S,CAEC,kB,CAGD,S,CAKA,S,CAJC,a,CACA,kB,CAGD,S,CAEC,S,CAGD,S,CAKA,S,CAJC,a,CACA,kB,CAGD,S,CAEC,kB,CAQD,U,CALA,S,CACC,a,CACA,S,CAGD,U,CAEC,kB,CAGD,U,CAKA,U,CAJC,a,CACA,kB,CAGD,U,CAEC,U,CAGD,Y,CACC,c,CAGD,Y,CACC,wB,CAGD,Y,CACC,yB,CAGD,Y,CACC,gB,CAGD,Y,CACC,yB,CAGD,Y,CACC,yB,CAGD,Y,CACC,gB,CAGD,Y,CACC,yB,CAGD,Y,CACC,yB,CAGD,Y,CACC,gB,CAGD,a,CACC,yB,CAGD,a,CACC,yB,CAGD,O,CACA,Q,CACC,e,CAGD,O,CACA,Q,CACC,e,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,kCAIF,A,yBACC,O,CACC,W,CAGD,mB,CACC,a,CACA,U,CAGD,gB,CACC,a,CACA,U,CAGD,gB,CACC,a,CACA,S,CAGD,gB,CACC,a,CACA,oB,CAGD,gB,CACC,a,CACA,S,CAGD,gB,CACC,a,CACA,S,CAQD,Y,CALA,gB,CACC,a,CACA,oB,CAGD,Y,CAEC,U,CAGD,S,CAKA,S,CAJC,a,CACA,iB,CAGD,S,CAEC,kB,CAGD,S,CAKA,S,CAJC,a,CACA,S,CAGD,S,CAEC,kB,CAGD,S,CAKA,S,CAJC,a,CACA,kB,CAGD,S,CAEC,S,CAGD,S,CAKA,S,CAJC,a,CACA,kB,CAGD,S,CAEC,kB,CAQD,U,CALA,S,CACC,a,CACA,S,CAGD,U,CAEC,kB,CAGD,U,CAKA,U,CAJC,a,CACA,kB,CAGD,U,CAEC,U,CAGD,Y,CACC,c,CAGD,Y,CACC,wB,CAGD,Y,CACC,yB,CAGD,Y,CACC,gB,CAGD,Y,CACC,yB,CAGD,Y,CACC,yB,CAGD,Y,CACC,gB,CAGD,Y,CACC,yB,CAGD,Y,CACC,yB,CAGD,Y,CACC,gB,CAGD,a,CACC,yB,CAGD,a,CACC,yB,CAGD,O,CACA,Q,CACC,e,CAGD,O,CACA,Q,CACC,e,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,kCAIF,A,0BACC,O,CACC,W,CAGD,mB,CACC,a,CACA,U,CAGD,gB,CACC,a,CACA,U,CAGD,gB,CACC,a,CACA,S,CAGD,gB,CACC,a,CACA,oB,CAGD,gB,CACC,a,CACA,S,CAGD,gB,CACC,a,CACA,S,CAQD,Y,CALA,gB,CACC,a,CACA,oB,CAGD,Y,CAEC,U,CAGD,S,CAKA,S,CAJC,a,CACA,iB,CAGD,S,CAEC,kB,CAGD,S,CAKA,S,CAJC,a,CACA,S,CAGD,S,CAEC,kB,CAGD,S,CAKA,S,CAJC,a,CACA,kB,CAGD,S,CAEC,S,CAGD,S,CAKA,S,CAJC,a,CACA,kB,CAGD,S,CAEC,kB,CAQD,U,CALA,S,CACC,a,CACA,S,CAGD,U,CAEC,kB,CAGD,U,CAKA,U,CAJC,a,CACA,kB,CAGD,U,CAEC,U,CAGD,Y,CACC,c,CAGD,Y,CACC,wB,CAGD,Y,CACC,yB,CAGD,Y,CACC,gB,CAGD,Y,CACC,yB,CAGD,Y,CACC,yB,CAGD,Y,CACC,gB,CAGD,Y,CACC,yB,CAGD,Y,CACC,yB,CAGD,Y,CACC,gB,CAGD,a,CACC,yB,CAGD,a,CACC,yB,CAGD,O,CACA,Q,CACC,e,CAGD,O,CACA,Q,CACC,e,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,gC,CAGD,O,CACA,Q,CACC,kCAIF,A,0BACC,Q,CACC,W,CAGD,oB,CACC,a,CACA,U,CAGD,iB,CACC,a,CACA,U,CAGD,iB,CACC,a,CACA,S,CAGD,iB,CACC,a,CACA,oB,CAGD,iB,CACC,a,CACA,S,CAGD,iB,CACC,a,CACA,S,CAGD,iB,CACC,a,CACA,oB,CAGD,a,CACC,a,CACA,U,CAGD,U,CAKA,U,CAJC,a,CACA,iB,CAGD,U,CAEC,kB,CAGD,U,CAKA,U,CAJC,a,CACA,S,CAGD,U,CAEC,kB,CAGD,U,CAKA,U,CAJC,a,CACA,kB,CAGD,U,CAEC,S,CAGD,U,CAKA,U,CAJC,a,CACA,kB,CAGD,U,CAEC,kB,CAQD,W,CALA,U,CACC,a,CACA,S,CAGD,W,CAEC,kB,CAGD,W,CAKA,W,CAJC,a,CACA,kB,CAGD,W,CAEC,U,CAGD,a,CACC,c,CAGD,a,CACC,wB,CAGD,a,CACC,yB,CAGD,a,CACC,gB,CAGD,a,CACC,yB,CAGD,a,CACC,yB,CAGD,a,CACC,gB,CAGD,a,CACC,yB,CAGD,a,CACC,yB,CAGD,a,CACC,gB,CAGD,c,CACC,yB,CAGD,c,CACC,yB,CAGD,Q,CACA,S,CACC,e,CAGD,Q,CACA,S,CACC,e,CAGD,Q,CACA,S,CACC,gC,CAGD,Q,CACA,S,CACC,gC,CAGD,Q,CACA,S,CACC,gC,CAGD,Q,CACA,S,CACC,gC,CAGD,Q,CACA,S,CACC,gC,CAGD,Q,CACA,S,CACC,gC,CAGD,Q,CACA,S,CACC,gC,CAGD,Q,CACA,S,CACC,gC,CAGD,Q,CACA,S,CACC,gC,CAGD,Q,CACA,S,CACC,kCAUF,M,CACC,6B,CACE,0B,CACA,8B,CACA,2B,CACF,qC,CACA,yB,CACA,8C,CACA,gC,CACA,8C,CACA,qD,CACA,6C,CACA,oD,CACA,4C,CACA,mD,CACA,U,CACA,kB,CACA,kB,CACA,yC,CAGD,2B,CACC,sD,CACA,qD,CACA,mD,CAGD,YAAc,Y,CACb,qB,CACA,oF,CACA,mC,CACA,0C,CACA,0G,CAGD,Y,CACC,sB,CAGD,Y,CACC,qB,CAGD,oB,CACC,sD,CAGD,Y,CACC,gB,CAGD,eAAiB,Y,CAChB,sB,CAGD,qBAAuB,U,CACtB,oC,CAGD,qBAAuB,Y,CACtB,qC,CAGD,uBAAyB,Y,CACxB,qB,CAGD,uBAAyB,a,CACxB,kB,CAGD,0C,CACC,mD,CACA,6C,CAGD,4BAA8B,4B,CAC7B,mD,CACA,6C,CAGD,a,CACC,mD,CACA,6C,CAGD,6B,CACC,kD,CACA,4C,CAKD,c,CAgBA,gB,CACC,qC,CAEA,8C,CACA,8C,CAEA,6C,CAEA,4C,CAEA,2B,CACA,yC,CA3BD,c,CAEC,gD,CAGA,uD,CAEA,sD,CAEA,oD,CAOD,gB,CAEC,kD,CAGA,yD,CAEA,wD,CAEA,sD,CAOD,c,CAEC,gD,CAGA,uD,CAEA,sD,CAEA,oD,CAOD,W,CAhBA,c,CAgCA,c,CACC,qC,CAEA,8C,CACA,8C,CAEA,6C,CAEA,4C,CAEA,2B,CACA,yC,CA3BD,W,CAEC,6C,CAGA,oD,CAEA,mD,CAEA,iD,CAOD,c,CAEC,gD,CAGA,uD,CAEA,sD,CAEA,oD,CAOD,a,CAEC,+C,CAGA,sD,CAEA,qD,CAEA,mD,CATD,a,CAgCA,W,CAhBA,Y,CAiBC,qC,CAEA,8C,CACA,8C,CAEA,6C,CAEA,4C,CAEA,2B,CACA,yC,CA3BD,Y,CAEC,8C,CAGA,qD,CAEA,oD,CAEA,kD,CAOD,W,CAEC,6C,CAGA,oD,CAEA,mD,CAEA,iD,CAOD,iB,CACC,e,CACA,gC,CAGD,4BACC,oB,CACC,e,CACA,kCAIF,A,4BACC,oB,CACC,e,CACA,kCAIF,A,4BACC,oB,CACC,e,CACA,kCAIF,A,6BACC,oB,CACC,e,CACA,kCAIF,A,6BACC,qB,CACC,e,CACA,kCAUF,W,CACC,mB,CAGD,e,CACC,qE,CACA,wE,CACA,e,CACA,oC,CACA,wC,CAGD,kB,CACC,wE,CACA,2E,CACA,uC,CACA,2C,CAGD,kB,CACC,wE,CACA,2E,CACA,uC,CACA,2C,CAGD,U,CACC,iB,CACA,gC,CACA,+B,CAKD,a,CACC,a,CACA,U,CACA,6D,CACA,oC,CACA,wC,CACA,wC,CACA,0B,CACA,kC,CACA,2B,CACA,+D,CACA,uB,CACA,oB,CACA,e,CACA,qC,CAGD,uCACC,a,CACC,iBAIF,wB,CACC,e,CAOD,mB,CACC,0B,CACA,kC,CACA,8C,CACA,S,CACA,qF,CAGD,0C,CACC,mB,CACA,Y,CACA,Q,CAGD,oC,CACC,a,CACA,S,CAGD,+B,CACC,8B,CACA,S,CAGD,0B,CACC,8B,CACA,S,CAGD,sB,CACC,mC,CACA,2C,CACA,iD,CACA,S,CAGD,yC,CACC,6D,CACA,8E,CACA,6C,CACA,4C,CACA,0B,CACA,4C,CACA,mB,CACA,oB,CACA,kB,CACA,c,CACA,8C,CACA,e,CAGD,mC,CACC,6D,CACA,8E,CACA,6C,CACA,4C,CACA,0B,CACA,4C,CACA,mB,CACA,oB,CACA,kB,CACA,c,CACA,8C,CACA,e,CAGD,uCACC,yC,CACC,uB,CACA,e,CAGD,mC,CACC,iBAIF,A,wBAAwB,S,MAAe,uC,CACtC,2C,CAGD,wBAAwB,S,MAAe,iC,CACtC,2C,CAGD,uB,CACC,a,CACA,U,CACA,mC,CACA,e,CACA,wC,CACA,0B,CACA,4B,CACA,wB,CACA,oC,CAGD,6B,CACC,S,CAID,uC,CADA,uC,CAEC,c,CACA,e,CAGD,gB,CACC,2I,CACA,mE,CACA,uC,CACA,2C,CACA,wC,CAGD,4C,CACC,mE,CACA,oF,CACA,gD,CACA,+C,CAGD,sC,CACC,mE,CACA,oF,CACA,gD,CACA,+C,CAGD,gB,CACC,2I,CACA,mE,CACA,uC,CACA,2C,CACA,wC,CAGD,4C,CACC,mE,CACA,oF,CACA,gD,CACA,+C,CAGD,sC,CACC,mE,CACA,oF,CACA,gD,CACA,+C,CAGD,qB,CACC,kI,CAID,qC,CADA,wB,CAEC,2I,CAID,qC,CADA,wB,CAEC,2I,CAGD,mB,CACC,U,CACA,0E,CACA,e,CAOD,sC,CACC,kB,CACA,qC,CAGD,yC,CACC,kB,CACA,qC,CAGD,mC,CACC,6E,CAGD,mC,CACC,6E,CAKD,Y,CACC,uP,CACA,a,CACA,U,CACA,6F,CACA,oC,CACA,wC,CACA,wC,CACA,0B,CACA,kC,CACA,iF,CACA,2B,CACA,0D,CACA,2B,CACA,+D,CACA,qC,CACA,uB,CACA,oB,CACA,e,CAGD,uCACC,Y,CACC,iBAIF,kB,CACC,8C,CACA,S,CACA,qF,CAGD,sB,CACA,uBAAuB,W,CACtB,uC,CACA,qB,CAGD,qB,CACC,mC,CACA,2C,CACA,iD,CAGD,2B,CACC,iB,CACA,sC,CAGD,e,CACC,yC,CACA,4C,CACA,2C,CACA,uC,CACA,2C,CACA,wC,CAGD,e,CACC,yC,CACA,4C,CACA,2C,CACA,uC,CACA,2C,CACA,wC,CAGD,iC,CACC,uP,CAGD,sB,CACC,e,CAKD,W,CACC,a,CACA,iB,CACA,mB,CACA,qB,CAGD,6B,CACC,W,CACA,mB,CAGD,mB,CACC,kB,CACA,e,CACA,e,CAGD,qC,CACC,U,CACA,kB,CACA,c,CAGD,iB,CACC,a,CACA,S,CACA,U,CACA,2C,CACA,kB,CACA,wC,CACA,8C,CACA,2B,CACA,0B,CACA,uB,CACA,qE,CACA,uB,CACA,oB,CACA,e,CACA,gC,CACA,kB,CACA,wB,CAGD,gC,CACC,8C,CAGD,6B,CACC,iB,CAGD,wB,CACC,sB,CAGD,uB,CACC,oD,CACA,S,CACA,2F,CAGD,yB,CACC,kC,CACA,8B,CAGD,wC,CACC,uD,CAGD,qC,CACC,oD,CAGD,8C,CACC,kC,CACA,8B,CACA,mD,CAGD,0B,CACC,mB,CACA,W,CACA,U,CAID,4C,CADA,6C,CAEC,c,CACA,U,CAGD,Y,CACC,mB,CAGD,8B,CACC,kD,CACA,S,CACA,mB,CACA,yC,CACA,gC,CACA,iB,CACA,+C,CAGD,uCACC,8B,CACC,iBAIF,oC,CACC,kD,CAGD,sC,CACC,+B,CACA,gD,CAGD,+B,CACC,kB,CACA,e,CAGD,iD,CACC,kB,CACA,c,CAGD,kB,CACC,oB,CACA,gB,CAGD,U,CACC,iB,CACA,kB,CACA,mB,CAID,wB,CADA,yB,CAEC,mB,CACA,W,CACA,W,CAKD,W,CACC,U,CACA,e,CACA,S,CACA,4B,CACA,uB,CACA,oB,CACA,e,CAGD,iB,CACC,S,CAGD,uC,CACC,4C,CACA,mE,CAGD,mC,CACC,4C,CACA,mE,CAGD,6B,CACC,Q,CAGD,iC,CACC,c,CACA,e,CACA,mB,CACA,wC,CACA,uE,CACA,iB,CACA,uB,CACA,e,CACA,qB,CACA,c,CAGD,uCACC,iC,CACC,uB,CACA,iBAIF,0C,CACC,U,CACA,Y,CACA,iB,CACA,qB,CACA,c,CACA,uC,CACA,oE,CACA,kB,CAGD,6B,CACC,c,CACA,e,CACA,wC,CACA,uE,CACA,iB,CACA,oB,CACA,e,CACA,qB,CACA,c,CAGD,uCACC,6B,CACC,oB,CACA,iBAIF,6B,CACC,U,CACA,Y,CACA,iB,CACA,qB,CACA,c,CACA,uC,CACA,oE,CACA,kB,CAGD,oB,CACC,mB,CAGD,0C,CACC,kD,CAGD,sC,CACC,kD,CAKD,c,CACC,iB,CAGD,4B,CACA,sC,CACA,2B,CACC,oD,CACA,wD,CACA,oC,CAGD,oB,CACC,iB,CACA,K,CACA,O,CACA,S,CACA,W,CACA,mB,CACA,e,CACA,gB,CACA,sB,CACA,kB,CACA,mB,CACA,wC,CACA,+C,CACA,sB,CACA,4D,CAGD,uCACC,oB,CACC,iBAIF,4B,CACA,sC,CACC,mB,CAID,wD,CADA,8C,CAEC,iB,CAID,mD,CADA,yC,CAEC,iB,CAID,2CAA6C,wB,CAD7C,iCAAmC,wB,CAElC,oB,CACA,sB,CAKD,4C,CACA,2CAA6C,mB,CAH7C,kC,CACA,iCAAmC,mB,CAGlC,oB,CACA,sB,CAID,uD,CADA,6C,CAEC,oB,CACA,sB,CAGD,2B,CACC,oB,CACA,sB,CACA,oB,CAGD,iCAAmC,8B,CAClC,wC,CACA,2D,CAKD,4C,CAFA,wC,CACA,iCAAmC,yB,CAEnC,iC,CACC,wC,CACA,2D,CAGD,iCAAmC,qC,CAClC,iB,CACA,kB,CACA,U,CACA,Y,CACA,U,CACA,kC,CACA,qC,CAKD,mD,CAFA,+C,CACA,iCAAmC,gC,CAEnC,wC,CACC,iB,CACA,kB,CACA,U,CACA,Y,CACA,U,CACA,kC,CACA,qC,CAGD,mD,CACC,4B,CAGD,mD,CACC,wC,CACA,2D,CAGD,4C,CACC,oC,CAID,2C,CADA,8B,CAEC,mC,CAID,kD,CADA,qC,CAEC,2C,CAKD,Y,CACC,iB,CACA,Y,CACA,c,CACA,mB,CACA,U,CAGD,0B,CAEA,2B,CADA,yB,CAEC,iB,CACA,a,CACA,Q,CACA,W,CAGD,gC,CAEA,wC,CADA,+B,CAEC,S,CAGD,iB,CACC,iB,CACA,S,CAGD,uB,CACC,S,CAGD,iB,CACC,Y,CACA,kB,CACA,6D,CACA,oC,CACA,wC,CACA,wC,CACA,0B,CACA,iB,CACA,kB,CACA,2C,CACA,+D,CACA,qC,CAMD,oB,CAHA,6B,CACA,4B,CACA,iC,CAEC,mE,CACA,uC,CACA,2C,CACA,wC,CAMD,oB,CAHA,6B,CACA,4B,CACA,iC,CAEC,mE,CACA,uC,CACA,2C,CACA,wC,CAGD,4B,CACA,4B,CACC,iB,CAYD,gE,CACA,4E,CACA,2E,CAHA,qDAAuD,gB,MAAsB,c,MAAoB,e,CAPjG,iBAAiB,qD,CACjB,iBAAiB,e,qBAAsC,0B,CACvD,iBAAiB,e,qBAAsC,yB,CAHvD,iBAAiB,e,OAAwB,W,MAAiB,gB,MAAsB,c,MAAoB,e,CAInG,wB,CACA,2B,CAWD,kBAAoB,Y,MAAkB,c,MAAoB,c,MAAoB,e,MAAqB,gB,MAAsB,kB,CACxH,4C,CACA,yB,CACA,4B,CAGD,gCAAkC,2B,CAClC,gCAAkC,0B,CACjC,yB,CACA,4B,CAKD,e,CAUA,c,CAIC,Y,CASA,2B,CACA,4B,CAxBD,e,CAEC,U,CACA,iB,CACA,yC,CACA,gC,CAKD,c,CACC,iB,CACA,Q,CACA,S,CAEA,c,CACA,sB,CACA,kB,CACA,gC,CACA,oC,CACA,kC,CACA,kC,CACA,wC,CAOD,yB,CACA,wB,CAHA,qC,CACA,oC,CAGC,a,CAID,sB,CADA,kC,CAEC,8C,CACA,qD,CACA,0P,CACA,2B,CACA,uG,CACA,qJ,CAID,4B,CADA,wC,CAEC,8C,CACA,2E,CAGD,0C,CACA,8B,CACC,qD,CACA,4K,CAID,qB,CADA,iC,CAEC,8C,CAKD,0BAA0B,U,MAAgB,O,CAC1C,0BAA0B,qB,CAH1B,sCAAsC,U,MAAgB,O,CACtD,sCAAsC,qB,CAGrC,kQ,CACA,mB,CACA,2E,CACA,iK,CAID,2B,CADA,uC,CAEC,8C,CACA,2E,CAID,4B,CADA,wC,CAEC,2D,CAID,0B,CADA,sC,CAEC,8C,CAID,kC,CADA,8C,CAEC,kC,CACA,8B,CAID,iD,CADA,6D,CAEC,uD,CAID,8C,CADA,0D,CAEC,oD,CAKD,+C,CADA,2D,CADA,0D,CAGC,gD,CAID,gC,CADA,4C,CAEC,2E,CAID,4C,CADA,wD,CAEC,gC,CAGD,oD,CACC,iB,CAG8D,+BAAiC,gB,CAIhG,gCAAkC,uB,CAFlC,8BAAgC,gB,CAFhC,8CAAgD,a,CAGhD,+CAAiD,oB,CAFjD,6CAA+C,a,CAI9C,S,CAKD,iB,CAUA,gB,CAIC,Y,CASA,2B,CACA,4B,CAxBD,iB,CAEC,U,CACA,iB,CACA,yC,CACA,kC,CAKD,gB,CACC,iB,CACA,Q,CACA,S,CAEA,c,CACA,sB,CACA,kB,CACA,gC,CACA,oC,CACA,iC,CACA,iC,CACA,wC,CAOD,6B,CACA,4B,CAHA,yC,CACA,wC,CAGC,a,CAID,wB,CADA,oC,CAEC,gD,CACA,qD,CACA,2U,CACA,2B,CACA,uG,CACA,qJ,CAID,8B,CADA,0C,CAEC,gD,CACA,0E,CAGD,4C,CACA,gC,CACC,qD,CACA,4K,CAID,uB,CADA,mC,CAEC,gD,CAKD,4BAA4B,U,MAAgB,O,CAC5C,4BAA4B,qB,CAH5B,wCAAwC,U,MAAgB,O,CACxD,wCAAwC,qB,CAGvC,mV,CACA,mB,CACA,2E,CACA,iK,CAID,6B,CADA,yC,CAEC,gD,CACA,0E,CAID,8B,CADA,0C,CAEC,2D,CAID,4B,CADA,wC,CAEC,gD,CAID,oC,CADA,gD,CAEC,iC,CACA,6B,CAID,mD,CADA,+D,CAEC,sD,CAID,gD,CADA,4D,CAEC,mD,CAKD,iD,CADA,6D,CADA,4D,CAGC,+C,CAID,kC,CADA,8C,CAEC,0E,CAID,8C,CADA,0D,CAEC,kC,CAGD,sD,CACC,iB,CAGgE,+BAAiC,kB,CAIlG,gCAAkC,yB,CAFlC,8BAAgC,kB,CAFhC,8CAAgD,e,CAGhD,+CAAiD,sB,CAFjD,6CAA+C,e,CAI9C,S,CAYD,I,CAqDA,qB,CACC,yB,CACA,iC,CAvDD,I,CACC,6C,CACA,6C,CACA,sB,CACA,6C,CACA,iD,CACA,iD,CACA,mC,CACA,uB,CACA,4C,CACA,iC,CACA,8C,CACA,sD,CACA,wB,CACA,8B,CACA,oG,CACA,2B,CACA,mC,CACA,oC,CACA,oB,CACA,uD,CACA,qC,CACA,iC,CACA,qC,CACA,qC,CAEA,iB,CACA,oB,CACA,qB,CACA,c,CACA,wB,CACA,qB,CACA,gB,CACA,kE,CACA,yC,CAEA,qC,CACA,0D,CACA,4D,CAGD,uCACC,I,CACC,iBAIF,U,CACC,+B,CACA,uC,CACA,6C,CAGD,qB,CAGC,uC,CAGD,kB,CACC,+B,CACA,uC,CAMD,6B,CARA,kB,CASC,6C,CACA,S,CACA,yC,CAGD,uB,CAGA,W,CACA,S,CAFA,uB,CADA,KAAK,uB,CAIJ,gC,CACA,wC,CACA,8C,CAGD,qC,CAGA,yB,CACA,uB,CAFA,qC,CADA,KAAK,qC,CAIJ,yC,CAID,a,CADA,a,CAEA,sB,CACC,kC,CACA,mB,CACA,0C,CACA,gD,CACA,sC,CAKD,Y,CAoBA,c,CAWC,2B,CACA,2C,CACA,qC,CAjCD,Y,CACC,2C,CACA,6B,CACA,oD,CACA,wC,CACA,4C,CACA,gE,CACA,+C,CACA,yC,CACA,8C,CACA,kE,CAIA,sE,CACA,0C,CAKD,c,CACC,qC,CACA,+B,CACA,mD,CACA,iD,CACA,2C,CACA,+D,CACA,2D,CACA,mD,CACA,6C,CACA,iE,CAIA,yD,CACA,2B,CAKD,Y,CACC,2C,CACA,6B,CACA,oD,CACA,wC,CACA,4C,CACA,gE,CACA,+C,CACA,yC,CACA,8C,CACA,kE,CAIA,sE,CACA,0C,CAKD,S,CApBA,Y,CAwCA,Y,CAWC,2B,CACA,2C,CACA,qC,CAjCD,S,CACC,wC,CACA,0B,CACA,oD,CACA,wC,CACA,yC,CACA,gE,CACA,4C,CACA,yC,CACA,2C,CACA,kE,CAIA,sE,CACA,0C,CAKD,Y,CACC,2C,CACA,6B,CAGA,4C,CAEA,+C,CAEA,8C,CAWD,W,CAoBA,U,CAxCA,Y,CA2CC,oD,CACA,wC,CAEA,gE,CAEA,yC,CAEA,kE,CAIA,sE,CACA,0C,CAnCD,W,CACC,0C,CACA,4B,CAGA,2C,CAEA,8C,CAEA,6C,CAEA,2B,CACA,2C,CACA,qC,CAOD,U,CACC,yC,CACA,2B,CAGA,0C,CAEA,6C,CAEA,4C,CAWD,S,CApBA,U,CAwCA,oB,CAoBA,sB,CAUC,2B,CACA,2C,CACA,qC,CApDD,S,CACC,wC,CACA,0B,CACA,oD,CACA,wC,CACA,yC,CACA,gE,CACA,4C,CACA,yC,CACA,2C,CACA,kE,CAIA,sE,CACA,0C,CAKD,oB,CAoBA,sB,CAOC,+C,CACA,yC,CACA,6D,CAIA,yD,CACA,2B,CACA,kB,CAnCD,oB,CACC,8C,CACA,qD,CACA,iD,CACA,mC,CACA,6C,CACA,+C,CAcD,sB,CACC,gD,CACA,uD,CACA,mD,CACA,qC,CACA,+C,CACA,iD,CAcD,oB,CACC,8C,CACA,qD,CACA,iD,CACA,mC,CACA,6C,CACA,+C,CAcD,iB,CApBA,oB,CAwCA,oB,CAOC,+C,CACA,yC,CACA,6D,CACA,2B,CACA,2C,CACA,qC,CACA,yD,CACA,2B,CACA,kB,CAnCD,iB,CACC,2C,CACA,kD,CACA,8C,CACA,gC,CACA,0C,CACA,4C,CAcD,oB,CACC,8C,CACA,qD,CACA,iD,CACA,mC,CACA,6C,CACA,+C,CAcD,mB,CACC,6C,CACA,oD,CACA,gD,CACA,kC,CACA,4C,CACA,8C,CAND,mB,CAwCA,iB,CApBA,kB,CA2BC,+C,CACA,yC,CACA,6D,CACA,2B,CACA,2C,CACA,qC,CACA,yD,CACA,2B,CACA,kB,CAnCD,kB,CACC,4C,CACA,mD,CACA,+C,CACA,iC,CACA,2C,CACA,6C,CAcD,iB,CACC,2C,CACA,kD,CACA,8C,CACA,gC,CACA,0C,CACA,4C,CAcD,S,CACC,mC,CACA,uB,CACA,iC,CACA,+C,CACA,uC,CACA,gD,CACA,wC,CACA,iD,CACA,0C,CACA,wB,CACA,+C,CACA,yC,CACA,sD,CAGD,uB,CACC,yB,CAGD,e,CACC,+B,CACA,+C,CAMD,kB,CADA,O,CAEC,gD,CACA,gD,CACA,gD,CACA,oD,CACA,iD,CAMD,kB,CADA,O,CAEC,gD,CACA,gD,CACA,gD,CACA,oD,CACA,iD,CASD,K,CACC,8B,CAGD,uCACC,K,CACC,iBAIF,A,UAAU,M,CACT,S,CAGD,cAAc,M,CACb,Y,CAGD,W,CACC,Q,CACA,e,CACA,2B,CAGD,uCACC,W,CACC,iBAIF,+B,CACC,O,CACA,W,CACA,0B,CAGD,uCACC,+B,CACC,iBAYF,S,CAGA,gB,CAJA,Q,CAEA,U,CAHA,O,CAIA,c,CAEC,iB,CAGD,gB,CACC,kB,CAGD,uB,CACC,oB,CACA,mB,CACA,qB,CACA,U,CACA,qB,CACA,kC,CACA,e,CACA,mC,CAGD,6B,CAwNA,sC,CAqCA,wC,CA5DA,qC,CAhMC,c,CAGD,c,CACC,yB,CACA,gC,CACA,+B,CACA,+B,CACA,6B,CACA,gD,CACA,oD,CACA,8C,CACA,kE,CACA,mD,CACA,iD,CACA,iG,CACA,2D,CACA,qC,CACA,8D,CACA,iD,CACA,4D,CACA,qD,CACA,6D,CACA,uD,CACA,0D,CACA,6E,CACA,+E,CACA,iC,CACA,oC,CACA,2D,CACA,oD,CACA,mC,CACA,qC,CACA,iB,CACA,iC,CACA,Y,CACA,sC,CACA,iE,CACA,Q,CACA,sC,CACA,8B,CACA,gB,CACA,e,CACA,sC,CACA,2B,CACA,4E,CACA,8C,CACA,wC,CAGD,8B,CACC,Q,CACA,O,CACA,oC,CAGD,oB,CACC,mB,CAGD,oC,CACC,S,CACA,O,CAGD,kB,CACC,iB,CAGD,kC,CACC,M,CACA,U,CAGD,yBACC,uB,CACC,mB,CAGD,uC,CACC,S,CACA,O,CAGD,qB,CACC,iB,CAGD,qC,CACC,M,CACA,YAIF,A,yBACC,uB,CACC,mB,CAGD,uC,CACC,S,CACA,O,CAGD,qB,CACC,iB,CAGD,qC,CACC,M,CACA,YAIF,A,yBACC,uB,CACC,mB,CAGD,uC,CACC,S,CACA,O,CAGD,qB,CACC,iB,CAGD,qC,CACC,M,CACA,YAIF,A,0BACC,uB,CACC,mB,CAGD,uC,CACC,S,CACA,O,CAGD,qB,CACC,iB,CAGD,qC,CACC,M,CACA,YAIF,A,0BACC,wB,CACC,mB,CAGD,wC,CACC,S,CACA,O,CAGD,sB,CACC,iB,CAGD,sC,CACC,M,CACA,YAIF,sC,CACC,Q,CACA,W,CACA,Y,CACA,uC,CA0BD,gC,CAvBA,+B,CACC,oB,CACA,mB,CACA,qB,CACA,U,CACA,Y,CACA,kC,CACA,wB,CACA,mC,CAOD,uC,CACC,K,CACA,S,CACA,U,CACA,Y,CACA,sC,CAGD,gC,CAKC,iC,CACA,a,CACA,oC,CACA,uB,CAQA,gB,CAGD,yC,CACC,K,CACA,S,CACA,U,CACA,Y,CACA,qC,CAGD,kC,CAEC,mB,CACA,qB,CACA,U,CAIA,Y,CAGD,mC,CACC,oB,CACA,kB,CAEA,U,CACA,iC,CACA,sB,CACA,oC,CAQA,gB,CAGD,iB,CACC,Q,CACA,2C,CACA,e,CACA,qE,CACA,S,CAGD,c,CACC,a,CACA,U,CACA,2E,CACA,U,CACA,wC,CACA,mC,CACA,kB,CACA,oB,CACA,kB,CACA,4B,CACA,Q,CACA,mD,CACA,oE,CACA,sE,CAID,oB,CADA,oB,CAEC,yC,CACA,iD,CAGD,qB,CACC,0C,CACA,oB,CACA,kD,CAGD,qB,CACC,kC,CACA,kC,CACA,2B,CACA,4B,CAGD,mC,CACC,2C,CAGD,uB,CAAyB,uB,CACxB,4C,CACA,mB,CACA,4B,CAGD,mB,CACC,a,CAGD,gB,CACC,a,CACA,+E,CACA,e,CACA,sC,CACA,qC,CACA,kB,CAGD,mB,CACC,a,CACA,2E,CACA,mC,CAYD,U,CACA,mB,CACC,iB,CACA,mB,CACA,qB,CAID,wB,CADA,e,CAEC,iB,CACA,a,CAKD,wCAA4C,e,CAC5C,6BAA+B,e,CAH/B,+BAAmC,e,CACnC,oBAAsB,e,CAGrB,S,CASD,2C,CACA,yC,CAIA,+B,CADA,+B,CADA,8B,CADA,8B,CARA,kC,CACA,gC,CAIA,sB,CADA,sB,CADA,qB,CADA,qB,CAUC,S,CAGD,Y,CACC,Y,CACA,c,CACA,0B,CAGD,yB,CACC,U,CAGD,U,CACC,qC,CAID,0BAA4B,a,CAD5B,gBAAkB,4B,CAEjB,4C,CAKD,0BAA4B,iB,CAD5B,iD,CADA,oBAAsB,W,MAAiB,iB,CAGtC,wB,CACA,2B,CAKD,0BAA4B,kB,CAF5B,8B,CACA,gBAAkB,gB,CAEjB,yB,CACA,4B,CAGD,sB,CACC,kB,CACA,mB,CAGD,6B,CAEA,sC,CADA,qC,CAEC,c,CAGD,yC,CACC,a,CAID,yC,CADA,8B,CAEC,oB,CACA,qB,CAID,yC,CADA,8B,CAEC,oB,CACA,qB,CAGD,mB,CACC,qB,CACA,sB,CACA,sB,CAGD,wB,CACA,8B,CACC,U,CAID,mCAAqC,a,CADrC,6BAA+B,a,CAE9B,0C,CAID,mCAAqC,iB,CADrC,6BAA+B,W,MAAiB,iB,CAE/C,2B,CACA,4B,CAID,mCAAqC,kB,CADrC,6B,CAEC,yB,CACA,wB,CASD,I,CACC,8B,CACA,+B,CACA,2B,CACA,wC,CACA,oD,CACA,qD,CACA,wC,CACA,yC,CACA,Y,CACA,c,CACA,e,CACA,e,CACA,e,CAGD,S,CACC,a,CACA,iE,CACA,sC,CACA,0C,CACA,8B,CACA,oB,CACA,c,CACA,Q,CACA,+D,CACA,iE,CAID,e,CADA,e,CAEC,oC,CAGD,uB,CACC,S,CACA,sF,CAGD,kB,CACA,kB,CACC,uC,CACA,mB,CACA,c,CAGD,S,CACC,wC,CACA,kD,CACA,wE,CACA,0E,CACA,iD,CACA,iD,CACA,mD,CACA,uH,CACA,wD,CACA,iD,CACA,wI,CACA,mF,CAGD,mB,CACC,sD,CACA,wD,CACA,wD,CACA,uD,CAID,yB,CADA,yB,CAEC,iB,CACA,uD,CAID,kC,CADA,0B,CAEC,0C,CACA,kD,CACA,wD,CAGD,wB,CACC,mD,CACA,yB,CACA,wB,CAGD,U,CAsBA,c,CACC,wC,CACA,mD,CACA,wE,CACA,0E,CA1BD,U,CAKC,oD,CACA,6D,CACA,+C,CAGD,oB,CACC,+C,CAGD,2B,CACA,0B,CACC,2C,CACA,mD,CACA,2B,CACA,4B,CAGD,c,CAKC,2B,CACA,wC,CACA,0I,CACA,yD,CACA,+B,CAGD,wB,CACC,4C,CACA,oE,CAGD,+B,CACA,8B,CACC,+C,CACA,gC,CACA,2B,CACA,4B,CAID,mB,CADA,mB,CAEC,a,CACA,iB,CAID,wB,CADA,wB,CAEC,Y,CACA,W,CACA,iB,CAGD,6B,CACA,kC,CACC,U,CAGD,sB,CACC,Y,CAGD,oB,CACC,a,CASD,O,CACC,2C,CACA,uB,CACA,4B,CACA,iD,CACA,uD,CACA,yD,CACA,wD,CACA,qC,CACA,iC,CACA,oE,CACA,uD,CACA,0D,CACA,sC,CACA,sC,CACA,qC,CACA,oD,CACA,yP,CACA,4C,CACA,4D,CACA,0D,CACA,mC,CACA,iB,CACA,Y,CACA,c,CACA,kB,CACA,6B,CACA,6D,CAGD,kB,CACA,wB,CAGA,qB,CADA,qB,CADA,qB,CAGA,qB,CACA,sB,CACC,Y,CACA,iB,CACA,kB,CACA,6B,CAGD,a,CACC,4C,CACA,+C,CACA,6C,CACA,0C,CACA,kC,CACA,oB,CACA,kB,CAID,mB,CADA,mB,CAEC,wC,CAGD,W,CACC,yB,CACA,8B,CACA,2B,CACA,0C,CACA,sD,CACA,4D,CACA,Y,CACA,qB,CACA,e,CACA,e,CACA,e,CAGD,4B,CACA,0B,CACC,mC,CAGD,0B,CACC,e,CAGD,Y,CACC,iB,CACA,oB,CACA,4B,CAGD,c,CAEA,oB,CADA,oB,CAEC,mC,CAGD,gB,CACC,e,CACA,W,CACA,kB,CAGD,e,CACC,6E,CACA,4C,CACA,a,CACA,4B,CACA,4B,CACA,yE,CACA,oD,CACA,8C,CAGD,uCACC,e,CACC,iBAIF,qB,CACC,oB,CAGD,6B,CACC,oB,CACA,S,CACA,4F,CAGD,oB,CACC,oB,CACA,W,CACA,Y,CACA,qB,CACA,iD,CACA,2B,CACA,0B,CACA,oB,CAGD,kB,CACC,wC,CACA,e,CAGD,yBACC,iB,CACC,gB,CACA,0B,CAGD,6B,CACC,kB,CAGD,4C,CACC,iB,CAGD,uC,CACC,gD,CACA,iD,CAGD,oC,CACC,gB,CAGD,kC,CACC,sB,CACA,e,CAGD,iC,CAiBA,8C,CAhBC,Y,CAGD,4B,CACC,e,CACA,Y,CACA,W,CACA,oB,CACA,qB,CACA,4B,CACA,sC,CACA,kB,CACA,wB,CACA,e,CAOD,4C,CACC,Y,CACA,W,CACA,S,CACA,oBAIF,A,yBACC,iB,CACC,gB,CACA,0B,CAGD,6B,CACC,kB,CAGD,4C,CACC,iB,CAGD,uC,CACC,gD,CACA,iD,CAGD,oC,CACC,gB,CAGD,kC,CACC,sB,CACA,e,CAGD,iC,CAiBA,8C,CAhBC,Y,CAGD,4B,CACC,e,CACA,Y,CACA,W,CACA,oB,CACA,qB,CACA,4B,CACA,sC,CACA,kB,CACA,wB,CACA,e,CAOD,4C,CACC,Y,CACA,W,CACA,S,CACA,oBAIF,A,yBACC,iB,CACC,gB,CACA,0B,CAGD,6B,CACC,kB,CAGD,4C,CACC,iB,CAGD,uC,CACC,gD,CACA,iD,CAGD,oC,CACC,gB,CAGD,kC,CACC,sB,CACA,e,CAGD,iC,CAiBA,8C,CAhBC,Y,CAGD,4B,CACC,e,CACA,Y,CACA,W,CACA,oB,CACA,qB,CACA,4B,CACA,sC,CACA,kB,CACA,wB,CACA,e,CAOD,4C,CACC,Y,CACA,W,CACA,S,CACA,oBAIF,A,0BACC,iB,CACC,gB,CACA,0B,CAGD,6B,CACC,kB,CAGD,4C,CACC,iB,CAGD,uC,CACC,gD,CACA,iD,CAGD,oC,CACC,gB,CAGD,kC,CACC,sB,CACA,e,CAGD,iC,CAiBA,8C,CAhBC,Y,CAGD,4B,CACC,e,CACA,Y,CACA,W,CACA,oB,CACA,qB,CACA,4B,CACA,sC,CACA,kB,CACA,wB,CACA,e,CAOD,4C,CACC,Y,CACA,W,CACA,S,CACA,oBAIF,A,0BACC,kB,CACC,gB,CACA,0B,CAGD,8B,CACC,kB,CAGD,6C,CACC,iB,CAGD,wC,CACC,gD,CACA,iD,CAGD,qC,CACC,gB,CAGD,mC,CACC,sB,CACA,e,CAGD,kC,CAiBA,+C,CAhBC,Y,CAGD,6B,CACC,e,CACA,Y,CACA,W,CACA,oB,CACA,qB,CACA,4B,CACA,sC,CACA,kB,CACA,wB,CACA,e,CAOD,6C,CACC,Y,CACA,W,CACA,S,CACA,oBAIF,c,CACC,gB,CACA,0B,CAGD,0B,CACC,kB,CAGD,yC,CACC,iB,CAGD,oC,CACC,gD,CACA,iD,CAGD,iC,CACC,gB,CAGD,+B,CACC,sB,CACA,e,CAGD,8B,CAiBA,2C,CAhBC,Y,CAGD,yB,CACC,e,CACA,Y,CACA,W,CACA,oB,CACA,qB,CACA,4B,CACA,sC,CACA,kB,CACA,wB,CACA,e,CAOD,yC,CACC,Y,CACA,W,CACA,S,CACA,kB,CASD,yD,CACC,yP,CAGD,wD,CAVA,yC,CAWC,yP,CASD,K,CACC,uB,CACA,uB,CACA,+B,CACA,uB,CACA,0B,CACA,6C,CACA,qD,CACA,+D,CACA,mD,CACA,kD,CACA,iD,CACA,gG,CACA,8B,CACA,4B,CACA,iD,CACA,qB,CACA,kB,CACA,iB,CACA,iC,CACA,kC,CACA,8B,CACA,iB,CACA,Y,CACA,qB,CACA,W,CACA,4B,CACA,0B,CACA,oB,CACA,kC,CACA,0B,CACA,oE,CACA,0C,CACA,oC,CAGD,0B,CACC,+C,CAGD,Q,CACC,a,CACA,c,CAGD,iB,CACC,8E,CACA,iF,CAGD,6B,CACC,kB,CACA,0D,CACA,yD,CAGD,4B,CACC,qB,CACA,4D,CACA,6D,CAGD,8B,CACA,8B,CACC,Y,CAGD,U,CACC,a,CACA,uD,CACA,0B,CAGD,W,CACC,2C,CACA,gC,CAGD,c,CACC,kD,CACA,e,CACA,mC,CAGD,qB,CACC,e,CAGD,qB,CACC,oC,CAGD,Y,CACC,iE,CACA,e,CACA,8B,CACA,sC,CACA,iF,CAGD,wB,CACC,sF,CAGD,Y,CACC,iE,CACA,8B,CACA,sC,CACA,8E,CAGD,uB,CACC,uF,CAGD,iB,CAEC,mD,CAEA,e,CAGD,kC,CACC,kC,CACA,qC,CAGD,kB,CAZA,iB,CAiBA,sB,CAJC,kD,CACA,mD,CAGD,sB,CAEC,mD,CAID,iB,CACC,iB,CACA,K,CACA,M,CACA,Q,CACA,O,CACA,0C,CACA,gD,CAGD,S,CAEA,gB,CADA,a,CAEC,U,CAGD,S,CACA,a,CACC,0D,CACA,yD,CAGD,S,CACA,gB,CACC,4D,CACA,6D,CAGD,iB,CACC,yC,CAGD,yBACC,W,CACC,Y,CACA,kB,CAGD,iB,CACC,W,CACA,e,CAGD,uB,CACC,c,CACA,c,CAGD,sBAAwB,Y,CACvB,wB,CACA,2B,CACA,mD,CAID,sBAAwB,yB,CADxB,sBAAwB,0B,CAEvB,wB,CAID,sBAAwB,yB,CADxB,sBAAwB,6B,CAEvB,2B,CAGD,sBAAwB,a,CACvB,yB,CACA,4B,CACA,oD,CAID,sBAAwB,0B,CADxB,sBAAwB,2B,CAEvB,yB,CAID,sBAAwB,0B,CADxB,sBAAwB,8B,CAEvB,8BAUF,U,CACC,yC,CACA,6B,CACA,2B,CACA,kD,CACA,kD,CACA,oD,CACA,6G,CACA,iC,CACA,oC,CACA,kD,CACA,4C,CACA,uS,CACA,qC,CACA,iD,CACA,6D,CACA,8S,CACA,sE,CACA,uH,CACA,kC,CACA,kC,CACA,qD,CACA,+C,CAGD,+B,CACC,uS,CACA,8S,CAGD,iB,CACC,iB,CACA,Y,CACA,kB,CACA,U,CACA,2E,CACA,kC,CACA,mC,CACA,gB,CACA,2C,CACA,Q,CACA,e,CACA,oB,CACA,yC,CAGD,uCACC,iB,CACC,iBAIF,A,sBAAsB,W,CACrB,sC,CACA,8C,CACA,8F,CAGD,sBAAsB,kB,CACrB,oD,CACA,gD,CAGD,wB,CACC,a,CACA,wC,CACA,yC,CACA,iB,CACA,U,CACA,6C,CACA,2B,CACA,kD,CACA,kD,CAGD,uCACC,wB,CACC,iBAIF,uB,CACC,S,CAGD,uB,CACC,S,CACA,uD,CACA,S,CACA,mD,CAGD,iB,CACC,e,CAGD,e,CACC,+B,CACA,uC,CACA,8E,CAGD,6B,CACC,yD,CACA,wD,CAGD,+C,CACC,+D,CACA,8D,CAGD,oBAAoB,e,CACnB,Y,CAGD,4B,CAUA,gD,CATC,2D,CACA,4D,CAGD,wD,CACC,iE,CACA,kE,CAQD,e,CACC,6E,CAGD,oC,CACC,c,CAGD,gC,CACC,a,CACA,c,CACA,e,CAGD,4C,CACC,Y,CAGD,2C,CACC,e,CAGD,kD,CACA,4D,CACC,e,CASD,W,CAwCA,W,CA0BC,Y,CAEA,e,CApED,W,CACC,2B,CACA,2B,CACA,kC,CACA,oB,CACA,+B,CACA,uD,CACA,qC,CACA,2D,CAEA,c,CACA,qE,CACA,gD,CACA,wC,CAEA,wC,CACA,gD,CAGD,iC,CACC,iD,CAGD,yC,CACC,W,CACA,gD,CACA,wC,CACA,yC,CAGD,uB,CACC,4C,CASD,W,CACC,kC,CACA,iC,CACA,kD,CACA,uC,CACA,kC,CACA,4C,CACA,sC,CACA,mD,CACA,0D,CACA,qD,CACA,wD,CACA,kD,CACA,gE,CACA,yD,CACA,mD,CACA,8G,CACA,yD,CACA,2C,CACA,kE,CACA,wD,CACA,iD,CACA,kD,CACA,8D,CACA,wD,CACA,4E,CAEA,e,CAID,U,CACC,iB,CACA,a,CACA,qE,CACA,wC,CACA,4C,CACA,wC,CACA,gC,CACA,oB,CACA,iB,CACA,wC,CACA,gF,CAGD,uCACC,U,CACC,iBAIF,gB,CACC,S,CACA,sC,CACA,8C,CACA,oD,CAGD,gB,CACC,S,CACA,sC,CACA,8C,CACA,S,CACA,gD,CAID,kB,CADA,iB,CAEC,S,CACA,uC,CACA,+C,CACA,qD,CACA,mD,CACA,wE,CACA,0E,CAID,oB,CADA,mB,CAEC,yC,CACA,mB,CACA,iD,CACA,uD,CAGD,eAAe,wB,CACd,uD,CAGD,iC,CACC,0D,CACA,6D,CAGD,gC,CACC,yD,CACA,4D,CAGD,c,CACC,kC,CACA,mC,CACA,gD,CACA,uC,CACA,iC,CACA,wD,CAGD,c,CACC,kC,CACA,kC,CACA,gD,CACA,uC,CACA,gC,CACA,wD,CASD,M,CACC,qD,CACA,qD,CACA,oD,CACA,mD,CACA,+C,CACA,iC,CACA,gD,CACA,oB,CACA,2D,CACA,mC,CACA,uC,CACA,a,CACA,2B,CACA,mC,CACA,iB,CACA,kB,CACA,uB,CACA,2C,CACA,2B,CACA,4B,CAGD,Y,CACC,Y,CAGD,W,CACC,iB,CACA,Q,CASD,M,CACC,yB,CACA,yB,CACA,4B,CACA,6B,CACA,wB,CACA,mC,CACA,2E,CACA,gD,CACA,6B,CACA,iB,CACA,2D,CACA,2C,CACA,2B,CACA,mC,CACA,6B,CACA,2C,CAGD,c,CACC,a,CAGD,W,CACC,wC,CACA,gC,CACA,yB,CACA,2D,CACA,6D,CAGD,iB,CACC,W,CACA,yB,CAGD,kB,CACC,mB,CAGD,6B,CACC,iB,CACA,O,CACA,Y,CACA,0B,CACA,S,CAKD,c,CASA,gB,CACC,qC,CAGA,2C,CAbD,c,CAEC,yC,CACA,uD,CAMD,gB,CAEC,2C,CACA,yD,CAMD,c,CAEC,yC,CACA,uD,CAMD,W,CATA,c,CAkBA,c,CACC,qC,CAGA,2C,CAbD,W,CAEC,sC,CACA,oD,CAMD,c,CAEC,yC,CACA,uD,CAMD,a,CAEC,wC,CACA,sD,CAHD,a,CAkBA,W,CATA,Y,CAUC,qC,CAGA,2C,CAbD,Y,CAEC,uC,CACA,qD,CAMD,W,CAEC,sC,CACA,oD,CAgBD,S,CACA,iB,CACC,6B,CACA,8B,CACA,uC,CACA,gG,CACA,wD,CACA,2D,CACA,qD,CACA,oD,CACA,sC,CACA,4C,CACA,Y,CACA,gC,CACA,e,CACA,sC,CACA,sC,CACA,gC,CACA,8C,CACA,wC,CACA,0C,CAGD,a,CACC,Y,CACA,qB,CACA,sB,CACA,e,CACA,kC,CACA,iB,CACA,kB,CACA,0C,CACA,4C,CACA,2B,CACA,4B,CAGD,uCACC,a,CACC,iBAIF,qB,CACC,iP,CAUA,mE,CAGD,2B,CACC,W,CACA,gB,CACA,iB,CACA,4B,CACA,Q,CACA,e,CACA,e,CACA,0B,CAGD,yC,CACC,U,CAGD,sB,CACC,iD,CAGD,uCACC,sB,CACC,gBAUF,W,CACC,0C,CACA,8B,CACA,mD,CACA,mD,CACA,qD,CACA,mC,CACA,uC,CACA,uD,CACA,oE,CACA,+D,CACA,qE,CACA,gE,CACA,wD,CACA,2D,CACA,yD,CACA,2C,CACA,qD,CACA,Y,CACA,qB,CACA,e,CACA,e,CACA,gD,CAGD,gC,CACC,+D,CACA,iE,CACA,4D,CAGD,oB,CACC,oB,CACA,qB,CAGD,6C,CACC,iC,CACA,yB,CAGD,uB,CACC,U,CACA,uC,CACA,kB,CAID,6B,CADA,6B,CAEC,S,CACA,6C,CACA,oB,CACA,qD,CAGD,8B,CACC,8C,CACA,sD,CAGD,gB,CACC,iB,CACA,a,CACA,+E,CACA,gC,CACA,oB,CACA,wC,CACA,gF,CACA,2D,CACA,6D,CAGD,4B,CACC,+B,CACA,8B,CAGD,2B,CACC,iC,CACA,kC,CAGD,yB,CACA,yB,CACC,yC,CACA,mB,CACA,iD,CAGD,uB,CACC,S,CACA,uC,CACA,+C,CACA,qD,CACA,2B,CACA,4B,CAGD,iC,CACC,kB,CAGD,wC,CACC,qD,CACA,kD,CAGD,sB,CACC,kB,CAGD,wDAA0D,Y,CACzD,6D,CACA,wB,CAGD,uDAAyD,a,CACxD,yD,CACA,4B,CAGD,8C,CACC,Y,CAGD,wD,CACC,kD,CACA,oB,CAGD,+D,CACC,uD,CACA,oD,CAGD,yBACC,yB,CACC,kB,CAGD,2DAA6D,Y,CAC5D,6D,CACA,wB,CAGD,0DAA4D,a,CAC3D,yD,CACA,4B,CAGD,iD,CACC,Y,CAGD,2D,CACC,kD,CACA,oB,CAGD,kE,CACC,uD,CACA,sDAIF,A,yBACC,yB,CACC,kB,CAGD,2DAA6D,Y,CAC5D,6D,CACA,wB,CAGD,0DAA4D,a,CAC3D,yD,CACA,4B,CAGD,iD,CACC,Y,CAGD,2D,CACC,kD,CACA,oB,CAGD,kE,CACC,uD,CACA,sDAIF,A,yBACC,yB,CACC,kB,CAGD,2DAA6D,Y,CAC5D,6D,CACA,wB,CAGD,0DAA4D,a,CAC3D,yD,CACA,4B,CAGD,iD,CACC,Y,CAGD,2D,CACC,kD,CACA,oB,CAGD,kE,CACC,uD,CACA,sDAIF,A,0BACC,yB,CACC,kB,CAGD,2DAA6D,Y,CAC5D,6D,CACA,wB,CAGD,0DAA4D,a,CAC3D,yD,CACA,4B,CAGD,iD,CACC,Y,CAGD,2D,CACC,kD,CACA,oB,CAGD,kE,CACC,uD,CACA,sDAIF,A,0BACC,0B,CACC,kB,CAGD,4DAA8D,Y,CAC7D,6D,CACA,wB,CAGD,2DAA6D,a,CAC5D,yD,CACA,4B,CAGD,kD,CACC,Y,CAGD,4D,CACC,kD,CACA,oB,CAGD,mE,CACC,uD,CACA,sDAIF,iB,CACC,e,CAGD,kC,CACC,kD,CAGD,6C,CACC,qB,CAKD,wB,CAeA,0B,CACC,0C,CAEA,mD,CACA,oE,CAEA,qE,CArBD,wB,CAEC,qD,CAGA,gE,CAEA,kE,CACA,yD,CACA,oD,CACA,8D,CAKD,0B,CAEC,uD,CAGA,kE,CAEA,oE,CACA,2D,CACA,sD,CACA,gE,CAKD,wB,CAEC,qD,CAGA,gE,CAEA,kE,CACA,yD,CACA,oD,CACA,8D,CAKD,qB,CAfA,wB,CA8BA,wB,CACC,0C,CAEA,mD,CACA,oE,CAEA,qE,CArBD,qB,CAEC,kD,CAGA,6D,CAEA,+D,CACA,sD,CACA,iD,CACA,2D,CAKD,wB,CAEC,qD,CAGA,gE,CAEA,kE,CACA,yD,CACA,oD,CACA,8D,CAKD,uB,CAEC,oD,CAGA,+D,CAEA,iE,CACA,wD,CACA,mD,CACA,6D,CAVD,uB,CA8BA,qB,CAfA,sB,CAgBC,0C,CAEA,mD,CACA,oE,CAEA,qE,CArBD,sB,CAEC,mD,CAGA,8D,CAEA,gE,CACA,uD,CACA,kD,CACA,4D,CAKD,qB,CAEC,kD,CAGA,6D,CAEA,+D,CACA,sD,CACA,iD,CACA,2D,CASD,U,CAoBA,gB,CACC,+B,CArBD,U,CACC,oC,CACA,mV,CACA,0B,CACA,iC,CACA,4F,CACA,8B,CACA,oC,CACA,sE,CACA,sB,CACA,S,CACA,U,CACA,wC,CAEA,2D,CACA,Q,CACA,wC,CACA,mC,CAGD,gB,CAEC,oB,CACA,yC,CAGD,gB,CACC,S,CACA,2C,CACA,yC,CAGoB,mB,CAArB,mB,CACC,mB,CACA,wB,CACA,qB,CACA,gB,CACA,4C,CAGD,+B,CACC,uC,CAKD,+B,CACC,W,CAGD,8B,CACC,uC,CASD,M,CACC,sB,CACA,4B,CACA,2B,CACA,yB,CACA,8B,CACA,6B,CACA,kB,CACA,2D,CACA,8C,CACA,+D,CACA,gD,CACA,2D,CACA,iD,CACA,uC,CACA,iE,CACA,+B,CACA,c,CACA,mC,CACA,2B,CACA,mB,CACA,mC,CACA,2B,CACA,sE,CACA,qC,CACA,2C,CAGD,c,CACC,S,CAGD,WAAW,M,CACV,Y,CAGD,gB,CACC,sB,CACA,iB,CACA,8B,CACA,yB,CACA,sB,CACA,iB,CACA,c,CACA,mB,CAGD,sBAAwB,Y,CACvB,qC,CAGD,a,CACC,Y,CACA,kB,CACA,2D,CACA,kC,CACA,0C,CACA,2B,CACA,oF,CACA,0F,CACA,yF,CAGD,wB,CACC,+C,CACA,sC,CAGD,W,CACC,iC,CACA,oB,CASD,M,CACC,sB,CACA,sB,CACA,uB,CACA,wB,CACA,kB,CACA,kC,CACA,sD,CACA,8C,CACA,mD,CACA,kD,CACA,mG,CACA,gC,CACA,gC,CACA,2F,CACA,iE,CACA,qD,CACA,qD,CACA,gC,CACA,gC,CACA,4B,CACA,sB,CACA,iE,CACA,qD,CACA,c,CACA,K,CACA,O,CACA,8B,CACA,Y,CACA,U,CACA,W,CACA,iB,CACA,e,CACA,S,CAGD,a,CACC,iB,CACA,U,CACA,6B,CACA,mB,CAGD,yB,CACC,iC,CACA,4B,CAGD,uCACC,yB,CACC,iBAIF,yB,CACC,c,CAGD,iC,CACC,qB,CAGD,wB,CACC,4C,CAGD,uC,CACC,e,CACA,e,CAGD,oC,CACC,e,CAGD,sB,CACC,Y,CACA,kB,CACA,gD,CAGD,c,CACC,iB,CACA,Y,CACA,qB,CACA,U,CACA,2B,CACA,mB,CACA,mC,CACA,2B,CACA,sE,CACA,2C,CACA,qC,CACA,S,CAGD,e,CACC,yB,CACA,gC,CACA,yB,CACA,c,CACA,K,CACA,O,CACA,iC,CACA,W,CACA,Y,CACA,sC,CAGD,oB,CACC,S,CAGD,oB,CACC,kC,CAGD,a,CACC,Y,CACA,a,CACA,kB,CACA,6B,CACA,sC,CACA,2F,CACA,2D,CACA,0D,CAGD,wB,CACC,2F,CACA,4I,CAGD,Y,CACC,e,CACA,6C,CAGD,W,CACC,iB,CACA,a,CACA,+B,CAGD,a,CACC,Y,CACA,a,CACA,c,CACA,kB,CACA,wB,CACA,qJ,CACA,0C,CACA,wF,CACA,6D,CACA,8D,CAGD,e,CACC,0C,CAGD,yBACC,M,CACC,yB,CAGD,a,CACC,+B,CACA,gB,CACA,iB,CAGD,S,CACC,2BAIF,A,yBACC,S,CACA,S,CACC,0BAIF,A,0BACC,S,CACC,wBAIF,iB,CACC,W,CACA,c,CACA,W,CACA,Q,CAGD,gC,CACC,W,CACA,Q,CACA,e,CAID,+B,CADA,+B,CAEC,e,CAGD,6B,CACC,e,CAGD,4BACC,yB,CACC,W,CACA,c,CACA,W,CACA,Q,CAGD,wC,CACC,W,CACA,Q,CACA,e,CAID,uC,CADA,uC,CAEC,e,CAGD,qC,CACC,iBAIF,A,4BACC,yB,CACC,W,CACA,c,CACA,W,CACA,Q,CAGD,wC,CACC,W,CACA,Q,CACA,e,CAID,uC,CADA,uC,CAEC,e,CAGD,qC,CACC,iBAIF,A,4BACC,yB,CACC,W,CACA,c,CACA,W,CACA,Q,CAGD,wC,CACC,W,CACA,Q,CACA,e,CAID,uC,CADA,uC,CAEC,e,CAGD,qC,CACC,iBAIF,A,6BACC,yB,CACC,W,CACA,c,CACA,W,CACA,Q,CAGD,wC,CACC,W,CACA,Q,CACA,e,CAID,uC,CADA,uC,CAEC,e,CAGD,qC,CACC,iBAIF,A,6BACC,0B,CACC,W,CACA,c,CACA,W,CACA,Q,CAGD,yC,CACC,W,CACA,Q,CACA,e,CAID,wC,CADA,wC,CAEC,e,CAGD,sC,CACC,iBAUF,Q,CACC,wB,CACA,8B,CACA,6B,CACA,8B,CACA,qB,CACA,6C,CACA,oC,CACA,wC,CACA,kD,CACA,yB,CACA,uC,CACA,wC,CACA,+B,CACA,gC,CACA,gC,CACA,a,CACA,+B,CACA,sC,CACA,iB,CACA,wC,CACA,sC,CACA,gB,CACA,gB,CACA,oB,CACA,gB,CACA,mB,CACA,qB,CACA,iB,CACA,kB,CACA,mB,CACA,e,CACA,qC,CACA,oB,CACA,S,CAGD,a,CACC,iC,CAGD,uB,CACC,a,CACA,mC,CACA,qC,CAGD,+B,CACC,iB,CACA,U,CACA,wB,CACA,kB,CAID,2D,CADA,8B,CAEC,8C,CAID,mE,CADA,sC,CAEC,Q,CACA,mF,CACA,qC,CAGD,6D,CADA,8B,CAEC,4C,CACA,oC,CACA,oC,CAID,qE,CADA,sC,CAEC,U,CACA,0H,CACA,uC,CAID,8D,CADA,iC,CAEC,2C,CAID,sE,CADA,yC,CAEC,W,CACA,oF,CACA,wC,CAGD,4D,CADA,gC,CAEC,6C,CACA,oC,CACA,oC,CAID,oE,CADA,wC,CAEC,S,CACA,0H,CACA,sC,CAGD,c,CACC,qC,CACA,+D,CACA,6B,CACA,iB,CACA,qC,CACA,6C,CACA,8D,CACA,gE,CASD,Q,CACC,wB,CACA,+B,CACA,+C,CACA,6C,CACA,gD,CACA,iE,CACA,kD,CACA,uG,CACA,6D,CACA,qC,CACA,oC,CACA,yD,CACA,8C,CACA,2C,CACA,mE,CACA,mC,CACA,mC,CACA,wD,CACA,6B,CACA,gC,CACA,wD,CACA,gC,CACA,a,CACA,qC,CACA,sC,CACA,iB,CACA,wC,CACA,sC,CACA,gB,CACA,gB,CACA,oB,CACA,gB,CACA,mB,CACA,qB,CACA,iB,CACA,kB,CACA,mB,CACA,e,CACA,qC,CACA,oB,CACA,qC,CACA,2B,CACA,0E,CACA,6C,CACA,uC,CAGD,uB,CACC,a,CACA,mC,CACA,qC,CAID,8B,CADA,+B,CAEC,iB,CACA,a,CACA,U,CACA,wB,CACA,kB,CACA,c,CAID,2D,CADA,8B,CAEC,iF,CAMD,kE,CAFA,mE,CACA,qC,CAFA,sC,CAIC,mF,CAID,mE,CADA,sC,CAEC,Q,CACA,+C,CAID,kE,CADA,qC,CAEC,qC,CACA,qC,CAGD,6D,CADA,8B,CAEC,+E,CACA,oC,CACA,oC,CAMD,oE,CAFA,qE,CACA,qC,CAFA,sC,CAIC,0H,CAID,qE,CADA,sC,CAEC,M,CACA,iD,CAID,oE,CADA,qC,CAEC,mC,CACA,uC,CAID,8D,CADA,iC,CAEC,8E,CAMD,qE,CAFA,sE,CACA,wC,CAFA,yC,CAIC,oF,CAID,sE,CADA,yC,CAEC,K,CACA,kD,CAID,qE,CADA,wC,CAEC,kC,CACA,wC,CAID,uE,CADA,0C,CAEC,iB,CACA,K,CACA,S,CACA,a,CACA,mC,CACA,oD,CACA,U,CACA,8E,CAGD,4D,CADA,gC,CAEC,gF,CACA,oC,CACA,oC,CAMD,mE,CAFA,oE,CACA,uC,CAFA,wC,CAIC,0H,CAID,oE,CADA,wC,CAEC,O,CACA,gD,CAID,mE,CADA,uC,CAEC,oC,CACA,sC,CAGD,e,CACC,6E,CACA,e,CACA,4C,CACA,oC,CACA,4C,CACA,wF,CACA,6D,CACA,4D,CAGD,qB,CACC,Y,CAGD,a,CACC,yE,CACA,kC,CASD,S,CAQA,e,CAPC,iB,CAGD,uB,CACC,kB,CAGD,e,CAEC,U,CACA,e,CAGD,sB,CAolCA,gB,CAnlCC,a,CACA,U,CACA,U,CAGD,c,CACC,iB,CACA,Y,CACA,W,CACA,U,CACA,iB,CACA,kC,CACA,0B,CACA,oC,CAGD,uCACC,c,CACC,iBAKF,mB,CACA,mB,CAFA,qB,CAGC,a,CAID,yB,CADA,wBAAwB,qB,CAEvB,2B,CAID,2B,CADA,wBAAwB,mB,CAEvB,0B,CAGD,6B,CACC,S,CACA,2B,CACA,c,CAID,sD,CACA,oD,CAFA,oC,CAGC,S,CACA,S,CAID,wC,CADA,0C,CAEC,S,CACA,S,CACA,yB,CAGD,uCAEC,wC,CADA,0C,CAEC,iBAKF,sB,CADA,sB,CAEC,iB,CACA,K,CACA,Q,CACA,S,CACA,Y,CACA,kB,CACA,sB,CACA,S,CACA,S,CACA,qB,CACA,iB,CACA,c,CACA,Q,CACA,U,CACA,4B,CAGD,uCAEC,sB,CADA,sB,CAEC,iBAMF,4B,CADA,4B,CAD8B,4B,CAA9B,4B,CAGC,qB,CACA,oB,CACA,S,CACA,U,CAGD,sB,CACC,O,CAGD,sB,CACC,M,CAID,2B,CADA,2B,CAEC,oB,CACA,Y,CACA,a,CACA,gC,CACA,2B,CACA,uB,CACA,iB,CAGD,2B,CACC,6B,CAGD,2B,CACC,6B,CAIA,2Q,CAGD,2B,CACC,4Q,CAGD,oB,CACC,iB,CACA,M,CACA,Q,CACA,O,CACA,S,CACA,Y,CACA,sB,CACA,S,CACA,e,CACA,kB,CACA,gB,CAGD,qC,CACC,sB,CACA,a,CACA,c,CACA,e,CACA,S,CACA,oB,CACA,qB,CACA,kB,CACA,c,CACA,gC,CACA,2B,CACA,Q,CACA,oC,CACA,uC,CACA,U,CACA,2B,CAGD,uCACC,qC,CACC,iBAIF,4B,CACC,S,CAGD,iB,CACC,iB,CACA,Q,CACA,c,CACA,S,CACA,mB,CACA,sB,CACA,qB,CACA,iB,CAGD,0D,CACA,0D,CAgBA,oE,CAfA,yD,CACA,yD,CAeA,mE,CAdC,gC,CAGD,0D,CACA,yD,CACC,2Q,CAGD,0D,CACA,yD,CACC,4Q,CAQD,gD,CACA,+C,CACC,qB,CAUD,e,CADA,a,CAEC,oB,CACA,6B,CACA,+B,CACA,+C,CACA,iB,CACA,4F,CASD,e,CACC,qD,CACA,sD,CACA,uE,CACA,0D,CACA,kC,CACA,0C,CACA,wD,CACA,6B,CAGD,kB,CACC,2C,CACA,4C,CACA,0D,CAcD,a,CACC,qD,CACA,sD,CACA,uE,CACA,kC,CACA,wC,CACA,6B,CACA,S,CAGD,gB,CACC,2C,CACA,4C,CAGD,uCACC,e,CACA,a,CACC,mCAUF,U,CAGA,a,CACA,a,CACA,a,CAHA,a,CADA,c,CAKC,0B,CACA,8B,CACA,0B,CACA,6B,CACA,6B,CACA,4C,CACA,sC,CACA,kD,CACA,0D,CACA,iD,CACA,oD,CACA,yD,CAGD,4BACC,a,CACC,c,CACA,Q,CACA,kC,CACA,Y,CACA,qB,CACA,c,CACA,+B,CACA,iB,CACA,uC,CACA,2B,CACA,S,CACA,2CAIF,A,gEACC,a,CACC,iBAIF,A,4BACC,6B,CACC,K,CACA,O,CACA,+B,CACA,mF,CACA,0B,CAGD,2B,CACC,K,CACA,M,CACA,+B,CACA,oF,CACA,2B,CAaD,8B,CAVA,2B,CAWC,M,CACA,O,CACA,iC,CACA,e,CAdD,2B,CACC,K,CAKA,qF,CACA,2B,CAGD,8B,CAKC,kF,CACA,0B,CAID,uBAAuB,Q,CADvB,qB,CAEC,c,CAID,oB,CACA,kB,CAFA,qB,CAGC,oBAIF,A,yBACC,a,CACC,0B,CACA,6B,CACA,sC,CAGD,+B,CACC,Y,CAGD,6B,CACC,Y,CACA,W,CACA,S,CACA,kB,CACA,wCAIF,A,4BACC,a,CACC,c,CACA,Q,CACA,kC,CACA,Y,CACA,qB,CACA,c,CACA,+B,CACA,iB,CACA,uC,CACA,2B,CACA,S,CACA,2CAIF,A,gEACC,a,CACC,iBAIF,A,4BACC,6B,CACC,K,CACA,O,CACA,+B,CACA,mF,CACA,0B,CAGD,2B,CACC,K,CACA,M,CACA,+B,CACA,oF,CACA,2B,CAaD,8B,CAVA,2B,CAWC,M,CACA,O,CACA,iC,CACA,e,CAdD,2B,CACC,K,CAKA,qF,CACA,2B,CAGD,8B,CAKC,kF,CACA,0B,CAID,uBAAuB,Q,CADvB,qB,CAEC,c,CAID,oB,CACA,kB,CAFA,qB,CAGC,oBAIF,A,yBACC,a,CACC,0B,CACA,6B,CACA,sC,CAGD,+B,CACC,Y,CAGD,6B,CACC,Y,CACA,W,CACA,S,CACA,kB,CACA,wCAIF,A,4BACC,a,CACC,c,CACA,Q,CACA,kC,CACA,Y,CACA,qB,CACA,c,CACA,+B,CACA,iB,CACA,uC,CACA,2B,CACA,S,CACA,2CAIF,A,gEACC,a,CACC,iBAIF,A,4BACC,6B,CACC,K,CACA,O,CACA,+B,CACA,mF,CACA,0B,CAGD,2B,CACC,K,CACA,M,CACA,+B,CACA,oF,CACA,2B,CAaD,8B,CAVA,2B,CAWC,M,CACA,O,CACA,iC,CACA,e,CAdD,2B,CACC,K,CAKA,qF,CACA,2B,CAGD,8B,CAKC,kF,CACA,0B,CAID,uBAAuB,Q,CADvB,qB,CAEC,c,CAID,oB,CACA,kB,CAFA,qB,CAGC,oBAIF,A,yBACC,a,CACC,0B,CACA,6B,CACA,sC,CAGD,+B,CACC,Y,CAGD,6B,CACC,Y,CACA,W,CACA,S,CACA,kB,CACA,wCAIF,A,6BACC,a,CACC,c,CACA,Q,CACA,kC,CACA,Y,CACA,qB,CACA,c,CACA,+B,CACA,iB,CACA,uC,CACA,2B,CACA,S,CACA,2CAIF,A,iEACC,a,CACC,iBAIF,A,6BACC,6B,CACC,K,CACA,O,CACA,+B,CACA,mF,CACA,0B,CAGD,2B,CACC,K,CACA,M,CACA,+B,CACA,oF,CACA,2B,CAaD,8B,CAVA,2B,CAWC,M,CACA,O,CACA,iC,CACA,e,CAdD,2B,CACC,K,CAKA,qF,CACA,2B,CAGD,8B,CAKC,kF,CACA,0B,CAID,uBAAuB,Q,CADvB,qB,CAEC,c,CAID,oB,CACA,kB,CAFA,qB,CAGC,oBAIF,A,0BACC,a,CACC,0B,CACA,6B,CACA,sC,CAGD,+B,CACC,Y,CAGD,6B,CACC,Y,CACA,W,CACA,S,CACA,kB,CACA,wCAIF,A,6BACC,c,CACC,c,CACA,Q,CACA,kC,CACA,Y,CACA,qB,CACA,c,CACA,+B,CACA,iB,CACA,uC,CACA,2B,CACA,S,CACA,2CAIF,A,iEACC,c,CACC,iBAIF,A,6BACC,8B,CACC,K,CACA,O,CACA,+B,CACA,mF,CACA,0B,CAGD,4B,CACC,K,CACA,M,CACA,+B,CACA,oF,CACA,2B,CAaD,+B,CAVA,4B,CAWC,M,CACA,O,CACA,iC,CACA,e,CAdD,4B,CACC,K,CAKA,qF,CACA,2B,CAGD,+B,CAKC,kF,CACA,0B,CAID,wBAAwB,Q,CADxB,sB,CAEC,c,CAID,qB,CACA,mB,CAFA,sB,CAGC,oBAIF,A,0BACC,c,CACC,0B,CACA,6B,CACA,sC,CAGD,gC,CACC,Y,CAGD,8B,CACC,Y,CACA,W,CACA,S,CACA,kB,CACA,wCAIF,U,CACC,c,CACA,Q,CACA,kC,CACA,Y,CACA,qB,CACA,c,CACA,+B,CACA,iB,CACA,uC,CACA,2B,CACA,S,CACA,yC,CAGD,uCACC,U,CACC,iBAIF,0B,CACC,K,CACA,O,CACA,+B,CACA,mF,CACA,0B,CAGD,wB,CACC,K,CACA,M,CACA,+B,CACA,oF,CACA,2B,CAaD,2B,CAVA,wB,CAWC,M,CACA,O,CACA,iC,CACA,e,CAdD,wB,CACC,K,CAKA,qF,CACA,2B,CAGD,2B,CAKC,kF,CACA,0B,CAID,oBAAoB,Q,CADpB,kB,CAEC,c,CAID,iB,CACA,e,CAFA,kB,CAGC,kB,CAGD,mB,CACC,c,CACA,K,CACA,O,CACA,Y,CACA,W,CACA,Y,CACA,gC,CAGD,wB,CACC,S,CAGD,wB,CACC,U,CAGD,iB,CACC,Y,CACA,kB,CACA,6B,CACA,mE,CAGD,4B,CACC,qF,CACA,kD,CACA,mD,CACA,qD,CAGD,gB,CACC,e,CACA,iD,CAGD,e,CACC,W,CACA,mE,CACA,e,CASD,Q,CACC,qC,CACA,2D,CACA,gE,CACA,mE,CACA,8C,CACA,oC,CACA,gD,CACA,wD,CACA,4B,CACA,8B,CACA,kC,CACA,qE,CACA,iE,CACA,4D,CACA,6B,CACA,oC,CACA,sD,CACA,4D,CACA,0D,CACA,oC,CACA,c,CACA,K,CACA,O,CACA,+B,CACA,6B,CACA,+B,CACA,Y,CACA,qB,CACA,+C,CACA,yF,CACA,6C,CACA,S,CAGD,yBACC,SAAS,uB,CACR,uC,CAGD,c,CACC,mDAIF,A,yBACC,SAAS,uB,CACR,uC,CAGD,c,CACC,mDAIF,A,yBACC,SAAS,uB,CACR,uC,CAGD,c,CACC,mDAIF,A,0BACC,SAAS,uB,CACR,uC,CAGD,c,CACC,mDAIF,A,0BACC,SAAS,wB,CACR,uC,CAGD,e,CACC,mDAIF,0B,CACC,Y,CAGD,wB,CACC,Y,CACA,qB,CACA,W,CACA,iC,CACA,e,CAGD,c,CACC,6C,CACA,gD,CACA,8C,CACA,2C,CACA,mC,CACA,oB,CACA,kB,CAID,oB,CADA,oB,CAEC,yC,CAGD,Y,CACC,wD,CACA,wD,CACA,2B,CACA,2C,CACA,uD,CACA,6D,CACA,Y,CACA,qB,CACA,e,CACA,e,CACA,e,CAGD,6B,CACA,2B,CACC,oC,CACA,2B,CACA,4B,CAGD,e,CACC,a,CACA,yC,CACA,e,CACA,4C,CACA,gD,CAGD,gB,CACC,Q,CACA,0C,CACA,e,CACA,oE,CACA,S,CASD,Y,CACC,oB,CACA,c,CACA,qB,CACA,W,CACA,6B,CACA,U,CAGD,wB,CACC,oB,CACA,U,CAGD,e,CACC,e,CAGD,e,CACC,e,CAGD,e,CACC,gB,CAGD,8B,CACC,kD,CASD,iB,CACC,oH,CAMA,4G,CAMA,2B,CACA,mB,CACA,6C,CA4BD,gB,CAQA,kB,CAEC,mE,CAEA,qC,CACA,sC,CAbD,gB,CACC,+C,CAEA,8E,CAKD,kB,CACC,iD,CAEA,gF,CAKD,gB,CACC,+C,CAEA,8E,CAKD,a,CARA,gB,CAgBA,gB,CAEC,mE,CAEA,qC,CACA,sC,CAbD,a,CACC,4C,CAEA,2E,CAKD,gB,CACC,+C,CAEA,8E,CAKD,e,CACC,8C,CAEA,6E,CAHD,e,CAgBA,a,CARA,c,CAUC,mE,CAEA,qC,CACA,sC,CAbD,c,CACC,6C,CAEA,4E,CAKD,a,CACC,4C,CAEA,2E,CAWD,a,CACC,oF,CACA,qH,CACA,6G,CAID,mB,CADA,mB,CAEC,qE,CACA,uG,CACA,+F,CAGD,e,CACC,sF,CACA,uH,CACA,+G,CAID,qB,CADA,qB,CAEC,uE,CACA,yG,CACA,iG,CAGD,a,CACC,oF,CACA,qH,CACA,6G,CAID,mB,CADA,mB,CAEC,qE,CACA,uG,CACA,+F,CAGD,U,CACC,iF,CACA,kH,CACA,0G,CAID,gB,CADA,gB,CAEC,kE,CACA,oG,CACA,4F,CAGD,a,CACC,oF,CACA,qH,CACA,6G,CAID,mB,CADA,mB,CAEC,qE,CACA,uG,CACA,+F,CAGD,Y,CACC,mF,CACA,oH,CACA,4G,CAID,kB,CADA,kB,CAEC,oE,CACA,sG,CACA,8F,CAGD,W,CACC,kF,CACA,mH,CACA,2G,CAID,iB,CADA,iB,CAEC,mE,CACA,qG,CACA,6F,CAGD,U,CACC,iF,CACA,kH,CACA,0G,CAID,gB,CADA,gB,CAEC,kE,CACA,oG,CACA,4F,CAGD,mB,CACC,4E,CACA,8G,CACA,sG,CAID,yB,CADA,yB,CAEC,+E,CACA,iH,CACA,yG,CASD,iB,CACC,mB,CACA,2J,CAGD,mB,CACC,+E,CAGD,qB,CACC,iF,CAGD,mB,CACC,+E,CAGD,gB,CACC,4E,CAGD,mB,CACC,+E,CAGD,kB,CACC,8E,CAGD,iB,CACC,6E,CAGD,gB,CACC,4E,CASD,U,CACG,mB,CACA,W,CACA,kB,CACA,sF,CACA,8E,CACA,sD,CACA,kC,CACA,0B,CAGH,c,CACG,a,CACA,S,CACA,U,CACA,iB,CACA,oC,CAGH,uCACG,c,CACE,iBAKL,kC,CADA,0B,CAEG,mE,CAiBH,a,CARA,U,CASC,c,CACA,M,CAEA,O,CACA,Y,CAbD,U,CAEC,K,CAMD,a,CAGC,Q,CAYD,c,CAPA,W,CAQC,uB,CACA,e,CAEA,Y,CAXD,W,CAGC,K,CAID,c,CAGC,Q,CAID,yBAQC,iB,CAPA,c,CAQC,uB,CACA,e,CAEA,Y,CAXD,c,CAGC,K,CAID,iB,CAGC,UAKF,A,yBAQC,iB,CAPA,c,CAQC,uB,CACA,e,CAEA,Y,CAXD,c,CAGC,K,CAID,iB,CAGC,UAKF,A,yBAQC,iB,CAPA,c,CAQC,uB,CACA,e,CAEA,Y,CAXD,c,CAGC,K,CAID,iB,CAGC,UAKF,A,0BAQC,iB,CAPA,c,CAQC,uB,CACA,e,CAEA,Y,CAXD,c,CAGC,K,CAID,iB,CAGC,UAKF,A,0BAQC,kB,CAPA,e,CAQC,uB,CACA,e,CAEA,Y,CAXD,e,CAGC,K,CAID,kB,CAGC,UAWF,M,CAWA,Q,CAVC,iB,CACA,U,CAGD,c,CACC,a,CACA,kC,CACA,U,CAGD,Q,CACC,iB,CACA,K,CACA,O,CAEA,W,CAGD,U,CACC,sB,CAGD,U,CACC,qB,CAGD,W,CACC,wB,CAGD,W,CACC,gC,CASD,O,CAOA,O,CACC,Y,CAGA,kB,CAXD,O,CAEC,kB,CACA,kB,CAID,O,CAEC,a,CACA,qB,CAUD,sB,CACC,iB,CACA,K,CACA,M,CACA,Q,CACA,O,CACA,S,CACA,U,CASD,c,CACC,e,CACA,sB,CACA,kB,CASD,G,CACC,oB,CACA,kB,CACA,4B,CACA,c,CACA,6B,CACA,W,CASD,gB,CACA,+BAA+B,M,MAAY,c,CAC1C,mB,CACA,oB,CACA,mB,CACA,qB,CACA,yB,CACA,4B,CACA,4B,CACA,kB,CAID,+BAA+B,M,MAAY,a,MAAmB,Q,CAD9D,qBAAqB,Q,CAEpB,2B,CASD,W,CACC,iB,CACA,2E,CAGD,a,CAKA,W,CAJC,iB,CACA,6E,CAGD,W,CAEC,2E,CAGD,Q,CAKA,W,CAJC,iB,CACA,wE,CAGD,W,CAEC,2E,CAGD,U,CAKA,S,CAJC,iB,CACA,0E,CAGD,S,CAEC,yE,CAQD,S,CALA,Q,CACC,iB,CACA,wE,CAGD,S,CAEC,yE,CAQD,Q,CALA,S,CACC,iB,CACA,yE,CAGD,Q,CAEC,2E,CAGD,e,CACC,iB,CACA,sC,CAGD,kB,CACC,iB,CACA,gF,CAGD,iB,CACC,iB,CACA,+E,CAGD,iB,CACC,iB,CACA,+E,CAGD,c,CACC,mB,CAGD,c,CACC,oB,CAGD,c,CACC,mB,CAGD,c,CACC,oB,CAGD,e,CACC,iB,CAGD,kB,CACC,sD,CAGD,oB,CACC,wD,CAGD,kB,CACC,sD,CAGD,e,CACC,mD,CAGD,kB,CACC,sD,CAGD,iB,CACC,qD,CAGD,gB,CACC,oD,CAGD,e,CACC,mD,CAGD,Y,CACC,6C,CASD,O,CACC,qF,CAGD,S,CACC,kB,CAGD,W,CACC,yF,CAGD,a,CACC,sB,CAGD,W,CACC,0F,CAGD,a,CACC,uB,CAGD,c,CACC,4F,CAGD,gB,CACC,yB,CAGD,a,CACC,2F,CAGD,e,CACC,wB,CAGD,e,CAKA,iB,CAJC,qB,CACA,2E,CAGD,iB,CAEC,6E,CAQD,Y,CALA,e,CACC,qB,CACA,2E,CAGD,Y,CAEC,wE,CAQD,c,CALA,e,CACC,qB,CACA,2E,CAGD,c,CAEC,0E,CAQD,Y,CALA,a,CACC,qB,CACA,yE,CAGD,Y,CAEC,wE,CAGD,a,CAKA,a,CAJC,qB,CACA,yE,CAGD,a,CAEC,yE,CAGD,sB,CACC,sD,CAGD,wB,CACC,wD,CAGD,sB,CACC,sD,CAGD,mB,CACC,mD,CAGD,sB,CACC,sD,CAGD,qB,CACC,qD,CAGD,oB,CACC,oD,CAGD,mB,CACC,mD,CAGD,S,CACC,+C,CAGD,S,CACC,+C,CAGD,S,CACC,+C,CAGD,S,CACC,+C,CAGD,S,CACC,+C,CAGD,kB,CACC,uB,CAGD,kB,CACC,wB,CAGD,kB,CACC,uB,CAGD,kB,CACC,wB,CAGD,mB,CACC,qB,CAGD,Q,CACC,+C,CAGD,U,CACC,yB,CAGD,U,CACC,kD,CAGD,U,CACC,+C,CAGD,U,CACC,kD,CAGD,U,CACC,kD,CAGD,U,CACC,mD,CAGD,e,CACC,2B,CAGD,a,CACC,oD,CAGD,Y,CACC,yD,CACA,wD,CAGD,c,CACC,mC,CACA,kC,CAGD,c,CACC,4D,CACA,2D,CAGD,c,CACC,yD,CACA,wD,CAGD,c,CACC,4D,CACA,2D,CAGD,c,CACC,4D,CACA,2D,CAGD,c,CACC,6D,CACA,4D,CAGD,mB,CACC,qC,CACA,oC,CAGD,iB,CACC,8D,CACA,6D,CAGD,Y,CACC,wD,CACA,2D,CAGD,c,CACC,kC,CACA,qC,CAGD,c,CACC,2D,CACA,8D,CAGD,c,CACC,wD,CACA,2D,CAGD,c,CACC,2D,CACA,8D,CAGD,c,CACC,2D,CACA,8D,CAGD,c,CACC,4D,CACA,+D,CAGD,mB,CACC,oC,CACA,uC,CAGD,iB,CACC,6D,CACA,gE,CAGD,e,CACC,2D,CACA,4D,CAGD,iB,CACC,qC,CACA,sC,CAGD,iB,CACC,8D,CACA,+D,CAGD,iB,CACC,2D,CACA,4D,CAGD,iB,CACC,8D,CACA,+D,CAGD,iB,CACC,8D,CACA,+D,CAGD,iB,CACC,+D,CACA,gE,CAGD,sB,CACC,uC,CACA,wC,CAGD,oB,CACC,gE,CACA,iE,CAGD,c,CACC,4D,CACA,yD,CAGD,gB,CACC,sC,CACA,mC,CAGD,gB,CACC,+D,CACA,4D,CAGD,gB,CACC,4D,CACA,yD,CAGD,gB,CACC,+D,CACA,4D,CAGD,gB,CACC,+D,CACA,4D,CAGD,gB,CACC,gE,CACA,6D,CAGD,qB,CACC,wC,CACA,qC,CAGD,mB,CACC,iE,CACA,8D,CASD,O,CACC,yC,CAGD,U,CACC,4C,CAGD,U,CACC,4C,CAGD,Y,CACC,yB,CASD,a,CACC,mB,CACA,kE,CAGD,e,CAKA,a,CAJC,mB,CACA,oE,CAGD,a,CAEC,kE,CAGD,U,CAKA,a,CAJC,mB,CACA,+D,CAGD,a,CAEC,kE,CAGD,Y,CAKA,W,CAJC,mB,CACA,iE,CAGD,W,CAEC,gE,CAQD,W,CALA,U,CACC,mB,CACA,+D,CAGD,W,CAEC,gE,CAQD,U,CALA,W,CACC,mB,CACA,gE,CAGD,U,CAEC,qE,CAGD,W,CACC,mB,CACA,yC,CAGD,c,CAKA,c,CAJC,mB,CACA,4C,CAGD,c,CAEC,4C,CAGD,oB,CACC,mB,CACA,yC,CAGD,mB,CACC,mB,CACA,wC,CAGD,mB,CACC,mB,CACA,wC,CAGD,W,CACC,mB,CACA,uB,CAGD,gB,CACC,sB,CAGD,gB,CACC,qB,CAGD,gB,CACC,sB,CAGD,iB,CACC,mB,CAGD,sB,CACC,+C,CAGD,wB,CACC,iD,CAGD,sB,CACC,+C,CAGD,mB,CACC,4C,CAGD,sB,CACC,+C,CAGD,qB,CACC,8C,CAGD,oB,CACC,6C,CAGD,mB,CACC,4C,CASD,S,CACC,wB,CAGD,e,CACC,8B,CAGD,Q,CACC,uB,CAGD,O,CACC,sB,CAGD,c,CACC,6B,CAGD,Q,CACC,uB,CAGD,Y,CACC,2B,CAGD,a,CACC,4B,CAGD,O,CACC,sB,CAGD,c,CACC,6B,CAGD,O,CACC,sB,CAGD,yBACC,Y,CACC,wB,CAGD,kB,CACC,8B,CAGD,W,CACC,uB,CAGD,U,CACC,sB,CAGD,iB,CACC,6B,CAGD,W,CACC,uB,CAGD,e,CACC,2B,CAGD,gB,CACC,4B,CAGD,U,CACC,sB,CAGD,iB,CACC,6B,CAGD,U,CACC,wBAIF,A,yBACC,Y,CACC,wB,CAGD,kB,CACC,8B,CAGD,W,CACC,uB,CAGD,U,CACC,sB,CAGD,iB,CACC,6B,CAGD,W,CACC,uB,CAGD,e,CACC,2B,CAGD,gB,CACC,4B,CAGD,U,CACC,sB,CAGD,iB,CACC,6B,CAGD,U,CACC,wBAIF,A,yBACC,Y,CACC,wB,CAGD,kB,CACC,8B,CAGD,W,CACC,uB,CAGD,U,CACC,sB,CAGD,iB,CACC,6B,CAGD,W,CACC,uB,CAGD,e,CACC,2B,CAGD,gB,CACC,4B,CAGD,U,CACC,sB,CAGD,iB,CACC,6B,CAGD,U,CACC,wBAIF,A,0BACC,Y,CACC,wB,CAGD,kB,CACC,8B,CAGD,W,CACC,uB,CAGD,U,CACC,sB,CAGD,iB,CACC,6B,CAGD,W,CACC,uB,CAGD,e,CACC,2B,CAGD,gB,CACC,4B,CAGD,U,CACC,sB,CAGD,iB,CACC,6B,CAGD,U,CACC,wBAIF,A,0BACC,a,CACC,wB,CAGD,mB,CACC,8B,CAGD,Y,CACC,uB,CAGD,W,CACC,sB,CAGD,kB,CACC,6B,CAGD,Y,CACC,uB,CAGD,gB,CACC,2B,CAGD,iB,CACC,4B,CAGD,W,CACC,sB,CAGD,kB,CACC,6B,CAGD,W,CACC,wBAIF,A,aACC,e,CACC,wB,CAGD,qB,CACC,8B,CAGD,c,CACC,uB,CAGD,a,CACC,sB,CAGD,c,CACC,uB,CAGD,kB,CACC,2B,CAGD,mB,CACC,4B,CAGD,a,CACC,sB,CAGD,oB,CACC,6B,CAGD,a,CACC,wBAUF,U,CACC,uB,CAGD,S,CACC,4B,CAGD,Y,CACC,+B,CAGD,iB,CACC,oC,CAGD,oB,CACC,uC,CAGD,Y,CACC,qB,CAGD,Y,CACC,qB,CAGD,c,CACC,uB,CAGD,c,CACC,uB,CAGD,U,CACC,wB,CAGD,Y,CACC,0B,CAGD,kB,CACC,gC,CAGD,sB,CACC,oC,CAGD,oB,CACC,kC,CAGD,uB,CACC,gC,CAGD,wB,CACC,uC,CAGD,uB,CACC,sC,CAGD,uB,CACC,sC,CAGD,kB,CACC,gC,CAGD,gB,CACC,8B,CAGD,mB,CACC,4B,CAGD,qB,CACC,8B,CAGD,oB,CACC,6B,CAGD,oB,CACC,kC,CAGD,kB,CACC,gC,CAGD,qB,CACC,8B,CAGD,sB,CACC,qC,CAGD,qB,CACC,oC,CAGD,sB,CACC,+B,CAGD,gB,CACC,yB,CAGD,iB,CACC,+B,CAGD,e,CACC,6B,CAGD,kB,CACC,2B,CAGD,oB,CACC,6B,CAGD,mB,CACC,4B,CAGD,Y,CACC,kB,CAGD,Q,CACC,iB,CAGD,Q,CACC,iB,CAGD,Q,CACC,iB,CAGD,Q,CACC,iB,CAGD,Q,CACC,iB,CAGD,Q,CACC,iB,CAGD,W,CACC,iB,CAGD,yBACC,a,CACC,uB,CAGD,Y,CACC,4B,CAGD,e,CACC,+B,CAGD,oB,CACC,oC,CAGD,uB,CACC,uC,CAGD,e,CACC,qB,CAGD,e,CACC,qB,CAGD,iB,CACC,uB,CAGD,iB,CACC,uB,CAGD,a,CACC,wB,CAGD,e,CACC,0B,CAGD,qB,CACC,gC,CAGD,yB,CACC,oC,CAGD,uB,CACC,kC,CAGD,0B,CACC,gC,CAGD,2B,CACC,uC,CAGD,0B,CACC,sC,CAGD,0B,CACC,sC,CAGD,qB,CACC,gC,CAGD,mB,CACC,8B,CAGD,sB,CACC,4B,CAGD,wB,CACC,8B,CAGD,uB,CACC,6B,CAGD,uB,CACC,kC,CAGD,qB,CACC,gC,CAGD,wB,CACC,8B,CAGD,yB,CACC,qC,CAGD,wB,CACC,oC,CAGD,yB,CACC,+B,CAGD,mB,CACC,yB,CAGD,oB,CACC,+B,CAGD,kB,CACC,6B,CAGD,qB,CACC,2B,CAGD,uB,CACC,6B,CAGD,sB,CACC,4B,CAGD,e,CACC,kB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,c,CACC,mBAIF,A,yBACC,a,CACC,uB,CAGD,Y,CACC,4B,CAGD,e,CACC,+B,CAGD,oB,CACC,oC,CAGD,uB,CACC,uC,CAGD,e,CACC,qB,CAGD,e,CACC,qB,CAGD,iB,CACC,uB,CAGD,iB,CACC,uB,CAGD,a,CACC,wB,CAGD,e,CACC,0B,CAGD,qB,CACC,gC,CAGD,yB,CACC,oC,CAGD,uB,CACC,kC,CAGD,0B,CACC,gC,CAGD,2B,CACC,uC,CAGD,0B,CACC,sC,CAGD,0B,CACC,sC,CAGD,qB,CACC,gC,CAGD,mB,CACC,8B,CAGD,sB,CACC,4B,CAGD,wB,CACC,8B,CAGD,uB,CACC,6B,CAGD,uB,CACC,kC,CAGD,qB,CACC,gC,CAGD,wB,CACC,8B,CAGD,yB,CACC,qC,CAGD,wB,CACC,oC,CAGD,yB,CACC,+B,CAGD,mB,CACC,yB,CAGD,oB,CACC,+B,CAGD,kB,CACC,6B,CAGD,qB,CACC,2B,CAGD,uB,CACC,6B,CAGD,sB,CACC,4B,CAGD,e,CACC,kB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,c,CACC,mBAIF,A,yBACC,a,CACC,uB,CAGD,Y,CACC,4B,CAGD,e,CACC,+B,CAGD,oB,CACC,oC,CAGD,uB,CACC,uC,CAGD,e,CACC,qB,CAGD,e,CACC,qB,CAGD,iB,CACC,uB,CAGD,iB,CACC,uB,CAGD,a,CACC,wB,CAGD,e,CACC,0B,CAGD,qB,CACC,gC,CAGD,yB,CACC,oC,CAGD,uB,CACC,kC,CAGD,0B,CACC,gC,CAGD,2B,CACC,uC,CAGD,0B,CACC,sC,CAGD,0B,CACC,sC,CAGD,qB,CACC,gC,CAGD,mB,CACC,8B,CAGD,sB,CACC,4B,CAGD,wB,CACC,8B,CAGD,uB,CACC,6B,CAGD,uB,CACC,kC,CAGD,qB,CACC,gC,CAGD,wB,CACC,8B,CAGD,yB,CACC,qC,CAGD,wB,CACC,oC,CAGD,yB,CACC,+B,CAGD,mB,CACC,yB,CAGD,oB,CACC,+B,CAGD,kB,CACC,6B,CAGD,qB,CACC,2B,CAGD,uB,CACC,6B,CAGD,sB,CACC,4B,CAGD,e,CACC,kB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,c,CACC,mBAIF,A,0BACC,a,CACC,uB,CAGD,Y,CACC,4B,CAGD,e,CACC,+B,CAGD,oB,CACC,oC,CAGD,uB,CACC,uC,CAGD,e,CACC,qB,CAGD,e,CACC,qB,CAGD,iB,CACC,uB,CAGD,iB,CACC,uB,CAGD,a,CACC,wB,CAGD,e,CACC,0B,CAGD,qB,CACC,gC,CAGD,yB,CACC,oC,CAGD,uB,CACC,kC,CAGD,0B,CACC,gC,CAGD,2B,CACC,uC,CAGD,0B,CACC,sC,CAGD,0B,CACC,sC,CAGD,qB,CACC,gC,CAGD,mB,CACC,8B,CAGD,sB,CACC,4B,CAGD,wB,CACC,8B,CAGD,uB,CACC,6B,CAGD,uB,CACC,kC,CAGD,qB,CACC,gC,CAGD,wB,CACC,8B,CAGD,yB,CACC,qC,CAGD,wB,CACC,oC,CAGD,yB,CACC,+B,CAGD,mB,CACC,yB,CAGD,oB,CACC,+B,CAGD,kB,CACC,6B,CAGD,qB,CACC,2B,CAGD,uB,CACC,6B,CAGD,sB,CACC,4B,CAGD,e,CACC,kB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,W,CACC,iB,CAGD,c,CACC,mBAIF,A,0BACC,c,CACC,uB,CAGD,a,CACC,4B,CAGD,gB,CACC,+B,CAGD,qB,CACC,oC,CAGD,wB,CACC,uC,CAGD,gB,CACC,qB,CAGD,gB,CACC,qB,CAGD,kB,CACC,uB,CAGD,kB,CACC,uB,CAGD,c,CACC,wB,CAGD,gB,CACC,0B,CAGD,sB,CACC,gC,CAGD,0B,CACC,oC,CAGD,wB,CACC,kC,CAGD,2B,CACC,gC,CAGD,4B,CACC,uC,CAGD,2B,CACC,sC,CAGD,2B,CACC,sC,CAGD,sB,CACC,gC,CAGD,oB,CACC,8B,CAGD,uB,CACC,4B,CAGD,yB,CACC,8B,CAGD,wB,CACC,6B,CAGD,wB,CACC,kC,CAGD,sB,CACC,gC,CAGD,yB,CACC,8B,CAGD,0B,CACC,qC,CAGD,yB,CACC,oC,CAGD,0B,CACC,+B,CAGD,oB,CACC,yB,CAGD,qB,CACC,+B,CAGD,mB,CACC,6B,CAGD,sB,CACC,2B,CAGD,wB,CACC,6B,CAGD,uB,CACC,4B,CAGD,gB,CACC,kB,CAGD,Y,CACC,iB,CAGD,Y,CACC,iB,CAGD,Y,CACC,iB,CAGD,Y,CACC,iB,CAGD,Y,CACC,iB,CAGD,Y,CACC,iB,CAGD,e,CACC,mBAUF,Y,CACC,qB,CAGD,U,CACC,oB,CAGD,W,CACC,oB,CAGD,yBACC,e,CACC,qB,CAGD,a,CACC,oB,CAGD,c,CACC,sBAIF,A,yBACC,e,CACC,qB,CAGD,a,CACC,oB,CAGD,c,CACC,sBAIF,A,yBACC,e,CACC,qB,CAGD,a,CACC,oB,CAGD,c,CACC,sBAIF,A,0BACC,e,CACC,qB,CAGD,a,CACC,oB,CAGD,c,CACC,sBAIF,A,0BACC,gB,CACC,qB,CAGD,c,CACC,oB,CAGD,e,CACC,sBAUF,gB,CACC,iC,CACA,8B,CACA,yB,CAGD,iB,CACC,kC,CACA,+B,CACA,0B,CAGD,iB,CACC,kC,CACA,+B,CACA,0B,CAGD,Q,CACC,6B,CAGD,Q,CACC,6B,CASD,gB,CAIA,4B,CAHC,qB,CAOD,gB,CAIA,4B,CAHC,sB,CAOD,gB,CAIA,4B,CAHC,qB,CAOD,gB,CAIA,4B,CAHC,sB,CAOD,iB,CAIA,6B,CAHC,mB,CAOD,c,CAIA,0B,CAHC,gE,CAOD,c,CAIA,0B,CAHC,gE,CAOD,c,CAIA,0B,CAHC,gE,CAOD,uB,CAMA,yB,CALC,6B,CACA,oG,CACA,4F,CAGD,yB,CAEC,sG,CACA,8F,CASD,oB,CANA,uB,CACC,6B,CACA,oG,CACA,4F,CAGD,oB,CAEC,iG,CACA,yF,CASD,sB,CANA,uB,CACC,6B,CACA,oG,CACA,4F,CAGD,sB,CAEC,mG,CACA,2F,CASD,oB,CANA,qB,CACC,6B,CACA,kG,CACA,0F,CAGD,oB,CAEC,iG,CACA,yF,CAGD,e,CACC,6B,CACA,0G,CACA,kG,CAGD,yB,CAIA,qC,CAHC,6B,CAOD,0B,CAIA,sC,CAHC,+B,CAOD,0B,CAIA,sC,CAHC,gC,CAOD,0B,CAIA,sC,CAHC,+B,CAOD,0B,CAIA,sC,CAHC,gC,CAOD,2B,CAIA,uC,CAHC,6B,CAaD,mB,CACC,4B,CAGD,iB,CACC,0B,CAGD,gB,CACC,yB,CAGD,iB,CACC,+B,CAGD,gB,CACC,yB,CAID,yBACC,sB,CACC,4B,CAGD,oB,CACC,0B,CAGD,mB,CACC,yB,CAGD,oB,CACC,+B,CAGD,mB,CACC,2BAIF,A,yBACC,sB,CACC,4B,CAGD,oB,CACC,0B,CAGD,mB,CACC,yB,CAGD,oB,CACC,+B,CAGD,mB,CACC,2BAIF,A,yBACC,sB,CACC,4B,CAGD,oB,CACC,0B,CAGD,mB,CACC,yB,CAGD,oB,CACC,+B,CAGD,mB,CACC,2BAIF,A,0BACC,sB,CACC,4B,CAGD,oB,CACC,0B,CAGD,mB,CACC,yB,CAGD,oB,CACC,+B,CAGD,mB,CACC,2BAIF,A,0BACC,uB,CACC,4B,CAGD,qB,CACC,0B,CAGD,oB,CACC,yB,CAGD,qB,CACC,+B,CAGD,oB,CACC,2BAUF,U,CACC,mB,CAGD,W,CACC,qB,CAGD,W,CACC,oB,CAGD,W,CACC,qB,CAGD,Y,CACC,mB,CASD,c,CACC,uB,CAGD,gB,CACC,yB,CAGD,iB,CACC,0B,CAGD,gB,CACC,yB,CAGD,gB,CACC,yB,CAGD,kB,CACC,2B,CAGD,mB,CACC,4B,CAGD,kB,CACC,2B,CAGD,gB,CACC,yB,CAGD,kB,CACC,2B,CAGD,mB,CACC,4B,CAGD,kB,CACC,2B,CAGD,yBACC,iB,CACC,uB,CAGD,mB,CACC,yB,CAGD,oB,CACC,0B,CAGD,mB,CACC,yB,CAGD,mB,CACC,yB,CAGD,qB,CACC,2B,CAGD,sB,CACC,4B,CAGD,qB,CACC,2B,CAGD,mB,CACC,yB,CAGD,qB,CACC,2B,CAGD,sB,CACC,4B,CAGD,qB,CACC,6BAIF,A,yBACC,iB,CACC,uB,CAGD,mB,CACC,yB,CAGD,oB,CACC,0B,CAGD,mB,CACC,yB,CAGD,mB,CACC,yB,CAGD,qB,CACC,2B,CAGD,sB,CACC,4B,CAGD,qB,CACC,2B,CAGD,mB,CACC,yB,CAGD,qB,CACC,2B,CAGD,sB,CACC,4B,CAGD,qB,CACC,6BAIF,A,yBACC,iB,CACC,uB,CAGD,mB,CACC,yB,CAGD,oB,CACC,0B,CAGD,mB,CACC,yB,CAGD,mB,CACC,yB,CAGD,qB,CACC,2B,CAGD,sB,CACC,4B,CAGD,qB,CACC,2B,CAGD,mB,CACC,yB,CAGD,qB,CACC,2B,CAGD,sB,CACC,4B,CAGD,qB,CACC,6BAIF,A,0BACC,iB,CACC,uB,CAGD,mB,CACC,yB,CAGD,oB,CACC,0B,CAGD,mB,CACC,yB,CAGD,mB,CACC,yB,CAGD,qB,CACC,2B,CAGD,sB,CACC,4B,CAGD,qB,CACC,2B,CAGD,mB,CACC,yB,CAGD,qB,CACC,2B,CAGD,sB,CACC,4B,CAGD,qB,CACC,6BAIF,A,0BACC,kB,CACC,uB,CAGD,oB,CACC,yB,CAGD,qB,CACC,0B,CAGD,oB,CACC,yB,CAGD,oB,CACC,yB,CAGD,sB,CACC,2B,CAGD,uB,CACC,4B,CAGD,sB,CACC,2B,CAGD,oB,CACC,yB,CAGD,sB,CACC,2B,CAGD,uB,CACC,4B,CAGD,sB,CACC,6BAUF,gB,CACC,yB,CAGD,kB,CACC,2B,CAGD,kB,CACC,2B,CAGD,e,CACC,wB,CAGD,gB,CACC,iC,CACA,yB,CAGD,M,CACC,e,CAGD,O,CACC,iB,CAGD,Q,CACC,kB,CAGD,S,CACC,kB,CAGD,U,CACC,oB,CAGD,W,CACC,qB,CAGD,Q,CACC,iB,CAGD,S,CACC,mB,CAGD,U,CACC,oB,CAGD,M,CACC,gB,CAGD,O,CACC,kB,CAGD,Q,CACC,mB,CAGD,iB,CACC,uC,CAGD,mB,CACC,mC,CAGD,mB,CACC,oC,CAGD,yBACC,mB,CACC,yB,CAGD,qB,CACC,2B,CAGD,qB,CACC,2B,CAGD,kB,CACC,wB,CAGD,mB,CACC,iC,CACA,yB,CAGD,S,CACC,e,CAGD,U,CACC,iB,CAGD,W,CACC,kB,CAGD,Y,CACC,kB,CAGD,a,CACC,oB,CAGD,c,CACC,qB,CAGD,W,CACC,iB,CAGD,Y,CACC,mB,CAGD,a,CACC,oB,CAGD,S,CACC,gB,CAGD,U,CACC,kB,CAGD,W,CACC,mB,CAGD,oB,CACC,uC,CAGD,sB,CACC,mC,CAGD,sB,CACC,sCAIF,A,yBACC,mB,CACC,yB,CAGD,qB,CACC,2B,CAGD,qB,CACC,2B,CAGD,kB,CACC,wB,CAGD,mB,CACC,iC,CACA,yB,CAGD,S,CACC,e,CAGD,U,CACC,iB,CAGD,W,CACC,kB,CAGD,Y,CACC,kB,CAGD,a,CACC,oB,CAGD,c,CACC,qB,CAGD,W,CACC,iB,CAGD,Y,CACC,mB,CAGD,a,CACC,oB,CAGD,S,CACC,gB,CAGD,U,CACC,kB,CAGD,W,CACC,mB,CAGD,oB,CACC,uC,CAGD,sB,CACC,mC,CAGD,sB,CACC,sCAIF,A,yBACC,mB,CACC,yB,CAGD,qB,CACC,2B,CAGD,qB,CACC,2B,CAGD,kB,CACC,wB,CAGD,mB,CACC,iC,CACA,yB,CAGD,S,CACC,e,CAGD,U,CACC,iB,CAGD,W,CACC,kB,CAGD,Y,CACC,kB,CAGD,a,CACC,oB,CAGD,c,CACC,qB,CAGD,W,CACC,iB,CAGD,Y,CACC,mB,CAGD,a,CACC,oB,CAGD,S,CACC,gB,CAGD,U,CACC,kB,CAGD,W,CACC,mB,CAGD,oB,CACC,uC,CAGD,sB,CACC,mC,CAGD,sB,CACC,sCAIF,A,0BACC,mB,CACC,yB,CAGD,qB,CACC,2B,CAGD,qB,CACC,2B,CAGD,kB,CACC,wB,CAGD,mB,CACC,iC,CACA,yB,CAGD,S,CACC,e,CAGD,U,CACC,iB,CAGD,W,CACC,kB,CAGD,Y,CACC,kB,CAGD,a,CACC,oB,CAGD,c,CACC,qB,CAGD,W,CACC,iB,CAGD,Y,CACC,mB,CAGD,a,CACC,oB,CAGD,S,CACC,gB,CAGD,U,CACC,kB,CAGD,W,CACC,mB,CAGD,oB,CACC,uC,CAGD,sB,CACC,mC,CAGD,sB,CACC,sCAIF,A,0BACC,oB,CACC,yB,CAGD,sB,CACC,2B,CAGD,sB,CACC,2B,CAGD,mB,CACC,wB,CAGD,oB,CACC,iC,CACA,yB,CAGD,U,CACC,e,CAGD,W,CACC,iB,CAGD,Y,CACC,kB,CAGD,a,CACC,kB,CAGD,c,CACC,oB,CAGD,e,CACC,qB,CAGD,Y,CACC,iB,CAGD,a,CACC,mB,CAGD,c,CACC,oB,CAGD,U,CACC,gB,CAGD,W,CACC,kB,CAGD,Y,CACC,mB,CAGD,qB,CACC,uC,CAGD,uB,CACC,mC,CAGD,uB,CACC,sCAUF,c,CACC,yB,CAGD,c,CACC,wB,CAGD,c,CACC,yB,CAGD,e,CACC,uB,CAGD,e,CACC,wB,CAGD,e,CACC,uB,CAGD,e,CACC,yB,CAGD,e,CACC,wB,CAGD,e,CACC,yB,CAGD,e,CACC,qB,CAGD,e,CACC,yB,CAGD,e,CACC,wB,CAGD,e,CACC,yB,CAGD,e,CACC,uB,CAGD,O,CACC,oB,CAGD,K,CACC,mB,CAGD,K,CACC,mB,CAGD,K,CACC,mB,CAGD,M,CACC,oB,CAGD,O,CACC,wB,CAGD,O,CACC,qB,CAGD,W,CACC,yB,CAGD,c,CACC,0B,CAGD,c,CACC,yB,CAGD,c,CACC,0B,CAGD,e,CACC,wB,CAGD,e,CACC,yB,CAGD,e,CACC,wB,CAGD,e,CACC,0B,CAGD,e,CACC,yB,CAGD,e,CACC,0B,CAGD,e,CACC,sB,CAGD,e,CACC,0B,CAGD,e,CACC,yB,CAGD,e,CACC,0B,CAGD,e,CACC,wB,CAGD,O,CACC,qB,CAGD,K,CACC,oB,CAGD,K,CACC,oB,CAGD,K,CACC,oB,CAGD,M,CACC,qB,CAGD,O,CACC,yB,CAGD,O,CACC,sB,CAGD,W,CACC,0B,CAGD,yBACC,iB,CACC,yB,CAGD,iB,CACC,wB,CAGD,iB,CACC,yB,CAGD,kB,CACC,uB,CAGD,kB,CACC,wB,CAGD,kB,CACC,uB,CAGD,kB,CACC,yB,CAGD,kB,CACC,wB,CAGD,kB,CACC,yB,CAGD,kB,CACC,qB,CAGD,kB,CACC,yB,CAGD,kB,CACC,wB,CAGD,kB,CACC,yB,CAGD,kB,CACC,uB,CAGD,U,CACC,oB,CAGD,Q,CACC,mB,CAGD,Q,CACC,mB,CAGD,Q,CACC,mB,CAGD,S,CACC,oB,CAGD,U,CACC,wB,CAGD,U,CACC,qB,CAGD,c,CACC,yB,CAGD,iB,CACC,0B,CAGD,iB,CACC,yB,CAGD,iB,CACC,0B,CAGD,kB,CACC,wB,CAGD,kB,CACC,yB,CAGD,kB,CACC,wB,CAGD,kB,CACC,0B,CAGD,kB,CACC,yB,CAGD,kB,CACC,0B,CAGD,kB,CACC,sB,CAGD,kB,CACC,0B,CAGD,kB,CACC,yB,CAGD,kB,CACC,0B,CAGD,kB,CACC,wB,CAGD,U,CACC,qB,CAGD,Q,CACC,oB,CAGD,Q,CACC,oB,CAGD,Q,CACC,oB,CAGD,S,CACC,qB,CAGD,U,CACC,yB,CAGD,U,CACC,sB,CAGD,c,CACC,4BAIF,A,yBACC,iB,CACC,yB,CAGD,iB,CACC,wB,CAGD,iB,CACC,yB,CAGD,kB,CACC,uB,CAGD,kB,CACC,wB,CAGD,kB,CACC,uB,CAGD,kB,CACC,yB,CAGD,kB,CACC,wB,CAGD,kB,CACC,yB,CAGD,kB,CACC,qB,CAGD,kB,CACC,yB,CAGD,kB,CACC,wB,CAGD,kB,CACC,yB,CAGD,kB,CACC,uB,CAGD,U,CACC,oB,CAGD,Q,CACC,mB,CAGD,Q,CACC,mB,CAGD,Q,CACC,mB,CAGD,S,CACC,oB,CAGD,U,CACC,wB,CAGD,U,CACC,qB,CAGD,c,CACC,yB,CAGD,iB,CACC,0B,CAGD,iB,CACC,yB,CAGD,iB,CACC,0B,CAGD,kB,CACC,wB,CAGD,kB,CACC,yB,CAGD,kB,CACC,wB,CAGD,kB,CACC,0B,CAGD,kB,CACC,yB,CAGD,kB,CACC,0B,CAGD,kB,CACC,sB,CAGD,kB,CACC,0B,CAGD,kB,CACC,yB,CAGD,kB,CACC,0B,CAGD,kB,CACC,wB,CAGD,U,CACC,qB,CAGD,Q,CACC,oB,CAGD,Q,CACC,oB,CAGD,Q,CACC,oB,CAGD,S,CACC,qB,CAGD,U,CACC,yB,CAGD,U,CACC,sB,CAGD,c,CACC,4BAIF,A,yBACC,iB,CACC,yB,CAGD,iB,CACC,wB,CAGD,iB,CACC,yB,CAGD,kB,CACC,uB,CAGD,kB,CACC,wB,CAGD,kB,CACC,uB,CAGD,kB,CACC,yB,CAGD,kB,CACC,wB,CAGD,kB,CACC,yB,CAGD,kB,CACC,qB,CAGD,kB,CACC,yB,CAGD,kB,CACC,wB,CAGD,kB,CACC,yB,CAGD,kB,CACC,uB,CAGD,U,CACC,oB,CAGD,Q,CACC,mB,CAGD,Q,CACC,mB,CAGD,Q,CACC,mB,CAGD,S,CACC,oB,CAGD,U,CACC,wB,CAGD,U,CACC,qB,CAGD,c,CACC,yB,CAGD,iB,CACC,0B,CAGD,iB,CACC,yB,CAGD,iB,CACC,0B,CAGD,kB,CACC,wB,CAGD,kB,CACC,yB,CAGD,kB,CACC,wB,CAGD,kB,CACC,0B,CAGD,kB,CACC,yB,CAGD,kB,CACC,0B,CAGD,kB,CACC,sB,CAGD,kB,CACC,0B,CAGD,kB,CACC,yB,CAGD,kB,CACC,0B,CAGD,kB,CACC,wB,CAGD,U,CACC,qB,CAGD,Q,CACC,oB,CAGD,Q,CACC,oB,CAGD,Q,CACC,oB,CAGD,S,CACC,qB,CAGD,U,CACC,yB,CAGD,U,CACC,sB,CAGD,c,CACC,4BAIF,A,0BACC,iB,CACC,yB,CAGD,iB,CACC,wB,CAGD,iB,CACC,yB,CAGD,kB,CACC,uB,CAGD,kB,CACC,wB,CAGD,kB,CACC,uB,CAGD,kB,CACC,yB,CAGD,kB,CACC,wB,CAGD,kB,CACC,yB,CAGD,kB,CACC,qB,CAGD,kB,CACC,yB,CAGD,kB,CACC,wB,CAGD,kB,CACC,yB,CAGD,kB,CACC,uB,CAGD,U,CACC,oB,CAGD,Q,CACC,mB,CAGD,Q,CACC,mB,CAGD,Q,CACC,mB,CAGD,S,CACC,oB,CAGD,U,CACC,wB,CAGD,U,CACC,qB,CAGD,c,CACC,yB,CAGD,iB,CACC,0B,CAGD,iB,CACC,yB,CAGD,iB,CACC,0B,CAGD,kB,CACC,wB,CAGD,kB,CACC,yB,CAGD,kB,CACC,wB,CAGD,kB,CACC,0B,CAGD,kB,CACC,yB,CAGD,kB,CACC,0B,CAGD,kB,CACC,sB,CAGD,kB,CACC,0B,CAGD,kB,CACC,yB,CAGD,kB,CACC,0B,CAGD,kB,CACC,wB,CAGD,U,CACC,qB,CAGD,Q,CACC,oB,CAGD,Q,CACC,oB,CAGD,Q,CACC,oB,CAGD,S,CACC,qB,CAGD,U,CACC,yB,CAGD,U,CACC,sB,CAGD,c,CACC,4BAIF,A,0BACC,kB,CACC,yB,CAGD,kB,CACC,wB,CAGD,kB,CACC,yB,CAGD,mB,CACC,uB,CAGD,mB,CACC,wB,CAGD,mB,CACC,uB,CAGD,mB,CACC,yB,CAGD,mB,CACC,wB,CAGD,mB,CACC,yB,CAGD,mB,CACC,qB,CAGD,mB,CACC,yB,CAGD,mB,CACC,wB,CAGD,mB,CACC,yB,CAGD,mB,CACC,uB,CAGD,W,CACC,oB,CAGD,S,CACC,mB,CAGD,S,CACC,mB,CAGD,S,CACC,mB,CAGD,U,CACC,oB,CAGD,W,CACC,wB,CAGD,W,CACC,qB,CAGD,e,CACC,yB,CAGD,kB,CACC,0B,CAGD,kB,CACC,yB,CAGD,kB,CACC,0B,CAGD,mB,CACC,wB,CAGD,mB,CACC,yB,CAGD,mB,CACC,wB,CAGD,mB,CACC,0B,CAGD,mB,CACC,yB,CAGD,mB,CACC,0B,CAGD,mB,CACC,sB,CAGD,mB,CACC,0B,CAGD,mB,CACC,yB,CAGD,mB,CACC,0B,CAGD,mB,CACC,wB,CAGD,W,CACC,qB,CAGD,S,CACC,oB,CAGD,S,CACC,oB,CAGD,S,CACC,oB,CAGD,U,CACC,qB,CAGD,W,CACC,yB,CAGD,W,CACC,sB,CAGD,e,CACC,4BAUF,I,CACC,kB,CAGD,I,CACC,mC,CAGD,I,CACC,mC,CAGD,I,CACC,mC,CAGD,I,CACC,mC,CAGD,I,CACC,mC,CAGD,O,CACC,qB,CAGD,K,CACC,4C,CAGD,K,CACC,4C,CAGD,K,CACC,4C,CAGD,K,CACC,4C,CAGD,K,CACC,4C,CAGD,K,CACC,uB,CACA,wB,CAGD,K,CACC,wC,CACA,yC,CAGD,K,CACC,wC,CACA,yC,CAGD,K,CACC,wC,CACA,yC,CAGD,K,CACC,wC,CACA,yC,CAGD,K,CACC,wC,CACA,yC,CAGD,Q,CACC,0B,CACA,2B,CAGD,M,CACC,iD,CACA,kD,CAGD,M,CACC,iD,CACA,kD,CAGD,M,CACC,iD,CACA,kD,CAGD,M,CACC,iD,CACA,kD,CAGD,M,CACC,iD,CACA,kD,CAGD,K,CACC,sB,CACA,yB,CAGD,K,CACC,uC,CACA,0C,CAGD,K,CACC,uC,CACA,0C,CAGD,K,CACC,uC,CACA,0C,CAGD,K,CACC,uC,CACA,0C,CAGD,K,CACC,uC,CACA,0C,CAGD,Q,CACC,yB,CACA,4B,CAGD,M,CACC,gD,CACA,mD,CAGD,M,CACC,gD,CACA,mD,CAGD,M,CACC,gD,CACA,mD,CAGD,M,CACC,gD,CACA,mD,CAGD,M,CACC,gD,CACA,mD,CAGD,K,CACC,sB,CAGD,K,CACC,uC,CAGD,K,CACC,uC,CAGD,K,CACC,uC,CAGD,K,CACC,uC,CAGD,K,CACC,uC,CAGD,Q,CACC,yB,CAGD,M,CACC,gD,CAGD,M,CACC,gD,CAGD,M,CACC,gD,CAGD,M,CACC,gD,CAGD,M,CACC,gD,CAGD,K,CACC,uB,CAGD,K,CACC,wC,CAGD,K,CACC,wC,CAGD,K,CACC,wC,CAGD,K,CACC,wC,CAGD,K,CACC,wC,CAGD,Q,CACC,0B,CAGD,M,CACC,iD,CAGD,M,CACC,iD,CAGD,M,CACC,iD,CAGD,M,CACC,iD,CAGD,M,CACC,iD,CAGD,K,CACC,yB,CAGD,K,CACC,0C,CAGD,K,CACC,0C,CAGD,K,CACC,0C,CAGD,K,CACC,0C,CAGD,K,CACC,0C,CAGD,Q,CACC,4B,CAGD,M,CACC,mD,CAGD,M,CACC,mD,CAGD,M,CACC,mD,CAGD,M,CACC,mD,CAGD,M,CACC,mD,CAGD,K,CACC,wB,CAGD,K,CACC,yC,CAGD,K,CACC,yC,CAGD,K,CACC,yC,CAGD,K,CACC,yC,CAGD,K,CACC,yC,CAGD,Q,CACC,2B,CAGD,M,CACC,kD,CAGD,M,CACC,kD,CAGD,M,CACC,kD,CAGD,M,CACC,kD,CAGD,M,CACC,kD,CAGD,I,CACC,mB,CAGD,I,CACC,oC,CAGD,I,CACC,oC,CAGD,I,CACC,oC,CAGD,I,CACC,oC,CAGD,I,CACC,oC,CAGD,K,CACC,wB,CACA,yB,CAGD,K,CACC,yC,CACA,0C,CAGD,K,CACC,yC,CACA,0C,CAGD,K,CACC,yC,CACA,0C,CAGD,K,CACC,yC,CACA,0C,CAGD,K,CACC,yC,CACA,0C,CAGD,K,CACC,uB,CACA,0B,CAGD,K,CACC,wC,CACA,2C,CAGD,K,CACC,wC,CACA,2C,CAGD,K,CACC,wC,CACA,2C,CAGD,K,CACC,wC,CACA,2C,CAGD,K,CACC,wC,CACA,2C,CAGD,K,CACC,uB,CAGD,K,CACC,wC,CAGD,K,CACC,wC,CAGD,K,CACC,wC,CAGD,K,CACC,wC,CAGD,K,CACC,wC,CAGD,K,CACC,wB,CAGD,K,CACC,yC,CAGD,K,CACC,yC,CAGD,K,CACC,yC,CAGD,K,CACC,yC,CAGD,K,CACC,yC,CAGD,K,CACC,0B,CAGD,K,CACC,2C,CAGD,K,CACC,2C,CAGD,K,CACC,2C,CAGD,K,CACC,2C,CAGD,K,CACC,2C,CAGD,K,CACC,yB,CAGD,K,CACC,0C,CAGD,K,CACC,0C,CAGD,K,CACC,0C,CAGD,K,CACC,0C,CAGD,K,CACC,0C,CAGD,M,CACC,e,CAGD,M,CACC,gC,CAGD,M,CACC,gC,CAGD,M,CACC,gC,CAGD,M,CACC,gC,CAGD,M,CACC,gC,CAGD,U,CACC,e,CAGD,U,CACC,oC,CAGD,U,CACC,oC,CAGD,U,CACC,oC,CAGD,U,CACC,oC,CAGD,U,CACC,oC,CAGD,a,CACC,2B,CACA,sB,CAGD,a,CACC,4C,CACA,uC,CAGD,a,CACC,4C,CACA,uC,CAGD,a,CACC,4C,CACA,uC,CAGD,a,CACC,4C,CACA,uC,CAGD,a,CACC,4C,CACA,uC,CAGD,yBACC,O,CACC,kB,CAGD,O,CACC,mC,CAGD,O,CACC,mC,CAGD,O,CACC,mC,CAGD,O,CACC,mC,CAGD,O,CACC,mC,CAGD,U,CACC,qB,CAGD,Q,CACC,4C,CAGD,Q,CACC,4C,CAGD,Q,CACC,4C,CAGD,Q,CACC,4C,CAGD,Q,CACC,4C,CAGD,Q,CACC,uB,CACA,wB,CAGD,Q,CACC,wC,CACA,yC,CAGD,Q,CACC,wC,CACA,yC,CAGD,Q,CACC,wC,CACA,yC,CAGD,Q,CACC,wC,CACA,yC,CAGD,Q,CACC,wC,CACA,yC,CAGD,W,CACC,0B,CACA,2B,CAGD,S,CACC,iD,CACA,kD,CAGD,S,CACC,iD,CACA,kD,CAGD,S,CACC,iD,CACA,kD,CAGD,S,CACC,iD,CACA,kD,CAGD,S,CACC,iD,CACA,kD,CAGD,Q,CACC,sB,CACA,yB,CAGD,Q,CACC,uC,CACA,0C,CAGD,Q,CACC,uC,CACA,0C,CAGD,Q,CACC,uC,CACA,0C,CAGD,Q,CACC,uC,CACA,0C,CAGD,Q,CACC,uC,CACA,0C,CAGD,W,CACC,yB,CACA,4B,CAGD,S,CACC,gD,CACA,mD,CAGD,S,CACC,gD,CACA,mD,CAGD,S,CACC,gD,CACA,mD,CAGD,S,CACC,gD,CACA,mD,CAGD,S,CACC,gD,CACA,mD,CAGD,Q,CACC,sB,CAGD,Q,CACC,uC,CAGD,Q,CACC,uC,CAGD,Q,CACC,uC,CAGD,Q,CACC,uC,CAGD,Q,CACC,uC,CAGD,W,CACC,yB,CAGD,S,CACC,gD,CAGD,S,CACC,gD,CAGD,S,CACC,gD,CAGD,S,CACC,gD,CAGD,S,CACC,gD,CAGD,Q,CACC,uB,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,W,CACC,0B,CAGD,S,CACC,iD,CAGD,S,CACC,iD,CAGD,S,CACC,iD,CAGD,S,CACC,iD,CAGD,S,CACC,iD,CAGD,Q,CACC,yB,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,W,CACC,4B,CAGD,S,CACC,mD,CAGD,S,CACC,mD,CAGD,S,CACC,mD,CAGD,S,CACC,mD,CAGD,S,CACC,mD,CAGD,Q,CACC,wB,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,W,CACC,2B,CAGD,S,CACC,kD,CAGD,S,CACC,kD,CAGD,S,CACC,kD,CAGD,S,CACC,kD,CAGD,S,CACC,kD,CAGD,O,CACC,mB,CAGD,O,CACC,oC,CAGD,O,CACC,oC,CAGD,O,CACC,oC,CAGD,O,CACC,oC,CAGD,O,CACC,oC,CAGD,Q,CACC,wB,CACA,yB,CAGD,Q,CACC,yC,CACA,0C,CAGD,Q,CACC,yC,CACA,0C,CAGD,Q,CACC,yC,CACA,0C,CAGD,Q,CACC,yC,CACA,0C,CAGD,Q,CACC,yC,CACA,0C,CAGD,Q,CACC,uB,CACA,0B,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,uB,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wB,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,0B,CAGD,Q,CACC,2C,CAGD,Q,CACC,2C,CAGD,Q,CACC,2C,CAGD,Q,CACC,2C,CAGD,Q,CACC,2C,CAGD,Q,CACC,yB,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,S,CACC,e,CAGD,S,CACC,gC,CAGD,S,CACC,gC,CAGD,S,CACC,gC,CAGD,S,CACC,gC,CAGD,S,CACC,gC,CAGD,a,CACC,e,CAGD,a,CACC,oC,CAGD,a,CACC,oC,CAGD,a,CACC,oC,CAGD,a,CACC,oC,CAGD,a,CACC,oC,CAGD,gB,CACC,2B,CACA,sB,CAGD,gB,CACC,4C,CACA,uC,CAGD,gB,CACC,4C,CACA,uC,CAGD,gB,CACC,4C,CACA,uC,CAGD,gB,CACC,4C,CACA,uC,CAGD,gB,CACC,4C,CACA,yCAIF,A,yBACC,O,CACC,kB,CAGD,O,CACC,mC,CAGD,O,CACC,mC,CAGD,O,CACC,mC,CAGD,O,CACC,mC,CAGD,O,CACC,mC,CAGD,U,CACC,qB,CAGD,Q,CACC,4C,CAGD,Q,CACC,4C,CAGD,Q,CACC,4C,CAGD,Q,CACC,4C,CAGD,Q,CACC,4C,CAGD,Q,CACC,uB,CACA,wB,CAGD,Q,CACC,wC,CACA,yC,CAGD,Q,CACC,wC,CACA,yC,CAGD,Q,CACC,wC,CACA,yC,CAGD,Q,CACC,wC,CACA,yC,CAGD,Q,CACC,wC,CACA,yC,CAGD,W,CACC,0B,CACA,2B,CAGD,S,CACC,iD,CACA,kD,CAGD,S,CACC,iD,CACA,kD,CAGD,S,CACC,iD,CACA,kD,CAGD,S,CACC,iD,CACA,kD,CAGD,S,CACC,iD,CACA,kD,CAGD,Q,CACC,sB,CACA,yB,CAGD,Q,CACC,uC,CACA,0C,CAGD,Q,CACC,uC,CACA,0C,CAGD,Q,CACC,uC,CACA,0C,CAGD,Q,CACC,uC,CACA,0C,CAGD,Q,CACC,uC,CACA,0C,CAGD,W,CACC,yB,CACA,4B,CAGD,S,CACC,gD,CACA,mD,CAGD,S,CACC,gD,CACA,mD,CAGD,S,CACC,gD,CACA,mD,CAGD,S,CACC,gD,CACA,mD,CAGD,S,CACC,gD,CACA,mD,CAGD,Q,CACC,sB,CAGD,Q,CACC,uC,CAGD,Q,CACC,uC,CAGD,Q,CACC,uC,CAGD,Q,CACC,uC,CAGD,Q,CACC,uC,CAGD,W,CACC,yB,CAGD,S,CACC,gD,CAGD,S,CACC,gD,CAGD,S,CACC,gD,CAGD,S,CACC,gD,CAGD,S,CACC,gD,CAGD,Q,CACC,uB,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,W,CACC,0B,CAGD,S,CACC,iD,CAGD,S,CACC,iD,CAGD,S,CACC,iD,CAGD,S,CACC,iD,CAGD,S,CACC,iD,CAGD,Q,CACC,yB,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,W,CACC,4B,CAGD,S,CACC,mD,CAGD,S,CACC,mD,CAGD,S,CACC,mD,CAGD,S,CACC,mD,CAGD,S,CACC,mD,CAGD,Q,CACC,wB,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,W,CACC,2B,CAGD,S,CACC,kD,CAGD,S,CACC,kD,CAGD,S,CACC,kD,CAGD,S,CACC,kD,CAGD,S,CACC,kD,CAGD,O,CACC,mB,CAGD,O,CACC,oC,CAGD,O,CACC,oC,CAGD,O,CACC,oC,CAGD,O,CACC,oC,CAGD,O,CACC,oC,CAGD,Q,CACC,wB,CACA,yB,CAGD,Q,CACC,yC,CACA,0C,CAGD,Q,CACC,yC,CACA,0C,CAGD,Q,CACC,yC,CACA,0C,CAGD,Q,CACC,yC,CACA,0C,CAGD,Q,CACC,yC,CACA,0C,CAGD,Q,CACC,uB,CACA,0B,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,uB,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wB,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,0B,CAGD,Q,CACC,2C,CAGD,Q,CACC,2C,CAGD,Q,CACC,2C,CAGD,Q,CACC,2C,CAGD,Q,CACC,2C,CAGD,Q,CACC,yB,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,S,CACC,e,CAGD,S,CACC,gC,CAGD,S,CACC,gC,CAGD,S,CACC,gC,CAGD,S,CACC,gC,CAGD,S,CACC,gC,CAGD,a,CACC,e,CAGD,a,CACC,oC,CAGD,a,CACC,oC,CAGD,a,CACC,oC,CAGD,a,CACC,oC,CAGD,a,CACC,oC,CAGD,gB,CACC,2B,CACA,sB,CAGD,gB,CACC,4C,CACA,uC,CAGD,gB,CACC,4C,CACA,uC,CAGD,gB,CACC,4C,CACA,uC,CAGD,gB,CACC,4C,CACA,uC,CAGD,gB,CACC,4C,CACA,yCAIF,A,yBACC,O,CACC,kB,CAGD,O,CACC,mC,CAGD,O,CACC,mC,CAGD,O,CACC,mC,CAGD,O,CACC,mC,CAGD,O,CACC,mC,CAGD,U,CACC,qB,CAGD,Q,CACC,4C,CAGD,Q,CACC,4C,CAGD,Q,CACC,4C,CAGD,Q,CACC,4C,CAGD,Q,CACC,4C,CAGD,Q,CACC,uB,CACA,wB,CAGD,Q,CACC,wC,CACA,yC,CAGD,Q,CACC,wC,CACA,yC,CAGD,Q,CACC,wC,CACA,yC,CAGD,Q,CACC,wC,CACA,yC,CAGD,Q,CACC,wC,CACA,yC,CAGD,W,CACC,0B,CACA,2B,CAGD,S,CACC,iD,CACA,kD,CAGD,S,CACC,iD,CACA,kD,CAGD,S,CACC,iD,CACA,kD,CAGD,S,CACC,iD,CACA,kD,CAGD,S,CACC,iD,CACA,kD,CAGD,Q,CACC,sB,CACA,yB,CAGD,Q,CACC,uC,CACA,0C,CAGD,Q,CACC,uC,CACA,0C,CAGD,Q,CACC,uC,CACA,0C,CAGD,Q,CACC,uC,CACA,0C,CAGD,Q,CACC,uC,CACA,0C,CAGD,W,CACC,yB,CACA,4B,CAGD,S,CACC,gD,CACA,mD,CAGD,S,CACC,gD,CACA,mD,CAGD,S,CACC,gD,CACA,mD,CAGD,S,CACC,gD,CACA,mD,CAGD,S,CACC,gD,CACA,mD,CAGD,Q,CACC,sB,CAGD,Q,CACC,uC,CAGD,Q,CACC,uC,CAGD,Q,CACC,uC,CAGD,Q,CACC,uC,CAGD,Q,CACC,uC,CAGD,W,CACC,yB,CAGD,S,CACC,gD,CAGD,S,CACC,gD,CAGD,S,CACC,gD,CAGD,S,CACC,gD,CAGD,S,CACC,gD,CAGD,Q,CACC,uB,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,W,CACC,0B,CAGD,S,CACC,iD,CAGD,S,CACC,iD,CAGD,S,CACC,iD,CAGD,S,CACC,iD,CAGD,S,CACC,iD,CAGD,Q,CACC,yB,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,W,CACC,4B,CAGD,S,CACC,mD,CAGD,S,CACC,mD,CAGD,S,CACC,mD,CAGD,S,CACC,mD,CAGD,S,CACC,mD,CAGD,Q,CACC,wB,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,W,CACC,2B,CAGD,S,CACC,kD,CAGD,S,CACC,kD,CAGD,S,CACC,kD,CAGD,S,CACC,kD,CAGD,S,CACC,kD,CAGD,O,CACC,mB,CAGD,O,CACC,oC,CAGD,O,CACC,oC,CAGD,O,CACC,oC,CAGD,O,CACC,oC,CAGD,O,CACC,oC,CAGD,Q,CACC,wB,CACA,yB,CAGD,Q,CACC,yC,CACA,0C,CAGD,Q,CACC,yC,CACA,0C,CAGD,Q,CACC,yC,CACA,0C,CAGD,Q,CACC,yC,CACA,0C,CAGD,Q,CACC,yC,CACA,0C,CAGD,Q,CACC,uB,CACA,0B,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,uB,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wB,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,0B,CAGD,Q,CACC,2C,CAGD,Q,CACC,2C,CAGD,Q,CACC,2C,CAGD,Q,CACC,2C,CAGD,Q,CACC,2C,CAGD,Q,CACC,yB,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,S,CACC,e,CAGD,S,CACC,gC,CAGD,S,CACC,gC,CAGD,S,CACC,gC,CAGD,S,CACC,gC,CAGD,S,CACC,gC,CAGD,a,CACC,e,CAGD,a,CACC,oC,CAGD,a,CACC,oC,CAGD,a,CACC,oC,CAGD,a,CACC,oC,CAGD,a,CACC,oC,CAGD,gB,CACC,2B,CACA,sB,CAGD,gB,CACC,4C,CACA,uC,CAGD,gB,CACC,4C,CACA,uC,CAGD,gB,CACC,4C,CACA,uC,CAGD,gB,CACC,4C,CACA,uC,CAGD,gB,CACC,4C,CACA,yCAIF,A,0BACC,O,CACC,kB,CAGD,O,CACC,mC,CAGD,O,CACC,mC,CAGD,O,CACC,mC,CAGD,O,CACC,mC,CAGD,O,CACC,mC,CAGD,U,CACC,qB,CAGD,Q,CACC,4C,CAGD,Q,CACC,4C,CAGD,Q,CACC,4C,CAGD,Q,CACC,4C,CAGD,Q,CACC,4C,CAGD,Q,CACC,uB,CACA,wB,CAGD,Q,CACC,wC,CACA,yC,CAGD,Q,CACC,wC,CACA,yC,CAGD,Q,CACC,wC,CACA,yC,CAGD,Q,CACC,wC,CACA,yC,CAGD,Q,CACC,wC,CACA,yC,CAGD,W,CACC,0B,CACA,2B,CAGD,S,CACC,iD,CACA,kD,CAGD,S,CACC,iD,CACA,kD,CAGD,S,CACC,iD,CACA,kD,CAGD,S,CACC,iD,CACA,kD,CAGD,S,CACC,iD,CACA,kD,CAGD,Q,CACC,sB,CACA,yB,CAGD,Q,CACC,uC,CACA,0C,CAGD,Q,CACC,uC,CACA,0C,CAGD,Q,CACC,uC,CACA,0C,CAGD,Q,CACC,uC,CACA,0C,CAGD,Q,CACC,uC,CACA,0C,CAGD,W,CACC,yB,CACA,4B,CAGD,S,CACC,gD,CACA,mD,CAGD,S,CACC,gD,CACA,mD,CAGD,S,CACC,gD,CACA,mD,CAGD,S,CACC,gD,CACA,mD,CAGD,S,CACC,gD,CACA,mD,CAGD,Q,CACC,sB,CAGD,Q,CACC,uC,CAGD,Q,CACC,uC,CAGD,Q,CACC,uC,CAGD,Q,CACC,uC,CAGD,Q,CACC,uC,CAGD,W,CACC,yB,CAGD,S,CACC,gD,CAGD,S,CACC,gD,CAGD,S,CACC,gD,CAGD,S,CACC,gD,CAGD,S,CACC,gD,CAGD,Q,CACC,uB,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,W,CACC,0B,CAGD,S,CACC,iD,CAGD,S,CACC,iD,CAGD,S,CACC,iD,CAGD,S,CACC,iD,CAGD,S,CACC,iD,CAGD,Q,CACC,yB,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,W,CACC,4B,CAGD,S,CACC,mD,CAGD,S,CACC,mD,CAGD,S,CACC,mD,CAGD,S,CACC,mD,CAGD,S,CACC,mD,CAGD,Q,CACC,wB,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,W,CACC,2B,CAGD,S,CACC,kD,CAGD,S,CACC,kD,CAGD,S,CACC,kD,CAGD,S,CACC,kD,CAGD,S,CACC,kD,CAGD,O,CACC,mB,CAGD,O,CACC,oC,CAGD,O,CACC,oC,CAGD,O,CACC,oC,CAGD,O,CACC,oC,CAGD,O,CACC,oC,CAGD,Q,CACC,wB,CACA,yB,CAGD,Q,CACC,yC,CACA,0C,CAGD,Q,CACC,yC,CACA,0C,CAGD,Q,CACC,yC,CACA,0C,CAGD,Q,CACC,yC,CACA,0C,CAGD,Q,CACC,yC,CACA,0C,CAGD,Q,CACC,uB,CACA,0B,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,wC,CACA,2C,CAGD,Q,CACC,uB,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wC,CAGD,Q,CACC,wB,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,yC,CAGD,Q,CACC,0B,CAGD,Q,CACC,2C,CAGD,Q,CACC,2C,CAGD,Q,CACC,2C,CAGD,Q,CACC,2C,CAGD,Q,CACC,2C,CAGD,Q,CACC,yB,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,Q,CACC,0C,CAGD,S,CACC,e,CAGD,S,CACC,gC,CAGD,S,CACC,gC,CAGD,S,CACC,gC,CAGD,S,CACC,gC,CAGD,S,CACC,gC,CAGD,a,CACC,e,CAGD,a,CACC,oC,CAGD,a,CACC,oC,CAGD,a,CACC,oC,CAGD,a,CACC,oC,CAGD,a,CACC,oC,CAGD,gB,CACC,2B,CACA,sB,CAGD,gB,CACC,4C,CACA,uC,CAGD,gB,CACC,4C,CACA,uC,CAGD,gB,CACC,4C,CACA,uC,CAGD,gB,CACC,4C,CACA,uC,CAGD,gB,CACC,4C,CACA,yCAIF,A,0BACC,Q,CACC,kB,CAGD,Q,CACC,mC,CAGD,Q,CACC,mC,CAGD,Q,CACC,mC,CAGD,Q,CACC,mC,CAGD,Q,CACC,mC,CAGD,W,CACC,qB,CAGD,S,CACC,4C,CAGD,S,CACC,4C,CAGD,S,CACC,4C,CAGD,S,CACC,4C,CAGD,S,CACC,4C,CAGD,S,CACC,uB,CACA,wB,CAGD,S,CACC,wC,CACA,yC,CAGD,S,CACC,wC,CACA,yC,CAGD,S,CACC,wC,CACA,yC,CAGD,S,CACC,wC,CACA,yC,CAGD,S,CACC,wC,CACA,yC,CAGD,Y,CACC,0B,CACA,2B,CAGD,U,CACC,iD,CACA,kD,CAGD,U,CACC,iD,CACA,kD,CAGD,U,CACC,iD,CACA,kD,CAGD,U,CACC,iD,CACA,kD,CAGD,U,CACC,iD,CACA,kD,CAGD,S,CACC,sB,CACA,yB,CAGD,S,CACC,uC,CACA,0C,CAGD,S,CACC,uC,CACA,0C,CAGD,S,CACC,uC,CACA,0C,CAGD,S,CACC,uC,CACA,0C,CAGD,S,CACC,uC,CACA,0C,CAGD,Y,CACC,yB,CACA,4B,CAGD,U,CACC,gD,CACA,mD,CAGD,U,CACC,gD,CACA,mD,CAGD,U,CACC,gD,CACA,mD,CAGD,U,CACC,gD,CACA,mD,CAGD,U,CACC,gD,CACA,mD,CAGD,S,CACC,sB,CAGD,S,CACC,uC,CAGD,S,CACC,uC,CAGD,S,CACC,uC,CAGD,S,CACC,uC,CAGD,S,CACC,uC,CAGD,Y,CACC,yB,CAGD,U,CACC,gD,CAGD,U,CACC,gD,CAGD,U,CACC,gD,CAGD,U,CACC,gD,CAGD,U,CACC,gD,CAGD,S,CACC,uB,CAGD,S,CACC,wC,CAGD,S,CACC,wC,CAGD,S,CACC,wC,CAGD,S,CACC,wC,CAGD,S,CACC,wC,CAGD,Y,CACC,0B,CAGD,U,CACC,iD,CAGD,U,CACC,iD,CAGD,U,CACC,iD,CAGD,U,CACC,iD,CAGD,U,CACC,iD,CAGD,S,CACC,yB,CAGD,S,CACC,0C,CAGD,S,CACC,0C,CAGD,S,CACC,0C,CAGD,S,CACC,0C,CAGD,S,CACC,0C,CAGD,Y,CACC,4B,CAGD,U,CACC,mD,CAGD,U,CACC,mD,CAGD,U,CACC,mD,CAGD,U,CACC,mD,CAGD,U,CACC,mD,CAGD,S,CACC,wB,CAGD,S,CACC,yC,CAGD,S,CACC,yC,CAGD,S,CACC,yC,CAGD,S,CACC,yC,CAGD,S,CACC,yC,CAGD,Y,CACC,2B,CAGD,U,CACC,kD,CAGD,U,CACC,kD,CAGD,U,CACC,kD,CAGD,U,CACC,kD,CAGD,U,CACC,kD,CAGD,Q,CACC,mB,CAGD,Q,CACC,oC,CAGD,Q,CACC,oC,CAGD,Q,CACC,oC,CAGD,Q,CACC,oC,CAGD,Q,CACC,oC,CAGD,S,CACC,wB,CACA,yB,CAGD,S,CACC,yC,CACA,0C,CAGD,S,CACC,yC,CACA,0C,CAGD,S,CACC,yC,CACA,0C,CAGD,S,CACC,yC,CACA,0C,CAGD,S,CACC,yC,CACA,0C,CAGD,S,CACC,uB,CACA,0B,CAGD,S,CACC,wC,CACA,2C,CAGD,S,CACC,wC,CACA,2C,CAGD,S,CACC,wC,CACA,2C,CAGD,S,CACC,wC,CACA,2C,CAGD,S,CACC,wC,CACA,2C,CAGD,S,CACC,uB,CAGD,S,CACC,wC,CAGD,S,CACC,wC,CAGD,S,CACC,wC,CAGD,S,CACC,wC,CAGD,S,CACC,wC,CAGD,S,CACC,wB,CAGD,S,CACC,yC,CAGD,S,CACC,yC,CAGD,S,CACC,yC,CAGD,S,CACC,yC,CAGD,S,CACC,yC,CAGD,S,CACC,0B,CAGD,S,CACC,2C,CAGD,S,CACC,2C,CAGD,S,CACC,2C,CAGD,S,CACC,2C,CAGD,S,CACC,2C,CAGD,S,CACC,yB,CAGD,S,CACC,0C,CAGD,S,CACC,0C,CAGD,S,CACC,0C,CAGD,S,CACC,0C,CAGD,S,CACC,0C,CAGD,U,CACC,e,CAGD,U,CACC,gC,CAGD,U,CACC,gC,CAGD,U,CACC,gC,CAGD,U,CACC,gC,CAGD,U,CACC,gC,CAGD,c,CACC,e,CAGD,c,CACC,oC,CAGD,c,CACC,oC,CAGD,c,CACC,oC,CAGD,c,CACC,oC,CAGD,c,CACC,oC,CAGD,iB,CACC,2B,CACA,sB,CAGD,iB,CACC,4C,CACA,uC,CAGD,iB,CACC,4C,CACA,uC,CAGD,iB,CACC,4C,CACA,uC,CAGD,iB,CACC,4C,CACA,uC,CAGD,iB,CACC,4C,CACA,yCAUF,e,CACC,8C,CAGD,K,CACC,uE,CAGD,K,CACC,sE,CAGD,K,CACC,mE,CAGD,K,CACC,qE,CAGD,K,CACC,4B,CAGD,K,CACC,2B,CAGD,W,CACC,2B,CAGD,W,CACC,2B,CAGD,W,CACC,mD,CAGD,S,CACC,iD,CAGD,U,CACC,kD,CAGD,U,CACC,kD,CAGD,Y,CACC,oD,CAGD,Q,CACC,gD,CAGD,U,CACC,kD,CAGD,K,CACC,uB,CAGD,M,CACC,8C,CAGD,Q,CACC,gD,CAGD,M,CACC,8C,CAGD,W,CACC,0B,CAGD,S,CACC,yB,CAGD,Y,CACC,2B,CAGD,yBACC,c,CACC,0B,CAGD,Y,CACC,yB,CAGD,e,CACC,6BAIF,A,yBACC,c,CACC,0B,CAGD,Y,CACC,yB,CAGD,e,CACC,6BAIF,A,yBACC,c,CACC,0B,CAGD,Y,CACC,yB,CAGD,e,CACC,6BAIF,A,0BACC,c,CACC,0B,CAGD,Y,CACC,yB,CAGD,e,CACC,6BAIF,A,0BACC,e,CACC,0B,CAGD,a,CACC,yB,CAGD,gB,CACC,6BAIF,qB,CACC,8B,CAGD,0B,CACC,mC,CAGD,6B,CACC,sC,CAGD,e,CACC,kC,CAGD,e,CACC,kC,CAGD,gB,CACC,mC,CAGD,U,CACC,4B,CAGD,Y,CACC,4B,CAGD,Y,CACC,4C,CACA,2C,CAGD,qB,CACC,qC,CACA,sC,CASD,e,CACC,iC,CAGD,U,CACC,4B,CAGD,a,CACC,+B,CAGD,a,CACC,+B,CAGD,kB,CACC,oC,CAGD,e,CACC,iC,CASD,Q,CACC,4B,CAGD,U,CACC,2B,CASD,K,CACC,oB,CAGD,I,CACC,mB,CAGD,I,CACC,mB,CAGD,I,CACC,mB,CAGD,I,CACC,mB,CAGD,yBACC,Q,CACC,oB,CAGD,O,CACC,mB,CAGD,O,CACC,mB,CAGD,O,CACC,mB,CAGD,O,CACC,qBAIF,A,yBACC,Q,CACC,oB,CAGD,O,CACC,mB,CAGD,O,CACC,mB,CAGD,O,CACC,mB,CAGD,O,CACC,qBAIF,A,yBACC,Q,CACC,oB,CAGD,O,CACC,mB,CAGD,O,CACC,mB,CAGD,O,CACC,mB,CAGD,O,CACC,qBAIF,A,0BACC,Q,CACC,oB,CAGD,O,CACC,mB,CAGD,O,CACC,mB,CAGD,O,CACC,mB,CAGD,O,CACC,qBAIF,A,0BACC,S,CACC,oB,CAGD,Q,CACC,mB,CAGD,Q,CACC,mB,CAGD,Q,CACC,mB,CAGD,Q,CACC,qB","file":"css/halfmoon.rtl.css","sourcesContent":["@charset \"UTF-8\";\n\n/*!\n * ----------------------------------------------------------------------------\n * Halfmoon CSS\n * Version: 2.0.1\n * https://www.gethalfmoon.com\n * Copyright (c) 2023, Tahmid Khan\n * Licensed under MIT (https://www.gethalfmoon.com/license)\n * ----------------------------------------------------------------------------\n * The above notice must be included in its entirety when this file is used.\n */\n\n/*!\n * The following notice(s) is/are provided to honor the licenses of 3rd party \n * software used to build Halfmoon.\n * ----------------------------------------------------------------------------\n * Bootstrap (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * ----------------------------------------------------------------------------\n */\n\n/**\n * ----------------------------------------------------------------------------\n * [ SVGs ]\n * ----------------------------------------------------------------------------\n */\n\n:root,\n[data-bs-theme=light] {\n\t--bs-checkbox-svg-light: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e\");\n --bs-checkbox-svg-dark: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23222' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e\");\n\n --bs-dash-svg-light: 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\");\n --bs-dash-svg-dark: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23222' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e\");\n\n --bs-radio-svg-light: 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\");\n --bs-radio-svg-dark: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23222'/%3e%3c/svg%3e\");\n\n --bs-switch-svg-light: 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\");\n --bs-switch-svg-dark: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23222'/%3e%3c/svg%3e\");\n --bs-switch-svg-unchecked: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23bcbec2'/%3e%3c/svg%3e\");\n}\n\n[data-bs-theme=dark] {\n --bs-switch-svg-unchecked: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23494b50'/%3e%3c/svg%3e\");\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Color palette ]\n * ----------------------------------------------------------------------------\n */\n\n:root,\n[data-bs-theme=light] {\n\t/* Black */\n\n\t--bs-black-hsl: 0, 0%, 0%;\n\t--bs-black: hsl(var(--bs-black-hsl));\n\n\t/* White */\n\n\t--bs-white-hsl: 0, 0%, 100%;\n\t--bs-white: hsl(var(--bs-white-hsl));\n\n\t/* Gray */\n\n\t--bs-mistyrose-hue: 0;\n\t--bs-mistyrose-saturation: 5%;\n\n\t--bs-stone-hue: 25;\n\t--bs-stone-saturation: 5%;\n\n\t--bs-sand-hue: 60;\n\t--bs-sand-saturation: 5%;\n\n\t--bs-sage-hue: 152;\n\t--bs-sage-saturation: 6%;\n\n\t--bs-slate-hue: 214.3;\n\t--bs-slate-saturation: 12.3%;\n\n\t--bs-neutral-hue: 218;\n\t--bs-neutral-saturation: 5%;\n\n\t--bs-zinc-hue: 240;\n\t--bs-zinc-saturation: 4%;\n\n\t--bs-mauve-hue: 331;\n\t--bs-mauve-saturation: 7.5%;\n\n\t/* Light gray */\n\n\t--bs-lightgray-hue: var(--bs-neutral-hue);\n\t--bs-lightgray-saturation: var(--bs-neutral-saturation);\n\t--bs-lightgray-100-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 97.5%;\n\t--bs-lightgray-200-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 95%;\n\t--bs-lightgray-300-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 92.5%;\n\t--bs-lightgray-400-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 90%;\n\t--bs-lightgray-500-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 87.5%;\n\t--bs-lightgray-600-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 85%;\n\t--bs-lightgray-700-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 80%;\n\t--bs-lightgray-800-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 75%;\n\t--bs-lightgray-900-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 70%;\n\t--bs-lightgray-100: hsl(var(--bs-lightgray-100-hsl));\n\t--bs-lightgray-200: hsl(var(--bs-lightgray-200-hsl));\n\t--bs-lightgray-300: hsl(var(--bs-lightgray-300-hsl));\n\t--bs-lightgray-400: hsl(var(--bs-lightgray-400-hsl));\n\t--bs-lightgray-500: hsl(var(--bs-lightgray-500-hsl));\n\t--bs-lightgray-600: hsl(var(--bs-lightgray-600-hsl));\n\t--bs-lightgray-700: hsl(var(--bs-lightgray-700-hsl));\n\t--bs-lightgray-800: hsl(var(--bs-lightgray-800-hsl));\n\t--bs-lightgray-900: hsl(var(--bs-lightgray-900-hsl));\n\t--bs-lightgray-hsl: var(--bs-lightgray-500-hsl);\n\t--bs-lightgray: hsl(var(--bs-lightgray-hsl));\n\t--bs-lightgray-foreground-hsl: var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 10%;\n\t--bs-lightgray-foreground: hsl(var(--bs-lightgray-foreground-hsl));\n\t--bs-lightgray-text-emphasis-hsl: var(--bs-lightgray-600-hsl);\n\t--bs-lightgray-text-emphasis: hsl(var(--bs-lightgray-text-emphasis-hsl));\n\t--bs-lightgray-hover-bg: var(--bs-lightgray-400);\n\t--bs-lightgray-active-bg: var(--bs-lightgray-300);\n\t--bs-lightgray-bg-subtle: hsl(var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 97.5%);\n\t--bs-lightgray-border-subtle: var(--bs-lightgray-400);\n\t--bs-lightgray-checkbox-svg: var(--bs-checkbox-svg-dark);\n\t--bs-lightgray-dash-svg: var(--bs-dash-svg-dark);\n\t--bs-lightgray-radio-svg: var(--bs-radio-svg-dark);\n\t--bs-lightgray-switch-svg: var(--bs-switch-svg-dark);\n\n\t/* Gray */\n\n\t--bs-gray-hue: var(--bs-lightgray-hue);\n\t--bs-gray-saturation: var(--bs-lightgray-saturation);\n\t--bs-gray-100-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 85%;\n\t--bs-gray-200-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 75%;\n\t--bs-gray-300-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 65%;\n\t--bs-gray-400-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 55%;\n\t--bs-gray-500-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 45%;\n\t--bs-gray-600-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 40%;\n\t--bs-gray-700-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 35%;\n\t--bs-gray-800-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 30%;\n\t--bs-gray-900-hsl: var(--bs-gray-hue), var(--bs-gray-saturation), 25%;\n\t--bs-gray-100: hsl(var(--bs-gray-100-hsl));\n\t--bs-gray-200: hsl(var(--bs-gray-200-hsl));\n\t--bs-gray-300: hsl(var(--bs-gray-300-hsl));\n\t--bs-gray-400: hsl(var(--bs-gray-400-hsl));\n\t--bs-gray-500: hsl(var(--bs-gray-500-hsl));\n\t--bs-gray-600: hsl(var(--bs-gray-600-hsl));\n\t--bs-gray-700: hsl(var(--bs-gray-700-hsl));\n\t--bs-gray-800: hsl(var(--bs-gray-800-hsl));\n\t--bs-gray-900: hsl(var(--bs-gray-900-hsl));\n\t--bs-gray-hsl: var(--bs-gray-500-hsl);\n\t--bs-gray: hsl(var(--bs-gray-hsl));\n\t--bs-gray-foreground-hsl: var(--bs-white-hsl);\n\t--bs-gray-foreground: hsl(var(--bs-gray-foreground-hsl));\n\t--bs-gray-text-emphasis-hsl: var(--bs-gray-600-hsl);\n\t--bs-gray-text-emphasis: hsl(var(--bs-gray-text-emphasis-hsl));\n\t--bs-gray-hover-bg: var(--bs-gray-600);\n\t--bs-gray-active-bg: var(--bs-gray-700);\n\t--bs-gray-bg-subtle: hsl(var(--bs-gray-hue), var(--bs-gray-saturation), 95%);\n\t--bs-gray-border-subtle: var(--bs-gray-400);\n\t--bs-gray-checkbox-svg: var(--bs-checkbox-svg-light);\n\t--bs-gray-dash-svg: var(--bs-dash-svg-light);\n\t--bs-gray-radio-svg: var(--bs-radio-svg-light);\n\t--bs-gray-switch-svg: var(--bs-switch-svg-light);\n\n\t/* Dark gray */\n\n\t--bs-darkgray-hue: var(--bs-slate-hue);\n\t--bs-darkgray-saturation: var(--bs-slate-saturation);\n\t--bs-darkgray-100-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 75%;\n\t--bs-darkgray-200-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 65%;\n\t--bs-darkgray-300-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 55%;\n\t--bs-darkgray-400-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 45%;\n\t--bs-darkgray-500-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 35%;\n\t--bs-darkgray-600-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 30%;\n\t--bs-darkgray-700-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 25%;\n\t--bs-darkgray-800-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 20%;\n\t--bs-darkgray-900-hsl: var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 17.5%;\n\t--bs-darkgray-100: hsl(var(--bs-darkgray-100-hsl));\n\t--bs-darkgray-200: hsl(var(--bs-darkgray-200-hsl));\n\t--bs-darkgray-300: hsl(var(--bs-darkgray-300-hsl));\n\t--bs-darkgray-400: hsl(var(--bs-darkgray-400-hsl));\n\t--bs-darkgray-500: hsl(var(--bs-darkgray-500-hsl));\n\t--bs-darkgray-600: hsl(var(--bs-darkgray-600-hsl));\n\t--bs-darkgray-700: hsl(var(--bs-darkgray-700-hsl));\n\t--bs-darkgray-800: hsl(var(--bs-darkgray-800-hsl));\n\t--bs-darkgray-900: hsl(var(--bs-darkgray-900-hsl));\n\t--bs-darkgray-hsl: var(--bs-darkgray-500-hsl);\n\t--bs-darkgray: hsl(var(--bs-darkgray-hsl));\n\t--bs-darkgray-foreground-hsl: var(--bs-white-hsl);\n\t--bs-darkgray-foreground: hsl(var(--bs-darkgray-foreground-hsl));\n\t--bs-darkgray-text-emphasis-hsl: var(--bs-darkgray-600-hsl);\n\t--bs-darkgray-text-emphasis: hsl(var(--bs-darkgray-text-emphasis-hsl));\n\t--bs-darkgray-hover-bg: var(--bs-darkgray-600);\n\t--bs-darkgray-active-bg: var(--bs-darkgray-700);\n\t--bs-darkgray-bg-subtle: hsl(var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 80%);\n\t--bs-darkgray-border-subtle: var(--bs-darkgray-400);\n\t--bs-darkgray-checkbox-svg: var(--bs-checkbox-svg-light);\n\t--bs-darkgray-dash-svg: var(--bs-dash-svg-light);\n\t--bs-darkgray-radio-svg: var(--bs-radio-svg-light);\n\t--bs-darkgray-switch-svg: var(--bs-switch-svg-light);\n\n\t/* Sable (almost black) */\n\n\t--bs-sable-hue: var(--bs-darkgray-hue);\n\t--bs-sable-saturation: var(--bs-darkgray-saturation);\n\t--bs-sable-100-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 28%;\n\t--bs-sable-200-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 26%;\n\t--bs-sable-300-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 24%;\n\t--bs-sable-400-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 22%;\n\t--bs-sable-500-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 20%;\n\t--bs-sable-600-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 18%;\n\t--bs-sable-700-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 16%;\n\t--bs-sable-800-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 15%;\n\t--bs-sable-900-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 14%;\n\t--bs-sable-100: hsl(var(--bs-sable-100-hsl));\n\t--bs-sable-200: hsl(var(--bs-sable-200-hsl));\n\t--bs-sable-300: hsl(var(--bs-sable-300-hsl));\n\t--bs-sable-400: hsl(var(--bs-sable-400-hsl));\n\t--bs-sable-500: hsl(var(--bs-sable-500-hsl));\n\t--bs-sable-600: hsl(var(--bs-sable-600-hsl));\n\t--bs-sable-700: hsl(var(--bs-sable-700-hsl));\n\t--bs-sable-800: hsl(var(--bs-sable-800-hsl));\n\t--bs-sable-900: hsl(var(--bs-sable-900-hsl));\n\t--bs-sable-hsl: var(--bs-sable-500-hsl);\n\t--bs-sable: hsl(var(--bs-sable-hsl));\n\t--bs-sable-foreground-hsl: var(--bs-white-hsl);\n\t--bs-sable-foreground: hsl(var(--bs-sable-foreground-hsl));\n\t--bs-sable-text-emphasis-hsl: var(--bs-sable-600-hsl);\n\t--bs-sable-text-emphasis: hsl(var(--bs-sable-text-emphasis-hsl));\n\t--bs-sable-hover-bg: var(--bs-sable-600);\n\t--bs-sable-active-bg: var(--bs-sable-700);\n\t--bs-sable-bg-subtle: hsl(var(--bs-sable-hue), var(--bs-sable-saturation), 70%);\n\t--bs-sable-border-subtle: var(--bs-sable-400);\n\t--bs-sable-checkbox-svg: var(--bs-checkbox-svg-light);\n\t--bs-sable-dash-svg: var(--bs-dash-svg-light);\n\t--bs-sable-radio-svg: var(--bs-radio-svg-light);\n\t--bs-sable-switch-svg: var(--bs-switch-svg-light);\n\n\t/* Red */\n\n\t--bs-red-hue: 0;\n\t--bs-red-saturation: 67.5%;\n\t--bs-red-100-hsl: var(--bs-red-hue), var(--bs-red-saturation), 90%;\n\t--bs-red-200-hsl: var(--bs-red-hue), var(--bs-red-saturation), 80%;\n\t--bs-red-300-hsl: var(--bs-red-hue), var(--bs-red-saturation), 70%;\n\t--bs-red-400-hsl: var(--bs-red-hue), var(--bs-red-saturation), 60%;\n\t--bs-red-500-hsl: var(--bs-red-hue), var(--bs-red-saturation), 50%;\n\t--bs-red-600-hsl: var(--bs-red-hue), var(--bs-red-saturation), 40%;\n\t--bs-red-700-hsl: var(--bs-red-hue), var(--bs-red-saturation), 30%;\n\t--bs-red-800-hsl: var(--bs-red-hue), var(--bs-red-saturation), 20%;\n\t--bs-red-900-hsl: var(--bs-red-hue), var(--bs-red-saturation), 10%;\n\t--bs-red-100: hsl(var(--bs-red-100-hsl));\n\t--bs-red-200: hsl(var(--bs-red-200-hsl));\n\t--bs-red-300: hsl(var(--bs-red-300-hsl));\n\t--bs-red-400: hsl(var(--bs-red-400-hsl));\n\t--bs-red-500: hsl(var(--bs-red-500-hsl));\n\t--bs-red-600: hsl(var(--bs-red-600-hsl));\n\t--bs-red-700: hsl(var(--bs-red-700-hsl));\n\t--bs-red-800: hsl(var(--bs-red-800-hsl));\n\t--bs-red-900: hsl(var(--bs-red-900-hsl));\n\t--bs-red-hsl: var(--bs-red-500-hsl);\n\t--bs-red: hsl(var(--bs-red-hsl));\n\t--bs-red-foreground-hsl: var(--bs-white-hsl);\n\t--bs-red-foreground: hsl(var(--bs-red-foreground-hsl));\n\t--bs-red-text-emphasis-hsl: var(--bs-red-600-hsl);\n\t--bs-red-text-emphasis: hsl(var(--bs-red-text-emphasis-hsl));\n\t--bs-red-hover-bg: var(--bs-red-600);\n\t--bs-red-active-bg: var(--bs-red-700);\n\t--bs-red-bg-subtle: hsl(var(--bs-red-hue), var(--bs-red-saturation), 95%);\n\t--bs-red-border-subtle: var(--bs-red-400);\n\t--bs-red-checkbox-svg: var(--bs-checkbox-svg-light);\n\t--bs-red-dash-svg: var(--bs-dash-svg-light);\n\t--bs-red-radio-svg: var(--bs-radio-svg-light);\n\t--bs-red-switch-svg: var(--bs-switch-svg-light);\n\n\t/* Orange */\n\n\t--bs-orange-hue: 17;\n\t--bs-orange-saturation: 88%;\n\t--bs-orange-100-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 90%;\n\t--bs-orange-200-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 80%;\n\t--bs-orange-300-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 70%;\n\t--bs-orange-400-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 60%;\n\t--bs-orange-500-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 50%;\n\t--bs-orange-600-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 40%;\n\t--bs-orange-700-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 30%;\n\t--bs-orange-800-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 20%;\n\t--bs-orange-900-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 10%;\n\t--bs-orange-100: hsl(var(--bs-orange-100-hsl));\n\t--bs-orange-200: hsl(var(--bs-orange-200-hsl));\n\t--bs-orange-300: hsl(var(--bs-orange-300-hsl));\n\t--bs-orange-400: hsl(var(--bs-orange-400-hsl));\n\t--bs-orange-500: hsl(var(--bs-orange-500-hsl));\n\t--bs-orange-600: hsl(var(--bs-orange-600-hsl));\n\t--bs-orange-700: hsl(var(--bs-orange-700-hsl));\n\t--bs-orange-800: hsl(var(--bs-orange-800-hsl));\n\t--bs-orange-900: hsl(var(--bs-orange-900-hsl));\n\t--bs-orange-hsl: var(--bs-orange-hue), var(--bs-orange-saturation), 44%;\n\t--bs-orange: hsl(var(--bs-orange-hsl));\n\t--bs-orange-foreground-hsl: var(--bs-white-hsl);\n\t--bs-orange-foreground: hsl(var(--bs-orange-foreground-hsl));\n\t--bs-orange-text-emphasis-hsl: var(--bs-orange-600-hsl);\n\t--bs-orange-text-emphasis: hsl(var(--bs-orange-text-emphasis-hsl));\n\t--bs-orange-hover-bg: var(--bs-orange-600);\n\t--bs-orange-active-bg: var(--bs-orange-700);\n\t--bs-orange-bg-subtle: hsl(var(--bs-orange-hue), var(--bs-orange-saturation), 95%);\n\t--bs-orange-border-subtle: var(--bs-orange-400);\n\t--bs-orange-checkbox-svg: var(--bs-checkbox-svg-light);\n\t--bs-orange-dash-svg: var(--bs-dash-svg-light);\n\t--bs-orange-radio-svg: var(--bs-radio-svg-light);\n\t--bs-orange-switch-svg: var(--bs-switch-svg-light);\n\n\t/* Sienna (burnt orange) */\n\n\t--bs-sienna-hue: 25;\n\t--bs-sienna-saturation: 50%;\n\t--bs-sienna-100-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 90%;\n\t--bs-sienna-200-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 80%;\n\t--bs-sienna-300-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 70%;\n\t--bs-sienna-400-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 60%;\n\t--bs-sienna-500-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 50%;\n\t--bs-sienna-600-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 40%;\n\t--bs-sienna-700-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 30%;\n\t--bs-sienna-800-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 20%;\n\t--bs-sienna-900-hsl: var(--bs-sienna-hue), var(--bs-sienna-saturation), 10%;\n\t--bs-sienna-100: hsl(var(--bs-sienna-100-hsl));\n\t--bs-sienna-200: hsl(var(--bs-sienna-200-hsl));\n\t--bs-sienna-300: hsl(var(--bs-sienna-300-hsl));\n\t--bs-sienna-400: hsl(var(--bs-sienna-400-hsl));\n\t--bs-sienna-500: hsl(var(--bs-sienna-500-hsl));\n\t--bs-sienna-600: hsl(var(--bs-sienna-600-hsl));\n\t--bs-sienna-700: hsl(var(--bs-sienna-700-hsl));\n\t--bs-sienna-800: hsl(var(--bs-sienna-800-hsl));\n\t--bs-sienna-900: hsl(var(--bs-sienna-900-hsl));\n\t--bs-sienna-hsl: var(--bs-sienna-600-hsl);\n\t--bs-sienna: hsl(var(--bs-sienna-hsl));\n\t--bs-sienna-foreground-hsl: var(--bs-white-hsl);\n\t--bs-sienna-foreground: hsl(var(--bs-sienna-foreground-hsl));\n\t--bs-sienna-text-emphasis-hsl: var(--bs-sienna-700-hsl);\n\t--bs-sienna-text-emphasis: hsl(var(--bs-sienna-text-emphasis-hsl));\n\t--bs-sienna-hover-bg: var(--bs-sienna-700);\n\t--bs-sienna-active-bg: var(--bs-sienna-800);\n\t--bs-sienna-bg-subtle: hsl(var(--bs-sienna-hue), var(--bs-sienna-saturation), 95%);\n\t--bs-sienna-border-subtle: var(--bs-sienna-400);\n\t--bs-sienna-checkbox-svg: var(--bs-checkbox-svg-light);\n\t--bs-sienna-dash-svg: var(--bs-dash-svg-light);\n\t--bs-sienna-radio-svg: var(--bs-radio-svg-light);\n\t--bs-sienna-switch-svg: var(--bs-switch-svg-light);\n\n\t/* Amber */\n\n\t--bs-amber-hue: 38;\n\t--bs-amber-saturation: 92%;\n\t--bs-amber-100-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 90%;\n\t--bs-amber-200-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 80%;\n\t--bs-amber-300-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 70%;\n\t--bs-amber-400-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 60%;\n\t--bs-amber-500-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 50%;\n\t--bs-amber-600-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 40%;\n\t--bs-amber-700-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 30%;\n\t--bs-amber-800-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 20%;\n\t--bs-amber-900-hsl: var(--bs-amber-hue), var(--bs-amber-saturation), 10%;\n\t--bs-amber-100: hsl(var(--bs-amber-100-hsl));\n\t--bs-amber-200: hsl(var(--bs-amber-200-hsl));\n\t--bs-amber-300: hsl(var(--bs-amber-300-hsl));\n\t--bs-amber-400: hsl(var(--bs-amber-400-hsl));\n\t--bs-amber-500: hsl(var(--bs-amber-500-hsl));\n\t--bs-amber-600: hsl(var(--bs-amber-600-hsl));\n\t--bs-amber-700: hsl(var(--bs-amber-700-hsl));\n\t--bs-amber-800: hsl(var(--bs-amber-800-hsl));\n\t--bs-amber-900: hsl(var(--bs-amber-900-hsl));\n\t--bs-amber-hsl: var(--bs-amber-500-hsl);\n\t--bs-amber: hsl(var(--bs-amber-hsl));\n\t--bs-amber-foreground-hsl: var(--bs-amber-900-hsl);\n\t--bs-amber-foreground: hsl(var(--bs-amber-foreground-hsl));\n\t--bs-amber-text-emphasis-hsl: var(--bs-amber-700-hsl);\n\t--bs-amber-text-emphasis: hsl(var(--bs-amber-text-emphasis-hsl));\n\t--bs-amber-hover-bg: var(--bs-amber-400);\n\t--bs-amber-active-bg: var(--bs-amber-300);\n\t--bs-amber-bg-subtle: hsl(var(--bs-amber-hue), var(--bs-amber-saturation), 95%);\n\t--bs-amber-border-subtle: var(--bs-amber-400);\n\t--bs-amber-checkbox-svg: var(--bs-checkbox-svg-dark);\n\t--bs-amber-dash-svg: var(--bs-dash-svg-dark);\n\t--bs-amber-radio-svg: var(--bs-radio-svg-dark);\n\t--bs-amber-switch-svg: var(--bs-switch-svg-dark);\n\n\t/* Yellow */\n\n\t--bs-yellow-hue: 50;\n\t--bs-yellow-saturation: 93%;\n\t--bs-yellow-100-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 90%;\n\t--bs-yellow-200-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 80%;\n\t--bs-yellow-300-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 70%;\n\t--bs-yellow-400-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 60%;\n\t--bs-yellow-500-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 50%;\n\t--bs-yellow-600-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 40%;\n\t--bs-yellow-700-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 30%;\n\t--bs-yellow-800-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 20%;\n\t--bs-yellow-900-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 10%;\n\t--bs-yellow-100: hsl(var(--bs-yellow-100-hsl));\n\t--bs-yellow-200: hsl(var(--bs-yellow-200-hsl));\n\t--bs-yellow-300: hsl(var(--bs-yellow-300-hsl));\n\t--bs-yellow-400: hsl(var(--bs-yellow-400-hsl));\n\t--bs-yellow-500: hsl(var(--bs-yellow-500-hsl));\n\t--bs-yellow-600: hsl(var(--bs-yellow-600-hsl));\n\t--bs-yellow-700: hsl(var(--bs-yellow-700-hsl));\n\t--bs-yellow-800: hsl(var(--bs-yellow-800-hsl));\n\t--bs-yellow-900: hsl(var(--bs-yellow-900-hsl));\n\t--bs-yellow-hsl: var(--bs-yellow-500-hsl);\n\t--bs-yellow: hsl(var(--bs-yellow-hsl));\n\t--bs-yellow-foreground-hsl: var(--bs-yellow-900-hsl);\n\t--bs-yellow-foreground: hsl(var(--bs-yellow-foreground-hsl));\n\t--bs-yellow-text-emphasis-hsl: var(--bs-yellow-hue), var(--bs-yellow-saturation), 25%;\n\t--bs-yellow-text-emphasis: hsl(var(--bs-yellow-text-emphasis-hsl));\n\t--bs-yellow-hover-bg: var(--bs-yellow-400);\n\t--bs-yellow-active-bg: var(--bs-yellow-300);\n\t--bs-yellow-bg-subtle: hsl(var(--bs-yellow-hue), var(--bs-yellow-saturation), 95%);\n\t--bs-yellow-border-subtle: var(--bs-yellow-400);\n\t--bs-yellow-checkbox-svg: var(--bs-checkbox-svg-dark);\n\t--bs-yellow-dash-svg: var(--bs-dash-svg-dark);\n\t--bs-yellow-radio-svg: var(--bs-radio-svg-dark);\n\t--bs-yellow-switch-svg: var(--bs-switch-svg-dark);\n\n\t/* Lime */\n\n\t--bs-lime-hue: 83;\n\t--bs-lime-saturation: 78%;\n\t--bs-lime-100-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 90%;\n\t--bs-lime-200-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 80%;\n\t--bs-lime-300-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 70%;\n\t--bs-lime-400-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 60%;\n\t--bs-lime-500-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 50%;\n\t--bs-lime-600-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 40%;\n\t--bs-lime-700-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 30%;\n\t--bs-lime-800-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 20%;\n\t--bs-lime-900-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 10%;\n\t--bs-lime-100: hsl(var(--bs-lime-100-hsl));\n\t--bs-lime-200: hsl(var(--bs-lime-200-hsl));\n\t--bs-lime-300: hsl(var(--bs-lime-300-hsl));\n\t--bs-lime-400: hsl(var(--bs-lime-400-hsl));\n\t--bs-lime-500: hsl(var(--bs-lime-500-hsl));\n\t--bs-lime-600: hsl(var(--bs-lime-600-hsl));\n\t--bs-lime-700: hsl(var(--bs-lime-700-hsl));\n\t--bs-lime-800: hsl(var(--bs-lime-800-hsl));\n\t--bs-lime-900: hsl(var(--bs-lime-900-hsl));\n\t--bs-lime-hsl: var(--bs-lime-500-hsl);\n\t--bs-lime: hsl(var(--bs-lime-hsl));\n\t--bs-lime-foreground-hsl: var(--bs-lime-900-hsl);\n\t--bs-lime-foreground: hsl(var(--bs-lime-foreground-hsl));\n\t--bs-lime-text-emphasis-hsl: var(--bs-lime-hue), var(--bs-lime-saturation), 27.5%;\n\t--bs-lime-text-emphasis: hsl(var(--bs-lime-text-emphasis-hsl));\n\t--bs-lime-hover-bg: var(--bs-lime-400);\n\t--bs-lime-active-bg: var(--bs-lime-300);\n\t--bs-lime-bg-subtle: hsl(var(--bs-lime-hue), var(--bs-lime-saturation), 95%);\n\t--bs-lime-border-subtle: var(--bs-lime-400);\n\t--bs-lime-checkbox-svg: var(--bs-checkbox-svg-dark);\n\t--bs-lime-dash-svg: var(--bs-dash-svg-dark);\n\t--bs-lime-radio-svg: var(--bs-radio-svg-dark);\n\t--bs-lime-switch-svg: var(--bs-switch-svg-dark);\n\n\t/* Green */\n\n\t--bs-green-hue: 145;\n\t--bs-green-saturation: 52%;\n\t--bs-green-100-hsl: var(--bs-green-hue), var(--bs-green-saturation), 90%;\n\t--bs-green-200-hsl: var(--bs-green-hue), var(--bs-green-saturation), 80%;\n\t--bs-green-300-hsl: var(--bs-green-hue), var(--bs-green-saturation), 70%;\n\t--bs-green-400-hsl: var(--bs-green-hue), var(--bs-green-saturation), 60%;\n\t--bs-green-500-hsl: var(--bs-green-hue), var(--bs-green-saturation), 50%;\n\t--bs-green-600-hsl: var(--bs-green-hue), var(--bs-green-saturation), 40%;\n\t--bs-green-700-hsl: var(--bs-green-hue), var(--bs-green-saturation), 30%;\n\t--bs-green-800-hsl: var(--bs-green-hue), var(--bs-green-saturation), 20%;\n\t--bs-green-900-hsl: var(--bs-green-hue), var(--bs-green-saturation), 10%;\n\t--bs-green-100: hsl(var(--bs-green-100-hsl));\n\t--bs-green-200: hsl(var(--bs-green-200-hsl));\n\t--bs-green-300: hsl(var(--bs-green-300-hsl));\n\t--bs-green-400: hsl(var(--bs-green-400-hsl));\n\t--bs-green-500: hsl(var(--bs-green-500-hsl));\n\t--bs-green-600: hsl(var(--bs-green-600-hsl));\n\t--bs-green-700: hsl(var(--bs-green-700-hsl));\n\t--bs-green-800: hsl(var(--bs-green-800-hsl));\n\t--bs-green-900: hsl(var(--bs-green-900-hsl));\n\t--bs-green-hsl: var(--bs-green-hue), var(--bs-green-saturation), 34%;\n\t--bs-green: hsl(var(--bs-green-hsl));\n\t--bs-green-foreground-hsl: var(--bs-white-hsl);\n\t--bs-green-foreground: hsl(var(--bs-green-foreground-hsl));\n\t--bs-green-text-emphasis-hsl: var(--bs-green-700-hsl);\n\t--bs-green-text-emphasis: hsl(var(--bs-green-text-emphasis-hsl));\n\t--bs-green-hover-bg: var(--bs-green-700);\n\t--bs-green-active-bg: var(--bs-green-800);\n\t--bs-green-bg-subtle: hsl(var(--bs-green-hue), var(--bs-green-saturation), 95%);\n\t--bs-green-border-subtle: var(--bs-green-400);\n\t--bs-green-checkbox-svg: var(--bs-checkbox-svg-light);\n\t--bs-green-dash-svg: var(--bs-dash-svg-light);\n\t--bs-green-radio-svg: var(--bs-radio-svg-light);\n\t--bs-green-switch-svg: var(--bs-switch-svg-light);\n\n\t/* Emerald */\n\n\t--bs-emerald-hue: 160;\n\t--bs-emerald-saturation: 84%;\n\t--bs-emerald-100-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 90%;\n\t--bs-emerald-200-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 80%;\n\t--bs-emerald-300-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 70%;\n\t--bs-emerald-400-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 60%;\n\t--bs-emerald-500-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 50%;\n\t--bs-emerald-600-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 40%;\n\t--bs-emerald-700-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 30%;\n\t--bs-emerald-800-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 20%;\n\t--bs-emerald-900-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 10%;\n\t--bs-emerald-100: hsl(var(--bs-emerald-100-hsl));\n\t--bs-emerald-200: hsl(var(--bs-emerald-200-hsl));\n\t--bs-emerald-300: hsl(var(--bs-emerald-300-hsl));\n\t--bs-emerald-400: hsl(var(--bs-emerald-400-hsl));\n\t--bs-emerald-500: hsl(var(--bs-emerald-500-hsl));\n\t--bs-emerald-600: hsl(var(--bs-emerald-600-hsl));\n\t--bs-emerald-700: hsl(var(--bs-emerald-700-hsl));\n\t--bs-emerald-800: hsl(var(--bs-emerald-800-hsl));\n\t--bs-emerald-900: hsl(var(--bs-emerald-900-hsl));\n\t--bs-emerald-hsl: var(--bs-emerald-500-hsl);\n\t--bs-emerald: hsl(var(--bs-emerald-hsl));\n\t--bs-emerald-foreground-hsl: var(--bs-emerald-900-hsl);\n\t--bs-emerald-foreground: hsl(var(--bs-emerald-foreground-hsl));\n\t--bs-emerald-text-emphasis-hsl: var(--bs-emerald-hue), var(--bs-emerald-saturation), 27.5%;\n\t--bs-emerald-text-emphasis: hsl(var(--bs-emerald-text-emphasis-hsl));\n\t--bs-emerald-hover-bg: var(--bs-emerald-400);\n\t--bs-emerald-active-bg: var(--bs-emerald-300);\n\t--bs-emerald-bg-subtle: hsl(var(--bs-emerald-hue), var(--bs-emerald-saturation), 95%);\n\t--bs-emerald-border-subtle: var(--bs-emerald-400);\n\t--bs-emerald-checkbox-svg: var(--bs-checkbox-svg-dark);\n\t--bs-emerald-dash-svg: var(--bs-dash-svg-dark);\n\t--bs-emerald-radio-svg: var(--bs-radio-svg-dark);\n\t--bs-emerald-switch-svg: var(--bs-switch-svg-dark);\n\n\t/* Turquoise */\n\n\t--bs-turquoise-hue: 168;\n\t--bs-turquoise-saturation: 52%;\n\t--bs-turquoise-100-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 90%;\n\t--bs-turquoise-200-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 80%;\n\t--bs-turquoise-300-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 70%;\n\t--bs-turquoise-400-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 60%;\n\t--bs-turquoise-500-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 50%;\n\t--bs-turquoise-600-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 40%;\n\t--bs-turquoise-700-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 30%;\n\t--bs-turquoise-800-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 20%;\n\t--bs-turquoise-900-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 10%;\n\t--bs-turquoise-100: hsl(var(--bs-turquoise-100-hsl));\n\t--bs-turquoise-200: hsl(var(--bs-turquoise-200-hsl));\n\t--bs-turquoise-300: hsl(var(--bs-turquoise-300-hsl));\n\t--bs-turquoise-400: hsl(var(--bs-turquoise-400-hsl));\n\t--bs-turquoise-500: hsl(var(--bs-turquoise-500-hsl));\n\t--bs-turquoise-600: hsl(var(--bs-turquoise-600-hsl));\n\t--bs-turquoise-700: hsl(var(--bs-turquoise-700-hsl));\n\t--bs-turquoise-800: hsl(var(--bs-turquoise-800-hsl));\n\t--bs-turquoise-900: hsl(var(--bs-turquoise-900-hsl));\n\t--bs-turquoise-hsl: var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 34%;\n\t--bs-turquoise: hsl(var(--bs-turquoise-hsl));\n\t--bs-turquoise-foreground-hsl: var(--bs-white-hsl);\n\t--bs-turquoise-foreground: hsl(var(--bs-turquoise-foreground-hsl));\n\t--bs-turquoise-text-emphasis-hsl: var(--bs-turquoise-700-hsl);\n\t--bs-turquoise-text-emphasis: hsl(var(--bs-turquoise-text-emphasis-hsl));\n\t--bs-turquoise-hover-bg: var(--bs-turquoise-700);\n\t--bs-turquoise-active-bg: var(--bs-turquoise-800);\n\t--bs-turquoise-bg-subtle: hsl(var(--bs-turquoise-hue), var(--bs-turquoise-saturation), 95%);\n\t--bs-turquoise-border-subtle: var(--bs-turquoise-400);\n\t--bs-turquoise-checkbox-svg: var(--bs-checkbox-svg-light);\n\t--bs-turquoise-dash-svg: var(--bs-dash-svg-light);\n\t--bs-turquoise-radio-svg: var(--bs-radio-svg-light);\n\t--bs-turquoise-switch-svg: var(--bs-switch-svg-light);\n\n\t/* Teal */\n\n\t--bs-teal-hue: 173;\n\t--bs-teal-saturation: 80%;\n\t--bs-teal-100-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 90%;\n\t--bs-teal-200-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 80%;\n\t--bs-teal-300-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 70%;\n\t--bs-teal-400-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 60%;\n\t--bs-teal-500-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 50%;\n\t--bs-teal-600-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 40%;\n\t--bs-teal-700-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 30%;\n\t--bs-teal-800-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 20%;\n\t--bs-teal-900-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 10%;\n\t--bs-teal-100: hsl(var(--bs-teal-100-hsl));\n\t--bs-teal-200: hsl(var(--bs-teal-200-hsl));\n\t--bs-teal-300: hsl(var(--bs-teal-300-hsl));\n\t--bs-teal-400: hsl(var(--bs-teal-400-hsl));\n\t--bs-teal-500: hsl(var(--bs-teal-500-hsl));\n\t--bs-teal-600: hsl(var(--bs-teal-600-hsl));\n\t--bs-teal-700: hsl(var(--bs-teal-700-hsl));\n\t--bs-teal-800: hsl(var(--bs-teal-800-hsl));\n\t--bs-teal-900: hsl(var(--bs-teal-900-hsl));\n\t--bs-teal-hsl: var(--bs-teal-500-hsl);\n\t--bs-teal: hsl(var(--bs-teal-hsl));\n\t--bs-teal-foreground-hsl: var(--bs-teal-900-hsl);\n\t--bs-teal-foreground: hsl(var(--bs-teal-foreground-hsl));\n\t--bs-teal-text-emphasis-hsl: var(--bs-teal-hue), var(--bs-teal-saturation), 27.5%;\n\t--bs-teal-text-emphasis: hsl(var(--bs-teal-text-emphasis-hsl));\n\t--bs-teal-hover-bg: var(--bs-teal-400);\n\t--bs-teal-active-bg: var(--bs-teal-300);\n\t--bs-teal-bg-subtle: hsl(var(--bs-teal-hue), var(--bs-teal-saturation), 95%);\n\t--bs-teal-border-subtle: var(--bs-teal-400);\n\t--bs-teal-checkbox-svg: var(--bs-checkbox-svg-dark);\n\t--bs-teal-dash-svg: var(--bs-dash-svg-dark);\n\t--bs-teal-radio-svg: var(--bs-radio-svg-dark);\n\t--bs-teal-switch-svg: var(--bs-switch-svg-dark);\n\n\t/* Cyan */\n\n\t--bs-cyan-hue: 189;\n\t--bs-cyan-saturation: 94%;\n\t--bs-cyan-100-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 90%;\n\t--bs-cyan-200-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 80%;\n\t--bs-cyan-300-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 70%;\n\t--bs-cyan-400-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 60%;\n\t--bs-cyan-500-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 50%;\n\t--bs-cyan-600-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 40%;\n\t--bs-cyan-700-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 30%;\n\t--bs-cyan-800-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 20%;\n\t--bs-cyan-900-hsl: var(--bs-cyan-hue), var(--bs-cyan-saturation), 10%;\n\t--bs-cyan-100: hsl(var(--bs-cyan-100-hsl));\n\t--bs-cyan-200: hsl(var(--bs-cyan-200-hsl));\n\t--bs-cyan-300: hsl(var(--bs-cyan-300-hsl));\n\t--bs-cyan-400: hsl(var(--bs-cyan-400-hsl));\n\t--bs-cyan-500: hsl(var(--bs-cyan-500-hsl));\n\t--bs-cyan-600: hsl(var(--bs-cyan-600-hsl));\n\t--bs-cyan-700: hsl(var(--bs-cyan-700-hsl));\n\t--bs-cyan-800: hsl(var(--bs-cyan-800-hsl));\n\t--bs-cyan-900: hsl(var(--bs-cyan-900-hsl));\n\t--bs-cyan-hsl: var(--bs-cyan-500-hsl);\n\t--bs-cyan: hsl(var(--bs-cyan-hsl));\n\t--bs-cyan-foreground-hsl: var(--bs-cyan-900-hsl);\n\t--bs-cyan-foreground: hsl(var(--bs-cyan-foreground-hsl));\n\t--bs-cyan-text-emphasis-hsl: var(--bs-cyan-700-hsl);\n\t--bs-cyan-text-emphasis: hsl(var(--bs-cyan-text-emphasis-hsl));\n\t--bs-cyan-hover-bg: var(--bs-cyan-400);\n\t--bs-cyan-active-bg: var(--bs-cyan-300);\n\t--bs-cyan-bg-subtle: hsl(var(--bs-cyan-hue), var(--bs-cyan-saturation), 95%);\n\t--bs-cyan-border-subtle: var(--bs-cyan-400);\n\t--bs-cyan-checkbox-svg: var(--bs-checkbox-svg-dark);\n\t--bs-cyan-dash-svg: var(--bs-dash-svg-dark);\n\t--bs-cyan-radio-svg: var(--bs-radio-svg-dark);\n\t--bs-cyan-switch-svg: var(--bs-switch-svg-dark);\n\n\t/* Sky */\n\n\t--bs-sky-hue: 198;\n\t--bs-sky-saturation: 100%;\n\t--bs-sky-100-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 90%;\n\t--bs-sky-200-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 80%;\n\t--bs-sky-300-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 70%;\n\t--bs-sky-400-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 60%;\n\t--bs-sky-500-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 50%;\n\t--bs-sky-600-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 40%;\n\t--bs-sky-700-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 30%;\n\t--bs-sky-800-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 20%;\n\t--bs-sky-900-hsl: var(--bs-sky-hue), var(--bs-sky-saturation), 10%;\n\t--bs-sky-100: hsl(var(--bs-sky-100-hsl));\n\t--bs-sky-200: hsl(var(--bs-sky-200-hsl));\n\t--bs-sky-300: hsl(var(--bs-sky-300-hsl));\n\t--bs-sky-400: hsl(var(--bs-sky-400-hsl));\n\t--bs-sky-500: hsl(var(--bs-sky-500-hsl));\n\t--bs-sky-600: hsl(var(--bs-sky-600-hsl));\n\t--bs-sky-700: hsl(var(--bs-sky-700-hsl));\n\t--bs-sky-800: hsl(var(--bs-sky-800-hsl));\n\t--bs-sky-900: hsl(var(--bs-sky-900-hsl));\n\t--bs-sky-hsl: var(--bs-sky-500-hsl);\n\t--bs-sky: hsl(var(--bs-sky-hsl));\n\t--bs-sky-foreground-hsl: var(--bs-sky-900-hsl);\n\t--bs-sky-foreground: hsl(var(--bs-sky-foreground-hsl));\n\t--bs-sky-text-emphasis-hsl: var(--bs-sky-700-hsl);\n\t--bs-sky-text-emphasis: hsl(var(--bs-sky-text-emphasis-hsl));\n\t--bs-sky-hover-bg: var(--bs-sky-400);\n\t--bs-sky-active-bg: var(--bs-sky-300);\n\t--bs-sky-bg-subtle: hsl(var(--bs-sky-hue), var(--bs-sky-saturation), 95%);\n\t--bs-sky-border-subtle: var(--bs-sky-400);\n\t--bs-sky-checkbox-svg: var(--bs-checkbox-svg-dark);\n\t--bs-sky-dash-svg: var(--bs-dash-svg-dark);\n\t--bs-sky-radio-svg: var(--bs-radio-svg-dark);\n\t--bs-sky-switch-svg: var(--bs-switch-svg-dark);\n\n\t/* Blue */\n\n\t--bs-blue-hue: 216;\n\t--bs-blue-saturation: 100%;\n\t--bs-blue-100-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 90%;\n\t--bs-blue-200-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 80%;\n\t--bs-blue-300-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 70%;\n\t--bs-blue-400-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 60%;\n\t--bs-blue-500-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 50%;\n\t--bs-blue-600-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 40%;\n\t--bs-blue-700-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 30%;\n\t--bs-blue-800-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 20%;\n\t--bs-blue-900-hsl: var(--bs-blue-hue), var(--bs-blue-saturation), 10%;\n\t--bs-blue-100: hsl(var(--bs-blue-100-hsl));\n\t--bs-blue-200: hsl(var(--bs-blue-200-hsl));\n\t--bs-blue-300: hsl(var(--bs-blue-300-hsl));\n\t--bs-blue-400: hsl(var(--bs-blue-400-hsl));\n\t--bs-blue-500: hsl(var(--bs-blue-500-hsl));\n\t--bs-blue-600: hsl(var(--bs-blue-600-hsl));\n\t--bs-blue-700: hsl(var(--bs-blue-700-hsl));\n\t--bs-blue-800: hsl(var(--bs-blue-800-hsl));\n\t--bs-blue-900: hsl(var(--bs-blue-900-hsl));\n\t--bs-blue-hsl: var(--bs-blue-500-hsl);\n\t--bs-blue: hsl(var(--bs-blue-hsl));\n\t--bs-blue-foreground-hsl: var(--bs-white-hsl);\n\t--bs-blue-foreground: hsl(var(--bs-blue-foreground-hsl));\n\t--bs-blue-text-emphasis-hsl: var(--bs-blue-600-hsl);\n\t--bs-blue-text-emphasis: hsl(var(--bs-blue-text-emphasis-hsl));\n\t--bs-blue-hover-bg: var(--bs-blue-600);\n\t--bs-blue-active-bg: var(--bs-blue-700);\n\t--bs-blue-bg-subtle: hsl(var(--bs-blue-hue), var(--bs-blue-saturation), 95%);\n\t--bs-blue-border-subtle: var(--bs-blue-400);\n\t--bs-blue-checkbox-svg: var(--bs-checkbox-svg-light);\n\t--bs-blue-dash-svg: var(--bs-dash-svg-light);\n\t--bs-blue-radio-svg: var(--bs-radio-svg-light);\n\t--bs-blue-switch-svg: var(--bs-switch-svg-light);\n\n\t/* Navy */\n\n\t--bs-navy-hue: 235;\n\t--bs-navy-saturation: 85%;\n\t--bs-navy-100-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 90%;\n\t--bs-navy-200-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 80%;\n\t--bs-navy-300-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 70%;\n\t--bs-navy-400-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 60%;\n\t--bs-navy-500-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 50%;\n\t--bs-navy-600-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 40%;\n\t--bs-navy-700-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 30%;\n\t--bs-navy-800-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 20%;\n\t--bs-navy-900-hsl: var(--bs-navy-hue), var(--bs-navy-saturation), 10%;\n\t--bs-navy-100: hsl(var(--bs-navy-100-hsl));\n\t--bs-navy-200: hsl(var(--bs-navy-200-hsl));\n\t--bs-navy-300: hsl(var(--bs-navy-300-hsl));\n\t--bs-navy-400: hsl(var(--bs-navy-400-hsl));\n\t--bs-navy-500: hsl(var(--bs-navy-500-hsl));\n\t--bs-navy-600: hsl(var(--bs-navy-600-hsl));\n\t--bs-navy-700: hsl(var(--bs-navy-700-hsl));\n\t--bs-navy-800: hsl(var(--bs-navy-800-hsl));\n\t--bs-navy-900: hsl(var(--bs-navy-900-hsl));\n\t--bs-navy-hsl: var(--bs-navy-500-hsl);\n\t--bs-navy: hsl(var(--bs-navy-hsl));\n\t--bs-navy-foreground-hsl: var(--bs-white-hsl);\n\t--bs-navy-foreground: hsl(var(--bs-navy-foreground-hsl));\n\t--bs-navy-text-emphasis-hsl: var(--bs-navy-600-hsl);\n\t--bs-navy-text-emphasis: hsl(var(--bs-navy-text-emphasis-hsl));\n\t--bs-navy-hover-bg: var(--bs-navy-600);\n\t--bs-navy-active-bg: var(--bs-navy-700);\n\t--bs-navy-bg-subtle: hsl(var(--bs-navy-hue), var(--bs-navy-saturation), 95%);\n\t--bs-navy-border-subtle: var(--bs-navy-400);\n\t--bs-navy-checkbox-svg: var(--bs-checkbox-svg-light);\n\t--bs-navy-dash-svg: var(--bs-dash-svg-light);\n\t--bs-navy-radio-svg: var(--bs-radio-svg-light);\n\t--bs-navy-switch-svg: var(--bs-switch-svg-light);\n\n\t/* Indigo */\n\n\t--bs-indigo-hue: 241;\n\t--bs-indigo-saturation: 60%;\n\t--bs-indigo-100-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 90%;\n\t--bs-indigo-200-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 80%;\n\t--bs-indigo-300-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 70%;\n\t--bs-indigo-400-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 60%;\n\t--bs-indigo-500-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 50%;\n\t--bs-indigo-600-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 40%;\n\t--bs-indigo-700-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 30%;\n\t--bs-indigo-800-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 20%;\n\t--bs-indigo-900-hsl: var(--bs-indigo-hue), var(--bs-indigo-saturation), 10%;\n\t--bs-indigo-100: hsl(var(--bs-indigo-100-hsl));\n\t--bs-indigo-200: hsl(var(--bs-indigo-200-hsl));\n\t--bs-indigo-300: hsl(var(--bs-indigo-300-hsl));\n\t--bs-indigo-400: hsl(var(--bs-indigo-400-hsl));\n\t--bs-indigo-500: hsl(var(--bs-indigo-500-hsl));\n\t--bs-indigo-600: hsl(var(--bs-indigo-600-hsl));\n\t--bs-indigo-700: hsl(var(--bs-indigo-700-hsl));\n\t--bs-indigo-800: hsl(var(--bs-indigo-800-hsl));\n\t--bs-indigo-900: hsl(var(--bs-indigo-900-hsl));\n\t--bs-indigo-hsl: var(--bs-indigo-500-hsl);\n\t--bs-indigo: hsl(var(--bs-indigo-hsl));\n\t--bs-indigo-foreground-hsl: var(--bs-white-hsl);\n\t--bs-indigo-foreground: hsl(var(--bs-indigo-foreground-hsl));\n\t--bs-indigo-text-emphasis-hsl: var(--bs-indigo-600-hsl);\n\t--bs-indigo-text-emphasis: hsl(var(--bs-indigo-text-emphasis-hsl));\n\t--bs-indigo-hover-bg: var(--bs-indigo-600);\n\t--bs-indigo-active-bg: var(--bs-indigo-700);\n\t--bs-indigo-bg-subtle: hsl(var(--bs-indigo-hue), var(--bs-indigo-saturation), 95%);\n\t--bs-indigo-border-subtle: var(--bs-indigo-400);\n\t--bs-indigo-checkbox-svg: var(--bs-checkbox-svg-light);\n\t--bs-indigo-dash-svg: var(--bs-dash-svg-light);\n\t--bs-indigo-radio-svg: var(--bs-radio-svg-light);\n\t--bs-indigo-switch-svg: var(--bs-switch-svg-light);\n\n\t/* Violet */\n\n\t--bs-violet-hue: 262;\n\t--bs-violet-saturation: 83%;\n\t--bs-violet-100-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 90%;\n\t--bs-violet-200-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 80%;\n\t--bs-violet-300-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 70%;\n\t--bs-violet-400-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 60%;\n\t--bs-violet-500-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 50%;\n\t--bs-violet-600-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 40%;\n\t--bs-violet-700-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 30%;\n\t--bs-violet-800-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 20%;\n\t--bs-violet-900-hsl: var(--bs-violet-hue), var(--bs-violet-saturation), 10%;\n\t--bs-violet-100: hsl(var(--bs-violet-100-hsl));\n\t--bs-violet-200: hsl(var(--bs-violet-200-hsl));\n\t--bs-violet-300: hsl(var(--bs-violet-300-hsl));\n\t--bs-violet-400: hsl(var(--bs-violet-400-hsl));\n\t--bs-violet-500: hsl(var(--bs-violet-500-hsl));\n\t--bs-violet-600: hsl(var(--bs-violet-600-hsl));\n\t--bs-violet-700: hsl(var(--bs-violet-700-hsl));\n\t--bs-violet-800: hsl(var(--bs-violet-800-hsl));\n\t--bs-violet-900: hsl(var(--bs-violet-900-hsl));\n\t--bs-violet-hsl: var(--bs-violet-500-hsl);\n\t--bs-violet: hsl(var(--bs-violet-hsl));\n\t--bs-violet-foreground-hsl: var(--bs-white-hsl);\n\t--bs-violet-foreground: hsl(var(--bs-violet-foreground-hsl));\n\t--bs-violet-text-emphasis-hsl: var(--bs-violet-600-hsl);\n\t--bs-violet-text-emphasis: hsl(var(--bs-violet-text-emphasis-hsl));\n\t--bs-violet-hover-bg: var(--bs-violet-600);\n\t--bs-violet-active-bg: var(--bs-violet-700);\n\t--bs-violet-bg-subtle: hsl(var(--bs-violet-hue), var(--bs-violet-saturation), 95%);\n\t--bs-violet-border-subtle: var(--bs-violet-400);\n\t--bs-violet-checkbox-svg: var(--bs-checkbox-svg-light);\n\t--bs-violet-dash-svg: var(--bs-dash-svg-light);\n\t--bs-violet-radio-svg: var(--bs-radio-svg-light);\n\t--bs-violet-switch-svg: var(--bs-switch-svg-light);\n\n\t/* Purple */\n\n\t--bs-purple-hue: 271;\n\t--bs-purple-saturation: 80%;\n\t--bs-purple-100-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 90%;\n\t--bs-purple-200-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 80%;\n\t--bs-purple-300-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 70%;\n\t--bs-purple-400-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 60%;\n\t--bs-purple-500-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 50%;\n\t--bs-purple-600-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 40%;\n\t--bs-purple-700-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 30%;\n\t--bs-purple-800-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 20%;\n\t--bs-purple-900-hsl: var(--bs-purple-hue), var(--bs-purple-saturation), 10%;\n\t--bs-purple-100: hsl(var(--bs-purple-100-hsl));\n\t--bs-purple-200: hsl(var(--bs-purple-200-hsl));\n\t--bs-purple-300: hsl(var(--bs-purple-300-hsl));\n\t--bs-purple-400: hsl(var(--bs-purple-400-hsl));\n\t--bs-purple-500: hsl(var(--bs-purple-500-hsl));\n\t--bs-purple-600: hsl(var(--bs-purple-600-hsl));\n\t--bs-purple-700: hsl(var(--bs-purple-700-hsl));\n\t--bs-purple-800: hsl(var(--bs-purple-800-hsl));\n\t--bs-purple-900: hsl(var(--bs-purple-900-hsl));\n\t--bs-purple-hsl: var(--bs-purple-500-hsl);\n\t--bs-purple: hsl(var(--bs-purple-hsl));\n\t--bs-purple-foreground-hsl: var(--bs-white-hsl);\n\t--bs-purple-foreground: hsl(var(--bs-purple-foreground-hsl));\n\t--bs-purple-text-emphasis-hsl: var(--bs-purple-600-hsl);\n\t--bs-purple-text-emphasis: hsl(var(--bs-purple-text-emphasis-hsl));\n\t--bs-purple-hover-bg: var(--bs-purple-600);\n\t--bs-purple-active-bg: var(--bs-purple-700);\n\t--bs-purple-bg-subtle: hsl(var(--bs-purple-hue), var(--bs-purple-saturation), 95%);\n\t--bs-purple-border-subtle: var(--bs-purple-400);\n\t--bs-purple-checkbox-svg: var(--bs-checkbox-svg-light);\n\t--bs-purple-dash-svg: var(--bs-dash-svg-light);\n\t--bs-purple-radio-svg: var(--bs-radio-svg-light);\n\t--bs-purple-switch-svg: var(--bs-switch-svg-light);\n\n\t/* Fuchsia */\n\n\t--bs-fuchsia-hue: 292;\n\t--bs-fuchsia-saturation: 52.5%;\n\t--bs-fuchsia-100-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 90%;\n\t--bs-fuchsia-200-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 80%;\n\t--bs-fuchsia-300-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 70%;\n\t--bs-fuchsia-400-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 60%;\n\t--bs-fuchsia-500-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 50%;\n\t--bs-fuchsia-600-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 40%;\n\t--bs-fuchsia-700-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 30%;\n\t--bs-fuchsia-800-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 20%;\n\t--bs-fuchsia-900-hsl: var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 10%;\n\t--bs-fuchsia-100: hsl(var(--bs-fuchsia-100-hsl));\n\t--bs-fuchsia-200: hsl(var(--bs-fuchsia-200-hsl));\n\t--bs-fuchsia-300: hsl(var(--bs-fuchsia-300-hsl));\n\t--bs-fuchsia-400: hsl(var(--bs-fuchsia-400-hsl));\n\t--bs-fuchsia-500: hsl(var(--bs-fuchsia-500-hsl));\n\t--bs-fuchsia-600: hsl(var(--bs-fuchsia-600-hsl));\n\t--bs-fuchsia-700: hsl(var(--bs-fuchsia-700-hsl));\n\t--bs-fuchsia-800: hsl(var(--bs-fuchsia-800-hsl));\n\t--bs-fuchsia-900: hsl(var(--bs-fuchsia-900-hsl));\n\t--bs-fuchsia-hsl: var(--bs-fuchsia-500-hsl);\n\t--bs-fuchsia: hsl(var(--bs-fuchsia-hsl));\n\t--bs-fuchsia-foreground-hsl: var(--bs-white-hsl);\n\t--bs-fuchsia-foreground: hsl(var(--bs-fuchsia-foreground-hsl));\n\t--bs-fuchsia-text-emphasis-hsl: var(--bs-fuchsia-600-hsl);\n\t--bs-fuchsia-text-emphasis: hsl(var(--bs-fuchsia-text-emphasis-hsl));\n\t--bs-fuchsia-hover-bg: var(--bs-fuchsia-600);\n\t--bs-fuchsia-active-bg: var(--bs-fuchsia-700);\n\t--bs-fuchsia-bg-subtle: hsl(var(--bs-fuchsia-hue), var(--bs-fuchsia-saturation), 95%);\n\t--bs-fuchsia-border-subtle: var(--bs-fuchsia-400);\n\t--bs-fuchsia-checkbox-svg: var(--bs-checkbox-svg-light);\n\t--bs-fuchsia-dash-svg: var(--bs-dash-svg-light);\n\t--bs-fuchsia-radio-svg: var(--bs-radio-svg-light);\n\t--bs-fuchsia-switch-svg: var(--bs-switch-svg-light);\n\n\t/* Pink (magenta) */\n\n\t--bs-pink-hue: 331;\n\t--bs-pink-saturation: 60%;\n\t--bs-pink-100-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 90%;\n\t--bs-pink-200-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 80%;\n\t--bs-pink-300-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 70%;\n\t--bs-pink-400-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 60%;\n\t--bs-pink-500-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 50%;\n\t--bs-pink-600-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 40%;\n\t--bs-pink-700-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 30%;\n\t--bs-pink-800-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 20%;\n\t--bs-pink-900-hsl: var(--bs-pink-hue), var(--bs-pink-saturation), 10%;\n\t--bs-pink-100: hsl(var(--bs-pink-100-hsl));\n\t--bs-pink-200: hsl(var(--bs-pink-200-hsl));\n\t--bs-pink-300: hsl(var(--bs-pink-300-hsl));\n\t--bs-pink-400: hsl(var(--bs-pink-400-hsl));\n\t--bs-pink-500: hsl(var(--bs-pink-500-hsl));\n\t--bs-pink-600: hsl(var(--bs-pink-600-hsl));\n\t--bs-pink-700: hsl(var(--bs-pink-700-hsl));\n\t--bs-pink-800: hsl(var(--bs-pink-800-hsl));\n\t--bs-pink-900: hsl(var(--bs-pink-900-hsl));\n\t--bs-pink-hsl: var(--bs-pink-500-hsl);\n\t--bs-pink: hsl(var(--bs-pink-hsl));\n\t--bs-pink-foreground-hsl: var(--bs-white-hsl);\n\t--bs-pink-foreground: hsl(var(--bs-pink-foreground-hsl));\n\t--bs-pink-text-emphasis-hsl: var(--bs-pink-600-hsl);\n\t--bs-pink-text-emphasis: hsl(var(--bs-pink-text-emphasis-hsl));\n\t--bs-pink-hover-bg: var(--bs-pink-600);\n\t--bs-pink-active-bg: var(--bs-pink-700);\n\t--bs-pink-bg-subtle: hsl(var(--bs-pink-hue), var(--bs-pink-saturation), 95%);\n\t--bs-pink-border-subtle: var(--bs-pink-400);\n\t--bs-pink-checkbox-svg: var(--bs-checkbox-svg-light);\n\t--bs-pink-dash-svg: var(--bs-dash-svg-light);\n\t--bs-pink-radio-svg: var(--bs-radio-svg-light);\n\t--bs-pink-switch-svg: var(--bs-switch-svg-light);\n\n\t/* Primary */\n\n\t--bs-primary-hue: var(--bs-blue-hue);\n\t--bs-primary-saturation: var(--bs-blue-saturation);\n\t--bs-primary-100-hsl: var(--bs-blue-100-hsl);\n\t--bs-primary-200-hsl: var(--bs-blue-200-hsl);\n\t--bs-primary-300-hsl: var(--bs-blue-300-hsl);\n\t--bs-primary-400-hsl: var(--bs-blue-400-hsl);\n\t--bs-primary-500-hsl: var(--bs-blue-500-hsl);\n\t--bs-primary-600-hsl: var(--bs-blue-600-hsl);\n\t--bs-primary-700-hsl: var(--bs-blue-700-hsl);\n\t--bs-primary-800-hsl: var(--bs-blue-800-hsl);\n\t--bs-primary-900-hsl: var(--bs-blue-900-hsl);\n\t--bs-primary-100: var(--bs-blue-100);\n\t--bs-primary-200: var(--bs-blue-200);\n\t--bs-primary-300: var(--bs-blue-300);\n\t--bs-primary-400: var(--bs-blue-400);\n\t--bs-primary-500: var(--bs-blue-500);\n\t--bs-primary-600: var(--bs-blue-600);\n\t--bs-primary-700: var(--bs-blue-700);\n\t--bs-primary-800: var(--bs-blue-800);\n\t--bs-primary-900: var(--bs-blue-900);\n\t--bs-primary-hsl: var(--bs-blue-hsl);\n\t--bs-primary: var(--bs-blue);\n\t--bs-primary-foreground-hsl: var(--bs-blue-foreground-hsl);\n\t--bs-primary-foreground: var(--bs-blue-foreground);\n\t--bs-primary-text-emphasis-hsl: var(--bs-blue-text-emphasis-hsl);\n\t--bs-primary-text-emphasis: var(--bs-blue-text-emphasis);\n\t--bs-primary-hover-bg: var(--bs-blue-hover-bg);\n\t--bs-primary-active-bg: var(--bs-blue-active-bg);\n\t--bs-primary-bg-subtle: var(--bs-blue-bg-subtle);\n\t--bs-primary-border-subtle: var(--bs-blue-border-subtle);\n\t--bs-primary-checkbox-svg: var(--bs-blue-checkbox-svg);\n\t--bs-primary-dash-svg: var(--bs-blue-dash-svg);\n\t--bs-primary-radio-svg: var(--bs-blue-radio-svg);\n\t--bs-primary-switch-svg: var(--bs-blue-switch-svg);\n\n\t/* Secondary */\n\n\t--bs-secondary-hue: var(--bs-gray-hue);\n\t--bs-secondary-saturation: var(--bs-gray-saturation);\n\t--bs-secondary-100-hsl: var(--bs-gray-100-hsl);\n\t--bs-secondary-200-hsl: var(--bs-gray-200-hsl);\n\t--bs-secondary-300-hsl: var(--bs-gray-300-hsl);\n\t--bs-secondary-400-hsl: var(--bs-gray-400-hsl);\n\t--bs-secondary-500-hsl: var(--bs-gray-500-hsl);\n\t--bs-secondary-600-hsl: var(--bs-gray-600-hsl);\n\t--bs-secondary-700-hsl: var(--bs-gray-700-hsl);\n\t--bs-secondary-800-hsl: var(--bs-gray-800-hsl);\n\t--bs-secondary-900-hsl: var(--bs-gray-900-hsl);\n\t--bs-secondary-100: var(--bs-gray-100);\n\t--bs-secondary-200: var(--bs-gray-200);\n\t--bs-secondary-300: var(--bs-gray-300);\n\t--bs-secondary-400: var(--bs-gray-400);\n\t--bs-secondary-500: var(--bs-gray-500);\n\t--bs-secondary-600: var(--bs-gray-600);\n\t--bs-secondary-700: var(--bs-gray-700);\n\t--bs-secondary-800: var(--bs-gray-800);\n\t--bs-secondary-900: var(--bs-gray-900);\n\t--bs-secondary-hsl: var(--bs-gray-hsl);\n\t--bs-secondary: var(--bs-gray);\n\t--bs-secondary-foreground-hsl: var(--bs-gray-foreground-hsl);\n\t--bs-secondary-foreground: var(--bs-gray-foreground);\n\t--bs-secondary-text-emphasis-hsl: var(--bs-gray-text-emphasis-hsl);\n\t--bs-secondary-text-emphasis: var(--bs-gray-text-emphasis);\n\t--bs-secondary-hover-bg: var(--bs-gray-hover-bg);\n\t--bs-secondary-active-bg: var(--bs-gray-active-bg);\n\t--bs-secondary-bg-subtle: var(--bs-gray-bg-subtle);\n\t--bs-secondary-border-subtle: var(--bs-gray-border-subtle);\n\t--bs-secondary-checkbox-svg: var(--bs-gray-checkbox-svg);\n\t--bs-secondary-dash-svg: var(--bs-gray-dash-svg);\n\t--bs-secondary-radio-svg: var(--bs-gray-radio-svg);\n\t--bs-secondary-switch-svg: var(--bs-gray-switch-svg);\n\n\t/* Success */\n\n\t--bs-success-hue: var(--bs-green-hue);\n\t--bs-success-saturation: var(--bs-green-saturation);\n\t--bs-success-100-hsl: var(--bs-green-100-hsl);\n\t--bs-success-200-hsl: var(--bs-green-200-hsl);\n\t--bs-success-300-hsl: var(--bs-green-300-hsl);\n\t--bs-success-400-hsl: var(--bs-green-400-hsl);\n\t--bs-success-500-hsl: var(--bs-green-500-hsl);\n\t--bs-success-600-hsl: var(--bs-green-600-hsl);\n\t--bs-success-700-hsl: var(--bs-green-700-hsl);\n\t--bs-success-800-hsl: var(--bs-green-800-hsl);\n\t--bs-success-900-hsl: var(--bs-green-900-hsl);\n\t--bs-success-100: var(--bs-green-100);\n\t--bs-success-200: var(--bs-green-200);\n\t--bs-success-300: var(--bs-green-300);\n\t--bs-success-400: var(--bs-green-400);\n\t--bs-success-500: var(--bs-green-500);\n\t--bs-success-600: var(--bs-green-600);\n\t--bs-success-700: var(--bs-green-700);\n\t--bs-success-800: var(--bs-green-800);\n\t--bs-success-900: var(--bs-green-900);\n\t--bs-success-hsl: var(--bs-green-hsl);\n\t--bs-success: var(--bs-green);\n\t--bs-success-foreground-hsl: var(--bs-green-foreground-hsl);\n\t--bs-success-foreground: var(--bs-green-foreground);\n\t--bs-success-text-emphasis-hsl: var(--bs-green-text-emphasis-hsl);\n\t--bs-success-text-emphasis: var(--bs-green-text-emphasis);\n\t--bs-success-hover-bg: var(--bs-green-hover-bg);\n\t--bs-success-active-bg: var(--bs-green-active-bg);\n\t--bs-success-bg-subtle: var(--bs-green-bg-subtle);\n\t--bs-success-border-subtle: var(--bs-green-border-subtle);\n\t--bs-success-checkbox-svg: var(--bs-green-checkbox-svg);\n\t--bs-success-dash-svg: var(--bs-green-dash-svg);\n\t--bs-success-radio-svg: var(--bs-green-radio-svg);\n\t--bs-success-switch-svg: var(--bs-green-switch-svg);\n\n\t/* Info */\n\n\t--bs-info-hue: var(--bs-cyan-hue);\n\t--bs-info-saturation: var(--bs-cyan-saturation);\n\t--bs-info-100-hsl: var(--bs-cyan-100-hsl);\n\t--bs-info-200-hsl: var(--bs-cyan-200-hsl);\n\t--bs-info-300-hsl: var(--bs-cyan-300-hsl);\n\t--bs-info-400-hsl: var(--bs-cyan-400-hsl);\n\t--bs-info-500-hsl: var(--bs-cyan-500-hsl);\n\t--bs-info-600-hsl: var(--bs-cyan-600-hsl);\n\t--bs-info-700-hsl: var(--bs-cyan-700-hsl);\n\t--bs-info-800-hsl: var(--bs-cyan-800-hsl);\n\t--bs-info-900-hsl: var(--bs-cyan-900-hsl);\n\t--bs-info-100: var(--bs-cyan-100);\n\t--bs-info-200: var(--bs-cyan-200);\n\t--bs-info-300: var(--bs-cyan-300);\n\t--bs-info-400: var(--bs-cyan-400);\n\t--bs-info-500: var(--bs-cyan-500);\n\t--bs-info-600: var(--bs-cyan-600);\n\t--bs-info-700: var(--bs-cyan-700);\n\t--bs-info-800: var(--bs-cyan-800);\n\t--bs-info-900: var(--bs-cyan-900);\n\t--bs-info-hsl: var(--bs-cyan-hsl);\n\t--bs-info: var(--bs-cyan);\n\t--bs-info-foreground-hsl: var(--bs-cyan-foreground-hsl);\n\t--bs-info-foreground: var(--bs-cyan-foreground);\n\t--bs-info-text-emphasis-hsl: var(--bs-cyan-text-emphasis-hsl);\n\t--bs-info-text-emphasis: var(--bs-cyan-text-emphasis);\n\t--bs-info-hover-bg: var(--bs-cyan-hover-bg);\n\t--bs-info-active-bg: var(--bs-cyan-active-bg);\n\t--bs-info-bg-subtle: var(--bs-cyan-bg-subtle);\n\t--bs-info-border-subtle: var(--bs-cyan-border-subtle);\n\t--bs-info-checkbox-svg: var(--bs-cyan-checkbox-svg);\n\t--bs-info-dash-svg: var(--bs-cyan-dash-svg);\n\t--bs-info-radio-svg: var(--bs-cyan-radio-svg);\n\t--bs-info-switch-svg: var(--bs-cyan-switch-svg);\n\n\t/* Warning */\n\n\t--bs-warning-hue: var(--bs-yellow-hue);\n\t--bs-warning-saturation: var(--bs-yellow-saturation);\n\t--bs-warning-100-hsl: var(--bs-yellow-100-hsl);\n\t--bs-warning-200-hsl: var(--bs-yellow-200-hsl);\n\t--bs-warning-300-hsl: var(--bs-yellow-300-hsl);\n\t--bs-warning-400-hsl: var(--bs-yellow-400-hsl);\n\t--bs-warning-500-hsl: var(--bs-yellow-500-hsl);\n\t--bs-warning-600-hsl: var(--bs-yellow-600-hsl);\n\t--bs-warning-700-hsl: var(--bs-yellow-700-hsl);\n\t--bs-warning-800-hsl: var(--bs-yellow-800-hsl);\n\t--bs-warning-900-hsl: var(--bs-yellow-900-hsl);\n\t--bs-warning-100: var(--bs-yellow-100);\n\t--bs-warning-200: var(--bs-yellow-200);\n\t--bs-warning-300: var(--bs-yellow-300);\n\t--bs-warning-400: var(--bs-yellow-400);\n\t--bs-warning-500: var(--bs-yellow-500);\n\t--bs-warning-600: var(--bs-yellow-600);\n\t--bs-warning-700: var(--bs-yellow-700);\n\t--bs-warning-800: var(--bs-yellow-800);\n\t--bs-warning-900: var(--bs-yellow-900);\n\t--bs-warning-hsl: var(--bs-yellow-hsl);\n\t--bs-warning: var(--bs-yellow);\n\t--bs-warning-foreground-hsl: var(--bs-yellow-foreground-hsl);\n\t--bs-warning-foreground: var(--bs-yellow-foreground);\n\t--bs-warning-text-emphasis-hsl: var(--bs-yellow-text-emphasis-hsl);\n\t--bs-warning-text-emphasis: var(--bs-yellow-text-emphasis);\n\t--bs-warning-hover-bg: var(--bs-yellow-hover-bg);\n\t--bs-warning-active-bg: var(--bs-yellow-active-bg);\n\t--bs-warning-bg-subtle: var(--bs-yellow-bg-subtle);\n\t--bs-warning-border-subtle: var(--bs-yellow-border-subtle);\n\t--bs-warning-checkbox-svg: var(--bs-yellow-checkbox-svg);\n\t--bs-warning-dash-svg: var(--bs-yellow-dash-svg);\n\t--bs-warning-radio-svg: var(--bs-yellow-radio-svg);\n\t--bs-warning-switch-svg: var(--bs-yellow-switch-svg);\n\n\t/* Danger */\n\n\t--bs-danger-hue: var(--bs-red-hue);\n\t--bs-danger-saturation: var(--bs-red-saturation);\n\t--bs-danger-100-hsl: var(--bs-red-100-hsl);\n\t--bs-danger-200-hsl: var(--bs-red-200-hsl);\n\t--bs-danger-300-hsl: var(--bs-red-300-hsl);\n\t--bs-danger-400-hsl: var(--bs-red-400-hsl);\n\t--bs-danger-500-hsl: var(--bs-red-500-hsl);\n\t--bs-danger-600-hsl: var(--bs-red-600-hsl);\n\t--bs-danger-700-hsl: var(--bs-red-700-hsl);\n\t--bs-danger-800-hsl: var(--bs-red-800-hsl);\n\t--bs-danger-900-hsl: var(--bs-red-900-hsl);\n\t--bs-danger-100: var(--bs-red-100);\n\t--bs-danger-200: var(--bs-red-200);\n\t--bs-danger-300: var(--bs-red-300);\n\t--bs-danger-400: var(--bs-red-400);\n\t--bs-danger-500: var(--bs-red-500);\n\t--bs-danger-600: var(--bs-red-600);\n\t--bs-danger-700: var(--bs-red-700);\n\t--bs-danger-800: var(--bs-red-800);\n\t--bs-danger-900: var(--bs-red-900);\n\t--bs-danger-hsl: var(--bs-red-hsl);\n\t--bs-danger: var(--bs-red);\n\t--bs-danger-foreground-hsl: var(--bs-red-foreground-hsl);\n\t--bs-danger-foreground: var(--bs-red-foreground);\n\t--bs-danger-text-emphasis-hsl: var(--bs-red-text-emphasis-hsl);\n\t--bs-danger-text-emphasis: var(--bs-red-text-emphasis);\n\t--bs-danger-hover-bg: var(--bs-red-hover-bg);\n\t--bs-danger-active-bg: var(--bs-red-active-bg);\n\t--bs-danger-bg-subtle: var(--bs-red-bg-subtle);\n\t--bs-danger-border-subtle: var(--bs-red-border-subtle);\n\t--bs-danger-checkbox-svg: var(--bs-red-checkbox-svg);\n\t--bs-danger-dash-svg: var(--bs-red-dash-svg);\n\t--bs-danger-radio-svg: var(--bs-red-radio-svg);\n\t--bs-danger-switch-svg: var(--bs-red-switch-svg);\n\n\t/* Light */\n\n\t--bs-light-hue: var(--bs-lightgray-hue);\n\t--bs-light-saturation: var(--bs-lightgray-saturation);\n\t--bs-light-100-hsl: var(--bs-lightgray-100-hsl);\n\t--bs-light-200-hsl: var(--bs-lightgray-200-hsl);\n\t--bs-light-300-hsl: var(--bs-lightgray-300-hsl);\n\t--bs-light-400-hsl: var(--bs-lightgray-400-hsl);\n\t--bs-light-500-hsl: var(--bs-lightgray-500-hsl);\n\t--bs-light-600-hsl: var(--bs-lightgray-600-hsl);\n\t--bs-light-700-hsl: var(--bs-lightgray-700-hsl);\n\t--bs-light-800-hsl: var(--bs-lightgray-800-hsl);\n\t--bs-light-900-hsl: var(--bs-lightgray-900-hsl);\n\t--bs-light-100: var(--bs-lightgray-100);\n\t--bs-light-200: var(--bs-lightgray-200);\n\t--bs-light-300: var(--bs-lightgray-300);\n\t--bs-light-400: var(--bs-lightgray-400);\n\t--bs-light-500: var(--bs-lightgray-500);\n\t--bs-light-600: var(--bs-lightgray-600);\n\t--bs-light-700: var(--bs-lightgray-700);\n\t--bs-light-800: var(--bs-lightgray-800);\n\t--bs-light-900: var(--bs-lightgray-900);\n\t--bs-light-hsl: var(--bs-lightgray-hsl);\n\t--bs-light: var(--bs-lightgray);\n\t--bs-light-foreground-hsl: var(--bs-lightgray-foreground-hsl);\n\t--bs-light-foreground: var(--bs-lightgray-foreground);\n\t--bs-light-text-emphasis-hsl: var(--bs-lightgray-text-emphasis-hsl);\n\t--bs-light-text-emphasis: var(--bs-lightgray-text-emphasis);\n\t--bs-light-hover-bg: var(--bs-lightgray-hover-bg);\n\t--bs-light-active-bg: var(--bs-lightgray-active-bg);\n\t--bs-light-bg-subtle: var(--bs-lightgray-bg-subtle);\n\t--bs-light-border-subtle: var(--bs-lightgray-border-subtle);\n\t--bs-light-checkbox-svg: var(--bs-lightgray-checkbox-svg);\n\t--bs-light-dash-svg: var(--bs-lightgray-dash-svg);\n\t--bs-light-radio-svg: var(--bs-lightgray-radio-svg);\n\t--bs-light-switch-svg: var(--bs-lightgray-switch-svg);\n\n\t/* Dark */\n\n\t--bs-dark-hue: var(--bs-darkgray-hue);\n\t--bs-dark-saturation: var(--bs-darkgray-saturation);\n\t--bs-dark-100-hsl: var(--bs-darkgray-100-hsl);\n\t--bs-dark-200-hsl: var(--bs-darkgray-200-hsl);\n\t--bs-dark-300-hsl: var(--bs-darkgray-300-hsl);\n\t--bs-dark-400-hsl: var(--bs-darkgray-400-hsl);\n\t--bs-dark-500-hsl: var(--bs-darkgray-500-hsl);\n\t--bs-dark-600-hsl: var(--bs-darkgray-600-hsl);\n\t--bs-dark-700-hsl: var(--bs-darkgray-700-hsl);\n\t--bs-dark-800-hsl: var(--bs-darkgray-800-hsl);\n\t--bs-dark-900-hsl: var(--bs-darkgray-900-hsl);\n\t--bs-dark-100: var(--bs-darkgray-100);\n\t--bs-dark-200: var(--bs-darkgray-200);\n\t--bs-dark-300: var(--bs-darkgray-300);\n\t--bs-dark-400: var(--bs-darkgray-400);\n\t--bs-dark-500: var(--bs-darkgray-500);\n\t--bs-dark-600: var(--bs-darkgray-600);\n\t--bs-dark-700: var(--bs-darkgray-700);\n\t--bs-dark-800: var(--bs-darkgray-800);\n\t--bs-dark-900: var(--bs-darkgray-900);\n\t--bs-dark-hsl: var(--bs-darkgray-hsl);\n\t--bs-dark: var(--bs-darkgray);\n\t--bs-dark-foreground-hsl: var(--bs-darkgray-foreground-hsl);\n\t--bs-dark-foreground: var(--bs-darkgray-foreground);\n\t--bs-dark-text-emphasis-hsl: var(--bs-darkgray-text-emphasis-hsl);\n\t--bs-dark-text-emphasis: var(--bs-darkgray-text-emphasis);\n\t--bs-dark-hover-bg: var(--bs-darkgray-hover-bg);\n\t--bs-dark-active-bg: var(--bs-darkgray-active-bg);\n\t--bs-dark-bg-subtle: var(--bs-darkgray-bg-subtle);\n\t--bs-dark-border-subtle: var(--bs-darkgray-border-subtle);\n\t--bs-dark-checkbox-svg: var(--bs-darkgray-checkbox-svg);\n\t--bs-dark-dash-svg: var(--bs-darkgray-dash-svg);\n\t--bs-dark-radio-svg: var(--bs-darkgray-radio-svg);\n\t--bs-dark-switch-svg: var(--bs-darkgray-switch-svg);\n}\n\n[data-bs-theme=dark] {\n\t/* Light gray */\n\n\t--bs-lightgray-text-emphasis-hsl: var(--bs-lightgray-400-hsl);\n\t--bs-lightgray-text-emphasis: hsl(var(--bs-lightgray-text-emphasis-hsl));\n\t--bs-lightgray-bg-subtle: hsl(var(--bs-lightgray-hue), var(--bs-lightgray-saturation), 30%);\n\t--bs-lightgray-border-subtle: var(--bs-lightgray-600);\n\n\t/* Gray */\n\n\t--bs-gray-text-emphasis-hsl: var(--bs-gray-300-hsl);\n\t--bs-gray-text-emphasis: hsl(var(--bs-gray-text-emphasis-hsl));\n\t--bs-gray-bg-subtle: hsl(var(--bs-gray-hue), var(--bs-gray-saturation), 25%);\n\t--bs-gray-border-subtle: var(--bs-gray-600);\n\n\t/* Dark gray */\n\n\t--bs-darkgray-text-emphasis-hsl: var(--bs-darkgray-300-hsl);\n\t--bs-darkgray-text-emphasis: hsl(var(--bs-darkgray-text-emphasis-hsl));\n\t--bs-darkgray-bg-subtle: hsl(var(--bs-darkgray-hue), var(--bs-darkgray-saturation), 17.5%);\n\t--bs-darkgray-border-subtle: var(--bs-darkgray-600);\n\n\t/* Sable (black) */\n\n\t--bs-sable-text-emphasis-hsl: var(--bs-sable-400-hsl);\n\t--bs-sable-text-emphasis: hsl(var(--bs-sable-text-emphasis-hsl));\n\t--bs-sable-bg-subtle: hsl(var(--bs-sable-hue), var(--bs-sable-saturation), 12%);\n\t--bs-sable-border-subtle: var(--bs-sable-600);\n\n\t/* Red */\n\n\t--bs-red-text-emphasis-hsl: var(--bs-red-hue), var(--bs-red-saturation), 65%;\n\t--bs-red-text-emphasis: hsl(var(--bs-red-text-emphasis-hsl));\n\t--bs-red-bg-subtle: hsl(var(--bs-red-hue), calc(var(--bs-red-saturation)/3), 15%);\n\t--bs-red-border-subtle: var(--bs-red-600);\n\n\t/* Orange */\n\n\t--bs-orange-text-emphasis-hsl: var(--bs-orange-400-hsl);\n\t--bs-orange-text-emphasis: hsl(var(--bs-orange-text-emphasis-hsl));\n\t--bs-orange-bg-subtle: hsl(var(--bs-orange-hue), calc(var(--bs-orange-saturation)/3), 15%);\n\t--bs-orange-border-subtle: var(--bs-orange-600);\n\n\t/* Sienna (burnt orange) */\n\n\t--bs-sienna-text-emphasis-hsl: var(--bs-sienna-400-hsl);\n\t--bs-sienna-text-emphasis: hsl(var(--bs-sienna-text-emphasis-hsl));\n\t--bs-sienna-bg-subtle: hsl(var(--bs-sienna-hue), calc(var(--bs-sienna-saturation)/3), 15%);\n\t--bs-sienna-border-subtle: var(--bs-sienna-600);\n\n\t/* Amber */\n\n\t--bs-amber-text-emphasis-hsl: var(--bs-amber-400-hsl);\n\t--bs-amber-text-emphasis: hsl(var(--bs-amber-text-emphasis-hsl));\n\t--bs-amber-bg-subtle: hsl(var(--bs-amber-hue), calc(var(--bs-amber-saturation)/3), 15%);\n\t--bs-amber-border-subtle: var(--bs-amber-600);\n\n\t/* Yellow */\n\n\t--bs-yellow-text-emphasis-hsl: var(--bs-yellow-400-hsl);\n\t--bs-yellow-text-emphasis: hsl(var(--bs-yellow-text-emphasis-hsl));\n\t--bs-yellow-bg-subtle: hsl(var(--bs-yellow-hue), calc(var(--bs-yellow-saturation)/3), 15%);\n\t--bs-yellow-border-subtle: var(--bs-yellow-600);\n\n\t/* Lime */\n\n\t--bs-lime-text-emphasis-hsl: var(--bs-lime-400-hsl);\n\t--bs-lime-text-emphasis: hsl(var(--bs-lime-text-emphasis-hsl));\n\t--bs-lime-bg-subtle: hsl(var(--bs-lime-hue), calc(var(--bs-lime-saturation)/3), 15%);\n\t--bs-lime-border-subtle: var(--bs-lime-600);\n\n\t/* Green */\n\n\t--bs-green-text-emphasis-hsl: var(--bs-green-400-hsl);\n\t--bs-green-text-emphasis: hsl(var(--bs-green-text-emphasis-hsl));\n\t--bs-green-bg-subtle: hsl(var(--bs-green-hue), calc(var(--bs-green-saturation)/3), 15%);\n\t--bs-green-border-subtle: var(--bs-green-600);\n\n\t/* Emerald */\n\n\t--bs-emerald-text-emphasis-hsl: var(--bs-emerald-400-hsl);\n\t--bs-emerald-text-emphasis: hsl(var(--bs-emerald-text-emphasis-hsl));\n\t--bs-emerald-bg-subtle: hsl(var(--bs-emerald-hue), calc(var(--bs-emerald-saturation)/3), 15%);\n\t--bs-emerald-border-subtle: var(--bs-emerald-600);\n\n\t/* Turquoise */\n\n\t--bs-turquoise-text-emphasis-hsl: var(--bs-turquoise-400-hsl);\n\t--bs-turquoise-text-emphasis: hsl(var(--bs-turquoise-text-emphasis-hsl));\n\t--bs-turquoise-bg-subtle: hsl(var(--bs-turquoise-hue), calc(var(--bs-turquoise-saturation)/3), 15%);\n\t--bs-turquoise-border-subtle: var(--bs-turquoise-600);\n\n\t/* Teal */\n\n\t--bs-teal-text-emphasis-hsl: var(--bs-teal-400-hsl);\n\t--bs-teal-text-emphasis: hsl(var(--bs-teal-text-emphasis-hsl));\n\t--bs-teal-bg-subtle: hsl(var(--bs-teal-hue), calc(var(--bs-teal-saturation)/3), 15%);\n\t--bs-teal-border-subtle: var(--bs-teal-600);\n\n\t/* Cyan */\n\n\t--bs-cyan-text-emphasis-hsl: var(--bs-cyan-400-hsl);\n\t--bs-cyan-text-emphasis: hsl(var(--bs-cyan-text-emphasis-hsl));\n\t--bs-cyan-bg-subtle: hsl(var(--bs-cyan-hue), calc(var(--bs-cyan-saturation)/3), 15%);\n\t--bs-cyan-border-subtle: var(--bs-cyan-600);\n\n\t/* Sky */\n\n\t--bs-sky-text-emphasis-hsl: var(--bs-sky-400-hsl);\n\t--bs-sky-text-emphasis: hsl(var(--bs-sky-text-emphasis-hsl));\n\t--bs-sky-bg-subtle: hsl(var(--bs-sky-hue), calc(var(--bs-sky-saturation)/3), 15%);\n\t--bs-sky-border-subtle: var(--bs-sky-600);\n\n\t/* Blue */\n\n\t--bs-blue-text-emphasis-hsl: var(--bs-blue-400-hsl);\n\t--bs-blue-text-emphasis: hsl(var(--bs-blue-text-emphasis-hsl));\n\t--bs-blue-bg-subtle: hsl(var(--bs-blue-hue), calc(var(--bs-blue-saturation)/3), 15%);\n\t--bs-blue-border-subtle: var(--bs-blue-600);\n\n\t/* Navy */\n\n\t--bs-navy-text-emphasis-hsl: var(--bs-navy-300-hsl);\n\t--bs-navy-text-emphasis: hsl(var(--bs-navy-text-emphasis-hsl));\n\t--bs-navy-bg-subtle: hsl(var(--bs-navy-hue), calc(var(--bs-navy-saturation)/3), 15%);\n\t--bs-navy-border-subtle: var(--bs-navy-600);\n\n\t/* Indigo */\n\n\t--bs-indigo-text-emphasis-hsl: var(--bs-indigo-300-hsl);\n\t--bs-indigo-text-emphasis: hsl(var(--bs-indigo-text-emphasis-hsl));\n\t--bs-indigo-bg-subtle: hsl(var(--bs-indigo-hue), calc(var(--bs-indigo-saturation)/3), 15%);\n\t--bs-indigo-border-subtle: var(--bs-indigo-600);\n\n\t/* Violet */\n\n\t--bs-violet-text-emphasis-hsl: var(--bs-violet-300-hsl);\n\t--bs-violet-text-emphasis: hsl(var(--bs-violet-text-emphasis-hsl));\n\t--bs-violet-bg-subtle: hsl(var(--bs-violet-hue), calc(var(--bs-violet-saturation)/3), 15%);\n\t--bs-violet-border-subtle: var(--bs-violet-600);\n\n\t/* Purple */\n\n\t--bs-purple-text-emphasis-hsl: var(--bs-purple-300-hsl);\n\t--bs-purple-text-emphasis: hsl(var(--bs-purple-text-emphasis-hsl));\n\t--bs-purple-bg-subtle: hsl(var(--bs-purple-hue), calc(var(--bs-purple-saturation)/3), 15%);\n\t--bs-purple-border-subtle: var(--bs-purple-600);\n\n\t/* Fuchsia */\n\n\t--bs-fuchsia-text-emphasis-hsl: var(--bs-fuchsia-400-hsl);\n\t--bs-fuchsia-text-emphasis: hsl(var(--bs-fuchsia-text-emphasis-hsl));\n\t--bs-fuchsia-bg-subtle: hsl(var(--bs-fuchsia-hue), calc(var(--bs-fuchsia-saturation)/3), 15%);\n\t--bs-fuchsia-border-subtle: var(--bs-fuchsia-600);\n\n\t/* Pink (magenta) */\n\n\t--bs-pink-text-emphasis-hsl: var(--bs-pink-400-hsl);\n\t--bs-pink-text-emphasis: hsl(var(--bs-pink-text-emphasis-hsl));\n\t--bs-pink-bg-subtle: hsl(var(--bs-pink-hue), calc(var(--bs-pink-saturation)/3), 15%);\n\t--bs-pink-border-subtle: var(--bs-pink-600);\n\n\t/* Primary */\n\n\t--bs-primary-text-emphasis-hsl: var(--bs-blue-text-emphasis-hsl);\n\t--bs-primary-text-emphasis: var(--bs-blue-text-emphasis);\n\t--bs-primary-bg-subtle: var(--bs-blue-bg-subtle);\n\t--bs-primary-border-subtle: var(--bs-blue-border-subtle);\n\n\t/* Secondary */\n\n\t--bs-secondary-hue: var(--bs-darkgray-hue);\n\t--bs-secondary-saturation: var(--bs-darkgray-saturation);\n\t--bs-secondary-100-hsl: var(--bs-darkgray-100-hsl);\n\t--bs-secondary-200-hsl: var(--bs-darkgray-200-hsl);\n\t--bs-secondary-300-hsl: var(--bs-darkgray-300-hsl);\n\t--bs-secondary-400-hsl: var(--bs-darkgray-400-hsl);\n\t--bs-secondary-500-hsl: var(--bs-darkgray-500-hsl);\n\t--bs-secondary-600-hsl: var(--bs-darkgray-600-hsl);\n\t--bs-secondary-700-hsl: var(--bs-darkgray-700-hsl);\n\t--bs-secondary-800-hsl: var(--bs-darkgray-800-hsl);\n\t--bs-secondary-900-hsl: var(--bs-darkgray-900-hsl);\n\t--bs-secondary-100: var(--bs-darkgray-100);\n\t--bs-secondary-200: var(--bs-darkgray-200);\n\t--bs-secondary-300: var(--bs-darkgray-300);\n\t--bs-secondary-400: var(--bs-darkgray-400);\n\t--bs-secondary-500: var(--bs-darkgray-500);\n\t--bs-secondary-600: var(--bs-darkgray-600);\n\t--bs-secondary-700: var(--bs-darkgray-700);\n\t--bs-secondary-800: var(--bs-darkgray-800);\n\t--bs-secondary-900: var(--bs-darkgray-900);\n\t--bs-secondary-hsl: var(--bs-darkgray-hsl);\n\t--bs-secondary: var(--bs-darkgray);\n\t--bs-secondary-foreground-hsl: var(--bs-darkgray-foreground-hsl);\n\t--bs-secondary-foreground: var(--bs-darkgray-foreground);\n\t--bs-secondary-text-emphasis-hsl: var(--bs-darkgray-text-emphasis-hsl);\n\t--bs-secondary-text-emphasis: var(--bs-darkgray-text-emphasis);\n\t--bs-secondary-hover-bg: var(--bs-darkgray-hover-bg);\n\t--bs-secondary-active-bg: var(--bs-darkgray-active-bg);\n\t--bs-secondary-bg-subtle: var(--bs-darkgray-bg-subtle);\n\t--bs-secondary-border-subtle: var(--bs-darkgray-border-subtle);\n\t--bs-secondary-checkbox-svg: var(--bs-darkgray-checkbox-svg);\n\t--bs-secondary-dash-svg: var(--bs-darkgray-dash-svg);\n\t--bs-secondary-radio-svg: var(--bs-darkgray-radio-svg);\n\t--bs-secondary-switch-svg: var(--bs-darkgray-switch-svg);\n\n\t/* Success */\n\n\t--bs-success-text-emphasis-hsl: var(--bs-green-text-emphasis-hsl);\n\t--bs-success-text-emphasis: var(--bs-green-text-emphasis);\n\t--bs-success-bg-subtle: var(--bs-green-bg-subtle);\n\t--bs-success-border-subtle: var(--bs-green-border-subtle);\n\n\t/* Info */\n\n\t--bs-info-text-emphasis-hsl: var(--bs-cyan-text-emphasis-hsl);\n\t--bs-info-text-emphasis: var(--bs-cyan-text-emphasis);\n\t--bs-info-bg-subtle: var(--bs-cyan-bg-subtle);\n\t--bs-info-border-subtle: var(--bs-cyan-border-subtle);\n\n\t/* Warning */\n\n\t--bs-warning-text-emphasis-hsl: var(--bs-yellow-text-emphasis-hsl);\n\t--bs-warning-text-emphasis: var(--bs-yellow-text-emphasis);\n\t--bs-warning-bg-subtle: var(--bs-yellow-bg-subtle);\n\t--bs-warning-border-subtle: var(--bs-yellow-border-subtle);\n\n\t/* Danger */\n\n\t--bs-danger-text-emphasis-hsl: var(--bs-red-text-emphasis-hsl);\n\t--bs-danger-text-emphasis: var(--bs-red-text-emphasis);\n\t--bs-danger-bg-subtle: var(--bs-red-bg-subtle);\n\t--bs-danger-border-subtle: var(--bs-red-border-subtle);\n\n\t/* Light */\n\n\t--bs-light-hue: var(--bs-gray-hue);\n\t--bs-light-saturation: var(--bs-gray-saturation);\n\t--bs-light-100-hsl: var(--bs-gray-100-hsl);\n\t--bs-light-200-hsl: var(--bs-gray-200-hsl);\n\t--bs-light-300-hsl: var(--bs-gray-300-hsl);\n\t--bs-light-400-hsl: var(--bs-gray-400-hsl);\n\t--bs-light-500-hsl: var(--bs-gray-500-hsl);\n\t--bs-light-600-hsl: var(--bs-gray-600-hsl);\n\t--bs-light-700-hsl: var(--bs-gray-700-hsl);\n\t--bs-light-800-hsl: var(--bs-gray-800-hsl);\n\t--bs-light-900-hsl: var(--bs-gray-900-hsl);\n\t--bs-light-100: var(--bs-gray-100);\n\t--bs-light-200: var(--bs-gray-200);\n\t--bs-light-300: var(--bs-gray-300);\n\t--bs-light-400: var(--bs-gray-400);\n\t--bs-light-500: var(--bs-gray-500);\n\t--bs-light-600: var(--bs-gray-600);\n\t--bs-light-700: var(--bs-gray-700);\n\t--bs-light-800: var(--bs-gray-800);\n\t--bs-light-900: var(--bs-gray-900);\n\t--bs-light-hsl: var(--bs-gray-hsl);\n\t--bs-light: var(--bs-gray);\n\t--bs-light-foreground-hsl: var(--bs-gray-foreground-hsl);\n\t--bs-light-foreground: var(--bs-gray-foreground);\n\t--bs-light-text-emphasis-hsl: var(--bs-gray-text-emphasis-hsl);\n\t--bs-light-text-emphasis: var(--bs-gray-text-emphasis);\n\t--bs-light-hover-bg: var(--bs-gray-hover-bg);\n\t--bs-light-active-bg: var(--bs-gray-active-bg);\n\t--bs-light-bg-subtle: var(--bs-gray-bg-subtle);\n\t--bs-light-border-subtle: var(--bs-gray-border-subtle);\n\t--bs-light-checkbox-svg: var(--bs-gray-checkbox-svg);\n\t--bs-light-dash-svg: var(--bs-gray-dash-svg);\n\t--bs-light-radio-svg: var(--bs-gray-radio-svg);\n\t--bs-light-switch-svg: var(--bs-gray-switch-svg);\n\n\t/* Dark */\n\n\t--bs-dark-hue: var(--bs-sable-hue);\n\t--bs-dark-saturation: var(--bs-sable-saturation);\n\t--bs-dark-100-hsl: var(--bs-sable-100-hsl);\n\t--bs-dark-200-hsl: var(--bs-sable-200-hsl);\n\t--bs-dark-300-hsl: var(--bs-sable-300-hsl);\n\t--bs-dark-400-hsl: var(--bs-sable-400-hsl);\n\t--bs-dark-500-hsl: var(--bs-sable-500-hsl);\n\t--bs-dark-600-hsl: var(--bs-sable-600-hsl);\n\t--bs-dark-700-hsl: var(--bs-sable-700-hsl);\n\t--bs-dark-800-hsl: var(--bs-sable-800-hsl);\n\t--bs-dark-900-hsl: var(--bs-sable-900-hsl);\n\t--bs-dark-100: var(--bs-sable-100);\n\t--bs-dark-200: var(--bs-sable-200);\n\t--bs-dark-300: var(--bs-sable-300);\n\t--bs-dark-400: var(--bs-sable-400);\n\t--bs-dark-500: var(--bs-sable-500);\n\t--bs-dark-600: var(--bs-sable-600);\n\t--bs-dark-700: var(--bs-sable-700);\n\t--bs-dark-800: var(--bs-sable-800);\n\t--bs-dark-900: var(--bs-sable-900);\n\t--bs-dark-hsl: var(--bs-sable-hsl);\n\t--bs-dark: var(--bs-sable);\n\t--bs-dark-foreground-hsl: var(--bs-sable-foreground-hsl);\n\t--bs-dark-foreground: var(--bs-sable-foreground);\n\t--bs-dark-text-emphasis-hsl: var(--bs-sable-text-emphasis-hsl);\n\t--bs-dark-text-emphasis: var(--bs-sable-text-emphasis);\n\t--bs-dark-hover-bg: var(--bs-sable-hover-bg);\n\t--bs-dark-active-bg: var(--bs-sable-active-bg);\n\t--bs-dark-bg-subtle: var(--bs-sable-bg-subtle);\n\t--bs-dark-border-subtle: var(--bs-sable-border-subtle);\n\t--bs-dark-checkbox-svg: var(--bs-sable-checkbox-svg);\n\t--bs-dark-dash-svg: var(--bs-sable-dash-svg);\n\t--bs-dark-radio-svg: var(--bs-sable-radio-svg);\n\t--bs-dark-switch-svg: var(--bs-sable-switch-svg);\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Variables ]\n * ----------------------------------------------------------------------------\n */\n\n:root,\n[data-bs-theme=light] {\n\t/* Color scheme */\n\n\tcolor-scheme: light;\n\n\t/* Font family */\n\n\t--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\";\n\t--bs-font-serif: Iowan Old Style, Apple Garamond, Baskerville, Times New Roman, Droid Serif, Times, Source Serif Pro, serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;\n\t--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n\t--bs-body-font-family: var(--bs-font-sans-serif);\n\n\t/* Font size */\n\n\t--bs-font-size-base: 0.875rem;\n\t--bs-font-size-sm: 0.75rem;\n\t--bs-font-size-lg: 1rem;\n\t--bs-relative-font-size-sm: 0.85714285714em; /* 12px */\n\t--bs-relative-font-size-xs: 0.71428571428em; /* 10px */\n\t--bs-relative-font-size-2xs: 0.57142857142em; /* 8px */\n\t--bs-relative-font-size-3xs: 0.42857142857em; /* 6px */\n\t--bs-relative-font-size-4xs: 0.28571428571em; /* 4px */\n\t--bs-relative-font-size-5xs: 0.21428571428em; /* 3px */\n\t--bs-relative-font-size-6xs: 0.14285714285em; /* 2px */\n\t--bs-relative-font-size-7xs: 0.07142857142em; /* 1px */\n\t--bs-body-font-size: var(--bs-font-size-base);\n\t--bs-h1-font-size: calc(var(--bs-font-size-base) + 1.375rem);\n\t--bs-h2-font-size: calc(var(--bs-font-size-base) + 1rem);\n\t--bs-h3-font-size: calc(var(--bs-font-size-base) + 0.75rem);\n\t--bs-h4-font-size: calc(var(--bs-font-size-base) + 0.5rem);\n\t--bs-h5-font-size: calc(var(--bs-font-size-base) + 0.25rem);\n\t--bs-h6-font-size: var(--bs-font-size-base);\n\n\t/* Font weight */\n\n\t--bs-font-weight-lighter: lighter;\n\t--bs-font-weight-light: 300;\n\t--bs-font-weight-normal: 400;\n\t--bs-font-weight-medium: 500;\n\t--bs-font-weight-semibold: 600;\n\t--bs-font-weight-bold: 700;\n\t--bs-font-weight-bolder: bolder;\n\t--bs-body-font-weight: var(--bs-font-weight-normal);\n\t--bs-heading-font-weight: var(--bs-font-weight-bold);\n\n\t/* Line height */\n\n\t--bs-line-height-base: 1.5;\n\t--bs-line-height-sm: 1.25;\n\t--bs-line-height-lg: 2;\n\t--bs-body-line-height: var(--bs-line-height-base);\n\t--bs-heading-line-height: 1.2;\n\n\t/* Font smoothing */\n\n\t--bs-body-webkit-font-smoothing: antialiased;\n\t--bs-body-moz-osx-font-smoothing: grayscale;\n\n\t/* Spacer */\n\n\t--bs-spacer: 1rem;\n\t--bs-spacer-1: calc(var(--bs-spacer) * 0.25);\n\t--bs-spacer-2: calc(var(--bs-spacer) * 0.5);\n\t--bs-spacer-3: var(--bs-spacer);\n\t--bs-spacer-4: calc(var(--bs-spacer) * 1.5);\n\t--bs-spacer-5: calc(var(--bs-spacer) * 3);\n\n\t/* Color */\n\n\t--bs-color-hue: var(--bs-gray-hue);\n\t--bs-color-saturation: var(--bs-gray-saturation);\n\t--bs-body-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 15%;\n\t--bs-body-color: hsl(var(--bs-body-color-hsl));\n\t--bs-emphasis-color-hsl: var(--bs-black-hsl);\n\t--bs-emphasis-color: hsl(var(--bs-emphasis-color-hsl));\n\t--bs-secondary-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 40%;\n\t--bs-secondary-color: hsl(var(--bs-secondary-color-hsl));\n\t--bs-tertiary-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 65%;\n\t--bs-tertiary-color: hsl(var(--bs-tertiary-color-hsl));\n\t--bs-heading-color: inherit;\n\n\t/* Background */\n\n\t--bs-body-bg-hsl: var(--bs-white-hsl);\n\t--bs-body-bg: hsl(var(--bs-body-bg-hsl));\n\t--bs-secondary-bg-hsl: var(--bs-lightgray-100-hsl);\n\t--bs-secondary-bg: hsl(var(--bs-secondary-bg-hsl));\n\t--bs-tertiary-bg-hsl: var(--bs-lightgray-200-hsl);\n\t--bs-tertiary-bg: hsl(var(--bs-tertiary-bg-hsl));\n\t--bs-gradient: linear-gradient(180deg, hsla(var(--bs-white-hsl), 0.15), hsla(var(--bs-white-hsl), 0));\n\n\t/* Border */\n\n\t--bs-border-width: 1px;\n\t--bs-border-width-1: var(--bs-border-width);\n\t--bs-border-width-2: calc(var(--bs-border-width) + 1px);\n\t--bs-border-width-3: calc(var(--bs-border-width) + 2px);\n\t--bs-border-width-4: calc(var(--bs-border-width) + 3px);\n\t--bs-border-width-5: calc(var(--bs-border-width) + 4px);\n\t--bs-border-style: solid;\n\t--bs-border-color: var(--bs-lightgray-800);\n\t--bs-border-color-light: var(--bs-lightgray-600);\n\t--bs-border-color-dark: var(--bs-border-color);\n\t--bs-border-color-translucent: hsla(var(--bs-black-hsl), 0.15);\n\t--bs-border-radius: 0.375rem;\n\t--bs-border-radius-sm: 0.25rem;\n\t--bs-border-radius-lg: 0.5rem;\n\t--bs-border-radius-xl: 1rem;\n\t--bs-border-radius-xxl: 2rem;\n\t--bs-border-radius-2xl: var(--bs-border-radius-xxl);\n\t--bs-border-radius-pill: 50rem;\n\n\t/* Box shadow */\n\n\t--bs-box-shadow-color: hsla(var(--bs-black-hsl), 0.15);\n\t--bs-box-shadow: 0 0.5rem 1rem var(--bs-box-shadow-color);\n\t--bs-box-shadow-sm: 0 0.125rem 0.25rem var(--bs-box-shadow-color);\n\t--bs-box-shadow-lg: 0 1rem 3rem var(--bs-box-shadow-color);\n\t--bs-box-shadow-inset: inset 0 1px var(--bs-box-shadow-color);\n\n\t/* Focus ring */\n\n\t--bs-focus-ring-width: 0.25rem;\n\t--bs-focus-ring-opacity: 0.25;\n\t--bs-focus-ring-color: hsla(var(--bs-primary-hsl), var(--bs-focus-ring-opacity));\n\n\t/* Link */\n\n\t--bs-link-color-hsl: var(--bs-primary-hsl);\n\t--bs-link-color: hsl(var(--bs-link-color-hsl));\n\t--bs-link-decoration: underline;\n\t--bs-link-decoration-offset: var(--bs-relative-font-size-4xs);\n\t--bs-link-hover-color-hsl: var(--bs-primary-text-emphasis-hsl);\n\t--bs-link-hover-color: hsl(var(--bs-link-hover-color-hsl));\n\t--bs-link-hover-decoration: underline;\n\n\t/* Highlight */\n\n\t--bs-highlight-padding: var(--bs-relative-font-size-6xs);\n\t--bs-highlight-color: inherit;\n\t--bs-highlight-bg: hsla(var(--bs-yellow-hsl), 0.25);\n\t--bs-highlight-border-radius: 0;\n\n\t/* Code */\n\n\t--bs-code-padding: var(--bs-relative-font-size-6xs) var(--bs-relative-font-size-4xs);\n\t--bs-code-font-size: var(--bs-relative-font-size-sm);\n\t--bs-code-color: inherit;\n\t--bs-code-bg: hsla(var(--bs-black-hsl), 0.1);\n\t--bs-code-border-radius: var(--bs-border-radius-sm);\n\n\t/* Keyboard input */\n\n\t--bs-kbd-padding: 0.125rem 0.375rem;\n\t--bs-kbd-font-size: var(--bs-font-size-sm);\n\t--bs-kbd-color: var(--bs-dark-foreground);\n\t--bs-kbd-bg: var(--bs-dark);\n\t--bs-kbd-border-radius: var(--bs-border-radius-sm);\n\n\t/* Container */\n\n\t--bs-container-max-width-sm: 540px;\n\t--bs-container-max-width-md: 720px;\n\t--bs-container-max-width-lg: 960px;\n\t--bs-container-max-width-xl: 1140px;\n\t--bs-container-max-width-xxl: 1320px;\n\n\t/* Sidebar */\n\n\t--bs-sidebar-margin: 0;\n\t--bs-sidebar-width: 20rem;\n\t--bs-sidebar-height: 100%;\n\t--bs-padding-sbwidth: var(--bs-sidebar-width);\n\n\t/* Content (used as needed in cards, panels, menus, etc.) */\n\n\t--bs-content-color-hsl: var(--bs-body-color-hsl);\n\t--bs-content-color: hsl(var(--bs-content-color-hsl));\n\t--bs-content-bg-hsl: var(--bs-body-bg-hsl);\n\t--bs-content-bg: hsl(var(--bs-content-bg-hsl));\n\t--bs-content-border-color: var(--bs-border-color-dark);\n\t--bs-content-box-shadow: none;\n\t--bs-content-floating-color-hsl: var(--bs-content-color-hsl);\n\t--bs-content-floating-color: hsl(var(--bs-content-floating-color-hsl));\n\t--bs-content-floating-bg-hsl: var(--bs-content-bg-hsl);\n\t--bs-content-floating-bg: hsl(var(--bs-content-floating-bg-hsl));\n\t--bs-content-floating-border-color: var(--bs-content-border-color);\n\t--bs-content-floating-box-shadow: 0 1rem 2.25rem 0 rgba(0, 0, 0, 0.05), 0 0.25rem 1rem 0 rgba(0, 0, 0, 0.04);\n\n\t/* Action (used as needed in buttons, inputs, menu items, page links, etc.) */\n\n\t--bs-action-padding-x: 0.5rem;\n\t--bs-action-padding-y: 0.25rem;\n\t--bs-action-font-size: var(--bs-font-size-base);\n\t--bs-action-line-height: calc(20/14);\n\t--bs-action-sm-padding-x: 0.375rem;\n\t--bs-action-sm-padding-y: 0.125rem;\n\t--bs-action-sm-font-size: var(--bs-font-size-sm);\n\t--bs-action-sm-line-height: calc(18/12);\n\t--bs-action-lg-padding-x: 0.625rem;\n\t--bs-action-lg-padding-y: 0.3125rem;\n\t--bs-action-lg-font-size: var(--bs-font-size-lg);\n\t--bs-action-lg-line-height: calc(24/16);\n\t--bs-action-color: hsl(var(--bs-color-hue), var(--bs-color-saturation), 20%);\n\t--bs-action-bg: var(--bs-white);\n\t--bs-action-border-color: var(--bs-border-color-dark);\n\t--bs-action-hover-color: var(--bs-action-color);\n\t--bs-action-hover-bg: var(--bs-lightgray-200);\n\t--bs-action-hover-border-color: var(--bs-action-border-color);\n\t--bs-action-focus-shadow-hsl: var(--bs-primary-hsl);\n\t--bs-action-active-color: var(--bs-action-color);\n\t--bs-action-active-bg: var(--bs-lightgray-400);\n\t--bs-action-active-border-color: var(--bs-action-border-color);\n\t--bs-action-active-shadow: none;\n\t--bs-action-disabled-color: var(--bs-secondary-color);\n\t--bs-action-disabled-bg: var(--bs-lightgray-400);\n\t--bs-action-disabled-border-color: var(--bs-action-border-color);\n\n\t/* Form */\n\n\t--bs-form-color: var(--bs-body-color);\n\t--bs-form-bg: var(--bs-action-bg);\n\t--bs-form-secondary-bg: var(--bs-action-hover-bg);\n\t--bs-form-tertiary-bg: var(--bs-action-active-bg);\n\t--bs-form-border-color: var(--bs-action-border-color);\n\t--bs-form-focus-border-color: var(--bs-form-border-color);\n\t--bs-form-focus-shadow-hsl: var(--bs-primary-hsl);\n\t--bs-form-disabled-color: var(--bs-action-disabled-color);\n\t--bs-form-disabled-bg: var(--bs-action-disabled-bg);\n\t--bs-form-disabled-border-color: var(--bs-action-disabled-border-color);\n\t--bs-form-valid-color: var(--bs-success-text-emphasis);\n\t--bs-form-valid-border-color: var(--bs-success-border-subtle);\n\t--bs-form-invalid-color: var(--bs-danger-text-emphasis);\n\t--bs-form-invalid-border-color: var(--bs-danger-border-subtle);\n\t--bs-form-check-bg: var(--bs-form-bg);\n\t--bs-form-check-border-color: var(--bs-border-color);\n\t--bs-form-check-focus-border-color: var(--bs-form-check-border-color);\n\t--bs-form-check-focus-shadow-hsl: var(--bs-form-focus-shadow-hsl);\n\n\t/* Contextual buttons */\n\n\t--bs-ctx-btn-border-color: transparent;\n\t--bs-ctx-btn-hover-border-color: var(--bs-ctx-btn-border-color);\n\t--bs-ctx-btn-active-border-color: var(--bs-ctx-btn-border-color);\n\t--bs-ctx-btn-disabled-border-color: var(--bs-ctx-btn-border-color);\n\t--bs-ctx-btn-bg-clip: border-box;\n\n\t/* Action bar (used as needed in range, progress, etc.) */\n\n\t--bs-actionbar-bg: var(--bs-action-hover-bg);\n\t--bs-actionbar-border-color: hsla(var(--bs-black-hsl), 0.075);\n\t--bs-progresstrack-border-width: 0;\n\t--bs-progresstrack-box-shadow: inset 0 0 0 var(--bs-border-width) var(--bs-actionbar-border-color);\n\t--bs-progresstrack-bg-clip: border-box;\n}\n\n[data-bs-theme=dark] {\n\t/* Color scheme */\n\n\tcolor-scheme: dark;\n\n\t/* Color */\n\n\t--bs-color-hue: var(--bs-gray-hue);\n\t--bs-color-saturation: var(--bs-gray-saturation);\n\t--bs-body-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 85%;\n\t--bs-body-color: hsl(var(--bs-body-color-hsl));\n\t--bs-emphasis-color-hsl: var(--bs-white-hsl);\n\t--bs-emphasis-color: hsl(var(--bs-emphasis-color-hsl));\n\t--bs-secondary-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 60%;\n\t--bs-secondary-color: hsl(var(--bs-secondary-color-hsl));\n\t--bs-tertiary-color-hsl: var(--bs-color-hue), var(--bs-color-saturation), 35%;\n\t--bs-tertiary-color: hsl(var(--bs-tertiary-color-hsl));\n\t--bs-heading-color: inherit;\n\n\t/* Background */\n\n\t--bs-body-bg-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 13%;\n\t--bs-body-bg: hsl(var(--bs-body-bg-hsl));\n\t--bs-secondary-bg-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 11.8%;\n\t--bs-secondary-bg: hsl(var(--bs-secondary-bg-hsl));\n\t--bs-tertiary-bg-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 11%;\n\t--bs-tertiary-bg: hsl(var(--bs-tertiary-bg-hsl));\n\t--bs-gradient: linear-gradient(180deg, hsla(var(--bs-white-hsl), 0.15), hsla(var(--bs-white-hsl), 0));\n\n\t/* Border */\n\n\t--bs-border-color: var(--bs-gray-800);\n\t--bs-border-color-light: var(--bs-border-color);\n\t--bs-border-color-dark: hsl(var(--bs-sable-hue), var(--bs-sable-saturation), 9.5%);\n\t--bs-border-color-translucent: hsla(var(--bs-white-hsl), 0.15);\n\n\t/* Box shadow */\n\n\t--bs-box-shadow-color: hsla(var(--bs-black-hsl), 0.4);\n\t--bs-box-shadow: 0 0.5rem 1rem var(--bs-box-shadow-color);\n\t--bs-box-shadow-sm: 0 0.125rem 0.25rem var(--bs-box-shadow-color);\n\t--bs-box-shadow-lg: 0 1rem 3rem var(--bs-box-shadow-color);\n\t--bs-box-shadow-inset: inset 0 1px var(--bs-box-shadow-color);\n\n\t/* Link */\n\n\t--bs-link-color-hsl: var(--bs-primary-text-emphasis-hsl);\n\t--bs-link-color: hsl(var(--bs-link-color-hsl));\n\t--bs-link-hover-color-hsl: var(--bs-primary-hsl);\n\t--bs-link-hover-color: hsl(var(--bs-link-hover-color-hsl));\n\n\t/* Highlight */\n\n\t--bs-highlight-color: inherit;\n\t--bs-highlight-bg: hsla(var(--bs-yellow-hsl), 0.1);\n\n\t/* Code */\n\n\t--bs-code-color: inherit;\n\t--bs-code-bg: hsla(var(--bs-white-hsl), 0.075);\n\n\t/* Keyboard input */\n\n\t--bs-kbd-color: var(--bs-light-foreground);\n\t--bs-kbd-bg: var(--bs-light);\n\n\t/* Content (used as needed in cards, panels, menus, etc.) */\n\n\t--bs-content-color-hsl: var(--bs-body-color-hsl);\n\t--bs-content-color: hsl(var(--bs-content-color-hsl));\n\t--bs-content-bg-hsl: var(--bs-tertiary-bg-hsl);\n\t--bs-content-bg: hsl(var(--bs-content-bg-hsl));\n\t--bs-content-border-color: var(--bs-border-color-dark);\n\t--bs-content-box-shadow: none;\n\t--bs-content-floating-color-hsl: var(--bs-content-color-hsl);\n\t--bs-content-floating-color: hsl(var(--bs-content-floating-color-hsl));\n\t--bs-content-floating-bg-hsl: var(--bs-sable-hue), var(--bs-sable-saturation), 13.5%;\n\t--bs-content-floating-bg: hsl(var(--bs-content-floating-bg-hsl));\n\t--bs-content-floating-border-color: var(--bs-content-border-color);\n\t--bs-content-floating-box-shadow: 0 1rem 2.25rem 0 rgba(0, 0, 0, 0.2), 0 0.25rem 1rem 0 rgba(0, 0, 0, 0.16);\n\n\t/* Action (used as needed in buttons, inputs, menu items, page links, etc.) */\n\n\t--bs-action-color: hsl(var(--bs-color-hue), var(--bs-color-saturation), 80%);\n\t--bs-action-bg: var(--bs-sable-700);\n\t--bs-action-border-color: var(--bs-border-color-dark);\n\t--bs-action-hover-color: var(--bs-action-color);\n\t--bs-action-hover-bg: var(--bs-sable-600);\n\t--bs-action-hover-border-color: var(--bs-action-border-color);\n\t--bs-action-focus-shadow-hsl: var(--bs-primary-hsl);\n\t--bs-action-active-color: var(--bs-action-color);\n\t--bs-action-active-bg: var(--bs-sable-500);\n\t--bs-action-active-border-color: var(--bs-action-border-color);\n\t--bs-action-active-shadow: none;\n\t--bs-action-disabled-color: var(--bs-secondary-color);\n\t--bs-action-disabled-bg: var(--bs-sable-400);\n\t--bs-action-disabled-border-color: var(--bs-action-border-color);\n\n\t/* Form */\n\n\t--bs-form-color: var(--bs-body-color);\n\t--bs-form-bg: var(--bs-action-bg);\n\t--bs-form-secondary-bg: var(--bs-action-hover-bg);\n\t--bs-form-tertiary-bg: var(--bs-action-active-bg);\n\t--bs-form-border-color: var(--bs-action-border-color);\n\t--bs-form-focus-border-color: var(--bs-form-border-color);\n\t--bs-form-focus-shadow-hsl: var(--bs-primary-hsl);\n\t--bs-form-disabled-color: var(--bs-action-disabled-color);\n\t--bs-form-disabled-bg: var(--bs-action-disabled-bg);\n\t--bs-form-disabled-border-color: var(--bs-action-disabled-border-color);\n\t--bs-form-valid-color: var(--bs-success-text-emphasis);\n\t--bs-form-valid-border-color: var(--bs-success-border-subtle);\n\t--bs-form-invalid-color: var(--bs-danger-text-emphasis);\n\t--bs-form-invalid-border-color: var(--bs-danger-border-subtle);\n\t--bs-form-check-bg: var(--bs-form-bg);\n\t--bs-form-check-border-color: var(--bs-border-color);\n\t--bs-form-check-focus-border-color: var(--bs-form-check-border-color);\n\t--bs-form-check-focus-shadow-hsl: var(--bs-form-focus-shadow-hsl);\n\n\t/* Contextual buttons */\n\n\t--bs-ctx-btn-border-color: var(--bs-border-color-dark);\n\t--bs-ctx-btn-hover-border-color: var(--bs-ctx-btn-border-color);\n\t--bs-ctx-btn-active-border-color: var(--bs-ctx-btn-border-color);\n\t--bs-ctx-btn-disabled-border-color: var(--bs-ctx-btn-border-color);\n\t--bs-ctx-btn-bg-clip: padding-box;\n\n\t/* Action bar (used as needed in range, progress, etc.) */\n\n\t--bs-actionbar-bg: var(--bs-action-bg);\n\t--bs-actionbar-border-color: var(--bs-action-border-color);\n\t--bs-progresstrack-border-width: var(--bs-border-width);\n\t--bs-progresstrack-box-shadow: none;\n\t--bs-progresstrack-bg-clip: padding-box;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Reboot ]\n * ----------------------------------------------------------------------------\n */\n\n*,\n*::before,\n*::after {\n\tbox-sizing: border-box;\n}\n\nbody {\n\tmargin: 0;\n\tfont-family: var(--bs-body-font-family);\n\tfont-size: var(--bs-body-font-size);\n\tfont-weight: var(--bs-body-font-weight);\n\tline-height: var(--bs-body-line-height);\n\tcolor: var(--bs-body-color);\n\ttext-align: var(--bs-body-text-align);\n\tbackground-color: var(--bs-body-bg);\n\t-webkit-font-smoothing: var(--bs-body-webkit-font-smoothing);\n\t-moz-osx-font-smoothing: var(--bs-body-moz-osx-font-smoothing);\n\t-webkit-text-size-adjust: 100%;\n\t-webkit-tap-highlight-color: hsla(0, 0, 0, 0);\n}\n\nhr {\n\tmargin: 1rem 0;\n\tcolor: inherit;\n\tborder: 0;\n\tborder-top: var(--bs-border-width) solid;\n\topacity: 0.25;\n}\n\nh6, .h6,\nh5, .h5,\nh4, .h4,\nh3, .h3,\nh2, .h2,\nh1, .h1 {\n\tmargin-top: 0;\n\tmargin-bottom: 0.5rem;\n\tfont-weight: var(--bs-heading-font-weight);\n\tline-height: var(--bs-heading-line-height);\n\tcolor: var(--bs-heading-color);\n}\n\nh1, .h1 {\n\tfont-size: calc((var(--bs-font-size-base) + 0.4875rem) + 1.5vw);\n}\n\n@media (min-width: 1200px) {\n\th1, .h1 {\n\t\tfont-size: var(--bs-h1-font-size);\n\t}\n}\n\nh2, .h2 {\n\tfont-size: calc((var(--bs-font-size-base) + 0.4375rem) + 0.9vw);\n}\n\n@media (min-width: 1200px) {\n\th2, .h2 {\n\t\tfont-size: var(--bs-h2-font-size);\n\t}\n}\n\nh3, .h3 {\n\tfont-size: calc((var(--bs-font-size-base) + 0.4rem) + 0.6vw);\n}\n\n@media (min-width: 1200px) {\n\th3, .h3 {\n\t\tfont-size: var(--bs-h3-font-size);\n\t}\n}\n\nh4, .h4 {\n\tfont-size: calc((var(--bs-font-size-base) + 0.375rem) + 0.3vw);\n}\n\n@media (min-width: 1200px) {\n\th4, .h4 {\n\t\tfont-size: var(--bs-h4-font-size);\n\t}\n}\n\nh5, .h5 {\n\tfont-size: var(--bs-h5-font-size);\n}\n\nh6, .h6 {\n\tfont-size: var(--bs-h6-font-size);\n}\n\np {\n\tmargin-top: 0;\n\tmargin-bottom: 1rem;\n}\n\nabbr[title] {\n\t-webkit-text-decoration: underline dotted;\n\ttext-decoration: underline dotted;\n\tcursor: help;\n\t-webkit-text-decoration-skip-ink: none;\n\ttext-decoration-skip-ink: none;\n}\n\na > abbr[title] {\n\ttext-underline-offset: var(--bs-relative-font-size-6xs);\n}\n\naddress {\n\tmargin-bottom: 1rem;\n\tfont-style: normal;\n\tline-height: inherit;\n}\n\nol,\nul {\n\tpadding-right: 2rem;\n}\n\nol,\nul,\ndl {\n\tmargin-top: 0;\n\tmargin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n\tmargin-bottom: 0;\n}\n\ndt {\n\tfont-weight: var(--bs-font-weight-bold);\n}\n\ndd {\n\tmargin-bottom: 0.5rem;\n\tmargin-right: 0;\n}\n\nblockquote {\n\tmargin: 0 0 1rem;\n}\n\nb,\nstrong {\n\tfont-weight: var(--bs-font-weight-bolder);\n}\n\nsmall, .small {\n\tfont-size: var(--bs-relative-font-size-sm);\n}\n\nmark, .mark {\n\tpadding: var(--bs-highlight-padding);\n\tcolor: var(--bs-highlight-color);\n\tbackground-color: var(--bs-highlight-bg);\n\tborder-radius: var(--bs-highlight-border-radius);\n}\n\nsub,\nsup {\n\tposition: relative;\n\tfont-size: var(--bs-relative-font-size-xs);\n\tline-height: 0;\n\tvertical-align: baseline;\n}\n\nsub {\n\tbottom: calc(-1 * var(--bs-relative-font-size-4xs));\n}\n\nsup {\n\ttop: calc(-1 * var(--bs-relative-font-size-3xs));\n}\n\na {\n\tcolor: hsla(var(--bs-link-color-hsl), var(--bs-link-opacity, 1));\n\ttext-decoration: var(--bs-link-decoration);\n\ttext-underline-offset: var(--bs-link-decoration-offset);\n\t-webkit-font-smoothing: auto;\n\t-moz-osx-font-smoothing: auto;\n}\n\na:hover {\n\t--bs-link-color-hsl: var(--bs-link-hover-color-hsl);\n\t--bs-link-decoration: var(--bs-link-hover-decoration);\n}\n\na:not([href]):not([class]), a:not([href]):not([class]):hover {\n\tcolor: inherit;\n\ttext-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n\tfont-family: var(--bs-font-monospace);\n\tfont-size: 1em;\n}\n\npre {\n\tdisplay: block;\n\tmargin-top: 0;\n\tmargin-bottom: 1rem;\n\toverflow: auto;\n\tfont-size: var(--bs-relative-font-size-sm);\n}\n\npre code {\n\tpadding: 0;\n\tfont-size: inherit;\n\tcolor: inherit;\n\tbackground-color: transparent;\n\tborder-radius: 0;\n\tword-break: normal;\n\tword-wrap: normal;\n}\n\ncode {\n\tpadding: var(--bs-code-padding);\n\tfont-size: var(--bs-code-font-size);\n\tcolor: var(--bs-code-color);\n\tbackground-color: var(--bs-code-bg);\n\tborder-radius: var(--bs-code-border-radius);\n\tword-wrap: break-word;\n\t-webkit-font-smoothing: auto;\n\t-moz-osx-font-smoothing: auto;\n}\n\na > code {\n\tcolor: inherit;\n}\n\nkbd {\n\tpadding: var(--bs-kbd-padding);\n\tfont-size: var(--bs-kbd-font-size);\n\tcolor: var(--bs-kbd-color);\n\tbackground-color: var(--bs-kbd-bg);\n\tborder-radius: var(--bs-kbd-border-radius);\n\t-webkit-font-smoothing: auto;\n\t-moz-osx-font-smoothing: auto;\n}\n\nkbd kbd {\n\tpadding: 0;\n\tfont-size: 1em;\n}\n\nfigure {\n\tmargin: 0 0 1rem;\n}\n\nimg,\nsvg {\n\tvertical-align: middle;\n}\n\ntable {\n\tcaption-side: bottom;\n\tborder-collapse: collapse;\n}\n\ncaption {\n\tpadding-top: 0.5rem;\n\tpadding-bottom: 0.5rem;\n\tcolor: var(--bs-secondary-color);\n\ttext-align: right;\n}\n\nth {\n\ttext-align: inherit;\n\ttext-align: -webkit-match-parent;\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n\tborder-color: inherit;\n\tborder-style: solid;\n\tborder-width: 0;\n}\n\nlabel {\n\tdisplay: inline-block;\n}\n\nbutton {\n\tborder-radius: 0;\n}\n\nbutton:focus:not(:focus-visible) {\n\toutline: 0;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n\tmargin: 0;\n\tfont-family: inherit;\n\tfont-size: inherit;\n\tline-height: inherit;\n}\n\nbutton,\nselect {\n\ttext-transform: none;\n}\n\n[role=button] {\n\tcursor: pointer;\n}\n\nselect {\n\tword-wrap: normal;\n}\n\nselect:disabled {\n\topacity: 1;\n}\n\n[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n\tdisplay: none !important;\n}\n\nbutton,\n[type=button],\n[type=reset],\n[type=submit] {\n\t-webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=button]:not(:disabled),\n[type=reset]:not(:disabled),\n[type=submit]:not(:disabled) {\n\tcursor: pointer;\n}\n\n::-moz-focus-inner {\n\tpadding: 0;\n\tborder-style: none;\n}\n\ntextarea {\n\tresize: vertical;\n}\n\nfieldset {\n\tmin-width: 0;\n\tpadding: 0;\n\tmargin: 0;\n\tborder: 0;\n}\n\nlegend {\n\tfloat: right;\n\twidth: 100%;\n\tpadding: 0;\n\tmargin-bottom: 0.5rem;\n\tfont-size: calc((var(--bs-font-size-base) + 0.375rem) + 0.3vw);\n\tline-height: inherit;\n}\n\n@media (min-width: 1200px) {\n\tlegend {\n\t\tfont-size: calc(var(--bs-font-size-base) + 0.5rem);\n\t}\n}\n\nlegend + * {\n\tclear: right;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n\tpadding: 0;\n}\n\n::-webkit-inner-spin-button {\n\theight: auto;\n}\n\n[type=search] {\n\toutline-offset: -2px;\n\t-webkit-appearance: textfield;\n}\n\n[type=\"tel\"],\n[type=\"url\"],\n[type=\"email\"],\n[type=\"number\"] {\n\tdirection: ltr;\n}\n\n::-webkit-search-decoration {\n\t-webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n\tpadding: 0;\n}\n\n::-webkit-file-upload-button {\n\tfont: inherit;\n\t-webkit-appearance: button;\n}\n\n::file-selector-button {\n\tfont: inherit;\n\t-webkit-appearance: button;\n}\n\noutput {\n\tdisplay: inline-block;\n}\n\niframe {\n\tborder: 0;\n}\n\nsummary {\n\tdisplay: list-item;\n\tcursor: pointer;\n}\n\nprogress {\n\tvertical-align: baseline;\n}\n\n[hidden] {\n\tdisplay: none !important;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Typography ]\n * ----------------------------------------------------------------------------\n */\n\n.lead {\n\tfont-size: calc(var(--bs-font-size-base) + 0.25rem);\n}\n\n.display-1,\n.display-2,\n.display-3,\n.display-4,\n.display-5,\n.display-6 {\n\tfont-weight: var(--bs-font-weight-bold);\n\tline-height: 1.2;\n}\n\n.display-1 {\n\tfont-size: calc((var(--bs-font-size-base) + 0.7rem) + 4.5vw);\n}\n\n@media (min-width: 1200px) {\n\t.display-1 {\n\t\tfont-size: calc(var(--bs-font-size-base) + 3.875rem);\n\t}\n}\n\n.display-2 {\n\tfont-size: calc((var(--bs-font-size-base) + 0.65rem) + 3.9vw);\n}\n\n@media (min-width: 1200px) {\n\t.display-2 {\n\t\tfont-size: calc(var(--bs-font-size-base) + 3.375rem);\n\t}\n}\n\n.display-3 {\n\tfont-size: calc((var(--bs-font-size-base) + 0.6rem) + 3.3vw);\n}\n\n@media (min-width: 1200px) {\n\t.display-3 {\n\t\tfont-size: calc(var(--bs-font-size-base) + 2.875rem);\n\t}\n}\n\n.display-4 {\n\tfont-size: calc((var(--bs-font-size-base) + 0.55rem) + 2.7vw);\n}\n\n@media (min-width: 1200px) {\n\t.display-4 {\n\t\tfont-size: calc(var(--bs-font-size-base) + 2.375rem);\n\t}\n}\n\n.display-5 {\n\tfont-size: calc((var(--bs-font-size-base) + 0.5rem) + 2.1vw);\n}\n\n@media (min-width: 1200px) {\n\t.display-5 {\n\t\tfont-size: calc(var(--bs-font-size-base) + 1.875rem);\n\t}\n}\n\n.display-6 {\n\tfont-size: calc((var(--bs-font-size-base) + 0.45rem) + 1.5vw);\n}\n\n@media (min-width: 1200px) {\n\t.display-6 {\n\t\tfont-size: calc(var(--bs-font-size-base) + 1.375rem);\n\t}\n}\n\n.list-unstyled {\n\tpadding-right: 0;\n\tlist-style: none;\n}\n\n.list-inline {\n\tpadding-right: 0;\n\tlist-style: none;\n}\n\n.list-inline-item {\n\tdisplay: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n\tmargin-left: 0.5rem;\n}\n\n.initialism {\n\tfont-size: var(--bs-relative-font-size-sm);\n\ttext-transform: uppercase;\n}\n\n.blockquote {\n\tmargin-bottom: 1rem;\n\tfont-size: calc(var(--bs-font-size-base) + 0.25rem);\n}\n\n.blockquote > :last-child {\n\tmargin-bottom: 0;\n}\n\n.blockquote-footer {\n\tmargin-top: -1rem;\n\tmargin-bottom: 1rem;\n\tfont-size: var(--bs-relative-font-size-sm);\n\tcolor: var(--bs-secondary-color);\n}\n\n.blockquote-footer::before {\n\tcontent: \"— \";\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Images ]\n * ----------------------------------------------------------------------------\n */\n\n.img-fluid {\n\tmax-width: 100%;\n\theight: auto;\n}\n\n.img-thumbnail {\n\tpadding: 0.25rem;\n\tbackground-color: var(--bs-body-bg);\n\tborder: var(--bs-border-width) solid var(--bs-border-color);\n\tborder-radius: var(--bs-border-radius);\n\tmax-width: 100%;\n\theight: auto;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Figures ]\n * ----------------------------------------------------------------------------\n */\n\n.figure {\n\tdisplay: inline-block;\n}\n\n.figure-img {\n\tmargin-bottom: 0.5rem;\n\tline-height: 1;\n}\n\n.figure-caption {\n\tfont-size: var(--bs-relative-font-size-sm);\n\tcolor: var(--bs-secondary-color);\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Grid ]\n * ----------------------------------------------------------------------------\n */\n\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n\t--bs-gutter-x: var(--bs-spacer-4);\n\t--bs-gutter-y: 0;\n\twidth: 100%;\n\tpadding-left: calc(var(--bs-gutter-x) * 0.5);\n\tpadding-right: calc(var(--bs-gutter-x) * 0.5);\n\tmargin-left: auto;\n\tmargin-right: auto;\n}\n\n@media (min-width: 576px) {\n\t.container-sm, .container {\n\t\tmax-width: var(--bs-container-max-width-sm);\n\t}\n}\n\n@media (min-width: 768px) {\n\t.container-md, .container-sm, .container {\n\t\tmax-width: var(--bs-container-max-width-md);\n\t}\n}\n\n@media (min-width: 992px) {\n\t.container-lg, .container-md, .container-sm, .container {\n\t\tmax-width: var(--bs-container-max-width-lg);\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.container-xl, .container-lg, .container-md, .container-sm, .container {\n\t\tmax-width: var(--bs-container-max-width-xl);\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n\t\tmax-width: var(--bs-container-max-width-xxl);\n\t}\n}\n\n:root {\n\t--bs-breakpoint-xs: 0;\n\t--bs-breakpoint-sm: 576px;\n\t--bs-breakpoint-md: 768px;\n\t--bs-breakpoint-lg: 992px;\n\t--bs-breakpoint-xl: 1200px;\n\t--bs-breakpoint-xxl: 1400px;\n}\n\n.row {\n\t--bs-gutter-x: var(--bs-spacer-4);\n\t--bs-gutter-y: 0;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tmargin-top: calc(-1 * var(--bs-gutter-y));\n\tmargin-left: calc(-0.5 * var(--bs-gutter-x));\n\tmargin-right: calc(-0.5 * var(--bs-gutter-x));\n}\n\n.row > * {\n\tflex-shrink: 0;\n\twidth: 100%;\n\tmax-width: 100%;\n\tpadding-left: calc(var(--bs-gutter-x) * 0.5);\n\tpadding-right: calc(var(--bs-gutter-x) * 0.5);\n\tmargin-top: var(--bs-gutter-y);\n}\n\n.col {\n\tflex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n\tflex: 0 0 auto;\n\twidth: auto;\n}\n\n.row-cols-1 > * {\n\tflex: 0 0 auto;\n\twidth: 100%;\n}\n\n.row-cols-2 > * {\n\tflex: 0 0 auto;\n\twidth: 50%;\n}\n\n.row-cols-3 > * {\n\tflex: 0 0 auto;\n\twidth: 33.3333333333%;\n}\n\n.row-cols-4 > * {\n\tflex: 0 0 auto;\n\twidth: 25%;\n}\n\n.row-cols-5 > * {\n\tflex: 0 0 auto;\n\twidth: 20%;\n}\n\n.row-cols-6 > * {\n\tflex: 0 0 auto;\n\twidth: 16.6666666667%;\n}\n\n.col-auto {\n\tflex: 0 0 auto;\n\twidth: auto;\n}\n\n.col-1 {\n\tflex: 0 0 auto;\n\twidth: 8.33333333%;\n}\n\n.col-2 {\n\tflex: 0 0 auto;\n\twidth: 16.66666667%;\n}\n\n.col-3 {\n\tflex: 0 0 auto;\n\twidth: 25%;\n}\n\n.col-4 {\n\tflex: 0 0 auto;\n\twidth: 33.33333333%;\n}\n\n.col-5 {\n\tflex: 0 0 auto;\n\twidth: 41.66666667%;\n}\n\n.col-6 {\n\tflex: 0 0 auto;\n\twidth: 50%;\n}\n\n.col-7 {\n\tflex: 0 0 auto;\n\twidth: 58.33333333%;\n}\n\n.col-8 {\n\tflex: 0 0 auto;\n\twidth: 66.66666667%;\n}\n\n.col-9 {\n\tflex: 0 0 auto;\n\twidth: 75%;\n}\n\n.col-10 {\n\tflex: 0 0 auto;\n\twidth: 83.33333333%;\n}\n\n.col-11 {\n\tflex: 0 0 auto;\n\twidth: 91.66666667%;\n}\n\n.col-12 {\n\tflex: 0 0 auto;\n\twidth: 100%;\n}\n\n.offset-1 {\n\tmargin-right: 8.33333333%;\n}\n\n.offset-2 {\n\tmargin-right: 16.66666667%;\n}\n\n.offset-3 {\n\tmargin-right: 25%;\n}\n\n.offset-4 {\n\tmargin-right: 33.33333333%;\n}\n\n.offset-5 {\n\tmargin-right: 41.66666667%;\n}\n\n.offset-6 {\n\tmargin-right: 50%;\n}\n\n.offset-7 {\n\tmargin-right: 58.33333333%;\n}\n\n.offset-8 {\n\tmargin-right: 66.66666667%;\n}\n\n.offset-9 {\n\tmargin-right: 75%;\n}\n\n.offset-10 {\n\tmargin-right: 83.33333333%;\n}\n\n.offset-11 {\n\tmargin-right: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n\t--bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n\t--bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n\t--bs-gutter-x: var(--bs-spacer-1);\n}\n\n.g-1,\n.gy-1 {\n\t--bs-gutter-y: var(--bs-spacer-1);\n}\n\n.g-2,\n.gx-2 {\n\t--bs-gutter-x: var(--bs-spacer-2);\n}\n\n.g-2,\n.gy-2 {\n\t--bs-gutter-y: var(--bs-spacer-2);\n}\n\n.g-3,\n.gx-3 {\n\t--bs-gutter-x: var(--bs-spacer-3);\n}\n\n.g-3,\n.gy-3 {\n\t--bs-gutter-y: var(--bs-spacer-3);\n}\n\n.g-4,\n.gx-4 {\n\t--bs-gutter-x: var(--bs-spacer-4);\n}\n\n.g-4,\n.gy-4 {\n\t--bs-gutter-y: var(--bs-spacer-4);\n}\n\n.g-5,\n.gx-5 {\n\t--bs-gutter-x: var(--bs-spacer-5);\n}\n\n.g-5,\n.gy-5 {\n\t--bs-gutter-y: var(--bs-spacer-5);\n}\n\n@media (min-width: 576px) {\n\t.col-sm {\n\t\tflex: 1 0 0%;\n\t}\n\n\t.row-cols-sm-auto > * {\n\t\tflex: 0 0 auto;\n\t\twidth: auto;\n\t}\n\n\t.row-cols-sm-1 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 100%;\n\t}\n\n\t.row-cols-sm-2 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 50%;\n\t}\n\n\t.row-cols-sm-3 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 33.3333333333%;\n\t}\n\n\t.row-cols-sm-4 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 25%;\n\t}\n\n\t.row-cols-sm-5 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 20%;\n\t}\n\n\t.row-cols-sm-6 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 16.6666666667%;\n\t}\n\n\t.col-sm-auto {\n\t\tflex: 0 0 auto;\n\t\twidth: auto;\n\t}\n\n\t.col-sm-1 {\n\t\tflex: 0 0 auto;\n\t\twidth: 8.33333333%;\n\t}\n\n\t.col-sm-2 {\n\t\tflex: 0 0 auto;\n\t\twidth: 16.66666667%;\n\t}\n\n\t.col-sm-3 {\n\t\tflex: 0 0 auto;\n\t\twidth: 25%;\n\t}\n\n\t.col-sm-4 {\n\t\tflex: 0 0 auto;\n\t\twidth: 33.33333333%;\n\t}\n\n\t.col-sm-5 {\n\t\tflex: 0 0 auto;\n\t\twidth: 41.66666667%;\n\t}\n\n\t.col-sm-6 {\n\t\tflex: 0 0 auto;\n\t\twidth: 50%;\n\t}\n\n\t.col-sm-7 {\n\t\tflex: 0 0 auto;\n\t\twidth: 58.33333333%;\n\t}\n\n\t.col-sm-8 {\n\t\tflex: 0 0 auto;\n\t\twidth: 66.66666667%;\n\t}\n\n\t.col-sm-9 {\n\t\tflex: 0 0 auto;\n\t\twidth: 75%;\n\t}\n\n\t.col-sm-10 {\n\t\tflex: 0 0 auto;\n\t\twidth: 83.33333333%;\n\t}\n\n\t.col-sm-11 {\n\t\tflex: 0 0 auto;\n\t\twidth: 91.66666667%;\n\t}\n\n\t.col-sm-12 {\n\t\tflex: 0 0 auto;\n\t\twidth: 100%;\n\t}\n\n\t.offset-sm-0 {\n\t\tmargin-right: 0;\n\t}\n\n\t.offset-sm-1 {\n\t\tmargin-right: 8.33333333%;\n\t}\n\n\t.offset-sm-2 {\n\t\tmargin-right: 16.66666667%;\n\t}\n\n\t.offset-sm-3 {\n\t\tmargin-right: 25%;\n\t}\n\n\t.offset-sm-4 {\n\t\tmargin-right: 33.33333333%;\n\t}\n\n\t.offset-sm-5 {\n\t\tmargin-right: 41.66666667%;\n\t}\n\n\t.offset-sm-6 {\n\t\tmargin-right: 50%;\n\t}\n\n\t.offset-sm-7 {\n\t\tmargin-right: 58.33333333%;\n\t}\n\n\t.offset-sm-8 {\n\t\tmargin-right: 66.66666667%;\n\t}\n\n\t.offset-sm-9 {\n\t\tmargin-right: 75%;\n\t}\n\n\t.offset-sm-10 {\n\t\tmargin-right: 83.33333333%;\n\t}\n\n\t.offset-sm-11 {\n\t\tmargin-right: 91.66666667%;\n\t}\n\n\t.g-sm-0,\n\t.gx-sm-0 {\n\t\t--bs-gutter-x: 0;\n\t}\n\n\t.g-sm-0,\n\t.gy-sm-0 {\n\t\t--bs-gutter-y: 0;\n\t}\n\n\t.g-sm-1,\n\t.gx-sm-1 {\n\t\t--bs-gutter-x: var(--bs-spacer-1);\n\t}\n\n\t.g-sm-1,\n\t.gy-sm-1 {\n\t\t--bs-gutter-y: var(--bs-spacer-1);\n\t}\n\n\t.g-sm-2,\n\t.gx-sm-2 {\n\t\t--bs-gutter-x: var(--bs-spacer-2);\n\t}\n\n\t.g-sm-2,\n\t.gy-sm-2 {\n\t\t--bs-gutter-y: var(--bs-spacer-2);\n\t}\n\n\t.g-sm-3,\n\t.gx-sm-3 {\n\t\t--bs-gutter-x: var(--bs-spacer-3);\n\t}\n\n\t.g-sm-3,\n\t.gy-sm-3 {\n\t\t--bs-gutter-y: var(--bs-spacer-3);\n\t}\n\n\t.g-sm-4,\n\t.gx-sm-4 {\n\t\t--bs-gutter-x: var(--bs-spacer-4);\n\t}\n\n\t.g-sm-4,\n\t.gy-sm-4 {\n\t\t--bs-gutter-y: var(--bs-spacer-4);\n\t}\n\n\t.g-sm-5,\n\t.gx-sm-5 {\n\t\t--bs-gutter-x: var(--bs-spacer-5);\n\t}\n\n\t.g-sm-5,\n\t.gy-sm-5 {\n\t\t--bs-gutter-y: var(--bs-spacer-5);\n\t}\n}\n\n@media (min-width: 768px) {\n\t.col-md {\n\t\tflex: 1 0 0%;\n\t}\n\n\t.row-cols-md-auto > * {\n\t\tflex: 0 0 auto;\n\t\twidth: auto;\n\t}\n\n\t.row-cols-md-1 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 100%;\n\t}\n\n\t.row-cols-md-2 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 50%;\n\t}\n\n\t.row-cols-md-3 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 33.3333333333%;\n\t}\n\n\t.row-cols-md-4 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 25%;\n\t}\n\n\t.row-cols-md-5 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 20%;\n\t}\n\n\t.row-cols-md-6 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 16.6666666667%;\n\t}\n\n\t.col-md-auto {\n\t\tflex: 0 0 auto;\n\t\twidth: auto;\n\t}\n\n\t.col-md-1 {\n\t\tflex: 0 0 auto;\n\t\twidth: 8.33333333%;\n\t}\n\n\t.col-md-2 {\n\t\tflex: 0 0 auto;\n\t\twidth: 16.66666667%;\n\t}\n\n\t.col-md-3 {\n\t\tflex: 0 0 auto;\n\t\twidth: 25%;\n\t}\n\n\t.col-md-4 {\n\t\tflex: 0 0 auto;\n\t\twidth: 33.33333333%;\n\t}\n\n\t.col-md-5 {\n\t\tflex: 0 0 auto;\n\t\twidth: 41.66666667%;\n\t}\n\n\t.col-md-6 {\n\t\tflex: 0 0 auto;\n\t\twidth: 50%;\n\t}\n\n\t.col-md-7 {\n\t\tflex: 0 0 auto;\n\t\twidth: 58.33333333%;\n\t}\n\n\t.col-md-8 {\n\t\tflex: 0 0 auto;\n\t\twidth: 66.66666667%;\n\t}\n\n\t.col-md-9 {\n\t\tflex: 0 0 auto;\n\t\twidth: 75%;\n\t}\n\n\t.col-md-10 {\n\t\tflex: 0 0 auto;\n\t\twidth: 83.33333333%;\n\t}\n\n\t.col-md-11 {\n\t\tflex: 0 0 auto;\n\t\twidth: 91.66666667%;\n\t}\n\n\t.col-md-12 {\n\t\tflex: 0 0 auto;\n\t\twidth: 100%;\n\t}\n\n\t.offset-md-0 {\n\t\tmargin-right: 0;\n\t}\n\n\t.offset-md-1 {\n\t\tmargin-right: 8.33333333%;\n\t}\n\n\t.offset-md-2 {\n\t\tmargin-right: 16.66666667%;\n\t}\n\n\t.offset-md-3 {\n\t\tmargin-right: 25%;\n\t}\n\n\t.offset-md-4 {\n\t\tmargin-right: 33.33333333%;\n\t}\n\n\t.offset-md-5 {\n\t\tmargin-right: 41.66666667%;\n\t}\n\n\t.offset-md-6 {\n\t\tmargin-right: 50%;\n\t}\n\n\t.offset-md-7 {\n\t\tmargin-right: 58.33333333%;\n\t}\n\n\t.offset-md-8 {\n\t\tmargin-right: 66.66666667%;\n\t}\n\n\t.offset-md-9 {\n\t\tmargin-right: 75%;\n\t}\n\n\t.offset-md-10 {\n\t\tmargin-right: 83.33333333%;\n\t}\n\n\t.offset-md-11 {\n\t\tmargin-right: 91.66666667%;\n\t}\n\n\t.g-md-0,\n\t.gx-md-0 {\n\t\t--bs-gutter-x: 0;\n\t}\n\n\t.g-md-0,\n\t.gy-md-0 {\n\t\t--bs-gutter-y: 0;\n\t}\n\n\t.g-md-1,\n\t.gx-md-1 {\n\t\t--bs-gutter-x: var(--bs-spacer-1);\n\t}\n\n\t.g-md-1,\n\t.gy-md-1 {\n\t\t--bs-gutter-y: var(--bs-spacer-1);\n\t}\n\n\t.g-md-2,\n\t.gx-md-2 {\n\t\t--bs-gutter-x: var(--bs-spacer-2);\n\t}\n\n\t.g-md-2,\n\t.gy-md-2 {\n\t\t--bs-gutter-y: var(--bs-spacer-2);\n\t}\n\n\t.g-md-3,\n\t.gx-md-3 {\n\t\t--bs-gutter-x: var(--bs-spacer-3);\n\t}\n\n\t.g-md-3,\n\t.gy-md-3 {\n\t\t--bs-gutter-y: var(--bs-spacer-3);\n\t}\n\n\t.g-md-4,\n\t.gx-md-4 {\n\t\t--bs-gutter-x: var(--bs-spacer-4);\n\t}\n\n\t.g-md-4,\n\t.gy-md-4 {\n\t\t--bs-gutter-y: var(--bs-spacer-4);\n\t}\n\n\t.g-md-5,\n\t.gx-md-5 {\n\t\t--bs-gutter-x: var(--bs-spacer-5);\n\t}\n\n\t.g-md-5,\n\t.gy-md-5 {\n\t\t--bs-gutter-y: var(--bs-spacer-5);\n\t}\n}\n\n@media (min-width: 992px) {\n\t.col-lg {\n\t\tflex: 1 0 0%;\n\t}\n\n\t.row-cols-lg-auto > * {\n\t\tflex: 0 0 auto;\n\t\twidth: auto;\n\t}\n\n\t.row-cols-lg-1 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 100%;\n\t}\n\n\t.row-cols-lg-2 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 50%;\n\t}\n\n\t.row-cols-lg-3 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 33.3333333333%;\n\t}\n\n\t.row-cols-lg-4 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 25%;\n\t}\n\n\t.row-cols-lg-5 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 20%;\n\t}\n\n\t.row-cols-lg-6 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 16.6666666667%;\n\t}\n\n\t.col-lg-auto {\n\t\tflex: 0 0 auto;\n\t\twidth: auto;\n\t}\n\n\t.col-lg-1 {\n\t\tflex: 0 0 auto;\n\t\twidth: 8.33333333%;\n\t}\n\n\t.col-lg-2 {\n\t\tflex: 0 0 auto;\n\t\twidth: 16.66666667%;\n\t}\n\n\t.col-lg-3 {\n\t\tflex: 0 0 auto;\n\t\twidth: 25%;\n\t}\n\n\t.col-lg-4 {\n\t\tflex: 0 0 auto;\n\t\twidth: 33.33333333%;\n\t}\n\n\t.col-lg-5 {\n\t\tflex: 0 0 auto;\n\t\twidth: 41.66666667%;\n\t}\n\n\t.col-lg-6 {\n\t\tflex: 0 0 auto;\n\t\twidth: 50%;\n\t}\n\n\t.col-lg-7 {\n\t\tflex: 0 0 auto;\n\t\twidth: 58.33333333%;\n\t}\n\n\t.col-lg-8 {\n\t\tflex: 0 0 auto;\n\t\twidth: 66.66666667%;\n\t}\n\n\t.col-lg-9 {\n\t\tflex: 0 0 auto;\n\t\twidth: 75%;\n\t}\n\n\t.col-lg-10 {\n\t\tflex: 0 0 auto;\n\t\twidth: 83.33333333%;\n\t}\n\n\t.col-lg-11 {\n\t\tflex: 0 0 auto;\n\t\twidth: 91.66666667%;\n\t}\n\n\t.col-lg-12 {\n\t\tflex: 0 0 auto;\n\t\twidth: 100%;\n\t}\n\n\t.offset-lg-0 {\n\t\tmargin-right: 0;\n\t}\n\n\t.offset-lg-1 {\n\t\tmargin-right: 8.33333333%;\n\t}\n\n\t.offset-lg-2 {\n\t\tmargin-right: 16.66666667%;\n\t}\n\n\t.offset-lg-3 {\n\t\tmargin-right: 25%;\n\t}\n\n\t.offset-lg-4 {\n\t\tmargin-right: 33.33333333%;\n\t}\n\n\t.offset-lg-5 {\n\t\tmargin-right: 41.66666667%;\n\t}\n\n\t.offset-lg-6 {\n\t\tmargin-right: 50%;\n\t}\n\n\t.offset-lg-7 {\n\t\tmargin-right: 58.33333333%;\n\t}\n\n\t.offset-lg-8 {\n\t\tmargin-right: 66.66666667%;\n\t}\n\n\t.offset-lg-9 {\n\t\tmargin-right: 75%;\n\t}\n\n\t.offset-lg-10 {\n\t\tmargin-right: 83.33333333%;\n\t}\n\n\t.offset-lg-11 {\n\t\tmargin-right: 91.66666667%;\n\t}\n\n\t.g-lg-0,\n\t.gx-lg-0 {\n\t\t--bs-gutter-x: 0;\n\t}\n\n\t.g-lg-0,\n\t.gy-lg-0 {\n\t\t--bs-gutter-y: 0;\n\t}\n\n\t.g-lg-1,\n\t.gx-lg-1 {\n\t\t--bs-gutter-x: var(--bs-spacer-1);\n\t}\n\n\t.g-lg-1,\n\t.gy-lg-1 {\n\t\t--bs-gutter-y: var(--bs-spacer-1);\n\t}\n\n\t.g-lg-2,\n\t.gx-lg-2 {\n\t\t--bs-gutter-x: var(--bs-spacer-2);\n\t}\n\n\t.g-lg-2,\n\t.gy-lg-2 {\n\t\t--bs-gutter-y: var(--bs-spacer-2);\n\t}\n\n\t.g-lg-3,\n\t.gx-lg-3 {\n\t\t--bs-gutter-x: var(--bs-spacer-3);\n\t}\n\n\t.g-lg-3,\n\t.gy-lg-3 {\n\t\t--bs-gutter-y: var(--bs-spacer-3);\n\t}\n\n\t.g-lg-4,\n\t.gx-lg-4 {\n\t\t--bs-gutter-x: var(--bs-spacer-4);\n\t}\n\n\t.g-lg-4,\n\t.gy-lg-4 {\n\t\t--bs-gutter-y: var(--bs-spacer-4);\n\t}\n\n\t.g-lg-5,\n\t.gx-lg-5 {\n\t\t--bs-gutter-x: var(--bs-spacer-5);\n\t}\n\n\t.g-lg-5,\n\t.gy-lg-5 {\n\t\t--bs-gutter-y: var(--bs-spacer-5);\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.col-xl {\n\t\tflex: 1 0 0%;\n\t}\n\n\t.row-cols-xl-auto > * {\n\t\tflex: 0 0 auto;\n\t\twidth: auto;\n\t}\n\n\t.row-cols-xl-1 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 100%;\n\t}\n\n\t.row-cols-xl-2 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 50%;\n\t}\n\n\t.row-cols-xl-3 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 33.3333333333%;\n\t}\n\n\t.row-cols-xl-4 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 25%;\n\t}\n\n\t.row-cols-xl-5 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 20%;\n\t}\n\n\t.row-cols-xl-6 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 16.6666666667%;\n\t}\n\n\t.col-xl-auto {\n\t\tflex: 0 0 auto;\n\t\twidth: auto;\n\t}\n\n\t.col-xl-1 {\n\t\tflex: 0 0 auto;\n\t\twidth: 8.33333333%;\n\t}\n\n\t.col-xl-2 {\n\t\tflex: 0 0 auto;\n\t\twidth: 16.66666667%;\n\t}\n\n\t.col-xl-3 {\n\t\tflex: 0 0 auto;\n\t\twidth: 25%;\n\t}\n\n\t.col-xl-4 {\n\t\tflex: 0 0 auto;\n\t\twidth: 33.33333333%;\n\t}\n\n\t.col-xl-5 {\n\t\tflex: 0 0 auto;\n\t\twidth: 41.66666667%;\n\t}\n\n\t.col-xl-6 {\n\t\tflex: 0 0 auto;\n\t\twidth: 50%;\n\t}\n\n\t.col-xl-7 {\n\t\tflex: 0 0 auto;\n\t\twidth: 58.33333333%;\n\t}\n\n\t.col-xl-8 {\n\t\tflex: 0 0 auto;\n\t\twidth: 66.66666667%;\n\t}\n\n\t.col-xl-9 {\n\t\tflex: 0 0 auto;\n\t\twidth: 75%;\n\t}\n\n\t.col-xl-10 {\n\t\tflex: 0 0 auto;\n\t\twidth: 83.33333333%;\n\t}\n\n\t.col-xl-11 {\n\t\tflex: 0 0 auto;\n\t\twidth: 91.66666667%;\n\t}\n\n\t.col-xl-12 {\n\t\tflex: 0 0 auto;\n\t\twidth: 100%;\n\t}\n\n\t.offset-xl-0 {\n\t\tmargin-right: 0;\n\t}\n\n\t.offset-xl-1 {\n\t\tmargin-right: 8.33333333%;\n\t}\n\n\t.offset-xl-2 {\n\t\tmargin-right: 16.66666667%;\n\t}\n\n\t.offset-xl-3 {\n\t\tmargin-right: 25%;\n\t}\n\n\t.offset-xl-4 {\n\t\tmargin-right: 33.33333333%;\n\t}\n\n\t.offset-xl-5 {\n\t\tmargin-right: 41.66666667%;\n\t}\n\n\t.offset-xl-6 {\n\t\tmargin-right: 50%;\n\t}\n\n\t.offset-xl-7 {\n\t\tmargin-right: 58.33333333%;\n\t}\n\n\t.offset-xl-8 {\n\t\tmargin-right: 66.66666667%;\n\t}\n\n\t.offset-xl-9 {\n\t\tmargin-right: 75%;\n\t}\n\n\t.offset-xl-10 {\n\t\tmargin-right: 83.33333333%;\n\t}\n\n\t.offset-xl-11 {\n\t\tmargin-right: 91.66666667%;\n\t}\n\n\t.g-xl-0,\n\t.gx-xl-0 {\n\t\t--bs-gutter-x: 0;\n\t}\n\n\t.g-xl-0,\n\t.gy-xl-0 {\n\t\t--bs-gutter-y: 0;\n\t}\n\n\t.g-xl-1,\n\t.gx-xl-1 {\n\t\t--bs-gutter-x: var(--bs-spacer-1);\n\t}\n\n\t.g-xl-1,\n\t.gy-xl-1 {\n\t\t--bs-gutter-y: var(--bs-spacer-1);\n\t}\n\n\t.g-xl-2,\n\t.gx-xl-2 {\n\t\t--bs-gutter-x: var(--bs-spacer-2);\n\t}\n\n\t.g-xl-2,\n\t.gy-xl-2 {\n\t\t--bs-gutter-y: var(--bs-spacer-2);\n\t}\n\n\t.g-xl-3,\n\t.gx-xl-3 {\n\t\t--bs-gutter-x: var(--bs-spacer-3);\n\t}\n\n\t.g-xl-3,\n\t.gy-xl-3 {\n\t\t--bs-gutter-y: var(--bs-spacer-3);\n\t}\n\n\t.g-xl-4,\n\t.gx-xl-4 {\n\t\t--bs-gutter-x: var(--bs-spacer-4);\n\t}\n\n\t.g-xl-4,\n\t.gy-xl-4 {\n\t\t--bs-gutter-y: var(--bs-spacer-4);\n\t}\n\n\t.g-xl-5,\n\t.gx-xl-5 {\n\t\t--bs-gutter-x: var(--bs-spacer-5);\n\t}\n\n\t.g-xl-5,\n\t.gy-xl-5 {\n\t\t--bs-gutter-y: var(--bs-spacer-5);\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.col-xxl {\n\t\tflex: 1 0 0%;\n\t}\n\n\t.row-cols-xxl-auto > * {\n\t\tflex: 0 0 auto;\n\t\twidth: auto;\n\t}\n\n\t.row-cols-xxl-1 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 100%;\n\t}\n\n\t.row-cols-xxl-2 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 50%;\n\t}\n\n\t.row-cols-xxl-3 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 33.3333333333%;\n\t}\n\n\t.row-cols-xxl-4 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 25%;\n\t}\n\n\t.row-cols-xxl-5 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 20%;\n\t}\n\n\t.row-cols-xxl-6 > * {\n\t\tflex: 0 0 auto;\n\t\twidth: 16.6666666667%;\n\t}\n\n\t.col-xxl-auto {\n\t\tflex: 0 0 auto;\n\t\twidth: auto;\n\t}\n\n\t.col-xxl-1 {\n\t\tflex: 0 0 auto;\n\t\twidth: 8.33333333%;\n\t}\n\n\t.col-xxl-2 {\n\t\tflex: 0 0 auto;\n\t\twidth: 16.66666667%;\n\t}\n\n\t.col-xxl-3 {\n\t\tflex: 0 0 auto;\n\t\twidth: 25%;\n\t}\n\n\t.col-xxl-4 {\n\t\tflex: 0 0 auto;\n\t\twidth: 33.33333333%;\n\t}\n\n\t.col-xxl-5 {\n\t\tflex: 0 0 auto;\n\t\twidth: 41.66666667%;\n\t}\n\n\t.col-xxl-6 {\n\t\tflex: 0 0 auto;\n\t\twidth: 50%;\n\t}\n\n\t.col-xxl-7 {\n\t\tflex: 0 0 auto;\n\t\twidth: 58.33333333%;\n\t}\n\n\t.col-xxl-8 {\n\t\tflex: 0 0 auto;\n\t\twidth: 66.66666667%;\n\t}\n\n\t.col-xxl-9 {\n\t\tflex: 0 0 auto;\n\t\twidth: 75%;\n\t}\n\n\t.col-xxl-10 {\n\t\tflex: 0 0 auto;\n\t\twidth: 83.33333333%;\n\t}\n\n\t.col-xxl-11 {\n\t\tflex: 0 0 auto;\n\t\twidth: 91.66666667%;\n\t}\n\n\t.col-xxl-12 {\n\t\tflex: 0 0 auto;\n\t\twidth: 100%;\n\t}\n\n\t.offset-xxl-0 {\n\t\tmargin-right: 0;\n\t}\n\n\t.offset-xxl-1 {\n\t\tmargin-right: 8.33333333%;\n\t}\n\n\t.offset-xxl-2 {\n\t\tmargin-right: 16.66666667%;\n\t}\n\n\t.offset-xxl-3 {\n\t\tmargin-right: 25%;\n\t}\n\n\t.offset-xxl-4 {\n\t\tmargin-right: 33.33333333%;\n\t}\n\n\t.offset-xxl-5 {\n\t\tmargin-right: 41.66666667%;\n\t}\n\n\t.offset-xxl-6 {\n\t\tmargin-right: 50%;\n\t}\n\n\t.offset-xxl-7 {\n\t\tmargin-right: 58.33333333%;\n\t}\n\n\t.offset-xxl-8 {\n\t\tmargin-right: 66.66666667%;\n\t}\n\n\t.offset-xxl-9 {\n\t\tmargin-right: 75%;\n\t}\n\n\t.offset-xxl-10 {\n\t\tmargin-right: 83.33333333%;\n\t}\n\n\t.offset-xxl-11 {\n\t\tmargin-right: 91.66666667%;\n\t}\n\n\t.g-xxl-0,\n\t.gx-xxl-0 {\n\t\t--bs-gutter-x: 0;\n\t}\n\n\t.g-xxl-0,\n\t.gy-xxl-0 {\n\t\t--bs-gutter-y: 0;\n\t}\n\n\t.g-xxl-1,\n\t.gx-xxl-1 {\n\t\t--bs-gutter-x: var(--bs-spacer-1);\n\t}\n\n\t.g-xxl-1,\n\t.gy-xxl-1 {\n\t\t--bs-gutter-y: var(--bs-spacer-1);\n\t}\n\n\t.g-xxl-2,\n\t.gx-xxl-2 {\n\t\t--bs-gutter-x: var(--bs-spacer-2);\n\t}\n\n\t.g-xxl-2,\n\t.gy-xxl-2 {\n\t\t--bs-gutter-y: var(--bs-spacer-2);\n\t}\n\n\t.g-xxl-3,\n\t.gx-xxl-3 {\n\t\t--bs-gutter-x: var(--bs-spacer-3);\n\t}\n\n\t.g-xxl-3,\n\t.gy-xxl-3 {\n\t\t--bs-gutter-y: var(--bs-spacer-3);\n\t}\n\n\t.g-xxl-4,\n\t.gx-xxl-4 {\n\t\t--bs-gutter-x: var(--bs-spacer-4);\n\t}\n\n\t.g-xxl-4,\n\t.gy-xxl-4 {\n\t\t--bs-gutter-y: var(--bs-spacer-4);\n\t}\n\n\t.g-xxl-5,\n\t.gx-xxl-5 {\n\t\t--bs-gutter-x: var(--bs-spacer-5);\n\t}\n\n\t.g-xxl-5,\n\t.gy-xxl-5 {\n\t\t--bs-gutter-y: var(--bs-spacer-5);\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Tables ]\n * ----------------------------------------------------------------------------\n */\n\n.table {\n\t--bs-table-color-type: initial;\n \t--bs-table-bg-type: initial;\n \t--bs-table-color-state: initial;\n \t--bs-table-bg-state: initial;\n\t--bs-table-color: var(--bs-body-color);\n\t--bs-table-bg: transparent;\n\t--bs-table-border-color: var(--bs-border-color);\n\t--bs-table-accent-bg: transparent;\n\t--bs-table-striped-color: var(--bs-table-color);\n\t--bs-table-striped-bg: hsla(var(--bs-black-hsl), 0.03);\n\t--bs-table-active-color: var(--bs-table-color);\n\t--bs-table-active-bg: hsla(var(--bs-black-hsl), 0.09);\n\t--bs-table-hover-color: var(--bs-table-color);\n\t--bs-table-hover-bg: hsla(var(--bs-black-hsl), 0.06);\n\twidth: 100%;\n\tmargin-bottom: 1rem;\n\tvertical-align: top;\n\tborder-color: var(--bs-table-border-color);\n}\n\n[data-bs-theme=dark] .table {\n\t--bs-table-striped-bg: hsla(var(--bs-white-hsl), 0.025);\n\t--bs-table-active-bg: hsla(var(--bs-white-hsl), 0.075);\n\t--bs-table-hover-bg: hsla(var(--bs-white-hsl), 0.05);\n}\n\n.table > :not(caption) > * > * {\n\tpadding: 0.375rem 0.5rem;\n\tcolor: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));\n\tbackground-color: var(--bs-table-bg);\n\tborder-bottom-width: var(--bs-border-width);\n\tbox-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));\n}\n\n.table > tbody {\n\tvertical-align: inherit;\n}\n\n.table > thead {\n\tvertical-align: bottom;\n}\n\n.table-group-divider {\n\tborder-top: var(--bs-border-width-2) solid currentcolor;\n}\n\n.caption-top {\n\tcaption-side: top;\n}\n\n.table-sm > :not(caption) > * > * {\n\tpadding: 0.25rem 0.375rem;\n}\n\n.table-bordered > :not(caption) > * {\n\tborder-width: var(--bs-border-width) 0;\n}\n\n.table-bordered > :not(caption) > * > * {\n\tborder-width: 0 var(--bs-border-width);\n}\n\n.table-borderless > :not(caption) > * > * {\n\tborder-bottom-width: 0;\n}\n\n.table-borderless > :not(:first-child) {\n\tborder-top-width: 0;\n}\n\n.table-striped > tbody > tr:nth-of-type(odd) > * {\n\t--bs-table-color-type: var(--bs-table-striped-color);\n\t--bs-table-bg-type: var(--bs-table-striped-bg);\n}\n\n.table-striped-columns > :not(caption) > tr > :nth-child(even) {\n\t--bs-table-color-type: var(--bs-table-striped-color);\n\t--bs-table-bg-type: var(--bs-table-striped-bg);\n}\n\n.table-active {\n\t--bs-table-color-state: var(--bs-table-active-color);\n\t--bs-table-bg-state: var(--bs-table-active-bg);\n}\n\n.table-hover > tbody > tr:hover > * {\n\t--bs-table-color-state: var(--bs-table-hover-color);\n\t--bs-table-bg-state: var(--bs-table-hover-bg);\n}\n\n/* Primary table */\n\n.table-primary {\n\t--bs-table-color: var(--bs-body-color);\n\t--bs-table-bg: hsla(var(--bs-primary-hsl), 0.125);\n\t--bs-table-border-color: var(--bs-border-color);\n\t--bs-table-striped-color: var(--bs-table-color);\n\t--bs-table-striped-bg: hsla(var(--bs-primary-hsl), 0.15);\n\t--bs-table-active-color: var(--bs-table-color);\n\t--bs-table-active-bg: hsla(var(--bs-primary-hsl), 0.25);\n\t--bs-table-hover-color: var(--bs-table-color);\n\t--bs-table-hover-bg: hsla(var(--bs-primary-hsl), 0.2);\n\tcolor: var(--bs-table-color);\n\tborder-color: var(--bs-table-border-color);\n}\n\n/* Secondary table */\n\n.table-secondary {\n\t--bs-table-color: var(--bs-body-color);\n\t--bs-table-bg: hsla(var(--bs-secondary-hsl), 0.125);\n\t--bs-table-border-color: var(--bs-border-color);\n\t--bs-table-striped-color: var(--bs-table-color);\n\t--bs-table-striped-bg: hsla(var(--bs-secondary-hsl), 0.15);\n\t--bs-table-active-color: var(--bs-table-color);\n\t--bs-table-active-bg: hsla(var(--bs-secondary-hsl), 0.25);\n\t--bs-table-hover-color: var(--bs-table-color);\n\t--bs-table-hover-bg: hsla(var(--bs-secondary-hsl), 0.2);\n\tcolor: var(--bs-table-color);\n\tborder-color: var(--bs-table-border-color);\n}\n\n/* Success table */\n\n.table-success {\n\t--bs-table-color: var(--bs-body-color);\n\t--bs-table-bg: hsla(var(--bs-success-hsl), 0.125);\n\t--bs-table-border-color: var(--bs-border-color);\n\t--bs-table-striped-color: var(--bs-table-color);\n\t--bs-table-striped-bg: hsla(var(--bs-success-hsl), 0.15);\n\t--bs-table-active-color: var(--bs-table-color);\n\t--bs-table-active-bg: hsla(var(--bs-success-hsl), 0.25);\n\t--bs-table-hover-color: var(--bs-table-color);\n\t--bs-table-hover-bg: hsla(var(--bs-success-hsl), 0.2);\n\tcolor: var(--bs-table-color);\n\tborder-color: var(--bs-table-border-color);\n}\n\n/* Info table */\n\n.table-info {\n\t--bs-table-color: var(--bs-body-color);\n\t--bs-table-bg: hsla(var(--bs-info-hsl), 0.125);\n\t--bs-table-border-color: var(--bs-border-color);\n\t--bs-table-striped-color: var(--bs-table-color);\n\t--bs-table-striped-bg: hsla(var(--bs-info-hsl), 0.15);\n\t--bs-table-active-color: var(--bs-table-color);\n\t--bs-table-active-bg: hsla(var(--bs-info-hsl), 0.25);\n\t--bs-table-hover-color: var(--bs-table-color);\n\t--bs-table-hover-bg: hsla(var(--bs-info-hsl), 0.2);\n\tcolor: var(--bs-table-color);\n\tborder-color: var(--bs-table-border-color);\n}\n\n/* Warning table */\n\n.table-warning {\n\t--bs-table-color: var(--bs-body-color);\n\t--bs-table-bg: hsla(var(--bs-warning-hsl), 0.125);\n\t--bs-table-border-color: var(--bs-border-color);\n\t--bs-table-striped-color: var(--bs-table-color);\n\t--bs-table-striped-bg: hsla(var(--bs-warning-hsl), 0.15);\n\t--bs-table-active-color: var(--bs-table-color);\n\t--bs-table-active-bg: hsla(var(--bs-warning-hsl), 0.25);\n\t--bs-table-hover-color: var(--bs-table-color);\n\t--bs-table-hover-bg: hsla(var(--bs-warning-hsl), 0.2);\n\tcolor: var(--bs-table-color);\n\tborder-color: var(--bs-table-border-color);\n}\n\n/* Danger table */\n\n.table-danger {\n\t--bs-table-color: var(--bs-body-color);\n\t--bs-table-bg: hsla(var(--bs-danger-hsl), 0.125);\n\t--bs-table-border-color: var(--bs-border-color);\n\t--bs-table-striped-color: var(--bs-table-color);\n\t--bs-table-striped-bg: hsla(var(--bs-danger-hsl), 0.15);\n\t--bs-table-active-color: var(--bs-table-color);\n\t--bs-table-active-bg: hsla(var(--bs-danger-hsl), 0.25);\n\t--bs-table-hover-color: var(--bs-table-color);\n\t--bs-table-hover-bg: hsla(var(--bs-danger-hsl), 0.2);\n\tcolor: var(--bs-table-color);\n\tborder-color: var(--bs-table-border-color);\n}\n\n/* Light table */\n\n.table-light {\n\t--bs-table-color: var(--bs-body-color);\n\t--bs-table-bg: hsla(var(--bs-light-hsl), 0.125);\n\t--bs-table-border-color: var(--bs-border-color);\n\t--bs-table-striped-color: var(--bs-table-color);\n\t--bs-table-striped-bg: hsla(var(--bs-light-hsl), 0.15);\n\t--bs-table-active-color: var(--bs-table-color);\n\t--bs-table-active-bg: hsla(var(--bs-light-hsl), 0.25);\n\t--bs-table-hover-color: var(--bs-table-color);\n\t--bs-table-hover-bg: hsla(var(--bs-light-hsl), 0.2);\n\tcolor: var(--bs-table-color);\n\tborder-color: var(--bs-table-border-color);\n}\n\n/* Dark table */\n\n.table-dark {\n\t--bs-table-color: var(--bs-body-color);\n\t--bs-table-bg: hsla(var(--bs-dark-hsl), 0.125);\n\t--bs-table-border-color: var(--bs-border-color);\n\t--bs-table-striped-color: var(--bs-table-color);\n\t--bs-table-striped-bg: hsla(var(--bs-dark-hsl), 0.15);\n\t--bs-table-active-color: var(--bs-table-color);\n\t--bs-table-active-bg: hsla(var(--bs-dark-hsl), 0.25);\n\t--bs-table-hover-color: var(--bs-table-color);\n\t--bs-table-hover-bg: hsla(var(--bs-dark-hsl), 0.2);\n\tcolor: var(--bs-table-color);\n\tborder-color: var(--bs-table-border-color);\n}\n\n/* Responsive table */\n\n.table-responsive {\n\toverflow-x: auto;\n\t-webkit-overflow-scrolling: touch;\n}\n\n@media (max-width: 575.98px) {\n\t.table-responsive-sm {\n\t\toverflow-x: auto;\n\t\t-webkit-overflow-scrolling: touch;\n\t}\n}\n\n@media (max-width: 767.98px) {\n\t.table-responsive-md {\n\t\toverflow-x: auto;\n\t\t-webkit-overflow-scrolling: touch;\n\t}\n}\n\n@media (max-width: 991.98px) {\n\t.table-responsive-lg {\n\t\toverflow-x: auto;\n\t\t-webkit-overflow-scrolling: touch;\n\t}\n}\n\n@media (max-width: 1199.98px) {\n\t.table-responsive-xl {\n\t\toverflow-x: auto;\n\t\t-webkit-overflow-scrolling: touch;\n\t}\n}\n\n@media (max-width: 1399.98px) {\n\t.table-responsive-xxl {\n\t\toverflow-x: auto;\n\t\t-webkit-overflow-scrolling: touch;\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Form ]\n * ----------------------------------------------------------------------------\n */\n\n.form-label {\n\tmargin-bottom: 0.5rem;\n}\n\n.col-form-label {\n\tpadding-top: calc(var(--bs-action-padding-y) + var(--bs-border-width));\n\tpadding-bottom: calc(var(--bs-action-padding-y) + var(--bs-border-width));\n\tmargin-bottom: 0;\n\tfont-size: var(--bs-action-font-size);\n\tline-height: var(--bs-action-line-height);\n}\n\n.col-form-label-lg {\n\tpadding-top: calc(var(--bs-action-lg-padding-y) + var(--bs-border-width));\n\tpadding-bottom: calc(var(--bs-action-lg-padding-y) + var(--bs-border-width));\n\tfont-size: var(--bs-action-lg-font-size);\n\tline-height: var(--bs-action-lg-line-height);\n}\n\n.col-form-label-sm {\n\tpadding-top: calc(var(--bs-action-sm-padding-y) + var(--bs-border-width));\n\tpadding-bottom: calc(var(--bs-action-sm-padding-y) + var(--bs-border-width));\n\tfont-size: var(--bs-action-sm-font-size);\n\tline-height: var(--bs-action-sm-line-height);\n}\n\n.form-text {\n\tmargin-top: 0.25rem;\n\tfont-size: var(--bs-font-size-sm);\n\tcolor: var(--bs-secondary-color);\n}\n\n/* Form control */\n\n.form-control {\n\tdisplay: block;\n\twidth: 100%;\n\tpadding: var(--bs-action-padding-y) var(--bs-action-padding-x);\n\tfont-size: var(--bs-action-font-size);\n\tfont-weight: var(--bs-font-weight-normal);\n\tline-height: var(--bs-action-line-height);\n\tcolor: var(--bs-form-color);\n\tbackground-color: var(--bs-form-bg);\n\tbackground-clip: padding-box;\n\tborder: var(--bs-border-width) solid var(--bs-form-border-color);\n\t-webkit-appearance: none;\n\t-moz-appearance: none;\n\tappearance: none;\n\tborder-radius: var(--bs-border-radius);\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.form-control {\n\t\ttransition: none;\n\t}\n}\n\n.form-control[type=file] {\n\toverflow: hidden;\n}\n\n.form-control[type=file]:not(:disabled):not([readonly]) {\n\tcursor: pointer;\n}\n\n.form-control:focus {\n\tcolor: var(--bs-form-color);\n\tbackground-color: var(--bs-form-bg);\n\tborder-color: var(--bs-form-focus-border-color);\n\toutline: 0;\n\tbox-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-form-focus-shadow-hsl), 0.35);\n}\n\n.form-control::-webkit-date-and-time-value {\n\tmin-width: 5.3125rem;\n\theight: 1.5em;\n\tmargin: 0;\n}\n\n.form-control::-webkit-datetime-edit {\n\tdisplay: block;\n\tpadding: 0;\n}\n\n.form-control::-moz-placeholder {\n\tcolor: var(--bs-tertiary-color);\n\topacity: 1;\n}\n\n.form-control::placeholder {\n\tcolor: var(--bs-tertiary-color);\n\topacity: 1;\n}\n\n.form-control:disabled {\n\tcolor: var(--bs-form-disabled-color);\n\tbackground-color: var(--bs-form-disabled-bg);\n\tborder-color: var(--bs-form-disabled-border-color);\n\topacity: 1;\n}\n\n.form-control::-webkit-file-upload-button {\n\tpadding: var(--bs-action-padding-y) var(--bs-action-padding-x);\n\tmargin: calc(-1 * var(--bs-action-padding-y)) calc(-1 * var(--bs-action-padding-x));\n\t-webkit-margin-end: var(--bs-action-padding-x);\n\tmargin-inline-end: var(--bs-action-padding-x);\n\tcolor: var(--bs-form-color);\n\tbackground-color: var(--bs-form-secondary-bg);\n\tpointer-events: none;\n\tborder-color: inherit;\n\tborder-style: solid;\n\tborder-width: 0;\n\tborder-inline-end-width: var(--bs-border-width);\n\tborder-radius: 0;\n}\n\n.form-control::file-selector-button {\n\tpadding: var(--bs-action-padding-y) var(--bs-action-padding-x);\n\tmargin: calc(-1 * var(--bs-action-padding-y)) calc(-1 * var(--bs-action-padding-x));\n\t-webkit-margin-end: var(--bs-action-padding-x);\n\tmargin-inline-end: var(--bs-action-padding-x);\n\tcolor: var(--bs-form-color);\n\tbackground-color: var(--bs-form-secondary-bg);\n\tpointer-events: none;\n\tborder-color: inherit;\n\tborder-style: solid;\n\tborder-width: 0;\n\tborder-inline-end-width: var(--bs-border-width);\n\tborder-radius: 0;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.form-control::-webkit-file-upload-button {\n\t\t-webkit-transition: none;\n\t\ttransition: none;\n\t}\n\n\t.form-control::file-selector-button {\n\t\ttransition: none;\n\t}\n}\n\n.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {\n\tbackground-color: var(--bs-form-tertiary-bg);\n}\n\n.form-control:hover:not(:disabled):not([readonly])::file-selector-button {\n\tbackground-color: var(--bs-form-tertiary-bg);\n}\n\n.form-control-plaintext {\n\tdisplay: block;\n\twidth: 100%;\n\tpadding: var(--bs-action-padding-y) 0;\n\tmargin-bottom: 0;\n\tline-height: var(--bs-action-line-height);\n\tcolor: var(--bs-form-color);\n\tbackground-color: transparent;\n\tborder: solid transparent;\n\tborder-width: var(--bs-border-width) 0;\n}\n\n.form-control-plaintext:focus {\n\toutline: 0;\n}\n\n.form-control-plaintext.form-control-sm,\n.form-control-plaintext.form-control-lg {\n\tpadding-left: 0;\n\tpadding-right: 0;\n}\n\n.form-control-sm {\n\tmin-height: calc(var(--bs-action-sm-font-size) * var(--bs-action-sm-line-height) + var(--bs-action-sm-padding-y) * 2 + var(--bs-border-width) * 2);\n\tpadding: var(--bs-action-sm-padding-y) var(--bs-action-sm-padding-x);\n\tfont-size: var(--bs-action-sm-font-size);\n\tline-height: var(--bs-action-sm-line-height);\n\tborder-radius: var(--bs-border-radius-sm);\n}\n\n.form-control-sm::-webkit-file-upload-button {\n\tpadding: var(--bs-action-sm-padding-y) var(--bs-action-sm-padding-x);\n\tmargin: calc(-1 * var(--bs-action-sm-padding-y)) calc(-1 * var(--bs-action-sm-padding-x));\n\t-webkit-margin-end: var(--bs-action-sm-padding-x);\n\tmargin-inline-end: var(--bs-action-sm-padding-x);\n}\n\n.form-control-sm::file-selector-button {\n\tpadding: var(--bs-action-sm-padding-y) var(--bs-action-sm-padding-x);\n\tmargin: calc(-1 * var(--bs-action-sm-padding-y)) calc(-1 * var(--bs-action-sm-padding-x));\n\t-webkit-margin-end: var(--bs-action-sm-padding-x);\n\tmargin-inline-end: var(--bs-action-sm-padding-x);\n}\n\n.form-control-lg {\n\tmin-height: calc(var(--bs-action-lg-font-size) * var(--bs-action-lg-line-height) + var(--bs-action-lg-padding-y) * 2 + var(--bs-border-width) * 2);\n\tpadding: var(--bs-action-lg-padding-y) var(--bs-action-lg-padding-x);\n\tfont-size: var(--bs-action-lg-font-size);\n\tline-height: var(--bs-action-lg-line-height);\n\tborder-radius: var(--bs-border-radius-lg);\n}\n\n.form-control-lg::-webkit-file-upload-button {\n\tpadding: var(--bs-action-lg-padding-y) var(--bs-action-lg-padding-x);\n\tmargin: calc(-1 * var(--bs-action-lg-padding-y)) calc(-1 * var(--bs-action-lg-padding-x));\n\t-webkit-margin-end: var(--bs-action-lg-padding-x);\n\tmargin-inline-end: var(--bs-action-lg-padding-x);\n}\n\n.form-control-lg::file-selector-button {\n\tpadding: var(--bs-action-lg-padding-y) var(--bs-action-lg-padding-x);\n\tmargin: calc(-1 * var(--bs-action-lg-padding-y)) calc(-1 * var(--bs-action-lg-padding-x));\n\t-webkit-margin-end: var(--bs-action-lg-padding-x);\n\tmargin-inline-end: var(--bs-action-lg-padding-x);\n}\n\ntextarea.form-control {\n\tmin-height: calc(var(--bs-action-font-size) * var(--bs-action-line-height) + var(--bs-action-padding-y) * 2 + var(--bs-border-width) * 2);\n}\n\ntextarea.form-control-sm,\n.input-group-sm > textarea.form-control {\n\tmin-height: calc(var(--bs-action-sm-font-size) * var(--bs-action-sm-line-height) + var(--bs-action-sm-padding-y) * 2 + var(--bs-border-width) * 2);\n}\n\ntextarea.form-control-lg,\n.input-group-lg > textarea.form-control {\n\tmin-height: calc(var(--bs-action-lg-font-size) * var(--bs-action-lg-line-height) + var(--bs-action-lg-padding-y) * 2 + var(--bs-border-width) * 2);\n}\n\n.form-control-color {\n\twidth: 3rem;\n\theight: calc(1.5em + var(--bs-action-padding-y) + var(--bs-border-width) * 2);\n\tpadding: 0.375rem;\n}\n\n.form-control-color:not(:disabled):not([readonly]) {\n\tcursor: pointer;\n}\n\n.form-control-color::-moz-color-swatch {\n\tborder: 0 !important;\n\tborder-radius: var(--bs-border-radius);\n}\n\n.form-control-color::-webkit-color-swatch {\n\tborder: 0 !important;\n\tborder-radius: var(--bs-border-radius);\n}\n\n.form-control-color.form-control-sm {\n\theight: calc(1.5em + var(--bs-action-sm-padding-y) + var(--bs-border-width) * 2);\n}\n\n.form-control-color.form-control-lg {\n\theight: calc(1.5em + var(--bs-action-lg-padding-y) + var(--bs-border-width) * 2);\n}\n\n/* Form select */\n\n.form-select {\n\t--bs-form-select-bg-img: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%233d4043' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n\tdisplay: block;\n\twidth: 100%;\n\tpadding: var(--bs-action-padding-y) var(--bs-action-padding-x) var(--bs-action-padding-y) 2rem;\n\tfont-size: var(--bs-action-font-size);\n\tfont-weight: var(--bs-font-weight-normal);\n\tline-height: var(--bs-action-line-height);\n\tcolor: var(--bs-form-color);\n\tbackground-color: var(--bs-form-bg);\n\tbackground-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);\n\tbackground-repeat: no-repeat;\n\tbackground-position: left var(--bs-action-padding-x) center;\n\tbackground-size: 1rem 0.75rem;\n\tborder: var(--bs-border-width) solid var(--bs-form-border-color);\n\tborder-radius: var(--bs-border-radius);\n\t-webkit-appearance: none;\n\t-moz-appearance: none;\n\tappearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.form-select {\n\t\ttransition: none;\n\t}\n}\n\n.form-select:focus {\n\tborder-color: var(--bs-form-focus-border-color);\n\toutline: 0;\n\tbox-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-form-focus-shadow-hsl), 0.35);\n}\n\n.form-select[multiple],\n.form-select[size]:not([size=\"1\"]) {\n\tpadding-left: var(--bs-action-padding-x);\n\tbackground-image: none;\n}\n\n.form-select:disabled {\n\tcolor: var(--bs-form-disabled-color);\n\tbackground-color: var(--bs-form-disabled-bg);\n\tborder-color: var(--bs-form-disabled-border-color);\n}\n\n.form-select:-moz-focusring {\n\tcolor: transparent;\n\ttext-shadow: 0 0 0 var(--bs-form-color);\n}\n\n.form-select-sm {\n\tpadding-top: var(--bs-action-sm-padding-y);\n\tpadding-bottom: var(--bs-action-sm-padding-y);\n\tpadding-right: var(--bs-action-sm-padding-x);\n\tfont-size: var(--bs-action-sm-font-size);\n\tline-height: var(--bs-action-sm-line-height);\n\tborder-radius: var(--bs-border-radius-sm);\n}\n\n.form-select-lg {\n\tpadding-top: var(--bs-action-lg-padding-y);\n\tpadding-bottom: var(--bs-action-lg-padding-y);\n\tpadding-right: var(--bs-action-lg-padding-x);\n\tfont-size: var(--bs-action-lg-font-size);\n\tline-height: var(--bs-action-lg-line-height);\n\tborder-radius: var(--bs-border-radius-lg);\n}\n\n[data-bs-theme=dark] .form-select {\n\t--bs-form-select-bg-img: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23aeb1b7' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n}\n\n.form-select[multiple] {\n\toverflow-y: auto;\n}\n\n/* Form check */\n\n.form-check {\n\tdisplay: block;\n\tmin-height: 1.5rem;\n\tpadding-right: 1.5em;\n\tmargin-bottom: 0.125rem;\n}\n\n.form-check .form-check-input {\n\tfloat: right;\n\tmargin-right: -1.5em;\n}\n\n.form-check-reverse {\n\tpadding-left: 1.5em;\n\tpadding-right: 0;\n\ttext-align: left;\n}\n\n.form-check-reverse .form-check-input {\n\tfloat: left;\n\tmargin-left: -1.5em;\n\tmargin-right: 0;\n}\n\n.form-check-input {\n\tflex-shrink: 0;\n\twidth: 1em;\n\theight: 1em;\n\tmargin-top: var(--bs-relative-font-size-4xs);\n\tvertical-align: top;\n\tbackground-color: var(--bs-form-check-bg);\n\tbackground-image: var(--bs-form-check-bg-image);\n\tbackground-repeat: no-repeat;\n\tbackground-position: center;\n\tbackground-size: contain;\n\tborder: var(--bs-border-width) solid var(--bs-form-check-border-color);\n\t-webkit-appearance: none;\n\t-moz-appearance: none;\n\tappearance: none;\n\t-webkit-print-color-adjust: exact;\n\tcolor-adjust: exact;\n\tprint-color-adjust: exact;\n}\n\n.form-check-input[type=checkbox] {\n\tborder-radius: var(--bs-relative-font-size-4xs);\n}\n\n.form-check-input[type=radio] {\n\tborder-radius: 50%;\n}\n\n.form-check-input:active {\n\tfilter: brightness(90%);\n}\n\n.form-check-input:focus {\n\tborder-color: var(--bs-form-check-focus-border-color);\n\toutline: 0;\n\tbox-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-form-check-focus-shadow-hsl), 0.35);\n}\n\n.form-check-input:checked {\n\tbackground-color: var(--bs-primary);\n\tborder-color: var(--bs-primary);\n}\n\n.form-check-input:checked[type=checkbox] {\n\t--bs-form-check-bg-image: var(--bs-primary-checkbox-svg);\n}\n\n.form-check-input:checked[type=radio] {\n\t--bs-form-check-bg-image: var(--bs-primary-radio-svg);\n}\n\n.form-check-input[type=checkbox]:indeterminate {\n\tbackground-color: var(--bs-primary);\n\tborder-color: var(--bs-primary);\n\t--bs-form-check-bg-image: var(--bs-primary-dash-svg);\n}\n\n.form-check-input:disabled {\n\tpointer-events: none;\n\tfilter: none;\n\topacity: 0.5;\n}\n\n.form-check-input[disabled] ~ .form-check-label,\n.form-check-input:disabled ~ .form-check-label {\n\tcursor: default;\n\topacity: 0.5;\n}\n\n.form-switch {\n\tpadding-right: 2.5em;\n}\n\n.form-switch .form-check-input {\n\t--bs-form-switch-bg: var(--bs-switch-svg-unchecked);\n\twidth: 2em;\n\tmargin-right: -2.5em;\n\tbackground-image: var(--bs-form-switch-bg);\n\tbackground-position: right center;\n\tborder-radius: 2em;\n\ttransition: background-position 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.form-switch .form-check-input {\n\t\ttransition: none;\n\t}\n}\n\n.form-switch .form-check-input:focus {\n\t--bs-form-switch-bg: var(--bs-switch-svg-unchecked);\n}\n\n.form-switch .form-check-input:checked {\n\tbackground-position: left center;\n\t--bs-form-switch-bg: var(--bs-primary-switch-svg);\n}\n\n.form-switch.form-check-reverse {\n\tpadding-left: 2.5em;\n\tpadding-right: 0;\n}\n\n.form-switch.form-check-reverse .form-check-input {\n\tmargin-left: -2.5em;\n\tmargin-right: 0;\n}\n\n.form-check-inline {\n\tdisplay: inline-block;\n\tmargin-left: 1rem;\n}\n\n.btn-check {\n\tposition: absolute;\n\tclip: rect(0, 0, 0, 0);\n\tpointer-events: none;\n}\n\n.btn-check[disabled] + .btn,\n.btn-check:disabled + .btn {\n\tpointer-events: none;\n\tfilter: none;\n\topacity: 0.65;\n}\n\n/* Form range */\n\n.form-range {\n\twidth: 100%;\n\theight: 1.625rem;\n\tpadding: 0;\n\tbackground-color: transparent;\n\t-webkit-appearance: none;\n\t-moz-appearance: none;\n\tappearance: none;\n}\n\n.form-range:focus {\n\toutline: 0;\n}\n\n.form-range:focus::-webkit-slider-thumb {\n\tborder-color: var(--bs-primary-border-subtle);\n\tbox-shadow: 0 0 0 0.3125rem hsla(var(--bs-form-focus-shadow-hsl), 0.35);\n}\n\n.form-range:focus::-moz-range-thumb {\n\tborder-color: var(--bs-primary-border-subtle);\n\tbox-shadow: 0 0 0 0.3125rem hsla(var(--bs-form-focus-shadow-hsl), 0.35);\n}\n\n.form-range::-moz-focus-outer {\n\tborder: 0;\n}\n\n.form-range::-webkit-slider-thumb {\n\twidth: 1.625rem;\n\theight: 1.625rem;\n\tmargin-top: -0.625rem;\n\tbackground-color: var(--bs-form-check-bg);\n\tborder: var(--bs-border-width-2) solid var(--bs-form-check-border-color);\n\tborder-radius: 50%;\n\t-webkit-appearance: none;\n\tappearance: none;\n\tbox-sizing: border-box;\n\tcursor: pointer;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.form-range::-webkit-slider-thumb {\n\t\t-webkit-transition: none;\n\t\ttransition: none;\n\t}\n}\n\n.form-range::-webkit-slider-runnable-track {\n\twidth: 100%;\n\theight: 0.5rem;\n\tcolor: transparent;\n\tbox-sizing: border-box;\n\tcursor: pointer;\n\tbackground-color: var(--bs-actionbar-bg);\n\tborder: var(--bs-border-width) solid var(--bs-actionbar-border-color);\n\tborder-radius: 1rem;\n}\n\n.form-range::-moz-range-thumb {\n\twidth: 1.625rem;\n\theight: 1.625rem;\n\tbackground-color: var(--bs-form-check-bg);\n\tborder: var(--bs-border-width-2) solid var(--bs-form-check-border-color);\n\tborder-radius: 50%;\n\t-moz-appearance: none;\n\tappearance: none;\n\tbox-sizing: border-box;\n\tcursor: pointer;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.form-range::-moz-range-thumb {\n\t\t-moz-transition: none;\n\t\ttransition: none;\n\t}\n}\n\n.form-range::-moz-range-track {\n\twidth: 100%;\n\theight: 0.5rem;\n\tcolor: transparent;\n\tbox-sizing: border-box;\n\tcursor: pointer;\n\tbackground-color: var(--bs-actionbar-bg);\n\tborder: var(--bs-border-width) solid var(--bs-actionbar-border-color);\n\tborder-radius: 1rem;\n}\n\n.form-range:disabled {\n\tpointer-events: none;\n}\n\n.form-range:disabled::-webkit-slider-thumb {\n\tbackground-color: var(--bs-form-check-border-color);\n}\n\n.form-range:disabled::-moz-range-thumb {\n\tbackground-color: var(--bs-form-check-border-color);\n}\n\n/* Floating labels */\n\n.form-floating {\n\tposition: relative;\n}\n\n.form-floating > .form-control,\n.form-floating > .form-control-plaintext,\n.form-floating > .form-select {\n\theight: calc(3.5rem + calc(var(--bs-border-width) * 2));\n\tmin-height: calc(3.5rem + calc(var(--bs-border-width) * 2));\n\tline-height: var(--bs-line-height-sm);\n}\n\n.form-floating > label {\n\tposition: absolute;\n\ttop: 0;\n\tright: 0;\n\tz-index: 2;\n\theight: 100%;\n\tpadding: 1rem 0.75rem;\n\toverflow: hidden;\n\ttext-align: start;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n\tpointer-events: none;\n\tcolor: hsla(var(--bs-body-color-hsl), 0.75);\n\tborder: var(--bs-border-width) solid transparent;\n\ttransform-origin: 100% 0;\n\ttransition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.form-floating > label {\n\t\ttransition: none;\n\t}\n}\n\n.form-floating > .form-control,\n.form-floating > .form-control-plaintext {\n\tpadding: 1rem 0.75rem;\n}\n\n.form-floating > .form-control::-moz-placeholder,\n.form-floating > .form-control-plaintext::-moz-placeholder {\n\tcolor: transparent;\n}\n\n.form-floating > .form-control::placeholder,\n.form-floating > .form-control-plaintext::placeholder {\n\tcolor: transparent;\n}\n\n.form-floating > .form-control:not(:-moz-placeholder-shown),\n.form-floating > .form-control-plaintext:not(:-moz-placeholder-shown) {\n\tpadding-top: 1.625rem;\n\tpadding-bottom: 0.625rem;\n}\n\n.form-floating > .form-control:focus,\n.form-floating > .form-control:not(:placeholder-shown),\n.form-floating > .form-control-plaintext:focus,\n.form-floating > .form-control-plaintext:not(:placeholder-shown) {\n\tpadding-top: 1.625rem;\n\tpadding-bottom: 0.625rem;\n}\n\n.form-floating > .form-control:-webkit-autofill,\n.form-floating > .form-control-plaintext:-webkit-autofill {\n\tpadding-top: 1.625rem;\n\tpadding-bottom: 0.625rem;\n}\n\n.form-floating > .form-select {\n\tpadding-top: 1.625rem;\n\tpadding-bottom: 0.625rem;\n\tpadding-right: 0.75rem;\n}\n\n.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label {\n\tcolor: hsla(var(--bs-body-color-hsl), 0.75);\n\ttransform: scale(0.85) translateY(-0.5rem) translateX(-0.15rem);\n}\n\n.form-floating > .form-control:focus ~ label,\n.form-floating > .form-control:not(:placeholder-shown) ~ label,\n.form-floating > .form-control-plaintext ~ label,\n.form-floating > .form-select ~ label {\n\tcolor: hsla(var(--bs-body-color-hsl), 0.75);\n\ttransform: scale(0.85) translateY(-0.5rem) translateX(-0.15rem);\n}\n\n.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label::after {\n\tposition: absolute;\n\tinset: 1rem 0.375rem;\n\tz-index: -1;\n\theight: 1.5em;\n\tcontent: \"\";\n\tbackground-color: var(--bs-form-bg);\n\tborder-radius: var(--bs-border-radius);\n}\n\n.form-floating > .form-control:focus ~ label::after,\n.form-floating > .form-control:not(:placeholder-shown) ~ label::after,\n.form-floating > .form-control-plaintext ~ label::after,\n.form-floating > .form-select ~ label::after {\n\tposition: absolute;\n\tinset: 1rem 0.375rem;\n\tz-index: -1;\n\theight: 1.5em;\n\tcontent: \"\";\n\tbackground-color: var(--bs-form-bg);\n\tborder-radius: var(--bs-border-radius);\n}\n\n.form-floating > .form-control-plaintext ~ label::after {\n\tbackground-color: transparent;\n}\n\n.form-floating > .form-control:-webkit-autofill ~ label {\n\tcolor: hsla(var(--bs-body-color-hsl), 0.75);\n\ttransform: scale(0.85) translateY(-0.5rem) translateX(-0.15rem);\n}\n\n.form-floating > .form-control-plaintext ~ label {\n\tborder-width: var(--bs-border-width) 0;\n}\n\n.form-floating > :disabled ~ label,\n.form-floating > .form-control:disabled ~ label {\n\tcolor: var(--bs-form-disabled-color);\n}\n\n.form-floating > :disabled ~ label::after,\n.form-floating > .form-control:disabled ~ label::after {\n\tbackground-color: var(--bs-form-disabled-bg);\n}\n\n/* Input group */\n\n.input-group {\n\tposition: relative;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\talign-items: stretch;\n\twidth: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-select,\n.input-group > .form-floating {\n\tposition: relative;\n\tflex: 1 1 auto;\n\twidth: 1%;\n\tmin-width: 0;\n}\n\n.input-group > .form-control:focus,\n.input-group > .form-select:focus,\n.input-group > .form-floating:focus-within {\n\tz-index: 5;\n}\n\n.input-group .btn {\n\tposition: relative;\n\tz-index: 2;\n}\n\n.input-group .btn:focus {\n\tz-index: 5;\n}\n\n.input-group-text {\n\tdisplay: flex;\n\talign-items: center;\n\tpadding: var(--bs-action-padding-y) var(--bs-action-padding-x);\n\tfont-size: var(--bs-action-font-size);\n\tfont-weight: var(--bs-font-weight-normal);\n\tline-height: var(--bs-action-line-height);\n\tcolor: var(--bs-body-color);\n\ttext-align: center;\n\twhite-space: nowrap;\n\tbackground-color: var(--bs-form-tertiary-bg);\n\tborder: var(--bs-border-width) solid var(--bs-form-border-color);\n\tborder-radius: var(--bs-border-radius);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-text,\n.input-group-lg > .btn {\n\tpadding: var(--bs-action-lg-padding-y) var(--bs-action-lg-padding-x);\n\tfont-size: var(--bs-action-lg-font-size);\n\tline-height: var(--bs-action-lg-line-height);\n\tborder-radius: var(--bs-border-radius-lg);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-text,\n.input-group-sm > .btn {\n\tpadding: var(--bs-action-sm-padding-y) var(--bs-action-sm-padding-x);\n\tfont-size: var(--bs-action-sm-font-size);\n\tline-height: var(--bs-action-sm-line-height);\n\tborder-radius: var(--bs-border-radius-sm);\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n\tpadding-left: 2rem;\n}\n\n.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),\n.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,\n.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {\n\tborder-top-left-radius: 0;\n\tborder-bottom-left-radius: 0;\n}\n\n.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),\n.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,\n.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {\n\tborder-top-left-radius: 0;\n\tborder-bottom-left-radius: 0;\n}\n\n.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {\n\tmargin-right: calc(var(--bs-border-width) * -1);\n\tborder-top-right-radius: 0;\n\tborder-bottom-right-radius: 0;\n}\n\n.input-group > .form-floating:not(:first-child) > .form-control,\n.input-group > .form-floating:not(:first-child) > .form-select {\n\tborder-top-right-radius: 0;\n\tborder-bottom-right-radius: 0;\n}\n\n/* Success validation */\n\n.valid-feedback {\n\tdisplay: none;\n\twidth: 100%;\n\tmargin-top: 0.25rem;\n\tfont-size: var(--bs-relative-font-size-sm);\n\tcolor: var(--bs-form-valid-color);\n\t-webkit-font-smoothing: auto;\n\t-moz-osx-font-smoothing: auto;\n}\n\n.valid-tooltip {\n\tposition: absolute;\n\ttop: 100%;\n\tz-index: 5;\n\tdisplay: none;\n\tmax-width: 100%;\n\tpadding: 0.25rem 0.375rem;\n\tmargin-top: 0.125rem;\n\tfont-size: var(--bs-font-size-sm);\n\tline-height: var(--bs-line-height-sm);\n\tcolor: var(--bs-success-foreground);\n\tbackground-color: var(--bs-success);\n\tborder-radius: var(--bs-border-radius-sm);\n\t-webkit-font-smoothing: auto;\n\t-moz-osx-font-smoothing: auto;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n\tdisplay: block;\n}\n\n.was-validated .form-control:valid,\n.form-control.is-valid {\n\tborder-color: var(--bs-form-valid-border-color);\n\tpadding-left: calc(1.5em + var(--bs-action-padding-x));\n\tbackground-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%233b844f' 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\");\n\tbackground-repeat: no-repeat;\n\tbackground-position: left calc(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y) / 2)) center;\n\tbackground-size: calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y)) calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y));\n}\n\n.was-validated .form-control:valid:focus,\n.form-control.is-valid:focus {\n\tborder-color: var(--bs-form-valid-border-color);\n\tbox-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-success-hsl), 0.35);\n}\n\n.was-validated textarea.form-control:valid,\ntextarea.form-control.is-valid {\n\tpadding-left: calc(1.5em + var(--bs-action-padding-x));\n\tbackground-position: top calc(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y) / 2)) left calc(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y) / 2));\n}\n\n.was-validated .form-select:valid,\n.form-select.is-valid {\n\tborder-color: var(--bs-form-valid-border-color);\n}\n\n.was-validated .form-select:valid:not([multiple]):not([size]),\n.was-validated .form-select:valid:not([multiple])[size=\"1\"],\n.form-select.is-valid:not([multiple]):not([size]),\n.form-select.is-valid:not([multiple])[size=\"1\"] {\n\t--bs-form-select-bg-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%233b844f' 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\");\n\tpadding-left: 3.5rem;\n\tbackground-position: left var(--bs-action-padding-x) center, center left 2rem;\n\tbackground-size: 1rem 0.75rem, calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y)) calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y));\n}\n\n.was-validated .form-select:valid:focus,\n.form-select.is-valid:focus {\n\tborder-color: var(--bs-form-valid-border-color);\n\tbox-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-success-hsl), 0.35);\n}\n\n.was-validated .form-control-color:valid,\n.form-control-color.is-valid {\n\twidth: calc(3rem + calc(1.5em + var(--bs-action-padding-x)));\n}\n\n.was-validated .form-check-input:valid,\n.form-check-input.is-valid {\n\tborder-color: var(--bs-form-valid-border-color);\n}\n\n.was-validated .form-check-input:valid:checked,\n.form-check-input.is-valid:checked {\n\tbackground-color: var(--bs-success);\n\tborder-color: var(--bs-success);\n}\n\n.was-validated .form-check-input:valid:checked[type=checkbox],\n.form-check-input.is-valid:checked[type=checkbox] {\n\t--bs-form-check-bg-image: var(--bs-success-checkbox-svg);\n}\n\n.was-validated .form-check-input:valid:checked[type=radio],\n.form-check-input.is-valid:checked[type=radio] {\n\t--bs-form-check-bg-image: var(--bs-success-radio-svg);\n}\n\n.was-validated.form-switch .form-check-input:valid:checked,\n.was-validated .form-switch .form-check-input:valid:checked,\n.form-switch .form-check-input.is-valid:checked {\n\t--bs-form-switch-bg: var(--bs-success-switch-svg);\n}\n\n.was-validated .form-check-input:valid:focus,\n.form-check-input.is-valid:focus {\n\tbox-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-success-hsl), 0.35);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label,\n.form-check-input.is-valid ~ .form-check-label {\n\tcolor: var(--bs-form-valid-color);\n}\n\n.form-check-inline .form-check-input ~ .valid-feedback {\n\tmargin-right: 0.5em;\n}\n\n.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,\n.was-validated .input-group > .form-select:not(:focus):valid,\n.input-group > .form-select:not(:focus).is-valid,\n.was-validated .input-group > .form-floating:not(:focus-within):valid,\n.input-group > .form-floating:not(:focus-within).is-valid {\n\tz-index: 3;\n}\n\n/* Error validation */\n\n.invalid-feedback {\n\tdisplay: none;\n\twidth: 100%;\n\tmargin-top: 0.25rem;\n\tfont-size: var(--bs-relative-font-size-sm);\n\tcolor: var(--bs-form-invalid-color);\n\t-webkit-font-smoothing: auto;\n\t-moz-osx-font-smoothing: auto;\n}\n\n.invalid-tooltip {\n\tposition: absolute;\n\ttop: 100%;\n\tz-index: 5;\n\tdisplay: none;\n\tmax-width: 100%;\n\tpadding: 0.25rem 0.375rem;\n\tmargin-top: 0.125rem;\n\tfont-size: var(--bs-font-size-sm);\n\tline-height: var(--bs-line-height-sm);\n\tcolor: var(--bs-danger-foreground);\n\tbackground-color: var(--bs-danger);\n\tborder-radius: var(--bs-border-radius-sm);\n\t-webkit-font-smoothing: auto;\n\t-moz-osx-font-smoothing: auto;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n\tdisplay: block;\n}\n\n.was-validated .form-control:invalid,\n.form-control.is-invalid {\n\tborder-color: var(--bs-form-invalid-border-color);\n\tpadding-left: calc(1.5em + var(--bs-action-padding-x));\n\tbackground-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\");\n\tbackground-repeat: no-repeat;\n\tbackground-position: left calc(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y) / 2)) center;\n\tbackground-size: calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y)) calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y));\n}\n\n.was-validated .form-control:invalid:focus,\n.form-control.is-invalid:focus {\n\tborder-color: var(--bs-form-invalid-border-color);\n\tbox-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-danger-hsl), 0.35);\n}\n\n.was-validated textarea.form-control:invalid,\ntextarea.form-control.is-invalid {\n\tpadding-left: calc(1.5em + var(--bs-action-padding-x));\n\tbackground-position: top calc(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y) / 2)) left calc(var(--bs-relative-font-size-4xs) + (var(--bs-action-padding-y) / 2));\n}\n\n.was-validated .form-select:invalid,\n.form-select.is-invalid {\n\tborder-color: var(--bs-form-invalid-border-color);\n}\n\n.was-validated .form-select:invalid:not([multiple]):not([size]),\n.was-validated .form-select:invalid:not([multiple])[size=\"1\"],\n.form-select.is-invalid:not([multiple]):not([size]),\n.form-select.is-invalid:not([multiple])[size=\"1\"] {\n\t--bs-form-select-bg-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n\tpadding-left: 3.5rem;\n\tbackground-position: left var(--bs-action-padding-x) center, center left 2rem;\n\tbackground-size: 1rem 0.75rem, calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y)) calc(var(--bs-relative-font-size-xs) + var(--bs-action-padding-y));\n}\n\n.was-validated .form-select:invalid:focus,\n.form-select.is-invalid:focus {\n\tborder-color: var(--bs-form-invalid-border-color);\n\tbox-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-danger-hsl), 0.35);\n}\n\n.was-validated .form-control-color:invalid,\n.form-control-color.is-invalid {\n\twidth: calc(3rem + calc(1.5em + var(--bs-action-padding-x)));\n}\n\n.was-validated .form-check-input:invalid,\n.form-check-input.is-invalid {\n\tborder-color: var(--bs-form-invalid-border-color);\n}\n\n.was-validated .form-check-input:invalid:checked,\n.form-check-input.is-invalid:checked {\n\tbackground-color: var(--bs-danger);\n\tborder-color: var(--bs-danger);\n}\n\n.was-validated .form-check-input:invalid:checked[type=checkbox],\n.form-check-input.is-invalid:checked[type=checkbox] {\n\t--bs-form-check-bg-image: var(--bs-danger-checkbox-svg);\n}\n\n.was-validated .form-check-input:invalid:checked[type=radio],\n.form-check-input.is-invalid:checked[type=radio] {\n\t--bs-form-check-bg-image: var(--bs-danger-radio-svg);\n}\n\n.was-validated.form-switch .form-check-input:invalid:checked,\n.was-validated .form-switch .form-check-input:invalid:checked,\n.form-switch .form-check-input.is-invalid:checked {\n\t--bs-form-switch-bg: var(--bs-danger-switch-svg);\n}\n\n.was-validated .form-check-input:invalid:focus,\n.form-check-input.is-invalid:focus {\n\tbox-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-danger-hsl), 0.35);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label,\n.form-check-input.is-invalid ~ .form-check-label {\n\tcolor: var(--bs-form-invalid-color);\n}\n\n.form-check-inline .form-check-input ~ .invalid-feedback {\n\tmargin-right: 0.5em;\n}\n\n.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,\n.was-validated .input-group > .form-select:not(:focus):invalid,\n.input-group > .form-select:not(:focus).is-invalid,\n.was-validated .input-group > .form-floating:not(:focus-within):invalid,\n.input-group > .form-floating:not(:focus-within).is-invalid {\n\tz-index: 4;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Buttons ]\n *\n * The secondary button is unique because it largely uses the --bs-action-* \n * variables. Therefore, it has been styled and given a \"default\" look. \n * ----------------------------------------------------------------------------\n */\n\n.btn {\n\t--bs-btn-padding-x: var(--bs-action-padding-x);\n\t--bs-btn-padding-y: var(--bs-action-padding-y);\n\t--bs-btn-font-family: ;\n\t--bs-btn-font-size: var(--bs-action-font-size);\n\t--bs-btn-font-weight: var(--bs-font-weight-normal);\n\t--bs-btn-line-height: var(--bs-action-line-height);\n\t--bs-btn-color: var(--bs-body-color);\n\t--bs-btn-bg: transparent;\n\t--bs-btn-border-width: var(--bs-border-width);\n\t--bs-btn-border-color: transparent;\n\t--bs-btn-border-radius: var(--bs-border-radius);\n\t--bs-btn-hover-border-color: var(--bs-btn-border-color);\n\t--bs-btn-box-shadow: none;\n\t--bs-btn-disabled-opacity: 0.65;\n\t--bs-btn-focus-box-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-btn-focus-shadow-hsl), 0.5);\n\t--bs-btn-bg-clip: border-box;\n\t--bs-btn-webkit-font-smoothing: auto;\n\t--bs-btn-moz-osx-font-smoothing: auto;\n\tdisplay: inline-block;\n\tpadding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);\n\tfont-family: var(--bs-btn-font-family);\n\tfont-size: var(--bs-btn-font-size);\n\tfont-weight: var(--bs-btn-font-weight);\n\tline-height: var(--bs-btn-line-height);\n\tcolor: var(--bs-btn-color);\n\ttext-align: center;\n\ttext-decoration: none;\n\tvertical-align: middle;\n\tcursor: pointer;\n\t-webkit-user-select: none;\n\t-moz-user-select: none;\n\tuser-select: none;\n\tborder: var(--bs-btn-border-width) solid var(--bs-btn-border-color);\n\tborder-radius: var(--bs-btn-border-radius);\n\tbackground-color: var(--bs-btn-bg);\n\tbackground-clip: var(--bs-btn-bg-clip);\n\t-webkit-font-smoothing: var(--bs-btn-webkit-font-smoothing);\n\t-moz-osx-font-smoothing: var(--bs-btn-moz-osx-font-smoothing);\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.btn {\n\t\ttransition: none;\n\t}\n}\n\n.btn:hover {\n\tcolor: var(--bs-btn-hover-color);\n\tbackground-color: var(--bs-btn-hover-bg);\n\tborder-color: var(--bs-btn-hover-border-color);\n}\n\n.btn-check + .btn:hover {\n\tcolor: var(--bs-btn-color);\n\tbackground-color: var(--bs-btn-bg);\n\tborder-color: var(--bs-btn-border-color);\n}\n\n.btn:focus-visible {\n\tcolor: var(--bs-btn-hover-color);\n\tbackground-color: var(--bs-btn-hover-bg);\n\tborder-color: var(--bs-btn-hover-border-color);\n\toutline: 0;\n\tbox-shadow: var(--bs-btn-focus-box-shadow);\n}\n\n.btn-check:focus-visible + .btn {\n\tborder-color: var(--bs-btn-hover-border-color);\n\toutline: 0;\n\tbox-shadow: var(--bs-btn-focus-box-shadow);\n}\n\n.btn-check:checked + .btn,\n:not(.btn-check) + .btn:active,\n.btn:first-child:active,\n.btn.active,\n.btn.show {\n\tcolor: var(--bs-btn-active-color);\n\tbackground-color: var(--bs-btn-active-bg);\n\tborder-color: var(--bs-btn-active-border-color);\n}\n\n.btn-check:checked + .btn:focus-visible,\n:not(.btn-check) + .btn:active:focus-visible,\n.btn:first-child:active:focus-visible,\n.btn.active:focus-visible,\n.btn.show:focus-visible {\n\tbox-shadow: var(--bs-btn-focus-box-shadow);\n}\n\n.btn:disabled,\n.btn.disabled,\nfieldset:disabled .btn {\n\tcolor: var(--bs-btn-disabled-color);\n\tpointer-events: none;\n\tbackground-color: var(--bs-btn-disabled-bg);\n\tborder-color: var(--bs-btn-disabled-border-color);\n\topacity: var(--bs-btn-disabled-opacity);\n}\n\n/* Primary button */\n\n.btn-primary {\n\t--bs-btn-color: var(--bs-primary-foreground);\n\t--bs-btn-bg: var(--bs-primary);\n\t--bs-btn-border-color: var(--bs-ctx-btn-border-color);\n\t--bs-btn-hover-color: var(--bs-btn-color);\n\t--bs-btn-hover-bg: var(--bs-primary-hover-bg);\n\t--bs-btn-hover-border-color: var(--bs-ctx-btn-hover-border-color);\n\t--bs-btn-focus-shadow-hsl: var(--bs-primary-hsl);\n\t--bs-btn-active-color: var(--bs-btn-color);\n\t--bs-btn-active-bg: var(--bs-primary-active-bg);\n\t--bs-btn-active-border-color: var(--bs-ctx-btn-active-border-color);\n\t--bs-btn-active-shadow: none;\n\t--bs-btn-disabled-color: var(--bs-btn-color);\n\t--bs-btn-disabled-bg: var(--bs-btn-bg);\n\t--bs-btn-disabled-border-color: var(--bs-ctx-btn-disabled-border-color);\n\t--bs-btn-bg-clip: var(--bs-ctx-btn-bg-clip);\n}\n\n/* Secondary button */\n\n.btn-secondary {\n\t--bs-btn-color: var(--bs-action-color);\n\t--bs-btn-bg: var(--bs-action-bg);\n\t--bs-btn-border-color: var(--bs-action-border-color);\n\t--bs-btn-hover-color: var(--bs-action-hover-color);\n\t--bs-btn-hover-bg: var(--bs-action-hover-bg);\n\t--bs-btn-hover-border-color: var(--bs-action-hover-border-color);\n\t--bs-btn-focus-shadow-hsl: var(--bs-action-focus-shadow-hsl);\n\t--bs-btn-active-color: var(--bs-action-active-color);\n\t--bs-btn-active-bg: var(--bs-action-active-bg);\n\t--bs-btn-active-border-color: var(--bs-action-active-border-color);\n\t--bs-btn-active-shadow: none;\n\t--bs-btn-disabled-color: var(--bs-btn-color);\n\t--bs-btn-disabled-bg: var(--bs-btn-bg);\n\t--bs-btn-disabled-border-color: var(--bs-btn-border-color);\n\t--bs-btn-bg-clip: border-box;\n}\n\n/* Success button */\n\n.btn-success {\n\t--bs-btn-color: var(--bs-success-foreground);\n\t--bs-btn-bg: var(--bs-success);\n\t--bs-btn-border-color: var(--bs-ctx-btn-border-color);\n\t--bs-btn-hover-color: var(--bs-btn-color);\n\t--bs-btn-hover-bg: var(--bs-success-hover-bg);\n\t--bs-btn-hover-border-color: var(--bs-ctx-btn-hover-border-color);\n\t--bs-btn-focus-shadow-hsl: var(--bs-success-hsl);\n\t--bs-btn-active-color: var(--bs-btn-color);\n\t--bs-btn-active-bg: var(--bs-success-active-bg);\n\t--bs-btn-active-border-color: var(--bs-ctx-btn-active-border-color);\n\t--bs-btn-active-shadow: none;\n\t--bs-btn-disabled-color: var(--bs-btn-color);\n\t--bs-btn-disabled-bg: var(--bs-btn-bg);\n\t--bs-btn-disabled-border-color: var(--bs-ctx-btn-disabled-border-color);\n\t--bs-btn-bg-clip: var(--bs-ctx-btn-bg-clip);\n}\n\n/* Info button */\n\n.btn-info {\n\t--bs-btn-color: var(--bs-info-foreground);\n\t--bs-btn-bg: var(--bs-info);\n\t--bs-btn-border-color: var(--bs-ctx-btn-border-color);\n\t--bs-btn-hover-color: var(--bs-btn-color);\n\t--bs-btn-hover-bg: var(--bs-info-hover-bg);\n\t--bs-btn-hover-border-color: var(--bs-ctx-btn-hover-border-color);\n\t--bs-btn-focus-shadow-hsl: var(--bs-info-hsl);\n\t--bs-btn-active-color: var(--bs-btn-color);\n\t--bs-btn-active-bg: var(--bs-info-active-bg);\n\t--bs-btn-active-border-color: var(--bs-ctx-btn-active-border-color);\n\t--bs-btn-active-shadow: none;\n\t--bs-btn-disabled-color: var(--bs-btn-color);\n\t--bs-btn-disabled-bg: var(--bs-btn-bg);\n\t--bs-btn-disabled-border-color: var(--bs-ctx-btn-disabled-border-color);\n\t--bs-btn-bg-clip: var(--bs-ctx-btn-bg-clip);\n}\n\n/* Warning button */\n\n.btn-warning {\n\t--bs-btn-color: var(--bs-warning-foreground);\n\t--bs-btn-bg: var(--bs-warning);\n\t--bs-btn-border-color: var(--bs-ctx-btn-border-color);\n\t--bs-btn-hover-color: var(--bs-btn-color);\n\t--bs-btn-hover-bg: var(--bs-warning-hover-bg);\n\t--bs-btn-hover-border-color: var(--bs-ctx-btn-hover-border-color);\n\t--bs-btn-focus-shadow-hsl: var(--bs-warning-hsl);\n\t--bs-btn-active-color: var(--bs-btn-color);\n\t--bs-btn-active-bg: var(--bs-warning-active-bg);\n\t--bs-btn-active-border-color: var(--bs-ctx-btn-active-border-color);\n\t--bs-btn-active-shadow: none;\n\t--bs-btn-disabled-color: var(--bs-btn-color);\n\t--bs-btn-disabled-bg: var(--bs-btn-bg);\n\t--bs-btn-disabled-border-color: var(--bs-ctx-btn-disabled-border-color);\n\t--bs-btn-bg-clip: var(--bs-ctx-btn-bg-clip);\n}\n\n/* Danger button */\n\n.btn-danger {\n\t--bs-btn-color: var(--bs-danger-foreground);\n\t--bs-btn-bg: var(--bs-danger);\n\t--bs-btn-border-color: var(--bs-ctx-btn-border-color);\n\t--bs-btn-hover-color: var(--bs-btn-color);\n\t--bs-btn-hover-bg: var(--bs-danger-hover-bg);\n\t--bs-btn-hover-border-color: var(--bs-ctx-btn-hover-border-color);\n\t--bs-btn-focus-shadow-hsl: var(--bs-danger-hsl);\n\t--bs-btn-active-color: var(--bs-btn-color);\n\t--bs-btn-active-bg: var(--bs-danger-active-bg);\n\t--bs-btn-active-border-color: var(--bs-ctx-btn-active-border-color);\n\t--bs-btn-active-shadow: none;\n\t--bs-btn-disabled-color: var(--bs-btn-color);\n\t--bs-btn-disabled-bg: var(--bs-btn-bg);\n\t--bs-btn-disabled-border-color: var(--bs-ctx-btn-disabled-border-color);\n\t--bs-btn-bg-clip: var(--bs-ctx-btn-bg-clip);\n}\n\n/* Light button */\n\n.btn-light {\n\t--bs-btn-color: var(--bs-light-foreground);\n\t--bs-btn-bg: var(--bs-light);\n\t--bs-btn-border-color: var(--bs-ctx-btn-border-color);\n\t--bs-btn-hover-color: var(--bs-btn-color);\n\t--bs-btn-hover-bg: var(--bs-light-hover-bg);\n\t--bs-btn-hover-border-color: var(--bs-ctx-btn-hover-border-color);\n\t--bs-btn-focus-shadow-hsl: var(--bs-light-hsl);\n\t--bs-btn-active-color: var(--bs-btn-color);\n\t--bs-btn-active-bg: var(--bs-light-active-bg);\n\t--bs-btn-active-border-color: var(--bs-ctx-btn-active-border-color);\n\t--bs-btn-active-shadow: none;\n\t--bs-btn-disabled-color: var(--bs-btn-color);\n\t--bs-btn-disabled-bg: var(--bs-btn-bg);\n\t--bs-btn-disabled-border-color: var(--bs-ctx-btn-disabled-border-color);\n\t--bs-btn-bg-clip: var(--bs-ctx-btn-bg-clip);\n}\n\n/* Dark button */\n\n.btn-dark {\n\t--bs-btn-color: var(--bs-dark-foreground);\n\t--bs-btn-bg: var(--bs-dark);\n\t--bs-btn-border-color: var(--bs-ctx-btn-border-color);\n\t--bs-btn-hover-color: var(--bs-btn-color);\n\t--bs-btn-hover-bg: var(--bs-dark-hover-bg);\n\t--bs-btn-hover-border-color: var(--bs-ctx-btn-hover-border-color);\n\t--bs-btn-focus-shadow-hsl: var(--bs-dark-hsl);\n\t--bs-btn-active-color: var(--bs-btn-color);\n\t--bs-btn-active-bg: var(--bs-dark-active-bg);\n\t--bs-btn-active-border-color: var(--bs-ctx-btn-active-border-color);\n\t--bs-btn-active-shadow: none;\n\t--bs-btn-disabled-color: var(--bs-btn-color);\n\t--bs-btn-disabled-bg: var(--bs-btn-bg);\n\t--bs-btn-disabled-border-color: var(--bs-ctx-btn-disabled-border-color);\n\t--bs-btn-bg-clip: var(--bs-ctx-btn-bg-clip);\n}\n\n/* Primary outline button */\n\n.btn-outline-primary {\n\t--bs-btn-color: var(--bs-primary-text-emphasis);\n\t--bs-btn-border-color: var(--bs-primary-text-emphasis);\n\t--bs-btn-hover-color: var(--bs-primary-foreground);\n\t--bs-btn-hover-bg: var(--bs-primary);\n\t--bs-btn-hover-border-color: var(--bs-primary);\n\t--bs-btn-focus-shadow-hsl: var(--bs-primary-hsl);\n\t--bs-btn-active-color: var(--bs-btn-hover-color);\n\t--bs-btn-active-bg: var(--bs-btn-hover-bg);\n\t--bs-btn-active-border-color: var(--bs-btn-hover-border-color);\n\t--bs-btn-active-shadow: none;\n\t--bs-btn-disabled-color: var(--bs-btn-color);\n\t--bs-btn-disabled-bg: var(--bs-btn-bg);\n\t--bs-btn-disabled-border-color: var(--bs-btn-border-color);\n\t--bs-btn-bg-clip: border-box;\n\t--bs-gradient: none;\n}\n\n/* Secondary outline button */\n\n.btn-outline-secondary {\n\t--bs-btn-color: var(--bs-secondary-text-emphasis);\n\t--bs-btn-border-color: var(--bs-secondary-text-emphasis);\n\t--bs-btn-hover-color: var(--bs-secondary-foreground);\n\t--bs-btn-hover-bg: var(--bs-secondary);\n\t--bs-btn-hover-border-color: var(--bs-secondary);\n\t--bs-btn-focus-shadow-hsl: var(--bs-secondary-hsl);\n\t--bs-btn-active-color: var(--bs-btn-hover-color);\n\t--bs-btn-active-bg: var(--bs-btn-hover-bg);\n\t--bs-btn-active-border-color: var(--bs-btn-hover-border-color);\n\t--bs-btn-active-shadow: none;\n\t--bs-btn-disabled-color: var(--bs-btn-color);\n\t--bs-btn-disabled-bg: var(--bs-btn-bg);\n\t--bs-btn-disabled-border-color: var(--bs-btn-border-color);\n\t--bs-btn-bg-clip: border-box;\n\t--bs-gradient: none;\n}\n\n/* Success outline button */\n\n.btn-outline-success {\n\t--bs-btn-color: var(--bs-success-text-emphasis);\n\t--bs-btn-border-color: var(--bs-success-text-emphasis);\n\t--bs-btn-hover-color: var(--bs-success-foreground);\n\t--bs-btn-hover-bg: var(--bs-success);\n\t--bs-btn-hover-border-color: var(--bs-success);\n\t--bs-btn-focus-shadow-hsl: var(--bs-success-hsl);\n\t--bs-btn-active-color: var(--bs-btn-hover-color);\n\t--bs-btn-active-bg: var(--bs-btn-hover-bg);\n\t--bs-btn-active-border-color: var(--bs-btn-hover-border-color);\n\t--bs-btn-active-shadow: none;\n\t--bs-btn-disabled-color: var(--bs-btn-color);\n\t--bs-btn-disabled-bg: var(--bs-btn-bg);\n\t--bs-btn-disabled-border-color: var(--bs-btn-border-color);\n\t--bs-btn-bg-clip: border-box;\n\t--bs-gradient: none;\n}\n\n/* Info outline button */\n\n.btn-outline-info {\n\t--bs-btn-color: var(--bs-info-text-emphasis);\n\t--bs-btn-border-color: var(--bs-info-text-emphasis);\n\t--bs-btn-hover-color: var(--bs-info-foreground);\n\t--bs-btn-hover-bg: var(--bs-info);\n\t--bs-btn-hover-border-color: var(--bs-info);\n\t--bs-btn-focus-shadow-hsl: var(--bs-info-hsl);\n\t--bs-btn-active-color: var(--bs-btn-hover-color);\n\t--bs-btn-active-bg: var(--bs-btn-hover-bg);\n\t--bs-btn-active-border-color: var(--bs-btn-hover-border-color);\n\t--bs-btn-active-shadow: none;\n\t--bs-btn-disabled-color: var(--bs-btn-color);\n\t--bs-btn-disabled-bg: var(--bs-btn-bg);\n\t--bs-btn-disabled-border-color: var(--bs-btn-border-color);\n\t--bs-btn-bg-clip: border-box;\n\t--bs-gradient: none;\n}\n\n/* Warning outline button */\n\n.btn-outline-warning {\n\t--bs-btn-color: var(--bs-warning-text-emphasis);\n\t--bs-btn-border-color: var(--bs-warning-text-emphasis);\n\t--bs-btn-hover-color: var(--bs-warning-foreground);\n\t--bs-btn-hover-bg: var(--bs-warning);\n\t--bs-btn-hover-border-color: var(--bs-warning);\n\t--bs-btn-focus-shadow-hsl: var(--bs-warning-hsl);\n\t--bs-btn-active-color: var(--bs-btn-hover-color);\n\t--bs-btn-active-bg: var(--bs-btn-hover-bg);\n\t--bs-btn-active-border-color: var(--bs-btn-hover-border-color);\n\t--bs-btn-active-shadow: none;\n\t--bs-btn-disabled-color: var(--bs-btn-color);\n\t--bs-btn-disabled-bg: var(--bs-btn-bg);\n\t--bs-btn-disabled-border-color: var(--bs-btn-border-color);\n\t--bs-btn-bg-clip: border-box;\n\t--bs-gradient: none;\n}\n\n/* Danger outline button */\n\n.btn-outline-danger {\n\t--bs-btn-color: var(--bs-danger-text-emphasis);\n\t--bs-btn-border-color: var(--bs-danger-text-emphasis);\n\t--bs-btn-hover-color: var(--bs-danger-foreground);\n\t--bs-btn-hover-bg: var(--bs-danger);\n\t--bs-btn-hover-border-color: var(--bs-danger);\n\t--bs-btn-focus-shadow-hsl: var(--bs-danger-hsl);\n\t--bs-btn-active-color: var(--bs-btn-hover-color);\n\t--bs-btn-active-bg: var(--bs-btn-hover-bg);\n\t--bs-btn-active-border-color: var(--bs-btn-hover-border-color);\n\t--bs-btn-active-shadow: none;\n\t--bs-btn-disabled-color: var(--bs-btn-color);\n\t--bs-btn-disabled-bg: var(--bs-btn-bg);\n\t--bs-btn-disabled-border-color: var(--bs-btn-border-color);\n\t--bs-btn-bg-clip: border-box;\n\t--bs-gradient: none;\n}\n\n/* Light outline button */\n\n.btn-outline-light {\n\t--bs-btn-color: var(--bs-light-text-emphasis);\n\t--bs-btn-border-color: var(--bs-light-text-emphasis);\n\t--bs-btn-hover-color: var(--bs-light-foreground);\n\t--bs-btn-hover-bg: var(--bs-light);\n\t--bs-btn-hover-border-color: var(--bs-light);\n\t--bs-btn-focus-shadow-hsl: var(--bs-light-hsl);\n\t--bs-btn-active-color: var(--bs-btn-hover-color);\n\t--bs-btn-active-bg: var(--bs-btn-hover-bg);\n\t--bs-btn-active-border-color: var(--bs-btn-hover-border-color);\n\t--bs-btn-active-shadow: none;\n\t--bs-btn-disabled-color: var(--bs-btn-color);\n\t--bs-btn-disabled-bg: var(--bs-btn-bg);\n\t--bs-btn-disabled-border-color: var(--bs-btn-border-color);\n\t--bs-btn-bg-clip: border-box;\n\t--bs-gradient: none;\n}\n\n/* Dark outline button */\n\n.btn-outline-dark {\n\t--bs-btn-color: var(--bs-dark-text-emphasis);\n\t--bs-btn-border-color: var(--bs-dark-text-emphasis);\n\t--bs-btn-hover-color: var(--bs-dark-foreground);\n\t--bs-btn-hover-bg: var(--bs-dark);\n\t--bs-btn-hover-border-color: var(--bs-dark);\n\t--bs-btn-focus-shadow-hsl: var(--bs-dark-hsl);\n\t--bs-btn-active-color: var(--bs-btn-hover-color);\n\t--bs-btn-active-bg: var(--bs-btn-hover-bg);\n\t--bs-btn-active-border-color: var(--bs-btn-hover-border-color);\n\t--bs-btn-active-shadow: none;\n\t--bs-btn-disabled-color: var(--bs-btn-color);\n\t--bs-btn-disabled-bg: var(--bs-btn-bg);\n\t--bs-btn-disabled-border-color: var(--bs-btn-border-color);\n\t--bs-btn-bg-clip: border-box;\n\t--bs-gradient: none;\n}\n\n/* Link button */\n\n.btn-link {\n\t--bs-btn-color: var(--bs-link-color);\n\t--bs-btn-bg: transparent;\n\t--bs-btn-border-color: transparent;\n\t--bs-btn-hover-color: var(--bs-link-hover-color);\n\t--bs-btn-hover-border-color: transparent;\n\t--bs-btn-active-color: var(--bs-link-hover-color);\n\t--bs-btn-active-border-color: transparent;\n\t--bs-btn-disabled-color: var(--bs-secondary-color);\n\t--bs-btn-disabled-border-color: transparent;\n\t--bs-btn-box-shadow: none;\n\t--bs-btn-focus-shadow-hsl: var(--bs-primary-hsl);\n\ttext-decoration: var(--bs-link-decoration);\n\ttext-underline-offset: var(--bs-link-decoration-offset);\n}\n\n.btn-link:focus-visible {\n\tcolor: var(--bs-btn-color);\n}\n\n.btn-link:hover {\n\tcolor: var(--bs-btn-hover-color);\n\ttext-decoration: var(--bs-link-hover-decoration);\n}\n\n/* Large button */\n\n.btn-lg,\n.btn-group-lg > .btn {\n\t--bs-btn-padding-x: var(--bs-action-lg-padding-x);\n\t--bs-btn-padding-y: var(--bs-action-lg-padding-y);\n\t--bs-btn-font-size: var(--bs-action-lg-font-size);\n\t--bs-btn-line-height: var(--bs-action-lg-line-height);\n\t--bs-btn-border-radius: var(--bs-border-radius-lg);\n}\n\n/* Small button */\n\n.btn-sm,\n.btn-group-sm > .btn {\n\t--bs-btn-padding-x: var(--bs-action-sm-padding-x);\n\t--bs-btn-padding-y: var(--bs-action-sm-padding-y);\n\t--bs-btn-font-size: var(--bs-action-sm-font-size);\n\t--bs-btn-line-height: var(--bs-action-sm-line-height);\n\t--bs-btn-border-radius: var(--bs-border-radius-sm);\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Collapse ]\n * ----------------------------------------------------------------------------\n */\n\n.fade {\n\ttransition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.fade {\n\t\ttransition: none;\n\t}\n}\n\n.fade:not(.show) {\n\topacity: 0;\n}\n\n.collapse:not(.show) {\n\tdisplay: none;\n}\n\n.collapsing {\n\theight: 0;\n\toverflow: hidden;\n\ttransition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.collapsing {\n\t\ttransition: none;\n\t}\n}\n\n.collapsing.collapse-horizontal {\n\twidth: 0;\n\theight: auto;\n\ttransition: width 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.collapsing.collapse-horizontal {\n\t\ttransition: none;\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Dropdowns ]\n * ----------------------------------------------------------------------------\n */\n\n.dropup,\n.dropend,\n.dropdown,\n.dropstart,\n.dropup-center,\n.dropdown-center {\n\tposition: relative;\n}\n\n.dropdown-toggle {\n\twhite-space: nowrap;\n}\n\n.dropdown-toggle::after {\n\tdisplay: inline-block;\n\tmargin-right: 0.255em;\n\tvertical-align: 0.255em;\n\tcontent: \"\";\n\tborder-top: 0.3em solid;\n\tborder-left: 0.3em solid transparent;\n\tborder-bottom: 0;\n\tborder-right: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n\tmargin-right: 0;\n}\n\n.dropdown-menu {\n\t--bs-dropdown-zindex: 1000;\n\t--bs-dropdown-min-width: 11.25rem;\n\t--bs-dropdown-padding-x: 0.25rem;\n\t--bs-dropdown-padding-y: 0.25rem;\n\t--bs-dropdown-spacer: 0.125rem;\n\t--bs-dropdown-font-size: var(--bs-font-size-base);\n\t--bs-dropdown-color: var(--bs-content-floating-color);\n\t--bs-dropdown-bg: var(--bs-content-floating-bg);\n\t--bs-dropdown-border-color: var(--bs-content-floating-border-color);\n\t--bs-dropdown-border-radius: var(--bs-border-radius);\n\t--bs-dropdown-border-width: var(--bs-border-width);\n\t--bs-dropdown-inner-border-radius: calc(var(--bs-dropdown-border-radius) - var(--bs-border-width));\n\t--bs-dropdown-divider-bg: var(--bs-border-color-translucent);\n\t--bs-dropdown-divider-margin-y: 0.5rem;\n\t--bs-dropdown-box-shadow: var(--bs-content-floating-box-shadow);\n\t--bs-dropdown-link-color: var(--bs-dropdown-color);\n\t--bs-dropdown-link-hover-color: var(--bs-dropdown-link-color);\n\t--bs-dropdown-link-hover-bg: var(--bs-action-hover-bg);\n\t--bs-dropdown-link-active-color: var(--bs-dropdown-link-color);\n\t--bs-dropdown-link-active-bg: var(--bs-action-active-bg);\n\t--bs-dropdown-link-disabled-color: var(--bs-tertiary-color);\n\t--bs-dropdown-link-webkit-font-smoothing: var(--bs-body-webkit-font-smoothing);\n\t--bs-dropdown-link-moz-osx-font-smoothing: var(--bs-body-moz-osx-font-smoothing);\n\t--bs-dropdown-item-padding-x: 1rem;\n\t--bs-dropdown-item-padding-y: 0.25rem;\n\t--bs-dropdown-item-border-radius: var(--bs-border-radius-sm);\n\t--bs-dropdown-header-color: var(--bs-secondary-color);\n\t--bs-dropdown-header-padding-x: 1rem;\n\t--bs-dropdown-header-padding-y: 0.5rem;\n\tposition: absolute;\n\tz-index: var(--bs-dropdown-zindex);\n\tdisplay: none;\n\tmin-width: var(--bs-dropdown-min-width);\n\tpadding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);\n\tmargin: 0;\n\tfont-size: var(--bs-dropdown-font-size);\n\tcolor: var(--bs-dropdown-color);\n\ttext-align: right;\n\tlist-style: none;\n\tbackground-color: var(--bs-dropdown-bg);\n\tbackground-clip: padding-box;\n\tborder: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);\n\tborder-radius: var(--bs-dropdown-border-radius);\n\tbox-shadow: var(--bs-dropdown-box-shadow);\n}\n\n.dropdown-menu[data-bs-popper] {\n\ttop: 100%;\n\tright: 0;\n\tmargin-top: var(--bs-dropdown-spacer);\n}\n\n.dropdown-menu-start {\n\t--bs-position: start;\n}\n\n.dropdown-menu-start[data-bs-popper] {\n\tleft: auto;\n\tright: 0;\n}\n\n.dropdown-menu-end {\n\t--bs-position: end;\n}\n\n.dropdown-menu-end[data-bs-popper] {\n\tleft: 0;\n\tright: auto;\n}\n\n@media (min-width: 576px) {\n\t.dropdown-menu-sm-start {\n\t\t--bs-position: start;\n\t}\n\n\t.dropdown-menu-sm-start[data-bs-popper] {\n\t\tleft: auto;\n\t\tright: 0;\n\t}\n\n\t.dropdown-menu-sm-end {\n\t\t--bs-position: end;\n\t}\n\n\t.dropdown-menu-sm-end[data-bs-popper] {\n\t\tleft: 0;\n\t\tright: auto;\n\t}\n}\n\n@media (min-width: 768px) {\n\t.dropdown-menu-md-start {\n\t\t--bs-position: start;\n\t}\n\n\t.dropdown-menu-md-start[data-bs-popper] {\n\t\tleft: auto;\n\t\tright: 0;\n\t}\n\n\t.dropdown-menu-md-end {\n\t\t--bs-position: end;\n\t}\n\n\t.dropdown-menu-md-end[data-bs-popper] {\n\t\tleft: 0;\n\t\tright: auto;\n\t}\n}\n\n@media (min-width: 992px) {\n\t.dropdown-menu-lg-start {\n\t\t--bs-position: start;\n\t}\n\n\t.dropdown-menu-lg-start[data-bs-popper] {\n\t\tleft: auto;\n\t\tright: 0;\n\t}\n\n\t.dropdown-menu-lg-end {\n\t\t--bs-position: end;\n\t}\n\n\t.dropdown-menu-lg-end[data-bs-popper] {\n\t\tleft: 0;\n\t\tright: auto;\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.dropdown-menu-xl-start {\n\t\t--bs-position: start;\n\t}\n\n\t.dropdown-menu-xl-start[data-bs-popper] {\n\t\tleft: auto;\n\t\tright: 0;\n\t}\n\n\t.dropdown-menu-xl-end {\n\t\t--bs-position: end;\n\t}\n\n\t.dropdown-menu-xl-end[data-bs-popper] {\n\t\tleft: 0;\n\t\tright: auto;\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.dropdown-menu-xxl-start {\n\t\t--bs-position: start;\n\t}\n\n\t.dropdown-menu-xxl-start[data-bs-popper] {\n\t\tleft: auto;\n\t\tright: 0;\n\t}\n\n\t.dropdown-menu-xxl-end {\n\t\t--bs-position: end;\n\t}\n\n\t.dropdown-menu-xxl-end[data-bs-popper] {\n\t\tleft: 0;\n\t\tright: auto;\n\t}\n}\n\n.dropup .dropdown-menu[data-bs-popper] {\n\ttop: auto;\n\tbottom: 100%;\n\tmargin-top: 0;\n\tmargin-bottom: var(--bs-dropdown-spacer);\n}\n\n.dropup .dropdown-toggle::after {\n\tdisplay: inline-block;\n\tmargin-right: 0.255em;\n\tvertical-align: 0.255em;\n\tcontent: \"\";\n\tborder-top: 0;\n\tborder-left: 0.3em solid transparent;\n\tborder-bottom: 0.3em solid;\n\tborder-right: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n\tmargin-right: 0;\n}\n\n.dropend .dropdown-menu[data-bs-popper] {\n\ttop: 0;\n\tleft: auto;\n\tright: 100%;\n\tmargin-top: 0;\n\tmargin-right: var(--bs-dropdown-spacer);\n}\n\n.dropend .dropdown-toggle::after {\n\tdisplay: inline-block;\n\tmargin-right: 0.255em;\n\tvertical-align: 0.255em;\n\tcontent: \"\";\n\tborder-top: 0.3em solid transparent;\n\tborder-left: 0;\n\tborder-bottom: 0.3em solid transparent;\n\tborder-right: 0.3em solid;\n}\n\n.dropend .dropdown-toggle:empty::after {\n\tmargin-right: 0;\n}\n\n.dropend .dropdown-toggle::after {\n\tvertical-align: 0;\n}\n\n.dropstart .dropdown-menu[data-bs-popper] {\n\ttop: 0;\n\tleft: 100%;\n\tright: auto;\n\tmargin-top: 0;\n\tmargin-left: var(--bs-dropdown-spacer);\n}\n\n.dropstart .dropdown-toggle::after {\n\tdisplay: inline-block;\n\tmargin-right: 0.255em;\n\tvertical-align: 0.255em;\n\tcontent: \"\";\n}\n\n.dropstart .dropdown-toggle::after {\n\tdisplay: none;\n}\n\n.dropstart .dropdown-toggle::before {\n\tdisplay: inline-block;\n\tmargin-left: 0.255em;\n\tvertical-align: 0.255em;\n\tcontent: \"\";\n\tborder-top: 0.3em solid transparent;\n\tborder-left: 0.3em solid;\n\tborder-bottom: 0.3em solid transparent;\n}\n\n.dropstart .dropdown-toggle:empty::after {\n\tmargin-right: 0;\n}\n\n.dropstart .dropdown-toggle::before {\n\tvertical-align: 0;\n}\n\n.dropdown-divider {\n\theight: 0;\n\tmargin: var(--bs-dropdown-divider-margin-y) 0;\n\toverflow: hidden;\n\tborder-top: var(--bs-border-width) solid var(--bs-dropdown-divider-bg);\n\topacity: 1;\n}\n\n.dropdown-item {\n\tdisplay: block;\n\twidth: 100%;\n\tpadding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);\n\tclear: both;\n\tfont-weight: var(--bs-font-weight-normal);\n\tcolor: var(--bs-dropdown-link-color);\n\ttext-align: inherit;\n\ttext-decoration: none;\n\twhite-space: nowrap;\n\tbackground-color: transparent;\n\tborder: 0;\n\tborder-radius: var(--bs-dropdown-item-border-radius);\n\t-webkit-font-smoothing: var(--bs-dropdown-link-webkit-font-smoothing);\n\t-moz-osx-font-smoothing: var(--bs-dropdown-link-moz-osx-font-smoothing);\n}\n\n.dropdown-item:hover,\n.dropdown-item:focus {\n\tcolor: var(--bs-dropdown-link-hover-color);\n\tbackground-color: var(--bs-dropdown-link-hover-bg);\n}\n\n.dropdown-item:active {\n\tcolor: var(--bs-dropdown-link-active-color);\n\ttext-decoration: none;\n\tbackground-color: var(--bs-dropdown-link-active-bg);\n}\n\n.dropdown-item.active {\n\tcolor: var(--bs-primary-foreground);\n\tbackground-color: var(--bs-primary);\n\t-webkit-font-smoothing: auto;\n\t-moz-osx-font-smoothing: auto;\n}\n\n.dropdown-item.active:focus-visible {\n\tbackground-color: var(--bs-primary-hover-bg);\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n\tcolor: var(--bs-dropdown-link-disabled-color);\n\tpointer-events: none;\n\tbackground-color: transparent;\n}\n\n.dropdown-menu.show {\n\tdisplay: block;\n}\n\n.dropdown-header {\n\tdisplay: block;\n\tpadding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);\n\tmargin-bottom: 0;\n\tfont-size: var(--bs-dropdown-font-size);\n\tcolor: var(--bs-dropdown-header-color);\n\twhite-space: nowrap;\n}\n\n.dropdown-item-text {\n\tdisplay: block;\n\tpadding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);\n\tcolor: var(--bs-dropdown-link-color);\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Button group ]\n *\n * Because the secondary button is the \"default\" variation, the z-indices are \n * slightly adjusted for a better look overall.\n * ----------------------------------------------------------------------------\n */\n\n.btn-group,\n.btn-group-vertical {\n\tposition: relative;\n\tdisplay: inline-flex;\n\tvertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n\tposition: relative;\n\tflex: 1 1 auto;\n}\n\n.btn-group > .btn-check + .btn:not(.btn-secondary),\n.btn-group > .btn:not(.btn-secondary),\n.btn-group-vertical > .btn-check + .btn:not(.btn-secondary),\n.btn-group-vertical > .btn:not(.btn-secondary) {\n\tz-index: 1;\n}\n\n.btn-group > .btn-check:checked + .btn,\n.btn-group > .btn-check:focus + .btn,\n.btn-group > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn-check:checked + .btn,\n.btn-group-vertical > .btn-check:focus + .btn,\n.btn-group-vertical > .btn:hover,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n\tz-index: 2;\n}\n\n.btn-toolbar {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tjustify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n\twidth: auto;\n}\n\n.btn-group {\n\tborder-radius: var(--bs-border-radius);\n}\n\n.btn-group > :not(.btn-check:first-child) + .btn,\n.btn-group > .btn-group:not(:first-child) {\n\tmargin-right: calc(-1 * var(--bs-border-width));\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn.dropdown-toggle-split:first-child,\n.btn-group > .btn-group:not(:last-child) > .btn {\n\tborder-top-left-radius: 0;\n\tborder-bottom-left-radius: 0;\n}\n\n.btn-group > .btn:nth-child(n+3),\n.btn-group > :not(.btn-check) + .btn,\n.btn-group > .btn-group:not(:first-child) > .btn {\n\tborder-top-right-radius: 0;\n\tborder-bottom-right-radius: 0;\n}\n\n.dropdown-toggle-split {\n\tpadding-left: 0.5rem;\n\tpadding-right: 0.5rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropend .dropdown-toggle-split::after {\n\tmargin-right: 0;\n}\n\n.dropstart .dropdown-toggle-split::before {\n\tmargin-left: 0;\n}\n\n.btn-sm + .dropdown-toggle-split,\n.btn-group-sm > .btn + .dropdown-toggle-split {\n\tpadding-left: 0.375rem;\n\tpadding-right: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split,\n.btn-group-lg > .btn + .dropdown-toggle-split {\n\tpadding-left: 0.625rem;\n\tpadding-right: 0.625rem;\n}\n\n.btn-group-vertical {\n\tflex-direction: column;\n\talign-items: flex-start;\n\tjustify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n\twidth: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n\tmargin-top: calc(-1 * var(--bs-border-width));\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n\tborder-bottom-left-radius: 0;\n\tborder-bottom-right-radius: 0;\n}\n\n.btn-group-vertical > .btn ~ .btn,\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n\tborder-top-right-radius: 0;\n\tborder-top-left-radius: 0;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Navs and tabs ]\n * ----------------------------------------------------------------------------\n */\n\n.nav {\n\t--bs-nav-link-padding-x: 0.5rem;\n\t--bs-nav-link-padding-y: 0.25rem;\n\t--bs-nav-link-font-weight: ;\n\t--bs-nav-link-color: var(--bs-link-color);\n\t--bs-nav-link-hover-color: var(--bs-link-hover-color);\n\t--bs-nav-link-disabled-color: var(--bs-tertiary-color);\n\t--bs-nav-link-webkit-font-smoothing: auto;\n\t--bs-nav-link-moz-osx-font-smoothing: auto;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tpadding-right: 0;\n\tmargin-bottom: 0;\n\tlist-style: none;\n}\n\n.nav-link {\n\tdisplay: block;\n\tpadding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);\n\tfont-size: var(--bs-nav-link-font-size);\n\tfont-weight: var(--bs-nav-link-font-weight);\n\tcolor: var(--bs-nav-link-color);\n\ttext-decoration: none;\n\tbackground: none;\n\tborder: 0;\n\t-webkit-font-smoothing: var(--bs-nav-link-webkit-font-smoothing);\n\t-moz-osx-font-smoothing: var(--bs-nav-link-moz-osx-font-smoothing);\n}\n\n.nav-link:hover,\n.nav-link:focus {\n\tcolor: var(--bs-nav-link-hover-color);\n}\n\n.nav-link:focus-visible {\n\toutline: 0;\n\tbox-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-action-focus-shadow-hsl), 0.5);\n}\n\n.nav-link.disabled,\n.nav-link:disabled {\n\tcolor: var(--bs-nav-link-disabled-color);\n\tpointer-events: none;\n\tcursor: default;\n}\n\n.nav-tabs {\n\t--bs-nav-link-color: var(--bs-body-color);\n\t--bs-nav-link-hover-color: var(--bs-nav-link-color);\n\t--bs-nav-link-webkit-font-smoothing: var(--bs-body-webkit-font-smoothing);\n\t--bs-nav-link-moz-osx-font-smoothing: var(--bs-body-moz-osx-font-smoothing);\n\t--bs-nav-tabs-border-width: var(--bs-border-width);\n\t--bs-nav-tabs-border-color: var(--bs-border-color);\n\t--bs-nav-tabs-border-radius: var(--bs-border-radius);\n\t--bs-nav-tabs-link-hover-border-color: var(--bs-border-color-translucent) var(--bs-border-color-translucent) transparent;\n\t--bs-nav-tabs-link-active-color: var(--bs-nav-link-color);\n\t--bs-nav-tabs-link-active-bg: var(--bs-content-bg);\n\t--bs-nav-tabs-link-active-border-color: var(--bs-nav-tabs-border-color) var(--bs-nav-tabs-border-color) var(--bs-nav-tabs-link-active-bg);\n\tborder-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);\n}\n\n.nav-tabs .nav-link {\n\tmargin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));\n\tborder: var(--bs-nav-tabs-border-width) solid transparent;\n\tborder-top-right-radius: var(--bs-nav-tabs-border-radius);\n\tborder-top-left-radius: var(--bs-nav-tabs-border-radius);\n}\n\n.nav-tabs .nav-link:hover,\n.nav-tabs .nav-link:focus {\n\tisolation: isolate;\n\tborder-color: var(--bs-nav-tabs-link-hover-border-color);\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n\tcolor: var(--bs-nav-tabs-link-active-color);\n\tbackground-color: var(--bs-nav-tabs-link-active-bg);\n\tborder-color: var(--bs-nav-tabs-link-active-border-color);\n}\n\n.nav-tabs .dropdown-menu {\n\tmargin-top: calc(-1 * var(--bs-nav-tabs-border-width));\n\tborder-top-right-radius: 0;\n\tborder-top-left-radius: 0;\n}\n\n.nav-pills {\n\t--bs-nav-link-color: var(--bs-body-color);\n\t--bs-nav-link-hover-color: var(--bs-secondary-color);\n\t--bs-nav-link-webkit-font-smoothing: var(--bs-body-webkit-font-smoothing);\n\t--bs-nav-link-moz-osx-font-smoothing: var(--bs-body-moz-osx-font-smoothing);\n\t--bs-nav-pills-border-radius: var(--bs-border-radius);\n\t--bs-nav-pills-link-active-color: var(--bs-primary-foreground);\n\t--bs-nav-pills-link-active-bg: var(--bs-primary);\n}\n\n.nav-pills .nav-link {\n\tborder-radius: var(--bs-nav-pills-border-radius);\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n\tcolor: var(--bs-nav-pills-link-active-color);\n\tbackground-color: var(--bs-nav-pills-link-active-bg);\n\t-webkit-font-smoothing: auto;\n\t-moz-osx-font-smoothing: auto;\n}\n\n.nav-underline {\n\t--bs-nav-link-color: var(--bs-body-color);\n\t--bs-nav-link-hover-color: var(--bs-secondary-color);\n\t--bs-nav-link-webkit-font-smoothing: var(--bs-body-webkit-font-smoothing);\n\t--bs-nav-link-moz-osx-font-smoothing: var(--bs-body-moz-osx-font-smoothing);\n\t--bs-nav-underline-gap: 1rem;\n\t--bs-nav-underline-border-width: 0.125rem;\n\t--bs-nav-underline-link-padding: var(--bs-nav-link-padding-y) 0 calc(var(--bs-nav-link-padding-y) + var(--bs-nav-underline-border-width)) 0;\n\t--bs-nav-underline-link-active-color: var(--bs-link-color);\n\tgap: var(--bs-nav-underline-gap);\n}\n\n.nav-underline .nav-link {\n\tpadding: var(--bs-nav-underline-link-padding);\n\tborder-bottom: var(--bs-nav-underline-border-width) solid transparent;\n}\n\n.nav-underline .nav-link.active,\n.nav-underline .show > .nav-link {\n\tcolor: var(--bs-nav-underline-link-active-color);\n\tborder-bottom-color: currentcolor;\n\t-webkit-font-smoothing: auto;\n\t-moz-osx-font-smoothing: auto;\n}\n\n.nav-fill > .nav-link,\n.nav-fill .nav-item {\n\tflex: 1 1 auto;\n\ttext-align: center;\n}\n\n.nav-justified > .nav-link,\n.nav-justified .nav-item {\n\tflex-basis: 0;\n\tflex-grow: 1;\n\ttext-align: center;\n}\n\n.nav-fill .nav-item .nav-link,\n.nav-justified .nav-item .nav-link {\n\twidth: 100%;\n}\n\n.tab-content > .tab-pane {\n\tdisplay: none;\n}\n\n.tab-content > .active {\n\tdisplay: block;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Navbar ]\n * ----------------------------------------------------------------------------\n */\n\n.navbar {\n\t--bs-color-hsl: var(--bs-emphasis-color-hsl);\n\t--bs-navbar-padding-x: 0;\n\t--bs-navbar-padding-y: 0.5rem;\n\t--bs-navbar-color: hsla(var(--bs-color-hsl), 0.65);\n\t--bs-navbar-hover-color: hsla(var(--bs-color-hsl), 0.75);\n\t--bs-navbar-disabled-color: hsla(var(--bs-color-hsl), 0.3);\n\t--bs-navbar-active-color: hsla(var(--bs-color-hsl), 0.95);\n\t--bs-navbar-brand-padding-y: 0.3125rem;\n\t--bs-navbar-brand-margin-end: 1rem;\n\t--bs-navbar-brand-font-size: calc(var(--bs-font-size-base) + 0.25rem);\n\t--bs-navbar-brand-color: hsla(var(--bs-color-hsl), 0.85);\n\t--bs-navbar-brand-hover-color: var(--bs-navbar-brand-color);\n\t--bs-navbar-nav-link-padding-x: 0.75rem;\n\t--bs-navbar-toggler-padding-y: 0.125rem;\n\t--bs-navbar-toggler-padding-x: 0.25rem;\n\t--bs-navbar-toggler-font-size: var(--bs-font-size-lg);\n\t--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='%23242628' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n\t--bs-navbar-toggler-border-color: transparent;\n\t--bs-navbar-toggler-border-radius: var(--bs-border-radius-sm);\n\t--bs-navbar-toggler-focus-width: var(--bs-focus-ring-width);\n\t--bs-navbar-toggler-transition: none;\n\tposition: relative;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\talign-items: center;\n\tjustify-content: space-between;\n\tpadding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);\n}\n\n.navbar > .container,\n.navbar > .container-fluid,\n.navbar > .container-sm,\n.navbar > .container-md,\n.navbar > .container-lg,\n.navbar > .container-xl,\n.navbar > .container-xxl {\n\tdisplay: flex;\n\tflex-wrap: inherit;\n\talign-items: center;\n\tjustify-content: space-between;\n}\n\n.navbar-brand {\n\tpadding-top: var(--bs-navbar-brand-padding-y);\n\tpadding-bottom: var(--bs-navbar-brand-padding-y);\n\tmargin-left: var(--bs-navbar-brand-margin-end);\n\tfont-size: var(--bs-navbar-brand-font-size);\n\tcolor: var(--bs-navbar-brand-color);\n\ttext-decoration: none;\n\twhite-space: nowrap;\n}\n\n.navbar-brand:hover,\n.navbar-brand:focus {\n\tcolor: var(--bs-navbar-brand-hover-color);\n}\n\n.navbar-nav {\n\t--bs-nav-link-padding-x: 0;\n\t--bs-nav-link-padding-y: 0.5rem;\n\t--bs-nav-link-font-weight: ;\n\t--bs-nav-link-color: var(--bs-navbar-color);\n\t--bs-nav-link-hover-color: var(--bs-navbar-hover-color);\n\t--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding-right: 0;\n\tmargin-bottom: 0;\n\tlist-style: none;\n}\n\n.navbar-nav .nav-link.active,\n.navbar-nav .nav-link.show {\n\tcolor: var(--bs-navbar-active-color);\n}\n\n.navbar-nav .dropdown-menu {\n\tposition: static;\n}\n\n.navbar-text {\n\tpadding-top: 0.5rem;\n\tpadding-bottom: 0.5rem;\n\tcolor: var(--bs-navbar-color);\n}\n\n.navbar-text a,\n.navbar-text a:hover,\n.navbar-text a:focus {\n\tcolor: var(--bs-navbar-active-color);\n}\n\n.navbar-collapse {\n\tflex-basis: 100%;\n\tflex-grow: 1;\n\talign-items: center;\n}\n\n.navbar-toggler {\n\tpadding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);\n\tfont-size: var(--bs-navbar-toggler-font-size);\n\tline-height: 1;\n\tcolor: var(--bs-navbar-color);\n\tbackground-color: transparent;\n\tborder: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);\n\tborder-radius: var(--bs-navbar-toggler-border-radius);\n\ttransition: var(--bs-navbar-toggler-transition);\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.navbar-toggler {\n\t\ttransition: none;\n\t}\n}\n\n.navbar-toggler:hover {\n\ttext-decoration: none;\n}\n\n.navbar-toggler:focus-visible {\n\ttext-decoration: none;\n\toutline: 0;\n\tbox-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width) hsla(var(--bs-emphasis-color-hsl), 0.25);\n}\n\n.navbar-toggler-icon {\n\tdisplay: inline-block;\n\twidth: 1.5em;\n\theight: 1.5em;\n\tvertical-align: middle;\n\tbackground-image: var(--bs-navbar-toggler-icon-bg);\n\tbackground-repeat: no-repeat;\n\tbackground-position: center;\n\tbackground-size: 100%;\n}\n\n.navbar-nav-scroll {\n\tmax-height: var(--bs-scroll-height, 75vh);\n\toverflow-y: auto;\n}\n\n@media (min-width: 576px) {\n\t.navbar-expand-sm {\n\t\tflex-wrap: nowrap;\n\t\tjustify-content: flex-start;\n\t}\n\n\t.navbar-expand-sm .navbar-nav {\n\t\tflex-direction: row;\n\t}\n\n\t.navbar-expand-sm .navbar-nav .dropdown-menu {\n\t\tposition: absolute;\n\t}\n\n\t.navbar-expand-sm .navbar-nav .nav-link {\n\t\tpadding-left: var(--bs-navbar-nav-link-padding-x);\n\t\tpadding-right: var(--bs-navbar-nav-link-padding-x);\n\t}\n\n\t.navbar-expand-sm .navbar-nav-scroll {\n\t\toverflow: visible;\n\t}\n\n\t.navbar-expand-sm .navbar-collapse {\n\t\tdisplay: flex !important;\n\t\tflex-basis: auto;\n\t}\n\n\t.navbar-expand-sm .navbar-toggler {\n\t\tdisplay: none;\n\t}\n\n\t.navbar-expand-sm .offcanvas {\n\t\tposition: static;\n\t\tz-index: auto;\n\t\tflex-grow: 1;\n\t\twidth: auto !important;\n\t\theight: auto !important;\n\t\tvisibility: visible !important;\n\t\tbackground-color: transparent !important;\n\t\tborder: 0 !important;\n\t\ttransform: none !important;\n\t\ttransition: none;\n\t}\n\n\t.navbar-expand-sm .offcanvas .offcanvas-header {\n\t\tdisplay: none;\n\t}\n\n\t.navbar-expand-sm .offcanvas .offcanvas-body {\n\t\tdisplay: flex;\n\t\tflex-grow: 0;\n\t\tpadding: 0;\n\t\toverflow-y: visible;\n\t}\n}\n\n@media (min-width: 768px) {\n\t.navbar-expand-md {\n\t\tflex-wrap: nowrap;\n\t\tjustify-content: flex-start;\n\t}\n\n\t.navbar-expand-md .navbar-nav {\n\t\tflex-direction: row;\n\t}\n\n\t.navbar-expand-md .navbar-nav .dropdown-menu {\n\t\tposition: absolute;\n\t}\n\n\t.navbar-expand-md .navbar-nav .nav-link {\n\t\tpadding-left: var(--bs-navbar-nav-link-padding-x);\n\t\tpadding-right: var(--bs-navbar-nav-link-padding-x);\n\t}\n\n\t.navbar-expand-md .navbar-nav-scroll {\n\t\toverflow: visible;\n\t}\n\n\t.navbar-expand-md .navbar-collapse {\n\t\tdisplay: flex !important;\n\t\tflex-basis: auto;\n\t}\n\n\t.navbar-expand-md .navbar-toggler {\n\t\tdisplay: none;\n\t}\n\n\t.navbar-expand-md .offcanvas {\n\t\tposition: static;\n\t\tz-index: auto;\n\t\tflex-grow: 1;\n\t\twidth: auto !important;\n\t\theight: auto !important;\n\t\tvisibility: visible !important;\n\t\tbackground-color: transparent !important;\n\t\tborder: 0 !important;\n\t\ttransform: none !important;\n\t\ttransition: none;\n\t}\n\n\t.navbar-expand-md .offcanvas .offcanvas-header {\n\t\tdisplay: none;\n\t}\n\n\t.navbar-expand-md .offcanvas .offcanvas-body {\n\t\tdisplay: flex;\n\t\tflex-grow: 0;\n\t\tpadding: 0;\n\t\toverflow-y: visible;\n\t}\n}\n\n@media (min-width: 992px) {\n\t.navbar-expand-lg {\n\t\tflex-wrap: nowrap;\n\t\tjustify-content: flex-start;\n\t}\n\n\t.navbar-expand-lg .navbar-nav {\n\t\tflex-direction: row;\n\t}\n\n\t.navbar-expand-lg .navbar-nav .dropdown-menu {\n\t\tposition: absolute;\n\t}\n\n\t.navbar-expand-lg .navbar-nav .nav-link {\n\t\tpadding-left: var(--bs-navbar-nav-link-padding-x);\n\t\tpadding-right: var(--bs-navbar-nav-link-padding-x);\n\t}\n\n\t.navbar-expand-lg .navbar-nav-scroll {\n\t\toverflow: visible;\n\t}\n\n\t.navbar-expand-lg .navbar-collapse {\n\t\tdisplay: flex !important;\n\t\tflex-basis: auto;\n\t}\n\n\t.navbar-expand-lg .navbar-toggler {\n\t\tdisplay: none;\n\t}\n\n\t.navbar-expand-lg .offcanvas {\n\t\tposition: static;\n\t\tz-index: auto;\n\t\tflex-grow: 1;\n\t\twidth: auto !important;\n\t\theight: auto !important;\n\t\tvisibility: visible !important;\n\t\tbackground-color: transparent !important;\n\t\tborder: 0 !important;\n\t\ttransform: none !important;\n\t\ttransition: none;\n\t}\n\n\t.navbar-expand-lg .offcanvas .offcanvas-header {\n\t\tdisplay: none;\n\t}\n\n\t.navbar-expand-lg .offcanvas .offcanvas-body {\n\t\tdisplay: flex;\n\t\tflex-grow: 0;\n\t\tpadding: 0;\n\t\toverflow-y: visible;\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.navbar-expand-xl {\n\t\tflex-wrap: nowrap;\n\t\tjustify-content: flex-start;\n\t}\n\n\t.navbar-expand-xl .navbar-nav {\n\t\tflex-direction: row;\n\t}\n\n\t.navbar-expand-xl .navbar-nav .dropdown-menu {\n\t\tposition: absolute;\n\t}\n\n\t.navbar-expand-xl .navbar-nav .nav-link {\n\t\tpadding-left: var(--bs-navbar-nav-link-padding-x);\n\t\tpadding-right: var(--bs-navbar-nav-link-padding-x);\n\t}\n\n\t.navbar-expand-xl .navbar-nav-scroll {\n\t\toverflow: visible;\n\t}\n\n\t.navbar-expand-xl .navbar-collapse {\n\t\tdisplay: flex !important;\n\t\tflex-basis: auto;\n\t}\n\n\t.navbar-expand-xl .navbar-toggler {\n\t\tdisplay: none;\n\t}\n\n\t.navbar-expand-xl .offcanvas {\n\t\tposition: static;\n\t\tz-index: auto;\n\t\tflex-grow: 1;\n\t\twidth: auto !important;\n\t\theight: auto !important;\n\t\tvisibility: visible !important;\n\t\tbackground-color: transparent !important;\n\t\tborder: 0 !important;\n\t\ttransform: none !important;\n\t\ttransition: none;\n\t}\n\n\t.navbar-expand-xl .offcanvas .offcanvas-header {\n\t\tdisplay: none;\n\t}\n\n\t.navbar-expand-xl .offcanvas .offcanvas-body {\n\t\tdisplay: flex;\n\t\tflex-grow: 0;\n\t\tpadding: 0;\n\t\toverflow-y: visible;\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.navbar-expand-xxl {\n\t\tflex-wrap: nowrap;\n\t\tjustify-content: flex-start;\n\t}\n\n\t.navbar-expand-xxl .navbar-nav {\n\t\tflex-direction: row;\n\t}\n\n\t.navbar-expand-xxl .navbar-nav .dropdown-menu {\n\t\tposition: absolute;\n\t}\n\n\t.navbar-expand-xxl .navbar-nav .nav-link {\n\t\tpadding-left: var(--bs-navbar-nav-link-padding-x);\n\t\tpadding-right: var(--bs-navbar-nav-link-padding-x);\n\t}\n\n\t.navbar-expand-xxl .navbar-nav-scroll {\n\t\toverflow: visible;\n\t}\n\n\t.navbar-expand-xxl .navbar-collapse {\n\t\tdisplay: flex !important;\n\t\tflex-basis: auto;\n\t}\n\n\t.navbar-expand-xxl .navbar-toggler {\n\t\tdisplay: none;\n\t}\n\n\t.navbar-expand-xxl .offcanvas {\n\t\tposition: static;\n\t\tz-index: auto;\n\t\tflex-grow: 1;\n\t\twidth: auto !important;\n\t\theight: auto !important;\n\t\tvisibility: visible !important;\n\t\tbackground-color: transparent !important;\n\t\tborder: 0 !important;\n\t\ttransform: none !important;\n\t\ttransition: none;\n\t}\n\n\t.navbar-expand-xxl .offcanvas .offcanvas-header {\n\t\tdisplay: none;\n\t}\n\n\t.navbar-expand-xxl .offcanvas .offcanvas-body {\n\t\tdisplay: flex;\n\t\tflex-grow: 0;\n\t\tpadding: 0;\n\t\toverflow-y: visible;\n\t}\n}\n\n.navbar-expand {\n\tflex-wrap: nowrap;\n\tjustify-content: flex-start;\n}\n\n.navbar-expand .navbar-nav {\n\tflex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n\tposition: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n\tpadding-left: var(--bs-navbar-nav-link-padding-x);\n\tpadding-right: var(--bs-navbar-nav-link-padding-x);\n}\n\n.navbar-expand .navbar-nav-scroll {\n\toverflow: visible;\n}\n\n.navbar-expand .navbar-collapse {\n\tdisplay: flex !important;\n\tflex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n\tdisplay: none;\n}\n\n.navbar-expand .offcanvas {\n\tposition: static;\n\tz-index: auto;\n\tflex-grow: 1;\n\twidth: auto !important;\n\theight: auto !important;\n\tvisibility: visible !important;\n\tbackground-color: transparent !important;\n\tborder: 0 !important;\n\ttransform: none !important;\n\ttransition: none;\n}\n\n.navbar-expand .offcanvas .offcanvas-header {\n\tdisplay: none;\n}\n\n.navbar-expand .offcanvas .offcanvas-body {\n\tdisplay: flex;\n\tflex-grow: 0;\n\tpadding: 0;\n\toverflow-y: visible;\n}\n\n[data-bs-theme=dark] .navbar-toggler-icon {\n\t--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='%23c9cbcf' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n/* Local light and dark variants */\n\n.navbar-toggler[data-bs-theme=light] .navbar-toggler-icon {\n\t--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='%23242628' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-toggler[data-bs-theme=dark] .navbar-toggler-icon {\n\t--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='%23c9cbcf' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Card ]\n * ----------------------------------------------------------------------------\n */\n\n.card {\n\t--bs-card-spacer-y: 1rem;\n\t--bs-card-spacer-x: 1rem;\n\t--bs-card-title-spacer-y: 0.5rem;\n\t--bs-card-title-color: ;\n\t--bs-card-subtitle-color: ;\n\t--bs-card-border-width: var(--bs-border-width);\n\t--bs-card-border-color: var(--bs-content-border-color);\n\t--bs-card-inner-border-color: var(--bs-border-color-translucent);\n\t--bs-card-group-border-color: var(--bs-border-color);\n\t--bs-card-border-radius: var(--bs-border-radius-lg);\n\t--bs-card-box-shadow: var(--bs-content-box-shadow);\n\t--bs-card-inner-border-radius: calc(var(--bs-card-border-radius) - (var(--bs-card-border-width)));\n\t--bs-card-cap-padding-y: 0.5rem;\n\t--bs-card-cap-padding-x: 1rem;\n\t--bs-card-cap-bg: hsla(var(--bs-black-hsl), 0.025);\n\t--bs-card-cap-color: ;\n\t--bs-card-height: ;\n\t--bs-card-color: ;\n\t--bs-card-bg: var(--bs-content-bg);\n\t--bs-card-img-overlay-padding: 1rem;\n\t--bs-card-group-margin: 0.75rem;\n\tposition: relative;\n\tdisplay: flex;\n\tflex-direction: column;\n\tmin-width: 0;\n\theight: var(--bs-card-height);\n\tcolor: var(--bs-body-color);\n\tword-wrap: break-word;\n\tbackground-color: var(--bs-card-bg);\n\tbackground-clip: border-box;\n\tborder: var(--bs-card-border-width) solid var(--bs-card-border-color);\n\tborder-radius: var(--bs-card-border-radius);\n\tbox-shadow: var(--bs-card-box-shadow);\n}\n\n[data-bs-theme=dark] .card {\n\t--bs-card-cap-bg: hsla(var(--bs-black-hsl), 0.1);\n}\n\n.card > hr {\n\tmargin-left: 0;\n\tmargin-right: 0;\n}\n\n.card > .list-group {\n\tborder-top: var(--bs-card-border-width) solid var(--bs-list-group-border-color);\n\tborder-bottom: var(--bs-card-border-width) solid var(--bs-list-group-border-color);\n}\n\n.card > .list-group:first-child {\n\tborder-top-width: 0;\n\tborder-top-right-radius: var(--bs-card-inner-border-radius);\n\tborder-top-left-radius: var(--bs-card-inner-border-radius);\n}\n\n.card > .list-group:last-child {\n\tborder-bottom-width: 0;\n\tborder-bottom-left-radius: var(--bs-card-inner-border-radius);\n\tborder-bottom-right-radius: var(--bs-card-inner-border-radius);\n}\n\n.card > .card-header + .list-group,\n.card > .list-group + .card-footer {\n\tborder-top: 0;\n}\n\n.card-body {\n\tflex: 1 1 auto;\n\tpadding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);\n\tcolor: var(--bs-card-color);\n}\n\n.card-title {\n\tmargin-bottom: var(--bs-card-title-spacer-y);\n\tcolor: var(--bs-card-title-color);\n}\n\n.card-subtitle {\n\tmargin-top: calc(-0.5 * var(--bs-card-title-spacer-y));\n\tmargin-bottom: 0;\n\tcolor: var(--bs-card-subtitle-color);\n}\n\n.card-text:last-child {\n\tmargin-bottom: 0;\n}\n\n.card-link + .card-link {\n\tmargin-right: var(--bs-card-spacer-x);\n}\n\n.card-header {\n\tpadding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);\n\tmargin-bottom: 0;\n\tcolor: var(--bs-card-cap-color);\n\tbackground-color: var(--bs-card-cap-bg);\n\tborder-bottom: var(--bs-card-border-width) solid var(--bs-card-inner-border-color);\n}\n\n.card-header:first-child {\n\tborder-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0;\n}\n\n.card-footer {\n\tpadding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);\n\tcolor: var(--bs-card-cap-color);\n\tbackground-color: var(--bs-card-cap-bg);\n\tborder-top: var(--bs-card-border-width) solid var(--bs-card-inner-border-color);\n}\n\n.card-footer:last-child {\n\tborder-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius);\n}\n\n.card-header-tabs {\n\tmargin-left: calc(-0.5 * var(--bs-card-cap-padding-x));\n\tmargin-bottom: calc(-1 * var(--bs-card-cap-padding-y));\n\tmargin-right: calc(-0.5 * var(--bs-card-cap-padding-x));\n\tborder-bottom: 0;\n}\n\n.card-header-tabs .nav-link.active {\n\tbackground-color: var(--bs-card-bg);\n\tborder-bottom-color: var(--bs-card-bg);\n}\n\n.card-header-pills {\n\tmargin-left: calc(-0.5 * var(--bs-card-cap-padding-x));\n\tmargin-right: calc(-0.5 * var(--bs-card-cap-padding-x));\n}\n\n.card-header-underline {\n\tmargin-left: calc(-0.5 * var(--bs-card-cap-padding-x));\n\tmargin-bottom: calc(-1 * var(--bs-card-cap-padding-y));\n\tmargin-right: calc(-0.5 * var(--bs-card-cap-padding-x));\n}\n\n.card-img-overlay {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tbottom: 0;\n\tright: 0;\n\tpadding: var(--bs-card-img-overlay-padding);\n\tborder-radius: var(--bs-card-inner-border-radius);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n\twidth: 100%;\n}\n\n.card-img,\n.card-img-top {\n\tborder-top-right-radius: var(--bs-card-inner-border-radius);\n\tborder-top-left-radius: var(--bs-card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n\tborder-bottom-left-radius: var(--bs-card-inner-border-radius);\n\tborder-bottom-right-radius: var(--bs-card-inner-border-radius);\n}\n\n.card-group > .card {\n\tmargin-bottom: var(--bs-card-group-margin);\n}\n\n@media (min-width: 576px) {\n\t.card-group {\n\t\tdisplay: flex;\n\t\tflex-flow: row wrap;\n\t}\n\n\t.card-group > .card {\n\t\tflex: 1 0 0%;\n\t\tmargin-bottom: 0;\n\t}\n\n\t.card-group > .card + .card {\n\t\tmargin-right: 0;\n\t\tborder-right: 0;\n\t}\n\n\t.card-group > .card:not(:last-child) {\n\t\tborder-top-left-radius: 0;\n\t\tborder-bottom-left-radius: 0;\n\t\tborder-left-color: var(--bs-card-group-border-color);\n\t}\n\n\t.card-group > .card:not(:last-child) .card-img-top,\n\t.card-group > .card:not(:last-child) .card-header {\n\t\tborder-top-left-radius: 0;\n\t}\n\n\t.card-group > .card:not(:last-child) .card-img-bottom,\n\t.card-group > .card:not(:last-child) .card-footer {\n\t\tborder-bottom-left-radius: 0;\n\t}\n\n\t.card-group > .card:not(:first-child) {\n\t\tborder-top-right-radius: 0;\n\t\tborder-bottom-right-radius: 0;\n\t\tborder-right-color: var(--bs-card-group-border-color);\n\t}\n\n\t.card-group > .card:not(:first-child) .card-img-top,\n\t.card-group > .card:not(:first-child) .card-header {\n\t\tborder-top-right-radius: 0;\n\t}\n\n\t.card-group > .card:not(:first-child) .card-img-bottom,\n\t.card-group > .card:not(:first-child) .card-footer {\n\t\tborder-bottom-right-radius: 0;\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Accordion ]\n * ----------------------------------------------------------------------------\n */\n\n.accordion {\n\t--bs-accordion-color: var(--bs-body-color);\n\t--bs-accordion-bg: transparent;\n\t--bs-accordion-transition: ;\n\t--bs-accordion-border-color: var(--bs-border-color);\n\t--bs-accordion-border-width: var(--bs-border-width);\n\t--bs-accordion-border-radius: var(--bs-border-radius);\n\t--bs-accordion-inner-border-radius: calc(var(--bs-accordion-border-radius) - var(--bs-accordion-border-width));\n\t--bs-accordion-btn-padding-x: 1rem;\n\t--bs-accordion-btn-padding-y: 0.75rem;\n\t--bs-accordion-btn-color: var(--bs-accordion-color);\n\t--bs-accordion-btn-bg: var(--bs-accordion-bg);\n\t--bs-accordion-btn-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23242628'%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\");\n\t--bs-accordion-btn-icon-width: 0.75rem;\n\t--bs-accordion-btn-icon-transform: rotate(-180deg);\n\t--bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;\n\t--bs-accordion-btn-active-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23242628'%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\");\n\t--bs-accordion-btn-focus-border-color: var(--bs-accordion-border-color);\n\t--bs-accordion-btn-focus-box-shadow: inset 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-action-focus-shadow-hsl), 0.5);\n\t--bs-accordion-body-padding-x: 1rem;\n\t--bs-accordion-body-padding-y: 1rem;\n\t--bs-accordion-active-color: var(--bs-accordion-color);\n\t--bs-accordion-active-bg: var(--bs-accordion-bg);\n}\n\n[data-bs-theme=dark] .accordion {\n\t--bs-accordion-btn-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23c9cbcf'%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\");\n\t--bs-accordion-btn-active-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23c9cbcf'%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\");\n}\n\n.accordion-button {\n\tposition: relative;\n\tdisplay: flex;\n\talign-items: center;\n\twidth: 100%;\n\tpadding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);\n\tfont-size: var(--bs-font-size-base);\n\tcolor: var(--bs-accordion-btn-color);\n\ttext-align: right;\n\tbackground-color: var(--bs-accordion-btn-bg);\n\tborder: 0;\n\tborder-radius: 0;\n\toverflow-anchor: none;\n\ttransition: var(--bs-accordion-transition);\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.accordion-button {\n\t\ttransition: none;\n\t}\n}\n\n.accordion-button:not(.collapsed) {\n\tcolor: var(--bs-accordion-active-color);\n\tbackground-color: var(--bs-accordion-active-bg);\n\tbox-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);\n}\n\n.accordion-button:not(.collapsed)::after {\n\tbackground-image: var(--bs-accordion-btn-active-icon);\n\ttransform: var(--bs-accordion-btn-icon-transform);\n}\n\n.accordion-button::after {\n\tflex-shrink: 0;\n\twidth: var(--bs-accordion-btn-icon-width);\n\theight: var(--bs-accordion-btn-icon-width);\n\tmargin-right: auto;\n\tcontent: \"\";\n\tbackground-image: var(--bs-accordion-btn-icon);\n\tbackground-repeat: no-repeat;\n\tbackground-size: var(--bs-accordion-btn-icon-width);\n\ttransition: var(--bs-accordion-btn-icon-transition);\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.accordion-button::after {\n\t\ttransition: none;\n\t}\n}\n\n.accordion-button:hover {\n\tz-index: 2;\n}\n\n.accordion-button:focus {\n\tz-index: 3;\n\tborder-color: var(--bs-accordion-btn-focus-border-color);\n\toutline: 0;\n\tbox-shadow: var(--bs-accordion-btn-focus-box-shadow);\n}\n\n.accordion-header {\n\tmargin-bottom: 0;\n}\n\n.accordion-item {\n\tcolor: var(--bs-accordion-color);\n\tbackground-color: var(--bs-accordion-bg);\n\tborder: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);\n}\n\n.accordion-item:first-of-type {\n\tborder-top-right-radius: var(--bs-accordion-border-radius);\n\tborder-top-left-radius: var(--bs-accordion-border-radius);\n}\n\n.accordion-item:first-of-type .accordion-button {\n\tborder-top-right-radius: var(--bs-accordion-inner-border-radius);\n\tborder-top-left-radius: var(--bs-accordion-inner-border-radius);\n}\n\n.accordion-item:not(:first-of-type) {\n\tborder-top: 0;\n}\n\n.accordion-item:last-of-type {\n\tborder-bottom-left-radius: var(--bs-accordion-border-radius);\n\tborder-bottom-right-radius: var(--bs-accordion-border-radius);\n}\n\n.accordion-item:last-of-type .accordion-button.collapsed {\n\tborder-bottom-left-radius: var(--bs-accordion-inner-border-radius);\n\tborder-bottom-right-radius: var(--bs-accordion-inner-border-radius);\n}\n\n.accordion-item:last-of-type .accordion-collapse {\n\tborder-bottom-left-radius: var(--bs-accordion-border-radius);\n\tborder-bottom-right-radius: var(--bs-accordion-border-radius);\n}\n\n.accordion-body {\n\tpadding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);\n}\n\n.accordion-flush .accordion-collapse {\n\tborder-width: 0;\n}\n\n.accordion-flush .accordion-item {\n\tborder-left: 0;\n\tborder-right: 0;\n\tborder-radius: 0;\n}\n\n.accordion-flush .accordion-item:first-child {\n\tborder-top: 0;\n}\n\n.accordion-flush .accordion-item:last-child {\n\tborder-bottom: 0;\n}\n\n.accordion-flush .accordion-item .accordion-button,\n.accordion-flush .accordion-item .accordion-button.collapsed {\n\tborder-radius: 0;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Breadcrumb ]\n * ----------------------------------------------------------------------------\n */\n\n.breadcrumb {\n\t--bs-breadcrumb-padding-x: 0;\n\t--bs-breadcrumb-padding-y: 0;\n\t--bs-breadcrumb-margin-bottom: 1rem;\n\t--bs-breadcrumb-bg: ;\n\t--bs-breadcrumb-border-radius: ;\n\t--bs-breadcrumb-divider-color: var(--bs-secondary-color);\n\t--bs-breadcrumb-item-padding-x: 0.5rem;\n\t--bs-breadcrumb-item-active-color: var(--bs-secondary-color);\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tpadding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);\n\tmargin-bottom: var(--bs-breadcrumb-margin-bottom);\n\tfont-size: var(--bs-breadcrumb-font-size);\n\tlist-style: none;\n\tbackground-color: var(--bs-breadcrumb-bg);\n\tborder-radius: var(--bs-breadcrumb-border-radius);\n}\n\n.breadcrumb-item + .breadcrumb-item {\n\tpadding-right: var(--bs-breadcrumb-item-padding-x);\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n\tfloat: right;\n\tpadding-left: var(--bs-breadcrumb-item-padding-x);\n\tcolor: var(--bs-breadcrumb-divider-color);\n\tcontent: var(--bs-breadcrumb-divider, \"/\") ;\n}\n\n.breadcrumb-item.active {\n\tcolor: var(--bs-breadcrumb-item-active-color);\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Pagination ]\n * ----------------------------------------------------------------------------\n */\n\n.pagination {\n\t--bs-pagination-padding-x: 0.375rem;\n\t--bs-pagination-padding-y: 0.25rem;\n\t--bs-pagination-font-size: var(--bs-font-size-base);\n\t--bs-pagination-line-height: calc(20/14);\n\t--bs-pagination-min-width: 1.875rem;\n\t--bs-pagination-color: var(--bs-action-color);\n\t--bs-pagination-bg: var(--bs-action-bg);\n\t--bs-pagination-border-width: var(--bs-border-width);\n\t--bs-pagination-border-color: var(--bs-action-border-color);\n\t--bs-pagination-border-radius: var(--bs-border-radius);\n\t--bs-pagination-hover-color: var(--bs-action-hover-color);\n\t--bs-pagination-hover-bg: var(--bs-action-hover-bg);\n\t--bs-pagination-hover-border-color: var(--bs-action-border-color);\n\t--bs-pagination-focus-color: var(--bs-action-active-color);\n\t--bs-pagination-focus-bg: var(--bs-action-active-bg);\n\t--bs-pagination-focus-box-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-action-focus-shadow-hsl), 0.5);\n\t--bs-pagination-active-color: var(--bs-primary-foreground);\n\t--bs-pagination-active-bg: var(--bs-primary);\n\t--bs-pagination-active-border-color: var(--bs-ctx-btn-border-color);\n\t--bs-pagination-active-bg-clip: var(--bs-ctx-btn-bg-clip);\n\t--bs-pagination-active-webkit-font-smoothing: auto;\n\t--bs-pagination-active-moz-osx-font-smoothing: auto;\n\t--bs-pagination-disabled-color: var(--bs-action-disabled-color);\n\t--bs-pagination-disabled-bg: var(--bs-action-disabled-bg);\n\t--bs-pagination-disabled-border-color: var(--bs-action-disabled-border-color);\n\tdisplay: flex;\n\tpadding-right: 0;\n\tlist-style: none;\n}\n\n.page-link {\n\tposition: relative;\n\tdisplay: block;\n\tpadding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);\n\tfont-size: var(--bs-pagination-font-size);\n\tline-height: var(--bs-pagination-line-height);\n\tmin-width: var(--bs-pagination-min-width);\n\tcolor: var(--bs-pagination-color);\n\ttext-decoration: none;\n\ttext-align: center;\n\tbackground-color: var(--bs-pagination-bg);\n\tborder: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.page-link {\n\t\ttransition: none;\n\t}\n}\n\n.page-link:hover {\n\tz-index: 2;\n\tcolor: var(--bs-pagination-hover-color);\n\tbackground-color: var(--bs-pagination-hover-bg);\n\tborder-color: var(--bs-pagination-hover-border-color);\n}\n\n.page-link:focus {\n\tz-index: 3;\n\tcolor: var(--bs-pagination-focus-color);\n\tbackground-color: var(--bs-pagination-focus-bg);\n\toutline: 0;\n\tbox-shadow: var(--bs-pagination-focus-box-shadow);\n}\n\n.page-link.active,\n.active > .page-link {\n\tz-index: 3;\n\tcolor: var(--bs-pagination-active-color);\n\tbackground-color: var(--bs-pagination-active-bg);\n\tborder-color: var(--bs-pagination-active-border-color);\n\tbackground-clip: var(--bs-pagination-active-bg-clip);\n\t-webkit-font-smoothing: var(--bs-pagination-active-webkit-font-smoothing);\n\t-moz-osx-font-smoothing: var(--bs-pagination-active-moz-osx-font-smoothing);\n}\n\n.page-link.disabled,\n.disabled > .page-link {\n\tcolor: var(--bs-pagination-disabled-color);\n\tpointer-events: none;\n\tbackground-color: var(--bs-pagination-disabled-bg);\n\tborder-color: var(--bs-pagination-disabled-border-color);\n}\n\n.page-item:not(:first-child) .page-link {\n\tmargin-right: calc(-1 * var(--bs-pagination-border-width));\n}\n\n.page-item:first-child .page-link {\n\tborder-top-right-radius: var(--bs-pagination-border-radius);\n\tborder-bottom-right-radius: var(--bs-pagination-border-radius);\n}\n\n.page-item:last-child .page-link {\n\tborder-top-left-radius: var(--bs-pagination-border-radius);\n\tborder-bottom-left-radius: var(--bs-pagination-border-radius);\n}\n\n.pagination-lg {\n\t--bs-pagination-padding-x: 0.625rem;\n\t--bs-pagination-padding-y: 0.3125rem;\n\t--bs-pagination-font-size: var(--bs-font-size-lg);\n\t--bs-pagination-line-height: calc(24/16);\n\t--bs-pagination-min-width: 2.25rem;\n\t--bs-pagination-border-radius: var(--bs-border-radius-lg);\n}\n\n.pagination-sm {\n\t--bs-pagination-padding-x: 0.125rem;\n\t--bs-pagination-padding-y: 0.125rem;\n\t--bs-pagination-font-size: var(--bs-font-size-sm);\n\t--bs-pagination-line-height: calc(18/12);\n\t--bs-pagination-min-width: 1.5rem;\n\t--bs-pagination-border-radius: var(--bs-border-radius-sm);\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Badge ]\n * ----------------------------------------------------------------------------\n */\n\n.badge {\n\t--bs-badge-padding-x: var(--bs-relative-font-size-2xs);\n\t--bs-badge-padding-y: var(--bs-relative-font-size-4xs);\n\t--bs-badge-font-size: var(--bs-relative-font-size-sm);\n\t--bs-badge-font-weight: var(--bs-font-weight-normal);\n\t--bs-badge-color: var(--bs-secondary-foreground);\n\t--bs-badge-bg: var(--bs-secondary);\n\t--bs-badge-border-radius: var(--bs-border-radius);\n\tdisplay: inline-block;\n\tpadding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);\n\tfont-size: var(--bs-badge-font-size);\n\tfont-weight: var(--bs-badge-font-weight);\n\tline-height: 1;\n\tcolor: var(--bs-badge-color);\n\tbackground-color: var(--bs-badge-bg);\n\ttext-align: center;\n\twhite-space: nowrap;\n\tvertical-align: baseline;\n\tborder-radius: var(--bs-badge-border-radius);\n\t-webkit-font-smoothing: auto;\n\t-moz-osx-font-smoothing: auto;\n}\n\n.badge:empty {\n\tdisplay: none;\n}\n\n.btn .badge {\n\tposition: relative;\n\ttop: -1px;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Alerts ]\n * ----------------------------------------------------------------------------\n */\n\n.alert {\n\t--bs-alert-bg: transparent;\n\t--bs-alert-padding-x: 1rem;\n\t--bs-alert-padding-y: 0.75rem;\n\t--bs-alert-margin-bottom: 1rem;\n\t--bs-alert-color: inherit;\n\t--bs-alert-border-color: transparent;\n\t--bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);\n\t--bs-alert-border-radius: var(--bs-border-radius);\n\t--bs-alert-link-color: inherit;\n\tposition: relative;\n\tpadding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);\n\tmargin-bottom: var(--bs-alert-margin-bottom);\n\tcolor: var(--bs-alert-color);\n\tbackground-color: var(--bs-alert-bg);\n\tborder: var(--bs-alert-border);\n\tborder-radius: var(--bs-alert-border-radius);\n}\n\n.alert-heading {\n\tcolor: inherit;\n}\n\n.alert-link {\n\tfont-weight: var(--bs-font-weight-normal);\n\tcolor: var(--bs-alert-link-color);\n\ttext-decoration: underline;\n\t-webkit-font-smoothing: var(--bs-body-webkit-font-smoothing);\n\t-moz-osx-font-smoothing: var(--bs-body-moz-osx-font-smoothing);\n}\n\n.alert-link:hover {\n\topacity: 0.75;\n\ttext-decoration: underline;\n}\n\n.alert-dismissible {\n\tpadding-left: 2.5rem;\n}\n\n.alert-dismissible .btn-close {\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 0.375rem;\n\ttransform: translateY(-50%);\n\tz-index: 2;\n}\n\n/* Primary alert */\n\n.alert-primary {\n\t--bs-alert-color: var(--bs-body-color);\n\t--bs-alert-bg: var(--bs-primary-bg-subtle);\n\t--bs-alert-border-color: var(--bs-primary-border-subtle);\n\t--bs-alert-link-color: var(--bs-alert-color);\n}\n\n/* Secondary alert */\n\n.alert-secondary {\n\t--bs-alert-color: var(--bs-body-color);\n\t--bs-alert-bg: var(--bs-secondary-bg-subtle);\n\t--bs-alert-border-color: var(--bs-secondary-border-subtle);\n\t--bs-alert-link-color: var(--bs-alert-color);\n}\n\n/* Success alert */\n\n.alert-success {\n\t--bs-alert-color: var(--bs-body-color);\n\t--bs-alert-bg: var(--bs-success-bg-subtle);\n\t--bs-alert-border-color: var(--bs-success-border-subtle);\n\t--bs-alert-link-color: var(--bs-alert-color);\n}\n\n/* Info alert */\n\n.alert-info {\n\t--bs-alert-color: var(--bs-body-color);\n\t--bs-alert-bg: var(--bs-info-bg-subtle);\n\t--bs-alert-border-color: var(--bs-info-border-subtle);\n\t--bs-alert-link-color: var(--bs-alert-color);\n}\n\n/* Warning alert */\n\n.alert-warning {\n\t--bs-alert-color: var(--bs-body-color);\n\t--bs-alert-bg: var(--bs-warning-bg-subtle);\n\t--bs-alert-border-color: var(--bs-warning-border-subtle);\n\t--bs-alert-link-color: var(--bs-alert-color);\n}\n\n/* Danger alert */\n\n.alert-danger {\n\t--bs-alert-color: var(--bs-body-color);\n\t--bs-alert-bg: var(--bs-danger-bg-subtle);\n\t--bs-alert-border-color: var(--bs-danger-border-subtle);\n\t--bs-alert-link-color: var(--bs-alert-color);\n}\n\n/* Light alert */\n\n.alert-light {\n\t--bs-alert-color: var(--bs-body-color);\n\t--bs-alert-bg: var(--bs-light-bg-subtle);\n\t--bs-alert-border-color: var(--bs-light-border-subtle);\n\t--bs-alert-link-color: var(--bs-alert-color);\n}\n\n/* Dark alert */\n\n.alert-dark {\n\t--bs-alert-color: var(--bs-body-color);\n\t--bs-alert-bg: var(--bs-dark-bg-subtle);\n\t--bs-alert-border-color: var(--bs-dark-border-subtle);\n\t--bs-alert-link-color: var(--bs-alert-color);\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Progress ]\n * ----------------------------------------------------------------------------\n */\n\n@keyframes progress-bar-stripes {\n\t0% {\n\t\tbackground-position-x: 0.625rem;\n\t}\n}\n\n.progress,\n.progress-stacked {\n\t--bs-progress-height: 0.625rem;\n\t--bs-progress-font-size: 0.5rem;\n\t--bs-progress-bg: var(--bs-actionbar-bg);\n\t--bs-progress-border: var(--bs-progresstrack-border-width) solid var(--bs-actionbar-border-color);\n\t--bs-progress-border-radius: var(--bs-border-radius-pill);\n\t--bs-progress-box-shadow: var(--bs-progresstrack-box-shadow);\n\t--bs-progress-bg-clip: var(--bs-progresstrack-bg-clip);\n\t--bs-progress-bar-color: var(--bs-primary-foreground);\n\t--bs-progress-bar-bg: var(--bs-primary);\n\t--bs-progress-bar-transition: width 0.6s ease;\n\tdisplay: flex;\n\theight: var(--bs-progress-height);\n\toverflow: hidden;\n\tfont-size: var(--bs-progress-font-size);\n\tbackground-color: var(--bs-progress-bg);\n\tborder: var(--bs-progress-border);\n\tborder-radius: var(--bs-progress-border-radius);\n\tbox-shadow: var(--bs-progress-box-shadow);\n\tbackground-clip: var(--bs-progress-bg-clip);\n}\n\n.progress-bar {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n\toverflow: hidden;\n\tcolor: var(--bs-progress-bar-color);\n\ttext-align: center;\n\twhite-space: nowrap;\n\tbackground-color: var(--bs-progress-bar-bg);\n\ttransition: var(--bs-progress-bar-transition);\n\t-webkit-font-smoothing: auto;\n\t-moz-osx-font-smoothing: auto;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.progress-bar {\n\t\ttransition: none;\n\t}\n}\n\n.progress-bar-striped {\n\tbackground-image: linear-gradient(\n\t\t-45deg,\n\t\thsla(var(--bs-primary-foreground-hsl), 0.15) 25%,\n\t\ttransparent 25%,\n\t\ttransparent 50%,\n\t\thsla(var(--bs-primary-foreground-hsl), 0.15) 50%,\n\t\thsla(var(--bs-primary-foreground-hsl), 0.15) 75%,\n\t\ttransparent 75%,\n\t\ttransparent\n\t);\n\tbackground-size: var(--bs-progress-height) var(--bs-progress-height);\n}\n\n.progress-stacked > .progress {\n\theight: 100%;\n\toverflow: visible;\n\tfont-size: inherit;\n\tbackground-color: transparent;\n\tborder: 0;\n\tborder-radius: 0;\n\tbox-shadow: none;\n\tbackground-clip: border-box;\n}\n\n.progress-stacked > .progress > .progress-bar {\n\twidth: 100%;\n}\n\n.progress-bar-animated {\n\tanimation: 1s linear infinite progress-bar-stripes;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.progress-bar-animated {\n\t\tanimation: none;\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ List group ]\n * ----------------------------------------------------------------------------\n */\n\n.list-group {\n\t--bs-list-group-color: var(--bs-body-color);\n\t--bs-list-group-bg: transparent;\n\t--bs-list-group-border-color: var(--bs-border-color);\n\t--bs-list-group-border-width: var(--bs-border-width);\n\t--bs-list-group-border-radius: var(--bs-border-radius);\n\t--bs-list-group-item-padding-x: 1rem;\n\t--bs-list-group-item-padding-y: 0.375rem;\n\t--bs-list-group-action-color: var(--bs-list-group-color);\n\t--bs-list-group-action-hover-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-hover-bg: hsla(var(--bs-black-hsl), 0.06);\n\t--bs-list-group-action-active-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-active-bg: hsla(var(--bs-black-hsl), 0.09);\n\t--bs-list-group-disabled-color: var(--bs-secondary-color);\n\t--bs-list-group-disabled-bg: hsla(var(--bs-black-hsl), 0.03);\n\t--bs-list-group-active-color: var(--bs-primary-foreground);\n\t--bs-list-group-active-bg: var(--bs-primary);\n\t--bs-list-group-active-border-color: var(--bs-primary);\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding-right: 0;\n\tmargin-bottom: 0;\n\tborder-radius: var(--bs-list-group-border-radius);\n}\n\n[data-bs-theme=dark] .list-group {\n\t--bs-list-group-action-hover-bg: hsla(var(--bs-white-hsl), 0.05);\n\t--bs-list-group-action-active-bg: hsla(var(--bs-white-hsl), 0.075);\n\t--bs-list-group-disabled-bg: hsla(var(--bs-white-hsl), 0.025);\n}\n\n.list-group-numbered {\n\tlist-style-type: none;\n\tcounter-reset: section;\n}\n\n.list-group-numbered > .list-group-item::before {\n\tcontent: counters(section, \".\") \". \";\n\tcounter-increment: section;\n}\n\n.list-group-item-action {\n\twidth: 100%;\n\tcolor: var(--bs-list-group-action-color);\n\ttext-align: inherit;\n}\n\n.list-group-item-action:hover,\n.list-group-item-action:focus {\n\tz-index: 1;\n\tcolor: var(--bs-list-group-action-hover-color);\n\ttext-decoration: none;\n\tbackground-color: var(--bs-list-group-action-hover-bg);\n}\n\n.list-group-item-action:active {\n\tcolor: var(--bs-list-group-action-active-color);\n\tbackground-color: var(--bs-list-group-action-active-bg);\n}\n\n.list-group-item {\n\tposition: relative;\n\tdisplay: block;\n\tpadding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);\n\tcolor: var(--bs-list-group-color);\n\ttext-decoration: none;\n\tbackground-color: var(--bs-list-group-bg);\n\tborder: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);\n\t-webkit-font-smoothing: var(--bs-body-webkit-font-smoothing);\n\t-moz-osx-font-smoothing: var(--bs-body-moz-osx-font-smoothing);\n}\n\n.list-group-item:first-child {\n\tborder-top-right-radius: inherit;\n\tborder-top-left-radius: inherit;\n}\n\n.list-group-item:last-child {\n\tborder-bottom-left-radius: inherit;\n\tborder-bottom-right-radius: inherit;\n}\n\n.list-group-item.disabled,\n.list-group-item:disabled {\n\tcolor: var(--bs-list-group-disabled-color);\n\tpointer-events: none;\n\tbackground-color: var(--bs-list-group-disabled-bg);\n}\n\n.list-group-item.active {\n\tz-index: 2;\n\tcolor: var(--bs-list-group-active-color);\n\tbackground-color: var(--bs-list-group-active-bg);\n\tborder-color: var(--bs-list-group-active-border-color);\n\t-webkit-font-smoothing: auto;\n\t-moz-osx-font-smoothing: auto;\n}\n\n.list-group-item + .list-group-item {\n\tborder-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n\tmargin-top: calc(-1 * var(--bs-list-group-border-width));\n\tborder-top-width: var(--bs-list-group-border-width);\n}\n\n.list-group-horizontal {\n\tflex-direction: row;\n}\n\n.list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n\tborder-bottom-right-radius: var(--bs-list-group-border-radius);\n\tborder-top-left-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n\tborder-top-left-radius: var(--bs-list-group-border-radius);\n\tborder-bottom-right-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item.active {\n\tmargin-top: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item {\n\tborder-top-width: var(--bs-list-group-border-width);\n\tborder-right-width: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item.active {\n\tmargin-right: calc(-1 * var(--bs-list-group-border-width));\n\tborder-right-width: var(--bs-list-group-border-width);\n}\n\n@media (min-width: 576px) {\n\t.list-group-horizontal-sm {\n\t\tflex-direction: row;\n\t}\n\n\t.list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {\n\t\tborder-bottom-right-radius: var(--bs-list-group-border-radius);\n\t\tborder-top-left-radius: 0;\n\t}\n\n\t.list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {\n\t\tborder-top-left-radius: var(--bs-list-group-border-radius);\n\t\tborder-bottom-right-radius: 0;\n\t}\n\n\t.list-group-horizontal-sm > .list-group-item.active {\n\t\tmargin-top: 0;\n\t}\n\n\t.list-group-horizontal-sm > .list-group-item + .list-group-item {\n\t\tborder-top-width: var(--bs-list-group-border-width);\n\t\tborder-right-width: 0;\n\t}\n\n\t.list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n\t\tmargin-right: calc(-1 * var(--bs-list-group-border-width));\n\t\tborder-right-width: var(--bs-list-group-border-width);\n\t}\n}\n\n@media (min-width: 768px) {\n\t.list-group-horizontal-md {\n\t\tflex-direction: row;\n\t}\n\n\t.list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {\n\t\tborder-bottom-right-radius: var(--bs-list-group-border-radius);\n\t\tborder-top-left-radius: 0;\n\t}\n\n\t.list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {\n\t\tborder-top-left-radius: var(--bs-list-group-border-radius);\n\t\tborder-bottom-right-radius: 0;\n\t}\n\n\t.list-group-horizontal-md > .list-group-item.active {\n\t\tmargin-top: 0;\n\t}\n\n\t.list-group-horizontal-md > .list-group-item + .list-group-item {\n\t\tborder-top-width: var(--bs-list-group-border-width);\n\t\tborder-right-width: 0;\n\t}\n\n\t.list-group-horizontal-md > .list-group-item + .list-group-item.active {\n\t\tmargin-right: calc(-1 * var(--bs-list-group-border-width));\n\t\tborder-right-width: var(--bs-list-group-border-width);\n\t}\n}\n\n@media (min-width: 992px) {\n\t.list-group-horizontal-lg {\n\t\tflex-direction: row;\n\t}\n\n\t.list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {\n\t\tborder-bottom-right-radius: var(--bs-list-group-border-radius);\n\t\tborder-top-left-radius: 0;\n\t}\n\n\t.list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {\n\t\tborder-top-left-radius: var(--bs-list-group-border-radius);\n\t\tborder-bottom-right-radius: 0;\n\t}\n\n\t.list-group-horizontal-lg > .list-group-item.active {\n\t\tmargin-top: 0;\n\t}\n\n\t.list-group-horizontal-lg > .list-group-item + .list-group-item {\n\t\tborder-top-width: var(--bs-list-group-border-width);\n\t\tborder-right-width: 0;\n\t}\n\n\t.list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n\t\tmargin-right: calc(-1 * var(--bs-list-group-border-width));\n\t\tborder-right-width: var(--bs-list-group-border-width);\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.list-group-horizontal-xl {\n\t\tflex-direction: row;\n\t}\n\n\t.list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {\n\t\tborder-bottom-right-radius: var(--bs-list-group-border-radius);\n\t\tborder-top-left-radius: 0;\n\t}\n\n\t.list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {\n\t\tborder-top-left-radius: var(--bs-list-group-border-radius);\n\t\tborder-bottom-right-radius: 0;\n\t}\n\n\t.list-group-horizontal-xl > .list-group-item.active {\n\t\tmargin-top: 0;\n\t}\n\n\t.list-group-horizontal-xl > .list-group-item + .list-group-item {\n\t\tborder-top-width: var(--bs-list-group-border-width);\n\t\tborder-right-width: 0;\n\t}\n\n\t.list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n\t\tmargin-right: calc(-1 * var(--bs-list-group-border-width));\n\t\tborder-right-width: var(--bs-list-group-border-width);\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.list-group-horizontal-xxl {\n\t\tflex-direction: row;\n\t}\n\n\t.list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {\n\t\tborder-bottom-right-radius: var(--bs-list-group-border-radius);\n\t\tborder-top-left-radius: 0;\n\t}\n\n\t.list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {\n\t\tborder-top-left-radius: var(--bs-list-group-border-radius);\n\t\tborder-bottom-right-radius: 0;\n\t}\n\n\t.list-group-horizontal-xxl > .list-group-item.active {\n\t\tmargin-top: 0;\n\t}\n\n\t.list-group-horizontal-xxl > .list-group-item + .list-group-item {\n\t\tborder-top-width: var(--bs-list-group-border-width);\n\t\tborder-right-width: 0;\n\t}\n\n\t.list-group-horizontal-xxl > .list-group-item + .list-group-item.active {\n\t\tmargin-right: calc(-1 * var(--bs-list-group-border-width));\n\t\tborder-right-width: var(--bs-list-group-border-width);\n\t}\n}\n\n.list-group-flush {\n\tborder-radius: 0;\n}\n\n.list-group-flush > .list-group-item {\n\tborder-width: 0 0 var(--bs-list-group-border-width);\n}\n\n.list-group-flush > .list-group-item:last-child {\n\tborder-bottom-width: 0;\n}\n\n/* Primary list group item */\n\n.list-group-item-primary {\n\t--bs-list-group-color: var(--bs-body-color);\n\t--bs-list-group-bg: hsla(var(--bs-primary-hsl), 0.125);\n\t--bs-list-group-border-color: var(--bs-border-color);\n\t--bs-list-group-action-hover-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-hover-bg: hsla(var(--bs-primary-hsl), 0.2);\n\t--bs-list-group-action-active-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-active-bg: hsla(var(--bs-primary-hsl), 0.25);\n\t--bs-list-group-active-color: var(--bs-primary-foreground);\n\t--bs-list-group-active-bg: var(--bs-primary-hover-bg);\n\t--bs-list-group-active-border-color: var(--bs-primary-hover-bg);\n}\n\n/* Secondary list group item */\n\n.list-group-item-secondary {\n\t--bs-list-group-color: var(--bs-body-color);\n\t--bs-list-group-bg: hsla(var(--bs-secondary-hsl), 0.125);\n\t--bs-list-group-border-color: var(--bs-border-color);\n\t--bs-list-group-action-hover-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-hover-bg: hsla(var(--bs-secondary-hsl), 0.2);\n\t--bs-list-group-action-active-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-active-bg: hsla(var(--bs-secondary-hsl), 0.25);\n\t--bs-list-group-active-color: var(--bs-secondary-foreground);\n\t--bs-list-group-active-bg: var(--bs-secondary-hover-bg);\n\t--bs-list-group-active-border-color: var(--bs-secondary-hover-bg);\n}\n\n/* Success list group item */\n\n.list-group-item-success {\n\t--bs-list-group-color: var(--bs-body-color);\n\t--bs-list-group-bg: hsla(var(--bs-success-hsl), 0.125);\n\t--bs-list-group-border-color: var(--bs-border-color);\n\t--bs-list-group-action-hover-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-hover-bg: hsla(var(--bs-success-hsl), 0.2);\n\t--bs-list-group-action-active-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-active-bg: hsla(var(--bs-success-hsl), 0.25);\n\t--bs-list-group-active-color: var(--bs-success-foreground);\n\t--bs-list-group-active-bg: var(--bs-success-hover-bg);\n\t--bs-list-group-active-border-color: var(--bs-success-hover-bg);\n}\n\n/* Info list group item */\n\n.list-group-item-info {\n\t--bs-list-group-color: var(--bs-body-color);\n\t--bs-list-group-bg: hsla(var(--bs-info-hsl), 0.125);\n\t--bs-list-group-border-color: var(--bs-border-color);\n\t--bs-list-group-action-hover-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-hover-bg: hsla(var(--bs-info-hsl), 0.2);\n\t--bs-list-group-action-active-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-active-bg: hsla(var(--bs-info-hsl), 0.25);\n\t--bs-list-group-active-color: var(--bs-info-foreground);\n\t--bs-list-group-active-bg: var(--bs-info-hover-bg);\n\t--bs-list-group-active-border-color: var(--bs-info-hover-bg);\n}\n\n/* Warning list group item */\n\n.list-group-item-warning {\n\t--bs-list-group-color: var(--bs-body-color);\n\t--bs-list-group-bg: hsla(var(--bs-warning-hsl), 0.125);\n\t--bs-list-group-border-color: var(--bs-border-color);\n\t--bs-list-group-action-hover-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-hover-bg: hsla(var(--bs-warning-hsl), 0.2);\n\t--bs-list-group-action-active-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-active-bg: hsla(var(--bs-warning-hsl), 0.25);\n\t--bs-list-group-active-color: var(--bs-warning-foreground);\n\t--bs-list-group-active-bg: var(--bs-warning-hover-bg);\n\t--bs-list-group-active-border-color: var(--bs-warning-hover-bg);\n}\n\n/* Danger list group item */\n\n.list-group-item-danger {\n\t--bs-list-group-color: var(--bs-body-color);\n\t--bs-list-group-bg: hsla(var(--bs-danger-hsl), 0.125);\n\t--bs-list-group-border-color: var(--bs-border-color);\n\t--bs-list-group-action-hover-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-hover-bg: hsla(var(--bs-danger-hsl), 0.2);\n\t--bs-list-group-action-active-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-active-bg: hsla(var(--bs-danger-hsl), 0.25);\n\t--bs-list-group-active-color: var(--bs-danger-foreground);\n\t--bs-list-group-active-bg: var(--bs-danger-hover-bg);\n\t--bs-list-group-active-border-color: var(--bs-danger-hover-bg);\n}\n\n/* Light list group item */\n\n.list-group-item-light {\n\t--bs-list-group-color: var(--bs-body-color);\n\t--bs-list-group-bg: hsla(var(--bs-light-hsl), 0.125);\n\t--bs-list-group-border-color: var(--bs-border-color);\n\t--bs-list-group-action-hover-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-hover-bg: hsla(var(--bs-light-hsl), 0.2);\n\t--bs-list-group-action-active-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-active-bg: hsla(var(--bs-light-hsl), 0.25);\n\t--bs-list-group-active-color: var(--bs-light-foreground);\n\t--bs-list-group-active-bg: var(--bs-light-hover-bg);\n\t--bs-list-group-active-border-color: var(--bs-light-hover-bg);\n}\n\n/* Dark list group item */\n\n.list-group-item-dark {\n\t--bs-list-group-color: var(--bs-body-color);\n\t--bs-list-group-bg: hsla(var(--bs-dark-hsl), 0.125);\n\t--bs-list-group-border-color: var(--bs-border-color);\n\t--bs-list-group-action-hover-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-hover-bg: hsla(var(--bs-dark-hsl), 0.2);\n\t--bs-list-group-action-active-color: var(--bs-list-group-action-color);\n\t--bs-list-group-action-active-bg: hsla(var(--bs-dark-hsl), 0.25);\n\t--bs-list-group-active-color: var(--bs-dark-foreground);\n\t--bs-list-group-active-bg: var(--bs-dark-hover-bg);\n\t--bs-list-group-active-border-color: var(--bs-dark-hover-bg);\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Close button ]\n * ----------------------------------------------------------------------------\n */\n\n.btn-close {\n\t--bs-btn-close-color: var(--bs-black);\n\t--bs-btn-close-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e\");\n\t--bs-btn-close-opacity: 0.5;\n\t--bs-btn-close-hover-opacity: 0.75;\n\t--bs-btn-close-focus-shadow: 0 0 0 var(--bs-focus-ring-width) hsla(var(--bs-black-hsl), 0.25);\n\t--bs-btn-close-focus-opacity: 1;\n\t--bs-btn-close-disabled-opacity: 0.25;\n\t--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);\n\tbox-sizing: content-box;\n\twidth: 1em;\n\theight: 1em;\n\tpadding: var(--bs-relative-font-size-4xs);\n\tcolor: var(--bs-btn-close-color);\n\tbackground: transparent var(--bs-btn-close-bg) center/1em auto no-repeat;\n\tborder: 0;\n\tborder-radius: var(--bs-border-radius-sm);\n\topacity: var(--bs-btn-close-opacity);\n}\n\n.btn-close:hover {\n\tcolor: var(--bs-btn-close-color);\n\ttext-decoration: none;\n\topacity: var(--bs-btn-close-hover-opacity);\n}\n\n.btn-close:focus {\n\toutline: 0;\n\tbox-shadow: var(--bs-btn-close-focus-shadow);\n\topacity: var(--bs-btn-close-focus-opacity);\n}\n\n.btn-close:disabled, .btn-close.disabled {\n\tpointer-events: none;\n\t-webkit-user-select: none;\n\t-moz-user-select: none;\n\tuser-select: none;\n\topacity: var(--bs-btn-close-disabled-opacity);\n}\n\n[data-bs-theme=dark] .btn-close {\n\tfilter: var(--bs-btn-close-white-filter);\n}\n\n/* Local light and dark variants */\n\n.btn-close[data-bs-theme=light] {\n\tfilter: none;\n}\n\n.btn-close[data-bs-theme=dark] {\n\tfilter: var(--bs-btn-close-white-filter);\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Toast ]\n * ----------------------------------------------------------------------------\n */\n\n.toast {\n\t--bs-toast-zindex: 1090;\n\t--bs-toast-padding-x: 0.75rem;\n\t--bs-toast-padding-y: 0.5rem;\n\t--bs-toast-spacing: 1.5rem;\n\t--bs-toast-max-width: 21.875rem;\n\t--bs-toast-font-size: 0.875rem;\n\t--bs-toast-color: ;\n\t--bs-toast-bg: hsla(var(--bs-content-floating-bg-hsl), 0.95);\n\t--bs-toast-border-width: var(--bs-border-width);\n\t--bs-toast-border-color: var(--bs-content-floating-border-color);\n\t--bs-toast-border-radius: var(--bs-border-radius);\n\t--bs-toast-box-shadow: var(--bs-content-floating-box-shadow);\n\t--bs-toast-header-color: var(--bs-secondary-color);\n\t--bs-toast-header-bg: var(--bs-toast-bg);\n\t--bs-toast-header-border-color: var(--bs-border-color-translucent);\n\twidth: var(--bs-toast-max-width);\n\tmax-width: 100%;\n\tfont-size: var(--bs-toast-font-size);\n\tcolor: var(--bs-toast-color);\n\tpointer-events: auto;\n\tbackground-color: var(--bs-toast-bg);\n\tbackground-clip: padding-box;\n\tborder: var(--bs-toast-border-width) solid var(--bs-toast-border-color);\n\tbox-shadow: var(--bs-toast-box-shadow);\n\tborder-radius: var(--bs-toast-border-radius);\n}\n\n.toast.showing {\n\topacity: 0;\n}\n\n.toast:not(.show) {\n\tdisplay: none;\n}\n\n.toast-container {\n\t--bs-toast-zindex: 1090;\n\tposition: absolute;\n\tz-index: var(--bs-toast-zindex);\n\twidth: -webkit-max-content;\n\twidth: -moz-max-content;\n\twidth: max-content;\n\tmax-width: 100%;\n\tpointer-events: none;\n}\n\n.toast-container > :not(:last-child) {\n\tmargin-bottom: var(--bs-toast-spacing);\n}\n\n.toast-header {\n\tdisplay: flex;\n\talign-items: center;\n\tpadding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);\n\tcolor: var(--bs-toast-header-color);\n\tbackground-color: var(--bs-toast-header-bg);\n\tbackground-clip: padding-box;\n\tborder-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);\n\tborder-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));\n\tborder-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));\n}\n\n.toast-header .btn-close {\n\tmargin-left: calc(-0.5 * var(--bs-toast-padding-x));\n\tmargin-right: var(--bs-toast-padding-x);\n}\n\n.toast-body {\n\tpadding: var(--bs-toast-padding-x);\n\tword-wrap: break-word;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Modal ]\n * ----------------------------------------------------------------------------\n */\n\n.modal {\n\t--bs-modal-zindex: 1055;\n\t--bs-modal-width: 25rem;\n\t--bs-modal-padding: 1rem;\n\t--bs-modal-margin: 0.5rem;\n\t--bs-modal-color: ;\n\t--bs-modal-bg: var(--bs-content-bg);\n\t--bs-modal-border-color: var(--bs-content-border-color);\n\t--bs-modal-border-width: var(--bs-border-width);\n\t--bs-modal-border-radius: var(--bs-border-radius-lg);\n\t--bs-modal-box-shadow: var(--bs-content-box-shadow);\n\t--bs-modal-inner-border-radius: calc(var(--bs-modal-border-radius) - (var(--bs-modal-border-width)));\n\t--bs-modal-header-padding-x: 1rem;\n\t--bs-modal-header-padding-y: 1rem;\n\t--bs-modal-header-padding: var(--bs-modal-header-padding-y) var(--bs-modal-header-padding-x);\n\t--bs-modal-header-border-color: var(--bs-border-color-translucent);\n\t--bs-modal-header-border-width: var(--bs-border-width);\n\t--bs-modal-title-line-height: var(--bs-line-height-sm);\n\t--bs-modal-footer-padding-x: 1rem;\n\t--bs-modal-footer-padding-y: 1rem;\n\t--bs-modal-footer-gap: 0.5rem;\n\t--bs-modal-footer-bg: ;\n\t--bs-modal-footer-border-color: var(--bs-border-color-translucent);\n\t--bs-modal-footer-border-width: var(--bs-border-width);\n\tposition: fixed;\n\ttop: 0;\n\tright: 0;\n\tz-index: var(--bs-modal-zindex);\n\tdisplay: none;\n\twidth: 100%;\n\theight: 100%;\n\toverflow-x: hidden;\n\toverflow-y: auto;\n\toutline: 0;\n}\n\n.modal-dialog {\n\tposition: relative;\n\twidth: auto;\n\tmargin: var(--bs-modal-margin);\n\tpointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n\ttransition: transform 0.3s ease-out;\n\ttransform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.modal.fade .modal-dialog {\n\t\ttransition: none;\n\t}\n}\n\n.modal.show .modal-dialog {\n\ttransform: none;\n}\n\n.modal.modal-static .modal-dialog {\n\ttransform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n\theight: calc(100% - var(--bs-modal-margin) * 2);\n}\n\n.modal-dialog-scrollable .modal-content {\n\tmax-height: 100%;\n\toverflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-body {\n\toverflow-y: auto;\n}\n\n.modal-dialog-centered {\n\tdisplay: flex;\n\talign-items: center;\n\tmin-height: calc(100% - var(--bs-modal-margin) * 2);\n}\n\n.modal-content {\n\tposition: relative;\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 100%;\n\tcolor: var(--bs-modal-color);\n\tpointer-events: auto;\n\tbackground-color: var(--bs-modal-bg);\n\tbackground-clip: padding-box;\n\tborder: var(--bs-modal-border-width) solid var(--bs-modal-border-color);\n\tborder-radius: var(--bs-modal-border-radius);\n\tbox-shadow: var(--bs-modal-box-shadow);\n\toutline: 0;\n}\n\n.modal-backdrop {\n\t--bs-backdrop-zindex: 1050;\n\t--bs-backdrop-bg: var(--bs-black);\n\t--bs-backdrop-opacity: 0.5;\n\tposition: fixed;\n\ttop: 0;\n\tright: 0;\n\tz-index: var(--bs-backdrop-zindex);\n\twidth: 100vw;\n\theight: 100vh;\n\tbackground-color: var(--bs-backdrop-bg);\n}\n\n.modal-backdrop.fade {\n\topacity: 0;\n}\n\n.modal-backdrop.show {\n\topacity: var(--bs-backdrop-opacity);\n}\n\n.modal-header {\n\tdisplay: flex;\n\tflex-shrink: 0;\n\talign-items: center;\n\tjustify-content: space-between;\n\tpadding: var(--bs-modal-header-padding);\n\tborder-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);\n\tborder-top-right-radius: var(--bs-modal-inner-border-radius);\n\tborder-top-left-radius: var(--bs-modal-inner-border-radius);\n}\n\n.modal-header .btn-close {\n\tpadding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5);\n\tmargin: calc(-0.5 * var(--bs-modal-header-padding-y)) auto calc(-0.5 * var(--bs-modal-header-padding-y)) calc(-0.5 * var(--bs-modal-header-padding-x));\n}\n\n.modal-title {\n\tmargin-bottom: 0;\n\tline-height: var(--bs-modal-title-line-height);\n}\n\n.modal-body {\n\tposition: relative;\n\tflex: 1 1 auto;\n\tpadding: var(--bs-modal-padding);\n}\n\n.modal-footer {\n\tdisplay: flex;\n\tflex-shrink: 0;\n\tflex-wrap: wrap;\n\talign-items: center;\n\tjustify-content: flex-end;\n\tpadding: calc(var(--bs-modal-footer-padding-y) - var(--bs-modal-footer-gap) * 0.5) calc(var(--bs-modal-footer-padding-x) - var(--bs-modal-footer-gap) * 0.5);\n\tbackground-color: var(--bs-modal-footer-bg);\n\tborder-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);\n\tborder-bottom-left-radius: var(--bs-modal-inner-border-radius);\n\tborder-bottom-right-radius: var(--bs-modal-inner-border-radius);\n}\n\n.modal-footer > * {\n\tmargin: calc(var(--bs-modal-footer-gap) * 0.5);\n}\n\n@media (min-width: 576px) {\n\t.modal {\n\t\t--bs-modal-margin: 1.75rem;\n\t}\n\n\t.modal-dialog {\n\t\tmax-width: var(--bs-modal-width);\n\t\tmargin-left: auto;\n\t\tmargin-right: auto;\n\t}\n\n\t.modal-sm {\n\t\t--bs-modal-width: 18.75rem;\n\t}\n}\n\n@media (min-width: 992px) {\n\t.modal-lg,\n\t.modal-xl {\n\t\t--bs-modal-width: 42.5rem;\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.modal-xl {\n\t\t--bs-modal-width: 65rem;\n\t}\n}\n\n.modal-fullscreen {\n\twidth: 100vw;\n\tmax-width: none;\n\theight: 100%;\n\tmargin: 0;\n}\n\n.modal-fullscreen .modal-content {\n\theight: 100%;\n\tborder: 0;\n\tborder-radius: 0;\n}\n\n.modal-fullscreen .modal-header,\n.modal-fullscreen .modal-footer {\n\tborder-radius: 0;\n}\n\n.modal-fullscreen .modal-body {\n\toverflow-y: auto;\n}\n\n@media (max-width: 575.98px) {\n\t.modal-fullscreen-sm-down {\n\t\twidth: 100vw;\n\t\tmax-width: none;\n\t\theight: 100%;\n\t\tmargin: 0;\n\t}\n\n\t.modal-fullscreen-sm-down .modal-content {\n\t\theight: 100%;\n\t\tborder: 0;\n\t\tborder-radius: 0;\n\t}\n\n\t.modal-fullscreen-sm-down .modal-header,\n\t.modal-fullscreen-sm-down .modal-footer {\n\t\tborder-radius: 0;\n\t}\n\n\t.modal-fullscreen-sm-down .modal-body {\n\t\toverflow-y: auto;\n\t}\n}\n\n@media (max-width: 767.98px) {\n\t.modal-fullscreen-md-down {\n\t\twidth: 100vw;\n\t\tmax-width: none;\n\t\theight: 100%;\n\t\tmargin: 0;\n\t}\n\n\t.modal-fullscreen-md-down .modal-content {\n\t\theight: 100%;\n\t\tborder: 0;\n\t\tborder-radius: 0;\n\t}\n\n\t.modal-fullscreen-md-down .modal-header,\n\t.modal-fullscreen-md-down .modal-footer {\n\t\tborder-radius: 0;\n\t}\n\n\t.modal-fullscreen-md-down .modal-body {\n\t\toverflow-y: auto;\n\t}\n}\n\n@media (max-width: 991.98px) {\n\t.modal-fullscreen-lg-down {\n\t\twidth: 100vw;\n\t\tmax-width: none;\n\t\theight: 100%;\n\t\tmargin: 0;\n\t}\n\n\t.modal-fullscreen-lg-down .modal-content {\n\t\theight: 100%;\n\t\tborder: 0;\n\t\tborder-radius: 0;\n\t}\n\n\t.modal-fullscreen-lg-down .modal-header,\n\t.modal-fullscreen-lg-down .modal-footer {\n\t\tborder-radius: 0;\n\t}\n\n\t.modal-fullscreen-lg-down .modal-body {\n\t\toverflow-y: auto;\n\t}\n}\n\n@media (max-width: 1199.98px) {\n\t.modal-fullscreen-xl-down {\n\t\twidth: 100vw;\n\t\tmax-width: none;\n\t\theight: 100%;\n\t\tmargin: 0;\n\t}\n\n\t.modal-fullscreen-xl-down .modal-content {\n\t\theight: 100%;\n\t\tborder: 0;\n\t\tborder-radius: 0;\n\t}\n\n\t.modal-fullscreen-xl-down .modal-header,\n\t.modal-fullscreen-xl-down .modal-footer {\n\t\tborder-radius: 0;\n\t}\n\n\t.modal-fullscreen-xl-down .modal-body {\n\t\toverflow-y: auto;\n\t}\n}\n\n@media (max-width: 1399.98px) {\n\t.modal-fullscreen-xxl-down {\n\t\twidth: 100vw;\n\t\tmax-width: none;\n\t\theight: 100%;\n\t\tmargin: 0;\n\t}\n\n\t.modal-fullscreen-xxl-down .modal-content {\n\t\theight: 100%;\n\t\tborder: 0;\n\t\tborder-radius: 0;\n\t}\n\n\t.modal-fullscreen-xxl-down .modal-header,\n\t.modal-fullscreen-xxl-down .modal-footer {\n\t\tborder-radius: 0;\n\t}\n\t\n\t.modal-fullscreen-xxl-down .modal-body {\n\t\toverflow-y: auto;\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Tooltips ]\n * ----------------------------------------------------------------------------\n */\n\n.tooltip {\n\t--bs-tooltip-zindex: 1080;\n\t--bs-tooltip-max-width: 12.5rem;\n\t--bs-tooltip-padding-x: 0.5rem;\n\t--bs-tooltip-padding-y: 0.25rem;\n\t--bs-tooltip-margin: ;\n\t--bs-tooltip-font-size: var(--bs-font-size-sm);\n\t--bs-tooltip-color: var(--bs-body-bg);\n\t--bs-tooltip-bg: var(--bs-emphasis-color);\n\t--bs-tooltip-border-radius: var(--bs-border-radius);\n\t--bs-tooltip-opacity: 0.95;\n\t--bs-tooltip-webkit-font-smoothing: auto;\n\t--bs-tooltip-moz-osx-font-smoothing: auto;\n\t--bs-tooltip-arrow-width: 0.8rem;\n\t--bs-tooltip-arrow-height: 0.4rem;\n\tz-index: var(--bs-tooltip-zindex);\n\tdisplay: block;\n\tmargin: var(--bs-tooltip-margin);\n\tfont-family: var(--bs-body-font-family);\n\tfont-style: normal;\n\tfont-weight: var(--bs-font-weight-normal);\n\tline-height: var(--bs-line-height-base);\n\ttext-align: right;\n\ttext-align: start;\n\ttext-decoration: none;\n\ttext-shadow: none;\n\ttext-transform: none;\n\tletter-spacing: normal;\n\tword-break: normal;\n\twhite-space: normal;\n\tword-spacing: normal;\n\tline-break: auto;\n\tfont-size: var(--bs-tooltip-font-size);\n\tword-wrap: break-word;\n\topacity: 0;\n}\n\n.tooltip.show {\n\topacity: var(--bs-tooltip-opacity);\n}\n\n.tooltip .tooltip-arrow {\n\tdisplay: block;\n\twidth: var(--bs-tooltip-arrow-width);\n\theight: var(--bs-tooltip-arrow-height);\n}\n\n.tooltip .tooltip-arrow::before {\n\tposition: absolute;\n\tcontent: \"\";\n\tborder-color: transparent;\n\tborder-style: solid;\n}\n\n.bs-tooltip-top .tooltip-arrow,\n.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {\n\tbottom: calc(-1 * var(--bs-tooltip-arrow-height));\n}\n\n.bs-tooltip-top .tooltip-arrow::before,\n.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {\n\ttop: -1px;\n\tborder-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;\n\tborder-top-color: var(--bs-tooltip-bg);\n}\n.bs-tooltip-end .tooltip-arrow,\n.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {\n\tleft: calc(-1 * var(--bs-tooltip-arrow-height));\n\twidth: var(--bs-tooltip-arrow-height);\n\theight: var(--bs-tooltip-arrow-width);\n}\n\n.bs-tooltip-end .tooltip-arrow::before,\n.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {\n\tright: -1px;\n\tborder-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;\n\tborder-right-color: var(--bs-tooltip-bg);\n}\n\n.bs-tooltip-bottom .tooltip-arrow,\n.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {\n\ttop: calc(-1 * var(--bs-tooltip-arrow-height));\n}\n\n.bs-tooltip-bottom .tooltip-arrow::before,\n.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {\n\tbottom: -1px;\n\tborder-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);\n\tborder-bottom-color: var(--bs-tooltip-bg);\n}\n.bs-tooltip-start .tooltip-arrow,\n.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {\n\tright: calc(-1 * var(--bs-tooltip-arrow-height));\n\twidth: var(--bs-tooltip-arrow-height);\n\theight: var(--bs-tooltip-arrow-width);\n}\n\n.bs-tooltip-start .tooltip-arrow::before,\n.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {\n\tleft: -1px;\n\tborder-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);\n\tborder-left-color: var(--bs-tooltip-bg);\n}\n\n.tooltip-inner {\n\tmax-width: var(--bs-tooltip-max-width);\n\tpadding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);\n\tcolor: var(--bs-tooltip-color);\n\ttext-align: center;\n\tbackground-color: var(--bs-tooltip-bg);\n\tborder-radius: var(--bs-tooltip-border-radius);\n\t-webkit-font-smoothing: var(--bs-tooltip-webkit-font-smoothing);\n\t-moz-osx-font-smoothing: var(--bs-tooltip-moz-osx-font-smoothing);\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Popovers ]\n * ----------------------------------------------------------------------------\n */\n\n.popover {\n\t--bs-popover-zindex: 1070;\n\t--bs-popover-max-width: 17.25rem;\n\t--bs-popover-font-size: var(--bs-font-size-base);\n\t--bs-popover-bg: var(--bs-content-floating-bg);\n\t--bs-popover-border-width: var(--bs-border-width);\n\t--bs-popover-border-color: var(--bs-content-floating-border-color);\n\t--bs-popover-border-radius: var(--bs-border-radius);\n\t--bs-popover-inner-border-radius: calc(var(--bs-popover-border-radius) - var(--bs-popover-border-width));\n\t--bs-popover-box-shadow: var(--bs-content-floating-box-shadow);\n\t--bs-popover-header-padding-x: 0.75rem;\n\t--bs-popover-header-padding-y: 0.5rem;\n\t--bs-popover-header-font-size: var(--bs-popover-font-size);\n\t--bs-popover-header-color: var(--bs-body-color);\n\t--bs-popover-header-bg: var(--bs-popover-bg);\n\t--bs-popover-header-border-color: var(--bs-border-color-translucent);\n\t--bs-popover-body-padding-x: 0.75rem;\n\t--bs-popover-body-padding-y: 0.75rem;\n\t--bs-popover-body-color: var(--bs-content-floating-color);\n\t--bs-popover-arrow-width: 1rem;\n\t--bs-popover-arrow-height: 0.5rem;\n\t--bs-popover-arrow-border: var(--bs-popover-border-color);\n\tz-index: var(--bs-popover-zindex);\n\tdisplay: block;\n\tmax-width: var(--bs-popover-max-width);\n\tfont-family: var(--bs-body-font-family);\n\tfont-style: normal;\n\tfont-weight: var(--bs-font-weight-normal);\n\tline-height: var(--bs-line-height-base);\n\ttext-align: right;\n\ttext-align: start;\n\ttext-decoration: none;\n\ttext-shadow: none;\n\ttext-transform: none;\n\tletter-spacing: normal;\n\tword-break: normal;\n\twhite-space: normal;\n\tword-spacing: normal;\n\tline-break: auto;\n\tfont-size: var(--bs-popover-font-size);\n\tword-wrap: break-word;\n\tbackground-color: var(--bs-popover-bg);\n\tbackground-clip: padding-box;\n\tborder: var(--bs-popover-border-width) solid var(--bs-popover-border-color);\n\tborder-radius: var(--bs-popover-border-radius);\n\tbox-shadow: var(--bs-popover-box-shadow);\n}\n\n.popover .popover-arrow {\n\tdisplay: block;\n\twidth: var(--bs-popover-arrow-width);\n\theight: var(--bs-popover-arrow-height);\n}\n\n.popover .popover-arrow::before,\n.popover .popover-arrow::after {\n\tposition: absolute;\n\tdisplay: block;\n\tcontent: \"\";\n\tborder-color: transparent;\n\tborder-style: solid;\n\tborder-width: 0;\n}\n\n.bs-popover-top > .popover-arrow,\n.bs-popover-auto[data-popper-placement^=top] > .popover-arrow {\n\tbottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\n}\n\n.bs-popover-top > .popover-arrow::before,\n.bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before,\n.bs-popover-top > .popover-arrow::after,\n.bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {\n\tborder-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;\n}\n\n.bs-popover-top > .popover-arrow::before,\n.bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {\n\tbottom: 0;\n\tborder-top-color: var(--bs-popover-arrow-border);\n}\n\n.bs-popover-top > .popover-arrow::after,\n.bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {\n\tbottom: var(--bs-popover-border-width);\n\tborder-top-color: var(--bs-popover-bg);\n}\n.bs-popover-end > .popover-arrow,\n.bs-popover-auto[data-popper-placement^=right] > .popover-arrow {\n\tleft: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\n\twidth: var(--bs-popover-arrow-height);\n\theight: var(--bs-popover-arrow-width);\n}\n\n.bs-popover-end > .popover-arrow::before,\n.bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before,\n.bs-popover-end > .popover-arrow::after,\n.bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {\n\tborder-width: calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;\n}\n\n.bs-popover-end > .popover-arrow::before,\n.bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {\n\tleft: 0;\n\tborder-right-color: var(--bs-popover-arrow-border);\n}\n\n.bs-popover-end > .popover-arrow::after,\n.bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {\n\tleft: var(--bs-popover-border-width);\n\tborder-right-color: var(--bs-popover-bg);\n}\n\n.bs-popover-bottom > .popover-arrow,\n.bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {\n\ttop: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\n}\n\n.bs-popover-bottom > .popover-arrow::before,\n.bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before,\n.bs-popover-bottom > .popover-arrow::after,\n.bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {\n\tborder-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);\n}\n\n.bs-popover-bottom > .popover-arrow::before,\n.bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before {\n\ttop: 0;\n\tborder-bottom-color: var(--bs-popover-arrow-border);\n}\n\n.bs-popover-bottom > .popover-arrow::after,\n.bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {\n\ttop: var(--bs-popover-border-width);\n\tborder-bottom-color: var(--bs-popover-bg);\n}\n\n.bs-popover-bottom .popover-header::before,\n.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before {\n\tposition: absolute;\n\ttop: 0;\n\tright: 50%;\n\tdisplay: block;\n\twidth: var(--bs-popover-arrow-width);\n\tmargin-right: calc(-0.5 * var(--bs-popover-arrow-width));\n\tcontent: \"\";\n\tborder-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg);\n}\n.bs-popover-start > .popover-arrow,\n.bs-popover-auto[data-popper-placement^=left] > .popover-arrow {\n\tright: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\n\twidth: var(--bs-popover-arrow-height);\n\theight: var(--bs-popover-arrow-width);\n}\n\n.bs-popover-start > .popover-arrow::before,\n.bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before,\n.bs-popover-start > .popover-arrow::after,\n.bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {\n\tborder-width: calc(var(--bs-popover-arrow-width) * 0.5) 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);\n}\n\n.bs-popover-start > .popover-arrow::before,\n.bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {\n\tright: 0;\n\tborder-left-color: var(--bs-popover-arrow-border);\n}\n\n.bs-popover-start > .popover-arrow::after,\n.bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {\n\tright: var(--bs-popover-border-width);\n\tborder-left-color: var(--bs-popover-bg);\n}\n\n.popover-header {\n\tpadding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);\n\tmargin-bottom: 0;\n\tfont-size: var(--bs-popover-header-font-size);\n\tcolor: var(--bs-popover-header-color);\n\tbackground-color: var(--bs-popover-header-bg);\n\tborder-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-border-color);\n\tborder-top-right-radius: var(--bs-popover-inner-border-radius);\n\tborder-top-left-radius: var(--bs-popover-inner-border-radius);\n}\n\n.popover-header:empty {\n\tdisplay: none;\n}\n\n.popover-body {\n\tpadding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);\n\tcolor: var(--bs-popover-body-color);\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Carousel ]\n * ----------------------------------------------------------------------------\n */\n\n.carousel {\n\tposition: relative;\n}\n\n.carousel.pointer-event {\n\ttouch-action: pan-y;\n}\n\n.carousel-inner {\n\tposition: relative;\n\twidth: 100%;\n\toverflow: hidden;\n}\n\n.carousel-inner::after {\n\tdisplay: block;\n\tclear: both;\n\tcontent: \"\";\n}\n\n.carousel-item {\n\tposition: relative;\n\tdisplay: none;\n\tfloat: right;\n\twidth: 100%;\n\tmargin-left: -100%;\n\t-webkit-backface-visibility: hidden;\n\tbackface-visibility: hidden;\n\ttransition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.carousel-item {\n\t\ttransition: none;\n\t}\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n\tdisplay: block;\n}\n\n.carousel-item-next:not(.carousel-item-start),\n.active.carousel-item-end {\n\ttransform: translateX(-100%);\n}\n\n.carousel-item-prev:not(.carousel-item-end),\n.active.carousel-item-start {\n\ttransform: translateX(100%);\n}\n\n.carousel-fade .carousel-item {\n\topacity: 0;\n\ttransition-property: opacity;\n\ttransform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-start,\n.carousel-fade .carousel-item-prev.carousel-item-end {\n\tz-index: 1;\n\topacity: 1;\n}\n\n.carousel-fade .active.carousel-item-start,\n.carousel-fade .active.carousel-item-end {\n\tz-index: 0;\n\topacity: 0;\n\ttransition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.carousel-fade .active.carousel-item-start,\n\t.carousel-fade .active.carousel-item-end {\n\t\ttransition: none;\n\t}\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tz-index: 1;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 15%;\n\tpadding: 0;\n\tcolor: var(--bs-white);\n\ttext-align: center;\n\tbackground: none;\n\tborder: 0;\n\topacity: 0.5;\n\ttransition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.carousel-control-prev,\n\t.carousel-control-next {\n\t\ttransition: none;\n\t}\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n\tcolor: var(--bs-white);\n\ttext-decoration: none;\n\toutline: 0;\n\topacity: 0.9;\n}\n\n.carousel-control-prev {\n\tright: 0;\n}\n\n.carousel-control-next {\n\tleft: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n\tdisplay: inline-block;\n\twidth: 2.5rem;\n\theight: 2.5rem;\n\tbackground-color: var(--bs-white);\n\tbackground-repeat: no-repeat;\n\tbackground-size: 50% 50%;\n\tborder-radius: 50%;\n}\n\n.carousel-control-prev-icon {\n\tbackground-position: 55% center;\n}\n\n.carousel-control-next-icon {\n\tbackground-position: 45% center;\n}\n\n.carousel-control-next-icon {\n\tbackground-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23242628'%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\");\n}\n\n.carousel-control-prev-icon {\n\tbackground-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23242628'%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\");\n}\n\n.carousel-indicators {\n\tposition: absolute;\n\tleft: 0;\n\tbottom: 0;\n\tright: 0;\n\tz-index: 2;\n\tdisplay: flex;\n\tjustify-content: center;\n\tpadding: 0;\n\tmargin-left: 15%;\n\tmargin-bottom: 1rem;\n\tmargin-right: 15%;\n}\n\n.carousel-indicators [data-bs-target] {\n\tbox-sizing: content-box;\n\tflex: 0 1 auto;\n\twidth: 1.875rem;\n\theight: 0.1875rem;\n\tpadding: 0;\n\tmargin-left: 0.1875rem;\n\tmargin-right: 0.1875rem;\n\ttext-indent: -999px;\n\tcursor: pointer;\n\tbackground-color: var(--bs-white);\n\tbackground-clip: padding-box;\n\tborder: 0;\n\tborder-top: 0.625rem solid transparent;\n\tborder-bottom: 0.625rem solid transparent;\n\topacity: 0.5;\n\ttransition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.carousel-indicators [data-bs-target] {\n\t\ttransition: none;\n\t}\n}\n\n.carousel-indicators .active {\n\topacity: 1;\n}\n\n.carousel-caption {\n\tposition: absolute;\n\tleft: 15%;\n\tbottom: 1.25rem;\n\tright: 15%;\n\tpadding-top: 1.25rem;\n\tpadding-bottom: 1.25rem;\n\tcolor: var(--bs-white);\n\ttext-align: center;\n}\n\n[data-bs-theme=dark] .carousel .carousel-control-next-icon,\n[data-bs-theme=dark] .carousel .carousel-control-prev-icon,\n[data-bs-theme=dark].carousel .carousel-control-next-icon,\n[data-bs-theme=dark].carousel .carousel-control-prev-icon {\n\tbackground-color: var(--bs-black);\n}\n\n[data-bs-theme=dark] .carousel .carousel-control-next-icon,\n[data-bs-theme=dark].carousel .carousel-control-next-icon {\n\tbackground-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23c9cbcf'%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\");\n}\n\n[data-bs-theme=dark] .carousel .carousel-control-prev-icon,\n[data-bs-theme=dark].carousel .carousel-control-prev-icon {\n\tbackground-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23c9cbcf'%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\");\n}\n\n[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],\n[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target] {\n\tbackground-color: var(--bs-black);\n}\n\n[data-bs-theme=dark] .carousel .carousel-caption,\n[data-bs-theme=dark].carousel .carousel-caption {\n\tcolor: var(--bs-black);\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Spinner ]\n * ----------------------------------------------------------------------------\n */\n\n.spinner-grow,\n.spinner-border {\n\tdisplay: inline-block;\n\twidth: var(--bs-spinner-width);\n\theight: var(--bs-spinner-height);\n\tvertical-align: var(--bs-spinner-vertical-align);\n\tborder-radius: 50%;\n\tanimation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);\n}\n\n@keyframes spinner-border {\n\tto {\n\t\ttransform: rotate(360deg) ;\n\t}\n}\n\n.spinner-border {\n\t--bs-spinner-width: calc(var(--bs-font-size-base) * 2);\n\t--bs-spinner-height: calc(var(--bs-font-size-base) * 2);\n\t--bs-spinner-vertical-align: calc(-1 * var(--bs-relative-font-size-6xs));\n\t--bs-spinner-border-width: var(--bs-relative-font-size-4xs);\n\t--bs-spinner-animation-speed: 0.75s;\n\t--bs-spinner-animation-name: spinner-border;\n\tborder: var(--bs-spinner-border-width) solid currentcolor;\n\tborder-left-color: transparent;\n}\n\n.spinner-border-sm {\n\t--bs-spinner-width: var(--bs-font-size-base);\n\t--bs-spinner-height: var(--bs-font-size-base);\n\t--bs-spinner-border-width: var(--bs-relative-font-size-6xs);\n}\n\n@keyframes spinner-grow {\n\t0% {\n\t\ttransform: scale(0);\n\t}\n\n\t50% {\n\t\topacity: 1;\n\t\ttransform: none;\n\t}\n}\n\n.spinner-grow {\n\t--bs-spinner-width: calc(var(--bs-font-size-base) * 2);\n\t--bs-spinner-height: calc(var(--bs-font-size-base) * 2);\n\t--bs-spinner-vertical-align: calc(-1 * var(--bs-relative-font-size-6xs));\n\t--bs-spinner-animation-speed: 0.75s;\n\t--bs-spinner-animation-name: spinner-grow;\n\tbackground-color: currentcolor;\n\topacity: 0;\n}\n\n.spinner-grow-sm {\n\t--bs-spinner-width: var(--bs-font-size-base);\n\t--bs-spinner-height: var(--bs-font-size-base);\n}\n\n@media (prefers-reduced-motion:reduce) {\n\t.spinner-border,\n\t.spinner-grow {\n\t\t--bs-spinner-animation-speed: 1.5s;\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Offcanvas ]\n * ----------------------------------------------------------------------------\n */\n\n.offcanvas,\n.offcanvas-xxl,\n.offcanvas-xl,\n.offcanvas-lg,\n.offcanvas-md,\n.offcanvas-sm {\n\t--bs-offcanvas-zindex: 1045;\n\t--bs-offcanvas-width: 21.875rem;\n\t--bs-offcanvas-height: 30vh;\n\t--bs-offcanvas-padding-x: 1rem;\n\t--bs-offcanvas-padding-y: 1rem;\n\t--bs-offcanvas-color: var(--bs-content-color);\n\t--bs-offcanvas-bg: var(--bs-content-bg);\n\t--bs-offcanvas-border-width: var(--bs-border-width);\n\t--bs-offcanvas-border-color: var(--bs-content-border-color);\n\t--bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);\n\t--bs-offcanvas-transition: transform 0.3s ease-in-out;\n\t--bs-offcanvas-title-line-height: var(--bs-line-height-sm);\n}\n\n@media (max-width: 575.98px) {\n\t.offcanvas-sm {\n\t\tposition: fixed;\n\t\tbottom: 0;\n\t\tz-index: var(--bs-offcanvas-zindex);\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tmax-width: 100%;\n\t\tcolor: var(--bs-offcanvas-color);\n\t\tvisibility: hidden;\n\t\tbackground-color: var(--bs-offcanvas-bg);\n\t\tbackground-clip: padding-box;\n\t\toutline: 0;\n\t\ttransition: var(--bs-offcanvas-transition);\n\t}\n}\n\n@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) {\n\t.offcanvas-sm {\n\t\ttransition: none;\n\t}\n}\n\n@media (max-width: 575.98px) {\n\t.offcanvas-sm.offcanvas-start {\n\t\ttop: 0;\n\t\tright: 0;\n\t\twidth: var(--bs-offcanvas-width);\n\t\tborder-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateX(100%);\n\t}\n\n\t.offcanvas-sm.offcanvas-end {\n\t\ttop: 0;\n\t\tleft: 0;\n\t\twidth: var(--bs-offcanvas-width);\n\t\tborder-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateX(-100%);\n\t}\n\n\t.offcanvas-sm.offcanvas-top {\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tright: 0;\n\t\theight: var(--bs-offcanvas-height);\n\t\tmax-height: 100%;\n\t\tborder-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateY(-100%);\n\t}\n\n\t.offcanvas-sm.offcanvas-bottom {\n\t\tleft: 0;\n\t\tright: 0;\n\t\theight: var(--bs-offcanvas-height);\n\t\tmax-height: 100%;\n\t\tborder-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateY(100%);\n\t}\n\n\t.offcanvas-sm.showing,\n\t.offcanvas-sm.show:not(.hiding) {\n\t\ttransform: none;\n\t}\n\n\t.offcanvas-sm.showing,\n\t.offcanvas-sm.hiding,\n\t.offcanvas-sm.show {\n\t\tvisibility: visible;\n\t}\n}\n\n@media (min-width: 576px) {\n\t.offcanvas-sm {\n\t\t--bs-offcanvas-height: auto;\n\t\t--bs-offcanvas-border-width: 0;\n\t\tbackground-color: transparent !important;\n\t}\n\n\t.offcanvas-sm .offcanvas-header {\n\t\tdisplay: none;\n\t}\n\n\t.offcanvas-sm .offcanvas-body {\n\t\tdisplay: flex;\n\t\tflex-grow: 0;\n\t\tpadding: 0;\n\t\toverflow-y: visible;\n\t\tbackground-color: transparent !important;\n\t}\n}\n\n@media (max-width: 767.98px) {\n\t.offcanvas-md {\n\t\tposition: fixed;\n\t\tbottom: 0;\n\t\tz-index: var(--bs-offcanvas-zindex);\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tmax-width: 100%;\n\t\tcolor: var(--bs-offcanvas-color);\n\t\tvisibility: hidden;\n\t\tbackground-color: var(--bs-offcanvas-bg);\n\t\tbackground-clip: padding-box;\n\t\toutline: 0;\n\t\ttransition: var(--bs-offcanvas-transition);\n\t}\n}\n\n@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {\n\t.offcanvas-md {\n\t\ttransition: none;\n\t}\n}\n\n@media (max-width: 767.98px) {\n\t.offcanvas-md.offcanvas-start {\n\t\ttop: 0;\n\t\tright: 0;\n\t\twidth: var(--bs-offcanvas-width);\n\t\tborder-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateX(100%);\n\t}\n\n\t.offcanvas-md.offcanvas-end {\n\t\ttop: 0;\n\t\tleft: 0;\n\t\twidth: var(--bs-offcanvas-width);\n\t\tborder-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateX(-100%);\n\t}\n\n\t.offcanvas-md.offcanvas-top {\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tright: 0;\n\t\theight: var(--bs-offcanvas-height);\n\t\tmax-height: 100%;\n\t\tborder-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateY(-100%);\n\t}\n\n\t.offcanvas-md.offcanvas-bottom {\n\t\tleft: 0;\n\t\tright: 0;\n\t\theight: var(--bs-offcanvas-height);\n\t\tmax-height: 100%;\n\t\tborder-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateY(100%);\n\t}\n\n\t.offcanvas-md.showing,\n\t.offcanvas-md.show:not(.hiding) {\n\t\ttransform: none;\n\t}\n\n\t.offcanvas-md.showing,\n\t.offcanvas-md.hiding,\n\t.offcanvas-md.show {\n\t\tvisibility: visible;\n\t}\n}\n\n@media (min-width: 768px) {\n\t.offcanvas-md {\n\t\t--bs-offcanvas-height: auto;\n\t\t--bs-offcanvas-border-width: 0;\n\t\tbackground-color: transparent !important;\n\t}\n\n\t.offcanvas-md .offcanvas-header {\n\t\tdisplay: none;\n\t}\n\n\t.offcanvas-md .offcanvas-body {\n\t\tdisplay: flex;\n\t\tflex-grow: 0;\n\t\tpadding: 0;\n\t\toverflow-y: visible;\n\t\tbackground-color: transparent !important;\n\t}\n}\n\n@media (max-width: 991.98px) {\n\t.offcanvas-lg {\n\t\tposition: fixed;\n\t\tbottom: 0;\n\t\tz-index: var(--bs-offcanvas-zindex);\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tmax-width: 100%;\n\t\tcolor: var(--bs-offcanvas-color);\n\t\tvisibility: hidden;\n\t\tbackground-color: var(--bs-offcanvas-bg);\n\t\tbackground-clip: padding-box;\n\t\toutline: 0;\n\t\ttransition: var(--bs-offcanvas-transition);\n\t}\n}\n\n@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {\n\t.offcanvas-lg {\n\t\ttransition: none;\n\t}\n}\n\n@media (max-width: 991.98px) {\n\t.offcanvas-lg.offcanvas-start {\n\t\ttop: 0;\n\t\tright: 0;\n\t\twidth: var(--bs-offcanvas-width);\n\t\tborder-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateX(100%);\n\t}\n\n\t.offcanvas-lg.offcanvas-end {\n\t\ttop: 0;\n\t\tleft: 0;\n\t\twidth: var(--bs-offcanvas-width);\n\t\tborder-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateX(-100%);\n\t}\n\n\t.offcanvas-lg.offcanvas-top {\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tright: 0;\n\t\theight: var(--bs-offcanvas-height);\n\t\tmax-height: 100%;\n\t\tborder-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateY(-100%);\n\t}\n\n\t.offcanvas-lg.offcanvas-bottom {\n\t\tleft: 0;\n\t\tright: 0;\n\t\theight: var(--bs-offcanvas-height);\n\t\tmax-height: 100%;\n\t\tborder-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateY(100%);\n\t}\n\n\t.offcanvas-lg.showing,\n\t.offcanvas-lg.show:not(.hiding) {\n\t\ttransform: none;\n\t}\n\n\t.offcanvas-lg.showing,\n\t.offcanvas-lg.hiding,\n\t.offcanvas-lg.show {\n\t\tvisibility: visible;\n\t}\n}\n\n@media (min-width: 992px) {\n\t.offcanvas-lg {\n\t\t--bs-offcanvas-height: auto;\n\t\t--bs-offcanvas-border-width: 0;\n\t\tbackground-color: transparent !important;\n\t}\n\n\t.offcanvas-lg .offcanvas-header {\n\t\tdisplay: none;\n\t}\n\n\t.offcanvas-lg .offcanvas-body {\n\t\tdisplay: flex;\n\t\tflex-grow: 0;\n\t\tpadding: 0;\n\t\toverflow-y: visible;\n\t\tbackground-color: transparent !important;\n\t}\n}\n\n@media (max-width: 1199.98px) {\n\t.offcanvas-xl {\n\t\tposition: fixed;\n\t\tbottom: 0;\n\t\tz-index: var(--bs-offcanvas-zindex);\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tmax-width: 100%;\n\t\tcolor: var(--bs-offcanvas-color);\n\t\tvisibility: hidden;\n\t\tbackground-color: var(--bs-offcanvas-bg);\n\t\tbackground-clip: padding-box;\n\t\toutline: 0;\n\t\ttransition: var(--bs-offcanvas-transition);\n\t}\n}\n\n@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {\n\t.offcanvas-xl {\n\t\ttransition: none;\n\t}\n}\n\n@media (max-width: 1199.98px) {\n\t.offcanvas-xl.offcanvas-start {\n\t\ttop: 0;\n\t\tright: 0;\n\t\twidth: var(--bs-offcanvas-width);\n\t\tborder-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateX(100%);\n\t}\n\n\t.offcanvas-xl.offcanvas-end {\n\t\ttop: 0;\n\t\tleft: 0;\n\t\twidth: var(--bs-offcanvas-width);\n\t\tborder-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateX(-100%);\n\t}\n\n\t.offcanvas-xl.offcanvas-top {\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tright: 0;\n\t\theight: var(--bs-offcanvas-height);\n\t\tmax-height: 100%;\n\t\tborder-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateY(-100%);\n\t}\n\n\t.offcanvas-xl.offcanvas-bottom {\n\t\tleft: 0;\n\t\tright: 0;\n\t\theight: var(--bs-offcanvas-height);\n\t\tmax-height: 100%;\n\t\tborder-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateY(100%);\n\t}\n\n\t.offcanvas-xl.showing,\n\t.offcanvas-xl.show:not(.hiding) {\n\t\ttransform: none;\n\t}\n\n\t.offcanvas-xl.showing,\n\t.offcanvas-xl.hiding,\n\t.offcanvas-xl.show {\n\t\tvisibility: visible;\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.offcanvas-xl {\n\t\t--bs-offcanvas-height: auto;\n\t\t--bs-offcanvas-border-width: 0;\n\t\tbackground-color: transparent !important;\n\t}\n\n\t.offcanvas-xl .offcanvas-header {\n\t\tdisplay: none;\n\t}\n\n\t.offcanvas-xl .offcanvas-body {\n\t\tdisplay: flex;\n\t\tflex-grow: 0;\n\t\tpadding: 0;\n\t\toverflow-y: visible;\n\t\tbackground-color: transparent !important;\n\t}\n}\n\n@media (max-width: 1399.98px) {\n\t.offcanvas-xxl {\n\t\tposition: fixed;\n\t\tbottom: 0;\n\t\tz-index: var(--bs-offcanvas-zindex);\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tmax-width: 100%;\n\t\tcolor: var(--bs-offcanvas-color);\n\t\tvisibility: hidden;\n\t\tbackground-color: var(--bs-offcanvas-bg);\n\t\tbackground-clip: padding-box;\n\t\toutline: 0;\n\t\ttransition: var(--bs-offcanvas-transition);\n\t}\n}\n\n@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) {\n\t.offcanvas-xxl {\n\t\ttransition: none;\n\t}\n}\n\n@media (max-width: 1399.98px) {\n\t.offcanvas-xxl.offcanvas-start {\n\t\ttop: 0;\n\t\tright: 0;\n\t\twidth: var(--bs-offcanvas-width);\n\t\tborder-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateX(100%);\n\t}\n\n\t.offcanvas-xxl.offcanvas-end {\n\t\ttop: 0;\n\t\tleft: 0;\n\t\twidth: var(--bs-offcanvas-width);\n\t\tborder-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateX(-100%);\n\t}\n\n\t.offcanvas-xxl.offcanvas-top {\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tright: 0;\n\t\theight: var(--bs-offcanvas-height);\n\t\tmax-height: 100%;\n\t\tborder-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateY(-100%);\n\t}\n\n\t.offcanvas-xxl.offcanvas-bottom {\n\t\tleft: 0;\n\t\tright: 0;\n\t\theight: var(--bs-offcanvas-height);\n\t\tmax-height: 100%;\n\t\tborder-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\t\ttransform: translateY(100%);\n\t}\n\n\t.offcanvas-xxl.showing,\n\t.offcanvas-xxl.show:not(.hiding) {\n\t\ttransform: none;\n\t}\n\n\t.offcanvas-xxl.showing,\n\t.offcanvas-xxl.hiding,\n\t.offcanvas-xxl.show {\n\t\tvisibility: visible;\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.offcanvas-xxl {\n\t\t--bs-offcanvas-height: auto;\n\t\t--bs-offcanvas-border-width: 0;\n\t\tbackground-color: transparent !important;\n\t}\n\n\t.offcanvas-xxl .offcanvas-header {\n\t\tdisplay: none;\n\t}\n\n\t.offcanvas-xxl .offcanvas-body {\n\t\tdisplay: flex;\n\t\tflex-grow: 0;\n\t\tpadding: 0;\n\t\toverflow-y: visible;\n\t\tbackground-color: transparent !important;\n\t}\n}\n\n.offcanvas {\n\tposition: fixed;\n\tbottom: 0;\n\tz-index: var(--bs-offcanvas-zindex);\n\tdisplay: flex;\n\tflex-direction: column;\n\tmax-width: 100%;\n\tcolor: var(--bs-offcanvas-color);\n\tvisibility: hidden;\n\tbackground-color: var(--bs-offcanvas-bg);\n\tbackground-clip: padding-box;\n\toutline: 0;\n\ttransition: var(--bs-offcanvas-transition);\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.offcanvas {\n\t\ttransition: none;\n\t}\n}\n\n.offcanvas.offcanvas-start {\n\ttop: 0;\n\tright: 0;\n\twidth: var(--bs-offcanvas-width);\n\tborder-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\ttransform: translateX(100%);\n}\n\n.offcanvas.offcanvas-end {\n\ttop: 0;\n\tleft: 0;\n\twidth: var(--bs-offcanvas-width);\n\tborder-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\ttransform: translateX(-100%);\n}\n\n.offcanvas.offcanvas-top {\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\theight: var(--bs-offcanvas-height);\n\tmax-height: 100%;\n\tborder-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\ttransform: translateY(-100%);\n}\n\n.offcanvas.offcanvas-bottom {\n\tleft: 0;\n\tright: 0;\n\theight: var(--bs-offcanvas-height);\n\tmax-height: 100%;\n\tborder-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n\ttransform: translateY(100%);\n}\n\n.offcanvas.showing,\n.offcanvas.show:not(.hiding) {\n\ttransform: none;\n}\n\n.offcanvas.showing,\n.offcanvas.hiding,\n.offcanvas.show {\n\tvisibility: visible;\n}\n\n.offcanvas-backdrop {\n\tposition: fixed;\n\ttop: 0;\n\tright: 0;\n\tz-index: 1040;\n\twidth: 100vw;\n\theight: 100vh;\n\tbackground-color: var(--bs-black);\n}\n\n.offcanvas-backdrop.fade {\n\topacity: 0;\n}\n\n.offcanvas-backdrop.show {\n\topacity: 0.5;\n}\n\n.offcanvas-header {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\tpadding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);\n}\n\n.offcanvas-header .btn-close {\n\tpadding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);\n\tmargin-top: calc(-0.5 * var(--bs-offcanvas-padding-y));\n\tmargin-left: calc(-0.5 * var(--bs-offcanvas-padding-x));\n\tmargin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y));\n}\n\n.offcanvas-title {\n\tmargin-bottom: 0;\n\tline-height: var(--bs-offcanvas-title-line-height);\n}\n\n.offcanvas-body {\n\tflex-grow: 1;\n\tpadding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);\n\toverflow-y: auto;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Sidebar ]\n * ----------------------------------------------------------------------------\n */\n\n.sidebar {\n\t--bs-sidebar-padding: var(--bs-spacer);\n\t--bs-sidebar-color: hsla(var(--bs-emphasis-color-hsl), 0.65);\n\t--bs-sidebar-hover-color: hsla(var(--bs-emphasis-color-hsl), 0.8);\n\t--bs-sidebar-disabled-color: hsla(var(--bs-emphasis-color-hsl), 0.3);\n\t--bs-sidebar-active-color: var(--bs-link-color);\n\t--bs-sidebar-bg: var(--bs-content-bg);\n\t--bs-sidebar-border-width: var(--bs-border-width);\n\t--bs-sidebar-border-color: var(--bs-content-border-color);\n\t--bs-sidebar-border-radius: 0;\n\t--bs-sidebar-brand-padding-y: 0;\n\t--bs-sidebar-brand-margin-end: 1rem;\n\t--bs-sidebar-brand-font-size: calc(var(--bs-font-size-base) + 0.25rem);\n\t--bs-sidebar-brand-color: hsla(var(--bs-emphasis-color-hsl), 0.85);\n\t--bs-sidebar-brand-hover-color: var(--bs-sidebar-brand-color);\n\t--bs-sidebar-item-padding-x: 0;\n\t--bs-sidebar-item-padding-y: 0.375rem;\n\t--bs-sidebar-header-font-size: var(--bs-font-size-base);\n\t--bs-sidebar-header-font-weight: var(--bs-font-weight-normal);\n\t--bs-sidebar-divider-bg: var(--bs-border-color-translucent);\n\t--bs-sidebar-divider-margin-y: 0.5rem;\n\tposition: fixed;\n\ttop: 0;\n\tright: 0;\n\tmargin: var(--bs-sidebar-margin);\n\twidth: var(--bs-sidebar-width);\n\theight: var(--bs-sidebar-height);\n\tdisplay: flex;\n\tflex-direction: column;\n\tbackground-color: var(--bs-sidebar-bg) !important;\n\tborder-left: var(--bs-sidebar-border-width) solid var(--bs-sidebar-border-color) !important;\n\tborder-radius: var(--bs-sidebar-border-radius);\n\toutline: 0;\n}\n\n@media (min-width: 576px) {\n\tbody:has(> .sidebar.offcanvas-sm) {\n\t\tpadding-right: var(--bs-padding-sbwidth);\n\t}\n\n\t.ps-sm-sbwidth {\n\t\tpadding-right: var(--bs-padding-sbwidth) !important;\n\t}\n}\n\n@media (min-width: 768px) {\n\tbody:has(> .sidebar.offcanvas-md) {\n\t\tpadding-right: var(--bs-padding-sbwidth);\n\t}\n\t\n\t.ps-md-sbwidth {\n\t\tpadding-right: var(--bs-padding-sbwidth) !important;\n\t}\n}\n\n@media (min-width: 992px) {\n\tbody:has(> .sidebar.offcanvas-lg) {\n\t\tpadding-right: var(--bs-padding-sbwidth);\n\t}\n\t\n\t.ps-lg-sbwidth {\n\t\tpadding-right: var(--bs-padding-sbwidth) !important;\n\t}\n}\n\n@media (min-width: 1200px) {\n\tbody:has(> .sidebar.offcanvas-xl) {\n\t\tpadding-right: var(--bs-padding-sbwidth);\n\t}\n\t\n\t.ps-xl-sbwidth {\n\t\tpadding-right: var(--bs-padding-sbwidth) !important;\n\t}\n}\n\n@media (min-width: 1400px) {\n\tbody:has(> .sidebar.offcanvas-xxl) {\n\t\tpadding-right: var(--bs-padding-sbwidth);\n\t}\n\t\n\t.ps-xxl-sbwidth {\n\t\tpadding-right: var(--bs-padding-sbwidth) !important;\n\t}\n}\n\n.sidebar .offcanvas-header {\n\tdisplay: flex;\n}\n\n.sidebar .offcanvas-body {\n\tdisplay: flex;\n\tflex-direction: column;\n\tflex-grow: 1;\n\tpadding: var(--bs-sidebar-padding);\n\toverflow-y: auto;\n}\n\n.sidebar-brand {\n\tpadding-top: var(--bs-sidebar-brand-padding-y);\n\tpadding-bottom: var(--bs-sidebar-brand-padding-y);\n\tmargin-left: var(--bs-sidebar-brand-margin-end);\n\tfont-size: var(--bs-sidebar-brand-font-size);\n\tcolor: var(--bs-sidebar-brand-color);\n\ttext-decoration: none;\n\twhite-space: nowrap;\n}\n\n.sidebar-brand:hover,\n.sidebar-brand:focus {\n\tcolor: var(--bs-sidebar-brand-hover-color);\n}\n\n.sidebar-nav {\n\t--bs-nav-link-padding-x: var(--bs-sidebar-item-padding-x);\n\t--bs-nav-link-padding-y: var(--bs-sidebar-item-padding-y);\n\t--bs-nav-link-font-weight: ;\n\t--bs-nav-link-color: var(--bs-sidebar-color);\n\t--bs-nav-link-hover-color: var(--bs-sidebar-hover-color);\n\t--bs-nav-link-disabled-color: var(--bs-sidebar-disabled-color);\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding-right: 0;\n\tmargin-bottom: 0;\n\tlist-style: none;\n}\n\n.sidebar-nav .nav-link.active,\n.sidebar-nav .nav-link.show {\n\tcolor: var(--bs-sidebar-active-color);\n\t-webkit-font-smoothing: auto;\n\t-moz-osx-font-smoothing: auto;\n}\n\n.sidebar-header {\n\tdisplay: block;\n\tpadding: var(--bs-sidebar-item-padding-y) 0;\n\tmargin-bottom: 0;\n\tfont-size: var(--bs-sidebar-header-font-size);\n\tfont-weight: var(--bs-sidebar-header-font-weight);\n}\n\n.sidebar-divider {\n\theight: 0;\n\tmargin: var(--bs-sidebar-divider-margin-y) 0;\n\toverflow: hidden;\n\tborder-top: var(--bs-border-width) solid var(--bs-sidebar-divider-bg);\n\topacity: 1;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Placeholders ]\n * ----------------------------------------------------------------------------\n */\n\n.placeholder {\n\tdisplay: inline-block;\n\tmin-height: 1em;\n\tvertical-align: middle;\n\tcursor: wait;\n\tbackground-color: currentcolor;\n\topacity: 0.5;\n}\n\n.placeholder.btn::before {\n\tdisplay: inline-block;\n\tcontent: \"\";\n}\n\n.placeholder-xs {\n\tmin-height: 0.6em;\n}\n\n.placeholder-sm {\n\tmin-height: 0.8em;\n}\n\n.placeholder-lg {\n\tmin-height: 1.2em;\n}\n\n.placeholder-glow .placeholder {\n\tanimation: placeholder-glow 2s ease-in-out infinite;\n}\n\n@keyframes placeholder-glow {\n\t50% {\n\t\topacity: 0.2;\n\t}\n}\n\n.placeholder-wave {\n\t-webkit-mask-image: linear-gradient(\n\t\t130deg,\n\t\tvar(--bs-black) 55%,\n\t\thsla(var(--bs-black-hsl), 0.65) 75%,\n\t\tvar(--bs-black) 95%\n\t);\n\tmask-image: linear-gradient(\n\t\t130deg,\n\t\tvar(--bs-black) 55%,\n\t\thsla(var(--bs-black-hsl), 0.65) 75%,\n\t\tvar(--bs-black) 95%\n\t);\n\t-webkit-mask-size: 200% 100%;\n\tmask-size: 200% 100%;\n\tanimation: placeholder-wave 2s linear infinite;\n}\n\n@keyframes placeholder-wave {\n\t100% {\n\t\t-webkit-mask-position: -200% 0%;\n\t\tmask-position: -200% 0%;\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Clearfix ]\n * ----------------------------------------------------------------------------\n */\n\n.clearfix::after {\n\tdisplay: block;\n\tclear: both;\n\tcontent: \"\";\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Color and background ]\n * ----------------------------------------------------------------------------\n */\n\n.text-bg-primary {\n\t--bs-color-hsl: var(--bs-primary-foreground-hsl);\n\tcolor: hsla(var(--bs-color-hsl), var(--bs-text-opacity, 1)) !important;\n\tbackground-color: hsla(var(--bs-primary-hsl), var(--bs-bg-opacity, 1)) !important;\n\t-webkit-font-smoothing: auto !important;\n\t-moz-osx-font-smoothing: auto !important;\n}\n\n.text-bg-secondary {\n\t--bs-color-hsl: var(--bs-secondary-foreground-hsl);\n\tcolor: hsla(var(--bs-color-hsl), var(--bs-text-opacity, 1)) !important;\n\tbackground-color: hsla(var(--bs-secondary-hsl), var(--bs-bg-opacity, 1)) !important;\n\t-webkit-font-smoothing: auto !important;\n\t-moz-osx-font-smoothing: auto !important;\n}\n\n.text-bg-success {\n\t--bs-color-hsl: var(--bs-success-foreground-hsl);\n\tcolor: hsla(var(--bs-color-hsl), var(--bs-text-opacity, 1)) !important;\n\tbackground-color: hsla(var(--bs-success-hsl), var(--bs-bg-opacity, 1)) !important;\n\t-webkit-font-smoothing: auto !important;\n\t-moz-osx-font-smoothing: auto !important;\n}\n\n.text-bg-info {\n\t--bs-color-hsl: var(--bs-info-foreground-hsl);\n\tcolor: hsla(var(--bs-color-hsl), var(--bs-text-opacity, 1)) !important;\n\tbackground-color: hsla(var(--bs-info-hsl), var(--bs-bg-opacity, 1)) !important;\n\t-webkit-font-smoothing: auto !important;\n\t-moz-osx-font-smoothing: auto !important;\n}\n\n.text-bg-warning {\n\t--bs-color-hsl: var(--bs-warning-foreground-hsl);\n\tcolor: hsla(var(--bs-color-hsl), var(--bs-text-opacity, 1)) !important;\n\tbackground-color: hsla(var(--bs-warning-hsl), var(--bs-bg-opacity, 1)) !important;\n\t-webkit-font-smoothing: auto !important;\n\t-moz-osx-font-smoothing: auto !important;\n}\n\n.text-bg-danger {\n\t--bs-color-hsl: var(--bs-danger-foreground-hsl);\n\tcolor: hsla(var(--bs-color-hsl), var(--bs-text-opacity, 1)) !important;\n\tbackground-color: hsla(var(--bs-danger-hsl), var(--bs-bg-opacity, 1)) !important;\n\t-webkit-font-smoothing: auto !important;\n\t-moz-osx-font-smoothing: auto !important;\n}\n\n.text-bg-light {\n\t--bs-color-hsl: var(--bs-light-foreground-hsl);\n\tcolor: hsla(var(--bs-color-hsl), var(--bs-text-opacity, 1)) !important;\n\tbackground-color: hsla(var(--bs-light-hsl), var(--bs-bg-opacity, 1)) !important;\n\t-webkit-font-smoothing: auto !important;\n\t-moz-osx-font-smoothing: auto !important;\n}\n\n.text-bg-dark {\n\t--bs-color-hsl: var(--bs-dark-foreground-hsl);\n\tcolor: hsla(var(--bs-color-hsl), var(--bs-text-opacity, 1)) !important;\n\tbackground-color: hsla(var(--bs-dark-hsl), var(--bs-bg-opacity, 1)) !important;\n\t-webkit-font-smoothing: auto !important;\n\t-moz-osx-font-smoothing: auto !important;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Colored links ]\n * ----------------------------------------------------------------------------\n */\n\n.link-primary {\n\tcolor: hsla(var(--bs-primary-text-emphasis-hsl, var(--bs-link-opacity, 1))) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-primary-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-primary-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-primary:hover,\n.link-primary:focus {\n\tcolor: hsla(var(--bs-primary-hsl), var(--bs-link-opacity, 1)) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-primary-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-primary-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-secondary {\n\tcolor: hsla(var(--bs-secondary-text-emphasis-hsl, var(--bs-link-opacity, 1))) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-secondary-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-secondary-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-secondary:hover,\n.link-secondary:focus {\n\tcolor: hsla(var(--bs-secondary-hsl), var(--bs-link-opacity, 1)) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-secondary-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-secondary-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-success {\n\tcolor: hsla(var(--bs-success-text-emphasis-hsl, var(--bs-link-opacity, 1))) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-success-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-success-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-success:hover,\n.link-success:focus {\n\tcolor: hsla(var(--bs-success-hsl), var(--bs-link-opacity, 1)) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-success-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-success-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-info {\n\tcolor: hsla(var(--bs-info-text-emphasis-hsl, var(--bs-link-opacity, 1))) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-info-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-info-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-info:hover,\n.link-info:focus {\n\tcolor: hsla(var(--bs-info-hsl), var(--bs-link-opacity, 1)) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-info-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-info-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-warning {\n\tcolor: hsla(var(--bs-warning-text-emphasis-hsl, var(--bs-link-opacity, 1))) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-warning-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-warning-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-warning:hover,\n.link-warning:focus {\n\tcolor: hsla(var(--bs-warning-hsl), var(--bs-link-opacity, 1)) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-warning-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-warning-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-danger {\n\tcolor: hsla(var(--bs-danger-text-emphasis-hsl, var(--bs-link-opacity, 1))) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-danger-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-danger-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-danger:hover,\n.link-danger:focus {\n\tcolor: hsla(var(--bs-danger-hsl), var(--bs-link-opacity, 1)) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-danger-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-danger-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-light {\n\tcolor: hsla(var(--bs-light-text-emphasis-hsl, var(--bs-link-opacity, 1))) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-light-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-light-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-light:hover,\n.link-light:focus {\n\tcolor: hsla(var(--bs-light-hsl), var(--bs-link-opacity, 1)) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-light-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-light-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-dark {\n\tcolor: hsla(var(--bs-dark-text-emphasis-hsl, var(--bs-link-opacity, 1))) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-dark-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-dark-text-emphasis-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-dark:hover,\n.link-dark:focus {\n\tcolor: hsla(var(--bs-dark-hsl), var(--bs-link-opacity, 1)) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-dark-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-dark-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-body-emphasis {\n\tcolor: hsla(var(--bs-emphasis-color-hsl), var(--bs-link-opacity, 1)) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-emphasis-color-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-emphasis-color-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-body-emphasis:hover,\n.link-body-emphasis:focus {\n\tcolor: hsla(var(--bs-emphasis-color-hsl), var(--bs-link-opacity, 0.75)) !important;\n\t-webkit-text-decoration-color: hsla(var(--bs-emphasis-color-hsl), var(--bs-link-underline-opacity, 0.75)) !important;\n\ttext-decoration-color: hsla(var(--bs-emphasis-color-hsl), var(--bs-link-underline-opacity, 0.75)) !important;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Focus ring ]\n * ----------------------------------------------------------------------------\n */\n\n.focus-ring:focus {\n\toutline: 0 !important;\n\tbox-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color) !important;\n}\n\n.focus-ring-primary {\n\t--bs-focus-ring-color: hsla(var(--bs-primary-hsl), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-secondary {\n\t--bs-focus-ring-color: hsla(var(--bs-secondary-hsl), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-success {\n\t--bs-focus-ring-color: hsla(var(--bs-success-hsl), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-info {\n\t--bs-focus-ring-color: hsla(var(--bs-info-hsl), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-warning {\n\t--bs-focus-ring-color: hsla(var(--bs-warning-hsl), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-danger {\n\t--bs-focus-ring-color: hsla(var(--bs-danger-hsl), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-light {\n\t--bs-focus-ring-color: hsla(var(--bs-light-hsl), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-dark {\n\t--bs-focus-ring-color: hsla(var(--bs-dark-hsl), var(--bs-focus-ring-opacity));\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Icon link ]\n * ----------------------------------------------------------------------------\n */\n\n.icon-link {\n \tdisplay: inline-flex;\n \tgap: 0.375rem;\n \talign-items: center;\n \t-webkit-text-decoration-color: hsla(var(--bs-link-color-hsl), var(--bs-link-opacity, 1));\n \ttext-decoration-color: hsla(var(--bs-link-color-hsl), var(--bs-link-opacity, 1));\n \ttext-underline-offset: var(--bs-link-decoration-offset);\n \t-webkit-backface-visibility: hidden;\n \tbackface-visibility: hidden;\n}\n\n.icon-link > .bi {\n \tflex-shrink: 0;\n \twidth: 1em;\n \theight: 1em;\n \tfill: currentcolor;\n \ttransition: 0.2s ease-in-out transform;\n}\n\n@media (prefers-reduced-motion: reduce) {\n \t.icon-link > .bi {\n \ttransition: none;\n \t}\n}\n\n.icon-link-hover:hover > .bi,\n.icon-link-hover:focus-visible > .bi {\n \ttransform: var(--bs-icon-link-transform, translate3d(-0.25em, 0, 0));\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Position ]\n * ----------------------------------------------------------------------------\n */\n\n.fixed-top {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tz-index: 1030;\n}\n\n.fixed-bottom {\n\tposition: fixed;\n\tleft: 0;\n\tbottom: 0;\n\tright: 0;\n\tz-index: 1030;\n}\n\n.sticky-top {\n\tposition: -webkit-sticky;\n\tposition: sticky;\n\ttop: 0;\n\tz-index: 1020;\n}\n\n.sticky-bottom {\n\tposition: -webkit-sticky;\n\tposition: sticky;\n\tbottom: 0;\n\tz-index: 1020;\n}\n\n@media (min-width: 576px) {\n\t.sticky-sm-top {\n\t\tposition: -webkit-sticky;\n\t\tposition: sticky;\n\t\ttop: 0;\n\t\tz-index: 1020;\n\t}\n\n\t.sticky-sm-bottom {\n\t\tposition: -webkit-sticky;\n\t\tposition: sticky;\n\t\tbottom: 0;\n\t\tz-index: 1020;\n\t}\n}\n\n@media (min-width: 768px) {\n\t.sticky-md-top {\n\t\tposition: -webkit-sticky;\n\t\tposition: sticky;\n\t\ttop: 0;\n\t\tz-index: 1020;\n\t}\n\n\t.sticky-md-bottom {\n\t\tposition: -webkit-sticky;\n\t\tposition: sticky;\n\t\tbottom: 0;\n\t\tz-index: 1020;\n\t}\n}\n\n@media (min-width: 992px) {\n\t.sticky-lg-top {\n\t\tposition: -webkit-sticky;\n\t\tposition: sticky;\n\t\ttop: 0;\n\t\tz-index: 1020;\n\t}\n\n\t.sticky-lg-bottom {\n\t\tposition: -webkit-sticky;\n\t\tposition: sticky;\n\t\tbottom: 0;\n\t\tz-index: 1020;\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.sticky-xl-top {\n\t\tposition: -webkit-sticky;\n\t\tposition: sticky;\n\t\ttop: 0;\n\t\tz-index: 1020;\n\t}\n\n\t.sticky-xl-bottom {\n\t\tposition: -webkit-sticky;\n\t\tposition: sticky;\n\t\tbottom: 0;\n\t\tz-index: 1020;\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.sticky-xxl-top {\n\t\tposition: -webkit-sticky;\n\t\tposition: sticky;\n\t\ttop: 0;\n\t\tz-index: 1020;\n\t}\n\n\t.sticky-xxl-bottom {\n\t\tposition: -webkit-sticky;\n\t\tposition: sticky;\n\t\tbottom: 0;\n\t\tz-index: 1020;\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Ratio ]\n * ----------------------------------------------------------------------------\n */\n\n.ratio {\n\tposition: relative;\n\twidth: 100%;\n}\n\n.ratio::before {\n\tdisplay: block;\n\tpadding-top: var(--bs-aspect-ratio);\n\tcontent: \"\";\n}\n\n.ratio > * {\n\tposition: absolute;\n\ttop: 0;\n\tright: 0;\n\twidth: 100%;\n\theight: 100%;\n}\n\n.ratio-1x1 {\n\t--bs-aspect-ratio: 100%;\n}\n\n.ratio-4x3 {\n\t--bs-aspect-ratio: 75%;\n}\n\n.ratio-16x9 {\n\t--bs-aspect-ratio: 56.25%;\n}\n\n.ratio-21x9 {\n\t--bs-aspect-ratio: 42.8571428571%;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Stacks ]\n * ----------------------------------------------------------------------------\n */\n\n.hstack {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\talign-self: stretch;\n}\n\n.vstack {\n\tdisplay: flex;\n\tflex: 1 1 auto;\n\tflex-direction: column;\n\talign-self: stretch;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Stretched link ]\n * ----------------------------------------------------------------------------\n */\n\n.stretched-link::after {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tbottom: 0;\n\tright: 0;\n\tz-index: 1;\n\tcontent: \"\";\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Text truncation ]\n * ----------------------------------------------------------------------------\n */\n\n.text-truncate {\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Vertical rule ]\n * ----------------------------------------------------------------------------\n */\n\n.vr {\n\tdisplay: inline-block;\n\talign-self: stretch;\n\twidth: var(--bs-border-width);\n\tmin-height: 1em;\n\tbackground-color: currentcolor;\n\topacity: 0.25;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Visually hidden ]\n * ----------------------------------------------------------------------------\n */\n\n.visually-hidden,\n.visually-hidden-focusable:not(:focus):not(:focus-within) {\n\twidth: 1px !important;\n\theight: 1px !important;\n\tpadding: 0 !important;\n\tmargin: -1px !important;\n\toverflow: hidden !important;\n\tclip: rect(0, 0, 0, 0) !important;\n\twhite-space: nowrap !important;\n\tborder: 0 !important;\n}\n\n.visually-hidden:not(caption),\n.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n\tposition: absolute !important;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Background utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.bg-primary {\n\t--bs-bg-opacity: 1;\n\tbackground-color: hsla(var(--bs-primary-hsl), var(--bs-bg-opacity)) !important;\n}\n\n.bg-secondary {\n\t--bs-bg-opacity: 1;\n\tbackground-color: hsla(var(--bs-secondary-hsl), var(--bs-bg-opacity)) !important;\n}\n\n.bg-success {\n\t--bs-bg-opacity: 1;\n\tbackground-color: hsla(var(--bs-success-hsl), var(--bs-bg-opacity)) !important;\n}\n\n.bg-info {\n\t--bs-bg-opacity: 1;\n\tbackground-color: hsla(var(--bs-info-hsl), var(--bs-bg-opacity)) !important;\n}\n\n.bg-warning {\n\t--bs-bg-opacity: 1;\n\tbackground-color: hsla(var(--bs-warning-hsl), var(--bs-bg-opacity)) !important;\n}\n\n.bg-danger {\n\t--bs-bg-opacity: 1;\n\tbackground-color: hsla(var(--bs-danger-hsl), var(--bs-bg-opacity)) !important;\n}\n\n.bg-light {\n\t--bs-bg-opacity: 1;\n\tbackground-color: hsla(var(--bs-light-hsl), var(--bs-bg-opacity)) !important;\n}\n\n.bg-dark {\n\t--bs-bg-opacity: 1;\n\tbackground-color: hsla(var(--bs-dark-hsl), var(--bs-bg-opacity)) !important;\n}\n\n.bg-black {\n\t--bs-bg-opacity: 1;\n\tbackground-color: hsla(var(--bs-black-hsl), var(--bs-bg-opacity)) !important;\n}\n\n.bg-white {\n\t--bs-bg-opacity: 1;\n\tbackground-color: hsla(var(--bs-white-hsl), var(--bs-bg-opacity)) !important;\n}\n\n.bg-body {\n\t--bs-bg-opacity: 1;\n\tbackground-color: hsla(var(--bs-body-bg-hsl), var(--bs-bg-opacity)) !important;\n}\n\n.bg-transparent {\n\t--bs-bg-opacity: 1;\n\tbackground-color: transparent !important;\n}\n\n.bg-body-secondary {\n\t--bs-bg-opacity: 1;\n\tbackground-color: hsla(var(--bs-secondary-bg-hsl), var(--bs-bg-opacity)) !important;\n}\n\n.bg-body-tertiary {\n\t--bs-bg-opacity: 1;\n\tbackground-color: hsla(var(--bs-tertiary-bg-hsl), var(--bs-bg-opacity)) !important;\n}\n\n.bg-body-emphasis {\n\t--bs-bg-opacity: 1;\n\tbackground-color: hsla(var(--bs-emphasis-bg-hsl), var(--bs-bg-opacity)) !important;\n}\n\n.bg-opacity-10 {\n\t--bs-bg-opacity: 0.1;\n}\n\n.bg-opacity-25 {\n\t--bs-bg-opacity: 0.25;\n}\n\n.bg-opacity-50 {\n\t--bs-bg-opacity: 0.5;\n}\n\n.bg-opacity-75 {\n\t--bs-bg-opacity: 0.75;\n}\n\n.bg-opacity-100 {\n\t--bs-bg-opacity: 1;\n}\n\n.bg-primary-subtle {\n\tbackground-color: var(--bs-primary-bg-subtle) !important;\n}\n\n.bg-secondary-subtle {\n\tbackground-color: var(--bs-secondary-bg-subtle) !important;\n}\n\n.bg-success-subtle {\n\tbackground-color: var(--bs-success-bg-subtle) !important;\n}\n\n.bg-info-subtle {\n\tbackground-color: var(--bs-info-bg-subtle) !important;\n}\n\n.bg-warning-subtle {\n\tbackground-color: var(--bs-warning-bg-subtle) !important;\n}\n\n.bg-danger-subtle {\n\tbackground-color: var(--bs-danger-bg-subtle) !important;\n}\n\n.bg-light-subtle {\n\tbackground-color: var(--bs-light-bg-subtle) !important;\n}\n\n.bg-dark-subtle {\n\tbackground-color: var(--bs-dark-bg-subtle) !important;\n}\n\n.bg-gradient {\n\tbackground-image: var(--bs-gradient) !important;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Border utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.border {\n\tborder: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n}\n\n.border-0 {\n\tborder: 0 !important;\n}\n\n.border-top {\n\tborder-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n}\n\n.border-top-0 {\n\tborder-top: 0 !important;\n}\n\n.border-end {\n\tborder-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n}\n\n.border-end-0 {\n\tborder-left: 0 !important;\n}\n\n.border-bottom {\n\tborder-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n}\n\n.border-bottom-0 {\n\tborder-bottom: 0 !important;\n}\n\n.border-start {\n\tborder-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n}\n\n.border-start-0 {\n\tborder-right: 0 !important;\n}\n\n.border-primary {\n\t--bs-border-opacity: 1;\n\tborder-color: hsla(var(--bs-primary-hsl), var(--bs-border-opacity)) !important;\n}\n\n.border-secondary {\n\t--bs-border-opacity: 1;\n\tborder-color: hsla(var(--bs-secondary-hsl), var(--bs-border-opacity)) !important;\n}\n\n.border-success {\n\t--bs-border-opacity: 1;\n\tborder-color: hsla(var(--bs-success-hsl), var(--bs-border-opacity)) !important;\n}\n\n.border-info {\n\t--bs-border-opacity: 1;\n\tborder-color: hsla(var(--bs-info-hsl), var(--bs-border-opacity)) !important;\n}\n\n.border-warning {\n\t--bs-border-opacity: 1;\n\tborder-color: hsla(var(--bs-warning-hsl), var(--bs-border-opacity)) !important;\n}\n\n.border-danger {\n\t--bs-border-opacity: 1;\n\tborder-color: hsla(var(--bs-danger-hsl), var(--bs-border-opacity)) !important;\n}\n\n.border-light {\n\t--bs-border-opacity: 1;\n\tborder-color: hsla(var(--bs-light-hsl), var(--bs-border-opacity)) !important;\n}\n\n.border-dark {\n\t--bs-border-opacity: 1;\n\tborder-color: hsla(var(--bs-dark-hsl), var(--bs-border-opacity)) !important;\n}\n\n.border-black {\n\t--bs-border-opacity: 1;\n\tborder-color: hsla(var(--bs-black-hsl), var(--bs-border-opacity)) !important;\n}\n\n.border-white {\n\t--bs-border-opacity: 1;\n\tborder-color: hsla(var(--bs-white-hsl), var(--bs-border-opacity)) !important;\n}\n\n.border-primary-subtle {\n\tborder-color: var(--bs-primary-border-subtle) !important;\n}\n\n.border-secondary-subtle {\n\tborder-color: var(--bs-secondary-border-subtle) !important;\n}\n\n.border-success-subtle {\n\tborder-color: var(--bs-success-border-subtle) !important;\n}\n\n.border-info-subtle {\n\tborder-color: var(--bs-info-border-subtle) !important;\n}\n\n.border-warning-subtle {\n\tborder-color: var(--bs-warning-border-subtle) !important;\n}\n\n.border-danger-subtle {\n\tborder-color: var(--bs-danger-border-subtle) !important;\n}\n\n.border-light-subtle {\n\tborder-color: var(--bs-light-border-subtle) !important;\n}\n\n.border-dark-subtle {\n\tborder-color: var(--bs-dark-border-subtle) !important;\n}\n\n.border-1 {\n\tborder-width: var(--bs-border-width-1) !important;\n}\n\n.border-2 {\n\tborder-width: var(--bs-border-width-2) !important;\n}\n\n.border-3 {\n\tborder-width: var(--bs-border-width-3) !important;\n}\n\n.border-4 {\n\tborder-width: var(--bs-border-width-4) !important;\n}\n\n.border-5 {\n\tborder-width: var(--bs-border-width-5) !important;\n}\n\n.border-opacity-10 {\n\t--bs-border-opacity: 0.1;\n}\n\n.border-opacity-25 {\n\t--bs-border-opacity: 0.25;\n}\n\n.border-opacity-50 {\n\t--bs-border-opacity: 0.5;\n}\n\n.border-opacity-75 {\n\t--bs-border-opacity: 0.75;\n}\n\n.border-opacity-100 {\n\t--bs-border-opacity: 1;\n}\n\n.rounded {\n\tborder-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-0 {\n\tborder-radius: 0 !important;\n}\n\n.rounded-1 {\n\tborder-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-2 {\n\tborder-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-3 {\n\tborder-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-4 {\n\tborder-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-5 {\n\tborder-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-circle {\n\tborder-radius: 50% !important;\n}\n\n.rounded-pill {\n\tborder-radius: var(--bs-border-radius-pill) !important;\n}\n\n.rounded-top {\n\tborder-top-right-radius: var(--bs-border-radius) !important;\n\tborder-top-left-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-top-0 {\n\tborder-top-right-radius: 0 !important;\n\tborder-top-left-radius: 0 !important;\n}\n\n.rounded-top-1 {\n\tborder-top-right-radius: var(--bs-border-radius-sm) !important;\n\tborder-top-left-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-top-2 {\n\tborder-top-right-radius: var(--bs-border-radius) !important;\n\tborder-top-left-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-top-3 {\n\tborder-top-right-radius: var(--bs-border-radius-lg) !important;\n\tborder-top-left-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-top-4 {\n\tborder-top-right-radius: var(--bs-border-radius-xl) !important;\n\tborder-top-left-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-top-5 {\n\tborder-top-right-radius: var(--bs-border-radius-xxl) !important;\n\tborder-top-left-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-top-circle {\n\tborder-top-right-radius: 50% !important;\n\tborder-top-left-radius: 50% !important;\n}\n\n.rounded-top-pill {\n\tborder-top-right-radius: var(--bs-border-radius-pill) !important;\n\tborder-top-left-radius: var(--bs-border-radius-pill) !important;\n}\n\n.rounded-end {\n\tborder-top-left-radius: var(--bs-border-radius) !important;\n\tborder-bottom-left-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-end-0 {\n\tborder-top-left-radius: 0 !important;\n\tborder-bottom-left-radius: 0 !important;\n}\n\n.rounded-end-1 {\n\tborder-top-left-radius: var(--bs-border-radius-sm) !important;\n\tborder-bottom-left-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-end-2 {\n\tborder-top-left-radius: var(--bs-border-radius) !important;\n\tborder-bottom-left-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-end-3 {\n\tborder-top-left-radius: var(--bs-border-radius-lg) !important;\n\tborder-bottom-left-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-end-4 {\n\tborder-top-left-radius: var(--bs-border-radius-xl) !important;\n\tborder-bottom-left-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-end-5 {\n\tborder-top-left-radius: var(--bs-border-radius-xxl) !important;\n\tborder-bottom-left-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-end-circle {\n\tborder-top-left-radius: 50% !important;\n\tborder-bottom-left-radius: 50% !important;\n}\n\n.rounded-end-pill {\n\tborder-top-left-radius: var(--bs-border-radius-pill) !important;\n\tborder-bottom-left-radius: var(--bs-border-radius-pill) !important;\n}\n\n.rounded-bottom {\n\tborder-bottom-left-radius: var(--bs-border-radius) !important;\n\tborder-bottom-right-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-bottom-0 {\n\tborder-bottom-left-radius: 0 !important;\n\tborder-bottom-right-radius: 0 !important;\n}\n\n.rounded-bottom-1 {\n\tborder-bottom-left-radius: var(--bs-border-radius-sm) !important;\n\tborder-bottom-right-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-bottom-2 {\n\tborder-bottom-left-radius: var(--bs-border-radius) !important;\n\tborder-bottom-right-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-bottom-3 {\n\tborder-bottom-left-radius: var(--bs-border-radius-lg) !important;\n\tborder-bottom-right-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-bottom-4 {\n\tborder-bottom-left-radius: var(--bs-border-radius-xl) !important;\n\tborder-bottom-right-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-bottom-5 {\n\tborder-bottom-left-radius: var(--bs-border-radius-xxl) !important;\n\tborder-bottom-right-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-bottom-circle {\n\tborder-bottom-left-radius: 50% !important;\n\tborder-bottom-right-radius: 50% !important;\n}\n\n.rounded-bottom-pill {\n\tborder-bottom-left-radius: var(--bs-border-radius-pill) !important;\n\tborder-bottom-right-radius: var(--bs-border-radius-pill) !important;\n}\n\n.rounded-start {\n\tborder-bottom-right-radius: var(--bs-border-radius) !important;\n\tborder-top-right-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-start-0 {\n\tborder-bottom-right-radius: 0 !important;\n\tborder-top-right-radius: 0 !important;\n}\n\n.rounded-start-1 {\n\tborder-bottom-right-radius: var(--bs-border-radius-sm) !important;\n\tborder-top-right-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-start-2 {\n\tborder-bottom-right-radius: var(--bs-border-radius) !important;\n\tborder-top-right-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-start-3 {\n\tborder-bottom-right-radius: var(--bs-border-radius-lg) !important;\n\tborder-top-right-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-start-4 {\n\tborder-bottom-right-radius: var(--bs-border-radius-xl) !important;\n\tborder-top-right-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-start-5 {\n\tborder-bottom-right-radius: var(--bs-border-radius-xxl) !important;\n\tborder-top-right-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-start-circle {\n\tborder-bottom-right-radius: 50% !important;\n\tborder-top-right-radius: 50% !important;\n}\n\n.rounded-start-pill {\n\tborder-bottom-right-radius: var(--bs-border-radius-pill) !important;\n\tborder-top-right-radius: var(--bs-border-radius-pill) !important;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Box shadow utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.shadow {\n\tbox-shadow: var(--bs-box-shadow) !important;\n}\n\n.shadow-sm {\n\tbox-shadow: var(--bs-box-shadow-sm) !important;\n}\n\n.shadow-lg {\n\tbox-shadow: var(--bs-box-shadow-lg) !important;\n}\n\n.shadow-none {\n\tbox-shadow: none !important;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Color utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.text-primary {\n\t--bs-text-opacity: 1;\n\tcolor: hsla(var(--bs-primary-hsl), var(--bs-text-opacity)) !important;\n}\n\n.text-secondary {\n\t--bs-text-opacity: 1;\n\tcolor: hsla(var(--bs-secondary-hsl), var(--bs-text-opacity)) !important;\n}\n\n.text-success {\n\t--bs-text-opacity: 1;\n\tcolor: hsla(var(--bs-success-hsl), var(--bs-text-opacity)) !important;\n}\n\n.text-info {\n\t--bs-text-opacity: 1;\n\tcolor: hsla(var(--bs-info-hsl), var(--bs-text-opacity)) !important;\n}\n\n.text-warning {\n\t--bs-text-opacity: 1;\n\tcolor: hsla(var(--bs-warning-hsl), var(--bs-text-opacity)) !important;\n}\n\n.text-danger {\n\t--bs-text-opacity: 1;\n\tcolor: hsla(var(--bs-danger-hsl), var(--bs-text-opacity)) !important;\n}\n\n.text-light {\n\t--bs-text-opacity: 1;\n\tcolor: hsla(var(--bs-light-hsl), var(--bs-text-opacity)) !important;\n}\n\n.text-dark {\n\t--bs-text-opacity: 1;\n\tcolor: hsla(var(--bs-dark-hsl), var(--bs-text-opacity)) !important;\n}\n\n.text-black {\n\t--bs-text-opacity: 1;\n\tcolor: hsla(var(--bs-black-hsl), var(--bs-text-opacity)) !important;\n}\n\n.text-white {\n\t--bs-text-opacity: 1;\n\tcolor: hsla(var(--bs-white-hsl), var(--bs-text-opacity)) !important;\n}\n\n.text-body {\n\t--bs-text-opacity: 1;\n\tcolor: hsla(var(--bs-body-color-hsl), var(--bs-text-opacity)) !important;\n}\n\n.text-muted {\n\t--bs-text-opacity: 1;\n\tcolor: var(--bs-secondary-color) !important;\n}\n\n.text-black-50 {\n\t--bs-text-opacity: 1;\n\tcolor: hsla(var(--bs-black-hsl), 0.5) !important;\n}\n\n.text-white-50 {\n\t--bs-text-opacity: 1;\n\tcolor: hsla(var(--bs-white-hsl), 0.5) !important;\n}\n\n.text-body-secondary {\n\t--bs-text-opacity: 1;\n\tcolor: var(--bs-secondary-color) !important;\n}\n\n.text-body-tertiary {\n\t--bs-text-opacity: 1;\n\tcolor: var(--bs-tertiary-color) !important;\n}\n\n.text-body-emphasis {\n\t--bs-text-opacity: 1;\n\tcolor: var(--bs-emphasis-color) !important;\n}\n\n.text-reset {\n\t--bs-text-opacity: 1;\n\tcolor: inherit !important;\n}\n\n.text-opacity-25 {\n\t--bs-text-opacity: 0.25;\n}\n\n.text-opacity-50 {\n\t--bs-text-opacity: 0.5;\n}\n\n.text-opacity-75 {\n\t--bs-text-opacity: 0.75;\n}\n\n.text-opacity-100 {\n\t--bs-text-opacity: 1;\n}\n\n.text-primary-emphasis {\n\tcolor: var(--bs-primary-text-emphasis) !important;\n}\n\n.text-secondary-emphasis {\n\tcolor: var(--bs-secondary-text-emphasis) !important;\n}\n\n.text-success-emphasis {\n\tcolor: var(--bs-success-text-emphasis) !important;\n}\n\n.text-info-emphasis {\n\tcolor: var(--bs-info-text-emphasis) !important;\n}\n\n.text-warning-emphasis {\n\tcolor: var(--bs-warning-text-emphasis) !important;\n}\n\n.text-danger-emphasis {\n\tcolor: var(--bs-danger-text-emphasis) !important;\n}\n\n.text-light-emphasis {\n\tcolor: var(--bs-light-text-emphasis) !important;\n}\n\n.text-dark-emphasis {\n\tcolor: var(--bs-dark-text-emphasis) !important;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Display utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.d-inline {\n\tdisplay: inline !important;\n}\n\n.d-inline-block {\n\tdisplay: inline-block !important;\n}\n\n.d-block {\n\tdisplay: block !important;\n}\n\n.d-grid {\n\tdisplay: grid !important;\n}\n\n.d-inline-grid {\n\tdisplay: inline-grid !important;\n}\n\n.d-table {\n\tdisplay: table !important;\n}\n\n.d-table-row {\n\tdisplay: table-row !important;\n}\n\n.d-table-cell {\n\tdisplay: table-cell !important;\n}\n\n.d-flex {\n\tdisplay: flex !important;\n}\n\n.d-inline-flex {\n\tdisplay: inline-flex !important;\n}\n\n.d-none {\n\tdisplay: none !important;\n}\n\n@media (min-width: 576px) {\n\t.d-sm-inline {\n\t\tdisplay: inline !important;\n\t}\n\n\t.d-sm-inline-block {\n\t\tdisplay: inline-block !important;\n\t}\n\n\t.d-sm-block {\n\t\tdisplay: block !important;\n\t}\n\n\t.d-sm-grid {\n\t\tdisplay: grid !important;\n\t}\n\n\t.d-sm-inline-grid {\n\t\tdisplay: inline-grid !important;\n\t}\n\n\t.d-sm-table {\n\t\tdisplay: table !important;\n\t}\n\n\t.d-sm-table-row {\n\t\tdisplay: table-row !important;\n\t}\n\n\t.d-sm-table-cell {\n\t\tdisplay: table-cell !important;\n\t}\n\n\t.d-sm-flex {\n\t\tdisplay: flex !important;\n\t}\n\n\t.d-sm-inline-flex {\n\t\tdisplay: inline-flex !important;\n\t}\n\n\t.d-sm-none {\n\t\tdisplay: none !important;\n\t}\n}\n\n@media (min-width: 768px) {\n\t.d-md-inline {\n\t\tdisplay: inline !important;\n\t}\n\n\t.d-md-inline-block {\n\t\tdisplay: inline-block !important;\n\t}\n\n\t.d-md-block {\n\t\tdisplay: block !important;\n\t}\n\n\t.d-md-grid {\n\t\tdisplay: grid !important;\n\t}\n\n\t.d-md-inline-grid {\n\t\tdisplay: inline-grid !important;\n\t}\n\n\t.d-md-table {\n\t\tdisplay: table !important;\n\t}\n\n\t.d-md-table-row {\n\t\tdisplay: table-row !important;\n\t}\n\n\t.d-md-table-cell {\n\t\tdisplay: table-cell !important;\n\t}\n\n\t.d-md-flex {\n\t\tdisplay: flex !important;\n\t}\n\n\t.d-md-inline-flex {\n\t\tdisplay: inline-flex !important;\n\t}\n\n\t.d-md-none {\n\t\tdisplay: none !important;\n\t}\n}\n\n@media (min-width: 992px) {\n\t.d-lg-inline {\n\t\tdisplay: inline !important;\n\t}\n\n\t.d-lg-inline-block {\n\t\tdisplay: inline-block !important;\n\t}\n\n\t.d-lg-block {\n\t\tdisplay: block !important;\n\t}\n\n\t.d-lg-grid {\n\t\tdisplay: grid !important;\n\t}\n\n\t.d-lg-inline-grid {\n\t\tdisplay: inline-grid !important;\n\t}\n\n\t.d-lg-table {\n\t\tdisplay: table !important;\n\t}\n\n\t.d-lg-table-row {\n\t\tdisplay: table-row !important;\n\t}\n\n\t.d-lg-table-cell {\n\t\tdisplay: table-cell !important;\n\t}\n\n\t.d-lg-flex {\n\t\tdisplay: flex !important;\n\t}\n\n\t.d-lg-inline-flex {\n\t\tdisplay: inline-flex !important;\n\t}\n\n\t.d-lg-none {\n\t\tdisplay: none !important;\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.d-xl-inline {\n\t\tdisplay: inline !important;\n\t}\n\n\t.d-xl-inline-block {\n\t\tdisplay: inline-block !important;\n\t}\n\n\t.d-xl-block {\n\t\tdisplay: block !important;\n\t}\n\n\t.d-xl-grid {\n\t\tdisplay: grid !important;\n\t}\n\n\t.d-xl-inline-grid {\n\t\tdisplay: inline-grid !important;\n\t}\n\n\t.d-xl-table {\n\t\tdisplay: table !important;\n\t}\n\n\t.d-xl-table-row {\n\t\tdisplay: table-row !important;\n\t}\n\n\t.d-xl-table-cell {\n\t\tdisplay: table-cell !important;\n\t}\n\n\t.d-xl-flex {\n\t\tdisplay: flex !important;\n\t}\n\n\t.d-xl-inline-flex {\n\t\tdisplay: inline-flex !important;\n\t}\n\n\t.d-xl-none {\n\t\tdisplay: none !important;\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.d-xxl-inline {\n\t\tdisplay: inline !important;\n\t}\n\n\t.d-xxl-inline-block {\n\t\tdisplay: inline-block !important;\n\t}\n\n\t.d-xxl-block {\n\t\tdisplay: block !important;\n\t}\n\n\t.d-xxl-grid {\n\t\tdisplay: grid !important;\n\t}\n\n\t.d-xxl-inline-grid {\n\t\tdisplay: inline-grid !important;\n\t}\n\n\t.d-xxl-table {\n\t\tdisplay: table !important;\n\t}\n\n\t.d-xxl-table-row {\n\t\tdisplay: table-row !important;\n\t}\n\n\t.d-xxl-table-cell {\n\t\tdisplay: table-cell !important;\n\t}\n\n\t.d-xxl-flex {\n\t\tdisplay: flex !important;\n\t}\n\n\t.d-xxl-inline-flex {\n\t\tdisplay: inline-flex !important;\n\t}\n\n\t.d-xxl-none {\n\t\tdisplay: none !important;\n\t}\n}\n\n@media print {\n\t.d-print-inline {\n\t\tdisplay: inline !important;\n\t}\n\n\t.d-print-inline-block {\n\t\tdisplay: inline-block !important;\n\t}\n\n\t.d-print-block {\n\t\tdisplay: block !important;\n\t}\n\n\t.d-print-grid {\n\t\tdisplay: grid !important;\n\t}\n\n\t.d-print-table {\n\t\tdisplay: table !important;\n\t}\n\n\t.d-print-table-row {\n\t\tdisplay: table-row !important;\n\t}\n\n\t.d-print-table-cell {\n\t\tdisplay: table-cell !important;\n\t}\n\n\t.d-print-flex {\n\t\tdisplay: flex !important;\n\t}\n\n\t.d-print-inline-flex {\n\t\tdisplay: inline-flex !important;\n\t}\n\n\t.d-print-none {\n\t\tdisplay: none !important;\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Flex utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.flex-fill {\n\tflex: 1 1 auto !important;\n}\n\n.flex-row {\n\tflex-direction: row !important;\n}\n\n.flex-column {\n\tflex-direction: column !important;\n}\n\n.flex-row-reverse {\n\tflex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n\tflex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n\tflex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n\tflex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n\tflex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n\tflex-shrink: 1 !important;\n}\n\n.flex-wrap {\n\tflex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n\tflex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n\tflex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n\tjustify-content: flex-start !important;\n}\n\n.justify-content-end {\n\tjustify-content: flex-end !important;\n}\n\n.justify-content-center {\n\tjustify-content: center !important;\n}\n\n.justify-content-between {\n\tjustify-content: space-between !important;\n}\n\n.justify-content-around {\n\tjustify-content: space-around !important;\n}\n\n.justify-content-evenly {\n\tjustify-content: space-evenly !important;\n}\n\n.align-items-start {\n\talign-items: flex-start !important;\n}\n\n.align-items-end {\n\talign-items: flex-end !important;\n}\n\n.align-items-center {\n\talign-items: center !important;\n}\n\n.align-items-baseline {\n\talign-items: baseline !important;\n}\n\n.align-items-stretch {\n\talign-items: stretch !important;\n}\n\n.align-content-start {\n\talign-content: flex-start !important;\n}\n\n.align-content-end {\n\talign-content: flex-end !important;\n}\n\n.align-content-center {\n\talign-content: center !important;\n}\n\n.align-content-between {\n\talign-content: space-between !important;\n}\n\n.align-content-around {\n\talign-content: space-around !important;\n}\n\n.align-content-stretch {\n\talign-content: stretch !important;\n}\n\n.align-self-auto {\n\talign-self: auto !important;\n}\n\n.align-self-start {\n\talign-self: flex-start !important;\n}\n\n.align-self-end {\n\talign-self: flex-end !important;\n}\n\n.align-self-center {\n\talign-self: center !important;\n}\n\n.align-self-baseline {\n\talign-self: baseline !important;\n}\n\n.align-self-stretch {\n\talign-self: stretch !important;\n}\n\n.order-first {\n\torder: -1 !important;\n}\n\n.order-0 {\n\torder: 0 !important;\n}\n\n.order-1 {\n\torder: 1 !important;\n}\n\n.order-2 {\n\torder: 2 !important;\n}\n\n.order-3 {\n\torder: 3 !important;\n}\n\n.order-4 {\n\torder: 4 !important;\n}\n\n.order-5 {\n\torder: 5 !important;\n}\n\n.order-last {\n\torder: 6 !important;\n}\n\n@media (min-width: 576px) {\n\t.flex-sm-fill {\n\t\tflex: 1 1 auto !important;\n\t}\n\n\t.flex-sm-row {\n\t\tflex-direction: row !important;\n\t}\n\n\t.flex-sm-column {\n\t\tflex-direction: column !important;\n\t}\n\n\t.flex-sm-row-reverse {\n\t\tflex-direction: row-reverse !important;\n\t}\n\n\t.flex-sm-column-reverse {\n\t\tflex-direction: column-reverse !important;\n\t}\n\n\t.flex-sm-grow-0 {\n\t\tflex-grow: 0 !important;\n\t}\n\n\t.flex-sm-grow-1 {\n\t\tflex-grow: 1 !important;\n\t}\n\n\t.flex-sm-shrink-0 {\n\t\tflex-shrink: 0 !important;\n\t}\n\n\t.flex-sm-shrink-1 {\n\t\tflex-shrink: 1 !important;\n\t}\n\n\t.flex-sm-wrap {\n\t\tflex-wrap: wrap !important;\n\t}\n\n\t.flex-sm-nowrap {\n\t\tflex-wrap: nowrap !important;\n\t}\n\n\t.flex-sm-wrap-reverse {\n\t\tflex-wrap: wrap-reverse !important;\n\t}\n\n\t.justify-content-sm-start {\n\t\tjustify-content: flex-start !important;\n\t}\n\n\t.justify-content-sm-end {\n\t\tjustify-content: flex-end !important;\n\t}\n\n\t.justify-content-sm-center {\n\t\tjustify-content: center !important;\n\t}\n\n\t.justify-content-sm-between {\n\t\tjustify-content: space-between !important;\n\t}\n\n\t.justify-content-sm-around {\n\t\tjustify-content: space-around !important;\n\t}\n\n\t.justify-content-sm-evenly {\n\t\tjustify-content: space-evenly !important;\n\t}\n\n\t.align-items-sm-start {\n\t\talign-items: flex-start !important;\n\t}\n\n\t.align-items-sm-end {\n\t\talign-items: flex-end !important;\n\t}\n\n\t.align-items-sm-center {\n\t\talign-items: center !important;\n\t}\n\n\t.align-items-sm-baseline {\n\t\talign-items: baseline !important;\n\t}\n\n\t.align-items-sm-stretch {\n\t\talign-items: stretch !important;\n\t}\n\n\t.align-content-sm-start {\n\t\talign-content: flex-start !important;\n\t}\n\n\t.align-content-sm-end {\n\t\talign-content: flex-end !important;\n\t}\n\n\t.align-content-sm-center {\n\t\talign-content: center !important;\n\t}\n\n\t.align-content-sm-between {\n\t\talign-content: space-between !important;\n\t}\n\n\t.align-content-sm-around {\n\t\talign-content: space-around !important;\n\t}\n\n\t.align-content-sm-stretch {\n\t\talign-content: stretch !important;\n\t}\n\n\t.align-self-sm-auto {\n\t\talign-self: auto !important;\n\t}\n\n\t.align-self-sm-start {\n\t\talign-self: flex-start !important;\n\t}\n\n\t.align-self-sm-end {\n\t\talign-self: flex-end !important;\n\t}\n\n\t.align-self-sm-center {\n\t\talign-self: center !important;\n\t}\n\n\t.align-self-sm-baseline {\n\t\talign-self: baseline !important;\n\t}\n\n\t.align-self-sm-stretch {\n\t\talign-self: stretch !important;\n\t}\n\n\t.order-sm-first {\n\t\torder: -1 !important;\n\t}\n\n\t.order-sm-0 {\n\t\torder: 0 !important;\n\t}\n\n\t.order-sm-1 {\n\t\torder: 1 !important;\n\t}\n\n\t.order-sm-2 {\n\t\torder: 2 !important;\n\t}\n\n\t.order-sm-3 {\n\t\torder: 3 !important;\n\t}\n\n\t.order-sm-4 {\n\t\torder: 4 !important;\n\t}\n\n\t.order-sm-5 {\n\t\torder: 5 !important;\n\t}\n\n\t.order-sm-last {\n\t\torder: 6 !important;\n\t}\n}\n\n@media (min-width: 768px) {\n\t.flex-md-fill {\n\t\tflex: 1 1 auto !important;\n\t}\n\n\t.flex-md-row {\n\t\tflex-direction: row !important;\n\t}\n\n\t.flex-md-column {\n\t\tflex-direction: column !important;\n\t}\n\n\t.flex-md-row-reverse {\n\t\tflex-direction: row-reverse !important;\n\t}\n\n\t.flex-md-column-reverse {\n\t\tflex-direction: column-reverse !important;\n\t}\n\n\t.flex-md-grow-0 {\n\t\tflex-grow: 0 !important;\n\t}\n\n\t.flex-md-grow-1 {\n\t\tflex-grow: 1 !important;\n\t}\n\n\t.flex-md-shrink-0 {\n\t\tflex-shrink: 0 !important;\n\t}\n\n\t.flex-md-shrink-1 {\n\t\tflex-shrink: 1 !important;\n\t}\n\n\t.flex-md-wrap {\n\t\tflex-wrap: wrap !important;\n\t}\n\n\t.flex-md-nowrap {\n\t\tflex-wrap: nowrap !important;\n\t}\n\n\t.flex-md-wrap-reverse {\n\t\tflex-wrap: wrap-reverse !important;\n\t}\n\n\t.justify-content-md-start {\n\t\tjustify-content: flex-start !important;\n\t}\n\n\t.justify-content-md-end {\n\t\tjustify-content: flex-end !important;\n\t}\n\n\t.justify-content-md-center {\n\t\tjustify-content: center !important;\n\t}\n\n\t.justify-content-md-between {\n\t\tjustify-content: space-between !important;\n\t}\n\n\t.justify-content-md-around {\n\t\tjustify-content: space-around !important;\n\t}\n\n\t.justify-content-md-evenly {\n\t\tjustify-content: space-evenly !important;\n\t}\n\n\t.align-items-md-start {\n\t\talign-items: flex-start !important;\n\t}\n\n\t.align-items-md-end {\n\t\talign-items: flex-end !important;\n\t}\n\n\t.align-items-md-center {\n\t\talign-items: center !important;\n\t}\n\n\t.align-items-md-baseline {\n\t\talign-items: baseline !important;\n\t}\n\n\t.align-items-md-stretch {\n\t\talign-items: stretch !important;\n\t}\n\n\t.align-content-md-start {\n\t\talign-content: flex-start !important;\n\t}\n\n\t.align-content-md-end {\n\t\talign-content: flex-end !important;\n\t}\n\n\t.align-content-md-center {\n\t\talign-content: center !important;\n\t}\n\n\t.align-content-md-between {\n\t\talign-content: space-between !important;\n\t}\n\t\n\t.align-content-md-around {\n\t\talign-content: space-around !important;\n\t}\n\n\t.align-content-md-stretch {\n\t\talign-content: stretch !important;\n\t}\n\n\t.align-self-md-auto {\n\t\talign-self: auto !important;\n\t}\n\n\t.align-self-md-start {\n\t\talign-self: flex-start !important;\n\t}\n\n\t.align-self-md-end {\n\t\talign-self: flex-end !important;\n\t}\n\n\t.align-self-md-center {\n\t\talign-self: center !important;\n\t}\n\n\t.align-self-md-baseline {\n\t\talign-self: baseline !important;\n\t}\n\n\t.align-self-md-stretch {\n\t\talign-self: stretch !important;\n\t}\n\n\t.order-md-first {\n\t\torder: -1 !important;\n\t}\n\n\t.order-md-0 {\n\t\torder: 0 !important;\n\t}\n\n\t.order-md-1 {\n\t\torder: 1 !important;\n\t}\n\n\t.order-md-2 {\n\t\torder: 2 !important;\n\t}\n\n\t.order-md-3 {\n\t\torder: 3 !important;\n\t}\n\n\t.order-md-4 {\n\t\torder: 4 !important;\n\t}\n\n\t.order-md-5 {\n\t\torder: 5 !important;\n\t}\n\n\t.order-md-last {\n\t\torder: 6 !important;\n\t}\n}\n\n@media (min-width: 992px) {\n\t.flex-lg-fill {\n\t\tflex: 1 1 auto !important;\n\t}\n\n\t.flex-lg-row {\n\t\tflex-direction: row !important;\n\t}\n\n\t.flex-lg-column {\n\t\tflex-direction: column !important;\n\t}\n\n\t.flex-lg-row-reverse {\n\t\tflex-direction: row-reverse !important;\n\t}\n\n\t.flex-lg-column-reverse {\n\t\tflex-direction: column-reverse !important;\n\t}\n\n\t.flex-lg-grow-0 {\n\t\tflex-grow: 0 !important;\n\t}\n\n\t.flex-lg-grow-1 {\n\t\tflex-grow: 1 !important;\n\t}\n\n\t.flex-lg-shrink-0 {\n\t\tflex-shrink: 0 !important;\n\t}\n\n\t.flex-lg-shrink-1 {\n\t\tflex-shrink: 1 !important;\n\t}\n\n\t.flex-lg-wrap {\n\t\tflex-wrap: wrap !important;\n\t}\n\n\t.flex-lg-nowrap {\n\t\tflex-wrap: nowrap !important;\n\t}\n\n\t.flex-lg-wrap-reverse {\n\t\tflex-wrap: wrap-reverse !important;\n\t}\n\n\t.justify-content-lg-start {\n\t\tjustify-content: flex-start !important;\n\t}\n\n\t.justify-content-lg-end {\n\t\tjustify-content: flex-end !important;\n\t}\n\n\t.justify-content-lg-center {\n\t\tjustify-content: center !important;\n\t}\n\n\t.justify-content-lg-between {\n\t\tjustify-content: space-between !important;\n\t}\n\n\t.justify-content-lg-around {\n\t\tjustify-content: space-around !important;\n\t}\n\n\t.justify-content-lg-evenly {\n\t\tjustify-content: space-evenly !important;\n\t}\n\n\t.align-items-lg-start {\n\t\talign-items: flex-start !important;\n\t}\n\n\t.align-items-lg-end {\n\t\talign-items: flex-end !important;\n\t}\n\n\t.align-items-lg-center {\n\t\talign-items: center !important;\n\t}\n\n\t.align-items-lg-baseline {\n\t\talign-items: baseline !important;\n\t}\n\n\t.align-items-lg-stretch {\n\t\talign-items: stretch !important;\n\t}\n\n\t.align-content-lg-start {\n\t\talign-content: flex-start !important;\n\t}\n\n\t.align-content-lg-end {\n\t\talign-content: flex-end !important;\n\t}\n\n\t.align-content-lg-center {\n\t\talign-content: center !important;\n\t}\n\n\t.align-content-lg-between {\n\t\talign-content: space-between !important;\n\t}\n\t\n\t.align-content-lg-around {\n\t\talign-content: space-around !important;\n\t}\n\n\t.align-content-lg-stretch {\n\t\talign-content: stretch !important;\n\t}\n\n\t.align-self-lg-auto {\n\t\talign-self: auto !important;\n\t}\n\n\t.align-self-lg-start {\n\t\talign-self: flex-start !important;\n\t}\n\n\t.align-self-lg-end {\n\t\talign-self: flex-end !important;\n\t}\n\n\t.align-self-lg-center {\n\t\talign-self: center !important;\n\t}\n\n\t.align-self-lg-baseline {\n\t\talign-self: baseline !important;\n\t}\n\n\t.align-self-lg-stretch {\n\t\talign-self: stretch !important;\n\t}\n\n\t.order-lg-first {\n\t\torder: -1 !important;\n\t}\n\n\t.order-lg-0 {\n\t\torder: 0 !important;\n\t}\n\n\t.order-lg-1 {\n\t\torder: 1 !important;\n\t}\n\n\t.order-lg-2 {\n\t\torder: 2 !important;\n\t}\n\n\t.order-lg-3 {\n\t\torder: 3 !important;\n\t}\n\n\t.order-lg-4 {\n\t\torder: 4 !important;\n\t}\n\n\t.order-lg-5 {\n\t\torder: 5 !important;\n\t}\n\n\t.order-lg-last {\n\t\torder: 6 !important;\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.flex-xl-fill {\n\t\tflex: 1 1 auto !important;\n\t}\n\n\t.flex-xl-row {\n\t\tflex-direction: row !important;\n\t}\n\n\t.flex-xl-column {\n\t\tflex-direction: column !important;\n\t}\n\n\t.flex-xl-row-reverse {\n\t\tflex-direction: row-reverse !important;\n\t}\n\n\t.flex-xl-column-reverse {\n\t\tflex-direction: column-reverse !important;\n\t}\n\n\t.flex-xl-grow-0 {\n\t\tflex-grow: 0 !important;\n\t}\n\n\t.flex-xl-grow-1 {\n\t\tflex-grow: 1 !important;\n\t}\n\n\t.flex-xl-shrink-0 {\n\t\tflex-shrink: 0 !important;\n\t}\n\n\t.flex-xl-shrink-1 {\n\t\tflex-shrink: 1 !important;\n\t}\n\n\t.flex-xl-wrap {\n\t\tflex-wrap: wrap !important;\n\t}\n\n\t.flex-xl-nowrap {\n\t\tflex-wrap: nowrap !important;\n\t}\n\n\t.flex-xl-wrap-reverse {\n\t\tflex-wrap: wrap-reverse !important;\n\t}\n\n\t.justify-content-xl-start {\n\t\tjustify-content: flex-start !important;\n\t}\n\n\t.justify-content-xl-end {\n\t\tjustify-content: flex-end !important;\n\t}\n\n\t.justify-content-xl-center {\n\t\tjustify-content: center !important;\n\t}\n\n\t.justify-content-xl-between {\n\t\tjustify-content: space-between !important;\n\t}\n\n\t.justify-content-xl-around {\n\t\tjustify-content: space-around !important;\n\t}\n\n\t.justify-content-xl-evenly {\n\t\tjustify-content: space-evenly !important;\n\t}\n\n\t.align-items-xl-start {\n\t\talign-items: flex-start !important;\n\t}\n\n\t.align-items-xl-end {\n\t\talign-items: flex-end !important;\n\t}\n\n\t.align-items-xl-center {\n\t\talign-items: center !important;\n\t}\n\n\t.align-items-xl-baseline {\n\t\talign-items: baseline !important;\n\t}\n\n\t.align-items-xl-stretch {\n\t\talign-items: stretch !important;\n\t}\n\n\t.align-content-xl-start {\n\t\talign-content: flex-start !important;\n\t}\n\n\t.align-content-xl-end {\n\t\talign-content: flex-end !important;\n\t}\n\n\t.align-content-xl-center {\n\t\talign-content: center !important;\n\t}\n\n\t.align-content-xl-between {\n\t\talign-content: space-between !important;\n\t}\n\t\n\t.align-content-xl-around {\n\t\talign-content: space-around !important;\n\t}\n\n\t.align-content-xl-stretch {\n\t\talign-content: stretch !important;\n\t}\n\n\t.align-self-xl-auto {\n\t\talign-self: auto !important;\n\t}\n\n\t.align-self-xl-start {\n\t\talign-self: flex-start !important;\n\t}\n\n\t.align-self-xl-end {\n\t\talign-self: flex-end !important;\n\t}\n\n\t.align-self-xl-center {\n\t\talign-self: center !important;\n\t}\n\n\t.align-self-xl-baseline {\n\t\talign-self: baseline !important;\n\t}\n\n\t.align-self-xl-stretch {\n\t\talign-self: stretch !important;\n\t}\n\n\t.order-xl-first {\n\t\torder: -1 !important;\n\t}\n\n\t.order-xl-0 {\n\t\torder: 0 !important;\n\t}\n\n\t.order-xl-1 {\n\t\torder: 1 !important;\n\t}\n\n\t.order-xl-2 {\n\t\torder: 2 !important;\n\t}\n\n\t.order-xl-3 {\n\t\torder: 3 !important;\n\t}\n\n\t.order-xl-4 {\n\t\torder: 4 !important;\n\t}\n\n\t.order-xl-5 {\n\t\torder: 5 !important;\n\t}\n\n\t.order-xl-last {\n\t\torder: 6 !important;\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.flex-xxl-fill {\n\t\tflex: 1 1 auto !important;\n\t}\n\n\t.flex-xxl-row {\n\t\tflex-direction: row !important;\n\t}\n\n\t.flex-xxl-column {\n\t\tflex-direction: column !important;\n\t}\n\n\t.flex-xxl-row-reverse {\n\t\tflex-direction: row-reverse !important;\n\t}\n\n\t.flex-xxl-column-reverse {\n\t\tflex-direction: column-reverse !important;\n\t}\n\n\t.flex-xxl-grow-0 {\n\t\tflex-grow: 0 !important;\n\t}\n\n\t.flex-xxl-grow-1 {\n\t\tflex-grow: 1 !important;\n\t}\n\n\t.flex-xxl-shrink-0 {\n\t\tflex-shrink: 0 !important;\n\t}\n\n\t.flex-xxl-shrink-1 {\n\t\tflex-shrink: 1 !important;\n\t}\n\n\t.flex-xxl-wrap {\n\t\tflex-wrap: wrap !important;\n\t}\n\n\t.flex-xxl-nowrap {\n\t\tflex-wrap: nowrap !important;\n\t}\n\n\t.flex-xxl-wrap-reverse {\n\t\tflex-wrap: wrap-reverse !important;\n\t}\n\n\t.justify-content-xxl-start {\n\t\tjustify-content: flex-start !important;\n\t}\n\n\t.justify-content-xxl-end {\n\t\tjustify-content: flex-end !important;\n\t}\n\n\t.justify-content-xxl-center {\n\t\tjustify-content: center !important;\n\t}\n\n\t.justify-content-xxl-between {\n\t\tjustify-content: space-between !important;\n\t}\n\n\t.justify-content-xxl-around {\n\t\tjustify-content: space-around !important;\n\t}\n\n\t.justify-content-xxl-evenly {\n\t\tjustify-content: space-evenly !important;\n\t}\n\n\t.align-items-xxl-start {\n\t\talign-items: flex-start !important;\n\t}\n\n\t.align-items-xxl-end {\n\t\talign-items: flex-end !important;\n\t}\n\n\t.align-items-xxl-center {\n\t\talign-items: center !important;\n\t}\n\n\t.align-items-xxl-baseline {\n\t\talign-items: baseline !important;\n\t}\n\n\t.align-items-xxl-stretch {\n\t\talign-items: stretch !important;\n\t}\n\n\t.align-content-xxl-start {\n\t\talign-content: flex-start !important;\n\t}\n\n\t.align-content-xxl-end {\n\t\talign-content: flex-end !important;\n\t}\n\n\t.align-content-xxl-center {\n\t\talign-content: center !important;\n\t}\n\n\t.align-content-xxl-between {\n\t\talign-content: space-between !important;\n\t}\n\t\n\t.align-content-xxl-around {\n\t\talign-content: space-around !important;\n\t}\n\n\t.align-content-xxl-stretch {\n\t\talign-content: stretch !important;\n\t}\n\n\t.align-self-xxl-auto {\n\t\talign-self: auto !important;\n\t}\n\n\t.align-self-xxl-start {\n\t\talign-self: flex-start !important;\n\t}\n\n\t.align-self-xxl-end {\n\t\talign-self: flex-end !important;\n\t}\n\n\t.align-self-xxl-center {\n\t\talign-self: center !important;\n\t}\n\n\t.align-self-xxl-baseline {\n\t\talign-self: baseline !important;\n\t}\n\n\t.align-self-xxl-stretch {\n\t\talign-self: stretch !important;\n\t}\n\n\t.order-xxl-first {\n\t\torder: -1 !important;\n\t}\n\n\t.order-xxl-0 {\n\t\torder: 0 !important;\n\t}\n\n\t.order-xxl-1 {\n\t\torder: 1 !important;\n\t}\n\n\t.order-xxl-2 {\n\t\torder: 2 !important;\n\t}\n\n\t.order-xxl-3 {\n\t\torder: 3 !important;\n\t}\n\n\t.order-xxl-4 {\n\t\torder: 4 !important;\n\t}\n\n\t.order-xxl-5 {\n\t\torder: 5 !important;\n\t}\n\n\t.order-xxl-last {\n\t\torder: 6 !important;\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Float utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.float-start {\n\tfloat: right !important;\n}\n\n.float-end {\n\tfloat: left !important;\n}\n\n.float-none {\n\tfloat: none !important;\n}\n\n@media (min-width: 576px) {\n\t.float-sm-start {\n\t\tfloat: right !important;\n\t}\n\n\t.float-sm-end {\n\t\tfloat: left !important;\n\t}\n\n\t.float-sm-none {\n\t\tfloat: none !important;\n\t}\n}\n\n@media (min-width: 768px) {\n\t.float-md-start {\n\t\tfloat: right !important;\n\t}\n\n\t.float-md-end {\n\t\tfloat: left !important;\n\t}\n\n\t.float-md-none {\n\t\tfloat: none !important;\n\t}\n}\n\n@media (min-width: 992px) {\n\t.float-lg-start {\n\t\tfloat: right !important;\n\t}\n\n\t.float-lg-end {\n\t\tfloat: left !important;\n\t}\n\n\t.float-lg-none {\n\t\tfloat: none !important;\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.float-xl-start {\n\t\tfloat: right !important;\n\t}\n\n\t.float-xl-end {\n\t\tfloat: left !important;\n\t}\n\n\t.float-xl-none {\n\t\tfloat: none !important;\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.float-xxl-start {\n\t\tfloat: right !important;\n\t}\n\n\t.float-xxl-end {\n\t\tfloat: left !important;\n\t}\n\t\n\t.float-xxl-none {\n\t\tfloat: none !important;\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Interaction utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.user-select-all {\n\t-webkit-user-select: all !important;\n\t-moz-user-select: all !important;\n\tuser-select: all !important;\n}\n\n.user-select-auto {\n\t-webkit-user-select: auto !important;\n\t-moz-user-select: auto !important;\n\tuser-select: auto !important;\n}\n\n.user-select-none {\n\t-webkit-user-select: none !important;\n\t-moz-user-select: none !important;\n\tuser-select: none !important;\n}\n\n.pe-none {\n\tpointer-events: none !important;\n}\n\n.pe-auto {\n\tpointer-events: auto !important;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Link utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.link-opacity-10 {\n\t--bs-link-opacity: 0.1;\n}\n\n.link-opacity-10-hover:hover {\n\t--bs-link-opacity: 0.1;\n}\n\n.link-opacity-25 {\n\t--bs-link-opacity: 0.25;\n}\n\n.link-opacity-25-hover:hover {\n\t--bs-link-opacity: 0.25;\n}\n\n.link-opacity-50 {\n\t--bs-link-opacity: 0.5;\n}\n\n.link-opacity-50-hover:hover {\n\t--bs-link-opacity: 0.5;\n}\n\n.link-opacity-75 {\n\t--bs-link-opacity: 0.75;\n}\n\n.link-opacity-75-hover:hover {\n\t--bs-link-opacity: 0.75;\n}\n\n.link-opacity-100 {\n\t--bs-link-opacity: 1;\n}\n\n.link-opacity-100-hover:hover {\n\t--bs-link-opacity: 1;\n}\n\n.link-offset-1 {\n\ttext-underline-offset: var(--bs-relative-font-size-6xs) !important;\n}\n\n.link-offset-1-hover:hover {\n\ttext-underline-offset: var(--bs-relative-font-size-6xs) !important;\n}\n\n.link-offset-2 {\n\ttext-underline-offset: var(--bs-relative-font-size-4xs) !important;\n}\n\n.link-offset-2-hover:hover {\n\ttext-underline-offset: var(--bs-relative-font-size-4xs) !important;\n}\n\n.link-offset-3 {\n\ttext-underline-offset: var(--bs-relative-font-size-3xs) !important;\n}\n\n.link-offset-3-hover:hover {\n\ttext-underline-offset: var(--bs-relative-font-size-3xs) !important;\n}\n\n.link-underline-primary {\n\t--bs-link-underline-opacity: 1;\n\t-webkit-text-decoration-color: hsla(var(--bs-primary-hsl), var(--bs-link-underline-opacity)) !important;\n\ttext-decoration-color: hsla(var(--bs-primary-hsl), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-secondary {\n\t--bs-link-underline-opacity: 1;\n\t-webkit-text-decoration-color: hsla(var(--bs-secondary-hsl), var(--bs-link-underline-opacity)) !important;\n\ttext-decoration-color: hsla(var(--bs-secondary-hsl), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-success {\n\t--bs-link-underline-opacity: 1;\n\t-webkit-text-decoration-color: hsla(var(--bs-success-hsl), var(--bs-link-underline-opacity)) !important;\n\ttext-decoration-color: hsla(var(--bs-success-hsl), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-info {\n\t--bs-link-underline-opacity: 1;\n\t-webkit-text-decoration-color: hsla(var(--bs-info-hsl), var(--bs-link-underline-opacity)) !important;\n\ttext-decoration-color: hsla(var(--bs-info-hsl), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-warning {\n\t--bs-link-underline-opacity: 1;\n\t-webkit-text-decoration-color: hsla(var(--bs-warning-hsl), var(--bs-link-underline-opacity)) !important;\n\ttext-decoration-color: hsla(var(--bs-warning-hsl), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-danger {\n\t--bs-link-underline-opacity: 1;\n\t-webkit-text-decoration-color: hsla(var(--bs-danger-hsl), var(--bs-link-underline-opacity)) !important;\n\ttext-decoration-color: hsla(var(--bs-danger-hsl), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-light {\n\t--bs-link-underline-opacity: 1;\n\t-webkit-text-decoration-color: hsla(var(--bs-light-hsl), var(--bs-link-underline-opacity)) !important;\n\ttext-decoration-color: hsla(var(--bs-light-hsl), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-dark {\n\t--bs-link-underline-opacity: 1;\n\t-webkit-text-decoration-color: hsla(var(--bs-dark-hsl), var(--bs-link-underline-opacity)) !important;\n\ttext-decoration-color: hsla(var(--bs-dark-hsl), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline {\n\t--bs-link-underline-opacity: 1;\n\t-webkit-text-decoration-color: hsla(var(--bs-link-color-hsl), var(--bs-link-underline-opacity, 1)) !important;\n\ttext-decoration-color: hsla(var(--bs-link-color-hsl), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-underline-opacity-0 {\n\t--bs-link-underline-opacity: 0;\n}\n\n.link-underline-opacity-0-hover:hover {\n\t--bs-link-underline-opacity: 0;\n}\n\n.link-underline-opacity-10 {\n\t--bs-link-underline-opacity: 0.1;\n}\n\n.link-underline-opacity-10-hover:hover {\n\t--bs-link-underline-opacity: 0.1;\n}\n\n.link-underline-opacity-25 {\n\t--bs-link-underline-opacity: 0.25;\n}\n\n.link-underline-opacity-25-hover:hover {\n\t--bs-link-underline-opacity: 0.25;\n}\n\n.link-underline-opacity-50 {\n\t--bs-link-underline-opacity: 0.5;\n}\n\n.link-underline-opacity-50-hover:hover {\n\t--bs-link-underline-opacity: 0.5;\n}\n\n.link-underline-opacity-75 {\n\t--bs-link-underline-opacity: 0.75;\n}\n\n.link-underline-opacity-75-hover:hover {\n\t--bs-link-underline-opacity: 0.75;\n}\n\n.link-underline-opacity-100 {\n\t--bs-link-underline-opacity: 1;\n}\n\n.link-underline-opacity-100-hover:hover {\n\t--bs-link-underline-opacity: 1;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Object fit utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.object-fit-contain {\n\tobject-fit: contain !important;\n}\n\n.object-fit-cover {\n\tobject-fit: cover !important;\n}\n\n.object-fit-fill {\n\tobject-fit: fill !important;\n}\n\n.object-fit-scale {\n\tobject-fit: scale-down !important;\n}\n\n.object-fit-none {\n\tobject-fit: none !important;\n}\n\n\n@media (min-width: 576px) {\n\t.object-fit-sm-contain {\n\t\tobject-fit: contain !important;\n\t}\n\n\t.object-fit-sm-cover {\n\t\tobject-fit: cover !important;\n\t}\n\n\t.object-fit-sm-fill {\n\t\tobject-fit: fill !important;\n\t}\n\n\t.object-fit-sm-scale {\n\t\tobject-fit: scale-down !important;\n\t}\n\n\t.object-fit-sm-none {\n\t\tobject-fit: none !important;\n\t}\n}\n\n@media (min-width: 768px) {\n\t.object-fit-md-contain {\n\t\tobject-fit: contain !important;\n\t}\n\n\t.object-fit-md-cover {\n\t\tobject-fit: cover !important;\n\t}\n\n\t.object-fit-md-fill {\n\t\tobject-fit: fill !important;\n\t}\n\n\t.object-fit-md-scale {\n\t\tobject-fit: scale-down !important;\n\t}\n\n\t.object-fit-md-none {\n\t\tobject-fit: none !important;\n\t}\n}\n\n@media (min-width: 992px) {\n\t.object-fit-lg-contain {\n\t\tobject-fit: contain !important;\n\t}\n\n\t.object-fit-lg-cover {\n\t\tobject-fit: cover !important;\n\t}\n\n\t.object-fit-lg-fill {\n\t\tobject-fit: fill !important;\n\t}\n\n\t.object-fit-lg-scale {\n\t\tobject-fit: scale-down !important;\n\t}\n\n\t.object-fit-lg-none {\n\t\tobject-fit: none !important;\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.object-fit-xl-contain {\n\t\tobject-fit: contain !important;\n\t}\n\n\t.object-fit-xl-cover {\n\t\tobject-fit: cover !important;\n\t}\n\n\t.object-fit-xl-fill {\n\t\tobject-fit: fill !important;\n\t}\n\n\t.object-fit-xl-scale {\n\t\tobject-fit: scale-down !important;\n\t}\n\n\t.object-fit-xl-none {\n\t\tobject-fit: none !important;\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.object-fit-xxl-contain {\n\t\tobject-fit: contain !important;\n\t}\n\n\t.object-fit-xxl-cover {\n\t\tobject-fit: cover !important;\n\t}\n\n\t.object-fit-xxl-fill {\n\t\tobject-fit: fill !important;\n\t}\n\n\t.object-fit-xxl-scale {\n\t\tobject-fit: scale-down !important;\n\t}\n\n\t.object-fit-xxl-none {\n\t\tobject-fit: none !important;\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Opacity utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.opacity-0 {\n\topacity: 0 !important;\n}\n\n.opacity-25 {\n\topacity: 0.25 !important;\n}\n\n.opacity-50 {\n\topacity: 0.5 !important;\n}\n\n.opacity-75 {\n\topacity: 0.75 !important;\n}\n\n.opacity-100 {\n\topacity: 1 !important;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Overflow utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.overflow-auto {\n\toverflow: auto !important;\n}\n\n.overflow-hidden {\n\toverflow: hidden !important;\n}\n\n.overflow-visible {\n\toverflow: visible !important;\n}\n\n.overflow-scroll {\n\toverflow: scroll !important;\n}\n\n.overflow-x-auto {\n\toverflow-x: auto !important;\n}\n\n.overflow-x-hidden {\n\toverflow-x: hidden !important;\n}\n\n.overflow-x-visible {\n\toverflow-x: visible !important;\n}\n\n.overflow-x-scroll {\n\toverflow-x: scroll !important;\n}\n\n.overflow-y-auto {\n\toverflow-y: auto !important;\n}\n\n.overflow-y-hidden {\n\toverflow-y: hidden !important;\n}\n\n.overflow-y-visible {\n\toverflow-y: visible !important;\n}\n\n.overflow-y-scroll {\n\toverflow-y: scroll !important;\n}\n\n@media (min-width: 576px) {\n\t.overflow-sm-auto {\n\t\toverflow: auto !important;\n\t}\n\n\t.overflow-sm-hidden {\n\t\toverflow: hidden !important;\n\t}\n\n\t.overflow-sm-visible {\n\t\toverflow: visible !important;\n\t}\n\n\t.overflow-sm-scroll {\n\t\toverflow: scroll !important;\n\t}\n\n\t.overflow-x-sm-auto {\n\t\toverflow-x: auto !important;\n\t}\n\n\t.overflow-x-sm-hidden {\n\t\toverflow-x: hidden !important;\n\t}\n\n\t.overflow-x-sm-visible {\n\t\toverflow-x: visible !important;\n\t}\n\n\t.overflow-x-sm-scroll {\n\t\toverflow-x: scroll !important;\n\t}\n\n\t.overflow-y-sm-auto {\n\t\toverflow-y: auto !important;\n\t}\n\n\t.overflow-y-sm-hidden {\n\t\toverflow-y: hidden !important;\n\t}\n\n\t.overflow-y-sm-visible {\n\t\toverflow-y: visible !important;\n\t}\n\n\t.overflow-y-sm-scroll {\n\t\toverflow-y: scroll !important;\n\t}\n}\n\n@media (min-width: 768px) {\n\t.overflow-md-auto {\n\t\toverflow: auto !important;\n\t}\n\n\t.overflow-md-hidden {\n\t\toverflow: hidden !important;\n\t}\n\n\t.overflow-md-visible {\n\t\toverflow: visible !important;\n\t}\n\n\t.overflow-md-scroll {\n\t\toverflow: scroll !important;\n\t}\n\n\t.overflow-x-md-auto {\n\t\toverflow-x: auto !important;\n\t}\n\n\t.overflow-x-md-hidden {\n\t\toverflow-x: hidden !important;\n\t}\n\n\t.overflow-x-md-visible {\n\t\toverflow-x: visible !important;\n\t}\n\n\t.overflow-x-md-scroll {\n\t\toverflow-x: scroll !important;\n\t}\n\n\t.overflow-y-md-auto {\n\t\toverflow-y: auto !important;\n\t}\n\n\t.overflow-y-md-hidden {\n\t\toverflow-y: hidden !important;\n\t}\n\n\t.overflow-y-md-visible {\n\t\toverflow-y: visible !important;\n\t}\n\n\t.overflow-y-md-scroll {\n\t\toverflow-y: scroll !important;\n\t}\n}\n\n@media (min-width: 992px) {\n\t.overflow-lg-auto {\n\t\toverflow: auto !important;\n\t}\n\n\t.overflow-lg-hidden {\n\t\toverflow: hidden !important;\n\t}\n\n\t.overflow-lg-visible {\n\t\toverflow: visible !important;\n\t}\n\n\t.overflow-lg-scroll {\n\t\toverflow: scroll !important;\n\t}\n\n\t.overflow-x-lg-auto {\n\t\toverflow-x: auto !important;\n\t}\n\n\t.overflow-x-lg-hidden {\n\t\toverflow-x: hidden !important;\n\t}\n\n\t.overflow-x-lg-visible {\n\t\toverflow-x: visible !important;\n\t}\n\n\t.overflow-x-lg-scroll {\n\t\toverflow-x: scroll !important;\n\t}\n\n\t.overflow-y-lg-auto {\n\t\toverflow-y: auto !important;\n\t}\n\n\t.overflow-y-lg-hidden {\n\t\toverflow-y: hidden !important;\n\t}\n\n\t.overflow-y-lg-visible {\n\t\toverflow-y: visible !important;\n\t}\n\n\t.overflow-y-lg-scroll {\n\t\toverflow-y: scroll !important;\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.overflow-xl-auto {\n\t\toverflow: auto !important;\n\t}\n\n\t.overflow-xl-hidden {\n\t\toverflow: hidden !important;\n\t}\n\n\t.overflow-xl-visible {\n\t\toverflow: visible !important;\n\t}\n\n\t.overflow-xl-scroll {\n\t\toverflow: scroll !important;\n\t}\n\n\t.overflow-x-xl-auto {\n\t\toverflow-x: auto !important;\n\t}\n\n\t.overflow-x-xl-hidden {\n\t\toverflow-x: hidden !important;\n\t}\n\n\t.overflow-x-xl-visible {\n\t\toverflow-x: visible !important;\n\t}\n\n\t.overflow-x-xl-scroll {\n\t\toverflow-x: scroll !important;\n\t}\n\n\t.overflow-y-xl-auto {\n\t\toverflow-y: auto !important;\n\t}\n\n\t.overflow-y-xl-hidden {\n\t\toverflow-y: hidden !important;\n\t}\n\n\t.overflow-y-xl-visible {\n\t\toverflow-y: visible !important;\n\t}\n\n\t.overflow-y-xl-scroll {\n\t\toverflow-y: scroll !important;\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.overflow-xxl-auto {\n\t\toverflow: auto !important;\n\t}\n\n\t.overflow-xxl-hidden {\n\t\toverflow: hidden !important;\n\t}\n\n\t.overflow-xxl-visible {\n\t\toverflow: visible !important;\n\t}\n\n\t.overflow-xxl-scroll {\n\t\toverflow: scroll !important;\n\t}\n\n\t.overflow-x-xxl-auto {\n\t\toverflow-x: auto !important;\n\t}\n\n\t.overflow-x-xxl-hidden {\n\t\toverflow-x: hidden !important;\n\t}\n\n\t.overflow-x-xxl-visible {\n\t\toverflow-x: visible !important;\n\t}\n\n\t.overflow-x-xxl-scroll {\n\t\toverflow-x: scroll !important;\n\t}\n\n\t.overflow-y-xxl-auto {\n\t\toverflow-y: auto !important;\n\t}\n\n\t.overflow-y-xxl-hidden {\n\t\toverflow-y: hidden !important;\n\t}\n\n\t.overflow-y-xxl-visible {\n\t\toverflow-y: visible !important;\n\t}\n\n\t.overflow-y-xxl-scroll {\n\t\toverflow-y: scroll !important;\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Position utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.position-static {\n\tposition: static !important;\n}\n\n.position-relative {\n\tposition: relative !important;\n}\n\n.position-absolute {\n\tposition: absolute !important;\n}\n\n.position-fixed {\n\tposition: fixed !important;\n}\n\n.position-sticky {\n\tposition: -webkit-sticky !important;\n\tposition: sticky !important;\n}\n\n.top-0 {\n\ttop: 0 !important;\n}\n\n.top-50 {\n\ttop: 50% !important;\n}\n\n.top-100 {\n\ttop: 100% !important;\n}\n\n.bottom-0 {\n\tbottom: 0 !important;\n}\n\n.bottom-50 {\n\tbottom: 50% !important;\n}\n\n.bottom-100 {\n\tbottom: 100% !important;\n}\n\n.start-0 {\n\tright: 0 !important;\n}\n\n.start-50 {\n\tright: 50% !important;\n}\n\n.start-100 {\n\tright: 100% !important;\n}\n\n.end-0 {\n\tleft: 0 !important;\n}\n\n.end-50 {\n\tleft: 50% !important;\n}\n\n.end-100 {\n\tleft: 100% !important;\n}\n\n.translate-middle {\n\ttransform: translate(50%, -50%) !important;\n}\n\n.translate-middle-x {\n\ttransform: translateX(50%) !important;\n}\n\n.translate-middle-y {\n\ttransform: translateY(-50%) !important;\n}\n\n@media (min-width: 576px) {\n\t.position-sm-static {\n\t\tposition: static !important;\n\t}\n\n\t.position-sm-relative {\n\t\tposition: relative !important;\n\t}\n\n\t.position-sm-absolute {\n\t\tposition: absolute !important;\n\t}\n\n\t.position-sm-fixed {\n\t\tposition: fixed !important;\n\t}\n\n\t.position-sm-sticky {\n\t\tposition: -webkit-sticky !important;\n\t\tposition: sticky !important;\n\t}\n\n\t.top-sm-0 {\n\t\ttop: 0 !important;\n\t}\n\n\t.top-sm-50 {\n\t\ttop: 50% !important;\n\t}\n\n\t.top-sm-100 {\n\t\ttop: 100% !important;\n\t}\n\n\t.bottom-sm-0 {\n\t\tbottom: 0 !important;\n\t}\n\n\t.bottom-sm-50 {\n\t\tbottom: 50% !important;\n\t}\n\n\t.bottom-sm-100 {\n\t\tbottom: 100% !important;\n\t}\n\n\t.start-sm-0 {\n\t\tright: 0 !important;\n\t}\n\n\t.start-sm-50 {\n\t\tright: 50% !important;\n\t}\n\n\t.start-sm-100 {\n\t\tright: 100% !important;\n\t}\n\n\t.end-sm-0 {\n\t\tleft: 0 !important;\n\t}\n\n\t.end-sm-50 {\n\t\tleft: 50% !important;\n\t}\n\n\t.end-sm-100 {\n\t\tleft: 100% !important;\n\t}\n\n\t.translate-middle-sm {\n\t\ttransform: translate(50%, -50%) !important;\n\t}\n\n\t.translate-middle-sm-x {\n\t\ttransform: translateX(50%) !important;\n\t}\n\n\t.translate-middle-sm-y {\n\t\ttransform: translateY(-50%) !important;\n\t}\n}\n\n@media (min-width: 768px) {\n\t.position-md-static {\n\t\tposition: static !important;\n\t}\n\n\t.position-md-relative {\n\t\tposition: relative !important;\n\t}\n\n\t.position-md-absolute {\n\t\tposition: absolute !important;\n\t}\n\n\t.position-md-fixed {\n\t\tposition: fixed !important;\n\t}\n\n\t.position-md-sticky {\n\t\tposition: -webkit-sticky !important;\n\t\tposition: sticky !important;\n\t}\n\n\t.top-md-0 {\n\t\ttop: 0 !important;\n\t}\n\n\t.top-md-50 {\n\t\ttop: 50% !important;\n\t}\n\n\t.top-md-100 {\n\t\ttop: 100% !important;\n\t}\n\n\t.bottom-md-0 {\n\t\tbottom: 0 !important;\n\t}\n\n\t.bottom-md-50 {\n\t\tbottom: 50% !important;\n\t}\n\n\t.bottom-md-100 {\n\t\tbottom: 100% !important;\n\t}\n\n\t.start-md-0 {\n\t\tright: 0 !important;\n\t}\n\n\t.start-md-50 {\n\t\tright: 50% !important;\n\t}\n\n\t.start-md-100 {\n\t\tright: 100% !important;\n\t}\n\n\t.end-md-0 {\n\t\tleft: 0 !important;\n\t}\n\n\t.end-md-50 {\n\t\tleft: 50% !important;\n\t}\n\n\t.end-md-100 {\n\t\tleft: 100% !important;\n\t}\n\n\t.translate-middle-md {\n\t\ttransform: translate(50%, -50%) !important;\n\t}\n\n\t.translate-middle-md-x {\n\t\ttransform: translateX(50%) !important;\n\t}\n\n\t.translate-middle-md-y {\n\t\ttransform: translateY(-50%) !important;\n\t}\n}\n\n@media (min-width: 992px) {\n\t.position-lg-static {\n\t\tposition: static !important;\n\t}\n\n\t.position-lg-relative {\n\t\tposition: relative !important;\n\t}\n\n\t.position-lg-absolute {\n\t\tposition: absolute !important;\n\t}\n\n\t.position-lg-fixed {\n\t\tposition: fixed !important;\n\t}\n\n\t.position-lg-sticky {\n\t\tposition: -webkit-sticky !important;\n\t\tposition: sticky !important;\n\t}\n\n\t.top-lg-0 {\n\t\ttop: 0 !important;\n\t}\n\n\t.top-lg-50 {\n\t\ttop: 50% !important;\n\t}\n\n\t.top-lg-100 {\n\t\ttop: 100% !important;\n\t}\n\n\t.bottom-lg-0 {\n\t\tbottom: 0 !important;\n\t}\n\n\t.bottom-lg-50 {\n\t\tbottom: 50% !important;\n\t}\n\n\t.bottom-lg-100 {\n\t\tbottom: 100% !important;\n\t}\n\n\t.start-lg-0 {\n\t\tright: 0 !important;\n\t}\n\n\t.start-lg-50 {\n\t\tright: 50% !important;\n\t}\n\n\t.start-lg-100 {\n\t\tright: 100% !important;\n\t}\n\n\t.end-lg-0 {\n\t\tleft: 0 !important;\n\t}\n\n\t.end-lg-50 {\n\t\tleft: 50% !important;\n\t}\n\n\t.end-lg-100 {\n\t\tleft: 100% !important;\n\t}\n\n\t.translate-middle-lg {\n\t\ttransform: translate(50%, -50%) !important;\n\t}\n\n\t.translate-middle-lg-x {\n\t\ttransform: translateX(50%) !important;\n\t}\n\n\t.translate-middle-lg-y {\n\t\ttransform: translateY(-50%) !important;\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.position-xl-static {\n\t\tposition: static !important;\n\t}\n\n\t.position-xl-relative {\n\t\tposition: relative !important;\n\t}\n\n\t.position-xl-absolute {\n\t\tposition: absolute !important;\n\t}\n\n\t.position-xl-fixed {\n\t\tposition: fixed !important;\n\t}\n\n\t.position-xl-sticky {\n\t\tposition: -webkit-sticky !important;\n\t\tposition: sticky !important;\n\t}\n\n\t.top-xl-0 {\n\t\ttop: 0 !important;\n\t}\n\n\t.top-xl-50 {\n\t\ttop: 50% !important;\n\t}\n\n\t.top-xl-100 {\n\t\ttop: 100% !important;\n\t}\n\n\t.bottom-xl-0 {\n\t\tbottom: 0 !important;\n\t}\n\n\t.bottom-xl-50 {\n\t\tbottom: 50% !important;\n\t}\n\n\t.bottom-xl-100 {\n\t\tbottom: 100% !important;\n\t}\n\n\t.start-xl-0 {\n\t\tright: 0 !important;\n\t}\n\n\t.start-xl-50 {\n\t\tright: 50% !important;\n\t}\n\n\t.start-xl-100 {\n\t\tright: 100% !important;\n\t}\n\n\t.end-xl-0 {\n\t\tleft: 0 !important;\n\t}\n\n\t.end-xl-50 {\n\t\tleft: 50% !important;\n\t}\n\n\t.end-xl-100 {\n\t\tleft: 100% !important;\n\t}\n\n\t.translate-middle-xl {\n\t\ttransform: translate(50%, -50%) !important;\n\t}\n\n\t.translate-middle-xl-x {\n\t\ttransform: translateX(50%) !important;\n\t}\n\n\t.translate-middle-xl-y {\n\t\ttransform: translateY(-50%) !important;\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.position-xxl-static {\n\t\tposition: static !important;\n\t}\n\n\t.position-xxl-relative {\n\t\tposition: relative !important;\n\t}\n\n\t.position-xxl-absolute {\n\t\tposition: absolute !important;\n\t}\n\n\t.position-xxl-fixed {\n\t\tposition: fixed !important;\n\t}\n\n\t.position-xxl-sticky {\n\t\tposition: -webkit-sticky !important;\n\t\tposition: sticky !important;\n\t}\n\n\t.top-xxl-0 {\n\t\ttop: 0 !important;\n\t}\n\n\t.top-xxl-50 {\n\t\ttop: 50% !important;\n\t}\n\n\t.top-xxl-100 {\n\t\ttop: 100% !important;\n\t}\n\n\t.bottom-xxl-0 {\n\t\tbottom: 0 !important;\n\t}\n\n\t.bottom-xxl-50 {\n\t\tbottom: 50% !important;\n\t}\n\n\t.bottom-xxl-100 {\n\t\tbottom: 100% !important;\n\t}\n\n\t.start-xxl-0 {\n\t\tright: 0 !important;\n\t}\n\n\t.start-xxl-50 {\n\t\tright: 50% !important;\n\t}\n\n\t.start-xxl-100 {\n\t\tright: 100% !important;\n\t}\n\n\t.end-xxl-0 {\n\t\tleft: 0 !important;\n\t}\n\n\t.end-xxl-50 {\n\t\tleft: 50% !important;\n\t}\n\n\t.end-xxl-100 {\n\t\tleft: 100% !important;\n\t}\n\n\t.translate-middle-xxl {\n\t\ttransform: translate(50%, -50%) !important;\n\t}\n\n\t.translate-middle-xxl-x {\n\t\ttransform: translateX(50%) !important;\n\t}\n\n\t.translate-middle-xxl-y {\n\t\ttransform: translateY(-50%) !important;\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Sizing utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.specific-w-25 {\n\twidth: 1.5625rem !important;\n}\n\n.specific-w-50 {\n\twidth: 3.125rem !important;\n}\n\n.specific-w-75 {\n\twidth: 4.6875rem !important;\n}\n\n.specific-w-100 {\n\twidth: 6.25rem !important;\n}\n\n.specific-w-150 {\n\twidth: 9.375rem !important;\n}\n\n.specific-w-200 {\n\twidth: 12.5rem !important;\n}\n\n.specific-w-250 {\n\twidth: 15.625rem !important;\n}\n\n.specific-w-300 {\n\twidth: 18.75rem !important;\n}\n\n.specific-w-350 {\n\twidth: 21.875rem !important;\n}\n\n.specific-w-400 {\n\twidth: 25rem !important;\n}\n\n.specific-w-450 {\n\twidth: 28.125rem !important;\n}\n\n.specific-w-500 {\n\twidth: 31.25rem !important;\n}\n\n.specific-w-550 {\n\twidth: 34.375rem !important;\n}\n\n.specific-w-600 {\n\twidth: 37.5rem !important;\n}\n\n.w-auto {\n\twidth: auto !important;\n}\n\n.w-25 {\n\twidth: 25% !important;\n}\n\n.w-50 {\n\twidth: 50% !important;\n}\n\n.w-75 {\n\twidth: 75% !important;\n}\n\n.w-100 {\n\twidth: 100% !important;\n}\n\n.mw-100 {\n\tmax-width: 100% !important;\n}\n\n.vw-100 {\n\twidth: 100vw !important;\n}\n\n.min-vw-100 {\n\tmin-width: 100vw !important;\n}\n\n.specific-h-25 {\n\theight: 1.5625rem !important;\n}\n\n.specific-h-50 {\n\theight: 3.125rem !important;\n}\n\n.specific-h-75 {\n\theight: 4.6875rem !important;\n}\n\n.specific-h-100 {\n\theight: 6.25rem !important;\n}\n\n.specific-h-150 {\n\theight: 9.375rem !important;\n}\n\n.specific-h-200 {\n\theight: 12.5rem !important;\n}\n\n.specific-h-250 {\n\theight: 15.625rem !important;\n}\n\n.specific-h-300 {\n\theight: 18.75rem !important;\n}\n\n.specific-h-350 {\n\theight: 21.875rem !important;\n}\n\n.specific-h-400 {\n\theight: 25rem !important;\n}\n\n.specific-h-450 {\n\theight: 28.125rem !important;\n}\n\n.specific-h-500 {\n\theight: 31.25rem !important;\n}\n\n.specific-h-550 {\n\theight: 34.375rem !important;\n}\n\n.specific-h-600 {\n\theight: 37.5rem !important;\n}\n\n.h-auto {\n\theight: auto !important;\n}\n\n.h-25 {\n\theight: 25% !important;\n}\n\n.h-50 {\n\theight: 50% !important;\n}\n\n.h-75 {\n\theight: 75% !important;\n}\n\n.h-100 {\n\theight: 100% !important;\n}\n\n.mh-100 {\n\tmax-height: 100% !important;\n}\n\n.vh-100 {\n\theight: 100vh !important;\n}\n\n.min-vh-100 {\n\tmin-height: 100vh !important;\n}\n\n@media (min-width: 576px) {\n\t.specific-w-sm-25 {\n\t\twidth: 1.5625rem !important;\n\t}\n\n\t.specific-w-sm-50 {\n\t\twidth: 3.125rem !important;\n\t}\n\n\t.specific-w-sm-75 {\n\t\twidth: 4.6875rem !important;\n\t}\n\n\t.specific-w-sm-100 {\n\t\twidth: 6.25rem !important;\n\t}\n\n\t.specific-w-sm-150 {\n\t\twidth: 9.375rem !important;\n\t}\n\n\t.specific-w-sm-200 {\n\t\twidth: 12.5rem !important;\n\t}\n\n\t.specific-w-sm-250 {\n\t\twidth: 15.625rem !important;\n\t}\n\n\t.specific-w-sm-300 {\n\t\twidth: 18.75rem !important;\n\t}\n\n\t.specific-w-sm-350 {\n\t\twidth: 21.875rem !important;\n\t}\n\n\t.specific-w-sm-400 {\n\t\twidth: 25rem !important;\n\t}\n\n\t.specific-w-sm-450 {\n\t\twidth: 28.125rem !important;\n\t}\n\n\t.specific-w-sm-500 {\n\t\twidth: 31.25rem !important;\n\t}\n\n\t.specific-w-sm-550 {\n\t\twidth: 34.375rem !important;\n\t}\n\n\t.specific-w-sm-600 {\n\t\twidth: 37.5rem !important;\n\t}\n\n\t.w-sm-auto {\n\t\twidth: auto !important;\n\t}\n\n\t.w-sm-25 {\n\t\twidth: 25% !important;\n\t}\n\n\t.w-sm-50 {\n\t\twidth: 50% !important;\n\t}\n\n\t.w-sm-75 {\n\t\twidth: 75% !important;\n\t}\n\n\t.w-sm-100 {\n\t\twidth: 100% !important;\n\t}\n\n\t.mw-sm-100 {\n\t\tmax-width: 100% !important;\n\t}\n\n\t.vw-sm-100 {\n\t\twidth: 100vw !important;\n\t}\n\n\t.min-vw-sm-100 {\n\t\tmin-width: 100vw !important;\n\t}\n\n\t.specific-h-sm-25 {\n\t\theight: 1.5625rem !important;\n\t}\n\n\t.specific-h-sm-50 {\n\t\theight: 3.125rem !important;\n\t}\n\n\t.specific-h-sm-75 {\n\t\theight: 4.6875rem !important;\n\t}\n\n\t.specific-h-sm-100 {\n\t\theight: 6.25rem !important;\n\t}\n\n\t.specific-h-sm-150 {\n\t\theight: 9.375rem !important;\n\t}\n\n\t.specific-h-sm-200 {\n\t\theight: 12.5rem !important;\n\t}\n\n\t.specific-h-sm-250 {\n\t\theight: 15.625rem !important;\n\t}\n\n\t.specific-h-sm-300 {\n\t\theight: 18.75rem !important;\n\t}\n\n\t.specific-h-sm-350 {\n\t\theight: 21.875rem !important;\n\t}\n\n\t.specific-h-sm-400 {\n\t\theight: 25rem !important;\n\t}\n\n\t.specific-h-sm-450 {\n\t\theight: 28.125rem !important;\n\t}\n\n\t.specific-h-sm-500 {\n\t\theight: 31.25rem !important;\n\t}\n\n\t.specific-h-sm-550 {\n\t\theight: 34.375rem !important;\n\t}\n\n\t.specific-h-sm-600 {\n\t\theight: 37.5rem !important;\n\t}\n\n\t.h-sm-auto {\n\t\theight: auto !important;\n\t}\n\n\t.h-sm-25 {\n\t\theight: 25% !important;\n\t}\n\n\t.h-sm-50 {\n\t\theight: 50% !important;\n\t}\n\n\t.h-sm-75 {\n\t\theight: 75% !important;\n\t}\n\n\t.h-sm-100 {\n\t\theight: 100% !important;\n\t}\n\n\t.mh-sm-100 {\n\t\tmax-height: 100% !important;\n\t}\n\n\t.vh-sm-100 {\n\t\theight: 100vh !important;\n\t}\n\n\t.min-vh-sm-100 {\n\t\tmin-height: 100vh !important;\n\t}\n}\n\n@media (min-width: 768px) {\n\t.specific-w-md-25 {\n\t\twidth: 1.5625rem !important;\n\t}\n\n\t.specific-w-md-50 {\n\t\twidth: 3.125rem !important;\n\t}\n\n\t.specific-w-md-75 {\n\t\twidth: 4.6875rem !important;\n\t}\n\n\t.specific-w-md-100 {\n\t\twidth: 6.25rem !important;\n\t}\n\n\t.specific-w-md-150 {\n\t\twidth: 9.375rem !important;\n\t}\n\n\t.specific-w-md-200 {\n\t\twidth: 12.5rem !important;\n\t}\n\n\t.specific-w-md-250 {\n\t\twidth: 15.625rem !important;\n\t}\n\n\t.specific-w-md-300 {\n\t\twidth: 18.75rem !important;\n\t}\n\n\t.specific-w-md-350 {\n\t\twidth: 21.875rem !important;\n\t}\n\n\t.specific-w-md-400 {\n\t\twidth: 25rem !important;\n\t}\n\n\t.specific-w-md-450 {\n\t\twidth: 28.125rem !important;\n\t}\n\n\t.specific-w-md-500 {\n\t\twidth: 31.25rem !important;\n\t}\n\n\t.specific-w-md-550 {\n\t\twidth: 34.375rem !important;\n\t}\n\n\t.specific-w-md-600 {\n\t\twidth: 37.5rem !important;\n\t}\n\n\t.w-md-auto {\n\t\twidth: auto !important;\n\t}\n\n\t.w-md-25 {\n\t\twidth: 25% !important;\n\t}\n\n\t.w-md-50 {\n\t\twidth: 50% !important;\n\t}\n\n\t.w-md-75 {\n\t\twidth: 75% !important;\n\t}\n\n\t.w-md-100 {\n\t\twidth: 100% !important;\n\t}\n\n\t.mw-md-100 {\n\t\tmax-width: 100% !important;\n\t}\n\n\t.vw-md-100 {\n\t\twidth: 100vw !important;\n\t}\n\n\t.min-vw-md-100 {\n\t\tmin-width: 100vw !important;\n\t}\n\n\t.specific-h-md-25 {\n\t\theight: 1.5625rem !important;\n\t}\n\n\t.specific-h-md-50 {\n\t\theight: 3.125rem !important;\n\t}\n\n\t.specific-h-md-75 {\n\t\theight: 4.6875rem !important;\n\t}\n\n\t.specific-h-md-100 {\n\t\theight: 6.25rem !important;\n\t}\n\n\t.specific-h-md-150 {\n\t\theight: 9.375rem !important;\n\t}\n\n\t.specific-h-md-200 {\n\t\theight: 12.5rem !important;\n\t}\n\n\t.specific-h-md-250 {\n\t\theight: 15.625rem !important;\n\t}\n\n\t.specific-h-md-300 {\n\t\theight: 18.75rem !important;\n\t}\n\n\t.specific-h-md-350 {\n\t\theight: 21.875rem !important;\n\t}\n\n\t.specific-h-md-400 {\n\t\theight: 25rem !important;\n\t}\n\n\t.specific-h-md-450 {\n\t\theight: 28.125rem !important;\n\t}\n\n\t.specific-h-md-500 {\n\t\theight: 31.25rem !important;\n\t}\n\n\t.specific-h-md-550 {\n\t\theight: 34.375rem !important;\n\t}\n\n\t.specific-h-md-600 {\n\t\theight: 37.5rem !important;\n\t}\n\n\t.h-md-auto {\n\t\theight: auto !important;\n\t}\n\n\t.h-md-25 {\n\t\theight: 25% !important;\n\t}\n\n\t.h-md-50 {\n\t\theight: 50% !important;\n\t}\n\n\t.h-md-75 {\n\t\theight: 75% !important;\n\t}\n\n\t.h-md-100 {\n\t\theight: 100% !important;\n\t}\n\n\t.mh-md-100 {\n\t\tmax-height: 100% !important;\n\t}\n\n\t.vh-md-100 {\n\t\theight: 100vh !important;\n\t}\n\n\t.min-vh-md-100 {\n\t\tmin-height: 100vh !important;\n\t}\n}\n\n@media (min-width: 992px) {\n\t.specific-w-lg-25 {\n\t\twidth: 1.5625rem !important;\n\t}\n\n\t.specific-w-lg-50 {\n\t\twidth: 3.125rem !important;\n\t}\n\n\t.specific-w-lg-75 {\n\t\twidth: 4.6875rem !important;\n\t}\n\n\t.specific-w-lg-100 {\n\t\twidth: 6.25rem !important;\n\t}\n\n\t.specific-w-lg-150 {\n\t\twidth: 9.375rem !important;\n\t}\n\n\t.specific-w-lg-200 {\n\t\twidth: 12.5rem !important;\n\t}\n\n\t.specific-w-lg-250 {\n\t\twidth: 15.625rem !important;\n\t}\n\n\t.specific-w-lg-300 {\n\t\twidth: 18.75rem !important;\n\t}\n\n\t.specific-w-lg-350 {\n\t\twidth: 21.875rem !important;\n\t}\n\n\t.specific-w-lg-400 {\n\t\twidth: 25rem !important;\n\t}\n\n\t.specific-w-lg-450 {\n\t\twidth: 28.125rem !important;\n\t}\n\n\t.specific-w-lg-500 {\n\t\twidth: 31.25rem !important;\n\t}\n\n\t.specific-w-lg-550 {\n\t\twidth: 34.375rem !important;\n\t}\n\n\t.specific-w-lg-600 {\n\t\twidth: 37.5rem !important;\n\t}\n\n\t.w-lg-auto {\n\t\twidth: auto !important;\n\t}\n\n\t.w-lg-25 {\n\t\twidth: 25% !important;\n\t}\n\n\t.w-lg-50 {\n\t\twidth: 50% !important;\n\t}\n\n\t.w-lg-75 {\n\t\twidth: 75% !important;\n\t}\n\n\t.w-lg-100 {\n\t\twidth: 100% !important;\n\t}\n\n\t.mw-lg-100 {\n\t\tmax-width: 100% !important;\n\t}\n\n\t.vw-lg-100 {\n\t\twidth: 100vw !important;\n\t}\n\n\t.min-vw-lg-100 {\n\t\tmin-width: 100vw !important;\n\t}\n\n\t.specific-h-lg-25 {\n\t\theight: 1.5625rem !important;\n\t}\n\n\t.specific-h-lg-50 {\n\t\theight: 3.125rem !important;\n\t}\n\n\t.specific-h-lg-75 {\n\t\theight: 4.6875rem !important;\n\t}\n\n\t.specific-h-lg-100 {\n\t\theight: 6.25rem !important;\n\t}\n\n\t.specific-h-lg-150 {\n\t\theight: 9.375rem !important;\n\t}\n\n\t.specific-h-lg-200 {\n\t\theight: 12.5rem !important;\n\t}\n\n\t.specific-h-lg-250 {\n\t\theight: 15.625rem !important;\n\t}\n\n\t.specific-h-lg-300 {\n\t\theight: 18.75rem !important;\n\t}\n\n\t.specific-h-lg-350 {\n\t\theight: 21.875rem !important;\n\t}\n\n\t.specific-h-lg-400 {\n\t\theight: 25rem !important;\n\t}\n\n\t.specific-h-lg-450 {\n\t\theight: 28.125rem !important;\n\t}\n\n\t.specific-h-lg-500 {\n\t\theight: 31.25rem !important;\n\t}\n\n\t.specific-h-lg-550 {\n\t\theight: 34.375rem !important;\n\t}\n\n\t.specific-h-lg-600 {\n\t\theight: 37.5rem !important;\n\t}\n\n\t.h-lg-auto {\n\t\theight: auto !important;\n\t}\n\n\t.h-lg-25 {\n\t\theight: 25% !important;\n\t}\n\n\t.h-lg-50 {\n\t\theight: 50% !important;\n\t}\n\n\t.h-lg-75 {\n\t\theight: 75% !important;\n\t}\n\n\t.h-lg-100 {\n\t\theight: 100% !important;\n\t}\n\n\t.mh-lg-100 {\n\t\tmax-height: 100% !important;\n\t}\n\n\t.vh-lg-100 {\n\t\theight: 100vh !important;\n\t}\n\n\t.min-vh-lg-100 {\n\t\tmin-height: 100vh !important;\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.specific-w-xl-25 {\n\t\twidth: 1.5625rem !important;\n\t}\n\n\t.specific-w-xl-50 {\n\t\twidth: 3.125rem !important;\n\t}\n\n\t.specific-w-xl-75 {\n\t\twidth: 4.6875rem !important;\n\t}\n\n\t.specific-w-xl-100 {\n\t\twidth: 6.25rem !important;\n\t}\n\n\t.specific-w-xl-150 {\n\t\twidth: 9.375rem !important;\n\t}\n\n\t.specific-w-xl-200 {\n\t\twidth: 12.5rem !important;\n\t}\n\n\t.specific-w-xl-250 {\n\t\twidth: 15.625rem !important;\n\t}\n\n\t.specific-w-xl-300 {\n\t\twidth: 18.75rem !important;\n\t}\n\n\t.specific-w-xl-350 {\n\t\twidth: 21.875rem !important;\n\t}\n\n\t.specific-w-xl-400 {\n\t\twidth: 25rem !important;\n\t}\n\n\t.specific-w-xl-450 {\n\t\twidth: 28.125rem !important;\n\t}\n\n\t.specific-w-xl-500 {\n\t\twidth: 31.25rem !important;\n\t}\n\n\t.specific-w-xl-550 {\n\t\twidth: 34.375rem !important;\n\t}\n\n\t.specific-w-xl-600 {\n\t\twidth: 37.5rem !important;\n\t}\n\n\t.w-xl-auto {\n\t\twidth: auto !important;\n\t}\n\n\t.w-xl-25 {\n\t\twidth: 25% !important;\n\t}\n\n\t.w-xl-50 {\n\t\twidth: 50% !important;\n\t}\n\n\t.w-xl-75 {\n\t\twidth: 75% !important;\n\t}\n\n\t.w-xl-100 {\n\t\twidth: 100% !important;\n\t}\n\n\t.mw-xl-100 {\n\t\tmax-width: 100% !important;\n\t}\n\n\t.vw-xl-100 {\n\t\twidth: 100vw !important;\n\t}\n\n\t.min-vw-xl-100 {\n\t\tmin-width: 100vw !important;\n\t}\n\n\t.specific-h-xl-25 {\n\t\theight: 1.5625rem !important;\n\t}\n\n\t.specific-h-xl-50 {\n\t\theight: 3.125rem !important;\n\t}\n\n\t.specific-h-xl-75 {\n\t\theight: 4.6875rem !important;\n\t}\n\n\t.specific-h-xl-100 {\n\t\theight: 6.25rem !important;\n\t}\n\n\t.specific-h-xl-150 {\n\t\theight: 9.375rem !important;\n\t}\n\n\t.specific-h-xl-200 {\n\t\theight: 12.5rem !important;\n\t}\n\n\t.specific-h-xl-250 {\n\t\theight: 15.625rem !important;\n\t}\n\n\t.specific-h-xl-300 {\n\t\theight: 18.75rem !important;\n\t}\n\n\t.specific-h-xl-350 {\n\t\theight: 21.875rem !important;\n\t}\n\n\t.specific-h-xl-400 {\n\t\theight: 25rem !important;\n\t}\n\n\t.specific-h-xl-450 {\n\t\theight: 28.125rem !important;\n\t}\n\n\t.specific-h-xl-500 {\n\t\theight: 31.25rem !important;\n\t}\n\n\t.specific-h-xl-550 {\n\t\theight: 34.375rem !important;\n\t}\n\n\t.specific-h-xl-600 {\n\t\theight: 37.5rem !important;\n\t}\n\n\t.h-xl-auto {\n\t\theight: auto !important;\n\t}\n\n\t.h-xl-25 {\n\t\theight: 25% !important;\n\t}\n\n\t.h-xl-50 {\n\t\theight: 50% !important;\n\t}\n\n\t.h-xl-75 {\n\t\theight: 75% !important;\n\t}\n\n\t.h-xl-100 {\n\t\theight: 100% !important;\n\t}\n\n\t.mh-xl-100 {\n\t\tmax-height: 100% !important;\n\t}\n\n\t.vh-xl-100 {\n\t\theight: 100vh !important;\n\t}\n\n\t.min-vh-xl-100 {\n\t\tmin-height: 100vh !important;\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.specific-w-xxl-25 {\n\t\twidth: 1.5625rem !important;\n\t}\n\n\t.specific-w-xxl-50 {\n\t\twidth: 3.125rem !important;\n\t}\n\n\t.specific-w-xxl-75 {\n\t\twidth: 4.6875rem !important;\n\t}\n\n\t.specific-w-xxl-100 {\n\t\twidth: 6.25rem !important;\n\t}\n\n\t.specific-w-xxl-150 {\n\t\twidth: 9.375rem !important;\n\t}\n\n\t.specific-w-xxl-200 {\n\t\twidth: 12.5rem !important;\n\t}\n\n\t.specific-w-xxl-250 {\n\t\twidth: 15.625rem !important;\n\t}\n\n\t.specific-w-xxl-300 {\n\t\twidth: 18.75rem !important;\n\t}\n\n\t.specific-w-xxl-350 {\n\t\twidth: 21.875rem !important;\n\t}\n\n\t.specific-w-xxl-400 {\n\t\twidth: 25rem !important;\n\t}\n\n\t.specific-w-xxl-450 {\n\t\twidth: 28.125rem !important;\n\t}\n\n\t.specific-w-xxl-500 {\n\t\twidth: 31.25rem !important;\n\t}\n\n\t.specific-w-xxl-550 {\n\t\twidth: 34.375rem !important;\n\t}\n\n\t.specific-w-xxl-600 {\n\t\twidth: 37.5rem !important;\n\t}\n\n\t.w-xxl-auto {\n\t\twidth: auto !important;\n\t}\n\n\t.w-xxl-25 {\n\t\twidth: 25% !important;\n\t}\n\n\t.w-xxl-50 {\n\t\twidth: 50% !important;\n\t}\n\n\t.w-xxl-75 {\n\t\twidth: 75% !important;\n\t}\n\n\t.w-xxl-100 {\n\t\twidth: 100% !important;\n\t}\n\n\t.mw-xxl-100 {\n\t\tmax-width: 100% !important;\n\t}\n\n\t.vw-xxl-100 {\n\t\twidth: 100vw !important;\n\t}\n\n\t.min-vw-xxl-100 {\n\t\tmin-width: 100vw !important;\n\t}\n\n\t.specific-h-xxl-25 {\n\t\theight: 1.5625rem !important;\n\t}\n\n\t.specific-h-xxl-50 {\n\t\theight: 3.125rem !important;\n\t}\n\n\t.specific-h-xxl-75 {\n\t\theight: 4.6875rem !important;\n\t}\n\n\t.specific-h-xxl-100 {\n\t\theight: 6.25rem !important;\n\t}\n\n\t.specific-h-xxl-150 {\n\t\theight: 9.375rem !important;\n\t}\n\n\t.specific-h-xxl-200 {\n\t\theight: 12.5rem !important;\n\t}\n\n\t.specific-h-xxl-250 {\n\t\theight: 15.625rem !important;\n\t}\n\n\t.specific-h-xxl-300 {\n\t\theight: 18.75rem !important;\n\t}\n\n\t.specific-h-xxl-350 {\n\t\theight: 21.875rem !important;\n\t}\n\n\t.specific-h-xxl-400 {\n\t\theight: 25rem !important;\n\t}\n\n\t.specific-h-xxl-450 {\n\t\theight: 28.125rem !important;\n\t}\n\n\t.specific-h-xxl-500 {\n\t\theight: 31.25rem !important;\n\t}\n\n\t.specific-h-xxl-550 {\n\t\theight: 34.375rem !important;\n\t}\n\n\t.specific-h-xxl-600 {\n\t\theight: 37.5rem !important;\n\t}\n\n\t.h-xxl-auto {\n\t\theight: auto !important;\n\t}\n\n\t.h-xxl-25 {\n\t\theight: 25% !important;\n\t}\n\n\t.h-xxl-50 {\n\t\theight: 50% !important;\n\t}\n\n\t.h-xxl-75 {\n\t\theight: 75% !important;\n\t}\n\n\t.h-xxl-100 {\n\t\theight: 100% !important;\n\t}\n\n\t.mh-xxl-100 {\n\t\tmax-height: 100% !important;\n\t}\n\n\t.vh-xxl-100 {\n\t\theight: 100vh !important;\n\t}\n\n\t.min-vh-xxl-100 {\n\t\tmin-height: 100vh !important;\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Spacing utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.m-0 {\n\tmargin: 0 !important;\n}\n\n.m-1 {\n\tmargin: var(--bs-spacer-1) !important;\n}\n\n.m-2 {\n\tmargin: var(--bs-spacer-2) !important;\n}\n\n.m-3 {\n\tmargin: var(--bs-spacer-3) !important;\n}\n\n.m-4 {\n\tmargin: var(--bs-spacer-4) !important;\n}\n\n.m-5 {\n\tmargin: var(--bs-spacer-5) !important;\n}\n\n.m-auto {\n\tmargin: auto !important;\n}\n\n.m-n1 {\n\tmargin: calc(-1 * var(--bs-spacer-1)) !important;\n}\n\n.m-n2 {\n\tmargin: calc(-1 * var(--bs-spacer-2)) !important;\n}\n\n.m-n3 {\n\tmargin: calc(-1 * var(--bs-spacer-3)) !important;\n}\n\n.m-n4 {\n\tmargin: calc(-1 * var(--bs-spacer-4)) !important;\n}\n\n.m-n5 {\n\tmargin: calc(-1 * var(--bs-spacer-5)) !important;\n}\n\n.mx-0 {\n\tmargin-left: 0 !important;\n\tmargin-right: 0 !important;\n}\n\n.mx-1 {\n\tmargin-left: var(--bs-spacer-1) !important;\n\tmargin-right: var(--bs-spacer-1) !important;\n}\n\n.mx-2 {\n\tmargin-left: var(--bs-spacer-2) !important;\n\tmargin-right: var(--bs-spacer-2) !important;\n}\n\n.mx-3 {\n\tmargin-left: var(--bs-spacer-3) !important;\n\tmargin-right: var(--bs-spacer-3) !important;\n}\n\n.mx-4 {\n\tmargin-left: var(--bs-spacer-4) !important;\n\tmargin-right: var(--bs-spacer-4) !important;\n}\n\n.mx-5 {\n\tmargin-left: var(--bs-spacer-5) !important;\n\tmargin-right: var(--bs-spacer-5) !important;\n}\n\n.mx-auto {\n\tmargin-left: auto !important;\n\tmargin-right: auto !important;\n}\n\n.mx-n1 {\n\tmargin-left: calc(-1 * var(--bs-spacer-1)) !important;\n\tmargin-right: calc(-1 * var(--bs-spacer-1)) !important;\n}\n\n.mx-n2 {\n\tmargin-left: calc(-1 * var(--bs-spacer-2)) !important;\n\tmargin-right: calc(-1 * var(--bs-spacer-2)) !important;\n}\n\n.mx-n3 {\n\tmargin-left: calc(-1 * var(--bs-spacer-3)) !important;\n\tmargin-right: calc(-1 * var(--bs-spacer-3)) !important;\n}\n\n.mx-n4 {\n\tmargin-left: calc(-1 * var(--bs-spacer-4)) !important;\n\tmargin-right: calc(-1 * var(--bs-spacer-4)) !important;\n}\n\n.mx-n5 {\n\tmargin-left: calc(-1 * var(--bs-spacer-5)) !important;\n\tmargin-right: calc(-1 * var(--bs-spacer-5)) !important;\n}\n\n.my-0 {\n\tmargin-top: 0 !important;\n\tmargin-bottom: 0 !important;\n}\n\n.my-1 {\n\tmargin-top: var(--bs-spacer-1) !important;\n\tmargin-bottom: var(--bs-spacer-1) !important;\n}\n\n.my-2 {\n\tmargin-top: var(--bs-spacer-2) !important;\n\tmargin-bottom: var(--bs-spacer-2) !important;\n}\n\n.my-3 {\n\tmargin-top: var(--bs-spacer-3) !important;\n\tmargin-bottom: var(--bs-spacer-3) !important;\n}\n\n.my-4 {\n\tmargin-top: var(--bs-spacer-4) !important;\n\tmargin-bottom: var(--bs-spacer-4) !important;\n}\n\n.my-5 {\n\tmargin-top: var(--bs-spacer-5) !important;\n\tmargin-bottom: var(--bs-spacer-5) !important;\n}\n\n.my-auto {\n\tmargin-top: auto !important;\n\tmargin-bottom: auto !important;\n}\n\n.my-n1 {\n\tmargin-top: calc(-1 * var(--bs-spacer-1)) !important;\n\tmargin-bottom: calc(-1 * var(--bs-spacer-1)) !important;\n}\n\n.my-n2 {\n\tmargin-top: calc(-1 * var(--bs-spacer-2)) !important;\n\tmargin-bottom: calc(-1 * var(--bs-spacer-2)) !important;\n}\n\n.my-n3 {\n\tmargin-top: calc(-1 * var(--bs-spacer-3)) !important;\n\tmargin-bottom: calc(-1 * var(--bs-spacer-3)) !important;\n}\n\n.my-n4 {\n\tmargin-top: calc(-1 * var(--bs-spacer-4)) !important;\n\tmargin-bottom: calc(-1 * var(--bs-spacer-4)) !important;\n}\n\n.my-n5 {\n\tmargin-top: calc(-1 * var(--bs-spacer-5)) !important;\n\tmargin-bottom: calc(-1 * var(--bs-spacer-5)) !important;\n}\n\n.mt-0 {\n\tmargin-top: 0 !important;\n}\n\n.mt-1 {\n\tmargin-top: var(--bs-spacer-1) !important;\n}\n\n.mt-2 {\n\tmargin-top: var(--bs-spacer-2) !important;\n}\n\n.mt-3 {\n\tmargin-top: var(--bs-spacer-3) !important;\n}\n\n.mt-4 {\n\tmargin-top: var(--bs-spacer-4) !important;\n}\n\n.mt-5 {\n\tmargin-top: var(--bs-spacer-5) !important;\n}\n\n.mt-auto {\n\tmargin-top: auto !important;\n}\n\n.mt-n1 {\n\tmargin-top: calc(-1 * var(--bs-spacer-1)) !important;\n}\n\n.mt-n2 {\n\tmargin-top: calc(-1 * var(--bs-spacer-2)) !important;\n}\n\n.mt-n3 {\n\tmargin-top: calc(-1 * var(--bs-spacer-3)) !important;\n}\n\n.mt-n4 {\n\tmargin-top: calc(-1 * var(--bs-spacer-4)) !important;\n}\n\n.mt-n5 {\n\tmargin-top: calc(-1 * var(--bs-spacer-5)) !important;\n}\n\n.me-0 {\n\tmargin-left: 0 !important;\n}\n\n.me-1 {\n\tmargin-left: var(--bs-spacer-1) !important;\n}\n\n.me-2 {\n\tmargin-left: var(--bs-spacer-2) !important;\n}\n\n.me-3 {\n\tmargin-left: var(--bs-spacer-3) !important;\n}\n\n.me-4 {\n\tmargin-left: var(--bs-spacer-4) !important;\n}\n\n.me-5 {\n\tmargin-left: var(--bs-spacer-5) !important;\n}\n\n.me-auto {\n\tmargin-left: auto !important;\n}\n\n.me-n1 {\n\tmargin-left: calc(-1 * var(--bs-spacer-1)) !important;\n}\n\n.me-n2 {\n\tmargin-left: calc(-1 * var(--bs-spacer-2)) !important;\n}\n\n.me-n3 {\n\tmargin-left: calc(-1 * var(--bs-spacer-3)) !important;\n}\n\n.me-n4 {\n\tmargin-left: calc(-1 * var(--bs-spacer-4)) !important;\n}\n\n.me-n5 {\n\tmargin-left: calc(-1 * var(--bs-spacer-5)) !important;\n}\n\n.mb-0 {\n\tmargin-bottom: 0 !important;\n}\n\n.mb-1 {\n\tmargin-bottom: var(--bs-spacer-1) !important;\n}\n\n.mb-2 {\n\tmargin-bottom: var(--bs-spacer-2) !important;\n}\n\n.mb-3 {\n\tmargin-bottom: var(--bs-spacer-3) !important;\n}\n\n.mb-4 {\n\tmargin-bottom: var(--bs-spacer-4) !important;\n}\n\n.mb-5 {\n\tmargin-bottom: var(--bs-spacer-5) !important;\n}\n\n.mb-auto {\n\tmargin-bottom: auto !important;\n}\n\n.mb-n1 {\n\tmargin-bottom: calc(-1 * var(--bs-spacer-1)) !important;\n}\n\n.mb-n2 {\n\tmargin-bottom: calc(-1 * var(--bs-spacer-2)) !important;\n}\n\n.mb-n3 {\n\tmargin-bottom: calc(-1 * var(--bs-spacer-3)) !important;\n}\n\n.mb-n4 {\n\tmargin-bottom: calc(-1 * var(--bs-spacer-4)) !important;\n}\n\n.mb-n5 {\n\tmargin-bottom: calc(-1 * var(--bs-spacer-5)) !important;\n}\n\n.ms-0 {\n\tmargin-right: 0 !important;\n}\n\n.ms-1 {\n\tmargin-right: var(--bs-spacer-1) !important;\n}\n\n.ms-2 {\n\tmargin-right: var(--bs-spacer-2) !important;\n}\n\n.ms-3 {\n\tmargin-right: var(--bs-spacer-3) !important;\n}\n\n.ms-4 {\n\tmargin-right: var(--bs-spacer-4) !important;\n}\n\n.ms-5 {\n\tmargin-right: var(--bs-spacer-5) !important;\n}\n\n.ms-auto {\n\tmargin-right: auto !important;\n}\n\n.ms-n1 {\n\tmargin-right: calc(-1 * var(--bs-spacer-1)) !important;\n}\n\n.ms-n2 {\n\tmargin-right: calc(-1 * var(--bs-spacer-2)) !important;\n}\n\n.ms-n3 {\n\tmargin-right: calc(-1 * var(--bs-spacer-3)) !important;\n}\n\n.ms-n4 {\n\tmargin-right: calc(-1 * var(--bs-spacer-4)) !important;\n}\n\n.ms-n5 {\n\tmargin-right: calc(-1 * var(--bs-spacer-5)) !important;\n}\n\n.p-0 {\n\tpadding: 0 !important;\n}\n\n.p-1 {\n\tpadding: var(--bs-spacer-1) !important;\n}\n\n.p-2 {\n\tpadding: var(--bs-spacer-2) !important;\n}\n\n.p-3 {\n\tpadding: var(--bs-spacer-3) !important;\n}\n\n.p-4 {\n\tpadding: var(--bs-spacer-4) !important;\n}\n\n.p-5 {\n\tpadding: var(--bs-spacer-5) !important;\n}\n\n.px-0 {\n\tpadding-left: 0 !important;\n\tpadding-right: 0 !important;\n}\n\n.px-1 {\n\tpadding-left: var(--bs-spacer-1) !important;\n\tpadding-right: var(--bs-spacer-1) !important;\n}\n\n.px-2 {\n\tpadding-left: var(--bs-spacer-2) !important;\n\tpadding-right: var(--bs-spacer-2) !important;\n}\n\n.px-3 {\n\tpadding-left: var(--bs-spacer-3) !important;\n\tpadding-right: var(--bs-spacer-3) !important;\n}\n\n.px-4 {\n\tpadding-left: var(--bs-spacer-4) !important;\n\tpadding-right: var(--bs-spacer-4) !important;\n}\n\n.px-5 {\n\tpadding-left: var(--bs-spacer-5) !important;\n\tpadding-right: var(--bs-spacer-5) !important;\n}\n\n.py-0 {\n\tpadding-top: 0 !important;\n\tpadding-bottom: 0 !important;\n}\n\n.py-1 {\n\tpadding-top: var(--bs-spacer-1) !important;\n\tpadding-bottom: var(--bs-spacer-1) !important;\n}\n\n.py-2 {\n\tpadding-top: var(--bs-spacer-2) !important;\n\tpadding-bottom: var(--bs-spacer-2) !important;\n}\n\n.py-3 {\n\tpadding-top: var(--bs-spacer-3) !important;\n\tpadding-bottom: var(--bs-spacer-3) !important;\n}\n\n.py-4 {\n\tpadding-top: var(--bs-spacer-4) !important;\n\tpadding-bottom: var(--bs-spacer-4) !important;\n}\n\n.py-5 {\n\tpadding-top: var(--bs-spacer-5) !important;\n\tpadding-bottom: var(--bs-spacer-5) !important;\n}\n\n.pt-0 {\n\tpadding-top: 0 !important;\n}\n\n.pt-1 {\n\tpadding-top: var(--bs-spacer-1) !important;\n}\n\n.pt-2 {\n\tpadding-top: var(--bs-spacer-2) !important;\n}\n\n.pt-3 {\n\tpadding-top: var(--bs-spacer-3) !important;\n}\n\n.pt-4 {\n\tpadding-top: var(--bs-spacer-4) !important;\n}\n\n.pt-5 {\n\tpadding-top: var(--bs-spacer-5) !important;\n}\n\n.pe-0 {\n\tpadding-left: 0 !important;\n}\n\n.pe-1 {\n\tpadding-left: var(--bs-spacer-1) !important;\n}\n\n.pe-2 {\n\tpadding-left: var(--bs-spacer-2) !important;\n}\n\n.pe-3 {\n\tpadding-left: var(--bs-spacer-3) !important;\n}\n\n.pe-4 {\n\tpadding-left: var(--bs-spacer-4) !important;\n}\n\n.pe-5 {\n\tpadding-left: var(--bs-spacer-5) !important;\n}\n\n.pb-0 {\n\tpadding-bottom: 0 !important;\n}\n\n.pb-1 {\n\tpadding-bottom: var(--bs-spacer-1) !important;\n}\n\n.pb-2 {\n\tpadding-bottom: var(--bs-spacer-2) !important;\n}\n\n.pb-3 {\n\tpadding-bottom: var(--bs-spacer-3) !important;\n}\n\n.pb-4 {\n\tpadding-bottom: var(--bs-spacer-4) !important;\n}\n\n.pb-5 {\n\tpadding-bottom: var(--bs-spacer-5) !important;\n}\n\n.ps-0 {\n\tpadding-right: 0 !important;\n}\n\n.ps-1 {\n\tpadding-right: var(--bs-spacer-1) !important;\n}\n\n.ps-2 {\n\tpadding-right: var(--bs-spacer-2) !important;\n}\n\n.ps-3 {\n\tpadding-right: var(--bs-spacer-3) !important;\n}\n\n.ps-4 {\n\tpadding-right: var(--bs-spacer-4) !important;\n}\n\n.ps-5 {\n\tpadding-right: var(--bs-spacer-5) !important;\n}\n\n.gap-0 {\n\tgap: 0 !important;\n}\n\n.gap-1 {\n\tgap: var(--bs-spacer-1) !important;\n}\n\n.gap-2 {\n\tgap: var(--bs-spacer-2) !important;\n}\n\n.gap-3 {\n\tgap: var(--bs-spacer-3) !important;\n}\n\n.gap-4 {\n\tgap: var(--bs-spacer-4) !important;\n}\n\n.gap-5 {\n\tgap: var(--bs-spacer-5) !important;\n}\n\n.row-gap-0 {\n\tgap: 0 !important;\n}\n\n.row-gap-1 {\n\trow-gap: var(--bs-spacer-1) !important;\n}\n\n.row-gap-2 {\n\trow-gap: var(--bs-spacer-2) !important;\n}\n\n.row-gap-3 {\n\trow-gap: var(--bs-spacer-3) !important;\n}\n\n.row-gap-4 {\n\trow-gap: var(--bs-spacer-4) !important;\n}\n\n.row-gap-5 {\n\trow-gap: var(--bs-spacer-5) !important;\n}\n\n.column-gap-0 {\n\t-moz-column-gap: 0 !important;\n\tcolumn-gap: 0 !important;\n}\n\n.column-gap-1 {\n\t-moz-column-gap: var(--bs-spacer-1) !important;\n\tcolumn-gap: var(--bs-spacer-1) !important;\n}\n\n.column-gap-2 {\n\t-moz-column-gap: var(--bs-spacer-2) !important;\n\tcolumn-gap: var(--bs-spacer-2) !important;\n}\n\n.column-gap-3 {\n\t-moz-column-gap: var(--bs-spacer-3) !important;\n\tcolumn-gap: var(--bs-spacer-3) !important;\n}\n\n.column-gap-4 {\n\t-moz-column-gap: var(--bs-spacer-4) !important;\n\tcolumn-gap: var(--bs-spacer-4) !important;\n}\n\n.column-gap-5 {\n\t-moz-column-gap: var(--bs-spacer-5) !important;\n\tcolumn-gap: var(--bs-spacer-5) !important;\n}\n\n@media (min-width: 576px) {\n\t.m-sm-0 {\n\t\tmargin: 0 !important;\n\t}\n\t\n\t.m-sm-1 {\n\t\tmargin: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.m-sm-2 {\n\t\tmargin: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.m-sm-3 {\n\t\tmargin: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.m-sm-4 {\n\t\tmargin: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.m-sm-5 {\n\t\tmargin: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.m-sm-auto {\n\t\tmargin: auto !important;\n\t}\n\n\t.m-sm-n1 {\n\t\tmargin: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.m-sm-n2 {\n\t\tmargin: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.m-sm-n3 {\n\t\tmargin: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.m-sm-n4 {\n\t\tmargin: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.m-sm-n5 {\n\t\tmargin: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.mx-sm-0 {\n\t\tmargin-left: 0 !important;\n\t\tmargin-right: 0 !important;\n\t}\n\t\n\t.mx-sm-1 {\n\t\tmargin-left: var(--bs-spacer-1) !important;\n\t\tmargin-right: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.mx-sm-2 {\n\t\tmargin-left: var(--bs-spacer-2) !important;\n\t\tmargin-right: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.mx-sm-3 {\n\t\tmargin-left: var(--bs-spacer-3) !important;\n\t\tmargin-right: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.mx-sm-4 {\n\t\tmargin-left: var(--bs-spacer-4) !important;\n\t\tmargin-right: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.mx-sm-5 {\n\t\tmargin-left: var(--bs-spacer-5) !important;\n\t\tmargin-right: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.mx-sm-auto {\n\t\tmargin-left: auto !important;\n\t\tmargin-right: auto !important;\n\t}\n\n\t.mx-sm-n1 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-1)) !important;\n\t\tmargin-right: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.mx-sm-n2 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-2)) !important;\n\t\tmargin-right: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.mx-sm-n3 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-3)) !important;\n\t\tmargin-right: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.mx-sm-n4 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-4)) !important;\n\t\tmargin-right: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.mx-sm-n5 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-5)) !important;\n\t\tmargin-right: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.my-sm-0 {\n\t\tmargin-top: 0 !important;\n\t\tmargin-bottom: 0 !important;\n\t}\n\t\n\t.my-sm-1 {\n\t\tmargin-top: var(--bs-spacer-1) !important;\n\t\tmargin-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.my-sm-2 {\n\t\tmargin-top: var(--bs-spacer-2) !important;\n\t\tmargin-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.my-sm-3 {\n\t\tmargin-top: var(--bs-spacer-3) !important;\n\t\tmargin-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.my-sm-4 {\n\t\tmargin-top: var(--bs-spacer-4) !important;\n\t\tmargin-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.my-sm-5 {\n\t\tmargin-top: var(--bs-spacer-5) !important;\n\t\tmargin-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.my-sm-auto {\n\t\tmargin-top: auto !important;\n\t\tmargin-bottom: auto !important;\n\t}\n\n\t.my-sm-n1 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-1)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.my-sm-n2 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-2)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.my-sm-n3 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-3)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.my-sm-n4 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-4)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.my-sm-n5 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-5)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.mt-sm-0 {\n\t\tmargin-top: 0 !important;\n\t}\n\t\n\t.mt-sm-1 {\n\t\tmargin-top: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.mt-sm-2 {\n\t\tmargin-top: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.mt-sm-3 {\n\t\tmargin-top: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.mt-sm-4 {\n\t\tmargin-top: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.mt-sm-5 {\n\t\tmargin-top: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.mt-sm-auto {\n\t\tmargin-top: auto !important;\n\t}\n\n\t.mt-sm-n1 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.mt-sm-n2 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.mt-sm-n3 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.mt-sm-n4 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.mt-sm-n5 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.me-sm-0 {\n\t\tmargin-left: 0 !important;\n\t}\n\t\n\t.me-sm-1 {\n\t\tmargin-left: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.me-sm-2 {\n\t\tmargin-left: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.me-sm-3 {\n\t\tmargin-left: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.me-sm-4 {\n\t\tmargin-left: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.me-sm-5 {\n\t\tmargin-left: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.me-sm-auto {\n\t\tmargin-left: auto !important;\n\t}\n\n\t.me-sm-n1 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.me-sm-n2 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.me-sm-n3 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.me-sm-n4 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.me-sm-n5 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.mb-sm-0 {\n\t\tmargin-bottom: 0 !important;\n\t}\n\t\n\t.mb-sm-1 {\n\t\tmargin-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.mb-sm-2 {\n\t\tmargin-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.mb-sm-3 {\n\t\tmargin-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.mb-sm-4 {\n\t\tmargin-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.mb-sm-5 {\n\t\tmargin-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.mb-sm-auto {\n\t\tmargin-bottom: auto !important;\n\t}\n\n\t.mb-sm-n1 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.mb-sm-n2 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.mb-sm-n3 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.mb-sm-n4 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.mb-sm-n5 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.ms-sm-0 {\n\t\tmargin-right: 0 !important;\n\t}\n\t\n\t.ms-sm-1 {\n\t\tmargin-right: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.ms-sm-2 {\n\t\tmargin-right: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.ms-sm-3 {\n\t\tmargin-right: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.ms-sm-4 {\n\t\tmargin-right: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.ms-sm-5 {\n\t\tmargin-right: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.ms-sm-auto {\n\t\tmargin-right: auto !important;\n\t}\n\n\t.ms-sm-n1 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.ms-sm-n2 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.ms-sm-n3 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.ms-sm-n4 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.ms-sm-n5 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.p-sm-0 {\n\t\tpadding: 0 !important;\n\t}\n\t\n\t.p-sm-1 {\n\t\tpadding: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.p-sm-2 {\n\t\tpadding: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.p-sm-3 {\n\t\tpadding: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.p-sm-4 {\n\t\tpadding: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.p-sm-5 {\n\t\tpadding: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.px-sm-0 {\n\t\tpadding-left: 0 !important;\n\t\tpadding-right: 0 !important;\n\t}\n\t\n\t.px-sm-1 {\n\t\tpadding-left: var(--bs-spacer-1) !important;\n\t\tpadding-right: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.px-sm-2 {\n\t\tpadding-left: var(--bs-spacer-2) !important;\n\t\tpadding-right: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.px-sm-3 {\n\t\tpadding-left: var(--bs-spacer-3) !important;\n\t\tpadding-right: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.px-sm-4 {\n\t\tpadding-left: var(--bs-spacer-4) !important;\n\t\tpadding-right: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.px-sm-5 {\n\t\tpadding-left: var(--bs-spacer-5) !important;\n\t\tpadding-right: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.py-sm-0 {\n\t\tpadding-top: 0 !important;\n\t\tpadding-bottom: 0 !important;\n\t}\n\t\n\t.py-sm-1 {\n\t\tpadding-top: var(--bs-spacer-1) !important;\n\t\tpadding-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.py-sm-2 {\n\t\tpadding-top: var(--bs-spacer-2) !important;\n\t\tpadding-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.py-sm-3 {\n\t\tpadding-top: var(--bs-spacer-3) !important;\n\t\tpadding-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.py-sm-4 {\n\t\tpadding-top: var(--bs-spacer-4) !important;\n\t\tpadding-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.py-sm-5 {\n\t\tpadding-top: var(--bs-spacer-5) !important;\n\t\tpadding-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.pt-sm-0 {\n\t\tpadding-top: 0 !important;\n\t}\n\t\n\t.pt-sm-1 {\n\t\tpadding-top: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.pt-sm-2 {\n\t\tpadding-top: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.pt-sm-3 {\n\t\tpadding-top: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.pt-sm-4 {\n\t\tpadding-top: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.pt-sm-5 {\n\t\tpadding-top: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.pe-sm-0 {\n\t\tpadding-left: 0 !important;\n\t}\n\t\n\t.pe-sm-1 {\n\t\tpadding-left: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.pe-sm-2 {\n\t\tpadding-left: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.pe-sm-3 {\n\t\tpadding-left: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.pe-sm-4 {\n\t\tpadding-left: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.pe-sm-5 {\n\t\tpadding-left: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.pb-sm-0 {\n\t\tpadding-bottom: 0 !important;\n\t}\n\t\n\t.pb-sm-1 {\n\t\tpadding-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.pb-sm-2 {\n\t\tpadding-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.pb-sm-3 {\n\t\tpadding-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.pb-sm-4 {\n\t\tpadding-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.pb-sm-5 {\n\t\tpadding-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.ps-sm-0 {\n\t\tpadding-right: 0 !important;\n\t}\n\t\n\t.ps-sm-1 {\n\t\tpadding-right: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.ps-sm-2 {\n\t\tpadding-right: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.ps-sm-3 {\n\t\tpadding-right: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.ps-sm-4 {\n\t\tpadding-right: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.ps-sm-5 {\n\t\tpadding-right: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.gap-sm-0 {\n\t\tgap: 0 !important;\n\t}\n\t\n\t.gap-sm-1 {\n\t\tgap: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.gap-sm-2 {\n\t\tgap: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.gap-sm-3 {\n\t\tgap: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.gap-sm-4 {\n\t\tgap: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.gap-sm-5 {\n\t\tgap: var(--bs-spacer-5) !important;\n\t}\n\n\t.row-gap-sm-0 {\n\t\tgap: 0 !important;\n\t}\n\n\t.row-gap-sm-1 {\n\t\trow-gap: var(--bs-spacer-1) !important;\n\t}\n\n\t.row-gap-sm-2 {\n\t\trow-gap: var(--bs-spacer-2) !important;\n\t}\n\n\t.row-gap-sm-3 {\n\t\trow-gap: var(--bs-spacer-3) !important;\n\t}\n\n\t.row-gap-sm-4 {\n\t\trow-gap: var(--bs-spacer-4) !important;\n\t}\n\n\t.row-gap-sm-5 {\n\t\trow-gap: var(--bs-spacer-5) !important;\n\t}\n\n\t.column-gap-sm-0 {\n\t\t-moz-column-gap: 0 !important;\n\t\tcolumn-gap: 0 !important;\n\t}\n\n\t.column-gap-sm-1 {\n\t\t-moz-column-gap: var(--bs-spacer-1) !important;\n\t\tcolumn-gap: var(--bs-spacer-1) !important;\n\t}\n\n\t.column-gap-sm-2 {\n\t\t-moz-column-gap: var(--bs-spacer-2) !important;\n\t\tcolumn-gap: var(--bs-spacer-2) !important;\n\t}\n\n\t.column-gap-sm-3 {\n\t\t-moz-column-gap: var(--bs-spacer-3) !important;\n\t\tcolumn-gap: var(--bs-spacer-3) !important;\n\t}\n\n\t.column-gap-sm-4 {\n\t\t-moz-column-gap: var(--bs-spacer-4) !important;\n\t\tcolumn-gap: var(--bs-spacer-4) !important;\n\t}\n\n\t.column-gap-sm-5 {\n\t\t-moz-column-gap: var(--bs-spacer-5) !important;\n\t\tcolumn-gap: var(--bs-spacer-5) !important;\n\t}\n}\n\n@media (min-width: 768px) {\n\t.m-md-0 {\n\t\tmargin: 0 !important;\n\t}\n\t\n\t.m-md-1 {\n\t\tmargin: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.m-md-2 {\n\t\tmargin: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.m-md-3 {\n\t\tmargin: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.m-md-4 {\n\t\tmargin: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.m-md-5 {\n\t\tmargin: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.m-md-auto {\n\t\tmargin: auto !important;\n\t}\n\n\t.m-md-n1 {\n\t\tmargin: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.m-md-n2 {\n\t\tmargin: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.m-md-n3 {\n\t\tmargin: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.m-md-n4 {\n\t\tmargin: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.m-md-n5 {\n\t\tmargin: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.mx-md-0 {\n\t\tmargin-left: 0 !important;\n\t\tmargin-right: 0 !important;\n\t}\n\t\n\t.mx-md-1 {\n\t\tmargin-left: var(--bs-spacer-1) !important;\n\t\tmargin-right: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.mx-md-2 {\n\t\tmargin-left: var(--bs-spacer-2) !important;\n\t\tmargin-right: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.mx-md-3 {\n\t\tmargin-left: var(--bs-spacer-3) !important;\n\t\tmargin-right: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.mx-md-4 {\n\t\tmargin-left: var(--bs-spacer-4) !important;\n\t\tmargin-right: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.mx-md-5 {\n\t\tmargin-left: var(--bs-spacer-5) !important;\n\t\tmargin-right: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.mx-md-auto {\n\t\tmargin-left: auto !important;\n\t\tmargin-right: auto !important;\n\t}\n\n\t.mx-md-n1 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-1)) !important;\n\t\tmargin-right: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.mx-md-n2 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-2)) !important;\n\t\tmargin-right: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.mx-md-n3 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-3)) !important;\n\t\tmargin-right: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.mx-md-n4 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-4)) !important;\n\t\tmargin-right: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.mx-md-n5 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-5)) !important;\n\t\tmargin-right: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.my-md-0 {\n\t\tmargin-top: 0 !important;\n\t\tmargin-bottom: 0 !important;\n\t}\n\t\n\t.my-md-1 {\n\t\tmargin-top: var(--bs-spacer-1) !important;\n\t\tmargin-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.my-md-2 {\n\t\tmargin-top: var(--bs-spacer-2) !important;\n\t\tmargin-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.my-md-3 {\n\t\tmargin-top: var(--bs-spacer-3) !important;\n\t\tmargin-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.my-md-4 {\n\t\tmargin-top: var(--bs-spacer-4) !important;\n\t\tmargin-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.my-md-5 {\n\t\tmargin-top: var(--bs-spacer-5) !important;\n\t\tmargin-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.my-md-auto {\n\t\tmargin-top: auto !important;\n\t\tmargin-bottom: auto !important;\n\t}\n\n\t.my-md-n1 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-1)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.my-md-n2 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-2)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.my-md-n3 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-3)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.my-md-n4 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-4)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.my-md-n5 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-5)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.mt-md-0 {\n\t\tmargin-top: 0 !important;\n\t}\n\t\n\t.mt-md-1 {\n\t\tmargin-top: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.mt-md-2 {\n\t\tmargin-top: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.mt-md-3 {\n\t\tmargin-top: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.mt-md-4 {\n\t\tmargin-top: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.mt-md-5 {\n\t\tmargin-top: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.mt-md-auto {\n\t\tmargin-top: auto !important;\n\t}\n\n\t.mt-md-n1 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.mt-md-n2 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.mt-md-n3 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.mt-md-n4 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.mt-md-n5 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.me-md-0 {\n\t\tmargin-left: 0 !important;\n\t}\n\t\n\t.me-md-1 {\n\t\tmargin-left: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.me-md-2 {\n\t\tmargin-left: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.me-md-3 {\n\t\tmargin-left: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.me-md-4 {\n\t\tmargin-left: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.me-md-5 {\n\t\tmargin-left: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.me-md-auto {\n\t\tmargin-left: auto !important;\n\t}\n\n\t.me-md-n1 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.me-md-n2 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.me-md-n3 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.me-md-n4 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.me-md-n5 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.mb-md-0 {\n\t\tmargin-bottom: 0 !important;\n\t}\n\t\n\t.mb-md-1 {\n\t\tmargin-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.mb-md-2 {\n\t\tmargin-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.mb-md-3 {\n\t\tmargin-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.mb-md-4 {\n\t\tmargin-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.mb-md-5 {\n\t\tmargin-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.mb-md-auto {\n\t\tmargin-bottom: auto !important;\n\t}\n\n\t.mb-md-n1 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.mb-md-n2 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.mb-md-n3 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.mb-md-n4 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.mb-md-n5 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.ms-md-0 {\n\t\tmargin-right: 0 !important;\n\t}\n\t\n\t.ms-md-1 {\n\t\tmargin-right: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.ms-md-2 {\n\t\tmargin-right: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.ms-md-3 {\n\t\tmargin-right: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.ms-md-4 {\n\t\tmargin-right: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.ms-md-5 {\n\t\tmargin-right: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.ms-md-auto {\n\t\tmargin-right: auto !important;\n\t}\n\n\t.ms-md-n1 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.ms-md-n2 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.ms-md-n3 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.ms-md-n4 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.ms-md-n5 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.p-md-0 {\n\t\tpadding: 0 !important;\n\t}\n\t\n\t.p-md-1 {\n\t\tpadding: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.p-md-2 {\n\t\tpadding: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.p-md-3 {\n\t\tpadding: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.p-md-4 {\n\t\tpadding: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.p-md-5 {\n\t\tpadding: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.px-md-0 {\n\t\tpadding-left: 0 !important;\n\t\tpadding-right: 0 !important;\n\t}\n\t\n\t.px-md-1 {\n\t\tpadding-left: var(--bs-spacer-1) !important;\n\t\tpadding-right: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.px-md-2 {\n\t\tpadding-left: var(--bs-spacer-2) !important;\n\t\tpadding-right: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.px-md-3 {\n\t\tpadding-left: var(--bs-spacer-3) !important;\n\t\tpadding-right: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.px-md-4 {\n\t\tpadding-left: var(--bs-spacer-4) !important;\n\t\tpadding-right: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.px-md-5 {\n\t\tpadding-left: var(--bs-spacer-5) !important;\n\t\tpadding-right: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.py-md-0 {\n\t\tpadding-top: 0 !important;\n\t\tpadding-bottom: 0 !important;\n\t}\n\t\n\t.py-md-1 {\n\t\tpadding-top: var(--bs-spacer-1) !important;\n\t\tpadding-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.py-md-2 {\n\t\tpadding-top: var(--bs-spacer-2) !important;\n\t\tpadding-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.py-md-3 {\n\t\tpadding-top: var(--bs-spacer-3) !important;\n\t\tpadding-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.py-md-4 {\n\t\tpadding-top: var(--bs-spacer-4) !important;\n\t\tpadding-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.py-md-5 {\n\t\tpadding-top: var(--bs-spacer-5) !important;\n\t\tpadding-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.pt-md-0 {\n\t\tpadding-top: 0 !important;\n\t}\n\t\n\t.pt-md-1 {\n\t\tpadding-top: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.pt-md-2 {\n\t\tpadding-top: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.pt-md-3 {\n\t\tpadding-top: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.pt-md-4 {\n\t\tpadding-top: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.pt-md-5 {\n\t\tpadding-top: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.pe-md-0 {\n\t\tpadding-left: 0 !important;\n\t}\n\t\n\t.pe-md-1 {\n\t\tpadding-left: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.pe-md-2 {\n\t\tpadding-left: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.pe-md-3 {\n\t\tpadding-left: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.pe-md-4 {\n\t\tpadding-left: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.pe-md-5 {\n\t\tpadding-left: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.pb-md-0 {\n\t\tpadding-bottom: 0 !important;\n\t}\n\t\n\t.pb-md-1 {\n\t\tpadding-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.pb-md-2 {\n\t\tpadding-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.pb-md-3 {\n\t\tpadding-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.pb-md-4 {\n\t\tpadding-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.pb-md-5 {\n\t\tpadding-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.ps-md-0 {\n\t\tpadding-right: 0 !important;\n\t}\n\t\n\t.ps-md-1 {\n\t\tpadding-right: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.ps-md-2 {\n\t\tpadding-right: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.ps-md-3 {\n\t\tpadding-right: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.ps-md-4 {\n\t\tpadding-right: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.ps-md-5 {\n\t\tpadding-right: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.gap-md-0 {\n\t\tgap: 0 !important;\n\t}\n\t\n\t.gap-md-1 {\n\t\tgap: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.gap-md-2 {\n\t\tgap: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.gap-md-3 {\n\t\tgap: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.gap-md-4 {\n\t\tgap: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.gap-md-5 {\n\t\tgap: var(--bs-spacer-5) !important;\n\t}\n\n\t.row-gap-md-0 {\n\t\tgap: 0 !important;\n\t}\n\n\t.row-gap-md-1 {\n\t\trow-gap: var(--bs-spacer-1) !important;\n\t}\n\n\t.row-gap-md-2 {\n\t\trow-gap: var(--bs-spacer-2) !important;\n\t}\n\n\t.row-gap-md-3 {\n\t\trow-gap: var(--bs-spacer-3) !important;\n\t}\n\n\t.row-gap-md-4 {\n\t\trow-gap: var(--bs-spacer-4) !important;\n\t}\n\n\t.row-gap-md-5 {\n\t\trow-gap: var(--bs-spacer-5) !important;\n\t}\n\n\t.column-gap-md-0 {\n\t\t-moz-column-gap: 0 !important;\n\t\tcolumn-gap: 0 !important;\n\t}\n\n\t.column-gap-md-1 {\n\t\t-moz-column-gap: var(--bs-spacer-1) !important;\n\t\tcolumn-gap: var(--bs-spacer-1) !important;\n\t}\n\n\t.column-gap-md-2 {\n\t\t-moz-column-gap: var(--bs-spacer-2) !important;\n\t\tcolumn-gap: var(--bs-spacer-2) !important;\n\t}\n\n\t.column-gap-md-3 {\n\t\t-moz-column-gap: var(--bs-spacer-3) !important;\n\t\tcolumn-gap: var(--bs-spacer-3) !important;\n\t}\n\n\t.column-gap-md-4 {\n\t\t-moz-column-gap: var(--bs-spacer-4) !important;\n\t\tcolumn-gap: var(--bs-spacer-4) !important;\n\t}\n\n\t.column-gap-md-5 {\n\t\t-moz-column-gap: var(--bs-spacer-5) !important;\n\t\tcolumn-gap: var(--bs-spacer-5) !important;\n\t}\n}\n\n@media (min-width: 992px) {\n\t.m-lg-0 {\n\t\tmargin: 0 !important;\n\t}\n\t\n\t.m-lg-1 {\n\t\tmargin: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.m-lg-2 {\n\t\tmargin: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.m-lg-3 {\n\t\tmargin: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.m-lg-4 {\n\t\tmargin: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.m-lg-5 {\n\t\tmargin: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.m-lg-auto {\n\t\tmargin: auto !important;\n\t}\n\n\t.m-lg-n1 {\n\t\tmargin: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.m-lg-n2 {\n\t\tmargin: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.m-lg-n3 {\n\t\tmargin: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.m-lg-n4 {\n\t\tmargin: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.m-lg-n5 {\n\t\tmargin: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.mx-lg-0 {\n\t\tmargin-left: 0 !important;\n\t\tmargin-right: 0 !important;\n\t}\n\t\n\t.mx-lg-1 {\n\t\tmargin-left: var(--bs-spacer-1) !important;\n\t\tmargin-right: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.mx-lg-2 {\n\t\tmargin-left: var(--bs-spacer-2) !important;\n\t\tmargin-right: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.mx-lg-3 {\n\t\tmargin-left: var(--bs-spacer-3) !important;\n\t\tmargin-right: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.mx-lg-4 {\n\t\tmargin-left: var(--bs-spacer-4) !important;\n\t\tmargin-right: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.mx-lg-5 {\n\t\tmargin-left: var(--bs-spacer-5) !important;\n\t\tmargin-right: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.mx-lg-auto {\n\t\tmargin-left: auto !important;\n\t\tmargin-right: auto !important;\n\t}\n\n\t.mx-lg-n1 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-1)) !important;\n\t\tmargin-right: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.mx-lg-n2 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-2)) !important;\n\t\tmargin-right: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.mx-lg-n3 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-3)) !important;\n\t\tmargin-right: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.mx-lg-n4 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-4)) !important;\n\t\tmargin-right: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.mx-lg-n5 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-5)) !important;\n\t\tmargin-right: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.my-lg-0 {\n\t\tmargin-top: 0 !important;\n\t\tmargin-bottom: 0 !important;\n\t}\n\t\n\t.my-lg-1 {\n\t\tmargin-top: var(--bs-spacer-1) !important;\n\t\tmargin-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.my-lg-2 {\n\t\tmargin-top: var(--bs-spacer-2) !important;\n\t\tmargin-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.my-lg-3 {\n\t\tmargin-top: var(--bs-spacer-3) !important;\n\t\tmargin-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.my-lg-4 {\n\t\tmargin-top: var(--bs-spacer-4) !important;\n\t\tmargin-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.my-lg-5 {\n\t\tmargin-top: var(--bs-spacer-5) !important;\n\t\tmargin-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.my-lg-auto {\n\t\tmargin-top: auto !important;\n\t\tmargin-bottom: auto !important;\n\t}\n\n\t.my-lg-n1 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-1)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.my-lg-n2 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-2)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.my-lg-n3 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-3)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.my-lg-n4 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-4)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.my-lg-n5 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-5)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.mt-lg-0 {\n\t\tmargin-top: 0 !important;\n\t}\n\t\n\t.mt-lg-1 {\n\t\tmargin-top: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.mt-lg-2 {\n\t\tmargin-top: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.mt-lg-3 {\n\t\tmargin-top: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.mt-lg-4 {\n\t\tmargin-top: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.mt-lg-5 {\n\t\tmargin-top: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.mt-lg-auto {\n\t\tmargin-top: auto !important;\n\t}\n\n\t.mt-lg-n1 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.mt-lg-n2 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.mt-lg-n3 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.mt-lg-n4 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.mt-lg-n5 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.me-lg-0 {\n\t\tmargin-left: 0 !important;\n\t}\n\t\n\t.me-lg-1 {\n\t\tmargin-left: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.me-lg-2 {\n\t\tmargin-left: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.me-lg-3 {\n\t\tmargin-left: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.me-lg-4 {\n\t\tmargin-left: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.me-lg-5 {\n\t\tmargin-left: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.me-lg-auto {\n\t\tmargin-left: auto !important;\n\t}\n\n\t.me-lg-n1 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.me-lg-n2 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.me-lg-n3 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.me-lg-n4 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.me-lg-n5 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.mb-lg-0 {\n\t\tmargin-bottom: 0 !important;\n\t}\n\t\n\t.mb-lg-1 {\n\t\tmargin-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.mb-lg-2 {\n\t\tmargin-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.mb-lg-3 {\n\t\tmargin-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.mb-lg-4 {\n\t\tmargin-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.mb-lg-5 {\n\t\tmargin-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.mb-lg-auto {\n\t\tmargin-bottom: auto !important;\n\t}\n\n\t.mb-lg-n1 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.mb-lg-n2 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.mb-lg-n3 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.mb-lg-n4 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.mb-lg-n5 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.ms-lg-0 {\n\t\tmargin-right: 0 !important;\n\t}\n\t\n\t.ms-lg-1 {\n\t\tmargin-right: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.ms-lg-2 {\n\t\tmargin-right: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.ms-lg-3 {\n\t\tmargin-right: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.ms-lg-4 {\n\t\tmargin-right: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.ms-lg-5 {\n\t\tmargin-right: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.ms-lg-auto {\n\t\tmargin-right: auto !important;\n\t}\n\n\t.ms-lg-n1 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.ms-lg-n2 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.ms-lg-n3 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.ms-lg-n4 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.ms-lg-n5 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.p-lg-0 {\n\t\tpadding: 0 !important;\n\t}\n\t\n\t.p-lg-1 {\n\t\tpadding: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.p-lg-2 {\n\t\tpadding: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.p-lg-3 {\n\t\tpadding: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.p-lg-4 {\n\t\tpadding: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.p-lg-5 {\n\t\tpadding: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.px-lg-0 {\n\t\tpadding-left: 0 !important;\n\t\tpadding-right: 0 !important;\n\t}\n\t\n\t.px-lg-1 {\n\t\tpadding-left: var(--bs-spacer-1) !important;\n\t\tpadding-right: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.px-lg-2 {\n\t\tpadding-left: var(--bs-spacer-2) !important;\n\t\tpadding-right: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.px-lg-3 {\n\t\tpadding-left: var(--bs-spacer-3) !important;\n\t\tpadding-right: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.px-lg-4 {\n\t\tpadding-left: var(--bs-spacer-4) !important;\n\t\tpadding-right: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.px-lg-5 {\n\t\tpadding-left: var(--bs-spacer-5) !important;\n\t\tpadding-right: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.py-lg-0 {\n\t\tpadding-top: 0 !important;\n\t\tpadding-bottom: 0 !important;\n\t}\n\t\n\t.py-lg-1 {\n\t\tpadding-top: var(--bs-spacer-1) !important;\n\t\tpadding-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.py-lg-2 {\n\t\tpadding-top: var(--bs-spacer-2) !important;\n\t\tpadding-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.py-lg-3 {\n\t\tpadding-top: var(--bs-spacer-3) !important;\n\t\tpadding-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.py-lg-4 {\n\t\tpadding-top: var(--bs-spacer-4) !important;\n\t\tpadding-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.py-lg-5 {\n\t\tpadding-top: var(--bs-spacer-5) !important;\n\t\tpadding-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.pt-lg-0 {\n\t\tpadding-top: 0 !important;\n\t}\n\t\n\t.pt-lg-1 {\n\t\tpadding-top: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.pt-lg-2 {\n\t\tpadding-top: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.pt-lg-3 {\n\t\tpadding-top: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.pt-lg-4 {\n\t\tpadding-top: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.pt-lg-5 {\n\t\tpadding-top: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.pe-lg-0 {\n\t\tpadding-left: 0 !important;\n\t}\n\t\n\t.pe-lg-1 {\n\t\tpadding-left: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.pe-lg-2 {\n\t\tpadding-left: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.pe-lg-3 {\n\t\tpadding-left: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.pe-lg-4 {\n\t\tpadding-left: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.pe-lg-5 {\n\t\tpadding-left: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.pb-lg-0 {\n\t\tpadding-bottom: 0 !important;\n\t}\n\t\n\t.pb-lg-1 {\n\t\tpadding-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.pb-lg-2 {\n\t\tpadding-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.pb-lg-3 {\n\t\tpadding-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.pb-lg-4 {\n\t\tpadding-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.pb-lg-5 {\n\t\tpadding-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.ps-lg-0 {\n\t\tpadding-right: 0 !important;\n\t}\n\t\n\t.ps-lg-1 {\n\t\tpadding-right: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.ps-lg-2 {\n\t\tpadding-right: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.ps-lg-3 {\n\t\tpadding-right: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.ps-lg-4 {\n\t\tpadding-right: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.ps-lg-5 {\n\t\tpadding-right: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.gap-lg-0 {\n\t\tgap: 0 !important;\n\t}\n\t\n\t.gap-lg-1 {\n\t\tgap: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.gap-lg-2 {\n\t\tgap: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.gap-lg-3 {\n\t\tgap: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.gap-lg-4 {\n\t\tgap: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.gap-lg-5 {\n\t\tgap: var(--bs-spacer-5) !important;\n\t}\n\n\t.row-gap-lg-0 {\n\t\tgap: 0 !important;\n\t}\n\n\t.row-gap-lg-1 {\n\t\trow-gap: var(--bs-spacer-1) !important;\n\t}\n\n\t.row-gap-lg-2 {\n\t\trow-gap: var(--bs-spacer-2) !important;\n\t}\n\n\t.row-gap-lg-3 {\n\t\trow-gap: var(--bs-spacer-3) !important;\n\t}\n\n\t.row-gap-lg-4 {\n\t\trow-gap: var(--bs-spacer-4) !important;\n\t}\n\n\t.row-gap-lg-5 {\n\t\trow-gap: var(--bs-spacer-5) !important;\n\t}\n\n\t.column-gap-lg-0 {\n\t\t-moz-column-gap: 0 !important;\n\t\tcolumn-gap: 0 !important;\n\t}\n\n\t.column-gap-lg-1 {\n\t\t-moz-column-gap: var(--bs-spacer-1) !important;\n\t\tcolumn-gap: var(--bs-spacer-1) !important;\n\t}\n\n\t.column-gap-lg-2 {\n\t\t-moz-column-gap: var(--bs-spacer-2) !important;\n\t\tcolumn-gap: var(--bs-spacer-2) !important;\n\t}\n\n\t.column-gap-lg-3 {\n\t\t-moz-column-gap: var(--bs-spacer-3) !important;\n\t\tcolumn-gap: var(--bs-spacer-3) !important;\n\t}\n\n\t.column-gap-lg-4 {\n\t\t-moz-column-gap: var(--bs-spacer-4) !important;\n\t\tcolumn-gap: var(--bs-spacer-4) !important;\n\t}\n\n\t.column-gap-lg-5 {\n\t\t-moz-column-gap: var(--bs-spacer-5) !important;\n\t\tcolumn-gap: var(--bs-spacer-5) !important;\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.m-xl-0 {\n\t\tmargin: 0 !important;\n\t}\n\t\n\t.m-xl-1 {\n\t\tmargin: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.m-xl-2 {\n\t\tmargin: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.m-xl-3 {\n\t\tmargin: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.m-xl-4 {\n\t\tmargin: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.m-xl-5 {\n\t\tmargin: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.m-xl-auto {\n\t\tmargin: auto !important;\n\t}\n\n\t.m-xl-n1 {\n\t\tmargin: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.m-xl-n2 {\n\t\tmargin: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.m-xl-n3 {\n\t\tmargin: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.m-xl-n4 {\n\t\tmargin: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.m-xl-n5 {\n\t\tmargin: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.mx-xl-0 {\n\t\tmargin-left: 0 !important;\n\t\tmargin-right: 0 !important;\n\t}\n\t\n\t.mx-xl-1 {\n\t\tmargin-left: var(--bs-spacer-1) !important;\n\t\tmargin-right: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.mx-xl-2 {\n\t\tmargin-left: var(--bs-spacer-2) !important;\n\t\tmargin-right: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.mx-xl-3 {\n\t\tmargin-left: var(--bs-spacer-3) !important;\n\t\tmargin-right: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.mx-xl-4 {\n\t\tmargin-left: var(--bs-spacer-4) !important;\n\t\tmargin-right: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.mx-xl-5 {\n\t\tmargin-left: var(--bs-spacer-5) !important;\n\t\tmargin-right: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.mx-xl-auto {\n\t\tmargin-left: auto !important;\n\t\tmargin-right: auto !important;\n\t}\n\n\t.mx-xl-n1 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-1)) !important;\n\t\tmargin-right: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.mx-xl-n2 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-2)) !important;\n\t\tmargin-right: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.mx-xl-n3 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-3)) !important;\n\t\tmargin-right: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.mx-xl-n4 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-4)) !important;\n\t\tmargin-right: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.mx-xl-n5 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-5)) !important;\n\t\tmargin-right: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.my-xl-0 {\n\t\tmargin-top: 0 !important;\n\t\tmargin-bottom: 0 !important;\n\t}\n\t\n\t.my-xl-1 {\n\t\tmargin-top: var(--bs-spacer-1) !important;\n\t\tmargin-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.my-xl-2 {\n\t\tmargin-top: var(--bs-spacer-2) !important;\n\t\tmargin-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.my-xl-3 {\n\t\tmargin-top: var(--bs-spacer-3) !important;\n\t\tmargin-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.my-xl-4 {\n\t\tmargin-top: var(--bs-spacer-4) !important;\n\t\tmargin-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.my-xl-5 {\n\t\tmargin-top: var(--bs-spacer-5) !important;\n\t\tmargin-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.my-xl-auto {\n\t\tmargin-top: auto !important;\n\t\tmargin-bottom: auto !important;\n\t}\n\n\t.my-xl-n1 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-1)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.my-xl-n2 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-2)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.my-xl-n3 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-3)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.my-xl-n4 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-4)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.my-xl-n5 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-5)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.mt-xl-0 {\n\t\tmargin-top: 0 !important;\n\t}\n\t\n\t.mt-xl-1 {\n\t\tmargin-top: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.mt-xl-2 {\n\t\tmargin-top: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.mt-xl-3 {\n\t\tmargin-top: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.mt-xl-4 {\n\t\tmargin-top: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.mt-xl-5 {\n\t\tmargin-top: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.mt-xl-auto {\n\t\tmargin-top: auto !important;\n\t}\n\n\t.mt-xl-n1 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.mt-xl-n2 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.mt-xl-n3 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.mt-xl-n4 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.mt-xl-n5 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.me-xl-0 {\n\t\tmargin-left: 0 !important;\n\t}\n\t\n\t.me-xl-1 {\n\t\tmargin-left: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.me-xl-2 {\n\t\tmargin-left: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.me-xl-3 {\n\t\tmargin-left: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.me-xl-4 {\n\t\tmargin-left: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.me-xl-5 {\n\t\tmargin-left: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.me-xl-auto {\n\t\tmargin-left: auto !important;\n\t}\n\n\t.me-xl-n1 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.me-xl-n2 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.me-xl-n3 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.me-xl-n4 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.me-xl-n5 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.mb-xl-0 {\n\t\tmargin-bottom: 0 !important;\n\t}\n\t\n\t.mb-xl-1 {\n\t\tmargin-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.mb-xl-2 {\n\t\tmargin-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.mb-xl-3 {\n\t\tmargin-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.mb-xl-4 {\n\t\tmargin-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.mb-xl-5 {\n\t\tmargin-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.mb-xl-auto {\n\t\tmargin-bottom: auto !important;\n\t}\n\n\t.mb-xl-n1 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.mb-xl-n2 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.mb-xl-n3 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.mb-xl-n4 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.mb-xl-n5 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.ms-xl-0 {\n\t\tmargin-right: 0 !important;\n\t}\n\t\n\t.ms-xl-1 {\n\t\tmargin-right: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.ms-xl-2 {\n\t\tmargin-right: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.ms-xl-3 {\n\t\tmargin-right: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.ms-xl-4 {\n\t\tmargin-right: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.ms-xl-5 {\n\t\tmargin-right: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.ms-xl-auto {\n\t\tmargin-right: auto !important;\n\t}\n\n\t.ms-xl-n1 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.ms-xl-n2 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.ms-xl-n3 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.ms-xl-n4 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.ms-xl-n5 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.p-xl-0 {\n\t\tpadding: 0 !important;\n\t}\n\t\n\t.p-xl-1 {\n\t\tpadding: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.p-xl-2 {\n\t\tpadding: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.p-xl-3 {\n\t\tpadding: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.p-xl-4 {\n\t\tpadding: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.p-xl-5 {\n\t\tpadding: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.px-xl-0 {\n\t\tpadding-left: 0 !important;\n\t\tpadding-right: 0 !important;\n\t}\n\t\n\t.px-xl-1 {\n\t\tpadding-left: var(--bs-spacer-1) !important;\n\t\tpadding-right: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.px-xl-2 {\n\t\tpadding-left: var(--bs-spacer-2) !important;\n\t\tpadding-right: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.px-xl-3 {\n\t\tpadding-left: var(--bs-spacer-3) !important;\n\t\tpadding-right: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.px-xl-4 {\n\t\tpadding-left: var(--bs-spacer-4) !important;\n\t\tpadding-right: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.px-xl-5 {\n\t\tpadding-left: var(--bs-spacer-5) !important;\n\t\tpadding-right: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.py-xl-0 {\n\t\tpadding-top: 0 !important;\n\t\tpadding-bottom: 0 !important;\n\t}\n\t\n\t.py-xl-1 {\n\t\tpadding-top: var(--bs-spacer-1) !important;\n\t\tpadding-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.py-xl-2 {\n\t\tpadding-top: var(--bs-spacer-2) !important;\n\t\tpadding-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.py-xl-3 {\n\t\tpadding-top: var(--bs-spacer-3) !important;\n\t\tpadding-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.py-xl-4 {\n\t\tpadding-top: var(--bs-spacer-4) !important;\n\t\tpadding-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.py-xl-5 {\n\t\tpadding-top: var(--bs-spacer-5) !important;\n\t\tpadding-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.pt-xl-0 {\n\t\tpadding-top: 0 !important;\n\t}\n\t\n\t.pt-xl-1 {\n\t\tpadding-top: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.pt-xl-2 {\n\t\tpadding-top: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.pt-xl-3 {\n\t\tpadding-top: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.pt-xl-4 {\n\t\tpadding-top: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.pt-xl-5 {\n\t\tpadding-top: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.pe-xl-0 {\n\t\tpadding-left: 0 !important;\n\t}\n\t\n\t.pe-xl-1 {\n\t\tpadding-left: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.pe-xl-2 {\n\t\tpadding-left: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.pe-xl-3 {\n\t\tpadding-left: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.pe-xl-4 {\n\t\tpadding-left: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.pe-xl-5 {\n\t\tpadding-left: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.pb-xl-0 {\n\t\tpadding-bottom: 0 !important;\n\t}\n\t\n\t.pb-xl-1 {\n\t\tpadding-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.pb-xl-2 {\n\t\tpadding-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.pb-xl-3 {\n\t\tpadding-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.pb-xl-4 {\n\t\tpadding-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.pb-xl-5 {\n\t\tpadding-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.ps-xl-0 {\n\t\tpadding-right: 0 !important;\n\t}\n\t\n\t.ps-xl-1 {\n\t\tpadding-right: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.ps-xl-2 {\n\t\tpadding-right: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.ps-xl-3 {\n\t\tpadding-right: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.ps-xl-4 {\n\t\tpadding-right: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.ps-xl-5 {\n\t\tpadding-right: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.gap-xl-0 {\n\t\tgap: 0 !important;\n\t}\n\t\n\t.gap-xl-1 {\n\t\tgap: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.gap-xl-2 {\n\t\tgap: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.gap-xl-3 {\n\t\tgap: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.gap-xl-4 {\n\t\tgap: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.gap-xl-5 {\n\t\tgap: var(--bs-spacer-5) !important;\n\t}\n\n\t.row-gap-xl-0 {\n\t\tgap: 0 !important;\n\t}\n\n\t.row-gap-xl-1 {\n\t\trow-gap: var(--bs-spacer-1) !important;\n\t}\n\n\t.row-gap-xl-2 {\n\t\trow-gap: var(--bs-spacer-2) !important;\n\t}\n\n\t.row-gap-xl-3 {\n\t\trow-gap: var(--bs-spacer-3) !important;\n\t}\n\n\t.row-gap-xl-4 {\n\t\trow-gap: var(--bs-spacer-4) !important;\n\t}\n\n\t.row-gap-xl-5 {\n\t\trow-gap: var(--bs-spacer-5) !important;\n\t}\n\n\t.column-gap-xl-0 {\n\t\t-moz-column-gap: 0 !important;\n\t\tcolumn-gap: 0 !important;\n\t}\n\n\t.column-gap-xl-1 {\n\t\t-moz-column-gap: var(--bs-spacer-1) !important;\n\t\tcolumn-gap: var(--bs-spacer-1) !important;\n\t}\n\n\t.column-gap-xl-2 {\n\t\t-moz-column-gap: var(--bs-spacer-2) !important;\n\t\tcolumn-gap: var(--bs-spacer-2) !important;\n\t}\n\n\t.column-gap-xl-3 {\n\t\t-moz-column-gap: var(--bs-spacer-3) !important;\n\t\tcolumn-gap: var(--bs-spacer-3) !important;\n\t}\n\n\t.column-gap-xl-4 {\n\t\t-moz-column-gap: var(--bs-spacer-4) !important;\n\t\tcolumn-gap: var(--bs-spacer-4) !important;\n\t}\n\n\t.column-gap-xl-5 {\n\t\t-moz-column-gap: var(--bs-spacer-5) !important;\n\t\tcolumn-gap: var(--bs-spacer-5) !important;\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.m-xxl-0 {\n\t\tmargin: 0 !important;\n\t}\n\t\n\t.m-xxl-1 {\n\t\tmargin: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.m-xxl-2 {\n\t\tmargin: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.m-xxl-3 {\n\t\tmargin: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.m-xxl-4 {\n\t\tmargin: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.m-xxl-5 {\n\t\tmargin: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.m-xxl-auto {\n\t\tmargin: auto !important;\n\t}\n\n\t.m-xxl-n1 {\n\t\tmargin: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.m-xxl-n2 {\n\t\tmargin: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.m-xxl-n3 {\n\t\tmargin: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.m-xxl-n4 {\n\t\tmargin: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.m-xxl-n5 {\n\t\tmargin: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.mx-xxl-0 {\n\t\tmargin-left: 0 !important;\n\t\tmargin-right: 0 !important;\n\t}\n\t\n\t.mx-xxl-1 {\n\t\tmargin-left: var(--bs-spacer-1) !important;\n\t\tmargin-right: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.mx-xxl-2 {\n\t\tmargin-left: var(--bs-spacer-2) !important;\n\t\tmargin-right: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.mx-xxl-3 {\n\t\tmargin-left: var(--bs-spacer-3) !important;\n\t\tmargin-right: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.mx-xxl-4 {\n\t\tmargin-left: var(--bs-spacer-4) !important;\n\t\tmargin-right: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.mx-xxl-5 {\n\t\tmargin-left: var(--bs-spacer-5) !important;\n\t\tmargin-right: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.mx-xxl-auto {\n\t\tmargin-left: auto !important;\n\t\tmargin-right: auto !important;\n\t}\n\n\t.mx-xxl-n1 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-1)) !important;\n\t\tmargin-right: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.mx-xxl-n2 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-2)) !important;\n\t\tmargin-right: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.mx-xxl-n3 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-3)) !important;\n\t\tmargin-right: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.mx-xxl-n4 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-4)) !important;\n\t\tmargin-right: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.mx-xxl-n5 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-5)) !important;\n\t\tmargin-right: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.my-xxl-0 {\n\t\tmargin-top: 0 !important;\n\t\tmargin-bottom: 0 !important;\n\t}\n\t\n\t.my-xxl-1 {\n\t\tmargin-top: var(--bs-spacer-1) !important;\n\t\tmargin-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.my-xxl-2 {\n\t\tmargin-top: var(--bs-spacer-2) !important;\n\t\tmargin-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.my-xxl-3 {\n\t\tmargin-top: var(--bs-spacer-3) !important;\n\t\tmargin-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.my-xxl-4 {\n\t\tmargin-top: var(--bs-spacer-4) !important;\n\t\tmargin-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.my-xxl-5 {\n\t\tmargin-top: var(--bs-spacer-5) !important;\n\t\tmargin-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.my-xxl-auto {\n\t\tmargin-top: auto !important;\n\t\tmargin-bottom: auto !important;\n\t}\n\n\t.my-xxl-n1 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-1)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.my-xxl-n2 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-2)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.my-xxl-n3 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-3)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.my-xxl-n4 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-4)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.my-xxl-n5 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-5)) !important;\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.mt-xxl-0 {\n\t\tmargin-top: 0 !important;\n\t}\n\t\n\t.mt-xxl-1 {\n\t\tmargin-top: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.mt-xxl-2 {\n\t\tmargin-top: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.mt-xxl-3 {\n\t\tmargin-top: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.mt-xxl-4 {\n\t\tmargin-top: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.mt-xxl-5 {\n\t\tmargin-top: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.mt-xxl-auto {\n\t\tmargin-top: auto !important;\n\t}\n\n\t.mt-xxl-n1 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.mt-xxl-n2 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.mt-xxl-n3 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.mt-xxl-n4 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.mt-xxl-n5 {\n\t\tmargin-top: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.me-xxl-0 {\n\t\tmargin-left: 0 !important;\n\t}\n\t\n\t.me-xxl-1 {\n\t\tmargin-left: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.me-xxl-2 {\n\t\tmargin-left: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.me-xxl-3 {\n\t\tmargin-left: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.me-xxl-4 {\n\t\tmargin-left: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.me-xxl-5 {\n\t\tmargin-left: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.me-xxl-auto {\n\t\tmargin-left: auto !important;\n\t}\n\n\t.me-xxl-n1 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.me-xxl-n2 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.me-xxl-n3 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.me-xxl-n4 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.me-xxl-n5 {\n\t\tmargin-left: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.mb-xxl-0 {\n\t\tmargin-bottom: 0 !important;\n\t}\n\t\n\t.mb-xxl-1 {\n\t\tmargin-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.mb-xxl-2 {\n\t\tmargin-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.mb-xxl-3 {\n\t\tmargin-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.mb-xxl-4 {\n\t\tmargin-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.mb-xxl-5 {\n\t\tmargin-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.mb-xxl-auto {\n\t\tmargin-bottom: auto !important;\n\t}\n\n\t.mb-xxl-n1 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.mb-xxl-n2 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.mb-xxl-n3 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.mb-xxl-n4 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.mb-xxl-n5 {\n\t\tmargin-bottom: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.ms-xxl-0 {\n\t\tmargin-right: 0 !important;\n\t}\n\t\n\t.ms-xxl-1 {\n\t\tmargin-right: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.ms-xxl-2 {\n\t\tmargin-right: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.ms-xxl-3 {\n\t\tmargin-right: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.ms-xxl-4 {\n\t\tmargin-right: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.ms-xxl-5 {\n\t\tmargin-right: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.ms-xxl-auto {\n\t\tmargin-right: auto !important;\n\t}\n\n\t.ms-xxl-n1 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-1)) !important;\n\t}\n\n\t.ms-xxl-n2 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-2)) !important;\n\t}\n\n\t.ms-xxl-n3 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-3)) !important;\n\t}\n\n\t.ms-xxl-n4 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-4)) !important;\n\t}\n\n\t.ms-xxl-n5 {\n\t\tmargin-right: calc(-1 * var(--bs-spacer-5)) !important;\n\t}\n\t\n\t.p-xxl-0 {\n\t\tpadding: 0 !important;\n\t}\n\t\n\t.p-xxl-1 {\n\t\tpadding: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.p-xxl-2 {\n\t\tpadding: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.p-xxl-3 {\n\t\tpadding: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.p-xxl-4 {\n\t\tpadding: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.p-xxl-5 {\n\t\tpadding: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.px-xxl-0 {\n\t\tpadding-left: 0 !important;\n\t\tpadding-right: 0 !important;\n\t}\n\t\n\t.px-xxl-1 {\n\t\tpadding-left: var(--bs-spacer-1) !important;\n\t\tpadding-right: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.px-xxl-2 {\n\t\tpadding-left: var(--bs-spacer-2) !important;\n\t\tpadding-right: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.px-xxl-3 {\n\t\tpadding-left: var(--bs-spacer-3) !important;\n\t\tpadding-right: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.px-xxl-4 {\n\t\tpadding-left: var(--bs-spacer-4) !important;\n\t\tpadding-right: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.px-xxl-5 {\n\t\tpadding-left: var(--bs-spacer-5) !important;\n\t\tpadding-right: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.py-xxl-0 {\n\t\tpadding-top: 0 !important;\n\t\tpadding-bottom: 0 !important;\n\t}\n\t\n\t.py-xxl-1 {\n\t\tpadding-top: var(--bs-spacer-1) !important;\n\t\tpadding-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.py-xxl-2 {\n\t\tpadding-top: var(--bs-spacer-2) !important;\n\t\tpadding-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.py-xxl-3 {\n\t\tpadding-top: var(--bs-spacer-3) !important;\n\t\tpadding-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.py-xxl-4 {\n\t\tpadding-top: var(--bs-spacer-4) !important;\n\t\tpadding-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.py-xxl-5 {\n\t\tpadding-top: var(--bs-spacer-5) !important;\n\t\tpadding-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.pt-xxl-0 {\n\t\tpadding-top: 0 !important;\n\t}\n\t\n\t.pt-xxl-1 {\n\t\tpadding-top: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.pt-xxl-2 {\n\t\tpadding-top: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.pt-xxl-3 {\n\t\tpadding-top: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.pt-xxl-4 {\n\t\tpadding-top: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.pt-xxl-5 {\n\t\tpadding-top: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.pe-xxl-0 {\n\t\tpadding-left: 0 !important;\n\t}\n\t\n\t.pe-xxl-1 {\n\t\tpadding-left: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.pe-xxl-2 {\n\t\tpadding-left: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.pe-xxl-3 {\n\t\tpadding-left: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.pe-xxl-4 {\n\t\tpadding-left: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.pe-xxl-5 {\n\t\tpadding-left: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.pb-xxl-0 {\n\t\tpadding-bottom: 0 !important;\n\t}\n\t\n\t.pb-xxl-1 {\n\t\tpadding-bottom: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.pb-xxl-2 {\n\t\tpadding-bottom: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.pb-xxl-3 {\n\t\tpadding-bottom: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.pb-xxl-4 {\n\t\tpadding-bottom: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.pb-xxl-5 {\n\t\tpadding-bottom: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.ps-xxl-0 {\n\t\tpadding-right: 0 !important;\n\t}\n\t\n\t.ps-xxl-1 {\n\t\tpadding-right: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.ps-xxl-2 {\n\t\tpadding-right: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.ps-xxl-3 {\n\t\tpadding-right: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.ps-xxl-4 {\n\t\tpadding-right: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.ps-xxl-5 {\n\t\tpadding-right: var(--bs-spacer-5) !important;\n\t}\n\t\n\t.gap-xxl-0 {\n\t\tgap: 0 !important;\n\t}\n\t\n\t.gap-xxl-1 {\n\t\tgap: var(--bs-spacer-1) !important;\n\t}\n\t\n\t.gap-xxl-2 {\n\t\tgap: var(--bs-spacer-2) !important;\n\t}\n\t\n\t.gap-xxl-3 {\n\t\tgap: var(--bs-spacer-3) !important;\n\t}\n\t\n\t.gap-xxl-4 {\n\t\tgap: var(--bs-spacer-4) !important;\n\t}\n\t\n\t.gap-xxl-5 {\n\t\tgap: var(--bs-spacer-5) !important;\n\t}\n\n\t.row-gap-xxl-0 {\n\t\tgap: 0 !important;\n\t}\n\n\t.row-gap-xxl-1 {\n\t\trow-gap: var(--bs-spacer-1) !important;\n\t}\n\n\t.row-gap-xxl-2 {\n\t\trow-gap: var(--bs-spacer-2) !important;\n\t}\n\n\t.row-gap-xxl-3 {\n\t\trow-gap: var(--bs-spacer-3) !important;\n\t}\n\n\t.row-gap-xxl-4 {\n\t\trow-gap: var(--bs-spacer-4) !important;\n\t}\n\n\t.row-gap-xxl-5 {\n\t\trow-gap: var(--bs-spacer-5) !important;\n\t}\n\n\t.column-gap-xxl-0 {\n\t\t-moz-column-gap: 0 !important;\n\t\tcolumn-gap: 0 !important;\n\t}\n\n\t.column-gap-xxl-1 {\n\t\t-moz-column-gap: var(--bs-spacer-1) !important;\n\t\tcolumn-gap: var(--bs-spacer-1) !important;\n\t}\n\n\t.column-gap-xxl-2 {\n\t\t-moz-column-gap: var(--bs-spacer-2) !important;\n\t\tcolumn-gap: var(--bs-spacer-2) !important;\n\t}\n\n\t.column-gap-xxl-3 {\n\t\t-moz-column-gap: var(--bs-spacer-3) !important;\n\t\tcolumn-gap: var(--bs-spacer-3) !important;\n\t}\n\n\t.column-gap-xxl-4 {\n\t\t-moz-column-gap: var(--bs-spacer-4) !important;\n\t\tcolumn-gap: var(--bs-spacer-4) !important;\n\t}\n\n\t.column-gap-xxl-5 {\n\t\t-moz-column-gap: var(--bs-spacer-5) !important;\n\t\tcolumn-gap: var(--bs-spacer-5) !important;\n\t}\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Text utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.font-monospace {\n\tfont-family: var(--bs-font-monospace) !important;\n}\n\n.fs-1 {\n\tfont-size: calc((var(--bs-font-size-base) + 0.4875rem) + 1.5vw) !important;\n}\n\n.fs-2 {\n\tfont-size: calc((var(--bs-font-size-base) + 0.4375rem) + 0.9vw) !important;\n}\n\n.fs-3 {\n\tfont-size: calc((var(--bs-font-size-base) + 0.4rem) + 0.6vw) !important;\n}\n\n.fs-4 {\n\tfont-size: calc((var(--bs-font-size-base) + 0.375rem) + 0.3vw) !important;\n}\n\n.fs-5 {\n\tfont-size: 1.125rem !important;\n}\n\n.fs-6 {\n\tfont-size: 0.875rem !important;\n}\n\n.fst-italic {\n\tfont-style: italic !important;\n}\n\n.fst-normal {\n\tfont-style: normal !important;\n}\n\n.fw-lighter {\n\tfont-weight: var(--bs-font-weight-lighter) !important;\n}\n\n.fw-light {\n\tfont-weight: var(--bs-font-weight-light) !important;\n}\n\n.fw-normal {\n\tfont-weight: var(--bs-font-weight-normal) !important;\n}\n\n.fw-medium {\n\tfont-weight: var(--bs-font-weight-medium) !important;\n}\n\n.fw-semibold {\n\tfont-weight: var(--bs-font-weight-semibold) !important;\n}\n\n.fw-bold {\n\tfont-weight: var(--bs-font-weight-bold) !important;\n}\n\n.fw-bolder {\n\tfont-weight: var(--bs-font-weight-bolder) !important;\n}\n\n.lh-1 {\n\tline-height: 1 !important;\n}\n\n.lh-sm {\n\tline-height: var(--bs-line-height-sm) !important;\n}\n\n.lh-base {\n\tline-height: var(--bs-line-height-base) !important;\n}\n\n.lh-lg {\n\tline-height: var(--bs-line-height-lg) !important;\n}\n\n.text-start {\n\ttext-align: right !important;\n}\n\n.text-end {\n\ttext-align: left !important;\n}\n\n.text-center {\n\ttext-align: center !important;\n}\n\n@media (min-width: 576px) {\n\t.text-sm-start {\n\t\ttext-align: right !important;\n\t}\n\n\t.text-sm-end {\n\t\ttext-align: left !important;\n\t}\n\n\t.text-sm-center {\n\t\ttext-align: center !important;\n\t}\n}\n\n@media (min-width: 768px) {\n\t.text-md-start {\n\t\ttext-align: right !important;\n\t}\n\n\t.text-md-end {\n\t\ttext-align: left !important;\n\t}\n\n\t.text-md-center {\n\t\ttext-align: center !important;\n\t}\n}\n\n@media (min-width: 992px) {\n\t.text-lg-start {\n\t\ttext-align: right !important;\n\t}\n\n\t.text-lg-end {\n\t\ttext-align: left !important;\n\t}\n\n\t.text-lg-center {\n\t\ttext-align: center !important;\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.text-xl-start {\n\t\ttext-align: right !important;\n\t}\n\n\t.text-xl-end {\n\t\ttext-align: left !important;\n\t}\n\n\t.text-xl-center {\n\t\ttext-align: center !important;\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.text-xxl-start {\n\t\ttext-align: right !important;\n\t}\n\n\t.text-xxl-end {\n\t\ttext-align: left !important;\n\t}\n\n\t.text-xxl-center {\n\t\ttext-align: center !important;\n\t}\n}\n\n.text-decoration-none {\n\ttext-decoration: none !important;\n}\n\n.text-decoration-underline {\n\ttext-decoration: underline !important;\n}\n\n.text-decoration-line-through {\n\ttext-decoration: line-through !important;\n}\n\n.text-lowercase {\n\ttext-transform: lowercase !important;\n}\n\n.text-uppercase {\n\ttext-transform: uppercase !important;\n}\n\n.text-capitalize {\n\ttext-transform: capitalize !important;\n}\n\n.text-wrap {\n\twhite-space: normal !important;\n}\n\n.text-nowrap {\n\twhite-space: nowrap !important;\n}\n\n.antialiased {\n\t-webkit-font-smoothing: antialiased !important;\n\t-moz-osx-font-smoothing: grayscale !important;\n}\n\n.subpixel-antialiased {\n\t-webkit-font-smoothing: auto !important;\n\t-moz-osx-font-smoothing: auto !important;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Vertical alignment utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.align-baseline {\n\tvertical-align: baseline !important;\n}\n\n.align-top {\n\tvertical-align: top !important;\n}\n\n.align-middle {\n\tvertical-align: middle !important;\n}\n\n.align-bottom {\n\tvertical-align: bottom !important;\n}\n\n.align-text-bottom {\n\tvertical-align: text-bottom !important;\n}\n\n.align-text-top {\n\tvertical-align: text-top !important;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Visibility utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.visible {\n\tvisibility: visible !important;\n}\n\n.invisible {\n\tvisibility: hidden !important;\n}\n\n/**\n * ----------------------------------------------------------------------------\n * [ Z-index utilities ]\n * ----------------------------------------------------------------------------\n */\n\n.z-n1 {\n\tz-index: -1 !important;\n}\n\n.z-0 {\n\tz-index: 0 !important;\n}\n\n.z-1 {\n\tz-index: 1 !important;\n}\n\n.z-2 {\n\tz-index: 2 !important;\n}\n\n.z-3 {\n\tz-index: 3 !important;\n}\n\n@media (min-width: 576px) {\n\t.z-sm-n1 {\n\t\tz-index: -1 !important;\n\t}\n\n\t.z-sm-0 {\n\t\tz-index: 0 !important;\n\t}\n\n\t.z-sm-1 {\n\t\tz-index: 1 !important;\n\t}\n\n\t.z-sm-2 {\n\t\tz-index: 2 !important;\n\t}\n\n\t.z-sm-3 {\n\t\tz-index: 3 !important;\n\t}\n}\n\n@media (min-width: 768px) {\n\t.z-md-n1 {\n\t\tz-index: -1 !important;\n\t}\n\n\t.z-md-0 {\n\t\tz-index: 0 !important;\n\t}\n\n\t.z-md-1 {\n\t\tz-index: 1 !important;\n\t}\n\n\t.z-md-2 {\n\t\tz-index: 2 !important;\n\t}\n\n\t.z-md-3 {\n\t\tz-index: 3 !important;\n\t}\n}\n\n@media (min-width: 992px) {\n\t.z-lg-n1 {\n\t\tz-index: -1 !important;\n\t}\n\n\t.z-lg-0 {\n\t\tz-index: 0 !important;\n\t}\n\n\t.z-lg-1 {\n\t\tz-index: 1 !important;\n\t}\n\n\t.z-lg-2 {\n\t\tz-index: 2 !important;\n\t}\n\n\t.z-lg-3 {\n\t\tz-index: 3 !important;\n\t}\n}\n\n@media (min-width: 1200px) {\n\t.z-xl-n1 {\n\t\tz-index: -1 !important;\n\t}\n\n\t.z-xl-0 {\n\t\tz-index: 0 !important;\n\t}\n\n\t.z-xl-1 {\n\t\tz-index: 1 !important;\n\t}\n\n\t.z-xl-2 {\n\t\tz-index: 2 !important;\n\t}\n\n\t.z-xl-3 {\n\t\tz-index: 3 !important;\n\t}\n}\n\n@media (min-width: 1400px) {\n\t.z-xxl-n1 {\n\t\tz-index: -1 !important;\n\t}\n\n\t.z-xxl-0 {\n\t\tz-index: 0 !important;\n\t}\n\n\t.z-xxl-1 {\n\t\tz-index: 1 !important;\n\t}\n\n\t.z-xxl-2 {\n\t\tz-index: 2 !important;\n\t}\n\n\t.z-xxl-3 {\n\t\tz-index: 3 !important;\n\t}\n}\n"]} \ No newline at end of file diff --git a/modules/analyze/html/external/halfmoon-variables.min.css b/modules/analyze/html/external/halfmoon-variables.min.css deleted file mode 100644 index 754f387..0000000 --- a/modules/analyze/html/external/halfmoon-variables.min.css +++ /dev/null @@ -1,11 +0,0 @@ -/* -------------------------------------------------------------------------------- -Halfmoon CSS (Variables file) -Version: 1.1.1 -https://www.gethalfmoon.com -Copyright, Halfmoon UI -Licensed under MIT (https://www.gethalfmoon.com/license) -------------------------------------------------------------------------------- -The above notice must be included in its entirety when this file is used. -*/ -@keyframes progress-bar-shine{to{transform:translateX(0);opacity:.1}}:root{--white-bg-color: #ffffff;--dark-color: #191c20;--dark-color-light: #25282c;--dark-color-dark: #111417;--gray-color: #dadfe1;--gray-color-light: #ecf0f1;--gray-color-very-light: #f7f7f7;--gray-color-dark: #bababc;--gray-color-very-dark: #47494d;--base-html-font-size: 62.5%;--base-html-font-size-1600: 75%;--base-html-font-size-1920: 87.5%;--base-font-size: 1.4rem;--base-line-height: 1.5;--base-border-width: 1px;--base-border-radius: 0.4rem;--extra-letter-spacing-size: 0.03rem;--lm-base-text-color: rgba(0, 0, 0, 0.85);--lm-base-text-color-light: rgba(0, 0, 0, 0.7);--lm-base-body-bg-color: var(--white-bg-color);--lm-base-body-bg-image: none;--lm-horizontal-rule-color: rgba(0, 0, 0, 0.05);--lm-border-color: rgba(0, 0, 0, 0.2);--dm-base-text-color: rgba(255, 255, 255, 0.8);--dm-base-text-color-light: rgba(255, 255, 255, 0.65);--dm-base-body-bg-color: var(--dark-color-light);--dm-base-body-bg-image: none;--dm-horizontal-rule-color: rgba(255, 255, 255, 0.05);--dm-border-color: rgba(255, 255, 255, 0.2);--heading-font-weight: 400;--lm-muted-text-color: rgba(0, 0, 0, 0.6);--dm-muted-text-color: rgba(255, 255, 255, 0.6);--blue-color: #1890ff;--blue-color-light: #45a3fb;--blue-color-very-light: #cfe7fd;--blue-color-dark: #0d518f;--blue-color-very-dark: #172636;--blue-box-shadow-color: rgba(24, 144, 255, 0.3);--blue-box-shadow-color-darker: rgba(24, 144, 255, 0.6);--text-color-on-blue-color-bg: #ffffff;--indigo-color: #6563ff;--indigo-color-light: #857cfc;--indigo-color-very-light: #e0dcfe;--indigo-color-dark: #383677;--indigo-color-very-dark: #1f2130;--indigo-box-shadow-color: rgba(101, 99, 255, 0.3);--indigo-box-shadow-color-darker: rgba(101, 99, 255, 0.6);--text-color-on-indigo-color-bg: #ffffff;--teal-color: #38b2ac;--teal-color-light: #5fc0bd;--teal-color-very-light: #d2efee;--teal-color-dark: #265758;--teal-color-very-dark: #1b2a2d;--teal-box-shadow-color: rgba(56, 178, 172, 0.3);--teal-box-shadow-color-darker: rgba(56, 178, 172, 0.6);--text-color-on-teal-color-bg: #ffffff;--green-color: #0be881;--green-color-light: #81eea8;--green-color-very-light: #d5f9e5;--green-color-dark: #0d8951;--green-color-very-dark: #17312a;--green-box-shadow-color: rgba(11, 232, 129, 0.3);--green-box-shadow-color-darker: rgba(11, 232, 129, 0.6);--text-color-on-green-color-bg: var(--lm-base-text-color);--yellow-color: #ffcf00;--yellow-color-light: #ffe04d;--yellow-color-very-light: #fff6cc;--yellow-color-dark: #8e7710;--yellow-color-very-dark: #302c1d;--yellow-box-shadow-color: rgba(255, 207, 0, 0.3);--yellow-box-shadow-color-darker: rgba(255, 207, 0, 0.6);--text-color-on-yellow-color-bg: var(--lm-base-text-color);--orange-color: #ed8936;--orange-color-light: #f09f53;--orange-color-very-light: #fbe6d2;--orange-color-dark: #6e4623;--orange-color-very-dark: #2e2620;--orange-box-shadow-color: rgba(237, 137, 54, 0.3);--orange-box-shadow-color-darker: rgba(237, 137, 54, 0.6);--text-color-on-orange-color-bg: #ffffff;--red-color: #ff4d4f;--red-color-light: #ed586c;--red-color-very-light: #f8d0d9;--red-color-dark: #8c0e2e;--red-color-very-dark: #301923;--red-box-shadow-color: rgba(245, 34, 45, 0.3);--red-box-shadow-color-darker: rgba(245, 34, 45, 0.6);--text-color-on-red-color-bg: #ffffff;--pink-color: #ed64a6;--pink-color-light: #ee7db7;--pink-color-very-light: #f9dced;--pink-color-dark: #6d3655;--pink-color-very-dark: #2d212d;--pink-box-shadow-color: rgba(237, 100, 166, 0.3);--pink-box-shadow-color-darker: rgba(237, 100, 166, 0.6);--text-color-on-pink-color-bg: #ffffff;--primary-color: var(--blue-color);--primary-color-light: var(--blue-color-light);--primary-color-very-light: var(--blue-color-very-light);--primary-color-dark: var(--blue-color-dark);--primary-color-very-dark: var(--blue-color-very-dark);--primary-box-shadow-color: var(--blue-box-shadow-color);--primary-box-shadow-color-darker: var(--blue-box-shadow-color-darker);--text-color-on-primary-color-bg: var(--text-color-on-blue-color-bg);--success-color: var(--green-color);--success-color-light: var(--green-color-light);--success-color-very-light: var(--green-color-very-light);--success-color-dark: var(--green-color-dark);--success-color-very-dark: var(--green-color-very-dark);--success-box-shadow-color: var(--green-box-shadow-color);--success-box-shadow-color-darker: var(--green-box-shadow-color-darker);--text-color-on-success-color-bg: var(--text-color-on-green-color-bg);--secondary-color: var(--yellow-color);--secondary-color-light: var(--yellow-color-light);--secondary-color-very-light: var(--yellow-color-very-light);--secondary-color-dark: var(--yellow-color-dark);--secondary-color-very-dark: var(--yellow-color-very-dark);--secondary-box-shadow-color: var(--yellow-box-shadow-color);--secondary-box-shadow-color-darker: var(--yellow-box-shadow-color-darker);--text-color-on-secondary-color-bg: var(--text-color-on-yellow-color-bg);--danger-color: var(--red-color);--danger-color-light: var(--red-color-light);--danger-color-very-light: var(--red-color-very-light);--danger-color-dark: var(--red-color-dark);--danger-color-very-dark: var(--red-color-very-dark);--danger-box-shadow-color: var(--red-box-shadow-color);--danger-box-shadow-color-darker: var(--red-box-shadow-color-darker);--text-color-on-danger-color-bg: var(--text-color-on-red-color-bg);--lm-shadow-color: rgba(0, 0, 0, 0.15);--dm-shadow-color: rgba(0, 0, 0, 0.4);--lm-small-shadow: 0 0.1rem 0.2rem var(--lm-shadow-color);--dm-small-shadow: 0 0.1rem 0.6rem var(--dm-shadow-color);--lm-shadow: 0 0.2rem 0.4rem var(--lm-shadow-color);--dm-shadow: 0 0.2rem 0.8rem var(--dm-shadow-color);--lm-large-shadow: 0 0.4rem 0.8rem var(--lm-shadow-color);--dm-large-shadow: 0 0.4rem 1.2rem var(--dm-shadow-color);--webkit-scrollbar-width-height: 1.4rem;--webkit-scrollbar-track-border-width: var(--base-border-width);--webkit-scrollbar-thumb-min-width-height: 3rem;--webkit-scrollbar-thumb-border-width: 0.4rem;--webkit-scrollbar-thumb-border-radius: 1rem;--webkit-scrollbar-corner-border-width: var(--base-border-width);--lm-webkit-scrollbar-bg-color: transparent;--lm-webkit-scrollbar-track-border-color: rgba(0, 0, 0, 0.1);--lm-webkit-scrollbar-thumb-bg-color: rgba(0, 0, 0, 0.25);--lm-webkit-scrollbar-thumb-bg-color-hover: rgba(0, 0, 0, 0.4);--lm-webkit-scrollbar-thumb-border-color: transparent;--lm-webkit-scrollbar-thumb-border-color-hover: transparent;--lm-webkit-scrollbar-corner-bg-color: transparent;--lm-webkit-scrollbar-corner-border-color: rgba(0, 0, 0, 0.1);--dm-webkit-scrollbar-bg-color: transparent;--dm-webkit-scrollbar-track-border-color: rgba(255, 255, 255, 0.05);--dm-webkit-scrollbar-thumb-bg-color: rgba(255, 255, 255, 0.25);--dm-webkit-scrollbar-thumb-bg-color-hover: rgba(255, 255, 255, 0.4);--dm-webkit-scrollbar-thumb-border-color: transparent;--dm-webkit-scrollbar-thumb-border-color-hover: transparent;--dm-webkit-scrollbar-corner-bg-color: transparent;--dm-webkit-scrollbar-corner-border-color: rgba(255, 255, 255, 0.05);--css-scrollbar-width: thin;--lm-css-scrollbar-color: var(--lm-webkit-scrollbar-thumb-bg-color) var(--lm-base-body-bg-color);--dm-css-scrollbar-color: var(--dm-webkit-scrollbar-thumb-bg-color) var(--dm-base-body-bg-color);--sidebar-webkit-scrollbar-width-height: var(--webkit-scrollbar-width-height);--sidebar-webkit-scrollbar-track-border-width: var(--webkit-scrollbar-track-border-width);--sidebar-webkit-scrollbar-thumb-border-width: var(--webkit-scrollbar-thumb-border-width);--sidebar-webkit-scrollbar-thumb-border-radius: var(--webkit-scrollbar-thumb-border-radius);--sidebar-webkit-scrollbar-corner-border-width: var(--webkit-scrollbar-corner-border-width);--lm-sidebar-webkit-scrollbar-bg-color: var(--lm-webkit-scrollbar-bg-color);--lm-sidebar-webkit-scrollbar-track-border-color: var(--lm-webkit-scrollbar-track-border-color);--lm-sidebar-webkit-scrollbar-thumb-bg-color: var(--lm-webkit-scrollbar-thumb-bg-color);--lm-sidebar-webkit-scrollbar-thumb-bg-color-hover: var(--lm-webkit-scrollbar-thumb-bg-color-hover);--lm-sidebar-webkit-scrollbar-thumb-border-color: var(--lm-webkit-scrollbar-thumb-border-color);--lm-sidebar-webkit-scrollbar-thumb-border-color-hover: var(--lm-webkit-scrollbar-thumb-border-color-hover);--lm-sidebar-webkit-scrollbar-corner-bg-color: var(--lm-webkit-scrollbar-corner-bg-color);--lm-sidebar-webkit-scrollbar-corner-border-color: var(--lm-webkit-scrollbar-corner-border-color);--dm-sidebar-webkit-scrollbar-bg-color: var(--dm-webkit-scrollbar-bg-color);--dm-sidebar-webkit-scrollbar-track-border-color: var(--dm-webkit-scrollbar-track-border-color);--dm-sidebar-webkit-scrollbar-thumb-bg-color: var(--dm-webkit-scrollbar-thumb-bg-color);--dm-sidebar-webkit-scrollbar-thumb-bg-color-hover: var(--dm-webkit-scrollbar-thumb-bg-color-hover);--dm-sidebar-webkit-scrollbar-thumb-border-color: var(--dm-webkit-scrollbar-thumb-border-color);--dm-sidebar-webkit-scrollbar-thumb-border-color-hover: var(--dm-webkit-scrollbar-thumb-border-color-hover);--dm-sidebar-webkit-scrollbar-corner-bg-color: var(--dm-webkit-scrollbar-corner-bg-color);--dm-sidebar-webkit-scrollbar-corner-border-color: var(--dm-webkit-scrollbar-corner-border-color);--sidebar-css-scrollbar-width: var(--css-scrollbar-width);--lm-sidebar-css-scrollbar-color: var(--lm-webkit-scrollbar-thumb-bg-color) var(--lm-sidebar-bg-color);--dm-sidebar-css-scrollbar-color: var(--dm-webkit-scrollbar-thumb-bg-color) var(--dm-sidebar-bg-color);--modal-webkit-scrollbar-width-height: var(--webkit-scrollbar-width-height);--modal-webkit-scrollbar-track-border-width: var(--webkit-scrollbar-track-border-width);--modal-webkit-scrollbar-thumb-border-width: var(--webkit-scrollbar-thumb-border-width);--modal-webkit-scrollbar-thumb-border-radius: var(--webkit-scrollbar-thumb-border-radius);--modal-webkit-scrollbar-corner-border-width: var(--webkit-scrollbar-corner-border-width);--lm-modal-webkit-scrollbar-bg-color: var(--lm-webkit-scrollbar-bg-color);--lm-modal-webkit-scrollbar-track-border-color: var(--dm-webkit-scrollbar-track-border-color);--lm-modal-webkit-scrollbar-thumb-bg-color: var(--dm-webkit-scrollbar-thumb-bg-color);--lm-modal-webkit-scrollbar-thumb-bg-color-hover: var(--dm-webkit-scrollbar-thumb-bg-color-hover);--lm-modal-webkit-scrollbar-thumb-border-color: var(--lm-webkit-scrollbar-thumb-border-color);--lm-modal-webkit-scrollbar-thumb-border-color-hover: var(--lm-webkit-scrollbar-thumb-border-color-hover);--lm-modal-webkit-scrollbar-corner-bg-color: var(--lm-webkit-scrollbar-corner-bg-color);--lm-modal-webkit-scrollbar-corner-border-color: var(--lm-webkit-scrollbar-corner-border-color);--dm-modal-webkit-scrollbar-bg-color: var(--dm-webkit-scrollbar-bg-color);--dm-modal-webkit-scrollbar-track-border-color: var(--dm-webkit-scrollbar-track-border-color);--dm-modal-webkit-scrollbar-thumb-bg-color: var(--dm-webkit-scrollbar-thumb-bg-color);--dm-modal-webkit-scrollbar-thumb-bg-color-hover: var(--dm-webkit-scrollbar-thumb-bg-color-hover);--dm-modal-webkit-scrollbar-thumb-border-color: var(--dm-webkit-scrollbar-thumb-border-color);--dm-modal-webkit-scrollbar-thumb-border-color-hover: var(--dm-webkit-scrollbar-thumb-border-color-hover);--dm-modal-webkit-scrollbar-corner-bg-color: var(--dm-webkit-scrollbar-corner-bg-color);--dm-modal-webkit-scrollbar-corner-border-color: var(--dm-webkit-scrollbar-corner-border-color);--modal-css-scrollbar-width: var(--css-scrollbar-width);--lm-modal-css-scrollbar-color: var(--dm-webkit-scrollbar-thumb-bg-color) transparent;--dm-modal-css-scrollbar-color: var(--dm-webkit-scrollbar-thumb-bg-color) transparent;--modal-full-webkit-scrollbar-width-height: var(--webkit-scrollbar-width-height);--modal-full-webkit-scrollbar-track-border-width: var(--webkit-scrollbar-track-border-width);--modal-full-webkit-scrollbar-thumb-border-width: var(--webkit-scrollbar-thumb-border-width);--modal-full-webkit-scrollbar-thumb-border-radius: var(--webkit-scrollbar-thumb-border-radius);--modal-full-webkit-scrollbar-corner-border-width: var(--webkit-scrollbar-corner-border-width);--lm-modal-full-webkit-scrollbar-bg-color: var(--lm-modal-full-content-bg-color);--lm-modal-full-webkit-scrollbar-track-border-color: var(--lm-webkit-scrollbar-track-border-color);--lm-modal-full-webkit-scrollbar-thumb-bg-color: var(--lm-webkit-scrollbar-thumb-bg-color);--lm-modal-full-webkit-scrollbar-thumb-bg-color-hover: var(--lm-webkit-scrollbar-thumb-bg-color-hover);--lm-modal-full-webkit-scrollbar-thumb-border-color: var(--lm-webkit-scrollbar-thumb-border-color);--lm-modal-full-webkit-scrollbar-thumb-border-color-hover: var(--lm-webkit-scrollbar-thumb-border-color-hover);--lm-modal-full-webkit-scrollbar-corner-bg-color: var(--lm-modal-full-content-bg-color);--lm-modal-full-webkit-scrollbar-corner-border-color: var(--lm-webkit-scrollbar-corner-border-color);--dm-modal-full-webkit-scrollbar-bg-color: var(--dm-modal-full-content-bg-color);--dm-modal-full-webkit-scrollbar-track-border-color: var(--dm-webkit-scrollbar-track-border-color);--dm-modal-full-webkit-scrollbar-thumb-bg-color: var(--dm-webkit-scrollbar-thumb-bg-color);--dm-modal-full-webkit-scrollbar-thumb-bg-color-hover: var(--dm-webkit-scrollbar-thumb-bg-color-hover);--dm-modal-full-webkit-scrollbar-thumb-border-color: var(--dm-webkit-scrollbar-thumb-border-color);--dm-modal-full-webkit-scrollbar-thumb-border-color-hover: var(--dm-webkit-scrollbar-thumb-border-color-hover);--dm-modal-full-webkit-scrollbar-corner-bg-color: var(--dm-modal-full-content-bg-color);--dm-modal-full-webkit-scrollbar-corner-border-color: var(--dm-webkit-scrollbar-corner-border-color);--modal-full-css-scrollbar-width: var(--css-scrollbar-width);--lm-modal-full-css-scrollbar-color: var(--lm-webkit-scrollbar-thumb-bg-color) var(--lm-modal-full-content-bg-color);--dm-modal-full-css-scrollbar-color: var(--dm-webkit-scrollbar-thumb-bg-color) var(--dm-modal-full-content-bg-color);--card-webkit-scrollbar-width-height: var(--webkit-scrollbar-width-height);--card-webkit-scrollbar-track-border-width: var(--webkit-scrollbar-track-border-width);--card-webkit-scrollbar-thumb-border-width: var(--webkit-scrollbar-thumb-border-width);--card-webkit-scrollbar-thumb-border-radius: var(--webkit-scrollbar-thumb-border-radius);--card-webkit-scrollbar-corner-border-width: var(--webkit-scrollbar-corner-border-width);--lm-card-webkit-scrollbar-bg-color: var(--lm-webkit-scrollbar-bg-color);--lm-card-webkit-scrollbar-track-border-color: var(--lm-webkit-scrollbar-track-border-color);--lm-card-webkit-scrollbar-thumb-bg-color: var(--lm-webkit-scrollbar-thumb-bg-color);--lm-card-webkit-scrollbar-thumb-bg-color-hover: var(--lm-webkit-scrollbar-thumb-bg-color-hover);--lm-card-webkit-scrollbar-thumb-border-color: var(--lm-webkit-scrollbar-thumb-border-color);--lm-card-webkit-scrollbar-thumb-border-color-hover: var(--lm-webkit-scrollbar-thumb-border-color-hover);--lm-card-webkit-scrollbar-corner-bg-color: var(--lm-webkit-scrollbar-corner-bg-color);--lm-card-webkit-scrollbar-corner-border-color: var(--lm-webkit-scrollbar-corner-border-color);--dm-card-webkit-scrollbar-bg-color: var(--dm-webkit-scrollbar-bg-color);--dm-card-webkit-scrollbar-track-border-color: var(--dm-webkit-scrollbar-track-border-color);--dm-card-webkit-scrollbar-thumb-bg-color: var(--dm-webkit-scrollbar-thumb-bg-color);--dm-card-webkit-scrollbar-thumb-bg-color-hover: var(--dm-webkit-scrollbar-thumb-bg-color-hover);--dm-card-webkit-scrollbar-thumb-border-color: var(--dm-webkit-scrollbar-thumb-border-color);--dm-card-webkit-scrollbar-thumb-border-color-hover: var(--dm-webkit-scrollbar-thumb-border-color-hover);--dm-card-webkit-scrollbar-corner-bg-color: var(--dm-webkit-scrollbar-corner-bg-color);--dm-card-webkit-scrollbar-corner-border-color: var(--dm-webkit-scrollbar-corner-border-color);--card-css-scrollbar-width: var(--css-scrollbar-width);--lm-card-css-scrollbar-color: var(--lm-webkit-scrollbar-thumb-bg-color) var(--lm-card-bg-color);--dm-card-css-scrollbar-color: var(--dm-webkit-scrollbar-thumb-bg-color) var(--dm-card-bg-color);--utility-transparent-track-css-scrollbar-width: var(--css-scrollbar-width);--lm-utility-transparent-track-css-scrollbar-color: var(--lm-webkit-scrollbar-thumb-bg-color) transparent;--dm-utility-transparent-track-css-scrollbar-color: var(--dm-webkit-scrollbar-thumb-bg-color) transparent;--sticky-alerts-top: 0;--sticky-alerts-right: 2.4rem;--navbar-height: 5rem;--navbar-border-width: var(--base-border-width);--navbar-horizontal-padding: 1rem;--lm-navbar-bg-color: var(--white-bg-color);--lm-navbar-bg-image: none;--lm-navbar-border-color: rgba(0, 0, 0, 0.2);--lm-navbar-box-shadow: none;--dm-navbar-bg-color: var(--dark-color-dark);--dm-navbar-bg-image: none;--dm-navbar-border-color: rgba(0, 0, 0, 0.2);--dm-navbar-box-shadow: var(--lm-navbar-box-shadow);--navbar-fixed-bottom-height: var(--navbar-height);--lm-navbar-fixed-bottom-box-shadow: none;--dm-navbar-fixed-bottom-box-shadow: var(--lm-navbar-fixed-bottom-box-shadow);--lm-navbar-static-bottom-box-shadow: var(--lm-navbar-fixed-bottom-box-shadow);--dm-navbar-static-bottom-box-shadow: var(--lm-navbar-static-bottom-box-shadow);--sidebar-width: 26rem;--sidebar-border-width: var(--base-border-width);--lm-sidebar-bg-color: var(--white-bg-color);--lm-sidebar-bg-image: none;--lm-sidebar-border-color: rgba(0, 0, 0, 0.2);--lm-sidebar-box-shadow: none;--dm-sidebar-bg-color: var(--dark-color);--dm-sidebar-bg-image: none;--dm-sidebar-border-color: rgba(0, 0, 0, 0.2);--dm-sidebar-box-shadow: var(--lm-sidebar-box-shadow);--sidebar-overlay-bg-color: rgba(0, 0, 0, 0.75);--container-width: 100%;--container-sm-max-width: 54rem;--container-md-max-width: 72rem;--container-lg-max-width: 96rem;--container-xl-max-width: 114rem;--container-fluid-width: 100%;--content-and-card-spacing: 3rem;--content-and-card-spacing-xs: 2rem;--content-and-card-spacing-half: calc(var(--content-and-card-spacing)/2);--content-and-card-spacing-xs-half: calc(var(--content-and-card-spacing-xs)/2);--content-title-font-size: 2rem;--content-title-font-weight: 500;--card-border-width: var(--base-border-width);--card-border-radius: var(--base-border-radius);--card-title-font-size: var(--content-title-font-size);--card-title-font-weight: var(--content-title-font-weight);--lm-card-text-color: var(--lm-base-text-color);--lm-card-bg-color: var(--white-bg-color);--lm-card-bg-image: none;--lm-card-border-color: rgba(0, 0, 0, 0.2);--lm-card-box-shadow: none;--dm-card-text-color: var(--dm-base-text-color);--dm-card-bg-color: var(--dark-color);--dm-card-bg-image: none;--dm-card-border-color: rgba(0, 0, 0, 0.2);--dm-card-box-shadow: var(--lm-card-box-shadow);--v-spacer-height: var(--content-and-card-spacing);--v-spacer-height-xs: var(--content-and-card-spacing-xs);--lm-link-text-color: var(--primary-color);--lm-link-text-color-hover: var(--primary-color-light);--dm-link-text-color: var(--primary-color);--dm-link-text-color-hover: var(--primary-color-light);--button-height: 3.2rem;--button-line-height: var(--button-height);--button-padding: 0 1.5rem;--button-border-width: var(--base-border-width);--button-border-radius: var(--base-border-radius);--button-outline-width: 1px;--button-outline-type: dotted;--button-outline-offset: 0.2rem;--small-button-height: 2.6rem;--small-button-line-height: var(--small-button-height);--small-button-padding: 0 1rem;--small-button-font-size: 1.2rem;--large-button-height: 4rem;--large-button-line-height: var(--large-button-height);--large-button-padding: 0 2rem;--large-button-font-size: 1.8rem;--lm-button-text-color: var(--lm-base-text-color-light);--lm-button-bg-color: #ffffff;--lm-button-bg-image: none;--lm-button-border-color: rgba(0, 0, 0, 0.2);--lm-button-box-shadow: 0 0.2rem 0 rgba(0, 0, 0, 0.05);--lm-button-text-color-hover: var(--lm-button-text-color);--lm-button-bg-color-hover: var(--gray-color-very-light);--lm-button-bg-image-hover: none;--lm-button-border-color-hover: var(--lm-button-border-color);--lm-button-box-shadow-hover: var(--lm-button-box-shadow);--lm-button-text-color-focus: var(--lm-button-text-color);--lm-button-bg-color-focus: var(--lm-button-bg-color);--lm-button-bg-image-focus: var(--lm-button-bg-image);--lm-button-border-color-focus: var(--lm-button-border-color);--lm-button-box-shadow-focus: 0 0 0 0.2rem var(--primary-box-shadow-color-darker);--lm-button-outline-color-focus: transparent;--dm-button-text-color: var(--dm-base-text-color);--dm-button-bg-color: rgba(255, 255, 255, 0.05);--dm-button-bg-image: none;--dm-button-border-color: rgba(255, 255, 255, 0.025) transparent transparent transparent;--dm-button-box-shadow: 0 0.2rem 0 rgba(0, 0, 0, 0.1);--dm-button-text-color-hover: var(--dm-button-text-color);--dm-button-bg-color-hover: rgba(255, 255, 255, 0.1);--dm-button-bg-image-hover: none;--dm-button-border-color-hover: var(--dm-button-border-color);--dm-button-box-shadow-hover: var(--dm-button-box-shadow);--dm-button-text-color-focus: var(--dm-button-text-color);--dm-button-bg-color-focus: var(--dm-button-bg-color);--dm-button-bg-image-focus: var(--dm-button-bg-image);--dm-button-border-color-focus: rgba(0, 0, 0, 0.4);--dm-button-box-shadow-focus: 0 0 0 0.2rem var(--primary-box-shadow-color);--dm-button-outline-color-focus: transparent;--dm-button-alt-text-color: inherit;--dm-button-alt-bg-color: rgba(0, 0, 0, 0.15);--dm-button-alt-bg-image: none;--dm-button-alt-border-color: rgba(0, 0, 0, 0.05);--dm-button-alt-box-shadow: 0 0.2rem 0 rgba(0, 0, 0, 0.025);--dm-button-alt-text-color-hover: var(--dm-button-alt-text-color);--dm-button-alt-bg-color-hover: rgba(0, 0, 0, 0.2);--dm-button-alt-bg-image-hover: none;--dm-button-alt-border-color-hover: var(--dm-button-alt-border-color);--dm-button-alt-box-shadow-hover: var(--dm-button-alt-box-shadow);--dm-button-alt-text-color-focus: var(--dm-button-alt-text-color);--dm-button-alt-bg-color-focus: var(--dm-button-alt-bg-color);--dm-button-alt-bg-image-focus: var(--dm-button-alt-bg-image);--dm-button-alt-border-color-focus: inherit;--dm-button-alt-box-shadow-focus: var(--dm-button-alt-box-shadow);--dm-button-alt-outline-color-focus: transparent;--lm-button-link-text-color: var(--primary-color);--lm-button-link-bg-color: transparent;--lm-button-link-bg-image: none;--lm-button-link-border-color: transparent;--lm-button-link-box-shadow: none;--lm-button-link-text-color-hover: var(--primary-color-light);--lm-button-link-bg-color-hover: var(--lm-button-link-bg-color);--lm-button-link-bg-image-hover: none;--lm-button-link-border-color-hover: var(--lm-button-link-border-color);--lm-button-link-box-shadow-hover: var(--lm-button-link-box-shadow);--lm-button-link-text-color-focus: var(--lm-button-link-text-color);--lm-button-link-bg-color-focus: var(--lm-button-link-bg-color);--lm-button-link-bg-image-focus: var(--lm-button-link-bg-image);--lm-button-link-border-color-focus: var(--lm-button-link-border-color);--lm-button-link-box-shadow-focus: var(--lm-button-box-shadow-focus);--lm-button-link-outline-color-focus: var(--lm-button-outline-color-focus);--dm-button-link-text-color: var(--primary-color);--dm-button-link-bg-color: transparent;--dm-button-link-bg-image: none;--dm-button-link-border-color: transparent;--dm-button-link-box-shadow: none;--dm-button-link-text-color-hover: var(--primary-color-light);--dm-button-link-bg-color-hover: var(--dm-button-link-bg-color);--dm-button-link-bg-image-hover: none;--dm-button-link-border-color-hover: var(--dm-button-link-border-color);--dm-button-link-box-shadow-hover: var(--dm-button-link-box-shadow);--dm-button-link-text-color-focus: var(--dm-button-link-text-color);--dm-button-link-bg-color-focus: var(--dm-button-link-bg-color);--dm-button-link-bg-image-focus: var(--dm-button-link-bg-image);--dm-button-link-border-color-focus: var(--dm-button-link-border-color);--dm-button-link-box-shadow-focus: var(--dm-button-box-shadow-focus);--dm-button-link-outline-color-focus: var(--dm-button-outline-color-focus);--lm-button-primary-text-color: var(--text-color-on-primary-color-bg);--lm-button-primary-bg-color: var(--primary-color);--lm-button-primary-bg-image: none;--lm-button-primary-border-color: var(--primary-color);--lm-button-primary-box-shadow: var(--lm-button-box-shadow);--lm-button-primary-text-color-hover: var(--lm-button-primary-text-color);--lm-button-primary-bg-color-hover: var(--primary-color-light);--lm-button-primary-bg-image-hover: none;--lm-button-primary-border-color-hover: var(--primary-color-light);--lm-button-primary-box-shadow-hover: var(--lm-button-primary-box-shadow);--lm-button-primary-text-color-focus: var(--lm-button-primary-text-color);--lm-button-primary-bg-color-focus: var(--lm-button-primary-bg-color);--lm-button-primary-bg-image-focus: var(--lm-button-primary-bg-image);--lm-button-primary-border-color-focus: var(--lm-button-primary-border-color);--lm-button-primary-box-shadow-focus: 0 0 0 0.3rem var(--primary-box-shadow-color);--lm-button-primary-outline-color-focus: var(--lm-button-outline-color-focus);--dm-button-primary-text-color: var(--text-color-on-primary-color-bg);--dm-button-primary-bg-color: var(--primary-color);--dm-button-primary-bg-image: none;--dm-button-primary-border-color: var(--primary-color);--dm-button-primary-box-shadow: var(--dm-button-box-shadow);--dm-button-primary-text-color-hover: var(--dm-button-primary-text-color);--dm-button-primary-bg-color-hover: var(--primary-color-light);--dm-button-primary-bg-image-hover: none;--dm-button-primary-border-color-hover: var(--primary-color-light);--dm-button-primary-box-shadow-hover: var(--dm-button-primary-box-shadow);--dm-button-primary-text-color-focus: var(--dm-button-primary-text-color);--dm-button-primary-bg-color-focus: var(--dm-button-primary-bg-color);--dm-button-primary-bg-image-focus: var(--dm-button-primary-bg-image);--dm-button-primary-border-color-focus: var(--dm-button-primary-border-color);--dm-button-primary-box-shadow-focus: 0 0 0 0.3rem var(--primary-box-shadow-color);--dm-button-primary-outline-color-focus: var(--dm-button-outline-color-focus);--lm-button-success-text-color: var(--text-color-on-success-color-bg);--lm-button-success-bg-color: var(--success-color);--lm-button-success-bg-image: none;--lm-button-success-border-color: var(--success-color);--lm-button-success-box-shadow: var(--lm-button-box-shadow);--lm-button-success-text-color-hover: var(--lm-button-success-text-color);--lm-button-success-bg-color-hover: var(--success-color-light);--lm-button-success-bg-image-hover: none;--lm-button-success-border-color-hover: var(--success-color-light);--lm-button-success-box-shadow-hover: var(--lm-button-success-box-shadow);--lm-button-success-text-color-focus: var(--lm-button-success-text-color);--lm-button-success-bg-color-focus: var(--lm-button-success-bg-color);--lm-button-success-bg-image-focus: var(--lm-button-success-bg-image);--lm-button-success-border-color-focus: var(--lm-button-success-border-color);--lm-button-success-box-shadow-focus: 0 0 0 0.3rem var(--success-box-shadow-color);--lm-button-success-outline-color-focus: var(--lm-button-outline-color-focus);--dm-button-success-text-color: var(--text-color-on-success-color-bg);--dm-button-success-bg-color: var(--success-color);--dm-button-success-bg-image: none;--dm-button-success-border-color: var(--success-color);--dm-button-success-box-shadow: var(--dm-button-box-shadow);--dm-button-success-text-color-hover: var(--dm-button-success-text-color);--dm-button-success-bg-color-hover: var(--success-color-light);--dm-button-success-bg-image-hover: none;--dm-button-success-border-color-hover: var(--success-color-light);--dm-button-success-box-shadow-hover: var(--dm-button-success-box-shadow);--dm-button-success-text-color-focus: var(--dm-button-success-text-color);--dm-button-success-bg-color-focus: var(--dm-button-success-bg-color);--dm-button-success-bg-image-focus: var(--dm-button-success-bg-image);--dm-button-success-border-color-focus: var(--dm-button-success-border-color);--dm-button-success-box-shadow-focus: 0 0 0 0.3rem var(--success-box-shadow-color);--dm-button-success-outline-color-focus: var(--dm-button-outline-color-focus);--lm-button-secondary-text-color: var(--text-color-on-secondary-color-bg);--lm-button-secondary-bg-color: var(--secondary-color);--lm-button-secondary-bg-image: none;--lm-button-secondary-border-color: var(--secondary-color);--lm-button-secondary-box-shadow: var(--lm-button-box-shadow);--lm-button-secondary-text-color-hover: var(--lm-button-secondary-text-color);--lm-button-secondary-bg-color-hover: var(--secondary-color-light);--lm-button-secondary-bg-image-hover: none;--lm-button-secondary-border-color-hover: var(--secondary-color-light);--lm-button-secondary-box-shadow-hover: var(--lm-button-secondary-box-shadow);--lm-button-secondary-text-color-focus: var(--lm-button-secondary-text-color);--lm-button-secondary-bg-color-focus: var(--lm-button-secondary-bg-color);--lm-button-secondary-bg-image-focus: var(--lm-button-secondary-bg-image);--lm-button-secondary-border-color-focus: var(--lm-button-secondary-border-color);--lm-button-secondary-box-shadow-focus: 0 0 0 0.3rem var(--secondary-box-shadow-color);--lm-button-secondary-outline-color-focus: var(--lm-button-outline-color-focus);--dm-button-secondary-text-color: var(--text-color-on-secondary-color-bg);--dm-button-secondary-bg-color: var(--secondary-color);--dm-button-secondary-bg-image: none;--dm-button-secondary-border-color: var(--secondary-color);--dm-button-secondary-box-shadow: var(--dm-button-box-shadow);--dm-button-secondary-text-color-hover: var(--dm-button-secondary-text-color);--dm-button-secondary-bg-color-hover: var(--secondary-color-light);--dm-button-secondary-bg-image-hover: none;--dm-button-secondary-border-color-hover: var(--secondary-color-light);--dm-button-secondary-box-shadow-hover: var(--dm-button-secondary-box-shadow);--dm-button-secondary-text-color-focus: var(--dm-button-secondary-text-color);--dm-button-secondary-bg-color-focus: var(--dm-button-secondary-bg-color);--dm-button-secondary-bg-image-focus: var(--dm-button-secondary-bg-image);--dm-button-secondary-border-color-focus: var(--dm-button-secondary-border-color);--dm-button-secondary-box-shadow-focus: 0 0 0 0.3rem var(--secondary-box-shadow-color);--dm-button-secondary-outline-color-focus: var(--dm-button-outline-color-focus);--lm-button-danger-text-color: var(--text-color-on-danger-color-bg);--lm-button-danger-bg-color: var(--danger-color);--lm-button-danger-bg-image: none;--lm-button-danger-border-color: var(--danger-color);--lm-button-danger-box-shadow: var(--lm-button-box-shadow);--lm-button-danger-text-color-hover: var(--lm-button-danger-text-color);--lm-button-danger-bg-color-hover: var(--danger-color-light);--lm-button-danger-bg-image-hover: none;--lm-button-danger-border-color-hover: var(--danger-color-light);--lm-button-danger-box-shadow-hover: var(--lm-button-danger-box-shadow);--lm-button-danger-text-color-focus: var(--lm-button-danger-text-color);--lm-button-danger-bg-color-focus: var(--lm-button-danger-bg-color);--lm-button-danger-bg-image-focus: var(--lm-button-danger-bg-image);--lm-button-danger-border-color-focus: var(--lm-button-danger-border-color);--lm-button-danger-box-shadow-focus: 0 0 0 0.3rem var(--danger-box-shadow-color);--lm-button-danger-outline-color-focus: var(--lm-button-outline-color-focus);--dm-button-danger-text-color: var(--text-color-on-danger-color-bg);--dm-button-danger-bg-color: var(--danger-color);--dm-button-danger-bg-image: none;--dm-button-danger-border-color: var(--danger-color);--dm-button-danger-box-shadow: var(--dm-button-box-shadow);--dm-button-danger-text-color-hover: var(--dm-button-danger-text-color);--dm-button-danger-bg-color-hover: var(--danger-color-light);--dm-button-danger-bg-image-hover: none;--dm-button-danger-border-color-hover: var(--danger-color-light);--dm-button-danger-box-shadow-hover: var(--dm-button-danger-box-shadow);--dm-button-danger-text-color-focus: var(--dm-button-danger-text-color);--dm-button-danger-bg-color-focus: var(--dm-button-danger-bg-color);--dm-button-danger-bg-image-focus: var(--dm-button-danger-bg-image);--dm-button-danger-border-color-focus: var(--dm-button-danger-border-color);--dm-button-danger-box-shadow-focus: 0 0 0 0.3rem var(--danger-box-shadow-color);--dm-button-danger-outline-color-focus: var(--dm-button-outline-color-focus);--button-rounded-border-radius: var(--button-height);--small-button-rounded-border-radius: var(--small-button-height);--large-button-rounded-border-radius: var(--large-button-height);--code-font-size: 1.2rem;--code-line-height: var(--base-line-height);--code-padding: 0.1rem 0.5rem;--code-margin: 0 0.1rem;--code-border-width: var(--base-border-width);--code-border-radius: 0.2rem;--lm-code-text-color: var(--lm-base-text-color);--lm-code-bg-color: var(--gray-color-light);--lm-code-border-color: rgba(0, 0, 0, 0.05);--dm-code-text-color: var(--dm-base-text-color);--dm-code-bg-color: rgba(0, 0, 0, 0.1);--dm-code-border-color: rgba(0, 0, 0, 0.15);--kbd-font-size: var(--code-font-size);--kbd-line-height: var(--code-line-height);--kbd-padding: var(--code-padding);--kbd-margin: var(--code-margin);--kbd-border-width: var(--code-border-width);--kbd-border-radius: 0.4rem;--lm-kbd-text-color: var(--lm-base-text-color);--lm-kbd-bg-color: var(--white-bg-color);--lm-kbd-border-color: rgba(0, 0, 0, 0.2);--dm-kbd-text-color: var(--dm-base-text-color);--dm-kbd-bg-color: transparent;--dm-kbd-border-color: rgba(255, 255, 255, 0.2);--table-padding: 1.2rem 1.5rem;--table-header-cell-font-weight: 700;--table-head-row-border-bottom-border-width: 2px;--table-foot-row-border-top-border-width: 2px;--table-border-width: var(--base-border-width);--lm-table-border-color: var(--gray-color);--dm-table-border-color: var(--gray-color-very-dark);--lm-table-hoverable-bg-color-hover: rgba(0, 0, 0, 0.05);--dm-table-hoverable-bg-color-hover: rgba(0, 0, 0, 0.2);--lm-table-striped-bg-color: var(--gray-color-light);--dm-table-striped-bg-color: rgba(0, 0, 0, 0.15);--lm-table-primary-text-color: var(--lm-base-text-color);--lm-table-primary-bg-color: var(--primary-color-very-light);--lm-table-primary-row-border-color: var(--primary-color-light);--lm-table-primary-cell-border-color: var(--gray-color-dark);--lm-table-success-text-color: var(--lm-base-text-color);--lm-table-success-bg-color: var(--success-color-very-light);--lm-table-success-row-border-color: var(--success-color);--lm-table-success-cell-border-color: var(--gray-color-dark);--lm-table-secondary-text-color: var(--lm-base-text-color);--lm-table-secondary-bg-color: var(--secondary-color-very-light);--lm-table-secondary-row-border-color: var(--secondary-color);--lm-table-secondary-cell-border-color: var(--gray-color-dark);--lm-table-danger-text-color: var(--lm-base-text-color);--lm-table-danger-bg-color: var(--danger-color-very-light);--lm-table-danger-row-border-color: var(--danger-color-light);--lm-table-danger-cell-border-color: var(--gray-color-dark);--dm-table-primary-text-color: var(--primary-color);--dm-table-primary-bg-color: var(--primary-color-very-dark);--dm-table-primary-row-border-color: var(--primary-color-dark);--dm-table-primary-cell-border-color: var(--dm-table-border-color);--dm-table-success-text-color: var(--success-color);--dm-table-success-bg-color: var(--success-color-very-dark);--dm-table-success-row-border-color: var(--success-color-dark);--dm-table-success-cell-border-color: var(--dm-table-border-color);--dm-table-secondary-text-color: var(--secondary-color);--dm-table-secondary-bg-color: var(--secondary-color-very-dark);--dm-table-secondary-row-border-color: var(--secondary-color-dark);--dm-table-secondary-cell-border-color: var(--dm-table-border-color);--dm-table-danger-text-color: var(--danger-color);--dm-table-danger-bg-color: var(--danger-color-very-dark);--dm-table-danger-row-border-color: var(--danger-color-dark);--dm-table-danger-cell-border-color: var(--dm-table-border-color);--label-margin-bottom: 0.6rem;--legend-margin-bottom: var(--label-margin-bottom);--form-group-margin-bottom: 2rem;--form-row-and-col-margin-bottom: var(--form-group-margin-bottom);--form-col-horizontal-padding: 1rem;--form-text-font-size: var(--base-font-size);--form-text-padding-top: 0.8rem;--form-text-padding-bottom: var(--form-text-padding-top);--form-text-border-width: var(--base-border-width);--form-text-border-type: dotted;--lm-form-text-text-color: var(--lm-base-text-color-light);--lm-form-text-border-color: rgba(0, 0, 0, 0.2);--dm-form-text-text-color: var(--dm-base-text-color-light);--dm-form-text-border-color: rgba(255, 255, 255, 0.1);--invalid-feedback-font-size: var(--base-font-size);--invalid-feedback-padding-top: 0.8rem;--invalid-feedback-padding-bottom: var(--invalid-feedback-padding-top);--lm-invalid-feedback-text-color: var(--danger-color);--dm-invalid-feedback-text-color: var(--danger-color);--form-inline-horizontal-margin: 1rem;--input-height: 3.2rem;--input-horizontal-padding: 0.8rem;--input-border-width: var(--base-border-width);--input-border-radius: var(--base-border-radius);--small-input-height: 2.6rem;--small-input-horizontal-padding: var(--input-horizontal-padding);--small-input-font-size: 1.2rem;--large-input-height: 4rem;--large-input-horizontal-padding: var(--input-horizontal-padding);--large-input-font-size: 1.8rem;--textarea-line-height: var(--base-line-height);--lm-input-text-color: var(--lm-base-text-color);--lm-input-bg-color: #ffffff;--lm-input-border-color: rgba(0, 0, 0, 0.2);--lm-input-box-shadow: none;--lm-input-text-color-hover: var(--lm-input-text-color);--lm-input-bg-color-hover: var(--lm-input-bg-color);--lm-input-border-color-hover: rgba(0, 0, 0, 0.3);--lm-input-box-shadow-hover: var(--lm-input-box-shadow);--lm-input-text-color-focus: var(--lm-input-text-color);--lm-input-bg-color-focus: var(--lm-input-bg-color);--lm-input-border-color-focus: var(--lm-input-border-color);--lm-input-box-shadow-focus: 0 0 0 0.2rem var(--primary-box-shadow-color-darker);--lm-input-placeholder-text-color: rgba(0, 0, 0, 0.35);--lm-input-text-color-disabled: var(--lm-input-text-color);--lm-input-bg-color-disabled: var(--gray-color-light);--lm-input-border-color-disabled: var(--lm-input-border-color);--dm-input-text-color: var(--dm-base-text-color);--dm-input-bg-color: rgba(255, 255, 255, 0.05);--dm-input-border-color: rgba(0, 0, 0, 0.3);--dm-input-box-shadow: none;--dm-input-text-color-hover: var(--dm-input-text-color);--dm-input-bg-color-hover: var(--dm-input-bg-color);--dm-input-border-color-hover: rgba(0, 0, 0, 0.4);--dm-input-box-shadow-hover: var(--dm-input-box-shadow);--dm-input-text-color-focus: var(--dm-input-text-color);--dm-input-bg-color-focus: var(--dm-input-bg-color);--dm-input-border-color-focus: var(--dm-input-border-color-hover);--dm-input-box-shadow-focus: 0 0 0 0.2rem var(--primary-box-shadow-color);--dm-input-placeholder-text-color: rgba(255, 255, 255, 0.2);--dm-input-text-color-disabled: var(--dm-input-text-color);--dm-input-bg-color-disabled: rgba(0, 0, 0, 0.15);--dm-input-border-color-disabled: var(--dm-input-border-color);--dm-input-alt-text-color: inherit;--dm-input-alt-bg-color: rgba(0, 0, 0, 0.15);--dm-input-alt-border-color: transparent;--dm-input-alt-box-shadow: none;--dm-input-alt-text-color-hover: var(--dm-input-alt-text-color);--dm-input-alt-bg-color-hover: var(--dm-input-alt-bg-color);--dm-input-alt-border-color-hover: rgba(0, 0, 0, 0.1);--dm-input-alt-box-shadow-hover: var(--dm-input-alt-box-shadow);--dm-input-alt-text-color-focus: var(--dm-input-alt-text-color);--dm-input-alt-bg-color-focus: var(--dm-input-alt-bg-color);--dm-input-alt-border-color-focus: inherit;--dm-input-alt-box-shadow-focus: none;--dm-input-alt-placeholder-text-color: rgba(255, 255, 255, 0.5);--dm-input-alt-text-color-disabled: var(--dm-input-alt-text-color);--dm-input-alt-bg-color-disabled: rgba(0, 0, 0, 0.3);--dm-input-alt-border-color-disabled: transparent;--lm-input-invalid-text-color: var(--lm-input-text-color);--lm-input-invalid-bg-color: var(--lm-input-bg-color);--lm-input-invalid-border-color: var(--danger-color);--lm-input-invalid-box-shadow: var(--lm-input-box-shadow);--lm-input-invalid-text-color-hover: var(--lm-input-text-color-hover);--lm-input-invalid-bg-color-hover: var(--lm-input-bg-color-hover);--lm-input-invalid-border-color-hover: var(--lm-input-invalid-border-color);--lm-input-invalid-box-shadow-hover: var(--lm-input-invalid-box-shadow);--lm-input-invalid-text-color-focus: var(--lm-input-text-color-focus);--lm-input-invalid-bg-color-focus: var(--lm-input-bg-color-focus);--lm-input-invalid-border-color-focus: var(--danger-color-very-light);--lm-input-invalid-box-shadow-focus: 0 0 0 0.2rem var(--danger-box-shadow-color-darker);--lm-input-invalid-placeholder-text-color: var(--lm-input-placeholder-text-color);--dm-input-invalid-text-color: var(--dm-input-text-color);--dm-input-invalid-bg-color: var(--dm-input-bg-color);--dm-input-invalid-border-color: var(--danger-color);--dm-input-invalid-box-shadow: var(--dm-input-box-shadow);--dm-input-invalid-text-color-hover: var(--dm-input-text-color-hover);--dm-input-invalid-bg-color-hover: var(--dm-input-bg-color-hover);--dm-input-invalid-border-color-hover: var(--dm-input-invalid-border-color);--dm-input-invalid-box-shadow-hover: var(--dm-input-invalid-box-shadow);--dm-input-invalid-text-color-focus: var(--dm-input-text-color-focus);--dm-input-invalid-bg-color-focus: var(--dm-input-bg-color-focus);--dm-input-invalid-border-color-focus: var(--dm-input-invalid-border-color);--dm-input-invalid-box-shadow-focus: 0 0 0 0.2rem var(--danger-box-shadow-color);--dm-input-invalid-placeholder-text-color: var(--dm-input-placeholder-text-color);--dm-input-alt-invalid-text-color: var(--dm-input-alt-text-color);--dm-input-alt-invalid-bg-color: var(--dm-input-alt-bg-color);--dm-input-alt-invalid-border-color: var(--danger-color-light);--dm-input-alt-invalid-box-shadow: var(--dm-input-alt-box-shadow);--dm-input-alt-invalid-text-color-hover: var(--dm-input-alt-text-color-hover);--dm-input-alt-invalid-bg-color-hover: var(--dm-input-alt-bg-color-hover);--dm-input-alt-invalid-border-color-hover: var(--dm-input-alt-invalid-border-color);--dm-input-alt-invalid-box-shadow-hover: var(--dm-input-alt-invalid-box-shadow);--dm-input-alt-invalid-text-color-focus: var(--dm-input-alt-text-color-focus);--dm-input-alt-invalid-bg-color-focus: var(--dm-input-alt-bg-color-focus);--dm-input-alt-invalid-border-color-focus: var(--dm-input-alt-invalid-border-color);--dm-input-alt-invalid-box-shadow-focus: var(--dm-input-invalid-box-shadow-focus);--dm-input-alt-invalid-placeholder-text-color: var(--dm-input-alt-placeholder-text-color);--select-bg-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAI9JREFUeNpiZACCyMjIBCDVD8SOy5cvv8BAAgDqNQBS+4G4EKh3ASPUsPlQ+Q+kGIpkmABUKJEJ6jIYAEnshyok1TAQ6AcZ6Ah1GdGG4jAM7DtGQgrQvU9ILSOxColVw0is7VA2QV8wkhA+DMQECSMJgc5AyDCcBhIwFG9aZSQxrRFM+IwkJGAGYnIRQIABACQuXCKovu2mAAAAAElFTkSuQmCC);--select-bg-size: 1rem;--select-bg-repeat: no-repeat;--select-bg-position: calc(100% - 1rem) center;--select-padding-right: 3.6rem;--checkbox-border-width: var(--base-border-width);--checkbox-border-radius: var(--base-border-radius);--checkbox-width-height: 1.8rem;--checkbox-line-height: var(--checkbox-width-height);--checkbox-label-padding-left: 2.5rem;--checkbox-label-blank-padding-left: var(--checkbox-width-height);--lm-checkbox-bg-color: #ffffff;--lm-checkbox-border-color: rgba(0, 0, 0, 0.3);--lm-checkbox-bg-color-hover: var(--lm-checkbox-bg-color);--lm-checkbox-border-color-hover: rgba(0, 0, 0, 0.4);--lm-checkbox-bg-color-checked: var(--primary-color);--lm-checkbox-border-color-checked: var(--primary-color);--lm-checkbox-border-color-focus: var(--lm-input-border-color-focus);--lm-checkbox-box-shadow-focus: var(--lm-input-box-shadow-focus);--lm-checkbox-border-color-checked-focus: var(--lm-checkbox-border-color-checked);--lm-checkbox-box-shadow-checked-focus: 0 0 0 0.3rem var(--primary-box-shadow-color);--dm-checkbox-bg-color: transparent;--dm-checkbox-border-color: rgba(255, 255, 255, 0.15);--dm-checkbox-bg-color-hover: var(--dm-checkbox-bg-color);--dm-checkbox-border-color-hover: rgba(255, 255, 255, 0.3);--dm-checkbox-bg-color-checked: var(--primary-color);--dm-checkbox-border-color-checked: var(--primary-color);--dm-checkbox-border-color-focus: var(--dm-input-border-color-focus);--dm-checkbox-box-shadow-focus: var(--dm-input-box-shadow-focus);--dm-checkbox-border-color-checked-focus: var(--dm-checkbox-border-color-checked);--dm-checkbox-box-shadow-checked-focus: 0 0 0 0.3rem var(--primary-box-shadow-color);--checkbox-checkmark-left: 0.6rem;--checkbox-checkmark-top: 0.3rem;--checkbox-checkmark-width: 0.6rem;--checkbox-checkmark-height: 1rem;--checkbox-checkmark-border-width: 0 0.2rem 0.2rem 0;--checkbox-checkmark-transform: rotate(45deg);--lm-checkbox-checkmark-color: #ffffff;--dm-checkbox-checkmark-color: #ffffff;--radio-border-width: var(--base-border-width);--radio-border-radius: 50%;--radio-width-height: 1.6rem;--radio-line-height: var(--radio-width-height);--radio-label-padding-left: 2.5rem;--radio-label-blank-padding-left: var(--radio-width-height);--form-group-radio-margin: 0.8rem 0 0 0;--lm-radio-bg-color: #ffffff;--lm-radio-border-color: rgba(0, 0, 0, 0.3);--lm-radio-bg-color-hover: var(--lm-radio-bg-color);--lm-radio-border-color-hover: rgba(0, 0, 0, 0.4);--lm-radio-bg-color-checked: var(--primary-color);--lm-radio-border-color-checked: var(--primary-color);--lm-radio-border-color-focus: var(--lm-checkbox-border-color-focus);--lm-radio-box-shadow-focus: var(--lm-checkbox-box-shadow-focus);--lm-radio-border-color-checked-focus: var(--lm-checkbox-border-color-checked-focus);--lm-radio-box-shadow-checked-focus: var(--lm-checkbox-box-shadow-checked-focus);--dm-radio-bg-color: transparent;--dm-radio-border-color: rgba(255, 255, 255, 0.15);--dm-radio-bg-color-hover: var(--dm-radio-bg-color);--dm-radio-border-color-hover: rgba(255, 255, 255, 0.3);--dm-radio-bg-color-checked: var(--primary-color);--dm-radio-border-color-checked: var(--primary-color);--dm-radio-border-color-focus: var(--dm-checkbox-border-color-focus);--dm-radio-box-shadow-focus: var(--dm-checkbox-box-shadow-focus);--dm-radio-border-color-checked-focus: var(--dm-checkbox-border-color-checked-focus);--dm-radio-box-shadow-checked-focus: var(--dm-checkbox-box-shadow-checked-focus);--radio-checkmark-border-radius: var(--radio-border-radius);--radio-checkmark-top: 0.5rem;--radio-checkmark-left: 0.5rem;--radio-checkmark-width-height: 0.6rem;--lm-radio-checkmark-color: #ffffff;--dm-radio-checkmark-color: #ffffff;--switch-border-width: var(--base-border-width);--switch-border-radius: 2rem;--switch-width: 3.2rem;--switch-height: 2rem;--switch-line-height: var(--switch-height);--switch-label-padding-left: calc(var(--switch-width) + 0.8rem);--switch-label-blank-padding-left: var(--switch-width);--lm-switch-bg-color: #ffffff;--lm-switch-border-color: rgba(0, 0, 0, 0.3);--lm-switch-bg-color-hover: var(--lm-switch-bg-color);--lm-switch-border-color-hover: rgba(0, 0, 0, 0.4);--lm-switch-bg-color-checked: var(--primary-color);--lm-switch-border-color-checked: var(--primary-color);--lm-switch-border-color-focus: var(--lm-checkbox-border-color-focus);--lm-switch-box-shadow-focus: var(--lm-checkbox-box-shadow-focus);--lm-switch-border-color-checked-focus: var(--lm-checkbox-border-color-checked-focus);--lm-switch-box-shadow-checked-focus: var(--lm-checkbox-box-shadow-checked-focus);--dm-switch-bg-color: transparent;--dm-switch-border-color: rgba(255, 255, 255, 0.15);--dm-switch-bg-color-hover: var(--dm-switch-bg-color);--dm-switch-border-color-hover: rgba(255, 255, 255, 0.3);--dm-switch-bg-color-checked: var(--primary-color);--dm-switch-border-color-checked: var(--primary-color);--dm-switch-border-color-focus: var(--dm-checkbox-border-color-focus);--dm-switch-box-shadow-focus: var(--dm-checkbox-box-shadow-focus);--dm-switch-border-color-checked-focus: var(--lm-checkbox-border-color-checked-focus);--dm-switch-box-shadow-checked-focus: var(--lm-checkbox-box-shadow-checked-focus);--switch-slider-border-width: 0;--switch-slider-border-radius: 50%;--switch-slider-width-height: 1.2rem;--switch-slider-top: 0.4rem;--switch-slider-left: 0.5rem;--switch-slider-top-checked: var(--switch-slider-top);--switch-slider-left-checked: calc(var(--switch-width) - var(--switch-slider-width-height) - var(--switch-slider-left));--lm-switch-slider-bg-color: rgba(0, 0, 0, 0.2);--lm-switch-slider-border-color: var(--lm-switch-slider-bg-color);--lm-switch-slider-bg-color-checked: #ffffff;--lm-switch-slider-border-color-checked: var(--lm-switch-slider-bg-color-checked);--dm-switch-slider-bg-color: rgba(255, 255, 255, 0.15);--dm-switch-slider-border-color: var(--dm-switch-slider-bg-color);--dm-switch-slider-bg-color-checked: #ffffff;--dm-switch-slider-border-color-checked: var(--dm-switch-slider-bg-color-checked);--input-file-button-height: var(--button-height);--input-file-button-line-height: var(--input-file-button-height);--input-file-button-padding: var(--button-padding);--input-file-button-border-width: var(--button-border-width);--input-file-button-border-radius: var(--button-border-radius);--lm-input-file-button-text-color: var(--lm-button-text-color);--lm-input-file-button-bg-color: var(--lm-button-bg-color);--lm-input-file-button-bg-image: var(--lm-button-bg-image);--lm-input-file-button-border-color: var(--lm-button-border-color);--lm-input-file-button-box-shadow: var(--lm-button-box-shadow);--lm-input-file-button-text-color-hover: var(--lm-button-text-color-hover);--lm-input-file-button-bg-color-hover: var(--lm-button-bg-color-hover);--lm-input-file-button-bg-image-hover: var(--lm-button-bg-image-hover);--lm-input-file-button-border-color-hover: var(--lm-button-border-color-hover);--lm-input-file-button-box-shadow-hover: var(--lm-button-box-shadow-hover);--lm-input-file-button-text-color-focus: var(--lm-button-text-color-focus);--lm-input-file-button-bg-color-focus: var(--lm-button-bg-color-focus);--lm-input-file-button-bg-image-focus: var(--lm-button-bg-image-focus);--lm-input-file-button-border-color-focus: var(--lm-input-border-color-focus);--lm-input-file-button-box-shadow-focus: var(--lm-input-box-shadow-focus);--dm-input-file-button-text-color: var(--dm-button-text-color);--dm-input-file-button-bg-color: var(--dm-button-bg-color);--dm-input-file-button-bg-image: var(--dm-button-bg-image);--dm-input-file-button-border-color: var(--dm-button-border-color);--dm-input-file-button-box-shadow: var(--dm-button-box-shadow);--dm-input-file-button-text-color-hover: var(--dm-button-text-color-hover);--dm-input-file-button-bg-color-hover: var(--dm-button-bg-color-hover);--dm-input-file-button-bg-image-hover: var(--dm-button-bg-image-hover);--dm-input-file-button-border-color-hover: var(--dm-button-border-color-hover);--dm-input-file-button-box-shadow-hover: var(--dm-button-box-shadow-hover);--dm-input-file-button-text-color-focus: var(--dm-button-text-color-focus);--dm-input-file-button-bg-color-focus: var(--dm-button-bg-color-focus);--dm-input-file-button-bg-image-focus: var(--dm-button-bg-image-focus);--dm-input-file-button-border-color-focus: var(--dm-input-border-color-focus);--dm-input-file-button-box-shadow-focus: var(--dm-input-box-shadow-focus);--lm-input-file-button-invalid-text-color: var(--lm-input-file-button-text-color);--lm-input-file-button-invalid-bg-color: var(--lm-input-file-button-bg-color);--lm-input-file-button-invalid-bg-image: var(--lm-input-file-button-bg-image);--lm-input-file-button-invalid-border-color: var(--lm-input-invalid-border-color);--lm-input-file-button-invalid-box-shadow: var(--lm-input-file-button-box-shadow);--lm-input-file-button-invalid-text-color-hover: var(--lm-input-file-button-text-color-hover);--lm-input-file-button-invalid-bg-color-hover: var(--lm-input-file-button-bg-color-hover);--lm-input-file-button-invalid-bg-image-hover: var(--lm-input-file-button-bg-image-hover);--lm-input-file-button-invalid-border-color-hover: var(--lm-input-invalid-border-color-hover);--lm-input-file-button-invalid-box-shadow-hover: var(--lm-input-file-button-box-shadow-hover);--lm-input-file-button-invalid-text-color-focus: var(--lm-input-file-button-text-color-focus);--lm-input-file-button-invalid-bg-color-focus: var(--lm-input-file-button-bg-color-focus);--lm-input-file-button-invalid-bg-image-focus: var(--lm-input-file-button-bg-image-focus);--lm-input-file-button-invalid-border-color-focus: var(--lm-input-invalid-border-color-focus);--lm-input-file-button-invalid-box-shadow-focus: var(--lm-input-invalid-box-shadow-focus);--dm-input-file-button-invalid-text-color: var(--dm-input-file-button-text-color);--dm-input-file-button-invalid-bg-color: var(--dm-input-file-button-bg-color);--dm-input-file-button-invalid-bg-image: var(--dm-input-file-button-bg-image);--dm-input-file-button-invalid-border-color: var(--dm-input-invalid-border-color);--dm-input-file-button-invalid-box-shadow: var(--dm-input-file-button-box-shadow);--dm-input-file-button-invalid-text-color-hover: var(--dm-input-file-button-text-color-hover);--dm-input-file-button-invalid-bg-color-hover: var(--dm-input-file-button-bg-color-hover);--dm-input-file-button-invalid-bg-image-hover: var(--dm-input-file-button-bg-image-hover);--dm-input-file-button-invalid-border-color-hover: var(--dm-input-invalid-border-color-hover);--dm-input-file-button-invalid-box-shadow-hover: var(--dm-input-file-button-box-shadow-hover);--dm-input-file-button-invalid-text-color-focus: var(--dm-input-file-button-text-color-focus);--dm-input-file-button-invalid-bg-color-focus: var(--dm-input-file-button-bg-color-focus);--dm-input-file-button-invalid-bg-image-focus: var(--dm-input-file-button-bg-image-focus);--dm-input-file-button-invalid-border-color-focus: var(--dm-input-invalid-border-color-focus);--dm-input-file-button-invalid-box-shadow-focus: var(--dm-input-invalid-box-shadow-focus);--input-group-text-horizontal-padding: var(--input-horizontal-padding);--input-group-text-border-width: var(--input-border-width);--input-group-text-border-radius: var(--input-border-radius);--small-input-group-text-horizontal-padding: var(--small-input-horizontal-padding);--small-input-group-text-font-size: var(--small-input-font-size);--large-input-group-text-horizontal-padding: var(--large-input-horizontal-padding);--large-input-group-text-font-size: var(--large-input-font-size);--lm-input-group-text-text-color: var(--lm-base-text-color);--lm-input-group-text-bg-color: var(--gray-color-light);--lm-input-group-text-border-color: var(--lm-input-border-color);--dm-input-group-text-text-color: var(--dm-base-text-color);--dm-input-group-text-bg-color: rgba(255, 255, 255, 0.1);--dm-input-group-text-border-color: var(--dm-input-border-color);--lm-input-group-button-border-color: var(--lm-button-border-color);--lm-input-group-button-border-color-hover: var(--lm-button-border-color-hover);--lm-input-group-button-border-color-focus: var(--lm-button-border-color-focus);--dm-input-group-button-border-color: var(--dm-input-border-color);--dm-input-group-button-border-color-hover: var(--dm-input-group-button-border-color);--dm-input-group-button-border-color-focus: var(--dm-input-group-button-border-color);--lm-input-group-button-link-border-color: var(--lm-input-group-button-border-color);--lm-input-group-button-link-border-color-hover: var(--lm-input-group-button-link-border-color);--lm-input-group-button-link-border-color-focus: var(--lm-input-group-button-link-border-color);--dm-input-group-button-link-border-color: rgba(0, 0, 0, 0.2);--dm-input-group-button-link-border-color-hover: var(--dm-input-group-button-link-border-color);--dm-input-group-button-link-border-color-focus: var(--dm-input-group-button-link-border-color);--lm-input-group-button-primary-border-color: var(--lm-button-primary-border-color);--lm-input-group-button-primary-border-color-hover: var(--lm-button-primary-border-color-hover);--lm-input-group-button-primary-border-color-focus: var(--lm-button-primary-border-color-focus);--dm-input-group-button-primary-border-color: var(--dm-button-primary-border-color);--dm-input-group-button-primary-border-color-hover: var(--dm-button-primary-border-color-hover);--dm-input-group-button-primary-border-color-focus: var(--dm-button-primary-border-color-focus);--lm-input-group-button-success-border-color: var(--lm-button-success-border-color);--lm-input-group-button-success-border-color-hover: var(--lm-button-success-border-color-hover);--lm-input-group-button-success-border-color-focus: var(--lm-button-success-border-color-focus);--dm-input-group-button-success-border-color: var(--dm-button-success-border-color);--dm-input-group-button-success-border-color-hover: var(--dm-button-success-border-color-hover);--dm-input-group-button-success-border-color-focus: var(--dm-button-success-border-color-focus);--lm-input-group-button-secondary-border-color: var(--lm-button-secondary-border-color);--lm-input-group-button-secondary-border-color-hover: var(--lm-button-secondary-border-color-hover);--lm-input-group-button-secondary-border-color-focus: var(--lm-button-secondary-border-color-focus);--dm-input-group-button-secondary-border-color: var(--dm-button-secondary-border-color);--dm-input-group-button-secondary-border-color-hover: var(--dm-button-secondary-border-color-hover);--dm-input-group-button-secondary-border-color-focus: var(--dm-button-secondary-border-color-focus);--lm-input-group-button-danger-border-color: var(--lm-button-danger-border-color);--lm-input-group-button-danger-border-color-hover: var(--lm-button-danger-border-color-hover);--lm-input-group-button-danger-border-color-focus: var(--lm-button-danger-border-color-focus);--dm-input-group-button-danger-border-color: var(--dm-button-danger-border-color);--dm-input-group-button-danger-border-color-hover: var(--dm-button-danger-border-color-hover);--dm-input-group-button-danger-border-color-focus: var(--dm-button-danger-border-color-focus);--dropdown-menu-border-width: var(--base-border-width);--dropdown-menu-border-radius: var(--base-border-radius);--dropdown-menu-padding: 0.4rem;--dropdown-menu-min-width: 16.8rem;--lm-dropdown-menu-text-color: var(--lm-base-text-color);--lm-dropdown-menu-bg-color: var(--white-bg-color);--lm-dropdown-menu-bg-image: none;--lm-dropdown-menu-border-color: var(--gray-color-dark);--lm-dropdown-menu-box-shadow: var(--lm-shadow);--dm-dropdown-menu-text-color: var(--dm-base-text-color);--dm-dropdown-menu-bg-color: var(--dark-color);--dm-dropdown-menu-bg-image: none;--dm-dropdown-menu-border-color: var(--dark-color-dark);--dm-dropdown-menu-box-shadow: var(--dm-shadow);--dropdown-arrow-size: 0.8rem;--dropdown-arrow-size-negative: calc(var(--dropdown-arrow-size) * -1);--dropdown-arrow-inner-spacing: calc(0.2rem + (var(--dropdown-arrow-size) * -1));--dropdown-arrow-horizontal-spacing: 0.8rem;--dropdown-arrow-vertical-spacing: 0.8rem;--dropdown-content-padding: 1.2rem;--dropdown-divider-height: 1px;--lm-dropdown-divider-bg-color: var(--lm-horizontal-rule-color);--dm-dropdown-divider-bg-color: var(--dm-horizontal-rule-color);--dropdown-item-padding: 0.6rem var(--dropdown-content-padding);--dropdown-item-border-radius: 0.2rem;--lm-dropdown-item-text-color: var(--lm-dropdown-menu-text-color);--lm-dropdown-item-bg-color: transparent;--lm-dropdown-item-text-color-hover: var(--lm-dropdown-item-text-color);--lm-dropdown-item-bg-color-hover: rgba(0, 0, 0, 0.025);--dm-dropdown-item-text-color: var(--dm-dropdown-menu-text-color);--dm-dropdown-item-bg-color: transparent;--dm-dropdown-item-text-color-hover: var(--dm-dropdown-item-text-color);--dm-dropdown-item-bg-color-hover: rgba(255, 255, 255, 0.025);--dropdown-header-font-size: var(--base-font-size);--dropdown-header-font-weight: var(--content-title-font-weight);--dropdown-header-padding: var(--dropdown-item-padding);--dropdown-header-margin: 0;--lm-dropdown-header-text-color: var(--lm-muted-text-color);--dm-dropdown-header-text-color: var(--dm-muted-text-color);--lm-modal-overlay-bg-color: rgba(0, 0, 0, 0.8);--dm-modal-overlay-bg-color: rgba(0, 0, 0, 0.95);--modal-content-width: 40rem;--modal-content-padding: var(--content-and-card-spacing);--modal-content-padding-xs: var(--content-and-card-spacing-xs);--modal-content-border-width: var(--card-border-width);--modal-content-border-radius: var(--card-border-radius);--lm-modal-content-text-color: var(--lm-card-text-color);--lm-modal-content-bg-color: var(--lm-card-bg-color);--lm-modal-content-bg-image: var(--lm-card-bg-image);--lm-modal-content-border-color: var(--lm-card-border-color);--lm-modal-content-box-shadow: var(--lm-card-box-shadow);--dm-modal-content-text-color: var(--dm-card-text-color);--dm-modal-content-bg-color: var(--dm-card-bg-color);--dm-modal-content-bg-image: var(--dm-card-bg-image);--dm-modal-content-border-color: var(--dm-card-border-color);--dm-modal-content-box-shadow: var(--dm-card-box-shadow);--modal-title-font-size: var(--content-title-font-size);--modal-title-font-weight: var(--content-title-font-weight);--modal-full-content-padding: var(--modal-content-padding);--modal-full-content-padding-xs: var(--modal-content-padding-xs);--lm-modal-full-content-text-color: var(--lm-modal-content-text-color);--lm-modal-full-content-bg-color: var(--lm-modal-content-bg-color);--lm-modal-full-content-bg-image: var(--lm-modal-content-bg-image);--dm-modal-full-content-text-color: var(--dm-modal-content-text-color);--dm-modal-full-content-bg-color: var(--dm-modal-content-bg-color);--dm-modal-full-content-bg-image: var(--dm-modal-content-bg-image);--modal-close-font-size: 2rem;--modal-close-width-height: 4rem;--modal-close-border-radius: 50%;--modal-close-outline-width: 2px;--modal-close-outline-type: solid;--modal-close-outline-offset: var(--button-outline-offset);--lm-modal-close-text-color: #ffffff;--lm-modal-close-bg-color: rgba(0, 0, 0, 0.7);--lm-modal-close-text-color-hover: #ffffff;--lm-modal-close-bg-color-hover: rgba(0, 0, 0, 0.6);--lm-modal-close-outline-color-focus: var(--primary-box-shadow-color);--dm-modal-close-text-color: #ffffff;--dm-modal-close-bg-color: rgba(255, 255, 255, 0.1);--dm-modal-close-text-color-hover: #ffffff;--dm-modal-close-bg-color-hover: rgba(255, 255, 255, 0.2);--dm-modal-close-outline-color-focus: var(--primary-box-shadow-color);--alert-padding: 1rem 2rem;--alert-border-width: var(--base-border-width);--alert-border-radius: var(--base-border-radius);--lm-alert-text-color: var(--lm-base-text-color);--lm-alert-bg-color: var(--white-bg-color);--lm-alert-bg-image: none;--lm-alert-border-color: rgba(0, 0, 0, 0.2);--dm-alert-text-color: var(--dm-base-text-color);--dm-alert-bg-color: var(--dark-color);--dm-alert-bg-image: none;--dm-alert-border-color: rgba(255, 255, 255, 0.1);--alert-heading-font-size: 1.6rem;--alert-heading-font-weight: var(--content-title-font-weight);--alert-heading-margin: 0 0 0.5rem 0;--alert-close-font-size: 1.6rem;--alert-close-padding: 0.4rem 0.6rem;--alert-close-line-height: 1;--alert-close-outline-width: 2px;--alert-close-outline-type: solid;--alert-close-outline-offset: var(--button-outline-offset);--lm-alert-close-outline-color-focus: rgba(0, 0, 0, 0.5);--dm-alert-close-outline-color-focus: rgba(255, 255, 255, 0.5);--sticky-alert-width: 27rem;--sticky-alert-box-shadow: 0 0.2rem 0 rgba(0, 0, 0, 0.045);--lm-alert-primary-text-color: var(--lm-alert-text-color);--lm-alert-primary-bg-color: var(--primary-color-very-light);--lm-alert-primary-bg-image: none;--lm-alert-primary-border-color: var(--primary-color);--lm-alert-success-text-color: var(--lm-alert-text-color);--lm-alert-success-bg-color: var(--success-color-very-light);--lm-alert-success-bg-image: none;--lm-alert-success-border-color: var(--success-color);--lm-alert-secondary-text-color: var(--lm-alert-text-color);--lm-alert-secondary-bg-color: var(--secondary-color-very-light);--lm-alert-secondary-bg-image: none;--lm-alert-secondary-border-color: var(--secondary-color);--lm-alert-danger-text-color: var(--lm-alert-text-color);--lm-alert-danger-bg-color: var(--danger-color-very-light);--lm-alert-danger-bg-image: none;--lm-alert-danger-border-color: var(--danger-color);--dm-alert-primary-text-color: var(--primary-color);--dm-alert-primary-bg-color: var(--primary-color-very-dark);--dm-alert-primary-bg-image: none;--dm-alert-primary-border-color: var(--primary-color-dark);--dm-alert-success-text-color: var(--success-color);--dm-alert-success-bg-color: var(--success-color-very-dark);--dm-alert-success-bg-image: none;--dm-alert-success-border-color: var(--success-color-dark);--dm-alert-secondary-text-color: var(--secondary-color);--dm-alert-secondary-bg-color: var(--secondary-color-very-dark);--dm-alert-secondary-bg-image: none;--dm-alert-secondary-border-color: var(--secondary-color-dark);--dm-alert-danger-text-color: var(--danger-color);--dm-alert-danger-bg-color: var(--danger-color-very-dark);--dm-alert-danger-bg-image: none;--dm-alert-danger-border-color: var(--danger-color-dark);--lm-alert-filled-primary-text-color: var(--text-color-on-primary-color-bg);--lm-alert-filled-primary-bg-color: var(--primary-color);--lm-alert-filled-primary-bg-image: none;--lm-alert-filled-primary-border-color: var(--primary-color);--lm-alert-filled-success-text-color: var(--text-color-on-success-color-bg);--lm-alert-filled-success-bg-color: var(--success-color);--lm-alert-filled-success-bg-image: none;--lm-alert-filled-success-border-color: var(--success-color);--lm-alert-filled-secondary-text-color: var(--text-color-on-secondary-color-bg);--lm-alert-filled-secondary-bg-color: var(--secondary-color);--lm-alert-filled-secondary-bg-image: none;--lm-alert-filled-secondary-border-color: var(--secondary-color);--lm-alert-filled-danger-text-color: var(--text-color-on-danger-color-bg);--lm-alert-filled-danger-bg-color: var(--danger-color);--lm-alert-filled-danger-bg-image: none;--lm-alert-filled-danger-border-color: var(--danger-color);--dm-alert-filled-primary-text-color: var(--text-color-on-primary-color-bg);--dm-alert-filled-primary-bg-color: var(--primary-color);--dm-alert-filled-primary-bg-image: none;--dm-alert-filled-primary-border-color: var(--primary-color);--dm-alert-filled-success-text-color: var(--text-color-on-success-color-bg);--dm-alert-filled-success-bg-color: var(--success-color);--dm-alert-filled-success-bg-image: none;--dm-alert-filled-success-border-color: var(--success-color);--dm-alert-filled-secondary-text-color: var(--text-color-on-secondary-color-bg);--dm-alert-filled-secondary-bg-color: var(--secondary-color);--dm-alert-filled-secondary-bg-image: none;--dm-alert-filled-secondary-border-color: var(--secondary-color);--dm-alert-filled-danger-text-color: var(--text-color-on-danger-color-bg);--dm-alert-filled-danger-bg-color: var(--danger-color);--dm-alert-filled-danger-bg-image: none;--dm-alert-filled-danger-border-color: var(--danger-color);--navbar-container-horizontal-padding: calc(var(--content-and-card-spacing) - var(--navbar-horizontal-padding));--navbar-container-horizontal-padding-xs: calc(var(--content-and-card-spacing-xs) - var(--navbar-horizontal-padding));--navbar-content-horizontal-margin: 1.5rem;--lm-navbar-text-color: var(--lm-base-text-color-light);--dm-navbar-text-color: var(--dm-base-text-color-light);--navbar-link-horizontal-padding: var(--navbar-content-horizontal-margin);--lm-navbar-link-text-color: var(--lm-base-text-color);--lm-navbar-link-bg-color: transparent;--lm-navbar-link-text-color-hover: var(--primary-color);--lm-navbar-link-bg-color-hover: var(--lm-navbar-link-bg-color);--dm-navbar-link-text-color: var(--dm-base-text-color);--dm-navbar-link-bg-color: transparent;--dm-navbar-link-text-color-hover: var(--primary-color);--dm-navbar-link-bg-color-hover: var(--dm-navbar-link-bg-color);--lm-navbar-link-active-text-color: var(--primary-color);--lm-navbar-link-active-bg-color: var(--lm-navbar-link-bg-color);--lm-navbar-link-active-text-color-hover: var(--primary-color-light);--lm-navbar-link-active-bg-color-hover: var(--lm-navbar-link-bg-color-hover);--dm-navbar-link-active-text-color: var(--primary-color);--dm-navbar-link-active-bg-color: var(--dm-navbar-link-bg-color);--dm-navbar-link-active-text-color-hover: var(--primary-color-light);--dm-navbar-link-active-bg-color-hover: var(--dm-navbar-link-bg-color-hover);--navbar-brand-font-size: 2rem;--navbar-brand-font-weight: 500;--navbar-brand-image-height: 2.2rem;--navbar-brand-image-margin-right: 1rem;--lm-navbar-brand-text-color: var(--lm-base-text-color);--lm-navbar-brand-text-color-hover: var(--lm-base-text-color-light);--dm-navbar-brand-text-color: var(--dm-base-text-color);--dm-navbar-brand-text-color-hover: var(--dm-base-text-color-light);--navbar-action-button-width: 3.6rem;--navbar-action-button-horizontal-padding: 0;--navbar-input-min-width: 12rem;--navbar-input-group-min-width: 20rem;--navbar-input-min-width-xs: 10rem;--navbar-input-group-min-width-xs: 18rem;--sidebar-menu-vertical-margin: 2.5rem;--sidebar-item-horizontal-spacing: 2.5rem;--sidebar-item-vertical-spacing: 0.5rem;--sidebar-content-padding: 0;--sidebar-content-margin: var(--sidebar-menu-vertical-margin) var(--sidebar-item-horizontal-spacing);--sidebar-link-height: 3rem;--sidebar-link-padding: var(--sidebar-item-vertical-spacing) var(--sidebar-item-horizontal-spacing);--sidebar-link-margin: 0;--sidebar-link-border-width: 0;--sidebar-link-border-radius: 0;--lm-sidebar-link-text-color: var(--lm-base-text-color-light);--lm-sidebar-link-bg-color: transparent;--lm-sidebar-link-border-color: transparent;--lm-sidebar-link-text-color-hover: var(--lm-base-text-color);--lm-sidebar-link-bg-color-hover: transparent;--lm-sidebar-link-border-color-hover: transparent;--lm-sidebar-link-text-color-active: var(--primary-color);--lm-sidebar-link-bg-color-active: transparent;--lm-sidebar-link-border-color-active: transparent;--lm-sidebar-link-text-color-active-hover: var(--primary-color-light);--lm-sidebar-link-bg-color-active-hover: transparent;--lm-sidebar-link-border-color-active-hover: transparent;--dm-sidebar-link-text-color: var(--dm-base-text-color-light);--dm-sidebar-link-bg-color: transparent;--dm-sidebar-link-border-color: transparent;--dm-sidebar-link-text-color-hover: var(--dm-base-text-color);--dm-sidebar-link-bg-color-hover: transparent;--dm-sidebar-link-border-color-hover: transparent;--dm-sidebar-link-text-color-active: var(--primary-color);--dm-sidebar-link-bg-color-active: transparent;--dm-sidebar-link-border-color-active: transparent;--dm-sidebar-link-text-color-active-hover: var(--primary-color-light);--dm-sidebar-link-bg-color-active-hover: transparent;--dm-sidebar-link-border-color-active-hover: transparent;--sidebar-divider-height: 1px;--sidebar-divider-padding: 0;--sidebar-divider-margin: var(--sidebar-item-vertical-spacing) var(--sidebar-item-horizontal-spacing);--lm-sidebar-divider-bg-color: var(--lm-horizontal-rule-color);--dm-sidebar-divider-bg-color: var(--dm-horizontal-rule-color);--sidebar-title-padding: 0;--sidebar-title-margin: var(--sidebar-item-vertical-spacing) var(--sidebar-item-horizontal-spacing);--sidebar-title-font-size: 1.5rem;--sidebar-title-font-weight: var(--content-title-font-weight);--lm-sidebar-title-text-color: var(--lm-base-text-color);--dm-sidebar-title-text-color: var(--dm-base-text-color);--sidebar-icon-width-height: 3rem;--sidebar-icon-font-size: 1.6rem;--sidebar-icon-margin-right: 1rem;--sidebar-icon-border-width: 0;--sidebar-icon-border-radius: var(--base-border-radius);--lm-sidebar-icon-text-color: var(--lm-base-text-color-light);--lm-sidebar-icon-bg-color: rgba(0, 0, 0, 0.05);--lm-sidebar-icon-border-color: transparent;--lm-sidebar-icon-text-color-hover: var(--lm-base-text-color);--lm-sidebar-icon-bg-color-hover: var(--lm-sidebar-icon-bg-color);--lm-sidebar-icon-border-color-hover: var(--lm-sidebar-icon-border-color);--lm-sidebar-icon-text-color-active: var(--lm-sidebar-icon-text-color);--lm-sidebar-icon-bg-color-active: var(--lm-sidebar-icon-bg-color);--lm-sidebar-icon-border-color-active: var(--lm-sidebar-icon-border-color);--lm-sidebar-icon-text-color-active-hover: var(--lm-sidebar-icon-text-color-hover);--lm-sidebar-icon-bg-color-active-hover: var(--lm-sidebar-icon-bg-color-hover);--lm-sidebar-icon-border-color-active-hover: var(--lm-sidebar-icon-border-color-hover);--dm-sidebar-icon-text-color: var(--dm-base-text-color-light);--dm-sidebar-icon-bg-color: rgba(255, 255, 255, 0.05);--dm-sidebar-icon-border-color: transparent;--dm-sidebar-icon-text-color-hover: var(--dm-base-text-color);--dm-sidebar-icon-bg-color-hover: var(--dm-sidebar-icon-bg-color);--dm-sidebar-icon-border-color-hover: var(--dm-sidebar-icon-border-color);--dm-sidebar-icon-text-color-active: var(--dm-sidebar-icon-text-color);--dm-sidebar-icon-bg-color-active: var(--dm-sidebar-icon-bg-color);--dm-sidebar-icon-border-color-active: var(--dm-sidebar-icon-border-color);--dm-sidebar-icon-text-color-active-hover: var(--dm-sidebar-icon-text-color-hover);--dm-sidebar-icon-bg-color-active-hover: var(--dm-sidebar-icon-bg-color-hover);--dm-sidebar-icon-border-color-active-hover: var(--dm-sidebar-icon-border-color-hover);--sidebar-brand-padding: 0;--sidebar-brand-margin: var(--sidebar-item-vertical-spacing) var(--sidebar-item-horizontal-spacing);--sidebar-brand-font-size: var(--navbar-brand-font-size);--sidebar-brand-font-weight: var(--navbar-brand-font-weight);--sidebar-brand-image-height: var(--navbar-brand-image-height);--sidebar-brand-image-margin-right: var(--navbar-brand-image-margin-right);--lm-sidebar-brand-text-color: var(--lm-base-text-color);--lm-sidebar-brand-text-color-hover: var(--lm-base-text-color-light);--dm-sidebar-brand-text-color: var(--dm-base-text-color);--dm-sidebar-brand-text-color-hover: var(--dm-base-text-color-light);--pagination-item-padding: 0 0.5rem;--pagination-item-margin: 0 0.2rem 0.5rem 0;--pagination-item-font-size: var(--base-font-size);--pagination-item-width: 3.5rem;--pagination-item-height: var(--pagination-item-width);--pagination-item-line-height: var(--pagination-item-height);--pagination-item-border-width: var(--button-border-width);--pagination-item-border-radius: var(--button-border-radius);--large-pagination-item-padding: var(--pagination-item-padding);--large-pagination-item-margin: var(--pagination-item-margin);--large-pagination-item-font-size: var(--large-button-font-size);--large-pagination-item-width: 4.2rem;--large-pagination-item-height: var(--large-pagination-item-width);--large-pagination-item-line-height: var(--large-pagination-item-height);--small-pagination-item-padding: var(--pagination-item-padding);--small-pagination-item-margin: var(--pagination-item-margin);--small-pagination-item-font-size: var(--small-button-font-size);--small-pagination-item-width: 2.8rem;--small-pagination-item-height: var(--small-pagination-item-width);--small-pagination-item-line-height: var(--small-pagination-item-height);--lm-pagination-item-text-color: var(--lm-button-text-color);--lm-pagination-item-bg-color: var(--lm-button-bg-color);--lm-pagination-item-bg-image: var(--lm-button-bg-image);--lm-pagination-item-border-color: var(--lm-button-border-color);--lm-pagination-item-box-shadow: var(--lm-button-box-shadow);--lm-pagination-item-text-color-hover: var(--lm-button-text-color-hover);--lm-pagination-item-bg-color-hover: var(--lm-button-bg-color-hover);--lm-pagination-item-bg-image-hover: var(--lm-button-bg-image-hover);--lm-pagination-item-border-color-hover: var(--lm-button-border-color-hover);--lm-pagination-item-box-shadow-hover: var(--lm-button-box-shadow-hover);--lm-pagination-item-text-color-active: var(--lm-button-primary-text-color);--lm-pagination-item-bg-color-active: var(--lm-button-primary-bg-color);--lm-pagination-item-bg-image-active: var(--lm-button-primary-bg-image);--lm-pagination-item-border-color-active: var(--lm-button-primary-border-color);--lm-pagination-item-box-shadow-active: var(--lm-button-primary-box-shadow);--dm-pagination-item-text-color: var(--dm-button-text-color);--dm-pagination-item-bg-color: var(--dm-button-bg-color);--dm-pagination-item-bg-image: var(--dm-button-bg-image);--dm-pagination-item-border-color: var(--dm-button-border-color);--dm-pagination-item-box-shadow: var(--dm-button-box-shadow);--dm-pagination-item-text-color-hover: var(--dm-button-text-color-hover);--dm-pagination-item-bg-color-hover: var(--dm-button-bg-color-hover);--dm-pagination-item-bg-image-hover: var(--dm-button-bg-image-hover);--dm-pagination-item-border-color-hover: var(--dm-button-border-color-hover);--dm-pagination-item-box-shadow-hover: var(--dm-button-box-shadow-hover);--dm-pagination-item-text-color-active: var(--dm-button-primary-text-color);--dm-pagination-item-bg-color-active: var(--dm-button-primary-bg-color);--dm-pagination-item-bg-image-active: var(--dm-button-primary-bg-image);--dm-pagination-item-border-color-active: var(--dm-button-primary-border-color);--dm-pagination-item-box-shadow-active: var(--dm-button-primary-box-shadow);--breadcrumb-padding: 0;--breadcrumb-border-width: 0;--breadcrumb-border-radius: 0;--lm-breadcrumb-bg-color: transparent;--lm-breadcrumb-border-color: transparent;--dm-breadcrumb-bg-color: transparent;--dm-breadcrumb-border-color: transparent;--breadcrumb-separator-content: "\002F";--breadcrumb-separator-margin-left: 1rem;--breadcrumb-separator-margin-right: 1.5rem;--tooltip-arrow-width: 1rem;--tooltip-arrow-height: var(--tooltip-arrow-width);--tooltip-font-size: 1.2rem;--tooltip-line-height: var(--base-line-height);--tooltip-padding: 0.5rem 1rem;--tooltip-width: 10rem;--lm-tooltip-text-color: var(--dm-base-text-color);--lm-tooltip-bg-color: var(--dark-color);--dm-tooltip-text-color: var(--lm-base-text-color);--dm-tooltip-bg-color: var(--white-bg-color);--badge-font-size: 1.2rem;--badge-line-height: 1.2;--badge-padding: 0.2rem 0.8rem;--badge-border-width: var(--base-border-width);--badge-border-radius: var(--base-border-radius);--badge-pill-border-radius: 3rem;--lm-badge-text-color: var(--lm-base-text-color);--lm-badge-bg-color: #ffffff;--lm-badge-border-color: rgba(0, 0, 0, 0.2);--dm-badge-text-color: var(--dm-base-text-color);--dm-badge-bg-color: transparent;--dm-badge-border-color: rgba(255, 255, 255, 0.2);--lm-badge-primary-text-color: var(--text-color-on-primary-color-bg);--lm-badge-primary-bg-color: var(--primary-color);--lm-badge-primary-border-color: var(--primary-color);--lm-badge-success-text-color: var(--text-color-on-success-color-bg);--lm-badge-success-bg-color: var(--success-color);--lm-badge-success-border-color: var(--success-color);--lm-badge-secondary-text-color: var(--text-color-on-secondary-color-bg);--lm-badge-secondary-bg-color: var(--secondary-color);--lm-badge-secondary-border-color: var(--secondary-color);--lm-badge-danger-text-color: var(--text-color-on-danger-color-bg);--lm-badge-danger-bg-color: var(--danger-color);--lm-badge-danger-border-color: var(--danger-color);--dm-badge-primary-text-color: var(--text-color-on-primary-color-bg);--dm-badge-primary-bg-color: var(--primary-color);--dm-badge-primary-border-color: var(--primary-color);--dm-badge-success-text-color: var(--text-color-on-success-color-bg);--dm-badge-success-bg-color: var(--success-color);--dm-badge-success-border-color: var(--success-color);--dm-badge-secondary-text-color: var(--text-color-on-secondary-color-bg);--dm-badge-secondary-bg-color: var(--secondary-color);--dm-badge-secondary-border-color: var(--secondary-color);--dm-badge-danger-text-color: var(--text-color-on-danger-color-bg);--dm-badge-danger-bg-color: var(--danger-color);--dm-badge-danger-border-color: var(--danger-color);--lm-link-badge-text-color-hover: var(--lm-badge-text-color);--lm-link-badge-bg-color-hover: var(--gray-color-very-light);--lm-link-badge-border-color-hover: var(--lm-badge-border-color);--lm-link-badge-primary-text-color-hover: var(--lm-badge-primary-text-color);--lm-link-badge-primary-bg-color-hover: var(--primary-color-light);--lm-link-badge-primary-border-color-hover: var(--primary-color-light);--lm-link-badge-success-text-color-hover: var(--lm-badge-success-text-color);--lm-link-badge-success-bg-color-hover: var(--success-color-light);--lm-link-badge-success-border-color-hover: var(--success-color-light);--lm-link-badge-secondary-text-color-hover: var(--lm-badge-secondary-text-color);--lm-link-badge-secondary-bg-color-hover: var(--secondary-color-light);--lm-link-badge-secondary-border-color-hover: var(--secondary-color-light);--lm-link-badge-danger-text-color-hover: var(--lm-badge-danger-text-color);--lm-link-badge-danger-bg-color-hover: var(--danger-color-light);--lm-link-badge-danger-border-color-hover: var(--danger-color-light);--dm-link-badge-text-color-hover: var(--dm-badge-text-color);--dm-link-badge-bg-color-hover: rgba(255, 255, 255, 0.025);--dm-link-badge-border-color-hover: var(--dm-badge-border-color);--dm-link-badge-primary-text-color-hover: var(--dm-badge-primary-text-color);--dm-link-badge-primary-bg-color-hover: var(--primary-color-light);--dm-link-badge-primary-border-color-hover: var(--primary-color-light);--dm-link-badge-success-text-color-hover: var(--dm-badge-success-text-color);--dm-link-badge-success-bg-color-hover: var(--success-color-light);--dm-link-badge-success-border-color-hover: var(--success-color-light);--dm-link-badge-secondary-text-color-hover: var(--dm-badge-secondary-text-color);--dm-link-badge-secondary-bg-color-hover: var(--secondary-color-light);--dm-link-badge-secondary-border-color-hover: var(--secondary-color-light);--dm-link-badge-danger-text-color-hover: var(--dm-badge-danger-text-color);--dm-link-badge-danger-bg-color-hover: var(--danger-color-light);--dm-link-badge-danger-border-color-hover: var(--danger-color-light);--lm-button-group-button-border-color: var(--lm-button-border-color);--lm-button-group-button-border-color-hover: var(--lm-button-border-color-hover);--lm-button-group-button-border-color-focus: var(--lm-button-border-color-focus);--dm-button-group-button-border-color: rgba(0, 0, 0, 0.3);--dm-button-group-button-border-color-hover: var(--dm-button-group-button-border-color);--dm-button-group-button-border-color-focus: var(--dm-button-group-button-border-color);--lm-button-group-button-link-border-color: var(--lm-button-group-button-border-color);--lm-button-group-button-link-border-color-hover: var(--lm-button-group-button-link-border-color);--lm-button-group-button-link-border-color-focus: var(--lm-button-group-button-link-border-color);--dm-button-group-button-link-border-color: rgba(0, 0, 0, 0.3);--dm-button-group-button-link-border-color-hover: var(--dm-button-group-button-link-border-color);--dm-button-group-button-link-border-color-focus: var(--dm-button-group-button-link-border-color);--lm-button-group-button-primary-border-color: var(--lm-button-primary-border-color);--lm-button-group-button-primary-border-color-hover: var(--lm-button-primary-border-color-hover);--lm-button-group-button-primary-border-color-focus: var(--lm-button-primary-border-color-focus);--dm-button-group-button-primary-border-color: var(--dm-button-primary-border-color);--dm-button-group-button-primary-border-color-hover: var(--dm-button-primary-border-color-hover);--dm-button-group-button-primary-border-color-focus: var(--dm-button-primary-border-color-focus);--lm-button-group-button-success-border-color: var(--lm-button-success-border-color);--lm-button-group-button-success-border-color-hover: var(--lm-button-success-border-color-hover);--lm-button-group-button-success-border-color-focus: var(--lm-button-success-border-color-focus);--dm-button-group-button-success-border-color: var(--dm-button-success-border-color);--dm-button-group-button-success-border-color-hover: var(--dm-button-success-border-color-hover);--dm-button-group-button-success-border-color-focus: var(--dm-button-success-border-color-focus);--lm-button-group-button-secondary-border-color: var(--lm-button-secondary-border-color);--lm-button-group-button-secondary-border-color-hover: var(--lm-button-secondary-border-color-hover);--lm-button-group-button-secondary-border-color-focus: var(--lm-button-secondary-border-color-focus);--dm-button-group-button-secondary-border-color: var(--dm-button-secondary-border-color);--dm-button-group-button-secondary-border-color-hover: var(--dm-button-secondary-border-color-hover);--dm-button-group-button-secondary-border-color-focus: var(--dm-button-secondary-border-color-focus);--lm-button-group-button-danger-border-color: var(--lm-button-danger-border-color);--lm-button-group-button-danger-border-color-hover: var(--lm-button-danger-border-color-hover);--lm-button-group-button-danger-border-color-focus: var(--lm-button-danger-border-color-focus);--dm-button-group-button-danger-border-color: var(--dm-button-danger-border-color);--dm-button-group-button-danger-border-color-hover: var(--dm-button-danger-border-color-hover);--dm-button-group-button-danger-border-color-focus: var(--dm-button-danger-border-color-focus);--button-toolbar-input-group-min-width: 20rem;--button-toolbar-input-group-min-width-xs: 18rem;--collapse-header-padding: 1.2rem 2rem;--collapse-header-font-size: var(--base-font-size);--collapse-header-border-radius: var(--base-border-radius);--collapse-header-border-width: var(--base-border-width);--lm-collapse-header-text-color: var(--lm-base-text-color);--lm-collapse-header-bg-color: var(--gray-color-very-light);--lm-collapse-header-border-color: rgba(0, 0, 0, 0.2);--lm-collapse-header-box-shadow: none;--lm-collapse-header-text-color-focus: var(--lm-collapse-header-text-color);--lm-collapse-header-bg-color-focus: var(--lm-collapse-header-bg-color);--lm-collapse-header-border-color-focus: var(--lm-collapse-header-border-color);--lm-collapse-header-box-shadow-focus: var(--lm-collapse-header-box-shadow);--lm-collapse-header-outline-focus: none;--dm-collapse-header-text-color: var(--dm-base-text-color);--dm-collapse-header-bg-color: rgba(255, 255, 255, 0.02);--dm-collapse-header-border-color: var(--gray-color-very-dark);--dm-collapse-header-box-shadow: none;--dm-collapse-header-text-color-focus: var(--dm-collapse-header-text-color);--dm-collapse-header-bg-color-focus: var(--dm-collapse-header-bg-color);--dm-collapse-header-border-color-focus: var(--dm-collapse-header-border-color);--dm-collapse-header-box-shadow-focus: var(--dm-collapse-header-box-shadow);--dm-collapse-header-outline-focus: none;--lm-open-collapse-header-text-color: var(--lm-collapse-header-text-color);--lm-open-collapse-header-bg-color: var(--lm-collapse-header-bg-color);--lm-open-collapse-header-border-color: var(--lm-collapse-header-border-color);--lm-open-collapse-header-box-shadow: var(--lm-collapse-header-box-shadow);--lm-open-collapse-header-text-color-focus: var(--lm-collapse-header-text-color-focus);--lm-open-collapse-header-bg-color-focus: var(--lm-collapse-header-bg-color-focus);--lm-open-collapse-header-border-color-focus: var(--lm-collapse-header-border-color-focus);--lm-open-collapse-header-box-shadow-focus: var(--lm-collapse-header-box-shadow-focus);--lm-open-collapse-header-outline-focus: var(--lm-collapse-header-outline-focus);--dm-open-collapse-header-text-color: var(--dm-collapse-header-text-color);--dm-open-collapse-header-bg-color: var(--dm-collapse-header-bg-color);--dm-open-collapse-header-border-color: var(--dm-collapse-header-border-color);--dm-open-collapse-header-box-shadow: var(--dm-collapse-header-box-shadow);--dm-open-collapse-header-text-color-focus: var(--dm-collapse-header-text-color-focus);--dm-open-collapse-header-bg-color-focus: var(--dm-collapse-header-bg-color-focus);--dm-open-collapse-header-border-color-focus: var(--dm-collapse-header-border-color-focus);--dm-open-collapse-header-box-shadow-focus: var(--dm-collapse-header-box-shadow-focus);--dm-open-collapse-header-outline-focus: var(--dm-collapse-header-outline-focus);--collapse-header-padding-with-bg-image: 1.2rem 2rem 1.2rem 4.4rem;--collapse-header-bg-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAUCAYAAAC58NwRAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5AgHFAwNJY24UQAAAJVJREFUKM+lk8ENgzAMRZ9hgS4SiRFgDN+6QifpCD1mDFbIIQuwASNwcaSqKsEW/5RI/1n+jiMAqvoE3sCScy50JGb+2H2/ggar3PQAVlWdesBilV2QWIYJWM1Mrz1pBy8k37QHkt8eryD5F6wHydn4zqCBoO63FAodGmvo4UKrETG3bXWbG/DymgHGWmtJKW3A7PmiB2rUYYave/NSAAAAAElFTkSuQmCC);--collapse-header-bg-size: 0.6rem;--collapse-header-bg-repeat: no-repeat;--collapse-header-bg-position: 2rem center;--open-collapse-header-padding-with-bg-image: var(--collapse-header-padding-with-bg-image);--open-collapse-header-bg-image: var(--select-bg-image);--open-collapse-header-bg-size: 1rem;--open-collapse-header-bg-repeat: var(--collapse-header-bg-repeat);--open-collapse-header-bg-position: var(--collapse-header-bg-position);--collapse-header-focus-effect-display: block;--collapse-header-focus-effect-top: 0.2rem;--collapse-header-focus-effect-left: var(--collapse-header-focus-effect-top);--collapse-header-focus-effect-width: calc(100% - (2 * var(--collapse-header-focus-effect-left)));--collapse-header-focus-effect-height: calc(100% - (2 * var(--collapse-header-focus-effect-top)));--collapse-header-focus-effect-border-radius: var(--base-border-radius);--lm-collapse-header-focus-effect-box-shadow: inset 0 0 0 0.2rem var(--primary-color-light);--dm-collapse-header-focus-effect-box-shadow: inset 0 0 0 0.2rem var(--primary-color-dark);--collapse-content-padding: 2rem;--collapse-content-font-size: var(--base-font-size);--collapse-content-border-radius: var(--base-border-radius);--collapse-content-border-width: var(--base-border-width);--lm-collapse-content-text-color: var(--lm-base-text-color);--lm-collapse-content-bg-color: transparent;--lm-collapse-content-border-color: var(--lm-collapse-header-border-color);--lm-collapse-content-box-shadow: none;--dm-collapse-content-text-color: var(--dm-base-text-color);--dm-collapse-content-bg-color: transparent;--dm-collapse-content-border-color: var(--dm-collapse-header-border-color);--dm-collapse-content-box-shadow: none;--progress-height: 0.8rem;--progress-font-size: 1.2rem;--progress-line-height: 0;--progress-border-radius: 3.2rem;--lm-progress-bg-color: rgba(0, 0, 0, 0.1);--dm-progress-bg-color: rgba(255, 255, 255, 0.1);--lm-progress-bar-text-color: #ffffff;--lm-progress-bar-bg-color: var(--primary-color);--dm-progress-bar-text-color: var(--lm-progress-bar-text-color);--dm-progress-bar-bg-color: var(--lm-progress-bar-bg-color);--progress-group-item-margin: 0.4rem;--progress-group-label-font-size: var(--base-font-size);--lm-progress-bar-animated-highlight-bg-color: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.3));--lm-progress-bar-animated-highlight-dark-bg-color: linear-gradient(to right, transparent, rgba(0, 0, 0, 0.1));--dm-progress-bar-animated-highlight-bg-color: var(--lm-progress-bar-animated-highlight-bg-color);--dm-progress-bar-animated-highlight-dark-bg-color: linear-gradient(to right, transparent, rgba(0, 0, 0, 0.2))}html{line-height:1.15;-webkit-text-size-adjust:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-size:var(--base-html-font-size)}body{background-color:var(--lm-base-body-bg-color);background-image:var(--lm-base-body-bg-image);color:var(--lm-base-text-color);font-size:var(--base-font-size);line-height:var(--base-line-height);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-weight:400}details,main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;overflow:visible;height:1px;color:var(--lm-horizontal-rule-color);background-color:var(--lm-horizontal-rule-color);border:0}code,kbd,pre,samp{font-size:1em}pre,samp{font-family:monospace,monospace}a{background-color:transparent;color:var(--lm-link-text-color);text-decoration:none}abbr[title]{border-bottom:none;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0;border-width:0}legend{color:inherit;display:table;max-width:100%;white-space:normal;display:block;margin-bottom:var(--legend-margin-bottom)}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio],legend{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}[hidden],template{display:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*,:after,:before{-webkit-box-sizing:inherit;-moz-box-sizing:inherit;box-sizing:inherit}@media (min-width:1600px){html{font-size:var(--base-html-font-size-1600)}}@media (min-width:1920px){html{font-size:var(--base-html-font-size-1920)}}@media (min-width:1600px){html.auto-scaling-disabled{font-size:var(--base-html-font-size)}}@media (min-width:1920px){html.auto-scaling-disabled{font-size:var(--base-html-font-size)}}.dark-mode{background-color:var(--dm-base-body-bg-color);background-image:var(--dm-base-body-bg-image);color:var(--dm-base-text-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dark-mode hr{color:var(--dm-horizontal-rule-color);background-color:var(--dm-horizontal-rule-color)}h1,h2,h3,h4,h5,h6{margin-top:1rem;margin-bottom:2rem;font-weight:var(--heading-font-weight)}h1{font-size:4rem;line-height:1.3}h2{font-size:3.6rem;line-height:1.35}h3{font-size:3rem;line-height:1.4}h4{font-size:2.4rem;line-height:1.45}h5{font-size:1.8rem}h6{font-size:1.5rem}@media (min-width:769px){.with-custom-webkit-scrollbars ::-webkit-scrollbar{width:var(--webkit-scrollbar-width-height);height:var(--webkit-scrollbar-width-height);background-color:var(--lm-webkit-scrollbar-bg-color)}.dark-mode.with-custom-webkit-scrollbars ::-webkit-scrollbar{background-color:var(--dm-webkit-scrollbar-bg-color)}.with-custom-webkit-scrollbars ::-webkit-scrollbar-track:vertical{border-left:var(--webkit-scrollbar-track-border-width) solid var(--lm-webkit-scrollbar-track-border-color)}.with-custom-webkit-scrollbars ::-webkit-scrollbar-track:horizontal{border-top:var(--webkit-scrollbar-track-border-width) solid var(--lm-webkit-scrollbar-track-border-color)}.dark-mode.with-custom-webkit-scrollbars ::-webkit-scrollbar-track{border-color:var(--dm-webkit-scrollbar-track-border-color)}.with-custom-webkit-scrollbars ::-webkit-scrollbar-thumb{min-width:var(--webkit-scrollbar-thumb-min-width-height);min-height:var(--webkit-scrollbar-thumb-min-width-height);background-color:var(--lm-webkit-scrollbar-thumb-bg-color);border:var(--webkit-scrollbar-thumb-border-width) solid var(--lm-webkit-scrollbar-thumb-border-color);-moz-background-clip:content;-webkit-background-clip:content;background-clip:content-box;border-radius:var(--webkit-scrollbar-thumb-border-radius)}.with-custom-webkit-scrollbars ::-webkit-scrollbar-thumb:hover{background-color:var(--lm-webkit-scrollbar-thumb-bg-color-hover);border-color:var(--lm-webkit-scrollbar-thumb-border-color-hover)}.dark-mode.with-custom-webkit-scrollbars ::-webkit-scrollbar-thumb{background-color:var(--dm-webkit-scrollbar-thumb-bg-color);border-color:var(--dm-webkit-scrollbar-thumb-border-color)}.dark-mode.with-custom-webkit-scrollbars ::-webkit-scrollbar-thumb:hover{background-color:var(--dm-webkit-scrollbar-thumb-bg-color-hover);border-color:var(--dm-webkit-scrollbar-thumb-border-color-hover)}.with-custom-webkit-scrollbars ::-webkit-scrollbar-corner{background-color:var(--lm-webkit-scrollbar-corner-bg-color);border-left:var(--webkit-scrollbar-corner-border-width) solid var(--lm-webkit-scrollbar-corner-border-color);border-top:var(--webkit-scrollbar-corner-border-width) solid var(--lm-webkit-scrollbar-corner-border-color)}.dark-mode.with-custom-webkit-scrollbars ::-webkit-scrollbar-corner{background-color:var(--dm-webkit-scrollbar-corner-bg-color);border-color:var(--dm-webkit-scrollbar-corner-border-color)}.with-custom-css-scrollbars *{scrollbar-width:var(--css-scrollbar-width);scrollbar-color:var(--lm-css-scrollbar-color)}.dark-mode.with-custom-css-scrollbars *{scrollbar-color:var(--dm-css-scrollbar-color)}.with-custom-webkit-scrollbars .sidebar::-webkit-scrollbar{width:var(--sidebar-webkit-scrollbar-width-height);height:var(--sidebar-webkit-scrollbar-width-height);background-color:var(--lm-sidebar-webkit-scrollbar-bg-color)}.dark-mode.with-custom-webkit-scrollbars .sidebar::-webkit-scrollbar{background-color:var(--dm-sidebar-webkit-scrollbar-bg-color)}.with-custom-webkit-scrollbars .sidebar::-webkit-scrollbar-track{border-width:var(--sidebar-webkit-scrollbar-track-border-width);border-color:var(--lm-sidebar-webkit-scrollbar-track-border-color)}.dark-mode.with-custom-webkit-scrollbars .sidebar::-webkit-scrollbar-track{border-color:var(--dm-sidebar-webkit-scrollbar-track-border-color)}.with-custom-webkit-scrollbars .sidebar::-webkit-scrollbar-thumb{background-color:var(--lm-sidebar-webkit-scrollbar-thumb-bg-color);border-width:var(--sidebar-webkit-scrollbar-thumb-border-width);border-color:var(--lm-sidebar-webkit-scrollbar-thumb-border-color);border-radius:var(--sidebar-webkit-scrollbar-thumb-border-radius)}.with-custom-webkit-scrollbars .sidebar::-webkit-scrollbar-thumb:hover{background-color:var(--lm-sidebar-webkit-scrollbar-thumb-bg-color-hover);border-color:var(--lm-sidebar-webkit-scrollbar-thumb-border-color-hover)}.dark-mode.with-custom-webkit-scrollbars .sidebar::-webkit-scrollbar-thumb{background-color:var(--dm-sidebar-webkit-scrollbar-thumb-bg-color);border-color:var(--dm-sidebar-webkit-scrollbar-thumb-border-color)}.dark-mode.with-custom-webkit-scrollbars .sidebar::-webkit-scrollbar-thumb:hover{background-color:var(--dm-sidebar-webkit-scrollbar-thumb-bg-color-hover);border-color:var(--dm-sidebar-webkit-scrollbar-thumb-border-color-hover)}.with-custom-webkit-scrollbars .sidebar::-webkit-scrollbar-corner{background-color:var(--lm-sidebar-webkit-scrollbar-corner-bg-color);border-width:var(--sidebar-webkit-scrollbar-corner-border-width);border-color:var(--lm-sidebar-webkit-scrollbar-corner-border-color)}.dark-mode.with-custom-webkit-scrollbars .sidebar::-webkit-scrollbar-corner{background-color:var(--dm-sidebar-webkit-scrollbar-corner-bg-color);border-color:var(--dm-sidebar-webkit-scrollbar-corner-border-color)}.with-custom-css-scrollbars .sidebar{scrollbar-width:var(--sidebar-css-scrollbar-width);scrollbar-color:var(--lm-sidebar-css-scrollbar-color)}.dark-mode.with-custom-css-scrollbars .sidebar{scrollbar-color:var(--dm-sidebar-css-scrollbar-color)}.with-custom-webkit-scrollbars .modal-dialog::-webkit-scrollbar{width:var(--modal-webkit-scrollbar-width-height);height:var(--modal-webkit-scrollbar-width-height);background-color:var(--lm-modal-webkit-scrollbar-bg-color)}.dark-mode.with-custom-webkit-scrollbars .modal-dialog::-webkit-scrollbar{background-color:var(--dm-modal-webkit-scrollbar-bg-color)}.with-custom-webkit-scrollbars .modal-dialog::-webkit-scrollbar-track{border-width:var(--modal-webkit-scrollbar-track-border-width);border-color:var(--lm-modal-webkit-scrollbar-track-border-color)}.dark-mode.with-custom-webkit-scrollbars .modal-dialog::-webkit-scrollbar-track{border-color:var(--dm-modal-webkit-scrollbar-track-border-color)}.with-custom-webkit-scrollbars .modal-dialog::-webkit-scrollbar-thumb{background-color:var(--lm-modal-webkit-scrollbar-thumb-bg-color);border-width:var(--modal-webkit-scrollbar-thumb-border-width);border-color:var(--lm-modal-webkit-scrollbar-thumb-border-color);border-radius:var(--modal-webkit-scrollbar-thumb-border-radius)}.with-custom-webkit-scrollbars .modal-dialog::-webkit-scrollbar-thumb:hover{background-color:var(--lm-modal-webkit-scrollbar-thumb-bg-color-hover);border-color:var(--lm-modal-webkit-scrollbar-thumb-border-color-hover)}.dark-mode.with-custom-webkit-scrollbars .modal-dialog::-webkit-scrollbar-thumb{background-color:var(--dm-modal-webkit-scrollbar-thumb-bg-color);border-color:var(--dm-modal-webkit-scrollbar-thumb-border-color)}.dark-mode.with-custom-webkit-scrollbars .modal-dialog::-webkit-scrollbar-thumb:hover{background-color:var(--dm-modal-webkit-scrollbar-thumb-bg-color-hover);border-color:var(--dm-modal-webkit-scrollbar-thumb-border-color-hover)}.with-custom-webkit-scrollbars .modal-dialog::-webkit-scrollbar-corner{background-color:var(--lm-modal-webkit-scrollbar-corner-bg-color);border-width:var(--modal-webkit-scrollbar-corner-border-width);border-color:var(--lm-modal-webkit-scrollbar-corner-border-color)}.dark-mode.with-custom-webkit-scrollbars .modal-dialog::-webkit-scrollbar-corner{background-color:var(--dm-modal-webkit-scrollbar-corner-bg-color);border-color:var(--dm-modal-webkit-scrollbar-corner-border-color)}.with-custom-css-scrollbars .modal-dialog{scrollbar-width:var(--modal-css-scrollbar-width);scrollbar-color:var(--lm-modal-css-scrollbar-color)}.dark-mode.with-custom-css-scrollbars .modal-dialog{scrollbar-color:var(--dm-modal-css-scrollbar-color)}.with-custom-webkit-scrollbars .modal-full .modal-dialog::-webkit-scrollbar{width:var(--modal-full-webkit-scrollbar-width-height);height:var(--modal-full-webkit-scrollbar-width-height);background-color:var(--lm-modal-full-webkit-scrollbar-bg-color)}.dark-mode.with-custom-webkit-scrollbars .modal-full .modal-dialog::-webkit-scrollbar{background-color:var(--dm-modal-full-webkit-scrollbar-bg-color)}.with-custom-webkit-scrollbars .modal-full .modal-dialog::-webkit-scrollbar-track{border-width:var(--modal-full-webkit-scrollbar-track-border-width);border-color:var(--lm-modal-full-webkit-scrollbar-track-border-color)}.dark-mode.with-custom-webkit-scrollbars .modal-full .modal-dialog::-webkit-scrollbar-track{border-color:var(--dm-modal-full-webkit-scrollbar-track-border-color)}.with-custom-webkit-scrollbars .modal-full .modal-dialog::-webkit-scrollbar-thumb{background-color:var(--lm-modal-full-webkit-scrollbar-thumb-bg-color);border-width:var(--modal-full-webkit-scrollbar-thumb-border-width);border-color:var(--lm-modal-full-webkit-scrollbar-thumb-border-color);border-radius:var(--modal-full-webkit-scrollbar-thumb-border-radius)}.with-custom-webkit-scrollbars .modal-full .modal-dialog::-webkit-scrollbar-thumb:hover{background-color:var(--lm-modal-full-webkit-scrollbar-thumb-bg-color-hover);border-color:var(--lm-modal-full-webkit-scrollbar-thumb-border-color-hover)}.dark-mode.with-custom-webkit-scrollbars .modal-full .modal-dialog::-webkit-scrollbar-thumb{background-color:var(--dm-modal-full-webkit-scrollbar-thumb-bg-color);border-color:var(--dm-modal-full-webkit-scrollbar-thumb-border-color)}.dark-mode.with-custom-webkit-scrollbars .modal-full .modal-dialog::-webkit-scrollbar-thumb:hover{background-color:var(--dm-modal-full-webkit-scrollbar-thumb-bg-color-hover);border-color:var(--dm-modal-full-webkit-scrollbar-thumb-border-color-hover)}.with-custom-webkit-scrollbars .modal-full .modal-dialog::-webkit-scrollbar-corner{background-color:var(--lm-modal-full-webkit-scrollbar-corner-bg-color);border-width:var(--modal-full-webkit-scrollbar-corner-border-width);border-color:var(--lm-modal-full-webkit-scrollbar-corner-border-color)}.dark-mode.with-custom-webkit-scrollbars .modal-full .modal-dialog::-webkit-scrollbar-corner{background-color:var(--dm-modal-full-webkit-scrollbar-corner-bg-color);border-color:var(--dm-modal-full-webkit-scrollbar-corner-border-color)}.with-custom-css-scrollbars .modal-full .modal-dialog{scrollbar-width:var(--modal-full-css-scrollbar-width);scrollbar-color:var(--lm-modal-full-css-scrollbar-color)}.dark-mode.with-custom-css-scrollbars .modal-full .modal-dialog{scrollbar-color:var(--dm-modal-full-css-scrollbar-color)}.with-custom-webkit-scrollbars .card::-webkit-scrollbar{width:var(--card-webkit-scrollbar-width-height);height:var(--card-webkit-scrollbar-width-height);background-color:var(--lm-card-webkit-scrollbar-bg-color)}.dark-mode.with-custom-webkit-scrollbars .card::-webkit-scrollbar{background-color:var(--dm-card-webkit-scrollbar-bg-color)}.with-custom-webkit-scrollbars .card::-webkit-scrollbar-track{border-width:var(--card-webkit-scrollbar-track-border-width);border-color:var(--lm-card-webkit-scrollbar-track-border-color)}.dark-mode.with-custom-webkit-scrollbars .card::-webkit-scrollbar-track{border-color:var(--dm-card-webkit-scrollbar-track-border-color)}.with-custom-webkit-scrollbars .card::-webkit-scrollbar-thumb{background-color:var(--lm-card-webkit-scrollbar-thumb-bg-color);border-width:var(--card-webkit-scrollbar-thumb-border-width);border-color:var(--lm-card-webkit-scrollbar-thumb-border-color);border-radius:var(--card-webkit-scrollbar-thumb-border-radius)}.with-custom-webkit-scrollbars .card::-webkit-scrollbar-thumb:hover{background-color:var(--lm-card-webkit-scrollbar-thumb-bg-color-hover);border-color:var(--lm-card-webkit-scrollbar-thumb-border-color-hover)}.dark-mode.with-custom-webkit-scrollbars .card::-webkit-scrollbar-thumb{background-color:var(--dm-card-webkit-scrollbar-thumb-bg-color);border-color:var(--dm-card-webkit-scrollbar-thumb-border-color)}.dark-mode.with-custom-webkit-scrollbars .card::-webkit-scrollbar-thumb:hover{background-color:var(--dm-card-webkit-scrollbar-thumb-bg-color-hover);border-color:var(--dm-card-webkit-scrollbar-thumb-border-color-hover)}.with-custom-webkit-scrollbars .card::-webkit-scrollbar-corner{background-color:var(--lm-card-webkit-scrollbar-corner-bg-color);border-width:var(--card-webkit-scrollbar-corner-border-width);border-color:var(--lm-card-webkit-scrollbar-corner-border-color)}.dark-mode.with-custom-webkit-scrollbars .card::-webkit-scrollbar-corner{background-color:var(--dm-card-webkit-scrollbar-corner-bg-color);border-color:var(--dm-card-webkit-scrollbar-corner-border-color)}.with-custom-css-scrollbars .card{scrollbar-width:var(--card-css-scrollbar-width);scrollbar-color:var(--lm-card-css-scrollbar-color)}.dark-mode.with-custom-css-scrollbars .card{scrollbar-color:var(--dm-card-css-scrollbar-color)}.with-custom-css-scrollbars .css-scrollbar-transparent-track{scrollbar-width:var(--utility-transparent-track-css-scrollbar-width)!important;scrollbar-color:var(--lm-utility-transparent-track-css-scrollbar-color)!important}.dark-mode.with-custom-css-scrollbars .css-scrollbar-transparent-track{scrollbar-color:var(--dm-utility-transparent-track-css-scrollbar-color)!important}}.page-wrapper,body,html{position:absolute;height:100%;width:100%}body,html{margin:0;padding:0;left:0;top:0}.page-wrapper{overflow:hidden}.sticky-alerts{position:fixed;top:var(--sticky-alerts-top);right:var(--sticky-alerts-right);z-index:100}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start;width:100%;height:var(--navbar-height);padding-left:var(--navbar-horizontal-padding);padding-right:var(--navbar-horizontal-padding);background-color:var(--lm-navbar-bg-color);background-image:var(--lm-navbar-bg-image);border-bottom:var(--navbar-border-width) solid var(--lm-navbar-border-color);-moz-box-shadow:var(--lm-navbar-box-shadow);-webkit-box-shadow:var(--lm-navbar-box-shadow);box-shadow:var(--lm-navbar-box-shadow)}.dark-mode .navbar{background-color:var(--dm-navbar-bg-color);background-image:var(--dm-navbar-bg-image);border-color:var(--dm-navbar-border-color);-moz-box-shadow:var(--dm-navbar-box-shadow);-webkit-box-shadow:var(--dm-navbar-box-shadow);box-shadow:var(--dm-navbar-box-shadow)}.navbar.navbar-fixed-bottom,.navbar.navbar-static-bottom{border-bottom:none;border-top:var(--navbar-border-width) solid var(--lm-navbar-border-color)}.navbar.navbar-fixed-bottom{height:var(--navbar-fixed-bottom-height);-moz-box-shadow:var(--lm-navbar-fixed-bottom-box-shadow);-webkit-box-shadow:var(--lm-navbar-fixed-bottom-box-shadow);box-shadow:var(--lm-navbar-fixed-bottom-box-shadow)}.dark-mode .navbar.navbar-fixed-bottom,.dark-mode .navbar.navbar-static-bottom{border-color:var(--dm-navbar-border-color);-moz-box-shadow:var(--dm-navbar-fixed-bottom-box-shadow);-webkit-box-shadow:var(--dm-navbar-fixed-bottom-box-shadow);box-shadow:var(--dm-navbar-fixed-bottom-box-shadow)}.navbar.navbar-static-bottom{-moz-box-shadow:var(--lm-navbar-static-bottom-box-shadow);-webkit-box-shadow:var(--lm-navbar-static-bottom-box-shadow);box-shadow:var(--lm-navbar-static-bottom-box-shadow)}.dark-mode .navbar.navbar-static-bottom{-moz-box-shadow:var(--dm-navbar-static-bottom-box-shadow);-webkit-box-shadow:var(--dm-navbar-static-bottom-box-shadow);box-shadow:var(--dm-navbar-static-bottom-box-shadow)}.page-wrapper>.navbar{position:fixed;left:0;z-index:40;display:none}.page-wrapper>.navbar:not(.navbar-fixed-bottom){top:0}.page-wrapper.with-navbar>.navbar:not(.navbar-fixed-bottom){display:-ms-flexbox;display:flex}.page-wrapper>.navbar.navbar-fixed-bottom{bottom:0}.page-wrapper.with-navbar-fixed-bottom>.navbar.navbar-fixed-bottom{display:-ms-flexbox;display:flex}.sidebar{position:fixed;top:0;bottom:0;left:0;width:var(--sidebar-width);max-width:100%;height:100%;overflow-x:hidden;overflow-y:auto;z-index:20;background-color:var(--lm-sidebar-bg-color);background-image:var(--lm-sidebar-bg-image);border-right:var(--sidebar-border-width) solid var(--lm-sidebar-border-color);-moz-box-shadow:var(--lm-sidebar-box-shadow);-webkit-box-shadow:var(--lm-sidebar-box-shadow);box-shadow:var(--lm-sidebar-box-shadow)}.dark-mode .sidebar{background-color:var(--dm-sidebar-bg-color);background-image:var(--dm-sidebar-bg-image);border-color:var(--dm-sidebar-border-color);-moz-box-shadow:var(--dm-sidebar-box-shadow);-webkit-box-shadow:var(--dm-sidebar-box-shadow);box-shadow:var(--dm-sidebar-box-shadow)}.page-wrapper>.sidebar{display:none}.modal-content-media img,.modal-content-media video,.page-wrapper.with-sidebar>.sidebar{display:block}.content-wrapper{position:absolute;top:0;bottom:0;left:0;right:0;width:100%;overflow:auto}.page-wrapper.with-navbar>.sticky-alerts{top:var(--navbar-height)}.page-wrapper.with-navbar>.content-wrapper,.page-wrapper.with-navbar>.sidebar{top:var(--navbar-height);height:calc(100% - var(--navbar-height))}.page-wrapper.with-sidebar>.content-wrapper{left:var(--sidebar-width);width:calc(100% - var(--sidebar-width))}@media (max-width:768px){.page-wrapper.with-sidebar>.content-wrapper{width:100%}}.page-wrapper.with-sidebar[data-sidebar-hidden]>.sidebar{left:-100%}.page-wrapper.with-sidebar[data-sidebar-hidden]>.content-wrapper{width:100%;left:0}.page-wrapper.with-navbar-fixed-bottom>.content-wrapper,.page-wrapper.with-navbar-fixed-bottom>.sidebar{bottom:var(--navbar-fixed-bottom-height);height:calc(100% - var(--navbar-fixed-bottom-height))}.page-wrapper.with-navbar.with-navbar-fixed-bottom>.content-wrapper,.page-wrapper.with-navbar.with-navbar-fixed-bottom>.sidebar{top:var(--navbar-height);bottom:var(--navbar-fixed-bottom-height);height:calc(100% - var(--navbar-height) - var(--navbar-fixed-bottom-height))}.page-wrapper.with-sidebar[data-sidebar-type~=full-height]>.sidebar{height:100%;top:0}.page-wrapper.with-sidebar[data-sidebar-type~=full-height]>.navbar.navbar-fixed-bottom,.page-wrapper.with-sidebar[data-sidebar-type~=full-height]>.navbar:not(.navbar-fixed-bottom){left:var(--sidebar-width);width:calc(100% - var(--sidebar-width))}@media (max-width:768px){.page-wrapper.with-sidebar[data-sidebar-type~=full-height]>.navbar.navbar-fixed-bottom,.page-wrapper.with-sidebar[data-sidebar-type~=full-height]>.navbar:not(.navbar-fixed-bottom){width:100%}}.page-wrapper.with-sidebar[data-sidebar-type~=full-height][data-sidebar-hidden]>.navbar.navbar-fixed-bottom,.page-wrapper.with-sidebar[data-sidebar-type~=full-height][data-sidebar-hidden]>.navbar:not(.navbar-fixed-bottom),.page-wrapper.with-sidebar[data-sidebar-type~=overlayed-all]>.content-wrapper,.page-wrapper.with-sidebar[data-sidebar-type~=overlayed-all]>.navbar.navbar-fixed-bottom,.page-wrapper.with-sidebar[data-sidebar-type~=overlayed-all]>.navbar:not(.navbar-fixed-bottom){left:0;width:100%}.page-wrapper.with-sidebar[data-sidebar-type~=overlayed-all]>.sidebar{height:100%;top:0;z-index:50}.page-wrapper.with-sidebar[data-sidebar-type~=overlayed-all]>.sidebar-overlay{position:absolute;height:100%;width:100%;z-index:45;background-color:var(--sidebar-overlay-bg-color)}.page-wrapper.with-sidebar[data-sidebar-type~=overlayed-all][data-sidebar-hidden]>.sidebar-overlay{display:none}@media (max-width:768px){.page-wrapper.with-sidebar[data-sidebar-type~=overlayed-sm-and-down]>.content-wrapper,.page-wrapper.with-sidebar[data-sidebar-type~=overlayed-sm-and-down]>.navbar.navbar-fixed-bottom,.page-wrapper.with-sidebar[data-sidebar-type~=overlayed-sm-and-down]>.navbar:not(.navbar-fixed-bottom){left:0;width:100%}.page-wrapper.with-sidebar[data-sidebar-type~=overlayed-sm-and-down]>.sidebar{height:100%;top:0;z-index:50}.page-wrapper.with-sidebar[data-sidebar-type~=overlayed-sm-and-down]>.sidebar-overlay{position:absolute;height:100%;width:100%;z-index:45;background-color:var(--sidebar-overlay-bg-color)}.page-wrapper.with-sidebar[data-sidebar-type~=overlayed-sm-and-down][data-sidebar-hidden]>.sidebar-overlay{display:none}}.page-wrapper.with-transitions.with-sidebar>.sidebar{-webkit-transition:left .4s cubic-bezier(.25,.8,.25,1);transition:left .4s cubic-bezier(.25,.8,.25,1)}.page-wrapper.with-transitions.with-sidebar .content-wrapper,.page-wrapper.with-transitions.with-sidebar[data-sidebar-type~=full-height]>.navbar.navbar-fixed-bottom,.page-wrapper.with-transitions.with-sidebar[data-sidebar-type~=full-height]>.navbar:not(.navbar-fixed-bottom){-webkit-transition:width .4s cubic-bezier(.25,.8,.25,1),left .4s cubic-bezier(.25,.8,.25,1);transition:width .4s cubic-bezier(.25,.8,.25,1),left .4s cubic-bezier(.25,.8,.25,1)}.content-wrapper,.sidebar{-webkit-overflow-scrolling:touch}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{margin-left:auto;margin-right:auto}.container-fluid{width:var(--container-fluid-width)}.container,.container-lg,.container-md,.container-sm,.container-xl{width:var(--container-width)}@media (min-width:577px){.container,.container-sm{max-width:var(--container-sm-max-width)}}@media (min-width:769px){.container,.container-md,.container-sm{max-width:var(--container-md-max-width)}}@media (min-width:993px){.container,.container-lg,.container-md,.container-sm{max-width:var(--container-lg-max-width)}}@media (min-width:1201px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:var(--container-xl-max-width)}}.row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9{position:relative;width:100%}.col-auto{position:relative}.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%}.col{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1,.col-2,.col-3{-webkit-box-flex:0;-webkit-flex:0 0 8.3333333333%;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-2,.col-3{-webkit-flex:0 0 16.6666666667%;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-3{-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4,.col-5,.col-6{-webkit-box-flex:0;-webkit-flex:0 0 33.3333333333%;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-5,.col-6{-webkit-flex:0 0 41.6666666667%;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-6{-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7,.col-8,.col-9{-webkit-box-flex:0;-webkit-flex:0 0 58.3333333333%;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-8,.col-9{-webkit-flex:0 0 66.6666666667%;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-9{-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10,.col-11,.col-12{-webkit-box-flex:0;-webkit-flex:0 0 83.3333333333%;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-11,.col-12{-webkit-flex:0 0 91.6666666667%;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-12{-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-last{-webkit-box-ordinal-group:14;-webkit-order:13;-ms-flex-order:13;order:13}.order-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.order-1{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.order-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.order-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.order-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.order-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}.order-7{-webkit-box-ordinal-group:8;-webkit-order:7;-ms-flex-order:7;order:7}.order-8{-webkit-box-ordinal-group:9;-webkit-order:8;-ms-flex-order:8;order:8}.order-9{-webkit-box-ordinal-group:10;-webkit-order:9;-ms-flex-order:9;order:9}.order-10{-webkit-box-ordinal-group:11;-webkit-order:10;-ms-flex-order:10;order:10}.order-11{-webkit-box-ordinal-group:12;-webkit-order:11;-ms-flex-order:11;order:11}.order-12{-webkit-box-ordinal-group:13;-webkit-order:12;-ms-flex-order:12;order:12}.offset-1{margin-left:8.3333333333%}.offset-2{margin-left:16.6666666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.3333333333%}.offset-5{margin-left:41.6666666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.3333333333%}.offset-8{margin-left:66.6666666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.3333333333%}.offset-11{margin-left:91.6666666667%}@media (min-width:577px){.col-sm{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1,.col-sm-2{-webkit-box-flex:0;-webkit-flex:0 0 8.3333333333%;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-sm-2{-webkit-flex:0 0 16.6666666667%;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-3,.col-sm-4{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-flex:0 0 33.3333333333%;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-sm-5,.col-sm-6{-webkit-box-flex:0;-webkit-flex:0 0 41.6666666667%;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-sm-6{-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7,.col-sm-8{-webkit-box-flex:0;-webkit-flex:0 0 58.3333333333%;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-sm-8{-webkit-flex:0 0 66.6666666667%;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-sm-10,.col-sm-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-flex:0 0 83.3333333333%;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-sm-11,.col-sm-12{-webkit-box-flex:0;-webkit-flex:0 0 91.6666666667%;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-sm-12{-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-sm-last{-webkit-box-ordinal-group:14;-webkit-order:13;-ms-flex-order:13;order:13}.order-sm-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.order-sm-1{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-sm-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.order-sm-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.order-sm-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.order-sm-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.order-sm-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}.order-sm-7{-webkit-box-ordinal-group:8;-webkit-order:7;-ms-flex-order:7;order:7}.order-sm-8{-webkit-box-ordinal-group:9;-webkit-order:8;-ms-flex-order:8;order:8}.order-sm-9{-webkit-box-ordinal-group:10;-webkit-order:9;-ms-flex-order:9;order:9}.order-sm-10{-webkit-box-ordinal-group:11;-webkit-order:10;-ms-flex-order:10;order:10}.order-sm-11{-webkit-box-ordinal-group:12;-webkit-order:11;-ms-flex-order:11;order:11}.order-sm-12{-webkit-box-ordinal-group:13;-webkit-order:12;-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.3333333333%}.offset-sm-2{margin-left:16.6666666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.3333333333%}.offset-sm-5{margin-left:41.6666666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.3333333333%}.offset-sm-8{margin-left:66.6666666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.3333333333%}.offset-sm-11{margin-left:91.6666666667%}}@media (min-width:769px){.col-md{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1,.col-md-2{-webkit-box-flex:0;-webkit-flex:0 0 8.3333333333%;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-md-2{-webkit-flex:0 0 16.6666666667%;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-3,.col-md-4{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-flex:0 0 33.3333333333%;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-md-5,.col-md-6{-webkit-box-flex:0;-webkit-flex:0 0 41.6666666667%;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-md-6{-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7,.col-md-8{-webkit-box-flex:0;-webkit-flex:0 0 58.3333333333%;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-md-8{-webkit-flex:0 0 66.6666666667%;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-md-10,.col-md-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-flex:0 0 83.3333333333%;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-md-11,.col-md-12{-webkit-box-flex:0;-webkit-flex:0 0 91.6666666667%;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-md-12{-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-md-last{-webkit-box-ordinal-group:14;-webkit-order:13;-ms-flex-order:13;order:13}.order-md-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.order-md-1{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-md-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.order-md-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.order-md-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.order-md-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.order-md-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}.order-md-7{-webkit-box-ordinal-group:8;-webkit-order:7;-ms-flex-order:7;order:7}.order-md-8{-webkit-box-ordinal-group:9;-webkit-order:8;-ms-flex-order:8;order:8}.order-md-9{-webkit-box-ordinal-group:10;-webkit-order:9;-ms-flex-order:9;order:9}.order-md-10{-webkit-box-ordinal-group:11;-webkit-order:10;-ms-flex-order:10;order:10}.order-md-11{-webkit-box-ordinal-group:12;-webkit-order:11;-ms-flex-order:11;order:11}.order-md-12{-webkit-box-ordinal-group:13;-webkit-order:12;-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.3333333333%}.offset-md-2{margin-left:16.6666666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.3333333333%}.offset-md-5{margin-left:41.6666666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.3333333333%}.offset-md-8{margin-left:66.6666666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.3333333333%}.offset-md-11{margin-left:91.6666666667%}}@media (min-width:993px){.col-lg{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1,.col-lg-2{-webkit-box-flex:0;-webkit-flex:0 0 8.3333333333%;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-lg-2{-webkit-flex:0 0 16.6666666667%;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-3,.col-lg-4{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-flex:0 0 33.3333333333%;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-lg-5,.col-lg-6{-webkit-box-flex:0;-webkit-flex:0 0 41.6666666667%;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-lg-6{-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7,.col-lg-8{-webkit-box-flex:0;-webkit-flex:0 0 58.3333333333%;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-lg-8{-webkit-flex:0 0 66.6666666667%;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-lg-10,.col-lg-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-flex:0 0 83.3333333333%;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-lg-11,.col-lg-12{-webkit-box-flex:0;-webkit-flex:0 0 91.6666666667%;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-lg-12{-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-lg-last{-webkit-box-ordinal-group:14;-webkit-order:13;-ms-flex-order:13;order:13}.order-lg-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.order-lg-1{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-lg-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.order-lg-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.order-lg-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.order-lg-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.order-lg-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}.order-lg-7{-webkit-box-ordinal-group:8;-webkit-order:7;-ms-flex-order:7;order:7}.order-lg-8{-webkit-box-ordinal-group:9;-webkit-order:8;-ms-flex-order:8;order:8}.order-lg-9{-webkit-box-ordinal-group:10;-webkit-order:9;-ms-flex-order:9;order:9}.order-lg-10{-webkit-box-ordinal-group:11;-webkit-order:10;-ms-flex-order:10;order:10}.order-lg-11{-webkit-box-ordinal-group:12;-webkit-order:11;-ms-flex-order:11;order:11}.order-lg-12{-webkit-box-ordinal-group:13;-webkit-order:12;-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.3333333333%}.offset-lg-2{margin-left:16.6666666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.3333333333%}.offset-lg-5{margin-left:41.6666666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.3333333333%}.offset-lg-8{margin-left:66.6666666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.3333333333%}.offset-lg-11{margin-left:91.6666666667%}}@media (min-width:1201px){.col-xl{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1,.col-xl-2{-webkit-box-flex:0;-webkit-flex:0 0 8.3333333333%;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-xl-2{-webkit-flex:0 0 16.6666666667%;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-3,.col-xl-4{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-flex:0 0 33.3333333333%;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-xl-5,.col-xl-6{-webkit-box-flex:0;-webkit-flex:0 0 41.6666666667%;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-xl-6{-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7,.col-xl-8{-webkit-box-flex:0;-webkit-flex:0 0 58.3333333333%;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-xl-8{-webkit-flex:0 0 66.6666666667%;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-xl-10,.col-xl-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-flex:0 0 83.3333333333%;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-xl-11,.col-xl-12{-webkit-box-flex:0;-webkit-flex:0 0 91.6666666667%;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-xl-12{-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.order-xl-last{-webkit-box-ordinal-group:14;-webkit-order:13;-ms-flex-order:13;order:13}.order-xl-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.order-xl-1{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.order-xl-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.order-xl-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.order-xl-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.order-xl-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.order-xl-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}.order-xl-7{-webkit-box-ordinal-group:8;-webkit-order:7;-ms-flex-order:7;order:7}.order-xl-8{-webkit-box-ordinal-group:9;-webkit-order:8;-ms-flex-order:8;order:8}.order-xl-9{-webkit-box-ordinal-group:10;-webkit-order:9;-ms-flex-order:9;order:9}.order-xl-10{-webkit-box-ordinal-group:11;-webkit-order:10;-ms-flex-order:10;order:10}.order-xl-11{-webkit-box-ordinal-group:12;-webkit-order:11;-ms-flex-order:11;order:11}.order-xl-12{-webkit-box-ordinal-group:13;-webkit-order:12;-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.3333333333%}.offset-xl-2{margin-left:16.6666666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.3333333333%}.offset-xl-5{margin-left:41.6666666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.3333333333%}.offset-xl-8{margin-left:66.6666666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.3333333333%}.offset-xl-11{margin-left:91.6666666667%}}.row.row-eq-spacing{margin-top:var(--content-and-card-spacing);margin-bottom:var(--content-and-card-spacing)}.row.row-eq-spacing,.row.row-eq-spacing>[class^=col]{padding-left:var(--content-and-card-spacing-half);padding-right:var(--content-and-card-spacing-half)}.row.row-eq-spacing>[class^=col]>.card,.row.row-eq-spacing>[class^=col]>.content{margin-left:0;margin-right:0}.row.row-eq-spacing>[class^=col]>.card:first-child,.row.row-eq-spacing>[class^=col]>.content:first-child{margin-top:0}.row.row-eq-spacing>[class^=col]>.card:last-child,.row.row-eq-spacing>[class^=col]>.content:last-child{margin-bottom:0}@media (max-width:576px){.row.row-eq-spacing{margin-top:var(--content-and-card-spacing-xs);margin-bottom:var(--content-and-card-spacing-xs)}.row.row-eq-spacing,.row.row-eq-spacing>[class^=col]{padding-left:var(--content-and-card-spacing-xs-half);padding-right:var(--content-and-card-spacing-xs-half)}}@media (min-width:577px){.row.row-eq-spacing-sm:not(.row-eq-spacing){margin-top:var(--content-and-card-spacing);margin-bottom:var(--content-and-card-spacing)}.row.row-eq-spacing-sm:not(.row-eq-spacing),.row.row-eq-spacing-sm:not(.row-eq-spacing)>[class^=col]{padding-left:var(--content-and-card-spacing-half);padding-right:var(--content-and-card-spacing-half)}.row.row-eq-spacing-sm:not(.row-eq-spacing)>[class^=col]>.card,.row.row-eq-spacing-sm:not(.row-eq-spacing)>[class^=col]>.content{margin-left:0;margin-right:0}.row.row-eq-spacing-sm:not(.row-eq-spacing)>[class^=col]>.card:first-child,.row.row-eq-spacing-sm:not(.row-eq-spacing)>[class^=col]>.content:first-child{margin-top:0}.row.row-eq-spacing-sm:not(.row-eq-spacing)>[class^=col]>.card:last-child,.row.row-eq-spacing-sm:not(.row-eq-spacing)>[class^=col]>.content:last-child{margin-bottom:0}}@media (max-width:576px){.row.row-eq-spacing-sm:not(.row-eq-spacing),.row.row-eq-spacing-sm:not(.row-eq-spacing)>[class^=col]>.card:not(:only-child),.row.row-eq-spacing-sm:not(.row-eq-spacing)>[class^=col]>.content:not(:only-child){margin-top:var(--content-and-card-spacing-xs);margin-bottom:var(--content-and-card-spacing-xs)}.row.row-eq-spacing-sm:not(.row-eq-spacing)>[class^=col]{margin-top:var(--content-and-card-spacing-xs-half);margin-bottom:var(--content-and-card-spacing-xs-half)}.row.row-eq-spacing-sm:not(.row-eq-spacing)>[class^=col]:first-child,.row.row-eq-spacing-sm:not(.row-eq-spacing)>[class^=col]>.card:not(:only-child):first-child,.row.row-eq-spacing-sm:not(.row-eq-spacing)>[class^=col]>.content:not(:only-child):first-child{margin-top:0}.row.row-eq-spacing-sm:not(.row-eq-spacing)>[class^=col]:last-child,.row.row-eq-spacing-sm:not(.row-eq-spacing)>[class^=col]>.card:not(:only-child):last-child,.row.row-eq-spacing-sm:not(.row-eq-spacing)>[class^=col]>.content:not(:only-child):last-child{margin-bottom:0}.row.row-eq-spacing-sm:not(.row-eq-spacing)>[class^=col]>.card,.row.row-eq-spacing-sm:not(.row-eq-spacing)>[class^=col]>.content{margin-top:0;margin-bottom:0}}@media (min-width:769px){.row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing){margin-top:var(--content-and-card-spacing);margin-bottom:var(--content-and-card-spacing)}.row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing),.row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]{padding-left:var(--content-and-card-spacing-half);padding-right:var(--content-and-card-spacing-half)}.row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.card,.row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.content{margin-left:0;margin-right:0}.row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.card:first-child,.row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.content:first-child{margin-top:0}.row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.card:last-child,.row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.content:last-child{margin-bottom:0}}@media (max-width:768px){.row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing),.row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.card:not(:only-child),.row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.content:not(:only-child){margin-top:var(--content-and-card-spacing);margin-bottom:var(--content-and-card-spacing)}.row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]{margin-top:var(--content-and-card-spacing-half);margin-bottom:var(--content-and-card-spacing-half)}.row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]:first-child,.row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.card:not(:only-child):first-child,.row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.content:not(:only-child):first-child{margin-top:0}.row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]:last-child,.row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.card:not(:only-child):last-child,.row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.content:not(:only-child):last-child{margin-bottom:0}.row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.card,.row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.content{margin-top:0;margin-bottom:0}}@media (max-width:576px){.row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing),.row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.card:not(:only-child),.row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.content:not(:only-child){margin-top:var(--content-and-card-spacing-xs);margin-bottom:var(--content-and-card-spacing-xs)}.row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]{margin-top:var(--content-and-card-spacing-xs-half);margin-bottom:var(--content-and-card-spacing-xs-half)}}@media (min-width:993px){.row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing){margin-top:var(--content-and-card-spacing);margin-bottom:var(--content-and-card-spacing)}.row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing),.row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]{padding-left:var(--content-and-card-spacing-half);padding-right:var(--content-and-card-spacing-half)}.row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.card,.row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.content{margin-left:0;margin-right:0}.row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.card:first-child,.row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.content:first-child{margin-top:0}.row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.card:last-child,.row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.content:last-child{margin-bottom:0}}@media (max-width:992px){.row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing),.row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.card:not(:only-child),.row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.content:not(:only-child){margin-top:var(--content-and-card-spacing);margin-bottom:var(--content-and-card-spacing)}.row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]{margin-top:var(--content-and-card-spacing-half);margin-bottom:var(--content-and-card-spacing-half)}.row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]:first-child,.row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.card:not(:only-child):first-child,.row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.content:not(:only-child):first-child{margin-top:0}.row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]:last-child,.row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.card:not(:only-child):last-child,.row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.content:not(:only-child):last-child{margin-bottom:0}.row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.card,.row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.content{margin-top:0;margin-bottom:0}}@media (max-width:576px){.row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing),.row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.card:not(:only-child),.row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.content:not(:only-child){margin-top:var(--content-and-card-spacing-xs);margin-bottom:var(--content-and-card-spacing-xs)}.row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]{margin-top:var(--content-and-card-spacing-xs-half);margin-bottom:var(--content-and-card-spacing-xs-half)}}@media (min-width:1201px){.row.row-eq-spacing-xl:not(.row-eq-spacing-lg):not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing){margin-top:var(--content-and-card-spacing);margin-bottom:var(--content-and-card-spacing);padding-left:var(--content-and-card-spacing-half);padding-right:var(--content-and-card-spacing-half)}.row.row-eq-spacing-xl:not(.row-eq-spacing-lg):not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]{padding-left:var(--content-and-card-spacing-half);padding-right:var(--content-and-card-spacing-half)}.row.row-eq-spacing-xl:not(.row-eq-spacing-lg):not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.card,.row.row-eq-spacing-xl:not(.row-eq-spacing-lg):not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.content{margin-left:0;margin-right:0}.row.row-eq-spacing-xl:not(.row-eq-spacing-lg):not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.card:first-child,.row.row-eq-spacing-xl:not(.row-eq-spacing-lg):not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.content:first-child{margin-top:0}.row.row-eq-spacing-xl:not(.row-eq-spacing-lg):not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.card:last-child,.row.row-eq-spacing-xl:not(.row-eq-spacing-lg):not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.content:last-child{margin-bottom:0}}@media (max-width:1200px){.row.row-eq-spacing-xl:not(.row-eq-spacing-lg):not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing),.row.row-eq-spacing-xl:not(.row-eq-spacing-lg):not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.card:not(:only-child),.row.row-eq-spacing-xl:not(.row-eq-spacing-lg):not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.content:not(:only-child){margin-top:var(--content-and-card-spacing);margin-bottom:var(--content-and-card-spacing)}.row.row-eq-spacing-xl:not(.row-eq-spacing-lg):not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]{margin-top:var(--content-and-card-spacing-half);margin-bottom:var(--content-and-card-spacing-half)}.row.row-eq-spacing-xl:not(.row-eq-spacing-lg):not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]:first-child,.row.row-eq-spacing-xl:not(.row-eq-spacing-lg):not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.card:not(:only-child):first-child,.row.row-eq-spacing-xl:not(.row-eq-spacing-lg):not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.content:not(:only-child):first-child{margin-top:0}.row.row-eq-spacing-xl:not(.row-eq-spacing-lg):not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]:last-child,.row.row-eq-spacing-xl:not(.row-eq-spacing-lg):not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.card:not(:only-child):last-child,.row.row-eq-spacing-xl:not(.row-eq-spacing-lg):not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.content:not(:only-child):last-child{margin-bottom:0}.row.row-eq-spacing-xl:not(.row-eq-spacing-lg):not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.card,.row.row-eq-spacing-xl:not(.row-eq-spacing-lg):not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.content{margin-top:0;margin-bottom:0}}@media (max-width:576px){.row.row-eq-spacing-xl:not(.row-eq-spacing-lg):not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing),.row.row-eq-spacing-xl:not(.row-eq-spacing-lg):not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.card:not(:only-child),.row.row-eq-spacing-xl:not(.row-eq-spacing-lg):not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]>.content:not(:only-child){margin-top:var(--content-and-card-spacing-xs);margin-bottom:var(--content-and-card-spacing-xs)}.row.row-eq-spacing-xl:not(.row-eq-spacing-lg):not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]{margin-top:var(--content-and-card-spacing-xs-half);margin-bottom:var(--content-and-card-spacing-xs-half)}}.content{margin:var(--content-and-card-spacing)}@media (max-width:576px){.content{margin:var(--content-and-card-spacing-xs)}}.content-title{font-size:var(--content-title-font-size);font-weight:var(--content-title-font-weight);margin-top:0}.card{position:relative;margin:var(--content-and-card-spacing);padding:var(--content-and-card-spacing);color:var(--lm-card-text-color);background-color:var(--lm-card-bg-color);background-image:var(--lm-card-bg-image);border-radius:var(--card-border-radius);border:var(--card-border-width) solid var(--lm-card-border-color);-moz-box-shadow:var(--lm-card-box-shadow);-webkit-box-shadow:var(--lm-card-box-shadow);box-shadow:var(--lm-card-box-shadow)}.dark-mode .card{color:var(--dm-card-text-color);background-color:var(--dm-card-bg-color);background-image:var(--dm-card-bg-image);border-color:var(--dm-card-border-color);-moz-box-shadow:var(--dm-card-box-shadow);-webkit-box-shadow:var(--dm-card-box-shadow);box-shadow:var(--dm-card-box-shadow)}@media (max-width:576px){.card{margin:var(--content-and-card-spacing-xs);padding:var(--content-and-card-spacing-xs)}}.card-title{font-size:var(--card-title-font-size);font-weight:var(--card-title-font-weight);margin-top:0}.p-card{padding:var(--content-and-card-spacing)}.px-card{padding-left:var(--content-and-card-spacing);padding-right:var(--content-and-card-spacing)}.py-card{padding-top:var(--content-and-card-spacing);padding-bottom:var(--content-and-card-spacing)}@media (max-width:576px){.p-card{padding:var(--content-and-card-spacing-xs)}.px-card{padding-left:var(--content-and-card-spacing-xs);padding-right:var(--content-and-card-spacing-xs)}.py-card{padding-top:var(--content-and-card-spacing-xs);padding-bottom:var(--content-and-card-spacing-xs)}}.v-spacer{height:var(--v-spacer-height);position:relative;width:100%}@media (max-width:576px){.v-spacer{height:var(--v-spacer-height-xs)}}a:hover{color:var(--lm-link-text-color-hover);text-decoration:underline}.dark-mode a{color:var(--dm-link-text-color)}.dark-mode a:hover{color:var(--dm-link-text-color-hover)}.dark-mode .hyperlink,.dark-mode .hyperlink-underline{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.hyperlink-underline{text-decoration:underline}.btn{display:inline-block;height:var(--button-height);line-height:var(--button-line-height);padding:var(--button-padding);text-align:center;white-space:nowrap;cursor:pointer;color:var(--lm-button-text-color);background-color:var(--lm-button-bg-color);background-image:var(--lm-button-bg-image);border:var(--button-border-width) solid var(--lm-button-border-color);border-radius:var(--button-border-radius);-moz-box-shadow:var(--lm-button-box-shadow);-webkit-box-shadow:var(--lm-button-box-shadow);box-shadow:var(--lm-button-box-shadow)}.btn:hover{text-decoration:none;color:var(--lm-button-text-color-hover);background-color:var(--lm-button-bg-color-hover);background-image:var(--lm-button-bg-image-hover);border-color:var(--lm-button-border-color-hover);-moz-box-shadow:var(--lm-button-box-shadow-hover);-webkit-box-shadow:var(--lm-button-box-shadow-hover);box-shadow:var(--lm-button-box-shadow-hover)}.btn.active,.btn:focus{color:var(--lm-button-text-color-focus);background-color:var(--lm-button-bg-color-focus);background-image:var(--lm-button-bg-image-focus);border-color:var(--lm-button-border-color-focus);-moz-box-shadow:var(--lm-button-box-shadow-focus);-webkit-box-shadow:var(--lm-button-box-shadow-focus);box-shadow:var(--lm-button-box-shadow-focus);outline:var(--button-outline-width) var(--button-outline-type) var(--lm-button-outline-color-focus);outline-offset:var(--button-outline-offset)}.btn.active:hover,.btn:focus:hover{color:var(--lm-button-text-color-hover);background-color:var(--lm-button-bg-color-hover);background-image:var(--lm-button-bg-image-hover)}.dark-mode .btn{color:var(--dm-button-text-color);background-color:var(--dm-button-bg-color);background-image:var(--dm-button-bg-image);border-color:var(--dm-button-border-color);-moz-box-shadow:var(--dm-button-box-shadow);-webkit-box-shadow:var(--dm-button-box-shadow);box-shadow:var(--dm-button-box-shadow)}.dark-mode .btn:hover{color:var(--dm-button-text-color-hover);background-color:var(--dm-button-bg-color-hover);background-image:var(--dm-button-bg-image-hover);border-color:var(--dm-button-border-color-hover);-moz-box-shadow:var(--dm-button-box-shadow-hover);-webkit-box-shadow:var(--dm-button-box-shadow-hover);box-shadow:var(--dm-button-box-shadow-hover)}.dark-mode .btn.active,.dark-mode .btn:focus{color:var(--dm-button-text-color-focus);background-color:var(--dm-button-bg-color-focus);background-image:var(--dm-button-bg-image-focus);border-color:var(--dm-button-border-color-focus);-moz-box-shadow:var(--dm-button-box-shadow-focus);-webkit-box-shadow:var(--dm-button-box-shadow-focus);box-shadow:var(--dm-button-box-shadow-focus);outline-color:var(--dm-button-outline-color-focus)}.dark-mode .btn.active:hover,.dark-mode .btn:focus:hover{color:var(--dm-button-text-color-hover);background-color:var(--dm-button-bg-color-hover);background-image:var(--dm-button-bg-image-hover)}.btn.disabled,.btn:disabled{cursor:not-allowed;opacity:.6}.btn.disabled,.btn.disabled:focus,.btn.disabled:hover,.btn:disabled{color:var(--lm-button-text-color);background-color:var(--lm-button-bg-color);background-image:var(--lm-button-bg-image);border-color:var(--lm-button-border-color);-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;outline:0}.dark-mode .btn.disabled,.dark-mode .btn.disabled:focus,.dark-mode .btn.disabled:hover,.dark-mode .btn:disabled{color:var(--dm-button-text-color);background-color:var(--dm-button-bg-color);background-image:var(--dm-button-bg-image);border-color:var(--dm-button-border-color);-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;outline:0}.dark-mode .btn.alt-dm{color:var(--dm-button-alt-text-color);background-color:var(--dm-button-alt-bg-color);background-image:var(--dm-button-alt-bg-image);border-color:var(--dm-button-alt-border-color);-moz-box-shadow:var(--dm-button-alt-box-shadow);-webkit-box-shadow:var(--dm-button-alt-box-shadow);box-shadow:var(--dm-button-alt-box-shadow)}.dark-mode .btn.alt-dm:hover{color:var(--dm-button-alt-text-color-hover);background-color:var(--dm-button-alt-bg-color-hover);background-image:var(--dm-button-alt-bg-image-hover);border-color:var(--dm-button-alt-border-color-hover);-moz-box-shadow:var(--dm-button-alt-box-shadow-hover);-webkit-box-shadow:var(--dm-button-alt-box-shadow-hover);box-shadow:var(--dm-button-alt-box-shadow-hover)}.dark-mode .btn.alt-dm.active,.dark-mode .btn.alt-dm:focus{color:var(--dm-button-alt-text-color-focus);background-color:var(--dm-button-alt-bg-color-focus);background-image:var(--dm-button-alt-bg-image-focus);border-color:var(--dm-button-alt-border-color-focus);-moz-box-shadow:var(--dm-button-alt-box-shadow-focus);-webkit-box-shadow:var(--dm-button-alt-box-shadow-focus);box-shadow:var(--dm-button-alt-box-shadow-focus);outline-color:var(--dm-button-alt-outline-color-focus)}.dark-mode .btn.alt-dm.active:hover,.dark-mode .btn.alt-dm:focus:hover{color:var(--dm-button-alt-text-color-hover);background-color:var(--dm-button-alt-bg-color-hover);background-image:var(--dm-button-alt-bg-image-hover)}.dark-mode .btn.alt-dm.disabled,.dark-mode .btn.alt-dm.disabled:focus,.dark-mode .btn.alt-dm.disabled:hover,.dark-mode .btn.alt-dm:disabled{color:var(--dm-button-alt-text-color);background-color:var(--dm-button-alt-bg-color);background-image:var(--dm-button-alt-bg-image);border-color:var(--dm-button-alt-border-color);-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;outline:0}.btn-sm{height:var(--small-button-height);line-height:var(--small-button-line-height);padding:var(--small-button-padding);font-size:var(--small-button-font-size)}.btn-lg{height:var(--large-button-height);line-height:var(--large-button-line-height);padding:var(--large-button-padding);font-size:var(--large-button-font-size)}.btn-block{display:block;width:100%}.btn.btn-link{color:var(--lm-button-link-text-color);background-color:var(--lm-button-link-bg-color);background-image:var(--lm-button-link-bg-image);border-color:var(--lm-button-link-border-color);-moz-box-shadow:var(--lm-button-link-box-shadow);-webkit-box-shadow:var(--lm-button-link-box-shadow);box-shadow:var(--lm-button-link-box-shadow)}.btn.btn-link:hover{color:var(--lm-button-link-text-color-hover);background-color:var(--lm-button-link-bg-color-hover);background-image:var(--lm-button-link-bg-image-hover);border-color:var(--lm-button-link-border-color-hover);-moz-box-shadow:var(--lm-button-link-box-shadow-hover);-webkit-box-shadow:var(--lm-button-link-box-shadow-hover);box-shadow:var(--lm-button-link-box-shadow-hover)}.btn.btn-link.active,.btn.btn-link:focus{color:var(--lm-button-link-text-color-focus);background-color:var(--lm-button-link-bg-color-focus);background-image:var(--lm-button-link-bg-image-focus);border-color:var(--lm-button-link-border-color-focus);-moz-box-shadow:var(--lm-button-link-box-shadow-focus);-webkit-box-shadow:var(--lm-button-link-box-shadow-focus);box-shadow:var(--lm-button-link-box-shadow-focus);outline-color:var(--lm-button-link-outline-color-focus)}.btn.btn-link.active:hover,.btn.btn-link:focus:hover{color:var(--lm-button-link-text-color-hover);background-color:var(--lm-button-link-bg-color-hover);background-image:var(--lm-button-link-bg-image-hover)}.dark-mode .btn.btn-link{color:var(--dm-button-link-text-color);background-color:var(--dm-button-link-bg-color);background-image:var(--dm-button-link-bg-image);border-color:var(--dm-button-link-border-color);-moz-box-shadow:var(--dm-button-link-box-shadow);-webkit-box-shadow:var(--dm-button-link-box-shadow);box-shadow:var(--dm-button-link-box-shadow);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.dark-mode .btn.btn-link:hover{color:var(--dm-button-link-text-color-hover);background-color:var(--dm-button-link-bg-color-hover);background-image:var(--dm-button-link-bg-image-hover);border-color:var(--dm-button-link-border-color-hover);-moz-box-shadow:var(--dm-button-link-box-shadow-hover);-webkit-box-shadow:var(--dm-button-link-box-shadow-hover);box-shadow:var(--dm-button-link-box-shadow-hover)}.dark-mode .btn.btn-link.active,.dark-mode .btn.btn-link:focus{color:var(--dm-button-link-text-color-focus);background-color:var(--dm-button-link-bg-color-focus);background-image:var(--dm-button-link-bg-image-focus);border-color:var(--dm-button-link-border-color-focus);-moz-box-shadow:var(--dm-button-link-box-shadow-focus);-webkit-box-shadow:var(--dm-button-link-box-shadow-focus);box-shadow:var(--dm-button-link-box-shadow-focus);outline-color:var(--dm-button-link-outline-color-focus)}.dark-mode .btn.btn-link.active:hover,.dark-mode .btn.btn-link:focus:hover{color:var(--dm-button-link-text-color-hover);background-color:var(--dm-button-link-bg-color-hover);background-image:var(--dm-button-link-bg-image-hover)}.btn.btn-link.disabled,.btn.btn-link.disabled:focus,.btn.btn-link.disabled:hover,.btn.btn-link:disabled{color:var(--lm-button-link-text-color);background-color:var(--lm-button-link-bg-color);background-image:var(--lm-button-link-bg-image);border-color:var(--lm-button-link-border-color);-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;outline:0}.dark-mode .btn.btn-link.disabled,.dark-mode .btn.btn-link.disabled:focus,.dark-mode .btn.btn-link.disabled:hover,.dark-mode .btn.btn-link:disabled{color:var(--dm-button-link-text-color);background-color:var(--dm-button-link-bg-color);background-image:var(--dm-button-link-bg-image);border-color:var(--dm-button-link-border-color);-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;outline:0}.btn.btn-primary{color:var(--lm-button-primary-text-color);background-color:var(--lm-button-primary-bg-color);background-image:var(--lm-button-primary-bg-image);border-color:var(--lm-button-primary-border-color);-moz-box-shadow:var(--lm-button-primary-box-shadow);-webkit-box-shadow:var(--lm-button-primary-box-shadow);box-shadow:var(--lm-button-primary-box-shadow)}.btn.btn-primary:hover{color:var(--lm-button-primary-text-color-hover);background-color:var(--lm-button-primary-bg-color-hover);background-image:var(--lm-button-primary-bg-image-hover);border-color:var(--lm-button-primary-border-color-hover);-moz-box-shadow:var(--lm-button-primary-box-shadow-hover);-webkit-box-shadow:var(--lm-button-primary-box-shadow-hover);box-shadow:var(--lm-button-primary-box-shadow-hover)}.btn.btn-primary.active,.btn.btn-primary:focus{color:var(--lm-button-primary-text-color-focus);background-color:var(--lm-button-primary-bg-color-focus);background-image:var(--lm-button-primary-bg-image-focus);border-color:var(--lm-button-primary-border-color-focus);-moz-box-shadow:var(--lm-button-primary-box-shadow-focus);-webkit-box-shadow:var(--lm-button-primary-box-shadow-focus);box-shadow:var(--lm-button-primary-box-shadow-focus);outline-color:var(--lm-button-primary-outline-color-focus)}.btn.btn-primary.active:hover,.btn.btn-primary:focus:hover{color:var(--lm-button-primary-text-color-hover);background-color:var(--lm-button-primary-bg-color-hover);background-image:var(--lm-button-primary-bg-image-hover)}.dark-mode .btn.btn-primary{color:var(--dm-button-primary-text-color);background-color:var(--dm-button-primary-bg-color);background-image:var(--dm-button-primary-bg-image);border-color:var(--dm-button-primary-border-color);-moz-box-shadow:var(--dm-button-primary-box-shadow);-webkit-box-shadow:var(--dm-button-primary-box-shadow);box-shadow:var(--dm-button-primary-box-shadow);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.dark-mode .btn.btn-primary:hover{color:var(--dm-button-primary-text-color-hover);background-color:var(--dm-button-primary-bg-color-hover);background-image:var(--dm-button-primary-bg-image-hover);border-color:var(--dm-button-primary-border-color-hover);-moz-box-shadow:var(--dm-button-primary-box-shadow-hover);-webkit-box-shadow:var(--dm-button-primary-box-shadow-hover);box-shadow:var(--dm-button-primary-box-shadow-hover)}.dark-mode .btn.btn-primary.active,.dark-mode .btn.btn-primary:focus{color:var(--dm-button-primary-text-color-focus);background-color:var(--dm-button-primary-bg-color-focus);background-image:var(--dm-button-primary-bg-image-focus);border-color:var(--dm-button-primary-border-color-focus);-moz-box-shadow:var(--dm-button-primary-box-shadow-focus);-webkit-box-shadow:var(--dm-button-primary-box-shadow-focus);box-shadow:var(--dm-button-primary-box-shadow-focus);outline-color:var(--dm-button-primary-outline-color-focus)}.dark-mode .btn.btn-primary.active:hover,.dark-mode .btn.btn-primary:focus:hover{color:var(--dm-button-primary-text-color-hover);background-color:var(--dm-button-primary-bg-color-hover);background-image:var(--dm-button-primary-bg-image-hover)}.btn.btn-primary.disabled,.btn.btn-primary.disabled:focus,.btn.btn-primary.disabled:hover,.btn.btn-primary:disabled{color:var(--lm-button-primary-text-color);background-color:var(--lm-button-primary-bg-color);background-image:var(--lm-button-primary-bg-image);border-color:var(--lm-button-primary-border-color);-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;outline:0}.dark-mode .btn.btn-primary.disabled,.dark-mode .btn.btn-primary.disabled:focus,.dark-mode .btn.btn-primary.disabled:hover,.dark-mode .btn.btn-primary:disabled{color:var(--dm-button-primary-text-color);background-color:var(--dm-button-primary-bg-color);background-image:var(--dm-button-primary-bg-image);border-color:var(--dm-button-primary-border-color);-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;outline:0}.btn.btn-success{color:var(--lm-button-success-text-color);background-color:var(--lm-button-success-bg-color);background-image:var(--lm-button-success-bg-image);border-color:var(--lm-button-success-border-color);-moz-box-shadow:var(--lm-button-success-box-shadow);-webkit-box-shadow:var(--lm-button-success-box-shadow);box-shadow:var(--lm-button-success-box-shadow)}.btn.btn-success:hover{color:var(--lm-button-success-text-color-hover);background-color:var(--lm-button-success-bg-color-hover);background-image:var(--lm-button-success-bg-image-hover);border-color:var(--lm-button-success-border-color-hover);-moz-box-shadow:var(--lm-button-success-box-shadow-hover);-webkit-box-shadow:var(--lm-button-success-box-shadow-hover);box-shadow:var(--lm-button-success-box-shadow-hover)}.btn.btn-success.active,.btn.btn-success:focus{color:var(--lm-button-success-text-color-focus);background-color:var(--lm-button-success-bg-color-focus);background-image:var(--lm-button-success-bg-image-focus);border-color:var(--lm-button-success-border-color-focus);-moz-box-shadow:var(--lm-button-success-box-shadow-focus);-webkit-box-shadow:var(--lm-button-success-box-shadow-focus);box-shadow:var(--lm-button-success-box-shadow-focus);outline-color:var(--lm-button-success-outline-color-focus)}.btn.btn-success.active:hover,.btn.btn-success:focus:hover{color:var(--lm-button-success-text-color-hover);background-color:var(--lm-button-success-bg-color-hover);background-image:var(--lm-button-success-bg-image-hover)}.dark-mode .btn.btn-success{color:var(--dm-button-success-text-color);background-color:var(--dm-button-success-bg-color);background-image:var(--dm-button-success-bg-image);border-color:var(--dm-button-success-border-color);-moz-box-shadow:var(--dm-button-success-box-shadow);-webkit-box-shadow:var(--dm-button-success-box-shadow);box-shadow:var(--dm-button-success-box-shadow);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.dark-mode .btn.btn-success:hover{color:var(--dm-button-success-text-color-hover);background-color:var(--dm-button-success-bg-color-hover);background-image:var(--dm-button-success-bg-image-hover);border-color:var(--dm-button-success-border-color-hover);-moz-box-shadow:var(--dm-button-success-box-shadow-hover);-webkit-box-shadow:var(--dm-button-success-box-shadow-hover);box-shadow:var(--dm-button-success-box-shadow-hover)}.dark-mode .btn.btn-success.active,.dark-mode .btn.btn-success:focus{color:var(--dm-button-success-text-color-focus);background-color:var(--dm-button-success-bg-color-focus);background-image:var(--dm-button-success-bg-image-focus);border-color:var(--dm-button-success-border-color-focus);-moz-box-shadow:var(--dm-button-success-box-shadow-focus);-webkit-box-shadow:var(--dm-button-success-box-shadow-focus);box-shadow:var(--dm-button-success-box-shadow-focus);outline-color:var(--dm-button-success-outline-color-focus)}.dark-mode .btn.btn-success.active:hover,.dark-mode .btn.btn-success:focus:hover{color:var(--dm-button-success-text-color-hover);background-color:var(--dm-button-success-bg-color-hover);background-image:var(--dm-button-success-bg-image-hover)}.btn.btn-success.disabled,.btn.btn-success.disabled:focus,.btn.btn-success.disabled:hover,.btn.btn-success:disabled{color:var(--lm-button-success-text-color);background-color:var(--lm-button-success-bg-color);background-image:var(--lm-button-success-bg-image);border-color:var(--lm-button-success-border-color);-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;outline:0}.dark-mode .btn.btn-success.disabled,.dark-mode .btn.btn-success.disabled:focus,.dark-mode .btn.btn-success.disabled:hover,.dark-mode .btn.btn-success:disabled{color:var(--dm-button-success-text-color);background-color:var(--dm-button-success-bg-color);background-image:var(--dm-button-success-bg-image);border-color:var(--dm-button-success-border-color);-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;outline:0}.btn.btn-secondary{color:var(--lm-button-secondary-text-color);background-color:var(--lm-button-secondary-bg-color);background-image:var(--lm-button-secondary-bg-image);border-color:var(--lm-button-secondary-border-color);-moz-box-shadow:var(--lm-button-secondary-box-shadow);-webkit-box-shadow:var(--lm-button-secondary-box-shadow);box-shadow:var(--lm-button-secondary-box-shadow)}.btn.btn-secondary:hover{color:var(--lm-button-secondary-text-color-hover);background-color:var(--lm-button-secondary-bg-color-hover);background-image:var(--lm-button-secondary-bg-image-hover);border-color:var(--lm-button-secondary-border-color-hover);-moz-box-shadow:var(--lm-button-secondary-box-shadow-hover);-webkit-box-shadow:var(--lm-button-secondary-box-shadow-hover);box-shadow:var(--lm-button-secondary-box-shadow-hover)}.btn.btn-secondary.active,.btn.btn-secondary:focus{color:var(--lm-button-secondary-text-color-focus);background-color:var(--lm-button-secondary-bg-color-focus);background-image:var(--lm-button-secondary-bg-image-focus);border-color:var(--lm-button-secondary-border-color-focus);-moz-box-shadow:var(--lm-button-secondary-box-shadow-focus);-webkit-box-shadow:var(--lm-button-secondary-box-shadow-focus);box-shadow:var(--lm-button-secondary-box-shadow-focus);outline-color:var(--lm-button-secondary-outline-color-focus)}.btn.btn-secondary.active:hover,.btn.btn-secondary:focus:hover{color:var(--lm-button-secondary-text-color-hover);background-color:var(--lm-button-secondary-bg-color-hover);background-image:var(--lm-button-secondary-bg-image-hover)}.dark-mode .btn.btn-secondary{color:var(--dm-button-secondary-text-color);background-color:var(--dm-button-secondary-bg-color);background-image:var(--dm-button-secondary-bg-image);border-color:var(--dm-button-secondary-border-color);-moz-box-shadow:var(--dm-button-secondary-box-shadow);-webkit-box-shadow:var(--dm-button-secondary-box-shadow);box-shadow:var(--dm-button-secondary-box-shadow);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.dark-mode .btn.btn-secondary:hover{color:var(--dm-button-secondary-text-color-hover);background-color:var(--dm-button-secondary-bg-color-hover);background-image:var(--dm-button-secondary-bg-image-hover);border-color:var(--dm-button-secondary-border-color-hover);-moz-box-shadow:var(--dm-button-secondary-box-shadow-hover);-webkit-box-shadow:var(--dm-button-secondary-box-shadow-hover);box-shadow:var(--dm-button-secondary-box-shadow-hover)}.dark-mode .btn.btn-secondary.active,.dark-mode .btn.btn-secondary:focus{color:var(--dm-button-secondary-text-color-focus);background-color:var(--dm-button-secondary-bg-color-focus);background-image:var(--dm-button-secondary-bg-image-focus);border-color:var(--dm-button-secondary-border-color-focus);-moz-box-shadow:var(--dm-button-secondary-box-shadow-focus);-webkit-box-shadow:var(--dm-button-secondary-box-shadow-focus);box-shadow:var(--dm-button-secondary-box-shadow-focus);outline-color:var(--dm-button-secondary-outline-color-focus)}.dark-mode .btn.btn-secondary.active:hover,.dark-mode .btn.btn-secondary:focus:hover{color:var(--dm-button-secondary-text-color-hover);background-color:var(--dm-button-secondary-bg-color-hover);background-image:var(--dm-button-secondary-bg-image-hover)}.btn.btn-secondary.disabled,.btn.btn-secondary.disabled:focus,.btn.btn-secondary.disabled:hover,.btn.btn-secondary:disabled{color:var(--lm-button-secondary-text-color);background-color:var(--lm-button-secondary-bg-color);background-image:var(--lm-button-secondary-bg-image);border-color:var(--lm-button-secondary-border-color);-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;outline:0}.dark-mode .btn.btn-secondary.disabled,.dark-mode .btn.btn-secondary.disabled:focus,.dark-mode .btn.btn-secondary.disabled:hover,.dark-mode .btn.btn-secondary:disabled{color:var(--dm-button-secondary-text-color);background-color:var(--dm-button-secondary-bg-color);background-image:var(--dm-button-secondary-bg-image);border-color:var(--dm-button-secondary-border-color);-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;outline:0}.btn.btn-danger{color:var(--lm-button-danger-text-color);background-color:var(--lm-button-danger-bg-color);background-image:var(--lm-button-danger-bg-image);border-color:var(--lm-button-danger-border-color);-moz-box-shadow:var(--lm-button-danger-box-shadow);-webkit-box-shadow:var(--lm-button-danger-box-shadow);box-shadow:var(--lm-button-danger-box-shadow)}.btn.btn-danger:hover{color:var(--lm-button-danger-text-color-hover);background-color:var(--lm-button-danger-bg-color-hover);background-image:var(--lm-button-danger-bg-image-hover);border-color:var(--lm-button-danger-border-color-hover);-moz-box-shadow:var(--lm-button-danger-box-shadow-hover);-webkit-box-shadow:var(--lm-button-danger-box-shadow-hover);box-shadow:var(--lm-button-danger-box-shadow-hover)}.btn.btn-danger.active,.btn.btn-danger:focus{color:var(--lm-button-danger-text-color-focus);background-color:var(--lm-button-danger-bg-color-focus);background-image:var(--lm-button-danger-bg-image-focus);border-color:var(--lm-button-danger-border-color-focus);-moz-box-shadow:var(--lm-button-danger-box-shadow-focus);-webkit-box-shadow:var(--lm-button-danger-box-shadow-focus);box-shadow:var(--lm-button-danger-box-shadow-focus);outline-color:var(--lm-button-danger-outline-color-focus)}.btn.btn-danger.active:hover,.btn.btn-danger:focus:hover{color:var(--lm-button-danger-text-color-hover);background-color:var(--lm-button-danger-bg-color-hover);background-image:var(--lm-button-danger-bg-image-hover)}.dark-mode .btn.btn-danger{color:var(--dm-button-danger-text-color);background-color:var(--dm-button-danger-bg-color);background-image:var(--dm-button-danger-bg-image);border-color:var(--dm-button-danger-border-color);-moz-box-shadow:var(--dm-button-danger-box-shadow);-webkit-box-shadow:var(--dm-button-danger-box-shadow);box-shadow:var(--dm-button-danger-box-shadow);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.dark-mode .btn.btn-danger:hover{color:var(--dm-button-danger-text-color-hover);background-color:var(--dm-button-danger-bg-color-hover);background-image:var(--dm-button-danger-bg-image-hover);border-color:var(--dm-button-danger-border-color-hover);-moz-box-shadow:var(--dm-button-danger-box-shadow-hover);-webkit-box-shadow:var(--dm-button-danger-box-shadow-hover);box-shadow:var(--dm-button-danger-box-shadow-hover)}.dark-mode .btn.btn-danger.active,.dark-mode .btn.btn-danger:focus{color:var(--dm-button-danger-text-color-focus);background-color:var(--dm-button-danger-bg-color-focus);background-image:var(--dm-button-danger-bg-image-focus);border-color:var(--dm-button-danger-border-color-focus);-moz-box-shadow:var(--dm-button-danger-box-shadow-focus);-webkit-box-shadow:var(--dm-button-danger-box-shadow-focus);box-shadow:var(--dm-button-danger-box-shadow-focus);outline-color:var(--dm-button-danger-outline-color-focus)}.dark-mode .btn.btn-danger.active:hover,.dark-mode .btn.btn-danger:focus:hover{color:var(--dm-button-danger-text-color-hover);background-color:var(--dm-button-danger-bg-color-hover);background-image:var(--dm-button-danger-bg-image-hover)}.btn.btn-danger.disabled,.btn.btn-danger.disabled:focus,.btn.btn-danger.disabled:hover,.btn.btn-danger:disabled{color:var(--lm-button-danger-text-color);background-color:var(--lm-button-danger-bg-color);background-image:var(--lm-button-danger-bg-image);border-color:var(--lm-button-danger-border-color);-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;outline:0}.dark-mode .btn.btn-danger.disabled,.dark-mode .btn.btn-danger.disabled:focus,.dark-mode .btn.btn-danger.disabled:hover,.dark-mode .btn.btn-danger:disabled{color:var(--dm-button-danger-text-color);background-color:var(--dm-button-danger-bg-color);background-image:var(--dm-button-danger-bg-image);border-color:var(--dm-button-danger-border-color);-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;outline:0}.btn-square{width:var(--button-height);padding-left:0;padding-right:0}.btn-square.btn-lg,.btn-square.btn-sm{width:var(--small-button-height);padding-left:0;padding-right:0}.btn-square.btn-lg{width:var(--large-button-height)}.btn-rounded{border-radius:var(--button-rounded-border-radius)}.btn-rounded.btn-sm{border-radius:var(--small-button-rounded-border-radius)}.btn-rounded.btn-lg{border-radius:var(--large-button-rounded-border-radius)}ul{list-style:circle inside}ol{list-style:decimal inside}ol,ul{padding-left:0;margin-top:0}ol ol,ol ul,ul ol,ul ul{margin:1.5rem 0 1.5rem 3rem}li{margin-bottom:1rem}.code,code,kbd{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.code{font-size:var(--code-font-size);line-height:var(--code-line-height);padding:var(--code-padding);margin:var(--code-margin);color:var(--lm-code-text-color);background-color:var(--lm-code-bg-color);border:var(--code-border-width) solid var(--lm-code-border-color);border-radius:var(--code-border-radius)}.dark-mode .code{color:var(--dm-code-text-color);background-color:var(--dm-code-bg-color);border-color:var(--dm-code-border-color)}kbd{font-size:var(--kbd-font-size);line-height:var(--kbd-line-height);padding:var(--kbd-padding);margin:var(--kbd-margin);color:var(--lm-kbd-text-color);background-color:var(--lm-kbd-bg-color);border:var(--kbd-border-width) solid var(--lm-kbd-border-color);border-radius:var(--kbd-border-radius);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dark-mode kbd{color:var(--dm-kbd-text-color);background-color:var(--dm-kbd-bg-color);border-color:var(--dm-kbd-border-color)}.table-responsive{overflow-x:auto}.table-responsive .table td,.table-responsive .table th{white-space:nowrap}.table{width:100%}.table thead tr{border-bottom:var(--table-head-row-border-bottom-border-width) solid var(--lm-table-border-color)}.dark-mode .table tfoot tr,.dark-mode .table thead tr,.dark-mode .table-bordered,.dark-mode .table-outer-bordered{border-color:var(--dm-table-border-color)}.table tfoot tr{border-top:var(--table-foot-row-border-top-border-width) solid var(--lm-table-border-color)}.table tbody tr:not(:last-child){border-bottom:var(--table-border-width) solid var(--lm-table-border-color)}.dark-mode .table tbody tr:not(:last-child),.dark-mode .table-bordered td:not(:last-child),.dark-mode .table-bordered th:not(:last-child),.dark-mode .table-inner-bordered td:not(:last-child),.dark-mode .table-inner-bordered th:not(:last-child){border-color:var(--dm-table-border-color)}.table th{font-weight:var(--table-header-cell-font-weight)}.table td,.table th{text-align:left;padding:var(--table-padding)}.form-row.row-eq-spacing>[class^=col]:first-child,.table-no-outer-padding td:first-child,.table-no-outer-padding th:first-child{padding-left:0}.form-row.row-eq-spacing>[class^=col]:last-child,.table-no-outer-padding td:last-child,.table-no-outer-padding th:last-child{padding-right:0}.table-bordered,.table-outer-bordered{border:var(--table-border-width) solid var(--lm-table-border-color)}.table-bordered td:not(:last-child),.table-bordered th:not(:last-child),.table-inner-bordered td:not(:last-child),.table-inner-bordered th:not(:last-child){border-right:var(--table-border-width) solid var(--lm-table-border-color)}.table-hover tbody tr:hover td,.table-hover tbody tr:hover th{background-color:var(--lm-table-hoverable-bg-color-hover)}.dark-mode .table-hover tbody tr:hover td,.dark-mode .table-hover tbody tr:hover th{background-color:var(--dm-table-hoverable-bg-color-hover)}.table-striped tbody tr:nth-child(odd){background-color:var(--lm-table-striped-bg-color)}.dark-mode .table-striped tbody tr:nth-child(odd){background-color:var(--dm-table-striped-bg-color)}.table tbody tr.table-primary,.table-bordered tbody tr.table-primary,.table-inner-bordered tbody tr.table-primary,.table-striped tbody tr.table-primary{color:var(--lm-table-primary-text-color);background-color:var(--lm-table-primary-bg-color);border-color:var(--lm-table-primary-row-border-color)}.table tbody tr.table-primary td,.table tbody tr.table-primary th,.table-bordered tbody tr.table-primary td,.table-bordered tbody tr.table-primary th,.table-inner-bordered tbody tr.table-primary td,.table-inner-bordered tbody tr.table-primary th{border-color:var(--lm-table-primary-cell-border-color)}.table tbody tr.table-success,.table-bordered tbody tr.table-success,.table-inner-bordered tbody tr.table-success,.table-striped tbody tr.table-success{color:var(--lm-table-success-text-color);background-color:var(--lm-table-success-bg-color);border-color:var(--lm-table-success-row-border-color)}.table tbody tr.table-success td,.table tbody tr.table-success th,.table-bordered tbody tr.table-success td,.table-bordered tbody tr.table-success th,.table-inner-bordered tbody tr.table-success td,.table-inner-bordered tbody tr.table-success th{border-color:var(--lm-table-success-cell-border-color)}.table tbody tr.table-secondary,.table-bordered tbody tr.table-secondary,.table-inner-bordered tbody tr.table-secondary,.table-striped tbody tr.table-secondary{color:var(--lm-table-secondary-text-color);background-color:var(--lm-table-secondary-bg-color);border-color:var(--lm-table-secondary-row-border-color)}.table tbody tr.table-secondary td,.table tbody tr.table-secondary th,.table-bordered tbody tr.table-secondary td,.table-bordered tbody tr.table-secondary th,.table-inner-bordered tbody tr.table-secondary td,.table-inner-bordered tbody tr.table-secondary th{border-color:var(--lm-table-secondary-cell-border-color)}.table tbody tr.table-danger,.table-bordered tbody tr.table-danger,.table-inner-bordered tbody tr.table-danger,.table-striped tbody tr.table-danger{color:var(--lm-table-danger-text-color);background-color:var(--lm-table-danger-bg-color);border-color:var(--lm-table-danger-row-border-color)}.table tbody tr.table-danger td,.table tbody tr.table-danger th,.table-bordered tbody tr.table-danger td,.table-bordered tbody tr.table-danger th,.table-inner-bordered tbody tr.table-danger td,.table-inner-bordered tbody tr.table-danger th{border-color:var(--lm-table-danger-cell-border-color)}.dark-mode .table tbody tr.table-primary,.dark-mode .table-bordered tbody tr.table-primary,.dark-mode .table-inner-bordered tbody tr.table-primary,.dark-mode .table-striped tbody tr.table-primary{color:var(--dm-table-primary-text-color);background-color:var(--dm-table-primary-bg-color);border-color:var(--dm-table-primary-row-border-color)}.dark-mode .table tbody tr.table-primary td,.dark-mode .table tbody tr.table-primary th,.dark-mode .table-bordered tbody tr.table-primary td,.dark-mode .table-bordered tbody tr.table-primary th,.dark-mode .table-inner-bordered tbody tr.table-primary td,.dark-mode .table-inner-bordered tbody tr.table-primary th{border-color:var(--dm-table-primary-cell-border-color)}.dark-mode .table tbody tr.table-success,.dark-mode .table-bordered tbody tr.table-success,.dark-mode .table-inner-bordered tbody tr.table-success,.dark-mode .table-striped tbody tr.table-success{color:var(--dm-table-success-text-color);background-color:var(--dm-table-success-bg-color);border-color:var(--dm-table-success-row-border-color)}.dark-mode .table tbody tr.table-success td,.dark-mode .table tbody tr.table-success th,.dark-mode .table-bordered tbody tr.table-success td,.dark-mode .table-bordered tbody tr.table-success th,.dark-mode .table-inner-bordered tbody tr.table-success td,.dark-mode .table-inner-bordered tbody tr.table-success th{border-color:var(--dm-table-success-cell-border-color)}.dark-mode .table tbody tr.table-secondary,.dark-mode .table-bordered tbody tr.table-secondary,.dark-mode .table-inner-bordered tbody tr.table-secondary,.dark-mode .table-striped tbody tr.table-secondary{color:var(--dm-table-secondary-text-color);background-color:var(--dm-table-secondary-bg-color);border-color:var(--dm-table-secondary-row-border-color)}.dark-mode .table tbody tr.table-secondary td,.dark-mode .table tbody tr.table-secondary th,.dark-mode .table-bordered tbody tr.table-secondary td,.dark-mode .table-bordered tbody tr.table-secondary th,.dark-mode .table-inner-bordered tbody tr.table-secondary td,.dark-mode .table-inner-bordered tbody tr.table-secondary th{border-color:var(--dm-table-secondary-cell-border-color)}.dark-mode .table tbody tr.table-danger,.dark-mode .table-bordered tbody tr.table-danger,.dark-mode .table-inner-bordered tbody tr.table-danger,.dark-mode .table-striped tbody tr.table-danger{color:var(--dm-table-danger-text-color);background-color:var(--dm-table-danger-bg-color);border-color:var(--dm-table-danger-row-border-color)}.dark-mode .table tbody tr.table-danger td,.dark-mode .table tbody tr.table-danger th,.dark-mode .table-bordered tbody tr.table-danger td,.dark-mode .table-bordered tbody tr.table-danger th,.dark-mode .table-inner-bordered tbody tr.table-danger td,.dark-mode .table-inner-bordered tbody tr.table-danger th{border-color:var(--dm-table-danger-cell-border-color)}label{display:inline-block;margin-bottom:var(--label-margin-bottom)}label.required:after{content:"*";color:var(--danger-color);margin-left:.3rem}.form-group{margin-bottom:var(--form-group-margin-bottom)}.form-row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:var(--form-row-and-col-margin-bottom)}.form-row.row-eq-spacing>[class^=col]{padding-left:var(--form-col-horizontal-padding);padding-right:var(--form-col-horizontal-padding)}@media (min-width:577px){.form-row.row-eq-spacing-sm:not(.row-eq-spacing)>[class^=col]{padding-left:var(--form-col-horizontal-padding);padding-right:var(--form-col-horizontal-padding)}.form-row.row-eq-spacing-sm:not(.row-eq-spacing)>[class^=col]:first-child{padding-left:0}.form-row.row-eq-spacing-sm:not(.row-eq-spacing)>[class^=col]:last-child{padding-right:0}}@media (max-width:576px){.form-row.row-eq-spacing-sm:not(.row-eq-spacing)>[class^=col]:not(:last-child){margin-bottom:var(--form-row-and-col-margin-bottom)}}@media (min-width:769px){.form-row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]{padding-left:var(--form-col-horizontal-padding);padding-right:var(--form-col-horizontal-padding)}.form-row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]:first-child{padding-left:0}.form-row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]:last-child{padding-right:0}}@media (max-width:768px){.form-row.row-eq-spacing-md:not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]:not(:last-child){margin-bottom:var(--form-row-and-col-margin-bottom)}}@media (min-width:993px){.form-row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]{padding-left:var(--form-col-horizontal-padding);padding-right:var(--form-col-horizontal-padding)}.form-row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]:first-child{padding-left:0}.form-row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]:last-child{padding-right:0}}@media (max-width:992px){.form-row.row-eq-spacing-lg:not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]:not(:last-child){margin-bottom:var(--form-row-and-col-margin-bottom)}}@media (min-width:1201px){.form-row.row-eq-spacing-xl:not(.row-eq-spacing-lg):not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]{padding-left:var(--form-col-horizontal-padding);padding-right:var(--form-col-horizontal-padding)}.form-row.row-eq-spacing-xl:not(.row-eq-spacing-lg):not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]:first-child{padding-left:0}.form-row.row-eq-spacing-xl:not(.row-eq-spacing-lg):not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]:last-child{padding-right:0}}@media (max-width:1200px){.form-row.row-eq-spacing-xl:not(.row-eq-spacing-lg):not(.row-eq-spacing-md):not(.row-eq-spacing-sm):not(.row-eq-spacing)>[class^=col]:not(:last-child){margin-bottom:var(--form-row-and-col-margin-bottom)}}.form-text{color:var(--lm-form-text-text-color);font-size:var(--form-text-font-size);padding-top:var(--form-text-padding-top);padding-bottom:var(--form-text-padding-bottom);border-bottom:var(--form-text-border-width) var(--form-text-border-type) var(--lm-form-text-border-color)}.dark-mode .form-text{color:var(--dm-form-text-text-color);border-color:var(--dm-form-text-border-color)}.invalid-feedback{color:var(--lm-invalid-feedback-text-color);font-size:var(--invalid-feedback-font-size);padding-top:var(--invalid-feedback-padding-top);padding-bottom:var(--invalid-feedback-padding-bottom)}.dark-mode .invalid-feedback{color:var(--dm-invalid-feedback-text-color)}.form-inline,.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-group{width:100%}.form-inline .form-group>.form-control,.form-inline .form-group>.input-group,.form-inline>.form-control,.form-inline>.input-group{position:relative;-ms-flex:1 1 0%;flex:1 1 0%;min-width:0}.form-inline .form-group>.custom-control,.form-inline .form-group>.form-text,.form-inline .form-group>.invalid-feedback,.form-inline .form-group>label,.form-inline>.custom-control,.form-inline>.form-text,.form-inline>.invalid-feedback,.form-inline>label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-width:0}.form-inline .form-group>.form-text,.form-inline .form-group>.invalid-feedback,.form-inline .form-group>label,.form-inline>.form-text,.form-inline>.invalid-feedback,.form-inline>label{margin:0;padding:0;border:0;white-space:nowrap}.form-inline .form-group>.btn:not(:last-child),.form-inline .form-group>.custom-control,.form-inline .form-group>.form-control:not(:last-child),.form-inline .form-group>.form-text:not(:last-child),.form-inline .form-group>.input-group:not(:last-child),.form-inline .form-group>.invalid-feedback:not(:last-child),.form-inline .form-group>a.btn:not(:last-child),.form-inline .form-group>label:not(:last-child),.form-inline>.btn:not(:last-child),.form-inline>.custom-control,.form-inline>.form-control:not(:last-child),.form-inline>.form-text:not(:last-child),.form-inline>.input-group:not(:last-child),.form-inline>.invalid-feedback:not(:last-child),.form-inline>a.btn:not(:last-child),.form-inline>label:not(:last-child){margin-right:var(--form-inline-horizontal-margin)}@media (min-width:577px){.form-inline-sm,.form-inline-sm .form-group{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline-sm .form-group{width:100%}.form-inline-sm .form-group>.form-control,.form-inline-sm .form-group>.input-group,.form-inline-sm>.form-control,.form-inline-sm>.input-group{position:relative;-ms-flex:1 1 0%;flex:1 1 0%;min-width:0}.form-inline-sm .form-group>.custom-control,.form-inline-sm .form-group>.form-text,.form-inline-sm .form-group>.invalid-feedback,.form-inline-sm .form-group>label,.form-inline-sm>.custom-control,.form-inline-sm>.form-text,.form-inline-sm>.invalid-feedback,.form-inline-sm>label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-width:0}.form-inline-sm .form-group>.form-text,.form-inline-sm .form-group>.invalid-feedback,.form-inline-sm .form-group>label,.form-inline-sm>.form-text,.form-inline-sm>.invalid-feedback,.form-inline-sm>label{margin:0;padding:0;border:0;white-space:nowrap}.form-inline-sm .form-group>.btn:not(:last-child),.form-inline-sm .form-group>.custom-control,.form-inline-sm .form-group>.form-control:not(:last-child),.form-inline-sm .form-group>.form-text:not(:last-child),.form-inline-sm .form-group>.input-group:not(:last-child),.form-inline-sm .form-group>.invalid-feedback:not(:last-child),.form-inline-sm .form-group>a.btn:not(:last-child),.form-inline-sm .form-group>label:not(:last-child),.form-inline-sm>.btn:not(:last-child),.form-inline-sm>.custom-control,.form-inline-sm>.form-control:not(:last-child),.form-inline-sm>.form-text:not(:last-child),.form-inline-sm>.input-group:not(:last-child),.form-inline-sm>.invalid-feedback:not(:last-child),.form-inline-sm>a.btn:not(:last-child),.form-inline-sm>label:not(:last-child){margin-right:var(--form-inline-horizontal-margin)}}@media (max-width:576px){.form-inline-sm .form-group>.btn:not(:last-child),.form-inline-sm .form-group>.custom-control,.form-inline-sm .form-group>.form-control:not(:last-child),.form-inline-sm .form-group>.input-group:not(:last-child),.form-inline-sm .form-group>a.btn:not(:last-child),.form-inline-sm>.btn:not(:last-child),.form-inline-sm>.custom-control,.form-inline-sm>.form-control:not(:last-child),.form-inline-sm>.input-group:not(:last-child),.form-inline-sm>a.btn:not(:last-child){margin-bottom:var(--form-group-margin-bottom)}}@media (min-width:769px){.form-inline-md,.form-inline-md .form-group{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline-md .form-group{width:100%}.form-inline-md .form-group>.form-control,.form-inline-md .form-group>.input-group,.form-inline-md>.form-control,.form-inline-md>.input-group{position:relative;-ms-flex:1 1 0%;flex:1 1 0%;min-width:0}.form-inline-md .form-group>.custom-control,.form-inline-md .form-group>.form-text,.form-inline-md .form-group>.invalid-feedback,.form-inline-md .form-group>label,.form-inline-md>.custom-control,.form-inline-md>.form-text,.form-inline-md>.invalid-feedback,.form-inline-md>label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-width:0}.form-inline-md .form-group>.form-text,.form-inline-md .form-group>.invalid-feedback,.form-inline-md .form-group>label,.form-inline-md>.form-text,.form-inline-md>.invalid-feedback,.form-inline-md>label{margin:0;padding:0;border:0;white-space:nowrap}.form-inline-md .form-group>.btn:not(:last-child),.form-inline-md .form-group>.custom-control,.form-inline-md .form-group>.form-control:not(:last-child),.form-inline-md .form-group>.form-text:not(:last-child),.form-inline-md .form-group>.input-group:not(:last-child),.form-inline-md .form-group>.invalid-feedback:not(:last-child),.form-inline-md .form-group>a.btn:not(:last-child),.form-inline-md .form-group>label:not(:last-child),.form-inline-md>.btn:not(:last-child),.form-inline-md>.custom-control,.form-inline-md>.form-control:not(:last-child),.form-inline-md>.form-text:not(:last-child),.form-inline-md>.input-group:not(:last-child),.form-inline-md>.invalid-feedback:not(:last-child),.form-inline-md>a.btn:not(:last-child),.form-inline-md>label:not(:last-child){margin-right:var(--form-inline-horizontal-margin)}}@media (max-width:768px){.form-inline-md .form-group>.btn:not(:last-child),.form-inline-md .form-group>.custom-control,.form-inline-md .form-group>.form-control:not(:last-child),.form-inline-md .form-group>.input-group:not(:last-child),.form-inline-md .form-group>a.btn:not(:last-child),.form-inline-md>.btn:not(:last-child),.form-inline-md>.custom-control,.form-inline-md>.form-control:not(:last-child),.form-inline-md>.input-group:not(:last-child),.form-inline-md>a.btn:not(:last-child){margin-bottom:var(--form-group-margin-bottom)}}@media (min-width:993px){.form-inline-lg,.form-inline-lg .form-group{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline-lg .form-group{width:100%}.form-inline-lg .form-group>.form-control,.form-inline-lg .form-group>.input-group,.form-inline-lg>.form-control,.form-inline-lg>.input-group{position:relative;-ms-flex:1 1 0%;flex:1 1 0%;min-width:0}.form-inline-lg .form-group>.custom-control,.form-inline-lg .form-group>.form-text,.form-inline-lg .form-group>.invalid-feedback,.form-inline-lg .form-group>label,.form-inline-lg>.custom-control,.form-inline-lg>.form-text,.form-inline-lg>.invalid-feedback,.form-inline-lg>label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-width:0}.form-inline-lg .form-group>.form-text,.form-inline-lg .form-group>.invalid-feedback,.form-inline-lg .form-group>label,.form-inline-lg>.form-text,.form-inline-lg>.invalid-feedback,.form-inline-lg>label{margin:0;padding:0;border:0;white-space:nowrap}.form-inline-lg .form-group>.btn:not(:last-child),.form-inline-lg .form-group>.custom-control,.form-inline-lg .form-group>.form-control:not(:last-child),.form-inline-lg .form-group>.form-text:not(:last-child),.form-inline-lg .form-group>.input-group:not(:last-child),.form-inline-lg .form-group>.invalid-feedback:not(:last-child),.form-inline-lg .form-group>a.btn:not(:last-child),.form-inline-lg .form-group>label:not(:last-child),.form-inline-lg>.btn:not(:last-child),.form-inline-lg>.custom-control,.form-inline-lg>.form-control:not(:last-child),.form-inline-lg>.form-text:not(:last-child),.form-inline-lg>.input-group:not(:last-child),.form-inline-lg>.invalid-feedback:not(:last-child),.form-inline-lg>a.btn:not(:last-child),.form-inline-lg>label:not(:last-child){margin-right:var(--form-inline-horizontal-margin)}}@media (max-width:992px){.form-inline-lg .form-group>.btn:not(:last-child),.form-inline-lg .form-group>.custom-control,.form-inline-lg .form-group>.form-control:not(:last-child),.form-inline-lg .form-group>.input-group:not(:last-child),.form-inline-lg .form-group>a.btn:not(:last-child),.form-inline-lg>.btn:not(:last-child),.form-inline-lg>.custom-control,.form-inline-lg>.form-control:not(:last-child),.form-inline-lg>.input-group:not(:last-child),.form-inline-lg>a.btn:not(:last-child){margin-bottom:var(--form-group-margin-bottom)}}@media (min-width:1201px){.form-inline-xl,.form-inline-xl .form-group{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline-xl .form-group{width:100%}.form-inline-xl .form-group>.form-control,.form-inline-xl .form-group>.input-group,.form-inline-xl>.form-control,.form-inline-xl>.input-group{position:relative;-ms-flex:1 1 0%;flex:1 1 0%;min-width:0}.form-inline-xl .form-group>.custom-control,.form-inline-xl .form-group>.form-text,.form-inline-xl .form-group>.invalid-feedback,.form-inline-xl .form-group>label,.form-inline-xl>.custom-control,.form-inline-xl>.form-text,.form-inline-xl>.invalid-feedback,.form-inline-xl>label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-width:0}.form-inline-xl .form-group>.form-text,.form-inline-xl .form-group>.invalid-feedback,.form-inline-xl .form-group>label,.form-inline-xl>.form-text,.form-inline-xl>.invalid-feedback,.form-inline-xl>label{margin:0;padding:0;border:0;white-space:nowrap}.form-inline-xl .form-group>.btn:not(:last-child),.form-inline-xl .form-group>.custom-control,.form-inline-xl .form-group>.form-control:not(:last-child),.form-inline-xl .form-group>.form-text:not(:last-child),.form-inline-xl .form-group>.input-group:not(:last-child),.form-inline-xl .form-group>.invalid-feedback:not(:last-child),.form-inline-xl .form-group>a.btn:not(:last-child),.form-inline-xl .form-group>label:not(:last-child),.form-inline-xl>.btn:not(:last-child),.form-inline-xl>.custom-control,.form-inline-xl>.form-control:not(:last-child),.form-inline-xl>.form-text:not(:last-child),.form-inline-xl>.input-group:not(:last-child),.form-inline-xl>.invalid-feedback:not(:last-child),.form-inline-xl>a.btn:not(:last-child),.form-inline-xl>label:not(:last-child){margin-right:var(--form-inline-horizontal-margin)}}@media (max-width:1200px){.form-inline-xl .form-group>.btn:not(:last-child),.form-inline-xl .form-group>.custom-control,.form-inline-xl .form-group>.form-control:not(:last-child),.form-inline-xl .form-group>.input-group:not(:last-child),.form-inline-xl .form-group>a.btn:not(:last-child),.form-inline-xl>.btn:not(:last-child),.form-inline-xl>.custom-control,.form-inline-xl>.form-control:not(:last-child),.form-inline-xl>.input-group:not(:last-child),.form-inline-xl>a.btn:not(:last-child){margin-bottom:var(--form-group-margin-bottom)}}.form-control{display:block;width:100%;height:var(--input-height);padding-left:var(--input-horizontal-padding);padding-right:var(--input-horizontal-padding);color:var(--lm-input-text-color);background-color:var(--lm-input-bg-color);border:var(--input-border-width) solid var(--lm-input-border-color);border-radius:var(--input-border-radius);-moz-box-shadow:var(--lm-input-box-shadow);-webkit-box-shadow:var(--lm-input-box-shadow);box-shadow:var(--lm-input-box-shadow);-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-control-sm{height:var(--small-input-height);padding-left:var(--small-input-horizontal-padding);padding-right:var(--small-input-horizontal-padding);font-size:var(--small-input-font-size)}.form-control-lg{height:var(--large-input-height);padding-left:var(--large-input-horizontal-padding);padding-right:var(--large-input-horizontal-padding);font-size:var(--large-input-font-size)}textarea.form-control{max-width:100%;min-height:10rem;padding:var(--input-horizontal-padding);line-height:var(--textarea-line-height)}textarea.form-control-sm{min-height:8rem;padding:var(--small-input-horizontal-padding)}textarea.form-control-lg{min-height:14rem;padding:var(--large-input-horizontal-padding)}.form-control:hover{color:var(--lm-input-text-color-hover);background-color:var(--lm-input-bg-color-hover);border-color:var(--lm-input-border-color-hover);-moz-box-shadow:var(--lm-input-box-shadow-hover);-webkit-box-shadow:var(--lm-input-box-shadow-hover);box-shadow:var(--lm-input-box-shadow-hover)}.form-control:focus{color:var(--lm-input-text-color-focus);background-color:var(--lm-input-bg-color-focus);border-color:var(--lm-input-border-color-focus);-moz-box-shadow:var(--lm-input-box-shadow-focus);-webkit-box-shadow:var(--lm-input-box-shadow-focus);box-shadow:var(--lm-input-box-shadow-focus);outline:0}::-webkit-input-placeholder{color:var(--lm-input-placeholder-text-color)}:-ms-input-placeholder{color:var(--lm-input-placeholder-text-color)}::placeholder{color:var(--lm-input-placeholder-text-color)}.form-control.disabled,.form-control.disabled:hover,.form-control:disabled,.form-control:disabled:hover{cursor:not-allowed;opacity:.6;color:var(--lm-input-text-color-disabled);background-color:var(--lm-input-bg-color-disabled);border-color:var(--lm-input-border-color-disabled)}.dark-mode .form-control{color:var(--dm-input-text-color);background-color:var(--dm-input-bg-color);border-color:var(--dm-input-border-color);-moz-box-shadow:var(--dm-input-box-shadow);-webkit-box-shadow:var(--dm-input-box-shadow);box-shadow:var(--dm-input-box-shadow)}.dark-mode .form-control:hover{color:var(--dm-input-text-color-hover);background-color:var(--dm-input-bg-color-hover);border-color:var(--dm-input-border-color-hover);-moz-box-shadow:var(--dm-input-box-shadow-hover);-webkit-box-shadow:var(--dm-input-box-shadow-hover);box-shadow:var(--dm-input-box-shadow-hover)}.dark-mode .form-control:focus{color:var(--dm-input-text-color-focus);background-color:var(--dm-input-bg-color-focus);border-color:var(--dm-input-border-color-focus);-moz-box-shadow:var(--dm-input-box-shadow-focus);-webkit-box-shadow:var(--dm-input-box-shadow-focus);box-shadow:var(--dm-input-box-shadow-focus);outline:0}.dark-mode ::-webkit-input-placeholder{color:var(--dm-input-placeholder-text-color)}.dark-mode :-ms-input-placeholder{color:var(--dm-input-placeholder-text-color)}.dark-mode ::placeholder{color:var(--dm-input-placeholder-text-color)}.dark-mode .form-control.disabled,.dark-mode .form-control.disabled:hover,.dark-mode .form-control:disabled,.dark-mode .form-control:disabled:hover{color:var(--dm-input-text-color-disabled);background-color:var(--dm-input-bg-color-disabled);border-color:var(--dm-input-border-color-disabled)}.dark-mode .form-control.alt-dm{color:var(--dm-input-alt-text-color);background-color:var(--dm-input-alt-bg-color);border-color:var(--dm-input-alt-border-color);-moz-box-shadow:var(--dm-input-alt-box-shadow);-webkit-box-shadow:var(--dm-input-alt-box-shadow);box-shadow:var(--dm-input-alt-box-shadow)}.dark-mode .form-control.alt-dm:hover{color:var(--dm-input-alt-text-color-hover);background-color:var(--dm-input-alt-bg-color-hover);border-color:var(--dm-input-alt-border-color-hover);-moz-box-shadow:var(--dm-input-alt-box-shadow-hover);-webkit-box-shadow:var(--dm-input-alt-box-shadow-hover);box-shadow:var(--dm-input-alt-box-shadow-hover)}.dark-mode .form-control.alt-dm:focus{color:var(--dm-input-alt-text-color-focus);background-color:var(--dm-input-alt-bg-color-focus);border-color:var(--dm-input-alt-border-color-focus);-moz-box-shadow:var(--dm-input-alt-box-shadow-focus);-webkit-box-shadow:var(--dm-input-alt-box-shadow-focus);box-shadow:var(--dm-input-alt-box-shadow-focus);outline:0}.dark-mode .form-control.alt-dm::-webkit-input-placeholder{color:var(--dm-input-alt-placeholder-text-color)}.dark-mode .form-control.alt-dm:-ms-input-placeholder{color:var(--dm-input-alt-placeholder-text-color)}.dark-mode .form-control.alt-dm::placeholder{color:var(--dm-input-alt-placeholder-text-color)}.dark-mode .form-control.alt-dm.disabled,.dark-mode .form-control.alt-dm.disabled:hover,.dark-mode .form-control.alt-dm:disabled,.dark-mode .form-control.alt-dm:disabled:hover{color:var(--dm-input-alt-text-color-disabled);background-color:var(--dm-input-alt-bg-color-disabled);border-color:var(--dm-input-alt-border-color-disabled)}.form-control.is-invalid,.form-group.is-invalid .form-control{color:var(--lm-input-invalid-text-color);background-color:var(--lm-input-invalid-bg-color);border-color:var(--lm-input-invalid-border-color);-moz-box-shadow:var(--lm-input-invalid-box-shadow);-webkit-box-shadow:var(--lm-input-invalid-box-shadow);box-shadow:var(--lm-input-invalid-box-shadow)}.form-control.is-invalid:hover,.form-group.is-invalid .form-control:hover{color:var(--lm-input-invalid-text-color-hover);background-color:var(--lm-input-invalid-bg-color-hover);border-color:var(--lm-input-invalid-border-color-hover);-moz-box-shadow:var(--lm-input-invalid-box-shadow-hover);-webkit-box-shadow:var(--lm-input-invalid-box-shadow-hover);box-shadow:var(--lm-input-invalid-box-shadow-hover)}.form-control.is-invalid:focus,.form-group.is-invalid .form-control:focus{color:var(--lm-input-invalid-text-color-focus);background-color:var(--lm-input-invalid-bg-color-focus);border-color:var(--lm-input-invalid-border-color-focus);-moz-box-shadow:var(--lm-input-invalid-box-shadow-focus);-webkit-box-shadow:var(--lm-input-invalid-box-shadow-focus);box-shadow:var(--lm-input-invalid-box-shadow-focus);outline:0}.form-control.is-invalid::-webkit-input-placeholder,.form-group.is-invalid .form-control::-webkit-input-placeholder{color:var(--lm-input-invalid-placeholder-text-color)}.form-control.is-invalid:-ms-input-placeholder,.form-group.is-invalid .form-control:-ms-input-placeholder{color:var(--lm-input-invalid-placeholder-text-color)}.form-control.is-invalid::placeholder,.form-group.is-invalid .form-control::placeholder{color:var(--lm-input-invalid-placeholder-text-color)}.dark-mode .form-control.is-invalid,.dark-mode .form-group.is-invalid .form-control{color:var(--dm-input-invalid-text-color);background-color:var(--dm-input-invalid-bg-color);border-color:var(--dm-input-invalid-border-color);-moz-box-shadow:var(--dm-input-invalid-box-shadow);-webkit-box-shadow:var(--dm-input-invalid-box-shadow);box-shadow:var(--dm-input-invalid-box-shadow)}.dark-mode .form-control.is-invalid:hover,.dark-mode .form-group.is-invalid .form-control:hover{color:var(--dm-input-invalid-text-color-hover);background-color:var(--dm-input-invalid-bg-color-hover);border-color:var(--dm-input-invalid-border-color-hover);-moz-box-shadow:var(--dm-input-invalid-box-shadow-hover);-webkit-box-shadow:var(--dm-input-invalid-box-shadow-hover);box-shadow:var(--dm-input-invalid-box-shadow-hover)}.dark-mode .form-control.is-invalid:focus,.dark-mode .form-group.is-invalid .form-control:focus{color:var(--dm-input-invalid-text-color-focus);background-color:var(--dm-input-invalid-bg-color-focus);border-color:var(--dm-input-invalid-border-color-focus);-moz-box-shadow:var(--dm-input-invalid-box-shadow-focus);-webkit-box-shadow:var(--dm-input-invalid-box-shadow-focus);box-shadow:var(--dm-input-invalid-box-shadow-focus);outline:0}.dark-mode .form-control.is-invalid::-webkit-input-placeholder,.dark-mode .form-group.is-invalid .form-control::-webkit-input-placeholder{color:var(--dm-input-invalid-placeholder-text-color)}.dark-mode .form-control.is-invalid:-ms-input-placeholder,.dark-mode .form-group.is-invalid .form-control:-ms-input-placeholder{color:var(--dm-input-invalid-placeholder-text-color)}.dark-mode .form-control.is-invalid::placeholder,.dark-mode .form-group.is-invalid .form-control::placeholder{color:var(--dm-input-invalid-placeholder-text-color)}.dark-mode .form-control.alt-dm.is-invalid,.dark-mode .form-group.is-invalid .form-control.alt-dm{color:var(--dm-input-alt-invalid-text-color);background-color:var(--dm-input-alt-invalid-bg-color);border-color:var(--dm-input-alt-invalid-border-color);-moz-box-shadow:var(--dm-input-alt-invalid-box-shadow);-webkit-box-shadow:var(--dm-input-alt-invalid-box-shadow);box-shadow:var(--dm-input-alt-invalid-box-shadow)}.dark-mode .form-control.alt-dm.is-invalid:hover,.dark-mode .form-group.is-invalid .form-control.alt-dm:hover{color:var(--dm-input-alt-invalid-text-color-hover);background-color:var(--dm-input-alt-invalid-bg-color-hover);border-color:var(--dm-input-alt-invalid-border-color-hover);-moz-box-shadow:var(--dm-input-alt-invalid-box-shadow-hover);-webkit-box-shadow:var(--dm-input-alt-invalid-box-shadow-hover);box-shadow:var(--dm-input-alt-invalid-box-shadow-hover)}.dark-mode .form-control.alt-dm.is-invalid:focus,.dark-mode .form-group.is-invalid .form-control.alt-dm:focus{color:var(--dm-input-alt-invalid-text-color-focus);background-color:var(--dm-input-alt-invalid-bg-color-focus);border-color:var(--dm-input-alt-invalid-border-color-focus);-moz-box-shadow:var(--dm-input-alt-invalid-box-shadow-focus);-webkit-box-shadow:var(--dm-input-alt-invalid-box-shadow-focus);box-shadow:var(--dm-input-alt-invalid-box-shadow-focus);outline:0}.dark-mode .form-control.alt-dm.is-invalid::-webkit-input-placeholder,.dark-mode .form-group.is-invalid .form-control.alt-dm.is-invalid::-webkit-input-placeholder{color:var(--dm-input-alt-invalid-placeholder-text-color)}.dark-mode .form-control.alt-dm.is-invalid:-ms-input-placeholder,.dark-mode .form-group.is-invalid .form-control.alt-dm.is-invalid:-ms-input-placeholder{color:var(--dm-input-alt-invalid-placeholder-text-color)}.dark-mode .form-control.alt-dm.is-invalid::placeholder,.dark-mode .form-group.is-invalid .form-control.alt-dm.is-invalid::placeholder{color:var(--dm-input-alt-invalid-placeholder-text-color)}select.form-control:not([multiple]){cursor:pointer;background-image:var(--select-bg-image);background-size:var(--select-bg-size);background-repeat:var(--select-bg-repeat);background-position:var(--select-bg-position);padding-right:var(--select-padding-right)}.dark-mode select.form-control:not([multiple])>option{color:var(--dm-input-text-color);background-color:var(--dark-color)}.dark-mode select.form-control:not([multiple])>option:hover{color:var(--dm-input-text-color);background-color:var(--primary-color)}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){select.form-control:not([multiple]){background-image:none;background-size:auto;background-repeat:initial;background-position:0 0;padding-right:0}}select.form-control[multiple]{overflow:auto;height:auto;padding:var(--input-horizontal-padding)}select.form-control-sm[multiple]{padding:var(--small-input-horizontal-padding)}select.form-control-lg[multiple]{padding:var(--large-input-horizontal-padding)}select.form-control[multiple]>option:not(:checked){color:var(--lm-input-text-color)}.dark-mode select.form-control[multiple]>option:not(:checked){color:var(--dm-input-text-color)}select.form-control[multiple]>option:disabled{color:var(--lm-muted-text-color)}.dark-mode select.form-control[multiple]>option:disabled{color:var(--dm-muted-text-color)}.custom-checkbox{display:block;position:relative;line-height:var(--checkbox-line-height)}.custom-checkbox input[type=checkbox],.custom-radio input[type=radio],.custom-switch input[type=checkbox]{position:absolute;opacity:0;height:0;width:0}.custom-checkbox label{display:inline-block;margin-bottom:0;padding-left:var(--checkbox-label-padding-left);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.custom-checkbox label.blank{padding-left:var(--checkbox-label-blank-padding-left)}.custom-checkbox label:before{content:"";display:inline-block;position:absolute;height:var(--checkbox-width-height);width:var(--checkbox-width-height);top:0;left:0;background-color:var(--lm-checkbox-bg-color);border:var(--checkbox-border-width) solid var(--lm-checkbox-border-color);border-radius:var(--checkbox-border-radius)}.custom-checkbox input[type=checkbox]:hover~label:before{background-color:var(--lm-checkbox-bg-color-hover);border-color:var(--lm-checkbox-border-color-hover)}.custom-checkbox input[type=checkbox]:focus~label:before{border-color:var(--lm-checkbox-border-color-focus);-moz-box-shadow:var(--lm-checkbox-box-shadow-focus);-webkit-box-shadow:var(--lm-checkbox-box-shadow-focus);box-shadow:var(--lm-checkbox-box-shadow-focus)}.custom-checkbox input[type=checkbox]:checked~label:before{background-color:var(--lm-checkbox-bg-color-checked);border-color:var(--lm-checkbox-border-color-checked)}.custom-checkbox input[type=checkbox]:checked:focus~label:before{border-color:var(--lm-checkbox-border-color-checked-focus);-moz-box-shadow:var(--lm-checkbox-box-shadow-checked-focus);-webkit-box-shadow:var(--lm-checkbox-box-shadow-checked-focus);box-shadow:var(--lm-checkbox-box-shadow-checked-focus)}.dark-mode .custom-checkbox label:before{background-color:var(--dm-checkbox-bg-color);border-color:var(--dm-checkbox-border-color)}.dark-mode .custom-checkbox input[type=checkbox]:hover~label:before{background-color:var(--dm-checkbox-bg-color-hover);border-color:var(--dm-checkbox-border-color-hover)}.dark-mode .custom-checkbox input[type=checkbox]:focus~label:before{border-color:var(--dm-checkbox-border-color-focus);-moz-box-shadow:var(--dm-checkbox-box-shadow-focus);-webkit-box-shadow:var(--dm-checkbox-box-shadow-focus);box-shadow:var(--dm-checkbox-box-shadow-focus)}.dark-mode .custom-checkbox input[type=checkbox]:checked~label:before{background-color:var(--dm-checkbox-bg-color-checked);border-color:var(--dm-checkbox-border-color-checked)}.dark-mode .custom-checkbox input[type=checkbox]:checked:focus~label:before{border-color:var(--dm-checkbox-border-color-checked-focus);-moz-box-shadow:var(--dm-checkbox-box-shadow-checked-focus);-webkit-box-shadow:var(--dm-checkbox-box-shadow-checked-focus);box-shadow:var(--dm-checkbox-box-shadow-checked-focus)}.custom-checkbox label:after{content:"";position:absolute;display:none;left:var(--checkbox-checkmark-left);top:var(--checkbox-checkmark-top);width:var(--checkbox-checkmark-width);height:var(--checkbox-checkmark-height);border:solid var(--lm-checkbox-checkmark-color);border-width:var(--checkbox-checkmark-border-width);-webkit-transform:var(--checkbox-checkmark-transform);-ms-transform:var(--checkbox-checkmark-transform);transform:var(--checkbox-checkmark-transform)}.dark-mode .custom-checkbox label:after{border-color:var(--dm-checkbox-checkmark-color)}.custom-checkbox input[type=checkbox]:checked~label:after{display:block}.custom-checkbox input[type=checkbox]:disabled~label,.custom-radio input[type=radio]:disabled~label,.custom-switch input[type=checkbox]:disabled~label{opacity:.6;cursor:not-allowed}.custom-checkbox input[type=checkbox]:disabled~label:before,.custom-checkbox input[type=checkbox]:hover:disabled~label:before{background-color:var(--lm-checkbox-bg-color);border-color:var(--lm-checkbox-border-color)}.custom-checkbox input[type=checkbox]:disabled:checked~label:before,.custom-checkbox input[type=checkbox]:hover:disabled:checked~label:before{background-color:var(--lm-checkbox-bg-color-checked);border-color:var(--lm-checkbox-border-color-checked)}.dark-mode .custom-checkbox input[type=checkbox]:disabled~label:before,.dark-mode .custom-checkbox input[type=checkbox]:hover:disabled~label:before{background-color:var(--dm-checkbox-bg-color);border-color:var(--dm-checkbox-border-color)}.dark-mode .custom-checkbox input[type=checkbox]:disabled:checked~label:before,.dark-mode .custom-checkbox input[type=checkbox]:hover:disabled:checked~label:before{background-color:var(--dm-checkbox-bg-color-checked);border-color:var(--dm-checkbox-border-color-checked)}.custom-radio{display:block;position:relative;line-height:var(--radio-line-height)}.form-group .custom-radio{margin:var(--form-group-radio-margin)}.custom-radio label{display:inline-block;margin-bottom:0;padding-left:var(--radio-label-padding-left);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.custom-radio label.blank{padding-left:var(--radio-label-blank-padding-left)}.custom-radio label:before{content:"";display:inline-block;position:absolute;height:var(--radio-width-height);width:var(--radio-width-height);top:0;left:0;background-color:var(--lm-radio-bg-color);border:var(--radio-border-width) solid var(--lm-radio-border-color);border-radius:var(--radio-border-radius)}.custom-radio input[type=radio]:hover~label:before{background-color:var(--lm-radio-bg-color-hover);border-color:var(--lm-radio-border-color-hover)}.custom-radio input[type=radio]:focus~label:before{border-color:var(--lm-radio-border-color-focus);-moz-box-shadow:var(--lm-radio-box-shadow-focus);-webkit-box-shadow:var(--lm-radio-box-shadow-focus);box-shadow:var(--lm-radio-box-shadow-focus)}.custom-radio input[type=radio]:checked~label:before{background-color:var(--lm-radio-bg-color-checked);border-color:var(--lm-radio-border-color-checked)}.custom-radio input[type=radio]:checked:focus~label:before{border-color:var(--lm-radio-border-color-checked-focus);-moz-box-shadow:var(--lm-radio-box-shadow-checked-focus);-webkit-box-shadow:var(--lm-radio-box-shadow-checked-focus);box-shadow:var(--lm-radio-box-shadow-checked-focus)}.dark-mode .custom-radio label:before{background-color:var(--dm-radio-bg-color);border-color:var(--dm-radio-border-color)}.dark-mode .custom-radio input[type=radio]:hover~label:before{background-color:var(--dm-radio-bg-color-hover);border-color:var(--dm-radio-border-color-hover)}.dark-mode .custom-radio input[type=radio]:focus~label:before{border-color:var(--dm-radio-border-color-focus);-moz-box-shadow:var(--dm-radio-box-shadow-focus);-webkit-box-shadow:var(--dm-radio-box-shadow-focus);box-shadow:var(--dm-radio-box-shadow-focus)}.dark-mode .custom-radio input[type=radio]:checked~label:before{background-color:var(--dm-radio-bg-color-checked);border-color:var(--dm-radio-border-color-checked)}.dark-mode .custom-radio input[type=radio]:checked:focus~label:before{border-color:var(--dm-radio-border-color-checked-focus);-moz-box-shadow:var(--dm-radio-box-shadow-checked-focus);-webkit-box-shadow:var(--dm-radio-box-shadow-checked-focus);box-shadow:var(--dm-radio-box-shadow-checked-focus)}.custom-radio label:after{content:"";position:absolute;display:none;top:var(--radio-checkmark-top);left:var(--radio-checkmark-left);width:var(--radio-checkmark-width-height);height:var(--radio-checkmark-width-height);background-color:var(--lm-radio-checkmark-color);border-radius:var(--radio-checkmark-border-radius)}.dark-mode .custom-radio label:after{border-color:var(--dm-radio-checkmark-color)}.custom-radio input[type=radio]:checked~label:after{display:block}.custom-radio input[type=radio]:disabled~label:before,.custom-radio input[type=radio]:hover:disabled~label:before{background-color:var(--lm-radio-bg-color);border-color:var(--lm-radio-border-color)}.custom-radio input[type=radio]:disabled:checked~label:before,.custom-radio input[type=radio]:hover:disabled:checked~label:before{background-color:var(--lm-radio-bg-color-checked);border-color:var(--lm-radio-border-color-checked)}.dark-mode .custom-radio input[type=radio]:disabled~label:before,.dark-mode .custom-radio input[type=radio]:hover:disabled~label:before{background-color:var(--dm-radio-bg-color);border-color:var(--dm-radio-border-color)}.dark-mode .custom-radio input[type=radio]:disabled:checked~label:before,.dark-mode .custom-radio input[type=radio]:hover:disabled:checked~label:before{background-color:var(--dm-radio-bg-color-checked);border-color:var(--dm-radio-border-color-checked)}.custom-switch{display:block;position:relative;line-height:var(--switch-line-height)}.custom-switch label{display:inline-block;margin-bottom:0;padding-left:var(--switch-label-padding-left);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.custom-switch label.blank{padding-left:var(--switch-label-blank-padding-left)}.custom-switch label:before{content:"";display:inline-block;position:absolute;height:var(--switch-height);width:var(--switch-width);top:0;left:0;background-color:var(--lm-switch-bg-color);border:var(--switch-border-width) solid var(--lm-switch-border-color);border-radius:var(--switch-border-radius)}.custom-switch input[type=checkbox]:hover~label:before{background-color:var(--lm-switch-bg-color-hover);border-color:var(--lm-switch-border-color-hover)}.custom-switch input[type=checkbox]:focus~label:before{border-color:var(--lm-switch-border-color-focus);-moz-box-shadow:var(--lm-switch-box-shadow-focus);-webkit-box-shadow:var(--lm-switch-box-shadow-focus);box-shadow:var(--lm-switch-box-shadow-focus)}.custom-switch input[type=checkbox]:checked~label:before{background-color:var(--lm-switch-bg-color-checked);border-color:var(--lm-switch-border-color-checked)}.custom-switch input[type=checkbox]:checked:focus~label:before{border-color:var(--lm-switch-border-color-checked-focus);-moz-box-shadow:var(--lm-switch-box-shadow-checked-focus);-webkit-box-shadow:var(--lm-switch-box-shadow-checked-focus);box-shadow:var(--lm-switch-box-shadow-checked-focus)}.dark-mode .custom-switch label:before{background-color:var(--dm-switch-bg-color);border-color:var(--dm-switch-border-color)}.dark-mode .custom-switch input[type=checkbox]:hover~label:before{background-color:var(--dm-switch-bg-color-hover);border-color:var(--dm-switch-border-color-hover)}.dark-mode .custom-switch input[type=checkbox]:focus~label:before{border-color:var(--dm-switch-border-color-focus);-moz-box-shadow:var(--dm-switch-box-shadow-focus);-webkit-box-shadow:var(--dm-switch-box-shadow-focus);box-shadow:var(--dm-switch-box-shadow-focus)}.dark-mode .custom-switch input[type=checkbox]:checked~label:before{background-color:var(--dm-switch-bg-color-checked);border-color:var(--dm-switch-border-color-checked)}.dark-mode .custom-switch input[type=checkbox]:checked:focus~label:before{border-color:var(--dm-switch-border-color-checked-focus);-moz-box-shadow:var(--dm-switch-box-shadow-checked-focus);-webkit-box-shadow:var(--dm-switch-box-shadow-checked-focus);box-shadow:var(--dm-switch-box-shadow-checked-focus)}.custom-switch label:after{content:"";position:absolute;height:var(--switch-slider-width-height);width:var(--switch-slider-width-height);top:var(--switch-slider-top);left:var(--switch-slider-left);background-color:var(--lm-switch-slider-bg-color);border:var(--switch-slider-border-width) solid var(--lm-switch-slider-border-color);border-radius:var(--switch-slider-border-radius);-webkit-transition:left .1s;transition:left .1s}.dark-mode .custom-switch label:after{background-color:var(--dm-switch-slider-bg-color);border-color:var(--dm-switch-slider-border-color)}.custom-switch input[type=checkbox]:checked~label:after{top:var(--switch-slider-top-checked);left:var(--switch-slider-left-checked);background-color:var(--lm-switch-slider-bg-color-checked);border-color:var(--lm-switch-slider-border-color-checked)}.dark-mode .custom-switch input[type=checkbox]:checked~label:after{background-color:var(--dm-switch-slider-bg-color-checked);border-color:var(--dm-switch-slider-border-color-checked)}.custom-switch input[type=checkbox]:disabled~label:before,.custom-switch input[type=checkbox]:hover:disabled~label:before{background-color:var(--lm-switch-bg-color);border-color:var(--lm-switch-border-color)}.custom-switch input[type=checkbox]:disabled:checked~label:before,.custom-switch input[type=checkbox]:hover:disabled:checked~label:before{background-color:var(--lm-switch-bg-color-checked);border-color:var(--lm-switch-border-color-checked)}.dark-mode .custom-switch input[type=checkbox]:disabled~label:before,.dark-mode .custom-switch input[type=checkbox]:hover:disabled~label:before{background-color:var(--dm-switch-bg-color);border-color:var(--dm-switch-border-color)}.dark-mode .custom-switch input[type=checkbox]:disabled:checked~label:before,.dark-mode .custom-switch input[type=checkbox]:hover:disabled:checked~label:before{background-color:var(--dm-switch-bg-color-checked);border-color:var(--dm-switch-border-color-checked)}.custom-file{display:block;position:relative}.custom-file input[type=file]{position:absolute;opacity:0;height:0;width:0;z-index:-1}.custom-file label{display:inline-block;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;height:var(--input-file-button-height);line-height:var(--input-file-button-line-height);padding:var(--input-file-button-padding);color:var(--lm-input-file-button-text-color);background-color:var(--lm-input-file-button-bg-color);background-image:var(--lm-input-file-button-bg-image);border:var(--input-file-button-border-width) solid var(--lm-input-file-button-border-color);border-radius:var(--input-file-button-border-radius);-moz-box-shadow:var(--lm-input-file-button-box-shadow);-webkit-box-shadow:var(--lm-input-file-button-box-shadow);box-shadow:var(--lm-input-file-button-box-shadow)}.custom-file label:hover{color:var(--lm-input-file-button-text-color-hover);background-color:var(--lm-input-file-button-bg-color-hover);background-image:var(--lm-input-file-button-bg-image-hover);border-color:var(--lm-input-file-button-border-color-hover);-moz-box-shadow:var(--lm-input-file-button-box-shadow-hover);-webkit-box-shadow:var(--lm-input-file-button-box-shadow-hover);box-shadow:var(--lm-input-file-button-box-shadow-hover)}.custom-file input[type=file]:focus~label{color:var(--lm-input-file-button-text-color-focus);background-color:var(--lm-input-file-button-bg-color-focus);background-image:var(--lm-input-file-button-bg-image-focus);border-color:var(--lm-input-file-button-border-color-focus);-moz-box-shadow:var(--lm-input-file-button-box-shadow-focus);-webkit-box-shadow:var(--lm-input-file-button-box-shadow-focus);box-shadow:var(--lm-input-file-button-box-shadow-focus)}.custom-file input[type=file]:focus:hover~label{color:var(--lm-input-file-button-text-color-hover);background-color:var(--lm-input-file-button-bg-color-hover);background-image:var(--lm-input-file-button-bg-image-hover)}.dark-mode .custom-file label{color:var(--dm-input-file-button-text-color);background-color:var(--dm-input-file-button-bg-color);background-image:var(--dm-input-file-button-bg-image);border-color:var(--dm-input-file-button-border-color);-moz-box-shadow:var(--dm-input-file-button-box-shadow);-webkit-box-shadow:var(--dm-input-file-button-box-shadow);box-shadow:var(--dm-input-file-button-box-shadow)}.dark-mode .custom-file label:hover{color:var(--dm-input-file-button-text-color-hover);background-color:var(--dm-input-file-button-bg-color-hover);background-image:var(--dm-input-file-button-bg-image-hover);border-color:var(--dm-input-file-button-border-color-hover);-moz-box-shadow:var(--dm-input-file-button-box-shadow-hover);-webkit-box-shadow:var(--dm-input-file-button-box-shadow-hover);box-shadow:var(--dm-input-file-button-box-shadow-hover)}.dark-mode .custom-file input[type=file]:focus~label{color:var(--dm-input-file-button-text-color-focus);background-color:var(--dm-input-file-button-bg-color-focus);background-image:var(--dm-input-file-button-bg-image-focus);border-color:var(--dm-input-file-button-border-color-focus);-moz-box-shadow:var(--dm-input-file-button-box-shadow-focus);-webkit-box-shadow:var(--dm-input-file-button-box-shadow-focus);box-shadow:var(--dm-input-file-button-box-shadow-focus)}.dark-mode .custom-file input[type=file]:focus:hover~label{color:var(--dm-input-file-button-text-color-hover);background-color:var(--dm-input-file-button-bg-color-hover);background-image:var(--dm-input-file-button-bg-image-hover)}.custom-file input[type=file]:disabled~label,.custom-file:hover input[type=file]:disabled~label{opacity:.6;cursor:not-allowed;color:var(--lm-input-file-button-text-color);background-color:var(--lm-input-file-button-bg-color);background-image:var(--lm-input-file-button-bg-image);border-color:var(--lm-input-file-button-border-color);-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.dark-mode .custom-file input[type=file]:disabled~label,.dark-mode .custom-file:hover input[type=file]:disabled~label{color:var(--dm-input-file-button-text-color);background-color:var(--dm-input-file-button-bg-color);background-image:var(--dm-input-file-button-bg-image);border-color:var(--dm-input-file-button-border-color);-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.custom-file input[type=file]:disabled~.file-names{opacity:.6;pointer-events:none}.custom-file input[type=file].is-invalid~label,.form-group.is-invalid .custom-file label{color:var(--lm-input-file-button-invalid-text-color);background-color:var(--lm-input-file-button-invalid-bg-color);background-image:var(--lm-input-file-button-invalid-bg-image);border-color:var(--lm-input-file-button-invalid-border-color);-moz-box-shadow:var(--lm-input-file-button-invalid-box-shadow);-webkit-box-shadow:var(--lm-input-file-button-invalid-box-shadow);box-shadow:var(--lm-input-file-button-invalid-box-shadow)}.custom-file input[type=file].is-invalid~label:hover,.form-group.is-invalid .custom-file label:hover{color:var(--lm-input-file-button-invalid-text-color-hover);background-color:var(--lm-input-file-button-invalid-bg-color-hover);background-image:var(--lm-input-file-button-invalid-bg-image-hover);border-color:var(--lm-input-file-button-invalid-border-color-hover);-moz-box-shadow:var(--lm-input-file-button-invalid-box-shadow-hover);-webkit-box-shadow:var(--lm-input-file-button-invalid-box-shadow-hover);box-shadow:var(--lm-input-file-button-invalid-box-shadow-hover)}.custom-file input[type=file].is-invalid:focus~label,.form-group.is-invalid .custom-file input[type=file]:focus~label{color:var(--lm-input-file-button-invalid-text-color-focus);background-color:var(--lm-input-file-button-invalid-bg-color-focus);background-image:var(--lm-input-file-button-invalid-bg-image-focus);border-color:var(--lm-input-file-button-invalid-border-color-focus);-moz-box-shadow:var(--lm-input-file-button-invalid-box-shadow-focus);-webkit-box-shadow:var(--lm-input-file-button-invalid-box-shadow-focus);box-shadow:var(--lm-input-file-button-invalid-box-shadow-focus)}.custom-file input[type=file].is-invalid:focus:hover~label,.form-group.is-invalid .custom-file input[type=file]:focus:hover~label{color:var(--lm-input-file-button-invalid-text-color-hover);background-color:var(--lm-input-file-button-invalid-bg-color-hover);background-image:var(--lm-input-file-button-invalid-bg-image-hover)}.dark-mode .custom-file input[type=file].is-invalid~label,.dark-mode .form-group.is-invalid .custom-file label{color:var(--dm-input-file-button-invalid-text-color);background-color:var(--dm-input-file-button-invalid-bg-color);background-image:var(--dm-input-file-button-invalid-bg-image);border-color:var(--dm-input-file-button-invalid-border-color);-moz-box-shadow:var(--dm-input-file-button-invalid-box-shadow);-webkit-box-shadow:var(--dm-input-file-button-invalid-box-shadow);box-shadow:var(--dm-input-file-button-invalid-box-shadow)}.dark-mode .custom-file input[type=file].is-invalid~label:hover,.dark-mode .form-group.is-invalid .custom-file label:hover{color:var(--dm-input-file-button-invalid-text-color-hover);background-color:var(--dm-input-file-button-invalid-bg-color-hover);background-image:var(--dm-input-file-button-invalid-bg-image-hover);border-color:var(--dm-input-file-button-invalid-border-color-hover);-moz-box-shadow:var(--dm-input-file-button-invalid-box-shadow-hover);-webkit-box-shadow:var(--dm-input-file-button-invalid-box-shadow-hover);box-shadow:var(--dm-input-file-button-invalid-box-shadow-hover)}.dark-mode .custom-file input[type=file].is-invalid:focus~label,.dark-mode .form-group.is-invalid .custom-file input[type=file]:focus~label{color:var(--dm-input-file-button-invalid-text-color-focus);background-color:var(--dm-input-file-button-invalid-bg-color-focus);background-image:var(--dm-input-file-button-invalid-bg-image-focus);border-color:var(--dm-input-file-button-invalid-border-color-focus);-moz-box-shadow:var(--dm-input-file-button-invalid-box-shadow-focus);-webkit-box-shadow:var(--dm-input-file-button-invalid-box-shadow-focus);box-shadow:var(--dm-input-file-button-invalid-box-shadow-focus)}.dark-mode .custom-file input[type=file].is-invalid:focus:hover~label,.dark-mode .form-group.is-invalid .custom-file input[type=file]:focus:hover~label{color:var(--dm-input-file-button-invalid-text-color-hover);background-color:var(--dm-input-file-button-invalid-bg-color-hover);background-image:var(--dm-input-file-button-invalid-bg-image-hover)}.input-group{position:relative;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.form-control{position:relative;-ms-flex:1 1 0%;flex:1 1 0%;min-width:0;margin-bottom:0}.input-group,.input-group-append,.input-group-prepend,.input-group-text{display:-ms-flexbox;display:flex}.input-group-append>.btn,.input-group-prepend>.btn{position:relative}.input-group-sm>.form-control{height:var(--small-input-height);padding-left:var(--small-input-horizontal-padding);padding-right:var(--small-input-horizontal-padding);font-size:var(--small-input-font-size)}.input-group-lg>.form-control{height:var(--large-input-height);padding-left:var(--large-input-horizontal-padding);padding-right:var(--large-input-horizontal-padding);font-size:var(--large-input-font-size)}.input-group-text{white-space:nowrap;-ms-flex-align:center;align-items:center;text-align:center;height:100%;padding-left:var(--input-group-text-horizontal-padding);padding-right:var(--input-group-text-horizontal-padding);color:var(--lm-input-group-text-text-color);background-color:var(--lm-input-group-text-bg-color);border:var(--input-group-text-border-width) solid var(--lm-input-group-text-border-color);border-radius:var(--input-group-text-border-radius)}.dark-mode .input-group-text{color:var(--dm-input-group-text-text-color);background-color:var(--dm-input-group-text-bg-color);border-color:var(--dm-input-group-text-border-color)}.input-group-sm .input-group-text{padding-left:var(--small-input-group-text-horizontal-padding);padding-right:var(--small-input-group-text-horizontal-padding);font-size:var(--small-input-group-text-font-size)}.input-group-lg .input-group-text{padding-left:var(--large-input-group-text-horizontal-padding);padding-right:var(--large-input-group-text-horizontal-padding);font-size:var(--large-input-group-text-font-size)}.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-prepend>.btn{height:var(--small-button-height);line-height:var(--small-button-line-height);padding:var(--small-button-padding);font-size:var(--small-button-font-size)}.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-prepend>.btn{height:var(--large-button-height);line-height:var(--large-button-line-height);padding:var(--large-button-padding);font-size:var(--large-button-font-size)}.input-group-sm>.input-group-append>.btn-square,.input-group-sm>.input-group-prepend>.btn-square{width:var(--small-button-height);padding-left:0;padding-right:0}.input-group-lg>.input-group-append>.btn-square,.input-group-lg>.input-group-prepend>.btn-square{width:var(--large-button-height);padding-left:0;padding-right:0}.input-group-sm>.input-group-append>.btn-rounded,.input-group-sm>.input-group-prepend>.btn-rounded{border-radius:var(--small-button-rounded-border-radius)}.input-group-lg>.input-group-append>.btn-rounded,.input-group-lg>.input-group-prepend>.btn-rounded{border-radius:var(--large-button-rounded-border-radius)}.input-group-append:not(:first-child)>.btn,.input-group-append:not(:first-child)>.input-group-text,.input-group-prepend:not(:first-child)>.btn,.input-group-prepend:not(:first-child)>.input-group-text,.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append:not(:last-child)>.btn,.input-group-append:not(:last-child)>.input-group-text,.input-group-prepend:not(:last-child)>.btn,.input-group-prepend:not(:last-child)>.input-group-text,.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-append>.btn.active,.input-group-append>.btn:focus,.input-group-prepend>.btn.active,.input-group-prepend>.btn:focus,.input-group>.form-control:focus{z-index:1}.input-group>.form-control:not(:first-child){margin-left:calc((-1)*var(--input-border-width))}.input-group-append:not(:first-child)>.input-group-text,.input-group-prepend:not(:first-child)>.input-group-text{margin-left:calc((-1)*var(--input-group-text-border-width))}.input-group-append:not(:first-child)>.btn,.input-group-prepend:not(:first-child)>.btn{margin-left:calc((-1)*var(--button-border-width))}.input-group-append>.btn,.input-group-prepend>.btn{border-color:var(--lm-input-group-button-border-color)}.input-group-append>.btn:hover,.input-group-prepend>.btn:hover{border-color:var(--lm-input-group-button-border-color-hover)}.input-group-append>.btn.active,.input-group-append>.btn:focus,.input-group-prepend>.btn.active,.input-group-prepend>.btn:focus{border-color:var(--lm-input-group-button-border-color-focus)}.dark-mode .input-group-append>.btn,.dark-mode .input-group-prepend>.btn{border-color:var(--dm-input-group-button-border-color)}.dark-mode .input-group-append>.btn:hover,.dark-mode .input-group-prepend>.btn:hover{border-color:var(--dm-input-group-button-border-color-hover)}.dark-mode .input-group-append>.btn.active,.dark-mode .input-group-append>.btn:focus,.dark-mode .input-group-prepend>.btn.active,.dark-mode .input-group-prepend>.btn:focus{border-color:var(--dm-input-group-button-border-color-focus)}.input-group-append>.btn.btn-link,.input-group-prepend>.btn.btn-link{border-color:var(--lm-input-group-button-link-border-color)}.input-group-append>.btn.btn-link:hover,.input-group-prepend>.btn.btn-link:hover{border-color:var(--lm-input-group-button-link-border-color-hover)}.input-group-append>.btn.btn-link.active,.input-group-append>.btn.btn-link:focus,.input-group-prepend>.btn.btn-link.active,.input-group-prepend>.btn.btn-link:focus{border-color:var(--lm-input-group-button-link-border-color-focus)}.dark-mode .input-group-append>.btn.btn-link,.dark-mode .input-group-prepend>.btn.btn-link{border-color:var(--dm-input-group-button-link-border-color)}.dark-mode .input-group-append>.btn.btn-link:hover,.dark-mode .input-group-prepend>.btn.btn-link:hover{border-color:var(--dm-input-group-button-link-border-color-hover)}.dark-mode .input-group-append>.btn.btn-link.active,.dark-mode .input-group-append>.btn.btn-link:focus,.dark-mode .input-group-prepend>.btn.btn-link.active,.dark-mode .input-group-prepend>.btn.btn-link:focus{border-color:var(--dm-input-group-button-link-border-color-focus)}.input-group-append>.btn.btn-primary,.input-group-prepend>.btn.btn-primary{border-color:var(--lm-input-group-button-primary-border-color)}.input-group-append>.btn.btn-primary:hover,.input-group-prepend>.btn.btn-primary:hover{border-color:var(--lm-input-group-button-primary-border-color-hover)}.input-group-append>.btn.btn-primary.active,.input-group-append>.btn.btn-primary:focus,.input-group-prepend>.btn.btn-primary.active,.input-group-prepend>.btn.btn-primary:focus{border-color:var(--lm-input-group-button-primary-border-color-focus)}.dark-mode .input-group-append>.btn.btn-primary,.dark-mode .input-group-prepend>.btn.btn-primary{border-color:var(--dm-input-group-button-primary-border-color)}.dark-mode .input-group-append>.btn.btn-primary:hover,.dark-mode .input-group-prepend>.btn.btn-primary:hover{border-color:var(--dm-input-group-button-primary-border-color-hover)}.dark-mode .input-group-append>.btn.btn-primary.active,.dark-mode .input-group-append>.btn.btn-primary:focus,.dark-mode .input-group-prepend>.btn.btn-primary.active,.dark-mode .input-group-prepend>.btn.btn-primary:focus{border-color:var(--dm-input-group-button-primary-border-color-focus)}.input-group-append>.btn.btn-success,.input-group-prepend>.btn.btn-success{border-color:var(--lm-input-group-button-success-border-color)}.input-group-append>.btn.btn-success:hover,.input-group-prepend>.btn.btn-success:hover{border-color:var(--lm-input-group-button-success-border-color-hover)}.input-group-append>.btn.btn-success.active,.input-group-append>.btn.btn-success:focus,.input-group-prepend>.btn.btn-success.active,.input-group-prepend>.btn.btn-success:focus{border-color:var(--lm-input-group-button-success-border-color-focus)}.dark-mode .input-group-append>.btn.btn-success,.dark-mode .input-group-prepend>.btn.btn-success{border-color:var(--dm-input-group-button-success-border-color)}.dark-mode .input-group-append>.btn.btn-success:hover,.dark-mode .input-group-prepend>.btn.btn-success:hover{border-color:var(--dm-input-group-button-success-border-color-hover)}.dark-mode .input-group-append>.btn.btn-success.active,.dark-mode .input-group-append>.btn.btn-success:focus,.dark-mode .input-group-prepend>.btn.btn-success.active,.dark-mode .input-group-prepend>.btn.btn-success:focus{border-color:var(--dm-input-group-button-success-border-color-focus)}.input-group-append>.btn.btn-secondary,.input-group-prepend>.btn.btn-secondary{border-color:var(--lm-input-group-button-secondary-border-color)}.input-group-append>.btn.btn-secondary:hover,.input-group-prepend>.btn.btn-secondary:hover{border-color:var(--lm-input-group-button-secondary-border-color-hover)}.input-group-append>.btn.btn-secondary.active,.input-group-append>.btn.btn-secondary:focus,.input-group-prepend>.btn.btn-secondary.active,.input-group-prepend>.btn.btn-secondary:focus{border-color:var(--lm-input-group-button-secondary-border-color-focus)}.dark-mode .input-group-append>.btn.btn-secondary,.dark-mode .input-group-prepend>.btn.btn-secondary{border-color:var(--dm-input-group-button-secondary-border-color)}.dark-mode .input-group-append>.btn.btn-secondary:hover,.dark-mode .input-group-prepend>.btn.btn-secondary:hover{border-color:var(--dm-input-group-button-secondary-border-color-hover)}.dark-mode .input-group-append>.btn.btn-secondary.active,.dark-mode .input-group-append>.btn.btn-secondary:focus,.dark-mode .input-group-prepend>.btn.btn-secondary.active,.dark-mode .input-group-prepend>.btn.btn-secondary:focus{border-color:var(--dm-input-group-button-secondary-border-color-focus)}.input-group-append>.btn.btn-danger,.input-group-prepend>.btn.btn-danger{border-color:var(--lm-input-group-button-danger-border-color)}.input-group-append>.btn.btn-danger:hover,.input-group-prepend>.btn.btn-danger:hover{border-color:var(--lm-input-group-button-danger-border-color-hover)}.input-group-append>.btn.btn-danger.active,.input-group-append>.btn.btn-danger:focus,.input-group-prepend>.btn.btn-danger.active,.input-group-prepend>.btn.btn-danger:focus{border-color:var(--lm-input-group-button-danger-border-color-focus)}.dark-mode .input-group-append>.btn.btn-danger,.dark-mode .input-group-prepend>.btn.btn-danger{border-color:var(--dm-input-group-button-danger-border-color)}.dark-mode .input-group-append>.btn.btn-danger:hover,.dark-mode .input-group-prepend>.btn.btn-danger:hover{border-color:var(--dm-input-group-button-danger-border-color-hover)}.dark-mode .input-group-append>.btn.btn-danger.active,.dark-mode .input-group-append>.btn.btn-danger:focus,.dark-mode .input-group-prepend>.btn.btn-danger.active,.dark-mode .input-group-prepend>.btn.btn-danger:focus{border-color:var(--dm-input-group-button-danger-border-color-focus)}.dropdown{display:inline-block;position:relative}.dropdown-menu{position:absolute;visibility:hidden;z-index:10;text-align:left;width:auto;min-width:var(--dropdown-menu-min-width);padding:var(--dropdown-menu-padding);color:var(--lm-dropdown-menu-text-color);background-color:var(--lm-dropdown-menu-bg-color);background-image:var(--lm-dropdown-menu-bg-image);border:var(--dropdown-menu-border-width) solid var(--lm-dropdown-menu-border-color);border-radius:var(--dropdown-menu-border-radius);-moz-box-shadow:var(--lm-dropdown-menu-box-shadow);-webkit-box-shadow:var(--lm-dropdown-menu-box-shadow);box-shadow:var(--lm-dropdown-menu-box-shadow)}.dark-mode .dropdown-menu{color:var(--dm-dropdown-menu-text-color);background-color:var(--dm-dropdown-menu-bg-color);background-image:var(--dm-dropdown-menu-bg-image);border-color:var(--dm-dropdown-menu-border-color);-moz-box-shadow:var(--dm-dropdown-menu-box-shadow);-webkit-box-shadow:var(--dm-dropdown-menu-box-shadow);box-shadow:var(--dm-dropdown-menu-box-shadow)}.dropdown.with-arrow.show .dropdown-menu::after,.dropdown.with-arrow.show .dropdown-menu::before,.dropdown.with-arrow.toggle-on-hover:hover .dropdown-menu::after,.dropdown.with-arrow.toggle-on-hover:hover .dropdown-menu::before{content:" ";width:0;height:0;display:inline-block;position:absolute;z-index:10}.dropdown-content{display:block;padding:var(--dropdown-content-padding)}.dropdown-content>ol,.dropdown-content>ul,.sidebar-content>ol,.sidebar-content>ul{margin-left:0}.dropdown-divider{height:var(--dropdown-divider-height);background-color:var(--lm-dropdown-divider-bg-color)}.dark-mode .dropdown-divider{background-color:var(--dm-dropdown-divider-bg-color)}.dropdown-item{display:block;white-space:nowrap;padding:var(--dropdown-item-padding);border-radius:var(--dropdown-item-border-radius);color:var(--lm-dropdown-item-text-color);background-color:var(--lm-dropdown-item-bg-color)}.dropdown-item:hover{text-decoration:none;color:var(--lm-dropdown-item-text-color-hover);background-color:var(--lm-dropdown-item-bg-color-hover)}.dark-mode .dropdown-item{color:var(--dm-dropdown-item-text-color);background-color:var(--dm-dropdown-item-bg-color)}.dark-mode .dropdown-item:hover{color:var(--dm-dropdown-item-text-color-hover);background-color:var(--dm-dropdown-item-bg-color-hover)}.dropdown-header{font-size:var(--dropdown-header-font-size);font-weight:var(--dropdown-header-font-weight);padding:var(--dropdown-header-padding);margin:var(--dropdown-header-margin);color:var(--lm-dropdown-header-text-color)}.dark-mode .dropdown-header{color:var(--dm-dropdown-header-text-color)}.dropdown:not(.dropup):not(.dropright):not(.dropleft) .dropdown-menu{bottom:50%;transform:translateY(50%)}.dropdown.dropup .dropdown-menu:not(.dropdown-menu-center):not(.dropdown-menu-right),.dropdown:not(.dropup):not(.dropright):not(.dropleft) .dropdown-menu:not(.dropdown-menu-center):not(.dropdown-menu-right){left:0}.dropdown:not(.dropup):not(.dropright):not(.dropleft) .dropdown-menu.dropdown-menu-center{left:50%;transform:translate(-50%,50%)}.dropdown:not(.dropup):not(.dropright):not(.dropleft) .dropdown-menu.dropdown-menu-right{right:0}.dropdown:not(.dropup):not(.dropright):not(.dropleft).show .dropdown-menu,.dropdown:not(.dropup):not(.dropright):not(.dropleft).toggle-on-hover:hover .dropdown-menu{bottom:0;transform:translateY(100%);visibility:visible;-webkit-transition:bottom .1s,transform .1s,visibility .1s;transition:bottom .1s,transform .1s,visibility .1s}.dropdown:not(.dropup):not(.dropright):not(.dropleft).show .dropdown-menu.dropdown-menu-center,.dropdown:not(.dropup):not(.dropright):not(.dropleft).toggle-on-hover:hover .dropdown-menu.dropdown-menu-center{transform:translate(-50%,100%)}.dropdown:not(.dropup):not(.dropright):not(.dropleft).with-arrow.show .dropdown-menu,.dropdown:not(.dropup):not(.dropright):not(.dropleft).with-arrow.toggle-on-hover:hover .dropdown-menu{bottom:var(--dropdown-arrow-size-negative)}.dropdown:not(.dropup):not(.dropright):not(.dropleft).with-arrow.toggle-on-hover:hover .dropdown-menu::before{border-left:var(--dropdown-arrow-size) solid transparent;border-right:var(--dropdown-arrow-size) solid transparent;border-bottom:var(--dropdown-arrow-size) solid var(--lm-dropdown-menu-border-color);top:var(--dropdown-arrow-size-negative)}.dropdown:not(.dropup):not(.dropright):not(.dropleft).with-arrow.show .dropdown-menu::before{top:var(--dropdown-arrow-size-negative)}.dropdown:not(.dropup):not(.dropright):not(.dropleft).with-arrow.show .dropdown-menu::after,.dropdown:not(.dropup):not(.dropright):not(.dropleft).with-arrow.show .dropdown-menu::before,.dropdown:not(.dropup):not(.dropright):not(.dropleft).with-arrow.toggle-on-hover:hover .dropdown-menu::after{border-left:var(--dropdown-arrow-size) solid transparent;border-right:var(--dropdown-arrow-size) solid transparent;border-bottom:var(--dropdown-arrow-size) solid var(--lm-dropdown-menu-border-color)}.dark-mode .dropdown:not(.dropup):not(.dropright):not(.dropleft).with-arrow.show .dropdown-menu::before,.dark-mode .dropdown:not(.dropup):not(.dropright):not(.dropleft).with-arrow.toggle-on-hover:hover .dropdown-menu::before{border-bottom-color:var(--dm-dropdown-menu-border-color)}.dropdown:not(.dropup):not(.dropright):not(.dropleft).with-arrow.show .dropdown-menu::after,.dropdown:not(.dropup):not(.dropright):not(.dropleft).with-arrow.toggle-on-hover:hover .dropdown-menu::after{border-bottom-color:var(--lm-dropdown-menu-bg-color);top:var(--dropdown-arrow-inner-spacing)}.dark-mode .dropdown:not(.dropup):not(.dropright):not(.dropleft).with-arrow.show .dropdown-menu::after,.dark-mode .dropdown:not(.dropup):not(.dropright):not(.dropleft).with-arrow.toggle-on-hover:hover .dropdown-menu::after{border-bottom-color:var(--dm-dropdown-menu-bg-color)}.dropdown:not(.dropup):not(.dropright):not(.dropleft).with-arrow.show .dropdown-menu:not(.dropdown-menu-center):not(.dropdown-menu-right)::after,.dropdown:not(.dropup):not(.dropright):not(.dropleft).with-arrow.show .dropdown-menu:not(.dropdown-menu-center):not(.dropdown-menu-right)::before,.dropdown:not(.dropup):not(.dropright):not(.dropleft).with-arrow.toggle-on-hover:hover .dropdown-menu:not(.dropdown-menu-center):not(.dropdown-menu-right)::after,.dropdown:not(.dropup):not(.dropright):not(.dropleft).with-arrow.toggle-on-hover:hover .dropdown-menu:not(.dropdown-menu-center):not(.dropdown-menu-right)::before{left:var(--dropdown-arrow-horizontal-spacing)}.dropdown:not(.dropup):not(.dropright):not(.dropleft).with-arrow.show .dropdown-menu.dropdown-menu-center::after,.dropdown:not(.dropup):not(.dropright):not(.dropleft).with-arrow.show .dropdown-menu.dropdown-menu-center::before,.dropdown:not(.dropup):not(.dropright):not(.dropleft).with-arrow.toggle-on-hover:hover .dropdown-menu.dropdown-menu-center::after,.dropdown:not(.dropup):not(.dropright):not(.dropleft).with-arrow.toggle-on-hover:hover .dropdown-menu.dropdown-menu-center::before{left:calc(50% - var(--dropdown-arrow-size))}.dropdown:not(.dropup):not(.dropright):not(.dropleft).with-arrow.show .dropdown-menu.dropdown-menu-right::after,.dropdown:not(.dropup):not(.dropright):not(.dropleft).with-arrow.show .dropdown-menu.dropdown-menu-right::before,.dropdown:not(.dropup):not(.dropright):not(.dropleft).with-arrow.toggle-on-hover:hover .dropdown-menu.dropdown-menu-right::after,.dropdown:not(.dropup):not(.dropright):not(.dropleft).with-arrow.toggle-on-hover:hover .dropdown-menu.dropdown-menu-right::before{right:var(--dropdown-arrow-horizontal-spacing)}.dropdown.dropup .dropdown-menu{top:50%;transform:translateY(-50%)}.dropdown.dropup .dropdown-menu.dropdown-menu-center{left:50%;transform:translate(-50%,-50%)}.dropdown.dropup .dropdown-menu.dropdown-menu-right{right:0}.dropdown.dropup.show .dropdown-menu,.dropdown.dropup.toggle-on-hover:hover .dropdown-menu{top:0;transform:translateY(-100%);visibility:visible;-webkit-transition:top .1s,transform .1s,visibility .1s;transition:top .1s,transform .1s,visibility .1s}.dropdown.dropup.show .dropdown-menu.dropdown-menu-center,.dropdown.dropup.toggle-on-hover:hover .dropdown-menu.dropdown-menu-center{transform:translate(-50%,-100%)}.dropdown.dropup.with-arrow.show .dropdown-menu,.dropdown.dropup.with-arrow.toggle-on-hover:hover .dropdown-menu{top:var(--dropdown-arrow-size-negative)}.dropdown.dropup.with-arrow.toggle-on-hover:hover .dropdown-menu::before{border-left:var(--dropdown-arrow-size) solid transparent;border-right:var(--dropdown-arrow-size) solid transparent;border-top:var(--dropdown-arrow-size) solid var(--lm-dropdown-menu-border-color);bottom:var(--dropdown-arrow-size-negative)}.dropdown.dropup.with-arrow.show .dropdown-menu::before{bottom:var(--dropdown-arrow-size-negative)}.dropdown.dropup.with-arrow.show .dropdown-menu::after,.dropdown.dropup.with-arrow.show .dropdown-menu::before,.dropdown.dropup.with-arrow.toggle-on-hover:hover .dropdown-menu::after{border-left:var(--dropdown-arrow-size) solid transparent;border-right:var(--dropdown-arrow-size) solid transparent;border-top:var(--dropdown-arrow-size) solid var(--lm-dropdown-menu-border-color)}.dark-mode .dropdown.dropup.with-arrow.show .dropdown-menu::before,.dark-mode .dropdown.dropup.with-arrow.toggle-on-hover:hover .dropdown-menu::before{border-top-color:var(--dm-dropdown-menu-border-color)}.dropdown.dropup.with-arrow.show .dropdown-menu::after,.dropdown.dropup.with-arrow.toggle-on-hover:hover .dropdown-menu::after{border-top-color:var(--lm-dropdown-menu-bg-color);bottom:var(--dropdown-arrow-inner-spacing)}.dark-mode .dropdown.dropup.with-arrow.show .dropdown-menu::after,.dark-mode .dropdown.dropup.with-arrow.toggle-on-hover:hover .dropdown-menu::after{border-top-color:var(--dm-dropdown-menu-bg-color)}.dropdown.dropup.with-arrow.show .dropdown-menu:not(.dropdown-menu-center):not(.dropdown-menu-right)::after,.dropdown.dropup.with-arrow.show .dropdown-menu:not(.dropdown-menu-center):not(.dropdown-menu-right)::before,.dropdown.dropup.with-arrow.toggle-on-hover:hover .dropdown-menu:not(.dropdown-menu-center):not(.dropdown-menu-right)::after,.dropdown.dropup.with-arrow.toggle-on-hover:hover .dropdown-menu:not(.dropdown-menu-center):not(.dropdown-menu-right)::before{left:var(--dropdown-arrow-horizontal-spacing)}.dropdown.dropup.with-arrow.show .dropdown-menu.dropdown-menu-center::after,.dropdown.dropup.with-arrow.show .dropdown-menu.dropdown-menu-center::before,.dropdown.dropup.with-arrow.toggle-on-hover:hover .dropdown-menu.dropdown-menu-center::after,.dropdown.dropup.with-arrow.toggle-on-hover:hover .dropdown-menu.dropdown-menu-center::before{left:calc(50% - var(--dropdown-arrow-size))}.dropdown.dropup.with-arrow.show .dropdown-menu.dropdown-menu-right::after,.dropdown.dropup.with-arrow.show .dropdown-menu.dropdown-menu-right::before,.dropdown.dropup.with-arrow.toggle-on-hover:hover .dropdown-menu.dropdown-menu-right::after,.dropdown.dropup.with-arrow.toggle-on-hover:hover .dropdown-menu.dropdown-menu-right::before{right:var(--dropdown-arrow-horizontal-spacing)}.dropdown.dropright .dropdown-menu{right:50%;transform:translateX(50%)}.dropdown.dropright .dropdown-menu:not(.dropdown-menu-center):not(.dropdown-menu-up){top:0}.dropdown.dropright .dropdown-menu.dropdown-menu-center{top:50%;transform:translate(50%,-50%)}.dropdown.dropright .dropdown-menu.dropdown-menu-up{bottom:0}.dropdown.dropright.show .dropdown-menu,.dropdown.dropright.toggle-on-hover:hover .dropdown-menu{right:0;transform:translateX(100%);visibility:visible;-webkit-transition:right .1s,transform .1s,visibility .1s;transition:right .1s,transform .1s,visibility .1s}.dropdown.dropright.show .dropdown-menu.dropdown-menu-center,.dropdown.dropright.toggle-on-hover:hover .dropdown-menu.dropdown-menu-center{transform:translate(100%,-50%)}.dropdown.dropright.with-arrow.show .dropdown-menu,.dropdown.dropright.with-arrow.toggle-on-hover:hover .dropdown-menu{right:var(--dropdown-arrow-size-negative)}.dropdown.dropright.with-arrow.toggle-on-hover:hover .dropdown-menu::before{border-top:var(--dropdown-arrow-size) solid transparent;border-bottom:var(--dropdown-arrow-size) solid transparent;border-right:var(--dropdown-arrow-size) solid var(--lm-dropdown-menu-border-color);left:var(--dropdown-arrow-size-negative)}.dropdown.dropright.with-arrow.show .dropdown-menu::before{left:var(--dropdown-arrow-size-negative)}.dropdown.dropright.with-arrow.show .dropdown-menu::after,.dropdown.dropright.with-arrow.show .dropdown-menu::before,.dropdown.dropright.with-arrow.toggle-on-hover:hover .dropdown-menu::after{border-top:var(--dropdown-arrow-size) solid transparent;border-bottom:var(--dropdown-arrow-size) solid transparent;border-right:var(--dropdown-arrow-size) solid var(--lm-dropdown-menu-border-color)}.dark-mode .dropdown.dropright.with-arrow.show .dropdown-menu::before,.dark-mode .dropdown.dropright.with-arrow.toggle-on-hover:hover .dropdown-menu::before{border-right-color:var(--dm-dropdown-menu-border-color)}.dropdown.dropright.with-arrow.show .dropdown-menu::after,.dropdown.dropright.with-arrow.toggle-on-hover:hover .dropdown-menu::after{border-right-color:var(--lm-dropdown-menu-bg-color);left:var(--dropdown-arrow-inner-spacing)}.dark-mode .dropdown.dropright.with-arrow.show .dropdown-menu::after,.dark-mode .dropdown.dropright.with-arrow.toggle-on-hover:hover .dropdown-menu::after{border-right-color:var(--dm-dropdown-menu-bg-color)}.dropdown.dropright.with-arrow.show .dropdown-menu:not(.dropdown-menu-center):not(.dropdown-menu-up)::after,.dropdown.dropright.with-arrow.show .dropdown-menu:not(.dropdown-menu-center):not(.dropdown-menu-up)::before,.dropdown.dropright.with-arrow.toggle-on-hover:hover .dropdown-menu:not(.dropdown-menu-center):not(.dropdown-menu-up)::after,.dropdown.dropright.with-arrow.toggle-on-hover:hover .dropdown-menu:not(.dropdown-menu-center):not(.dropdown-menu-up)::before{top:var(--dropdown-arrow-horizontal-spacing)}.dropdown.dropright.with-arrow.show .dropdown-menu.dropdown-menu-center::after,.dropdown.dropright.with-arrow.show .dropdown-menu.dropdown-menu-center::before,.dropdown.dropright.with-arrow.toggle-on-hover:hover .dropdown-menu.dropdown-menu-center::after,.dropdown.dropright.with-arrow.toggle-on-hover:hover .dropdown-menu.dropdown-menu-center::before{top:calc(50% - var(--dropdown-arrow-size))}.dropdown.dropright.with-arrow.show .dropdown-menu.dropdown-menu-up::after,.dropdown.dropright.with-arrow.show .dropdown-menu.dropdown-menu-up::before,.dropdown.dropright.with-arrow.toggle-on-hover:hover .dropdown-menu.dropdown-menu-up::after,.dropdown.dropright.with-arrow.toggle-on-hover:hover .dropdown-menu.dropdown-menu-up::before{bottom:var(--dropdown-arrow-horizontal-spacing)}.dropdown.dropleft .dropdown-menu{left:50%;transform:translateX(-50%)}.dropdown.dropleft .dropdown-menu:not(.dropdown-menu-center):not(.dropdown-menu-up){top:0}.dropdown.dropleft .dropdown-menu.dropdown-menu-center{top:50%;transform:translate(-50%,-50%)}.dropdown.dropleft .dropdown-menu.dropdown-menu-up{bottom:0}.dropdown.dropleft.show .dropdown-menu,.dropdown.dropleft.toggle-on-hover:hover .dropdown-menu{left:0;transform:translateX(-100%);visibility:visible;-webkit-transition:left .1s,transform .1s,visibility .1s;transition:left .1s,transform .1s,visibility .1s}.dropdown.dropleft.show .dropdown-menu.dropdown-menu-center,.dropdown.dropleft.toggle-on-hover:hover .dropdown-menu.dropdown-menu-center{transform:translate(-100%,-50%)}.dropdown.dropleft.with-arrow.show .dropdown-menu,.dropdown.dropleft.with-arrow.toggle-on-hover:hover .dropdown-menu{left:var(--dropdown-arrow-size-negative)}.dropdown.dropleft.with-arrow.toggle-on-hover:hover .dropdown-menu::before{border-top:var(--dropdown-arrow-size) solid transparent;border-bottom:var(--dropdown-arrow-size) solid transparent;border-left:var(--dropdown-arrow-size) solid var(--lm-dropdown-menu-border-color);right:var(--dropdown-arrow-size-negative)}.dropdown.dropleft.with-arrow.show .dropdown-menu::before{right:var(--dropdown-arrow-size-negative)}.dropdown.dropleft.with-arrow.show .dropdown-menu::after,.dropdown.dropleft.with-arrow.show .dropdown-menu::before,.dropdown.dropleft.with-arrow.toggle-on-hover:hover .dropdown-menu::after{border-top:var(--dropdown-arrow-size) solid transparent;border-bottom:var(--dropdown-arrow-size) solid transparent;border-left:var(--dropdown-arrow-size) solid var(--lm-dropdown-menu-border-color)}.dark-mode .dropdown.dropleft.with-arrow.show .dropdown-menu::before,.dark-mode .dropdown.dropleft.with-arrow.toggle-on-hover:hover .dropdown-menu::before{border-left-color:var(--dm-dropdown-menu-border-color)}.dropdown.dropleft.with-arrow.show .dropdown-menu::after,.dropdown.dropleft.with-arrow.toggle-on-hover:hover .dropdown-menu::after{border-left-color:var(--lm-dropdown-menu-bg-color);right:var(--dropdown-arrow-inner-spacing)}.dark-mode .dropdown.dropleft.with-arrow.show .dropdown-menu::after,.dark-mode .dropdown.dropleft.with-arrow.toggle-on-hover:hover .dropdown-menu::after{border-left-color:var(--dm-dropdown-menu-bg-color)}.dropdown.dropleft.with-arrow.show .dropdown-menu:not(.dropdown-menu-center):not(.dropdown-menu-up)::after,.dropdown.dropleft.with-arrow.show .dropdown-menu:not(.dropdown-menu-center):not(.dropdown-menu-up)::before,.dropdown.dropleft.with-arrow.toggle-on-hover:hover .dropdown-menu:not(.dropdown-menu-center):not(.dropdown-menu-up)::after,.dropdown.dropleft.with-arrow.toggle-on-hover:hover .dropdown-menu:not(.dropdown-menu-center):not(.dropdown-menu-up)::before{top:var(--dropdown-arrow-horizontal-spacing)}.dropdown.dropleft.with-arrow.show .dropdown-menu.dropdown-menu-center::after,.dropdown.dropleft.with-arrow.show .dropdown-menu.dropdown-menu-center::before,.dropdown.dropleft.with-arrow.toggle-on-hover:hover .dropdown-menu.dropdown-menu-center::after,.dropdown.dropleft.with-arrow.toggle-on-hover:hover .dropdown-menu.dropdown-menu-center::before{top:calc(50% - var(--dropdown-arrow-size))}.dropdown.dropleft.with-arrow.show .dropdown-menu.dropdown-menu-up::after,.dropdown.dropleft.with-arrow.show .dropdown-menu.dropdown-menu-up::before,.dropdown.dropleft.with-arrow.toggle-on-hover:hover .dropdown-menu.dropdown-menu-up::after,.dropdown.dropleft.with-arrow.toggle-on-hover:hover .dropdown-menu.dropdown-menu-up::before{bottom:var(--dropdown-arrow-horizontal-spacing)}.modal,.modal-dialog{position:absolute;top:-100%;left:0;width:100%;height:100%;overflow:auto}.modal{background-color:var(--lm-modal-overlay-bg-color);-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);z-index:99;outline:0}.dark-mode .modal{background-color:var(--dm-modal-overlay-bg-color)}.modal-dialog{display:-ms-flexbox;display:flex;flex-direction:column}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.modal.ie-scroll-fix .modal-dialog{display:block}}.modal-content{margin:auto;width:var(--modal-content-width);max-width:100%;padding:var(--modal-content-padding);color:var(--lm-modal-content-text-color);background-color:var(--lm-modal-content-bg-color);background-image:var(--lm-modal-content-bg-image);border:var(--modal-content-border-width) solid var(--lm-modal-content-border-color);border-radius:var(--modal-content-border-radius);-moz-box-shadow:var(--lm-modal-content-box-shadow);-webkit-box-shadow:var(--lm-modal-content-box-shadow);box-shadow:var(--lm-modal-content-box-shadow)}.dark-mode .modal-content{color:var(--dm-modal-content-text-color);background-color:var(--dm-modal-content-bg-color);background-image:var(--dm-modal-content-bg-image);border-color:var(--dm-modal-content-border-color);-moz-box-shadow:var(--dm-modal-content-box-shadow);-webkit-box-shadow:var(--dm-modal-content-box-shadow);box-shadow:var(--dm-modal-content-box-shadow)}@media (max-width:576px){.modal-content{padding:var(--modal-content-padding-xs)}}.modal-title{font-size:var(--modal-title-font-size);font-weight:var(--modal-title-font-weight);margin-top:0}.dark-mode .modal-content-media,.modal-content-media{padding:0;background-color:transparent;border:0;border-radius:0;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.modal-full .modal-content{width:100%;border:0;border-radius:0;padding:var(--modal-full-content-padding);color:var(--lm-modal-full-content-text-color);background-color:var(--lm-modal-full-content-bg-color);background-image:var(--lm-modal-full-content-bg-image)}.dark-mode .modal-full .modal-content{color:var(--dm-modal-full-content-text-color);background-color:var(--dm-modal-full-content-bg-color);background-image:var(--dm-modal-full-content-bg-image)}@media (max-width:576px){.modal-full .modal-content{padding:var(--modal-full-content-padding-xs)}}.modal-content .close{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;position:fixed;cursor:pointer;top:-100%;left:1rem;z-index:10;padding:0;-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);font-size:var(--modal-close-font-size);width:var(--modal-close-width-height);height:var(--modal-close-width-height);color:var(--lm-modal-close-text-color);background-color:var(--lm-modal-close-bg-color);border-radius:var(--modal-close-border-radius);border-color:transparent}.modal-content .close:hover{text-decoration:none;color:var(--lm-modal-close-text-color-hover);background-color:var(--lm-modal-close-bg-color-hover)}.dark-mode .modal-content .close{color:var(--dm-modal-close-text-color);background-color:var(--dm-modal-close-bg-color)}.dark-mode .modal-content .close:hover{color:var(--dm-modal-close-text-color-hover);background-color:var(--dm-modal-close-bg-color-hover)}.modal-content .close:focus{-webkit-transition:none;transition:none;outline:var(--modal-close-outline-width) var(--modal-close-outline-type) var(--lm-modal-close-outline-color-focus);outline-offset:var(--modal-close-outline-offset)}.dark-mode .modal-content .close:focus{outline-color:var(--dm-modal-close-outline-color-focus)}.modal.show,.modal.show .modal-dialog,.modal:target,.modal:target .modal-dialog{top:0}.modal.show~.page-wrapper .content-wrapper,.modal.show~.page-wrapper .sidebar,.modal:target~.page-wrapper .content-wrapper,.modal:target~.page-wrapper .sidebar{overflow:hidden}.modal.show .modal-content .close,.modal:target .modal-content .close{top:1rem}.alert{position:relative;padding:var(--alert-padding);color:var(--lm-alert-text-color);background-color:var(--lm-alert-bg-color);background-image:var(--lm-alert-bg-image);border:var(--alert-border-width) solid var(--lm-alert-border-color);border-radius:var(--alert-border-radius)}.dark-mode .alert{color:var(--dm-alert-text-color);background-color:var(--dm-alert-bg-color);background-image:var(--dm-alert-bg-image);border-color:var(--dm-alert-border-color)}.alert-heading,.dark-mode .alert-heading{color:inherit;font-size:var(--alert-heading-font-size);font-weight:var(--alert-heading-font-weight);margin:var(--alert-heading-margin)}.alert-link,.dark-mode .alert-link{cursor:pointer;color:inherit;text-decoration:underline}.alert-link:hover,.dark-mode .alert-link:hover{color:inherit;opacity:.75}.alert .close{position:absolute;top:0;right:0;cursor:pointer;color:inherit;padding:var(--alert-close-padding);line-height:var(--alert-close-line-height);font-size:var(--alert-close-font-size);background-color:transparent;border-color:transparent}.alert .close:focus{outline:var(--alert-close-outline-width) var(--alert-close-outline-type) var(--lm-alert-close-outline-color-focus);outline-offset:var(--alert-close-outline-offset)}.dark-mode .alert .close:focus{outline-color:var(--dm-alert-close-outline-color-focus)}.alert.dispose,.sticky-alerts .alert.alert-block.dispose{display:none}.sticky-alerts .alert{display:none;width:var(--sticky-alert-width);margin-top:1rem;right:-50rem;-moz-box-shadow:var(--sticky-alert-box-shadow);-webkit-box-shadow:var(--sticky-alert-box-shadow);box-shadow:var(--sticky-alert-box-shadow)}.sticky-alerts .alert.show{right:0;-webkit-transition:right .4s cubic-bezier(.25,.8,.25,1);transition:right .4s cubic-bezier(.25,.8,.25,1)}.sticky-alerts .alert.fade{visibility:hidden;opacity:0;-webkit-transition:visibility 0s .4s,opacity .4s linear;transition:visibility 0s .4s,opacity .4s linear}.sticky-alerts .alert.alert-block{display:block}.alert.alert-primary.filled,.alert.alert-primary.filled-lm{color:var(--lm-alert-filled-primary-text-color);background-color:var(--lm-alert-filled-primary-bg-color);background-image:var(--lm-alert-filled-primary-bg-image);border-color:var(--lm-alert-filled-primary-border-color)}.alert.alert-success.filled,.alert.alert-success.filled-lm{color:var(--lm-alert-filled-success-text-color);background-color:var(--lm-alert-filled-success-bg-color);background-image:var(--lm-alert-filled-success-bg-image);border-color:var(--lm-alert-filled-success-border-color)}.alert.alert-secondary.filled,.alert.alert-secondary.filled-lm{color:var(--lm-alert-filled-secondary-text-color);background-color:var(--lm-alert-filled-secondary-bg-color);background-image:var(--lm-alert-filled-secondary-bg-image);border-color:var(--lm-alert-filled-secondary-border-color)}.alert.alert-danger.filled,.alert.alert-danger.filled-lm{color:var(--lm-alert-filled-danger-text-color);background-color:var(--lm-alert-filled-danger-bg-color);background-image:var(--lm-alert-filled-danger-bg-image);border-color:var(--lm-alert-filled-danger-border-color)}.dark-mode .alert.alert-primary.filled,.dark-mode .alert.alert-primary.filled-dm{color:var(--dm-alert-filled-primary-text-color);background-color:var(--dm-alert-filled-primary-bg-color);background-image:var(--dm-alert-filled-primary-bg-image);border-color:var(--dm-alert-filled-primary-border-color);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.dark-mode .alert.alert-success.filled,.dark-mode .alert.alert-success.filled-dm{color:var(--dm-alert-filled-success-text-color);background-color:var(--dm-alert-filled-success-bg-color);background-image:var(--dm-alert-filled-success-bg-image);border-color:var(--dm-alert-filled-success-border-color);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.dark-mode .alert.alert-secondary.filled,.dark-mode .alert.alert-secondary.filled-dm{color:var(--dm-alert-filled-secondary-text-color);background-color:var(--dm-alert-filled-secondary-bg-color);background-image:var(--dm-alert-filled-secondary-bg-image);border-color:var(--dm-alert-filled-secondary-border-color);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.dark-mode .alert.alert-danger.filled,.dark-mode .alert.alert-danger.filled-dm{color:var(--dm-alert-filled-danger-text-color);background-color:var(--dm-alert-filled-danger-bg-color);background-image:var(--dm-alert-filled-danger-bg-image);border-color:var(--dm-alert-filled-danger-border-color);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.alert.alert-primary{color:var(--lm-alert-primary-text-color);background-color:var(--lm-alert-primary-bg-color);background-image:var(--lm-alert-primary-bg-image);border-color:var(--lm-alert-primary-border-color)}.alert.alert-success{color:var(--lm-alert-success-text-color);background-color:var(--lm-alert-success-bg-color);background-image:var(--lm-alert-success-bg-image);border-color:var(--lm-alert-success-border-color)}.alert.alert-secondary{color:var(--lm-alert-secondary-text-color);background-color:var(--lm-alert-secondary-bg-color);background-image:var(--lm-alert-secondary-bg-image);border-color:var(--lm-alert-secondary-border-color)}.alert.alert-danger{color:var(--lm-alert-danger-text-color);background-color:var(--lm-alert-danger-bg-color);background-image:var(--lm-alert-danger-bg-image);border-color:var(--lm-alert-danger-border-color)}.dark-mode .alert.alert-primary{color:var(--dm-alert-primary-text-color);background-color:var(--dm-alert-primary-bg-color);background-image:var(--dm-alert-primary-bg-image);border-color:var(--dm-alert-primary-border-color)}.dark-mode .alert.alert-success{color:var(--dm-alert-success-text-color);background-color:var(--dm-alert-success-bg-color);background-image:var(--dm-alert-success-bg-image);border-color:var(--dm-alert-success-border-color)}.dark-mode .alert.alert-secondary{color:var(--dm-alert-secondary-text-color);background-color:var(--dm-alert-secondary-bg-color);background-image:var(--dm-alert-secondary-bg-image);border-color:var(--dm-alert-secondary-border-color)}.dark-mode .alert.alert-danger{color:var(--dm-alert-danger-text-color);background-color:var(--dm-alert-danger-bg-color);background-image:var(--dm-alert-danger-bg-image);border-color:var(--dm-alert-danger-border-color)}.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{width:100%;position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start;padding-left:var(--navbar-container-horizontal-padding);padding-right:var(--navbar-container-horizontal-padding)}@media (max-width:576px){.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{padding-left:var(--navbar-container-horizontal-padding-xs);padding-right:var(--navbar-container-horizontal-padding-xs)}}.navbar-brand,.navbar-content,.navbar-nav,.navbar-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-width:0}.navbar-brand:not(:first-child),.navbar-content:not(:first-child),.navbar-nav:not(:first-child),.navbar-text:not(:first-child),.navbar>.form-inline:not(:first-child){margin-left:var(--navbar-content-horizontal-margin)}.navbar-text{color:var(--lm-navbar-text-color)}.dark-mode .navbar-text{color:var(--dm-navbar-text-color)}.navbar-nav{padding-left:0;margin-bottom:0;list-style:none;height:var(--navbar-height)}.nav-item{height:100%;margin-bottom:0}.nav-link{cursor:pointer;display:inline-block;display:flex;align-items:center;height:100%;white-space:nowrap;padding-left:var(--navbar-link-horizontal-padding);padding-right:var(--navbar-link-horizontal-padding);color:var(--lm-navbar-link-text-color);background-color:var(--lm-navbar-link-bg-color)}.dark-mode .nav-link{color:var(--dm-navbar-link-text-color);background-color:var(--dm-navbar-link-bg-color)}.nav-link:hover{color:var(--lm-navbar-link-text-color-hover);background-color:var(--lm-navbar-link-bg-color-hover);text-decoration:none}.dark-mode .nav-link:hover{color:var(--dm-navbar-link-text-color-hover);background-color:var(--dm-navbar-link-bg-color-hover)}.nav-item.active>.nav-link,.nav-item.show>.nav-link{color:var(--lm-navbar-link-active-text-color);background-color:var(--lm-navbar-link-active-bg-color)}.dark-mode .nav-item.active>.nav-link,.dark-mode .nav-item.show>.nav-link{color:var(--dm-navbar-link-active-text-color);background-color:var(--dm-navbar-link-active-bg-color);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.nav-item.active>.nav-link:hover,.nav-item.show>.nav-link:hover{color:var(--lm-navbar-link-active-text-color-hover);background-color:var(--lm-navbar-link-active-bg-color-hover)}.dark-mode .nav-item.active>.nav-link:hover,.dark-mode .nav-item.show>.nav-link:hover{color:var(--dm-navbar-link-active-text-color-hover);background-color:var(--dm-navbar-link-active-bg-color-hover)}.navbar-nav:first-child>.nav-item:first-child>.nav-link{padding-left:0}.navbar-nav:last-child>.nav-item:last-child>.nav-link{padding-right:0}.navbar-brand{font-size:var(--navbar-brand-font-size);font-weight:var(--navbar-brand-font-weight);color:var(--lm-navbar-brand-text-color)}.dark-mode .navbar-brand{color:var(--dm-navbar-brand-text-color)}.navbar-brand:hover{color:var(--lm-navbar-brand-text-color-hover);text-decoration:none}.dark-mode .navbar-brand:hover{color:var(--dm-navbar-brand-text-color-hover)}.navbar-brand img{height:var(--navbar-brand-image-height);margin-right:var(--navbar-brand-image-margin-right)}.navbar .btn-action{width:var(--navbar-action-button-width);padding-left:var(--navbar-action-button-horizontal-padding);padding-right:var(--navbar-action-button-horizontal-padding)}.navbar>.form-inline>.form-control,.navbar>.form-inline>.form-group .form-control{min-width:var(--navbar-input-min-width)}.navbar>.form-inline>.input-group{min-width:var(--navbar-input-group-min-width)}@media (max-width:576px){.navbar>.form-inline>.form-control,.navbar>.form-inline>.form-group .form-control{min-width:var(--navbar-input-min-width-xs)}.navbar>.form-inline>.input-group{min-width:var(--navbar-input-group-min-width-xs)}}.sidebar-menu{margin-top:var(--sidebar-menu-vertical-margin);margin-bottom:var(--sidebar-menu-vertical-margin)}.sidebar-content{display:block;padding:var(--sidebar-content-padding);margin:var(--sidebar-content-margin)}.sidebar-divider{padding:var(--sidebar-divider-padding);margin:var(--sidebar-divider-margin);height:var(--sidebar-divider-height);background-color:var(--lm-sidebar-divider-bg-color)}.dark-mode .sidebar-divider{background-color:var(--dm-sidebar-divider-bg-color)}.sidebar-link{display:block;padding:var(--sidebar-link-padding);margin:var(--sidebar-link-margin);min-height:var(--sidebar-link-height);height:auto;color:var(--lm-sidebar-link-text-color);background-color:var(--lm-sidebar-link-bg-color);border:var(--sidebar-link-border-width) solid var(--lm-sidebar-link-border-color);border-radius:var(--sidebar-link-border-radius)}.sidebar-link:hover{text-decoration:none;color:var(--lm-sidebar-link-text-color-hover);background-color:var(--lm-sidebar-link-bg-color-hover);border-color:var(--lm-sidebar-link-border-color-hover)}.dark-mode .sidebar-link{color:var(--dm-sidebar-link-text-color);background-color:var(--dm-sidebar-link-bg-color);border-color:var(--dm-sidebar-link-border-color)}.dark-mode .sidebar-link:hover{color:var(--dm-sidebar-link-text-color-hover);background-color:var(--dm-sidebar-link-bg-color-hover);border-color:var(--dm-sidebar-link-border-color-hover)}.sidebar-link.active{color:var(--lm-sidebar-link-text-color-active);background-color:var(--lm-sidebar-link-bg-color-active);border-color:var(--lm-sidebar-link-border-color-active)}.sidebar-link.active:hover{color:var(--lm-sidebar-link-text-color-active-hover);background-color:var(--lm-sidebar-link-bg-color-active-hover);border-color:var(--lm-sidebar-link-border-color-active-hover)}.dark-mode .sidebar-link.active{color:var(--dm-sidebar-link-text-color-active);background-color:var(--dm-sidebar-link-bg-color-active);border-color:var(--dm-sidebar-link-border-color-active);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.dark-mode .sidebar-link.active:hover{color:var(--dm-sidebar-link-text-color-active-hover);background-color:var(--dm-sidebar-link-bg-color-active-hover);border-color:var(--dm-sidebar-link-border-color-active-hover)}.sidebar-title{padding:var(--sidebar-title-padding);margin:var(--sidebar-title-margin);font-size:var(--sidebar-title-font-size);font-weight:var(--sidebar-title-font-weight);color:var(--lm-sidebar-title-text-color)}.dark-mode .sidebar-title{color:var(--dm-sidebar-title-text-color)}.sidebar-brand,.sidebar-icon,.sidebar-link-with-icon{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.sidebar-icon{-ms-flex-pack:center;justify-content:center;width:var(--sidebar-icon-width-height);height:var(--sidebar-icon-width-height);font-size:var(--sidebar-icon-font-size);margin-right:var(--sidebar-icon-margin-right);color:var(--lm-sidebar-icon-text-color);background-color:var(--lm-sidebar-icon-bg-color);border:var(--sidebar-icon-border-width) solid var(--lm-sidebar-icon-border-color);border-radius:var(--sidebar-icon-border-radius)}.sidebar-link-with-icon:hover .sidebar-icon{color:var(--lm-sidebar-icon-text-color-hover);background-color:var(--lm-sidebar-icon-bg-color-hover);border-color:var(--lm-sidebar-icon-border-color-hover)}.dark-mode .sidebar-icon{color:var(--dm-sidebar-icon-text-color);background-color:var(--dm-sidebar-icon-bg-color);border-color:var(--dm-sidebar-icon-border-color)}.dark-mode .sidebar-link-with-icon:hover .sidebar-icon{color:var(--dm-sidebar-icon-text-color-hover);background-color:var(--dm-sidebar-icon-bg-color-hover);border-color:var(--dm-sidebar-icon-border-color-hover)}.sidebar-link-with-icon.active .sidebar-icon{color:var(--lm-sidebar-icon-text-color-active);background-color:var(--lm-sidebar-icon-bg-color-active);border-color:var(--lm-sidebar-icon-border-color-active)}.sidebar-link-with-icon.active:hover .sidebar-icon{color:var(--lm-sidebar-icon-text-color-active-hover);background-color:var(--lm-sidebar-icon-bg-color-active-hover);border-color:var(--lm-sidebar-icon-border-color-active-hover)}.dark-mode .sidebar-link-with-icon.active .sidebar-icon{color:var(--dm-sidebar-icon-text-color-active);background-color:var(--dm-sidebar-icon-bg-color-active);border-color:var(--dm-sidebar-icon-border-color-active)}.dark-mode .sidebar-link-with-icon.active:hover .sidebar-icon{color:var(--dm-sidebar-icon-text-color-active-hover);background-color:var(--dm-sidebar-icon-bg-color-active-hover);border-color:var(--dm-sidebar-icon-border-color-active-hover)}.sidebar-brand{padding:var(--sidebar-brand-padding);margin:var(--sidebar-brand-margin);font-size:var(--sidebar-brand-font-size);font-weight:var(--sidebar-brand-font-weight);color:var(--lm-sidebar-brand-text-color)}.dark-mode .sidebar-brand{color:var(--dm-sidebar-brand-text-color)}.sidebar-brand:hover{color:var(--lm-sidebar-brand-text-color-hover);text-decoration:none}.dark-mode .sidebar-brand:hover{color:var(--dm-sidebar-brand-text-color-hover)}.sidebar-brand img{height:var(--sidebar-brand-image-height);margin-right:var(--sidebar-brand-image-margin-right)}.page-item{display:inline-block;list-style:none;vertical-align:middle;margin-bottom:0}.page-item.ellipsis:before{content:"\2026"}.page-item.ellipsis,.page-link{display:inline-block;padding:var(--pagination-item-padding);margin:var(--pagination-item-margin);font-size:var(--pagination-item-font-size);min-width:var(--pagination-item-width);height:var(--pagination-item-height);line-height:var(--pagination-item-line-height);text-align:center;color:var(--lm-pagination-item-text-color);background-color:var(--lm-pagination-item-bg-color);background-image:var(--lm-pagination-item-bg-image);border:var(--pagination-item-border-width) solid var(--lm-pagination-item-border-color);border-radius:var(--pagination-item-border-radius)}.dark-mode .page-item.ellipsis,.dark-mode .page-link{color:var(--dm-pagination-item-text-color);background-color:var(--dm-pagination-item-bg-color);background-image:var(--dm-pagination-item-bg-image);border-color:var(--dm-pagination-item-border-color)}.page-link{-moz-box-shadow:var(--lm-pagination-item-box-shadow);-webkit-box-shadow:var(--lm-pagination-item-box-shadow);box-shadow:var(--lm-pagination-item-box-shadow)}.dark-mode .page-link{-moz-box-shadow:var(--dm-pagination-item-box-shadow);-webkit-box-shadow:var(--dm-pagination-item-box-shadow);box-shadow:var(--dm-pagination-item-box-shadow)}.page-link:hover{text-decoration:none;color:var(--lm-pagination-item-text-color-hover);background-color:var(--lm-pagination-item-bg-color-hover);background-image:var(--lm-pagination-item-bg-image-hover);border-color:var(--lm-pagination-item-border-color-hover);-moz-box-shadow:var(--lm-pagination-item-box-shadow-hover);-webkit-box-shadow:var(--lm-pagination-item-box-shadow-hover);box-shadow:var(--lm-pagination-item-box-shadow-hover)}.dark-mode .page-link:hover{color:var(--dm-pagination-item-text-color-hover);background-color:var(--dm-pagination-item-bg-color-hover);background-image:var(--dm-pagination-item-bg-image-hover);border-color:var(--dm-pagination-item-border-color-hover);-moz-box-shadow:var(--dm-pagination-item-box-shadow-hover);-webkit-box-shadow:var(--dm-pagination-item-box-shadow-hover);box-shadow:var(--dm-pagination-item-box-shadow-hover)}.page-item.active .page-link{color:var(--lm-pagination-item-text-color-active);background-color:var(--lm-pagination-item-bg-color-active);background-image:var(--lm-pagination-item-bg-image-active);border-color:var(--lm-pagination-item-border-color-active);-moz-box-shadow:var(--lm-pagination-item-box-shadow-active);-webkit-box-shadow:var(--lm-pagination-item-box-shadow-active);box-shadow:var(--lm-pagination-item-box-shadow-active);pointer-events:none}.dark-mode .page-item.active .page-link{color:var(--dm-pagination-item-text-color-active);background-color:var(--dm-pagination-item-bg-color-active);background-image:var(--dm-pagination-item-bg-image-active);border-color:var(--dm-pagination-item-border-color-active);-moz-box-shadow:var(--dm-pagination-item-box-shadow-active);-webkit-box-shadow:var(--dm-pagination-item-box-shadow-active);box-shadow:var(--dm-pagination-item-box-shadow-active);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.pagination-rounded .page-item.ellipsis,.pagination-rounded .page-link{border-radius:50%}.pagination-lg .page-item.ellipsis,.pagination-lg .page-link{padding:var(--large-pagination-item-padding);margin:var(--large-pagination-item-margin);font-size:var(--large-pagination-item-font-size);min-width:var(--large-pagination-item-width);height:var(--large-pagination-item-height);line-height:var(--large-pagination-item-line-height)}.pagination-sm .page-item.ellipsis,.pagination-sm .page-link{padding:var(--small-pagination-item-padding);margin:var(--small-pagination-item-margin);font-size:var(--small-pagination-item-font-size);min-width:var(--small-pagination-item-width);height:var(--small-pagination-item-height);line-height:var(--small-pagination-item-line-height)}.dark-mode .page-item.disabled .page-link,.page-item.disabled .page-link{opacity:.6;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;pointer-events:none}.breadcrumb{padding:var(--breadcrumb-padding);background-color:var(--lm-breadcrumb-bg-color);border:var(--breadcrumb-border-width) solid var(--lm-breadcrumb-border-color);border-radius:var(--breadcrumb-border-radius)}.dark-mode .breadcrumb{background-color:var(--dm-breadcrumb-bg-color);border-color:var(--dm-breadcrumb-border-color)}.breadcrumb-item{display:inline-block;list-style:none;margin-bottom:0}.breadcrumb-item:before{content:var(--breadcrumb-separator-content);margin-left:var(--breadcrumb-separator-margin-left);margin-right:var(--breadcrumb-separator-margin-right)}.breadcrumb-item:first-child:before{display:none}.breadcrumb-item.active a{pointer-events:none;color:inherit}.dark-mode .breadcrumb-item a{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.dark-mode .breadcrumb-item.active a{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-toggle=tooltip]{position:relative}[data-toggle=tooltip]::after,[data-toggle=tooltip]::before{background-color:var(--lm-tooltip-bg-color);position:absolute;visibility:hidden;z-index:90}[data-toggle=tooltip]::before{content:" ";width:var(--tooltip-arrow-width);height:var(--tooltip-arrow-height);opacity:0}.dark-mode [data-toggle=tooltip]::after,.dark-mode [data-toggle=tooltip]::before{background-color:var(--dm-tooltip-bg-color)}[data-toggle=tooltip]::after{content:attr(data-title);white-space:normal;width:var(--tooltip-width);font-size:var(--tooltip-font-size);line-height:var(--tooltip-line-height);padding:var(--tooltip-padding);color:var(--lm-tooltip-text-color);border-radius:var(--base-border-radius);text-align:center}.dark-mode [data-toggle=tooltip]::after{color:var(--dm-tooltip-text-color)}[data-toggle=tooltip]:not([data-placement])::before,[data-toggle=tooltip][data-placement=top]::before{left:50%;top:-.5rem;transform:translate(-50%,-100%) rotate(45deg)}[data-toggle=tooltip]:not([data-placement])::after,[data-toggle=tooltip][data-placement=top]::after{left:50%;top:50%;transform:translate(-50%,-50%)}[data-toggle=tooltip][data-placement=bottom]::before{left:50%;bottom:-.5rem;transform:translate(-50%,100%) rotate(45deg)}[data-toggle=tooltip][data-placement=bottom]::after{left:50%;bottom:50%;transform:translate(-50%,50%)}[data-toggle=tooltip][data-placement=left]::before{left:-.5rem;transform:translate(-100%,100%) rotate(45deg)}[data-toggle=tooltip][data-placement=left]::after{left:50%;top:50%;transform:translate(-50%,-50%)}[data-toggle=tooltip][data-placement=right]::before{right:-.5rem;transform:translate(100%,100%) rotate(45deg)}[data-toggle=tooltip][data-placement=right]::after{right:50%;top:50%;transform:translate(50%,-50%)}[data-toggle=tooltip]:not([data-target-breakpoint]):focus::before,[data-toggle=tooltip]:not([data-target-breakpoint]):hover::before{visibility:visible;opacity:1;transition:opacity .5s;-webkit-transition:opacity .5s}[data-toggle=tooltip]:not([data-target-breakpoint]):focus::after,[data-toggle=tooltip]:not([data-target-breakpoint]):hover::after{visibility:visible;-webkit-transition:all .1s,color 0s,background-color 0s;transition:all .1s,color 0s,background-color 0s}[data-toggle=tooltip]:not([data-target-breakpoint]):not([data-placement]):focus::after,[data-toggle=tooltip]:not([data-target-breakpoint]):not([data-placement]):hover::after,[data-toggle=tooltip]:not([data-target-breakpoint])[data-placement=top]:focus::after,[data-toggle=tooltip]:not([data-target-breakpoint])[data-placement=top]:hover::after{top:-1rem;transform:translate(-50%,-100%)}[data-toggle=tooltip]:not([data-target-breakpoint])[data-placement=bottom]:focus::after,[data-toggle=tooltip]:not([data-target-breakpoint])[data-placement=bottom]:hover::after{bottom:-1rem;transform:translate(-50%,100%)}[data-toggle=tooltip]:not([data-target-breakpoint])[data-placement=left]:focus::after,[data-toggle=tooltip]:not([data-target-breakpoint])[data-placement=left]:hover::after{left:-1rem;transform:translate(-100%,-50%)}[data-toggle=tooltip]:not([data-target-breakpoint])[data-placement=right]:focus::after,[data-toggle=tooltip]:not([data-target-breakpoint])[data-placement=right]:hover::after{right:-1rem;transform:translate(100%,-50%)}@media (min-width:769px){[data-toggle=tooltip][data-target-breakpoint=md]:focus::before,[data-toggle=tooltip][data-target-breakpoint=md]:hover::before{visibility:visible;opacity:1;transition:opacity .5s;-webkit-transition:opacity .5s}[data-toggle=tooltip][data-target-breakpoint=md]:focus::after,[data-toggle=tooltip][data-target-breakpoint=md]:hover::after{visibility:visible;-webkit-transition:all .1s,color 0s,background-color 0s;transition:all .1s,color 0s,background-color 0s}[data-toggle=tooltip][data-target-breakpoint=md]:not([data-placement]):focus::after,[data-toggle=tooltip][data-target-breakpoint=md]:not([data-placement]):hover::after,[data-toggle=tooltip][data-target-breakpoint=md][data-placement=top]:focus::after,[data-toggle=tooltip][data-target-breakpoint=md][data-placement=top]:hover::after{top:-1rem;transform:translate(-50%,-100%)}[data-toggle=tooltip][data-target-breakpoint=md][data-placement=bottom]:focus::after,[data-toggle=tooltip][data-target-breakpoint=md][data-placement=bottom]:hover::after{bottom:-1rem;transform:translate(-50%,100%)}[data-toggle=tooltip][data-target-breakpoint=md][data-placement=left]:focus::after,[data-toggle=tooltip][data-target-breakpoint=md][data-placement=left]:hover::after{left:-1rem;transform:translate(-100%,-50%)}[data-toggle=tooltip][data-target-breakpoint=md][data-placement=right]:focus::after,[data-toggle=tooltip][data-target-breakpoint=md][data-placement=right]:hover::after{right:-1rem;transform:translate(100%,-50%)}}@media (min-width:993px){[data-toggle=tooltip][data-target-breakpoint=lg]:focus::before,[data-toggle=tooltip][data-target-breakpoint=lg]:hover::before{visibility:visible;opacity:1;transition:opacity .5s;-webkit-transition:opacity .5s}[data-toggle=tooltip][data-target-breakpoint=lg]:focus::after,[data-toggle=tooltip][data-target-breakpoint=lg]:hover::after{visibility:visible;-webkit-transition:all .1s,color 0s,background-color 0s;transition:all .1s,color 0s,background-color 0s}[data-toggle=tooltip][data-target-breakpoint=lg]:not([data-placement]):focus::after,[data-toggle=tooltip][data-target-breakpoint=lg]:not([data-placement]):hover::after,[data-toggle=tooltip][data-target-breakpoint=lg][data-placement=top]:focus::after,[data-toggle=tooltip][data-target-breakpoint=lg][data-placement=top]:hover::after{top:-1rem;transform:translate(-50%,-100%)}[data-toggle=tooltip][data-target-breakpoint=lg][data-placement=bottom]:focus::after,[data-toggle=tooltip][data-target-breakpoint=lg][data-placement=bottom]:hover::after{bottom:-1rem;transform:translate(-50%,100%)}[data-toggle=tooltip][data-target-breakpoint=lg][data-placement=left]:focus::after,[data-toggle=tooltip][data-target-breakpoint=lg][data-placement=left]:hover::after{left:-1rem;transform:translate(-100%,-50%)}[data-toggle=tooltip][data-target-breakpoint=lg][data-placement=right]:focus::after,[data-toggle=tooltip][data-target-breakpoint=lg][data-placement=right]:hover::after{right:-1rem;transform:translate(100%,-50%)}}.badge{display:inline-block;position:relative;font-size:var(--badge-font-size);line-height:var(--badge-line-height);padding:var(--badge-padding);color:var(--lm-badge-text-color);background-color:var(--lm-badge-bg-color);border:var(--badge-border-width) solid var(--lm-badge-border-color);border-radius:var(--badge-border-radius)}.dark-mode .badge{color:var(--dm-badge-text-color);background-color:var(--dm-badge-bg-color);border-color:var(--dm-badge-border-color)}.badge-pill{border-radius:var(--badge-pill-border-radius)}.badge.badge-primary{color:var(--lm-badge-primary-text-color);background-color:var(--lm-badge-primary-bg-color);border-color:var(--lm-badge-primary-border-color)}.badge.badge-success{color:var(--lm-badge-success-text-color);background-color:var(--lm-badge-success-bg-color);border-color:var(--lm-badge-success-border-color)}.badge.badge-secondary{color:var(--lm-badge-secondary-text-color);background-color:var(--lm-badge-secondary-bg-color);border-color:var(--lm-badge-secondary-border-color)}.badge.badge-danger{color:var(--lm-badge-danger-text-color);background-color:var(--lm-badge-danger-bg-color);border-color:var(--lm-badge-danger-border-color)}.dark-mode .badge.badge-primary,.dark-mode .badge.badge-success{color:var(--dm-badge-primary-text-color);background-color:var(--dm-badge-primary-bg-color);border-color:var(--dm-badge-primary-border-color);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.dark-mode .badge.badge-success{color:var(--dm-badge-success-text-color);background-color:var(--dm-badge-success-bg-color);border-color:var(--dm-badge-success-border-color)}.dark-mode .badge.badge-danger,.dark-mode .badge.badge-secondary{color:var(--dm-badge-secondary-text-color);background-color:var(--dm-badge-secondary-bg-color);border-color:var(--dm-badge-secondary-border-color);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.dark-mode .badge.badge-danger{color:var(--dm-badge-danger-text-color);background-color:var(--dm-badge-danger-bg-color);border-color:var(--dm-badge-danger-border-color)}.badge-group{display:-ms-inline-flexbox;display:inline-flex}.badge-group>.badge:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.badge-group>.badge:not(:last-child){border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}a.badge-group:hover,a.badge:hover{text-decoration:none}a.badge-group:hover>.badge,a.badge:hover{color:var(--lm-link-badge-text-color-hover);background-color:var(--lm-link-badge-bg-color-hover);border-color:var(--lm-link-badge-border-color-hover)}a.badge-group:hover>.badge.badge-primary,a.badge.badge-primary:hover{color:var(--lm-link-badge-primary-text-color-hover);background-color:var(--lm-link-badge-primary-bg-color-hover);border-color:var(--lm-link-badge-primary-border-color-hover)}a.badge-group:hover>.badge.badge-success,a.badge.badge-success:hover{color:var(--lm-link-badge-success-text-color-hover);background-color:var(--lm-link-badge-success-bg-color-hover);border-color:var(--lm-link-badge-success-border-color-hover)}a.badge-group:hover>.badge.badge-secondary,a.badge.badge-secondary:hover{color:var(--lm-link-badge-secondary-text-color-hover);background-color:var(--lm-link-badge-secondary-bg-color-hover);border-color:var(--lm-link-badge-secondary-border-color-hover)}a.badge-group:hover>.badge.badge-danger,a.badge.badge-danger:hover{color:var(--lm-link-badge-danger-text-color-hover);background-color:var(--lm-link-badge-danger-bg-color-hover);border-color:var(--lm-link-badge-danger-border-color-hover)}.dark-mode a.badge-group:hover>.badge,.dark-mode a.badge:hover{color:var(--dm-link-badge-text-color-hover);background-color:var(--dm-link-badge-bg-color-hover);border-color:var(--dm-link-badge-border-color-hover)}.dark-mode a.badge-group:hover>.badge.badge-primary,.dark-mode a.badge.badge-primary:hover{color:var(--dm-link-badge-primary-text-color-hover);background-color:var(--dm-link-badge-primary-bg-color-hover);border-color:var(--dm-link-badge-primary-border-color-hover)}.dark-mode a.badge-group:hover>.badge.badge-success,.dark-mode a.badge.badge-success:hover{color:var(--dm-link-badge-success-text-color-hover);background-color:var(--dm-link-badge-success-bg-color-hover);border-color:var(--dm-link-badge-success-border-color-hover)}.dark-mode a.badge-group:hover>.badge.badge-secondary,.dark-mode a.badge.badge-secondary:hover{color:var(--dm-link-badge-secondary-text-color-hover);background-color:var(--dm-link-badge-secondary-bg-color-hover);border-color:var(--dm-link-badge-secondary-border-color-hover)}.dark-mode a.badge-group:hover>.badge.badge-danger,.dark-mode a.badge.badge-danger:hover{color:var(--dm-link-badge-danger-text-color-hover);background-color:var(--dm-link-badge-danger-bg-color-hover);border-color:var(--dm-link-badge-danger-border-color-hover)}.img-fluid{max-width:100%;height:auto}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:calc((-1)*var(--button-border-width))}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not([data-toggle=dropdown]){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc((-1)*var(--button-border-width))}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not([data-toggle=dropdown]){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-vertical>.btn-group:not(:last-child)>.btn:not(:focus):not(.active),.btn-group-vertical>.btn:not(:last-child):not([data-toggle=dropdown]):not(:focus):not(.active){-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.btn-group-sm>.btn{height:var(--small-button-height);line-height:var(--small-button-line-height);padding:var(--small-button-padding);font-size:var(--small-button-font-size)}.btn-group-lg>.btn{height:var(--large-button-height);line-height:var(--large-button-line-height);padding:var(--large-button-padding);font-size:var(--large-button-font-size)}.btn-group-lg>.btn-square,.btn-group-sm>.btn-square{width:var(--small-button-height);padding-left:0;padding-right:0}.btn-group-lg>.btn-square{width:var(--large-button-height)}.btn-group-sm>.btn-rounded{border-radius:var(--small-button-rounded-border-radius)}.btn-group-lg>.btn-rounded{border-radius:var(--large-button-rounded-border-radius)}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto;min-width:var(--button-toolbar-input-group-min-width)}@media (max-width:576px){.btn-toolbar .input-group{min-width:var(--button-toolbar-input-group-min-width-xs)}}.btn-group-vertical>.btn,.btn-group>.btn{border-color:var(--lm-button-group-button-border-color)}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{border-color:var(--lm-button-group-button-border-color-hover)}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:focus{border-color:var(--lm-button-group-button-border-color-focus)}.dark-mode .btn-group-vertical>.btn,.dark-mode .btn-group>.btn{border-color:var(--dm-button-group-button-border-color)}.dark-mode .btn-group-vertical>.btn:hover,.dark-mode .btn-group>.btn:hover{border-color:var(--dm-button-group-button-border-color-hover)}.dark-mode .btn-group-vertical>.btn.active,.dark-mode .btn-group-vertical>.btn:focus,.dark-mode .btn-group>.btn.active,.dark-mode .btn-group>.btn:focus{border-color:var(--dm-button-group-button-border-color-focus)}.btn-group-vertical>.btn.btn-link,.btn-group>.btn.btn-link{border-color:var(--lm-button-group-button-link-border-color)}.btn-group-vertical>.btn.btn-link:hover,.btn-group>.btn.btn-link:hover{border-color:var(--lm-button-group-button-link-border-color-hover)}.btn-group-vertical>.btn.btn-link.active,.btn-group-vertical>.btn.btn-link:focus,.btn-group>.btn.btn-link.active,.btn-group>.btn.btn-link:focus{border-color:var(--lm-button-group-button-link-border-color-focus)}.dark-mode .btn-group-vertical>.btn.btn-link,.dark-mode .btn-group>.btn.btn-link{border-color:var(--dm-button-group-button-link-border-color)}.dark-mode .btn-group-vertical>.btn.btn-link:hover,.dark-mode .btn-group>.btn.btn-link:hover{border-color:var(--dm-button-group-button-link-border-color-hover)}.dark-mode .btn-group-vertical>.btn.btn-link.active,.dark-mode .btn-group-vertical>.btn.btn-link:focus,.dark-mode .btn-group>.btn.btn-link.active,.dark-mode .btn-group>.btn.btn-link:focus{border-color:var(--dm-button-group-button-link-border-color-focus)}.btn-group-vertical>.btn.btn-primary,.btn-group>.btn.btn-primary{border-color:var(--lm-button-group-button-primary-border-color)}.btn-group-vertical>.btn.btn-primary:hover,.btn-group>.btn.btn-primary:hover{border-color:var(--lm-button-group-button-primary-border-color-hover)}.btn-group-vertical>.btn.btn-primary.active,.btn-group-vertical>.btn.btn-primary:focus,.btn-group>.btn.btn-primary.active,.btn-group>.btn.btn-primary:focus{border-color:var(--lm-button-group-button-primary-border-color-focus)}.dark-mode .btn-group-vertical>.btn.btn-primary,.dark-mode .btn-group>.btn.btn-primary{border-color:var(--dm-button-group-button-primary-border-color)}.dark-mode .btn-group-vertical>.btn.btn-primary:hover,.dark-mode .btn-group>.btn.btn-primary:hover{border-color:var(--dm-button-group-button-primary-border-color-hover)}.dark-mode .btn-group-vertical>.btn.btn-primary.active,.dark-mode .btn-group-vertical>.btn.btn-primary:focus,.dark-mode .btn-group>.btn.btn-primary.active,.dark-mode .btn-group>.btn.btn-primary:focus{border-color:var(--dm-button-group-button-primary-border-color-focus)}.btn-group-vertical>.btn.btn-success,.btn-group>.btn.btn-success{border-color:var(--lm-button-group-button-success-border-color)}.btn-group-vertical>.btn.btn-success:hover,.btn-group>.btn.btn-success:hover{border-color:var(--lm-button-group-button-success-border-color-hover)}.btn-group-vertical>.btn.btn-success.active,.btn-group-vertical>.btn.btn-success:focus,.btn-group>.btn.btn-success.active,.btn-group>.btn.btn-success:focus{border-color:var(--lm-button-group-button-success-border-color-focus)}.dark-mode .btn-group-vertical>.btn.btn-success,.dark-mode .btn-group>.btn.btn-success{border-color:var(--dm-button-group-button-success-border-color)}.dark-mode .btn-group-vertical>.btn.btn-success:hover,.dark-mode .btn-group>.btn.btn-success:hover{border-color:var(--dm-button-group-button-success-border-color-hover)}.dark-mode .btn-group-vertical>.btn.btn-success.active,.dark-mode .btn-group-vertical>.btn.btn-success:focus,.dark-mode .btn-group>.btn.btn-success.active,.dark-mode .btn-group>.btn.btn-success:focus{border-color:var(--dm-button-group-button-success-border-color-focus)}.btn-group-vertical>.btn.btn-secondary,.btn-group>.btn.btn-secondary{border-color:var(--lm-button-group-button-secondary-border-color)}.btn-group-vertical>.btn.btn-secondary:hover,.btn-group>.btn.btn-secondary:hover{border-color:var(--lm-button-group-button-secondary-border-color-hover)}.btn-group-vertical>.btn.btn-secondary.active,.btn-group-vertical>.btn.btn-secondary:focus,.btn-group>.btn.btn-secondary.active,.btn-group>.btn.btn-secondary:focus{border-color:var(--lm-button-group-button-secondary-border-color-focus)}.dark-mode .btn-group-vertical>.btn.btn-secondary,.dark-mode .btn-group>.btn.btn-secondary{border-color:var(--dm-button-group-button-secondary-border-color)}.dark-mode .btn-group-vertical>.btn.btn-secondary:hover,.dark-mode .btn-group>.btn.btn-secondary:hover{border-color:var(--dm-button-group-button-secondary-border-color-hover)}.dark-mode .btn-group-vertical>.btn.btn-secondary.active,.dark-mode .btn-group-vertical>.btn.btn-secondary:focus,.dark-mode .btn-group>.btn.btn-secondary.active,.dark-mode .btn-group>.btn.btn-secondary:focus{border-color:var(--dm-button-group-button-secondary-border-color-focus)}.btn-group-vertical>.btn.btn-danger,.btn-group>.btn.btn-danger{border-color:var(--lm-button-group-button-danger-border-color)}.btn-group-vertical>.btn.btn-danger:hover,.btn-group>.btn.btn-danger:hover{border-color:var(--lm-button-group-button-danger-border-color-hover)}.btn-group-vertical>.btn.btn-danger.active,.btn-group-vertical>.btn.btn-danger:focus,.btn-group>.btn.btn-danger.active,.btn-group>.btn.btn-danger:focus{border-color:var(--lm-button-group-button-danger-border-color-focus)}.dark-mode .btn-group-vertical>.btn.btn-danger,.dark-mode .btn-group>.btn.btn-danger{border-color:var(--dm-button-group-button-danger-border-color)}.dark-mode .btn-group-vertical>.btn.btn-danger:hover,.dark-mode .btn-group>.btn.btn-danger:hover{border-color:var(--dm-button-group-button-danger-border-color-hover)}.dark-mode .btn-group-vertical>.btn.btn-danger.active,.dark-mode .btn-group-vertical>.btn.btn-danger:focus,.dark-mode .btn-group>.btn.btn-danger.active,.dark-mode .btn-group>.btn.btn-danger:focus{border-color:var(--dm-button-group-button-danger-border-color-focus)}details,details *{box-sizing:border-box}.collapse-header{position:relative;cursor:pointer;padding:var(--collapse-header-padding);font-size:var(--collapse-header-font-size);color:var(--lm-collapse-header-text-color);background-color:var(--lm-collapse-header-bg-color);border:var(--collapse-header-border-width) solid var(--lm-collapse-header-border-color);border-radius:var(--collapse-header-border-radius);-moz-box-shadow:var(--lm-collapse-header-box-shadow);-webkit-box-shadow:var(--lm-collapse-header-box-shadow);box-shadow:var(--lm-collapse-header-box-shadow);list-style-type:none}.dark-mode .collapse-header{color:var(--dm-collapse-header-text-color);background-color:var(--dm-collapse-header-bg-color);border-color:var(--dm-collapse-header-border-color);-moz-box-shadow:var(--dm-collapse-header-box-shadow);-webkit-box-shadow:var(--dm-collapse-header-box-shadow);box-shadow:var(--dm-collapse-header-box-shadow)}.collapse-header:focus{color:var(--lm-collapse-header-text-color-focus);background-color:var(--lm-collapse-header-bg-color-focus);border-color:var(--lm-collapse-header-border-color-focus);-moz-box-shadow:var(--lm-collapse-header-box-shadow-focus);-webkit-box-shadow:var(--lm-collapse-header-box-shadow-focus);box-shadow:var(--lm-collapse-header-box-shadow-focus);outline:var(--lm-collapse-header-outline-focus)}.dark-mode .collapse-header:focus{color:var(--dm-collapse-header-text-color-focus);background-color:var(--dm-collapse-header-bg-color-focus);border-color:var(--dm-collapse-header-border-color-focus);-moz-box-shadow:var(--dm-collapse-header-box-shadow-focus);-webkit-box-shadow:var(--dm-collapse-header-box-shadow-focus);box-shadow:var(--dm-collapse-header-box-shadow-focus);outline:var(--dm-collapse-header-outline-focus)}.collapse-panel[open] .collapse-header{color:var(--lm-open-collapse-header-text-color);background-color:var(--lm-open-collapse-header-bg-color);border-color:var(--lm-open-collapse-header-border-color);-moz-box-shadow:var(--lm-open-collapse-header-box-shadow);-webkit-box-shadow:var(--lm-open-collapse-header-box-shadow);box-shadow:var(--lm-open-collapse-header-box-shadow);border-bottom-left-radius:0;border-bottom-right-radius:0}.dark-mode .collapse-panel[open] .collapse-header{color:var(--dm-open-collapse-header-text-color);background-color:var(--dm-open-collapse-header-bg-color);border-color:var(--dm-open-collapse-header-border-color);-moz-box-shadow:var(--dm-open-collapse-header-box-shadow);-webkit-box-shadow:var(--dm-open-collapse-header-box-shadow);box-shadow:var(--dm-open-collapse-header-box-shadow)}.collapse-panel[open] .collapse-header:focus{color:var(--lm-open-collapse-header-text-color-focus);background-color:var(--lm-open-collapse-header-bg-color-focus);border-color:var(--lm-open-collapse-header-border-color-focus);-moz-box-shadow:var(--lm-open-collapse-header-box-shadow-focus);-webkit-box-shadow:var(--lm-open-collapse-header-box-shadow-focus);box-shadow:var(--lm-open-collapse-header-box-shadow-focus);outline:var(--lm-open-collapse-header-outline-focus)}.dark-mode .collapse-panel[open] .collapse-header:focus{color:var(--dm-open-collapse-header-text-color-focus);background-color:var(--dm-open-collapse-header-bg-color-focus);border-color:var(--dm-open-collapse-header-border-color-focus);-moz-box-shadow:var(--dm-open-collapse-header-box-shadow-focus);-webkit-box-shadow:var(--dm-open-collapse-header-box-shadow-focus);box-shadow:var(--dm-open-collapse-header-box-shadow-focus);outline:var(--dm-open-collapse-header-outline-focus)}.collapse-header::-webkit-details-marker{display:none}.collapse-header::marker{display:none}.collapse-header:not(.without-arrow){padding:var(--collapse-header-padding-with-bg-image);background-image:var(--collapse-header-bg-image);background-size:var(--collapse-header-bg-size);background-repeat:var(--collapse-header-bg-repeat);background-position:var(--collapse-header-bg-position)}.collapse-panel[open] .collapse-header:not(.without-arrow){padding:var(--open-collapse-header-padding-with-bg-image);background-image:var(--open-collapse-header-bg-image);background-size:var(--open-collapse-header-bg-size);background-repeat:var(--open-collapse-header-bg-repeat);background-position:var(--open-collapse-header-bg-position)}.collapse-header::after{content:"";position:absolute;display:var(--collapse-header-focus-effect-display);top:var(--collapse-header-focus-effect-top);left:var(--collapse-header-focus-effect-left);width:var(--collapse-header-focus-effect-width);height:var(--collapse-header-focus-effect-height);border-radius:var(--collapse-header-focus-effect-border-radius)}.collapse-header:focus::after{-moz-box-shadow:var(--lm-collapse-header-focus-effect-box-shadow);-webkit-box-shadow:var(--lm-collapse-header-focus-effect-box-shadow);box-shadow:var(--lm-collapse-header-focus-effect-box-shadow)}.dark-mode .collapse-header:focus::after{-moz-box-shadow:var(--dm-collapse-header-focus-effect-box-shadow);-webkit-box-shadow:var(--dm-collapse-header-focus-effect-box-shadow);box-shadow:var(--dm-collapse-header-focus-effect-box-shadow)}.collapse-panel[open] .hidden-collapse-open{display:none}.collapse-panel:not([open]) .hidden-collapse-closed{display:none}.collapse-content{padding:var(--collapse-content-padding);font-size:var(--collapse-content-font-size);color:var(--lm-collapse-content-text-color);background-color:var(--lm-collapse-content-bg-color);border:var(--collapse-content-border-width) solid var(--lm-collapse-content-border-color);-moz-box-shadow:var(--lm-collapse-content-box-shadow);-webkit-box-shadow:var(--lm-collapse-content-box-shadow);box-shadow:var(--lm-collapse-content-box-shadow);border-top:none;border-bottom-left-radius:var(--collapse-content-border-radius);border-bottom-right-radius:var(--collapse-content-border-radius)}.dark-mode .collapse-content{color:var(--dm-collapse-content-text-color);background-color:var(--dm-collapse-content-bg-color);border-color:var(--dm-collapse-content-border-color);-moz-box-shadow:var(--dm-collapse-content-box-shadow);-webkit-box-shadow:var(--dm-collapse-content-box-shadow);box-shadow:var(--dm-collapse-content-box-shadow)}.collapse-group .collapse-panel:not(:first-child){margin-top:calc((-1)*var(--collapse-header-border-width))}.collapse-group .collapse-panel:not([open]):not(:last-child) .collapse-header{border-bottom-left-radius:0;border-bottom-right-radius:0}.collapse-group .collapse-panel:not(:first-child) .collapse-header,.collapse-group .collapse-panel[open]:not(:first-child) .collapse-content{border-top-left-radius:0;border-top-right-radius:0}.collapse-group .collapse-panel[open]:not(:last-child) .collapse-content{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:0}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.collapse-panel .collapse-header{cursor:auto;color:var(--lm-open-collapse-header-text-color);background-color:var(--lm-open-collapse-header-bg-color);border-color:var(--lm-open-collapse-header-border-color);-moz-box-shadow:var(--lm-open-collapse-header-box-shadow);-webkit-box-shadow:var(--lm-open-collapse-header-box-shadow);box-shadow:var(--lm-open-collapse-header-box-shadow);border-bottom-left-radius:0;border-bottom-right-radius:0}.dark-mode .collapse-panel .collapse-header{color:var(--dm-open-collapse-header-text-color);background-color:var(--dm-open-collapse-header-bg-color);border-color:var(--dm-open-collapse-header-border-color);-moz-box-shadow:var(--dm-open-collapse-header-box-shadow);-webkit-box-shadow:var(--dm-open-collapse-header-box-shadow);box-shadow:var(--dm-open-collapse-header-box-shadow)}.collapse-panel .collapse-header:not(.without-arrow){padding:var(--open-collapse-header-padding-with-bg-image);background-image:var(--open-collapse-header-bg-image);background-size:var(--open-collapse-header-bg-size);background-repeat:var(--open-collapse-header-bg-repeat);background-position:var(--open-collapse-header-bg-position)}.collapse-panel .hidden-collapse-open{display:none}.collapse-panel:not([open]) .hidden-collapse-closed{display:inline-block}.collapse-group .collapse-panel:not(:first-child) .collapse-content{border-top-left-radius:0;border-top-right-radius:0}.collapse-group .collapse-panel:not(:last-child) .collapse-content{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:0}}.progress,.progress-bar{display:-ms-flexbox;display:flex;overflow:hidden}.progress{height:var(--progress-height);font-size:var(--progress-font-size);line-height:var(--progress-line-height);border-radius:var(--progress-border-radius);background-color:var(--lm-progress-bg-color)}.dark-mode .progress{background-color:var(--dm-progress-bg-color)}.progress-bar{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;text-align:center;white-space:nowrap;color:var(--lm-progress-bar-text-color);background-color:var(--lm-progress-bar-bg-color);border-radius:inherit}.dark-mode .progress-bar{color:var(--dm-progress-bar-text-color);background-color:var(--dm-progress-bar-bg-color);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.progress-bar:not(:only-child){border-radius:0}.progress-bar:not(:only-child):last-child{border-top-right-radius:inherit;border-bottom-right-radius:inherit}.progress-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;width:100%}.progress-group>.progress{position:relative;-ms-flex:1 1 0%;flex:1 1 0%;min-width:0;margin-bottom:0}.progress-group-label{font-size:var(--progress-group-label-font-size)}.progress-group>.progress,.progress-group>.progress-group-label{margin-left:var(--progress-group-item-margin);margin-right:var(--progress-group-item-margin)}.progress-group>.progress-group-label:first-child,.progress-group>.progress:first-child{margin-left:0}.progress-group>.progress-group-label:last-child,.progress-group>.progress:last-child{margin-right:0}.progress-bar-animated{position:relative}.progress-bar-animated::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:inherit;background:var(--lm-progress-bar-animated-highlight-bg-color);transform:translateX(-100%);animation:progress-bar-shine 2s infinite}.dark-mode .progress-bar-animated::before{background:var(--dm-progress-bar-animated-highlight-bg-color)}.progress-bar-animated.highlight-dark::before{background:var(--lm-progress-bar-animated-highlight-dark-bg-color)}.dark-mode .progress-bar-animated.highlight-dark::before{background:var(--dm-progress-bar-animated-highlight-dark-bg-color)}.p-0{padding:0!important}.p-5{padding:.5rem!important}.p-10{padding:1rem!important}.p-15{padding:1.5rem!important}.p-20{padding:2rem!important}.px-0{padding-left:0!important;padding-right:0!important}.px-5{padding-left:.5rem!important;padding-right:.5rem!important}.px-10{padding-left:1rem!important;padding-right:1rem!important}.px-15{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-20{padding-left:2rem!important;padding-right:2rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-5{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-10{padding-top:1rem!important;padding-bottom:1rem!important}.py-15{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-20{padding-top:2rem!important;padding-bottom:2rem!important}.pt-0{padding-top:0!important}.pt-5{padding-top:.5rem!important}.pt-10{padding-top:1rem!important}.pt-15{padding-top:1.5rem!important}.pt-20{padding-top:2rem!important}.pb-0{padding-bottom:0!important}.pb-5{padding-bottom:.5rem!important}.pb-10{padding-bottom:1rem!important}.pb-15{padding-bottom:1.5rem!important}.pb-20{padding-bottom:2rem!important}.pl-0{padding-left:0!important}.pl-5{padding-left:.5rem!important}.pl-10{padding-left:1rem!important}.pl-15{padding-left:1.5rem!important}.pl-20{padding-left:2rem!important}.pr-0{padding-right:0!important}.pr-5{padding-right:.5rem!important}.pr-10{padding-right:1rem!important}.pr-15{padding-right:1.5rem!important}.pr-20{padding-right:2rem!important}.m-0{margin:0!important}.m-5{margin:.5rem!important}.m-10{margin:1rem!important}.m-15{margin:1.5rem!important}.m-20{margin:2rem!important}.m-auto{margin:auto!important}.mx-0{margin-left:0!important;margin-right:0!important}.mx-5{margin-left:.5rem!important;margin-right:.5rem!important}.mx-10{margin-left:1rem!important;margin-right:1rem!important}.mx-15{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-20{margin-left:2rem!important;margin-right:2rem!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-5{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-10{margin-top:1rem!important;margin-bottom:1rem!important}.my-15{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-20{margin-top:2rem!important;margin-bottom:2rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-5{margin-top:.5rem!important}.mt-10{margin-top:1rem!important}.mt-15{margin-top:1.5rem!important}.mt-20{margin-top:2rem!important}.mt-auto{margin-top:auto!important}.mb-0{margin-bottom:0!important}.mb-5{margin-bottom:.5rem!important}.mb-10{margin-bottom:1rem!important}.mb-15{margin-bottom:1.5rem!important}.mb-20{margin-bottom:2rem!important}.mb-auto{margin-bottom:auto!important}.ml-0{margin-left:0!important}.ml-5{margin-left:.5rem!important}.ml-10{margin-left:1rem!important}.ml-15{margin-left:1.5rem!important}.ml-20{margin-left:2rem!important}.ml-auto{margin-left:auto!important}.mr-0{margin-right:0!important}.mr-5{margin-right:.5rem!important}.mr-10{margin-right:1rem!important}.mr-15{margin-right:1.5rem!important}.mr-20{margin-right:2rem!important}.mr-auto{margin-right:auto!important}@media (min-width:577px){.p-sm-0{padding:0!important}.p-sm-5{padding:.5rem!important}.p-sm-10{padding:1rem!important}.p-sm-15{padding:1.5rem!important}.p-sm-20{padding:2rem!important}.px-sm-0{padding-left:0!important;padding-right:0!important}.px-sm-5{padding-left:.5rem!important;padding-right:.5rem!important}.px-sm-10{padding-left:1rem!important;padding-right:1rem!important}.px-sm-15{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-sm-20{padding-left:2rem!important;padding-right:2rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-5{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-10{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-15{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-20{padding-top:2rem!important;padding-bottom:2rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-5{padding-top:.5rem!important}.pt-sm-10{padding-top:1rem!important}.pt-sm-15{padding-top:1.5rem!important}.pt-sm-20{padding-top:2rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-5{padding-bottom:.5rem!important}.pb-sm-10{padding-bottom:1rem!important}.pb-sm-15{padding-bottom:1.5rem!important}.pb-sm-20{padding-bottom:2rem!important}.pl-sm-0{padding-left:0!important}.pl-sm-5{padding-left:.5rem!important}.pl-sm-10{padding-left:1rem!important}.pl-sm-15{padding-left:1.5rem!important}.pl-sm-20{padding-left:2rem!important}.pr-sm-0{padding-right:0!important}.pr-sm-5{padding-right:.5rem!important}.pr-sm-10{padding-right:1rem!important}.pr-sm-15{padding-right:1.5rem!important}.pr-sm-20{padding-right:2rem!important}.m-sm-0{margin:0!important}.m-sm-5{margin:.5rem!important}.m-sm-10{margin:1rem!important}.m-sm-15{margin:1.5rem!important}.m-sm-20{margin:2rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-left:0!important;margin-right:0!important}.mx-sm-5{margin-left:.5rem!important;margin-right:.5rem!important}.mx-sm-10{margin-left:1rem!important;margin-right:1rem!important}.mx-sm-15{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-sm-20{margin-left:2rem!important;margin-right:2rem!important}.mx-sm-auto{margin-left:auto!important;margin-right:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-5{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-10{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-15{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-20{margin-top:2rem!important;margin-bottom:2rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-5{margin-top:.5rem!important}.mt-sm-10{margin-top:1rem!important}.mt-sm-15{margin-top:1.5rem!important}.mt-sm-20{margin-top:2rem!important}.mt-sm-auto{margin-top:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-5{margin-bottom:.5rem!important}.mb-sm-10{margin-bottom:1rem!important}.mb-sm-15{margin-bottom:1.5rem!important}.mb-sm-20{margin-bottom:2rem!important}.mb-sm-auto{margin-bottom:auto!important}.ml-sm-0{margin-left:0!important}.ml-sm-5{margin-left:.5rem!important}.ml-sm-10{margin-left:1rem!important}.ml-sm-15{margin-left:1.5rem!important}.ml-sm-20{margin-left:2rem!important}.ml-sm-auto{margin-left:auto!important}.mr-sm-0{margin-right:0!important}.mr-sm-5{margin-right:.5rem!important}.mr-sm-10{margin-right:1rem!important}.mr-sm-15{margin-right:1.5rem!important}.mr-sm-20{margin-right:2rem!important}.mr-sm-auto{margin-right:auto!important}}@media (min-width:769px){.p-md-0{padding:0!important}.p-md-5{padding:.5rem!important}.p-md-10{padding:1rem!important}.p-md-15{padding:1.5rem!important}.p-md-20{padding:2rem!important}.px-md-0{padding-left:0!important;padding-right:0!important}.px-md-5{padding-left:.5rem!important;padding-right:.5rem!important}.px-md-10{padding-left:1rem!important;padding-right:1rem!important}.px-md-15{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-md-20{padding-left:2rem!important;padding-right:2rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-5{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-10{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-15{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-20{padding-top:2rem!important;padding-bottom:2rem!important}.pt-md-0{padding-top:0!important}.pt-md-5{padding-top:.5rem!important}.pt-md-10{padding-top:1rem!important}.pt-md-15{padding-top:1.5rem!important}.pt-md-20{padding-top:2rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-5{padding-bottom:.5rem!important}.pb-md-10{padding-bottom:1rem!important}.pb-md-15{padding-bottom:1.5rem!important}.pb-md-20{padding-bottom:2rem!important}.pl-md-0{padding-left:0!important}.pl-md-5{padding-left:.5rem!important}.pl-md-10{padding-left:1rem!important}.pl-md-15{padding-left:1.5rem!important}.pl-md-20{padding-left:2rem!important}.pr-md-0{padding-right:0!important}.pr-md-5{padding-right:.5rem!important}.pr-md-10{padding-right:1rem!important}.pr-md-15{padding-right:1.5rem!important}.pr-md-20{padding-right:2rem!important}.m-md-0{margin:0!important}.m-md-5{margin:.5rem!important}.m-md-10{margin:1rem!important}.m-md-15{margin:1.5rem!important}.m-md-20{margin:2rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-left:0!important;margin-right:0!important}.mx-md-5{margin-left:.5rem!important;margin-right:.5rem!important}.mx-md-10{margin-left:1rem!important;margin-right:1rem!important}.mx-md-15{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-md-20{margin-left:2rem!important;margin-right:2rem!important}.mx-md-auto{margin-left:auto!important;margin-right:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-5{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-10{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-15{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-20{margin-top:2rem!important;margin-bottom:2rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-5{margin-top:.5rem!important}.mt-md-10{margin-top:1rem!important}.mt-md-15{margin-top:1.5rem!important}.mt-md-20{margin-top:2rem!important}.mt-md-auto{margin-top:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-5{margin-bottom:.5rem!important}.mb-md-10{margin-bottom:1rem!important}.mb-md-15{margin-bottom:1.5rem!important}.mb-md-20{margin-bottom:2rem!important}.mb-md-auto{margin-bottom:auto!important}.ml-md-0{margin-left:0!important}.ml-md-5{margin-left:.5rem!important}.ml-md-10{margin-left:1rem!important}.ml-md-15{margin-left:1.5rem!important}.ml-md-20{margin-left:2rem!important}.ml-md-auto{margin-left:auto!important}.mr-md-0{margin-right:0!important}.mr-md-5{margin-right:.5rem!important}.mr-md-10{margin-right:1rem!important}.mr-md-15{margin-right:1.5rem!important}.mr-md-20{margin-right:2rem!important}.mr-md-auto{margin-right:auto!important}}@media (min-width:993px){.p-lg-0{padding:0!important}.p-lg-5{padding:.5rem!important}.p-lg-10{padding:1rem!important}.p-lg-15{padding:1.5rem!important}.p-lg-20{padding:2rem!important}.px-lg-0{padding-left:0!important;padding-right:0!important}.px-lg-5{padding-left:.5rem!important;padding-right:.5rem!important}.px-lg-10{padding-left:1rem!important;padding-right:1rem!important}.px-lg-15{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-lg-20{padding-left:2rem!important;padding-right:2rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-5{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-10{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-15{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-20{padding-top:2rem!important;padding-bottom:2rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-5{padding-top:.5rem!important}.pt-lg-10{padding-top:1rem!important}.pt-lg-15{padding-top:1.5rem!important}.pt-lg-20{padding-top:2rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-5{padding-bottom:.5rem!important}.pb-lg-10{padding-bottom:1rem!important}.pb-lg-15{padding-bottom:1.5rem!important}.pb-lg-20{padding-bottom:2rem!important}.pl-lg-0{padding-left:0!important}.pl-lg-5{padding-left:.5rem!important}.pl-lg-10{padding-left:1rem!important}.pl-lg-15{padding-left:1.5rem!important}.pl-lg-20{padding-left:2rem!important}.pr-lg-0{padding-right:0!important}.pr-lg-5{padding-right:.5rem!important}.pr-lg-10{padding-right:1rem!important}.pr-lg-15{padding-right:1.5rem!important}.pr-lg-20{padding-right:2rem!important}.m-lg-0{margin:0!important}.m-lg-5{margin:.5rem!important}.m-lg-10{margin:1rem!important}.m-lg-15{margin:1.5rem!important}.m-lg-20{margin:2rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-left:0!important;margin-right:0!important}.mx-lg-5{margin-left:.5rem!important;margin-right:.5rem!important}.mx-lg-10{margin-left:1rem!important;margin-right:1rem!important}.mx-lg-15{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-lg-20{margin-left:2rem!important;margin-right:2rem!important}.mx-lg-auto{margin-left:auto!important;margin-right:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-5{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-10{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-15{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-20{margin-top:2rem!important;margin-bottom:2rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-5{margin-top:.5rem!important}.mt-lg-10{margin-top:1rem!important}.mt-lg-15{margin-top:1.5rem!important}.mt-lg-20{margin-top:2rem!important}.mt-lg-auto{margin-top:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-5{margin-bottom:.5rem!important}.mb-lg-10{margin-bottom:1rem!important}.mb-lg-15{margin-bottom:1.5rem!important}.mb-lg-20{margin-bottom:2rem!important}.mb-lg-auto{margin-bottom:auto!important}.ml-lg-0{margin-left:0!important}.ml-lg-5{margin-left:.5rem!important}.ml-lg-10{margin-left:1rem!important}.ml-lg-15{margin-left:1.5rem!important}.ml-lg-20{margin-left:2rem!important}.ml-lg-auto{margin-left:auto!important}.mr-lg-0{margin-right:0!important}.mr-lg-5{margin-right:.5rem!important}.mr-lg-10{margin-right:1rem!important}.mr-lg-15{margin-right:1.5rem!important}.mr-lg-20{margin-right:2rem!important}.mr-lg-auto{margin-right:auto!important}}@media (min-width:1201px){.p-xl-0{padding:0!important}.p-xl-5{padding:.5rem!important}.p-xl-10{padding:1rem!important}.p-xl-15{padding:1.5rem!important}.p-xl-20{padding:2rem!important}.px-xl-0{padding-left:0!important;padding-right:0!important}.px-xl-5{padding-left:.5rem!important;padding-right:.5rem!important}.px-xl-10{padding-left:1rem!important;padding-right:1rem!important}.px-xl-15{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-xl-20{padding-left:2rem!important;padding-right:2rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-5{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-10{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-15{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-20{padding-top:2rem!important;padding-bottom:2rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-5{padding-top:.5rem!important}.pt-xl-10{padding-top:1rem!important}.pt-xl-15{padding-top:1.5rem!important}.pt-xl-20{padding-top:2rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-5{padding-bottom:.5rem!important}.pb-xl-10{padding-bottom:1rem!important}.pb-xl-15{padding-bottom:1.5rem!important}.pb-xl-20{padding-bottom:2rem!important}.pl-xl-0{padding-left:0!important}.pl-xl-5{padding-left:.5rem!important}.pl-xl-10{padding-left:1rem!important}.pl-xl-15{padding-left:1.5rem!important}.pl-xl-20{padding-left:2rem!important}.pr-xl-0{padding-right:0!important}.pr-xl-5{padding-right:.5rem!important}.pr-xl-10{padding-right:1rem!important}.pr-xl-15{padding-right:1.5rem!important}.pr-xl-20{padding-right:2rem!important}.m-xl-0{margin:0!important}.m-xl-5{margin:.5rem!important}.m-xl-10{margin:1rem!important}.m-xl-15{margin:1.5rem!important}.m-xl-20{margin:2rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-left:0!important;margin-right:0!important}.mx-xl-5{margin-left:.5rem!important;margin-right:.5rem!important}.mx-xl-10{margin-left:1rem!important;margin-right:1rem!important}.mx-xl-15{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-xl-20{margin-left:2rem!important;margin-right:2rem!important}.mx-xl-auto{margin-left:auto!important;margin-right:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-5{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-10{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-15{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-20{margin-top:2rem!important;margin-bottom:2rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-5{margin-top:.5rem!important}.mt-xl-10{margin-top:1rem!important}.mt-xl-15{margin-top:1.5rem!important}.mt-xl-20{margin-top:2rem!important}.mt-xl-auto{margin-top:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-5{margin-bottom:.5rem!important}.mb-xl-10{margin-bottom:1rem!important}.mb-xl-15{margin-bottom:1.5rem!important}.mb-xl-20{margin-bottom:2rem!important}.mb-xl-auto{margin-bottom:auto!important}.ml-xl-0{margin-left:0!important}.ml-xl-5{margin-left:.5rem!important}.ml-xl-10{margin-left:1rem!important}.ml-xl-15{margin-left:1.5rem!important}.ml-xl-20{margin-left:2rem!important}.ml-xl-auto{margin-left:auto!important}.mr-xl-0{margin-right:0!important}.mr-xl-5{margin-right:.5rem!important}.mr-xl-10{margin-right:1rem!important}.mr-xl-15{margin-right:1.5rem!important}.mr-xl-20{margin-right:2rem!important}.mr-xl-auto{margin-right:auto!important}}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:577px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!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:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:769px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!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:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:993px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!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:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1201px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!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:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (max-width:576px){.d-xs-only-none{display:none!important}}@media (min-width:577px) and (max-width:768px){.d-sm-only-none{display:none!important}}@media (min-width:769px) and (max-width:992px){.d-md-only-none{display:none!important}}@media (min-width:993px) and (max-width:1200px){.d-lg-only-none{display:none!important}}@media (min-width:1201px){.d-xl-only-none{display:none!important}}.hidden-xs-and-up{display:none!important}@media (max-width:576px){.hidden-xs-and-down{display:none!important}}@media (min-width:577px){.hidden-sm-and-up{display:none!important}}@media (max-width:768px){.hidden-sm-and-down{display:none!important}}@media (min-width:769px){.hidden-md-and-up{display:none!important}}@media (max-width:992px){.hidden-md-and-down{display:none!important}}@media (min-width:993px){.hidden-lg-and-up{display:none!important}}@media (max-width:1200px){.hidden-lg-and-down{display:none!important}}@media (min-width:1201px){.hidden-xl-and-up{display:none!important}}.dark-mode .hidden-dm,.hidden-xl-and-down{display:none!important}body:not(.dark-mode) .hidden-lm{display:none!important}.w-25{width:2.5rem!important}.w-50{width:5rem!important}.w-100{width:10rem!important}.w-150{width:15rem!important}.w-200{width:20rem!important}.w-250{width:25rem!important}.w-300{width:30rem!important}.w-350{width:35rem!important}.w-400{width:40rem!important}.w-450{width:45rem!important}.w-500{width:50rem!important}.w-550{width:55rem!important}.w-600{width:60rem!important}.w-auto{width:auto!important}.w-quarter{width:25%!important}.w-half{width:50%!important}.w-three-quarter{width:75%!important}.w-full{width:100%!important}.mw-full{max-width:100%!important}@media (min-width:577px){.w-sm-25{width:2.5rem!important}.w-sm-50{width:5rem!important}.w-sm-100{width:10rem!important}.w-sm-150{width:15rem!important}.w-sm-200{width:20rem!important}.w-sm-250{width:25rem!important}.w-sm-300{width:30rem!important}.w-sm-350{width:35rem!important}.w-sm-400{width:40rem!important}.w-sm-450{width:45rem!important}.w-sm-500{width:50rem!important}.w-sm-550{width:55rem!important}.w-sm-600{width:60rem!important}.w-sm-auto{width:auto!important}.w-sm-quarter{width:25%!important}.w-sm-half{width:50%!important}.w-sm-three-quarter{width:75%!important}.w-sm-full{width:100%!important}.mw-sm-full{max-width:100%!important}}@media (min-width:769px){.w-md-25{width:2.5rem!important}.w-md-50{width:5rem!important}.w-md-100{width:10rem!important}.w-md-150{width:15rem!important}.w-md-200{width:20rem!important}.w-md-250{width:25rem!important}.w-md-300{width:30rem!important}.w-md-350{width:35rem!important}.w-md-400{width:40rem!important}.w-md-450{width:45rem!important}.w-md-500{width:50rem!important}.w-md-550{width:55rem!important}.w-md-600{width:60rem!important}.w-md-auto{width:auto!important}.w-md-quarter{width:25%!important}.w-md-half{width:50%!important}.w-md-three-quarter{width:75%!important}.w-md-full{width:100%!important}.mw-md-full{max-width:100%!important}}@media (min-width:993px){.w-lg-25{width:2.5rem!important}.w-lg-50{width:5rem!important}.w-lg-100{width:10rem!important}.w-lg-150{width:15rem!important}.w-lg-200{width:20rem!important}.w-lg-250{width:25rem!important}.w-lg-300{width:30rem!important}.w-lg-350{width:35rem!important}.w-lg-400{width:40rem!important}.w-lg-450{width:45rem!important}.w-lg-500{width:50rem!important}.w-lg-550{width:55rem!important}.w-lg-600{width:60rem!important}.w-lg-auto{width:auto!important}.w-lg-quarter{width:25%!important}.w-lg-half{width:50%!important}.w-lg-three-quarter{width:75%!important}.w-lg-full{width:100%!important}.mw-lg-full{max-width:100%!important}}@media (min-width:1201px){.w-xl-25{width:2.5rem!important}.w-xl-50{width:5rem!important}.w-xl-100{width:10rem!important}.w-xl-150{width:15rem!important}.w-xl-200{width:20rem!important}.w-xl-250{width:25rem!important}.w-xl-300{width:30rem!important}.w-xl-350{width:35rem!important}.w-xl-400{width:40rem!important}.w-xl-450{width:45rem!important}.w-xl-500{width:50rem!important}.w-xl-550{width:55rem!important}.w-xl-600{width:60rem!important}.w-xl-auto{width:auto!important}.w-xl-quarter{width:25%!important}.w-xl-half{width:50%!important}.w-xl-three-quarter{width:75%!important}.w-xl-full{width:100%!important}.mw-xl-full{max-width:100%!important}}.h-25{height:2.5rem!important}.h-50{height:5rem!important}.h-100{height:10rem!important}.h-150{height:15rem!important}.h-200{height:20rem!important}.h-250{height:25rem!important}.h-300{height:30rem!important}.h-350{height:35rem!important}.h-400{height:40rem!important}.h-450{height:45rem!important}.h-500{height:50rem!important}.h-550{height:55rem!important}.h-600{height:60rem!important}.h-auto{height:auto!important}.h-quarter{height:25%!important}.h-half{height:50%!important}.h-three-quarter{height:75%!important}.h-full{height:100%!important}.mh-full{max-height:100%!important}@media (min-width:577px){.h-sm-25{height:2.5rem!important}.h-sm-50{height:5rem!important}.h-sm-100{height:10rem!important}.h-sm-150{height:15rem!important}.h-sm-200{height:20rem!important}.h-sm-250{height:25rem!important}.h-sm-300{height:30rem!important}.h-sm-350{height:35rem!important}.h-sm-400{height:40rem!important}.h-sm-450{height:45rem!important}.h-sm-500{height:50rem!important}.h-sm-550{height:55rem!important}.h-sm-600{height:60rem!important}.h-sm-auto{height:auto!important}.h-sm-quarter{height:25%!important}.h-sm-half{height:50%!important}.h-sm-three-quarter{height:75%!important}.h-sm-full{height:100%!important}.mh-sm-full{max-height:100%!important}}@media (min-width:769px){.h-md-25{height:2.5rem!important}.h-md-50{height:5rem!important}.h-md-100{height:10rem!important}.h-md-150{height:15rem!important}.h-md-200{height:20rem!important}.h-md-250{height:25rem!important}.h-md-300{height:30rem!important}.h-md-350{height:35rem!important}.h-md-400{height:40rem!important}.h-md-450{height:45rem!important}.h-md-500{height:50rem!important}.h-md-550{height:55rem!important}.h-md-600{height:60rem!important}.h-md-auto{height:auto!important}.h-md-quarter{height:25%!important}.h-md-half{height:50%!important}.h-md-three-quarter{height:75%!important}.h-md-full{height:100%!important}.mh-md-full{max-height:100%!important}}@media (min-width:993px){.h-lg-25{height:2.5rem!important}.h-lg-50{height:5rem!important}.h-lg-100{height:10rem!important}.h-lg-150{height:15rem!important}.h-lg-200{height:20rem!important}.h-lg-250{height:25rem!important}.h-lg-300{height:30rem!important}.h-lg-350{height:35rem!important}.h-lg-400{height:40rem!important}.h-lg-450{height:45rem!important}.h-lg-500{height:50rem!important}.h-lg-550{height:55rem!important}.h-lg-600{height:60rem!important}.h-lg-auto{height:auto!important}.h-lg-quarter{height:25%!important}.h-lg-half{height:50%!important}.h-lg-three-quarter{height:75%!important}.h-lg-full{height:100%!important}.mh-lg-full{max-height:100%!important}}@media (min-width:1201px){.h-xl-25{height:2.5rem!important}.h-xl-50{height:5rem!important}.h-xl-100{height:10rem!important}.h-xl-150{height:15rem!important}.h-xl-200{height:20rem!important}.h-xl-250{height:25rem!important}.h-xl-300{height:30rem!important}.h-xl-350{height:35rem!important}.h-xl-400{height:40rem!important}.h-xl-450{height:45rem!important}.h-xl-500{height:50rem!important}.h-xl-550{height:55rem!important}.h-xl-600{height:60rem!important}.h-xl-auto{height:auto!important}.h-xl-quarter{height:25%!important}.h-xl-half{height:50%!important}.h-xl-three-quarter{height:75%!important}.h-xl-full{height:100%!important}.mh-xl-full{max-height:100%!important}}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:577px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:769px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:993px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1201px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.flex-reset{-ms-flex:0 1 auto!important;flex:0 1 auto!important}@media (min-width:577px){.flex-sm-reset{-ms-flex:0 1 auto!important;flex:0 1 auto!important}}@media (min-width:769px){.flex-md-reset{-ms-flex:0 1 auto!important;flex:0 1 auto!important}}@media (min-width:993px){.flex-lg-reset{-ms-flex:0 1 auto!important;flex:0 1 auto!important}}@media (min-width:1201px){.flex-xl-reset{-ms-flex:0 1 auto!important;flex:0 1 auto!important}}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.bottom-0{bottom:0!important}.left-0{left:0!important}.right-0{right:0!important}.top-auto{top:auto!important}.bottom-auto{bottom:auto!important}.left-auto{left:auto!important}.right-auto{right:auto!important}@media (min-width:577px){.position-sm-static{position:static!important}.position-sm-relative{position:relative!important}.position-sm-absolute{position:absolute!important}.position-sm-fixed{position:fixed!important}.position-sm-sticky{position:-webkit-sticky!important;position:sticky!important}.top-sm-0{top:0!important}.bottom-sm-0{bottom:0!important}.left-sm-0{left:0!important}.right-sm-0{right:0!important}.top-sm-auto{top:auto!important}.bottom-sm-auto{bottom:auto!important}.left-sm-auto{left:auto!important}.right-sm-auto{right:auto!important}}@media (min-width:769px){.position-md-static{position:static!important}.position-md-relative{position:relative!important}.position-md-absolute{position:absolute!important}.position-md-fixed{position:fixed!important}.position-md-sticky{position:-webkit-sticky!important;position:sticky!important}.top-md-0{top:0!important}.bottom-md-0{bottom:0!important}.left-md-0{left:0!important}.right-md-0{right:0!important}.top-md-auto{top:auto!important}.bottom-md-auto{bottom:auto!important}.left-md-auto{left:auto!important}.right-md-auto{right:auto!important}}@media (min-width:993px){.position-lg-static{position:static!important}.position-lg-relative{position:relative!important}.position-lg-absolute{position:absolute!important}.position-lg-fixed{position:fixed!important}.position-lg-sticky{position:-webkit-sticky!important;position:sticky!important}.top-lg-0{top:0!important}.bottom-lg-0{bottom:0!important}.left-lg-0{left:0!important}.right-lg-0{right:0!important}.top-lg-auto{top:auto!important}.bottom-lg-auto{bottom:auto!important}.left-lg-auto{left:auto!important}.right-lg-auto{right:auto!important}}@media (min-width:1201px){.position-xl-static{position:static!important}.position-xl-relative{position:relative!important}.position-xl-absolute{position:absolute!important}.position-xl-fixed{position:fixed!important}.position-xl-sticky{position:-webkit-sticky!important;position:sticky!important}.top-xl-0{top:0!important}.bottom-xl-0{bottom:0!important}.left-xl-0{left:0!important}.right-xl-0{right:0!important}.top-xl-auto{top:auto!important}.bottom-xl-auto{bottom:auto!important}.left-xl-auto{left:auto!important}.right-xl-auto{right:auto!important}}.clearfix::after{display:block;clear:both;content:""}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.border{border:var(--base-border-width) solid var(--lm-border-color)!important}.border-top{border-top:var(--base-border-width) solid var(--lm-border-color)!important}.border-bottom{border-bottom:var(--base-border-width) solid var(--lm-border-color)!important}.border-left{border-left:var(--base-border-width) solid var(--lm-border-color)!important}.border-right{border-right:var(--base-border-width) solid var(--lm-border-color)!important}.dark-mode .border{border:var(--base-border-width) solid var(--dm-border-color)!important}.dark-mode .border-top{border-top:var(--base-border-width) solid var(--dm-border-color)!important}.dark-mode .border-bottom{border-bottom:var(--base-border-width) solid var(--dm-border-color)!important}.dark-mode .border-left{border-left:var(--base-border-width) solid var(--dm-border-color)!important}.dark-mode .border-right{border-right:var(--base-border-width) solid var(--dm-border-color)!important}.border-0{border:0!important}.border-top-0{border-top:none!important}.border-bottom-0{border-bottom:none!important}.border-left-0{border-left:none!important}.border-right-0{border-right:none!important}.rounded-0{border-radius:0!important}.rounded{border-radius:var(--base-border-radius)!important}.rounded-top{border-top-left-radius:var(--base-border-radius)!important;border-top-right-radius:var(--base-border-radius)!important}.rounded-bottom,.rounded-left{border-bottom-left-radius:var(--base-border-radius)!important}.rounded-bottom{border-bottom-right-radius:var(--base-border-radius)!important}.rounded-left{border-top-left-radius:var(--base-border-radius)!important}.rounded-right{border-top-right-radius:var(--base-border-radius)!important;border-bottom-right-radius:var(--base-border-radius)!important}.rounded-circle{border-radius:50%!important}.border-transparent,.dark-mode .border-transparent{border:var(--base-border-width) solid transparent!important}.border-top-transparent,.dark-mode .border-top-transparent{border-top:var(--base-border-width) solid transparent!important}.border-bottom-transparent,.dark-mode .border-bottom-transparent{border-bottom:var(--base-border-width) solid transparent!important}.border-left-transparent,.dark-mode .border-left-transparent{border-left:var(--base-border-width) solid transparent!important}.border-right-transparent,.dark-mode .border-right-transparent{border-right:var(--base-border-width) solid transparent!important}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:577px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:769px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:993px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1201px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:577px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:769px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:993px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1201px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-italic{font-style:italic!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-break{word-wrap:break-word!important}.text-reset{color:inherit!important}.text-extra-letter-spacing,.text-extra-letter-spacing *{letter-spacing:var(--extra-letter-spacing-size)!important}.dark-mode .text-smoothing-antialiased-dm,.text-smoothing-antialiased,body:not(.dark-mode) .text-smoothing-antialiased-lm{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.dark-mode .text-smoothing-auto-dm,.text-smoothing-auto,body:not(.dark-mode) .text-smoothing-auto-lm{-webkit-font-smoothing:auto!important;-moz-osx-font-smoothing:auto!important}.font-size-12{font-size:1.2rem!important}.font-size-14{font-size:1.4rem!important}.font-size-16{font-size:1.6rem!important}.font-size-18{font-size:1.8rem!important}.font-size-20{font-size:2rem!important}.font-size-22{font-size:2.2rem!important}.font-size-24{font-size:2.4rem!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-medium{font-weight:500!important}.font-weight-semi-bold{font-weight:600!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.bg-white,.dark-mode .bg-white-dm,body:not(.dark-mode) .bg-white-lm{background-color:var(--white-bg-color)!important}.bg-light,.dark-mode .bg-light-dm,body:not(.dark-mode) .bg-light-lm{background-color:var(--gray-color-light)!important}.bg-transparent,.dark-mode .bg-transparent-dm,body:not(.dark-mode) .bg-transparent-lm{background-color:transparent!important}.bg-primary,.dark-mode .bg-primary-dm,body:not(.dark-mode) .bg-primary-lm{background-color:var(--primary-color)!important}.bg-success,.dark-mode .bg-success-dm,body:not(.dark-mode) .bg-success-lm{background-color:var(--success-color)!important}.bg-secondary,.dark-mode .bg-secondary-dm,body:not(.dark-mode) .bg-secondary-lm{background-color:var(--secondary-color)!important}.bg-danger,.dark-mode .bg-danger-dm,body:not(.dark-mode) .bg-danger-lm{background-color:var(--danger-color)!important}.bg-dark-light,.dark-mode .bg-dark-light-dm,body:not(.dark-mode) .bg-dark-light-lm{background-color:var(--dark-color-light)!important}.bg-dark,.dark-mode .bg-dark-dm,body:not(.dark-mode) .bg-dark-lm{background-color:var(--dark-color)!important}.bg-very-dark,.dark-mode .bg-very-dark-dm,body:not(.dark-mode) .bg-very-dark-lm{background-color:var(--dark-color-dark)!important}.dark-mode .text-white-dm,.text-white,body:not(.dark-mode) .text-white-lm{color:#fff!important}.text-muted,body:not(.dark-mode) .text-muted-lm{color:var(--lm-muted-text-color)!important}.dark-mode .text-muted,.dark-mode .text-muted-dm{color:var(--dm-muted-text-color)!important}.dark-mode .text-primary-dm,.text-primary,body:not(.dark-mode) .text-primary-lm{color:var(--primary-color)!important}.dark-mode a.text-primary-dm:focus,.dark-mode a.text-primary-dm:hover,a.text-primary:focus,a.text-primary:hover,body:not(.dark-mode) a.text-primary-lm:focus,body:not(.dark-mode) a.text-primary-lm:hover{color:var(--primary-color-light)!important}.dark-mode .text-success-dm,.text-success,body:not(.dark-mode) .text-success-lm{color:var(--success-color)!important}.dark-mode a.text-success-dm:focus,.dark-mode a.text-success-dm:hover,a.text-success:focus,a.text-success:hover,body:not(.dark-mode) a.text-success-lm:focus,body:not(.dark-mode) a.text-success-lm:hover{color:var(--success-color-light)!important}.dark-mode .text-secondary-dm,.text-secondary,body:not(.dark-mode) .text-secondary-lm{color:var(--secondary-color)!important}.dark-mode a.text-secondary-dm:focus,.dark-mode a.text-secondary-dm:hover,a.text-secondary:focus,a.text-secondary:hover,body:not(.dark-mode) a.text-secondary-lm:focus,body:not(.dark-mode) a.text-secondary-lm:hover{color:var(--secondary-color-light)!important}.dark-mode .text-danger-dm,.text-danger,body:not(.dark-mode) .text-danger-lm{color:var(--danger-color)!important}.dark-mode a.text-danger-dm:focus,.dark-mode a.text-danger-dm:hover,a.text-danger:focus,a.text-danger:hover,body:not(.dark-mode) a.text-danger-lm:focus,body:not(.dark-mode) a.text-danger-lm:hover{color:var(--danger-color-light)!important}.dark-mode .text-light-dm,.text-light,body:not(.dark-mode) .text-light-lm{color:var(--dm-base-text-color)!important}.dark-mode a.text-light-dm:focus,.dark-mode a.text-light-dm:hover,a.text-light:focus,a.text-light:hover,body:not(.dark-mode) a.text-light-lm:focus,body:not(.dark-mode) a.text-light-lm:hover{color:var(--dm-base-text-color-light)!important}.dark-mode .text-dark-dm,.text-dark,body:not(.dark-mode) .text-dark-lm{color:var(--lm-base-text-color)!important}.dark-mode a.text-dark-dm:focus,.dark-mode a.text-dark-dm:hover,a.text-dark:focus,a.text-dark:hover,body:not(.dark-mode) a.text-dark-lm:focus,body:not(.dark-mode) a.text-dark-lm:hover{color:var(--lm-base-text-color-light)!important}.overflow-hidden{overflow:hidden!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-auto{overflow:auto!important}.overflow-x-auto{overflow-x:auto!important}.overflow-y-auto{overflow-y:auto!important}.overflow-scroll{overflow:scroll!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-scroll{overflow-y:scroll!important}@media (min-width:577px){.overflow-sm-hidden{overflow:hidden!important}.overflow-x-sm-hidden{overflow-x:hidden!important}.overflow-y-sm-hidden{overflow-y:hidden!important}.overflow-sm-auto{overflow:auto!important}.overflow-x-sm-auto{overflow-x:auto!important}.overflow-y-sm-auto{overflow-y:auto!important}.overflow-sm-scroll{overflow:scroll!important}.overflow-x-sm-scroll{overflow-x:scroll!important}.overflow-y-sm-scroll{overflow-y:scroll!important}}@media (min-width:769px){.overflow-md-hidden{overflow:hidden!important}.overflow-x-md-hidden{overflow-x:hidden!important}.overflow-y-md-hidden{overflow-y:hidden!important}.overflow-md-auto{overflow:auto!important}.overflow-x-md-auto{overflow-x:auto!important}.overflow-y-md-auto{overflow-y:auto!important}.overflow-md-scroll{overflow:scroll!important}.overflow-x-md-scroll{overflow-x:scroll!important}.overflow-y-md-scroll{overflow-y:scroll!important}}@media (min-width:993px){.overflow-lg-hidden{overflow:hidden!important}.overflow-x-lg-hidden{overflow-x:hidden!important}.overflow-y-lg-hidden{overflow-y:hidden!important}.overflow-lg-auto{overflow:auto!important}.overflow-x-lg-auto{overflow-x:auto!important}.overflow-y-lg-auto{overflow-y:auto!important}.overflow-lg-scroll{overflow:scroll!important}.overflow-x-lg-scroll{overflow-x:scroll!important}.overflow-y-lg-scroll{overflow-y:scroll!important}}@media (min-width:1201px){.overflow-xl-hidden{overflow:hidden!important}.overflow-x-xl-hidden{overflow-x:hidden!important}.overflow-y-xl-hidden{overflow-y:hidden!important}.overflow-xl-auto{overflow:auto!important}.overflow-x-xl-auto{overflow-x:auto!important}.overflow-y-xl-auto{overflow-y:auto!important}.overflow-xl-scroll{overflow:scroll!important}.overflow-x-xl-scroll{overflow-x:scroll!important}.overflow-y-xl-scroll{overflow-y:scroll!important}}.dark-mode .visible-dm,.visible{visibility:visible!important}.dark-mode .invisible-dm,.invisible{visibility:hidden!important}body:not(.dark-mode) .visible-lm{visibility:visible!important}body:not(.dark-mode) .invisible-lm{visibility:hidden!important}.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}.z-0{z-index:0!important}.z-10{z-index:10!important}.z-20{z-index:20!important}.z-30{z-index:30!important}.z-40{z-index:40!important}.z-50{z-index:50!important}.z-auto{z-index:auto!important}@media (min-width:577px){.z-sm-0{z-index:0!important}.z-sm-10{z-index:10!important}.z-sm-20{z-index:20!important}.z-sm-30{z-index:30!important}.z-sm-40{z-index:40!important}.z-sm-50{z-index:50!important}.z-sm-auto{z-index:auto!important}}@media (min-width:769px){.z-md-0{z-index:0!important}.z-md-10{z-index:10!important}.z-md-20{z-index:20!important}.z-md-30{z-index:30!important}.z-md-40{z-index:40!important}.z-md-50{z-index:50!important}.z-md-auto{z-index:auto!important}}@media (min-width:993px){.z-lg-0{z-index:0!important}.z-lg-10{z-index:10!important}.z-lg-20{z-index:20!important}.z-lg-30{z-index:30!important}.z-lg-40{z-index:40!important}.z-lg-50{z-index:50!important}.z-lg-auto{z-index:auto!important}}@media (min-width:1201px){.z-xl-0{z-index:0!important}.z-xl-10{z-index:10!important}.z-xl-20{z-index:20!important}.z-xl-30{z-index:30!important}.z-xl-40{z-index:40!important}.z-xl-50{z-index:50!important}.z-xl-auto{z-index:auto!important}}.shadow-none{-moz-box-shadow:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}.shadow-sm{-moz-box-shadow:var(--lm-small-shadow)!important;-webkit-box-shadow:var(--lm-small-shadow)!important;box-shadow:var(--lm-small-shadow)!important}.dark-mode .shadow-sm{-moz-box-shadow:var(--dm-small-shadow)!important;-webkit-box-shadow:var(--dm-small-shadow)!important;box-shadow:var(--dm-small-shadow)!important}.shadow{-moz-box-shadow:var(--lm-shadow)!important;-webkit-box-shadow:var(--lm-shadow)!important;box-shadow:var(--lm-shadow)!important}.dark-mode .shadow{-moz-box-shadow:var(--dm-shadow)!important;-webkit-box-shadow:var(--dm-shadow)!important;box-shadow:var(--dm-shadow)!important}.shadow-lg{-moz-box-shadow:var(--lm-large-shadow)!important;-webkit-box-shadow:var(--lm-large-shadow)!important;box-shadow:var(--lm-large-shadow)!important}.dark-mode .shadow-lg{-moz-box-shadow:var(--dm-large-shadow)!important;-webkit-box-shadow:var(--dm-large-shadow)!important;box-shadow:var(--dm-large-shadow)!important}.pointer-events-auto{pointer-events:auto!important}.pointer-events-none{pointer-events:none!important} diff --git a/modules/analyze/html/external/halfmoon.min.js b/modules/analyze/html/external/halfmoon.min.js deleted file mode 100644 index 102ccec..0000000 --- a/modules/analyze/html/external/halfmoon.min.js +++ /dev/null @@ -1,11 +0,0 @@ -/* -* ----------------------------------------------------------------------------- -* Halfmoon JS -* Version: 1.1.1 -* https://www.gethalfmoon.com -* Copyright, Halfmoon UI -* Licensed under MIT (https://www.gethalfmoon.com/license) -* ----------------------------------------------------------------------------- -* The above notice must be included in its entirety when this file is used. -*/ -Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),Element.prototype.closest||(Element.prototype.closest=function(e){var t=this;do{if(t.matches(e))return t;t=t.parentElement||t.parentNode}while(null!==t&&1===t.nodeType);return null}),"document"in self&&("classList"in document.createElement("_")&&(!document.createElementNS||"classList"in document.createElementNS("http://www.w3.org/2000/svg","g"))||function(e){"use strict";if("Element"in e){var t="classList",o="prototype",a=e.Element[o],s=Object,n=String[o].trim||function(){return this.replace(/^\s+|\s+$/g,"")},i=Array[o].indexOf||function(e){for(var t=0,o=this.length;t"+o+""+t),r.classList.add("alert"),a&&r.classList.add(a),s&&r.classList.add(s),n&&(t=""+t),r.innerHTML=t,this.stickyAlerts.insertBefore(r,this.stickyAlerts.childNodes[0]),this.toastAlert(r.getAttribute("id"),i)},clickHandler:function(e){},keydownHandler:function(e){}};function halfmoonOnDOMContentLoaded(){halfmoon.pageWrapper||(halfmoon.pageWrapper=document.getElementsByClassName("page-wrapper")[0]),halfmoon.stickyAlerts||(halfmoon.stickyAlerts=document.getElementsByClassName("sticky-alerts")[0]),halfmoon.readCookie("halfmoon_preferredMode")?"dark-mode"==halfmoon.readCookie("halfmoon_preferredMode")?halfmoon.darkModeOn=!0:halfmoon.darkModeOn=!1:window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches||document.body.classList.contains("dark-mode")?halfmoon.darkModeOn=!0:halfmoon.darkModeOn=!1,(document.body.getAttribute("data-set-preferred-mode-onload")||document.body.getAttribute("data-set-preferred-theme-onload"))&&(halfmoon.darkModeOn?document.body.classList.contains("dark-mode")||document.body.classList.add("dark-mode"):document.body.classList.contains("dark-mode")&&document.body.classList.remove("dark-mode")),document.documentElement.clientWidth<=768?halfmoon.pageWrapper&&(halfmoon.pageWrapper.getAttribute("data-show-sidebar-onload-sm-and-down")||halfmoon.pageWrapper.setAttribute("data-sidebar-hidden","hidden")):halfmoon.pageWrapper&&"overlayed-all"===halfmoon.pageWrapper.getAttribute("data-sidebar-type")&&halfmoon.pageWrapper.setAttribute("data-sidebar-hidden","hidden"),document.addEventListener("click",function(e){var t,o,a=e,s=e.target;s.matches("[data-toggle='dropdown']")||s.matches("[data-toggle='dropdown'] *")?(s.matches("[data-toggle='dropdown'] *")&&(s=s.closest("[data-toggle='dropdown']")),s.classList.contains("active")?(s.classList.remove("active"),s.closest(".dropdown").classList.remove("show")):(halfmoon.deactivateAllDropdownToggles(),s.classList.add("active"),s.closest(".dropdown").classList.add("show"))):s.matches(".dropdown-menu *")||halfmoon.deactivateAllDropdownToggles(),(s.matches(".alert [data-dismiss='alert']")||s.matches(".alert [data-dismiss='alert'] *"))&&(s.matches(".alert [data-dismiss='alert'] *")&&(s=s.closest(".alert [data-dismiss='alert']")),s.parentNode.classList.add("dispose")),(s.matches("[data-toggle='modal']")||s.matches("[data-toggle='modal'] *"))&&(s.matches("[data-toggle='modal'] *")&&(s=s.closest("[data-toggle='modal']")),(t=document.getElementById(s.getAttribute("data-target")))&&t.classList.contains("modal")&&halfmoon.toggleModal(s.getAttribute("data-target"))),(s.matches(".modal [data-dismiss='modal']")||s.matches(".modal [data-dismiss='modal'] *"))&&(s.matches(".modal [data-dismiss='modal'] *")&&(s=s.closest(".modal [data-dismiss='modal']")),s.closest(".modal").classList.remove("show")),s.matches(".modal-dialog")&&((o=s.closest(".modal")).getAttribute("data-overlay-dismissal-disabled")||(o.classList.contains("show")?o.classList.remove("show"):window.location.hash="#")),halfmoon.clickHandler(a)},!1),document.addEventListener("keydown",function(e){var t,o,a,s=e;document.querySelector("input:focus")||document.querySelector("textarea:focus")||document.querySelector("select:focus")||(e=e||window.event).ctrlKey||e.metaKey||(document.body.getAttribute("data-sidebar-shortcut-enabled")&&e.shiftKey&&83==e.which&&(t=!1,window.location.hash&&(o=window.location.hash.substring(1),(a=document.getElementById(o))&&a.classList.contains("modal")&&(t=!0)),document.querySelector(".modal.show")&&(t=!0),t||(halfmoon.toggleSidebar(),e.preventDefault())),document.body.getAttribute("data-dm-shortcut-enabled")&&e.shiftKey&&68==e.which&&(halfmoon.toggleDarkMode(),e.preventDefault())),27===e.which&&(document.querySelector("[data-toggle='dropdown'].active")?((a=document.querySelector("[data-toggle='dropdown'].active")).classList.remove("active"),a.closest(".dropdown").classList.remove("show"),e.preventDefault()):(window.location.hash&&(o=window.location.hash.substring(1),(a=document.getElementById(o))&&a.classList.contains("modal")&&(a.getAttribute("data-esc-dismissal-disabled")||(window.location.hash="#",e.preventDefault()))),document.querySelector(".modal.show")&&((a=document.querySelector(".modal.show")).getAttribute("data-esc-dismissal-disabled")||(a.classList.remove("show"),e.preventDefault())))),halfmoon.keydownHandler(s)});for(var e=document.querySelectorAll(".custom-file input"),t=0;t+~]|"+ge+")"+ge+"*"),x=new RegExp(ge+"|>"),j=new RegExp(g),A=new RegExp("^"+t+"$"),D={ID:new RegExp("^#("+t+")"),CLASS:new RegExp("^\\.("+t+")"),TAG:new RegExp("^("+t+"|[*])"),ATTR:new RegExp("^"+p),PSEUDO:new RegExp("^"+g),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ge+"*(even|odd|(([+-]|)(\\d*)n|)"+ge+"*(?:([+-]|)"+ge+"*(\\d+)|))"+ge+"*\\)|)","i"),bool:new RegExp("^(?:"+f+")$","i"),needsContext:new RegExp("^"+ge+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ge+"*((?:-\\d)?\\d*)"+ge+"*\\)|)(?=[^-]|$)","i")},N=/^(?:input|select|textarea|button)$/i,q=/^h\d$/i,L=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,H=/[+~]/,O=new RegExp("\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\([^\\r\\n\\f])","g"),P=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},M=function(){V()},R=J(function(e){return!0===e.disabled&&fe(e,"fieldset")},{dir:"parentNode",next:"legend"});try{k.apply(oe=ae.call(ye.childNodes),ye.childNodes),oe[ye.childNodes.length].nodeType}catch(e){k={apply:function(e,t){me.apply(e,ae.call(t))},call:function(e){me.apply(e,ae.call(arguments,1))}}}function I(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(V(e),e=e||T,C)){if(11!==p&&(u=L.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return k.call(n,a),n}else if(f&&(a=f.getElementById(i))&&I.contains(e,a)&&a.id===i)return k.call(n,a),n}else{if(u[2])return k.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&e.getElementsByClassName)return k.apply(n,e.getElementsByClassName(i)),n}if(!(h[t+" "]||d&&d.test(t))){if(c=t,f=e,1===p&&(x.test(t)||m.test(t))){(f=H.test(t)&&U(e.parentNode)||e)==e&&le.scope||((s=e.getAttribute("id"))?s=ce.escapeSelector(s):e.setAttribute("id",s=S)),o=(l=Y(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+Q(l[o]);c=l.join(",")}try{return k.apply(n,f.querySelectorAll(c)),n}catch(e){h(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return re(t.replace(ve,"$1"),e,n,r)}function W(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function F(e){return e[S]=!0,e}function $(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function B(t){return function(e){return fe(e,"input")&&e.type===t}}function _(t){return function(e){return(fe(e,"input")||fe(e,"button"))&&e.type===t}}function z(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&R(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function X(a){return F(function(o){return o=+o,F(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function U(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function V(e){var t,n=e?e.ownerDocument||e:ye;return n!=T&&9===n.nodeType&&n.documentElement&&(r=(T=n).documentElement,C=!ce.isXMLDoc(T),i=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,r.msMatchesSelector&&ye!=T&&(t=T.defaultView)&&t.top!==t&&t.addEventListener("unload",M),le.getById=$(function(e){return r.appendChild(e).id=ce.expando,!T.getElementsByName||!T.getElementsByName(ce.expando).length}),le.disconnectedMatch=$(function(e){return i.call(e,"*")}),le.scope=$(function(){return T.querySelectorAll(":scope")}),le.cssHas=$(function(){try{return T.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),le.getById?(b.filter.ID=function(e){var t=e.replace(O,P);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(O,P);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},b.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&C)return t.getElementsByClassName(e)},d=[],$(function(e){var t;r.appendChild(e).innerHTML="",e.querySelectorAll("[selected]").length||d.push("\\["+ge+"*(?:value|"+f+")"),e.querySelectorAll("[id~="+S+"-]").length||d.push("~="),e.querySelectorAll("a#"+S+"+*").length||d.push(".#.+[+~]"),e.querySelectorAll(":checked").length||d.push(":checked"),(t=T.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&d.push(":enabled",":disabled"),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||d.push("\\["+ge+"*name"+ge+"*="+ge+"*(?:''|\"\")")}),le.cssHas||d.push(":has"),d=d.length&&new RegExp(d.join("|")),l=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!le.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument==ye&&I.contains(ye,e)?-1:t===T||t.ownerDocument==ye&&I.contains(ye,t)?1:o?se.call(o,e)-se.call(o,t):0:4&n?-1:1)}),T}for(e in I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(V(e),C&&!h[t+" "]&&(!d||!d.test(t)))try{var n=i.call(e,t);if(n||le.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){h(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(O,P),e[3]=(e[3]||e[4]||e[5]||"").replace(O,P),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return D.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&j.test(n)&&(t=Y(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(O,P).toLowerCase();return"*"===e?function(){return!0}:function(e){return fe(e,t)}},CLASS:function(e){var t=s[e+" "];return t||(t=new RegExp("(^|"+ge+")"+e+"("+ge+"|$)"))&&s(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=I.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(e,n,r){return v(n)?ce.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?ce.grep(e,function(e){return e===n!==r}):"string"!=typeof n?ce.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||k,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:S.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),w.test(r[1])&&ce.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=C.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(ce):ce.makeArray(e,this)}).prototype=ce.fn,k=ce(C);var E=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function A(e,t){while((e=e[t])&&1!==e.nodeType);return e}ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,Ce=/^$|^module$|\/(?:java|ecma)script/i;xe=C.createDocumentFragment().appendChild(C.createElement("div")),(be=C.createElement("input")).setAttribute("type","radio"),be.setAttribute("checked","checked"),be.setAttribute("name","t"),xe.appendChild(be),le.checkClone=xe.cloneNode(!0).cloneNode(!0).lastChild.checked,xe.innerHTML="",le.noCloneChecked=!!xe.cloneNode(!0).lastChild.defaultValue,xe.innerHTML="",le.option=!!xe.lastChild;var ke={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function Se(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function Ee(e,t){for(var n=0,r=e.length;n",""]);var je=/<|&#?\w+;/;function Ae(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function Re(e,t){return fe(e,"table")&&fe(11!==t.nodeType?t:t.firstChild,"tr")&&ce(e).children("tbody")[0]||e}function Ie(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function We(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Fe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(_.hasData(e)&&(s=_.get(e).events))for(i in _.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),C.head.appendChild(r[0])},abort:function(){i&&i()}}});var Jt,Kt=[],Zt=/(=)\?(?=&|$)|\?\?/;ce.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Kt.pop()||ce.expando+"_"+jt.guid++;return this[e]=!0,e}}),ce.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Zt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Zt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Zt,"$1"+r):!1!==e.jsonp&&(e.url+=(At.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||ce.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=ie[r],ie[r]=function(){o=arguments},n.always(function(){void 0===i?ce(ie).removeProp(r):ie[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Kt.push(r)),o&&v(i)&&i(o[0]),o=i=void 0}),"script"}),le.createHTMLDocument=((Jt=C.implementation.createHTMLDocument("").body).innerHTML="
",2===Jt.childNodes.length),ce.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=C.implementation.createHTMLDocument("")).createElement("base")).href=C.location.href,t.head.appendChild(r)):t=C),o=!n&&[],(i=w.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(ce.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},ce.expr.pseudos.animated=function(t){return ce.grep(ce.timers,function(e){return t===e.elem}).length},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,"position"),c=ce(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=ce.css(e,"top"),u=ce.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===ce.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===ce.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,"borderTopWidth",!0),i.left+=ce.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-ce.css(r,"marginTop",!0),left:t.left-i.left-ce.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===ce.css(e,"position"))e=e.offsetParent;return e||J})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;ce.fn[t]=function(e){return M(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each(["top","left"],function(e,n){ce.cssHooks[n]=Ye(le.pixelPosition,function(e,t){if(t)return t=Ge(e,n),_e.test(t)?ce(e).position()[n]+"px":t})}),ce.each({Height:"height",Width:"width"},function(a,s){ce.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return M(this,function(e,t,n){var r;return y(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ce.fn[t]=function(e){return this.on(t,e)}}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)}}),ce.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){ce.fn[n]=function(e,t){return 0 Mikolaj Wolicki Patrick McKay c-lambert <58025159+c-lambert@users.noreply.github.com> +Josep Sanz +Ben Mullins +Christian Oliff +dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> +Adam Lidén Hällgren +James Hinderks +Denny Septian Panggabean <97607754+ddevsr@users.noreply.github.com> diff --git a/modules/analyze/html/external/jqueryui/LICENSE.txt b/modules/analyze/html/external/jquery-ui-1.13.2.custom/LICENSE.txt similarity index 100% rename from modules/analyze/html/external/jqueryui/LICENSE.txt rename to modules/analyze/html/external/jquery-ui-1.13.2.custom/LICENSE.txt diff --git a/modules/analyze/html/external/jquery-ui-1.13.2.custom/external/jquery/jquery.js b/modules/analyze/html/external/jquery-ui-1.13.2.custom/external/jquery/jquery.js new file mode 100644 index 0000000..fc6c299 --- /dev/null +++ b/modules/analyze/html/external/jquery-ui-1.13.2.custom/external/jquery/jquery.js @@ -0,0 +1,10881 @@ +/*! + * jQuery JavaScript Library v3.6.0 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2021-03-02T17:08Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var flat = arr.flat ? function( array ) { + return arr.flat.call( array ); +} : function( array ) { + return arr.concat.apply( [], array ); +}; + + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + +var isFunction = function isFunction( obj ) { + + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5 + // Plus for old WebKit, typeof returns "function" for HTML collections + // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756) + return typeof obj === "function" && typeof obj.nodeType !== "number" && + typeof obj.item !== "function"; + }; + + +var isWindow = function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + + +var document = window.document; + + + + var preservedScriptAttributes = { + type: true, + src: true, + nonce: true, + noModule: true + }; + + function DOMEval( code, node, doc ) { + doc = doc || document; + + var i, val, + script = doc.createElement( "script" ); + + script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + + // Support: Firefox 64+, Edge 18+ + // Some browsers don't support the "nonce" property on scripts. + // On the other hand, just using `getAttribute` is not enough as + // the `nonce` attribute is reset to an empty string whenever it + // becomes browsing-context connected. + // See https://github.com/whatwg/html/issues/2369 + // See https://html.spec.whatwg.org/#nonce-attributes + // The `node.getAttribute` check was added for the sake of + // `jQuery.globalEval` so that it can fake a nonce-containing node + // via an object. + val = node[ i ] || node.getAttribute && node.getAttribute( i ); + if ( val ) { + script.setAttribute( i, val ); + } + } + } + doc.head.appendChild( script ).parentNode.removeChild( script ); + } + + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.6.0", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + even: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return ( i + 1 ) % 2; + } ) ); + }, + + odd: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return i % 2; + } ) ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + copy = options[ name ]; + + // Prevent Object.prototype pollution + // Prevent never-ending loop + if ( name === "__proto__" || target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + src = target[ name ]; + + // Ensure proper type for the source value + if ( copyIsArray && !Array.isArray( src ) ) { + clone = []; + } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { + clone = {}; + } else { + clone = src; + } + copyIsArray = false; + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a provided context; falls back to the global one + // if not specified. + globalEval: function( code, options, doc ) { + DOMEval( code, { nonce: options && options.nonce }, doc ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return flat( ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), + function( _i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); + } ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.6 + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://js.foundation/ + * + * Date: 2021-02-16 + */ +( function( window ) { +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + nonnativeSelectorCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ( {} ).hasOwnProperty, + arr = [], + pop = arr.pop, + pushNative = arr.push, + push = arr.push, + slice = arr.slice, + + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[ i ] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" + + "ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram + identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + + // "Attribute values must be CSS identifiers [capture 5] + // or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + + whitespace + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + + "*" ), + rdescend = new RegExp( whitespace + "|>" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + + whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + + whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rhtml = /HTML$/i, + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ), + funescape = function( escape, nonHex ) { + var high = "0x" + escape.slice( 1 ) - 0x10000; + + return nonHex ? + + // Strip the backslash prefix from a non-hex escape sequence + nonHex : + + // Replace a hexadecimal escape sequence with the encoded Unicode code point + // Support: IE <=11+ + // For values outside the Basic Multilingual Plane (BMP), manually construct a + // surrogate pair + high < 0 ? + String.fromCharCode( high + 0x10000 ) : + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + inDisabledFieldset = addCombinator( + function( elem ) { + return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + ( arr = slice.call( preferredDoc.childNodes ) ), + preferredDoc.childNodes + ); + + // Support: Android<4.0 + // Detect silently failing push.apply + // eslint-disable-next-line no-unused-expressions + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + pushNative.apply( target, slice.call( els ) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + + // Can't trust NodeList.length + while ( ( target[ j++ ] = els[ i++ ] ) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + setDocument( context ); + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { + + // ID selector + if ( ( m = match[ 1 ] ) ) { + + // Document context + if ( nodeType === 9 ) { + if ( ( elem = context.getElementById( m ) ) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && ( elem = newContext.getElementById( m ) ) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[ 2 ] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !nonnativeSelectorCache[ selector + " " ] && + ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) && + + // Support: IE 8 only + // Exclude object elements + ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) { + + newSelector = selector; + newContext = context; + + // qSA considers elements outside a scoping root when evaluating child or + // descendant combinators, which is not what we want. + // In such cases, we work around the behavior by prefixing every selector in the + // list with an ID selector referencing the scope context. + // The technique has to be used as well when a leading combinator is used + // as such selectors are not recognized by querySelectorAll. + // Thanks to Andrew Dupont for this technique. + if ( nodeType === 1 && + ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) { + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + + // We can use :scope instead of the ID hack if the browser + // supports it & if we're not changing the context. + if ( newContext !== context || !support.scope ) { + + // Capture the context ID, setting it first if necessary + if ( ( nid = context.getAttribute( "id" ) ) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", ( nid = expando ) ); + } + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + + toSelector( groups[ i ] ); + } + newSelector = groups.join( "," ); + } + + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + nonnativeSelectorCache( selector, true ); + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return ( cache[ key + " " ] = value ); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement( "fieldset" ); + + try { + return !!fn( el ); + } catch ( e ) { + return false; + } finally { + + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split( "|" ), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[ i ] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( ( cur = cur.nextSibling ) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return ( name === "input" || name === "button" ) && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + inDisabledFieldset( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction( function( argument ) { + argument = +argument; + return markFunction( function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ ( j = matchIndexes[ i ] ) ] ) { + seed[ j ] = !( matches[ j ] = seed[ j ] ); + } + } + } ); + } ); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + var namespace = elem && elem.namespaceURI, + docElem = elem && ( elem.ownerDocument || elem ).documentElement; + + // Support: IE <=8 + // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes + // https://bugs.jquery.com/ticket/4833 + return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9 - 11+, Edge 12 - 18+ + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( preferredDoc != document && + ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only, + // Safari 4 - 5 only, Opera <=11.6 - 12.x only + // IE/Edge & older browsers don't support the :scope pseudo-class. + // Support: Safari 6.0 only + // Safari 6.0 supports :scope but it's an alias of :root there. + support.scope = assert( function( el ) { + docElem.appendChild( el ).appendChild( document.createElement( "div" ) ); + return typeof el.querySelectorAll !== "undefined" && + !el.querySelectorAll( ":scope fieldset div" ).length; + } ); + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert( function( el ) { + el.className = "i"; + return !el.getAttribute( "className" ); + } ); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert( function( el ) { + el.appendChild( document.createComment( "" ) ); + return !el.getElementsByTagName( "*" ).length; + } ); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert( function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + } ); + + // ID filter and find + if ( support.getById ) { + Expr.filter[ "ID" ] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute( "id" ) === attrId; + }; + }; + Expr.find[ "ID" ] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter[ "ID" ] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode( "id" ); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find[ "ID" ] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode( "id" ); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( ( elem = elems[ i++ ] ) ) { + node = elem.getAttributeNode( "id" ); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find[ "TAG" ] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( ( elem = results[ i++ ] ) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) { + + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert( function( el ) { + + var input; + + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll( "[selected]" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push( "~=" ); + } + + // Support: IE 11+, Edge 15 - 18+ + // IE 11/Edge don't find elements on a `[name='']` query in some cases. + // Adding a temporary attribute to the document before the selection works + // around the issue. + // Interestingly, IE 10 & older don't seem to have the issue. + input = document.createElement( "input" ); + input.setAttribute( "name", "" ); + el.appendChild( input ); + if ( !el.querySelectorAll( "[name='']" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + + whitespace + "*(?:''|\"\")" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll( ":checked" ).length ) { + rbuggyQSA.push( ":checked" ); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push( ".#.+[+~]" ); + } + + // Support: Firefox <=3.6 - 5 only + // Old Firefox doesn't throw on a badly-escaped identifier. + el.querySelectorAll( "\\\f" ); + rbuggyQSA.push( "[\\r\\n\\f]" ); + } ); + + assert( function( el ) { + el.innerHTML = "" + + ""; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement( "input" ); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll( "[name=d]" ).length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll( ":enabled" ).length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: Opera 10 - 11 only + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll( "*,:x" ); + rbuggyQSA.push( ",.*:" ); + } ); + } + + if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector ) ) ) ) { + + assert( function( el ) { + + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + } ); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + ) ); + } : + function( a, b ) { + if ( b ) { + while ( ( b = b.parentNode ) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { + + // Choose the first element that is related to our preferred document + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( a == document || a.ownerDocument == preferredDoc && + contains( preferredDoc, a ) ) { + return -1; + } + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( b == document || b.ownerDocument == preferredDoc && + contains( preferredDoc, b ) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + /* eslint-disable eqeqeq */ + return a == document ? -1 : + b == document ? 1 : + /* eslint-enable eqeqeq */ + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( ( cur = cur.parentNode ) ) { + ap.unshift( cur ); + } + cur = b; + while ( ( cur = cur.parentNode ) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[ i ] === bp[ i ] ) { + i++; + } + + return i ? + + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[ i ], bp[ i ] ) : + + // Otherwise nodes in our document sort first + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + /* eslint-disable eqeqeq */ + ap[ i ] == preferredDoc ? -1 : + bp[ i ] == preferredDoc ? 1 : + /* eslint-enable eqeqeq */ + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + setDocument( elem ); + + if ( support.matchesSelector && documentIsHTML && + !nonnativeSelectorCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch ( e ) { + nonnativeSelectorCache( expr, true ); + } + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + + // Set document vars if needed + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( context.ownerDocument || context ) != document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + + // Set document vars if needed + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( elem.ownerDocument || elem ) != document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + ( val = elem.getAttributeNode( name ) ) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return ( sel + "" ).replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( ( elem = results[ i++ ] ) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + + // If no nodeType, this is expected to be an array + while ( ( node = elem[ i++ ] ) ) { + + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[ 1 ] = match[ 1 ].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[ 3 ] = ( match[ 3 ] || match[ 4 ] || + match[ 5 ] || "" ).replace( runescape, funescape ); + + if ( match[ 2 ] === "~=" ) { + match[ 3 ] = " " + match[ 3 ] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[ 1 ] = match[ 1 ].toLowerCase(); + + if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { + + // nth-* requires argument + if ( !match[ 3 ] ) { + Sizzle.error( match[ 0 ] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[ 4 ] = +( match[ 4 ] ? + match[ 5 ] + ( match[ 6 ] || 1 ) : + 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) ); + match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); + + // other types prohibit arguments + } else if ( match[ 3 ] ) { + Sizzle.error( match[ 0 ] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[ 6 ] && match[ 2 ]; + + if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[ 3 ] ) { + match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + + // Get excess from tokenize (recursively) + ( excess = tokenize( unquoted, true ) ) && + + // advance to the next closing parenthesis + ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { + + // excess is a negative index + match[ 0 ] = match[ 0 ].slice( 0, excess ); + match[ 2 ] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { + return true; + } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + ( pattern = new RegExp( "(^|" + whitespace + + ")" + className + "(" + whitespace + "|$)" ) ) && classCache( + className, function( elem ) { + return pattern.test( + typeof elem.className === "string" && elem.className || + typeof elem.getAttribute !== "undefined" && + elem.getAttribute( "class" ) || + "" + ); + } ); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + /* eslint-disable max-len */ + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + /* eslint-enable max-len */ + + }; + }, + + "CHILD": function( type, what, _argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, _context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( ( node = node[ dir ] ) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( ( node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + ( diff = nodeIndex = 0 ) || start.pop() ) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + + // Use previously-cached element index if available + if ( useCache ) { + + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + + // Use the same loop as above to seek `elem` from the start + while ( ( node = ++nodeIndex && node && node[ dir ] || + ( diff = nodeIndex = 0 ) || start.pop() ) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || + ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction( function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[ i ] ); + seed[ idx ] = !( matches[ idx ] = matched[ i ] ); + } + } ) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + + // Potentially complex pseudos + "not": markFunction( function( selector ) { + + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction( function( seed, matches, _context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( ( elem = unmatched[ i ] ) ) { + seed[ i ] = !( matches[ i ] = elem ); + } + } + } ) : + function( elem, _context, xml ) { + input[ 0 ] = elem; + matcher( input, null, xml, results ); + + // Don't keep the element (issue #299) + input[ 0 ] = null; + return !results.pop(); + }; + } ), + + "has": markFunction( function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + } ), + + "contains": markFunction( function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; + }; + } ), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + + // lang value must be a valid identifier + if ( !ridentifier.test( lang || "" ) ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( ( elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); + return false; + }; + } ), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && + ( !document.hasFocus || document.hasFocus() ) && + !!( elem.type || elem.href || ~elem.tabIndex ); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return ( nodeName === "input" && !!elem.checked ) || + ( nodeName === "option" && !!elem.selected ); + }, + + "selected": function( elem ) { + + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + // eslint-disable-next-line no-unused-expressions + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos[ "empty" ]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( ( attr = elem.getAttribute( "type" ) ) == null || + attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo( function() { + return [ 0 ]; + } ), + + "last": createPositionalPseudo( function( _matchIndexes, length ) { + return [ length - 1 ]; + } ), + + "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + } ), + + "even": createPositionalPseudo( function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "odd": createPositionalPseudo( function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "lt": createPositionalPseudo( function( matchIndexes, length, argument ) { + var i = argument < 0 ? + argument + length : + argument > length ? + length : + argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "gt": createPositionalPseudo( function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ) + } +}; + +Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || ( match = rcomma.exec( soFar ) ) ) { + if ( match ) { + + // Don't consume trailing commas as valid + soFar = soFar.slice( match[ 0 ].length ) || soFar; + } + groups.push( ( tokens = [] ) ); + } + + matched = false; + + // Combinators + if ( ( match = rcombinators.exec( soFar ) ) ) { + matched = match.shift(); + tokens.push( { + value: matched, + + // Cast descendant combinators to space + type: match[ 0 ].replace( rtrim, " " ) + } ); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || + ( match = preFilters[ type ]( match ) ) ) ) { + matched = match.shift(); + tokens.push( { + value: matched, + type: type, + matches: match + } ); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[ i ].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || ( elem[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || + ( outerCache[ elem.uniqueID ] = {} ); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( ( oldCache = uniqueCache[ key ] ) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return ( newCache[ 2 ] = oldCache[ 2 ] ); + } else { + + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[ i ]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[ 0 ]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[ i ], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( ( elem = unmatched[ i ] ) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction( function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( + selector || "*", + context.nodeType ? [ context ] : context, + [] + ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( ( elem = temp[ i ] ) ) { + matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( ( elem = matcherOut[ i ] ) ) { + + // Restore matcherIn since elem is not yet a final match + temp.push( ( matcherIn[ i ] = elem ) ); + } + } + postFinder( null, ( matcherOut = [] ), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( ( elem = matcherOut[ i ] ) && + ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) { + + seed[ temp ] = !( results[ temp ] = elem ); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + } ); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[ 0 ].type ], + implicitRelative = leadingRelative || Expr.relative[ " " ], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + ( checkContext = context ).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { + matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; + } else { + matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[ j ].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens + .slice( 0, i - 1 ) + .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ), + + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), + len = elems.length; + + if ( outermost ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + outermostContext = context == document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id + for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( !context && elem.ownerDocument != document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( ( matcher = elementMatchers[ j++ ] ) ) { + if ( matcher( elem, context || document, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + + // They will have gone through all possible matchers + if ( ( elem = !matcher && elem ) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( ( matcher = setMatchers[ j++ ] ) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !( unmatched[ i ] || setMatched[ i ] ) ) { + setMatched[ i ] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[ i ] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( + selector, + matcherFromGroupMatchers( elementMatchers, setMatchers ) + ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( ( selector = compiled.selector || selector ) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[ 0 ] = match[ 0 ].slice( 0 ); + if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { + + context = ( Expr.find[ "ID" ]( token.matches[ 0 ] + .replace( runescape, funescape ), context ) || [] )[ 0 ]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[ i ]; + + // Abort if we hit a combinator + if ( Expr.relative[ ( type = token.type ) ] ) { + break; + } + if ( ( find = Expr.find[ type ] ) ) { + + // Search, expanding context for leading sibling combinators + if ( ( seed = find( + token.matches[ 0 ].replace( runescape, funescape ), + rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) || + context + ) ) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert( function( el ) { + + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; +} ); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert( function( el ) { + el.innerHTML = ""; + return el.firstChild.getAttribute( "href" ) === "#"; +} ) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + } ); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert( function( el ) { + el.innerHTML = ""; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +} ) ) { + addHandle( "value", function( elem, _name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + } ); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert( function( el ) { + return el.getAttribute( "disabled" ) == null; +} ) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + ( val = elem.getAttributeNode( name ) ) && val.specified ? + val.value : + null; + } + } ); +} + +return Sizzle; + +} )( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +} +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Filtered directly for both simple and complex selectors + return jQuery.filter( qualifier, elements, not ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, _i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, _i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, _i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( elem.contentDocument != null && + + // Support: IE 11+ + // elements with no `data` attribute has an object + // `contentDocument` with a `null` prototype. + getProto( elem.contentDocument ) ) { + + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && toType( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( _i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // rejected_handlers.disable + // fulfilled_handlers.disable + tuples[ 3 - i ][ 3 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock, + + // progress_handlers.lock + tuples[ 0 ][ 3 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the primary Deferred + primary = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + primary.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( primary.state() === "pending" || + isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return primary.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject ); + } + + return primary.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( toType( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, _key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; + + +// Matches dashed string for camelizing +var rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g; + +// Used by camelCase as callback to replace() +function fcamelCase( _all, letter ) { + return letter.toUpperCase(); +} + +// Convert dashed to camelCase; used by the css and data modules +// Support: IE <=9 - 11, Edge 12 - 15 +// Microsoft forgot to hump their vendor prefix (#9572) +function camelCase( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); +} +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( camelCase ); + } else { + key = camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var documentElement = document.documentElement; + + + + var isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ); + }, + composed = { composed: true }; + + // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only + // Check attachment across shadow DOM boundaries when possible (gh-3504) + // Support: iOS 10.0-10.2 only + // Early iOS 10 versions support `attachShadow` but not `getRootNode`, + // leading to errors. We need to check for `getRootNode`. + if ( documentElement.getRootNode ) { + isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ) || + elem.getRootNode( composed ) === elem.ownerDocument; + }; + } +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + isAttached( elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, scale, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = elem.nodeType && + ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Support: Firefox <=54 + // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) + initial = initial / 2; + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + while ( maxIterations-- ) { + + // Evaluate and update our best guess (doubling guesses that zero out). + // Finish if the scale equals or crosses 1 (making the old*new product non-positive). + jQuery.style( elem, prop, initialInUnit + unit ); + if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { + maxIterations = 0; + } + initialInUnit = initialInUnit / scale; + + } + + initialInUnit = initialInUnit * 2; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); + +var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); + + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; + + // Support: IE <=9 only + // IE <=9 replaces "; + support.option = !!div.lastChild; +} )(); + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting
", "
" ], + col: [ 2, "", "
" ], + tr: [ 2, "", "
" ], + td: [ 3, "", "
" ], + + _default: [ 0, "", "" ] +}; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// Support: IE <=9 only +if ( !support.option ) { + wrapMap.optgroup = wrapMap.option = [ 1, "" ]; +} + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, attached, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( toType( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + attached = isAttached( elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( attached ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +var rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 - 11+ +// focus() and blur() are asynchronous, except when they are no-op. +// So expect focus to be synchronous when the element is already active, +// and blur to be synchronous when the element is not already active. +// (focus and blur are always synchronous in other supported browsers, +// this just defines when we can count on it). +function expectSync( elem, type ) { + return ( elem === safeActiveElement() ) === ( type === "focus" ); +} + +// Support: IE <=9 only +// Accessing document.activeElement can throw unexpectedly +// https://bugs.jquery.com/ticket/13393 +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Only attach events to objects that accept data + if ( !acceptData( elem ) ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = Object.create( null ); + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( nativeEvent ), + + handlers = ( + dataPriv.get( this, "events" ) || Object.create( null ) + )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // If the event is namespaced, then each handler is only invoked if it is + // specially universal or its namespaces are a superset of the event's. + if ( !event.rnamespace || handleObj.namespace === false || + event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + click: { + + // Utilize native event to ensure correct state for checkable inputs + setup: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Claim the first handler + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + // dataPriv.set( el, "click", ... ) + leverageNative( el, "click", returnTrue ); + } + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Force setup before triggering a click + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + leverageNative( el, "click" ); + } + + // Return non-false to allow normal event-path propagation + return true; + }, + + // For cross-browser consistency, suppress native .click() on links + // Also prevent it if we're currently inside a leveraged native-event stack + _default: function( event ) { + var target = event.target; + return rcheckableType.test( target.type ) && + target.click && nodeName( target, "input" ) && + dataPriv.get( target, "click" ) || + nodeName( target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +// Ensure the presence of an event listener that handles manually-triggered +// synthetic events by interrupting progress until reinvoked in response to +// *native* events that it fires directly, ensuring that state changes have +// already occurred before other listeners are invoked. +function leverageNative( el, type, expectSync ) { + + // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add + if ( !expectSync ) { + if ( dataPriv.get( el, type ) === undefined ) { + jQuery.event.add( el, type, returnTrue ); + } + return; + } + + // Register the controller as a special universal handler for all event namespaces + dataPriv.set( el, type, false ); + jQuery.event.add( el, type, { + namespace: false, + handler: function( event ) { + var notAsync, result, + saved = dataPriv.get( this, type ); + + if ( ( event.isTrigger & 1 ) && this[ type ] ) { + + // Interrupt processing of the outer synthetic .trigger()ed event + // Saved data should be false in such cases, but might be a leftover capture object + // from an async native handler (gh-4350) + if ( !saved.length ) { + + // Store arguments for use when handling the inner native event + // There will always be at least one argument (an event object), so this array + // will not be confused with a leftover capture object. + saved = slice.call( arguments ); + dataPriv.set( this, type, saved ); + + // Trigger the native event and capture its result + // Support: IE <=9 - 11+ + // focus() and blur() are asynchronous + notAsync = expectSync( this, type ); + this[ type ](); + result = dataPriv.get( this, type ); + if ( saved !== result || notAsync ) { + dataPriv.set( this, type, false ); + } else { + result = {}; + } + if ( saved !== result ) { + + // Cancel the outer synthetic event + event.stopImmediatePropagation(); + event.preventDefault(); + + // Support: Chrome 86+ + // In Chrome, if an element having a focusout handler is blurred by + // clicking outside of it, it invokes the handler synchronously. If + // that handler calls `.remove()` on the element, the data is cleared, + // leaving `result` undefined. We need to guard against this. + return result && result.value; + } + + // If this is an inner synthetic event for an event with a bubbling surrogate + // (focus or blur), assume that the surrogate already propagated from triggering the + // native event and prevent that from happening again here. + // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the + // bubbling surrogate propagates *after* the non-bubbling base), but that seems + // less bad than duplication. + } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { + event.stopPropagation(); + } + + // If this is a native event triggered above, everything is now in order + // Fire an inner synthetic event with the original arguments + } else if ( saved.length ) { + + // ...and capture the result + dataPriv.set( this, type, { + value: jQuery.event.trigger( + + // Support: IE <=9 - 11+ + // Extend with the prototype to reset the above stopImmediatePropagation() + jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), + saved.slice( 1 ), + this + ) + } ); + + // Abort handling of the native event + event.stopImmediatePropagation(); + } + } + } ); +} + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || Date.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + code: true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + which: true +}, jQuery.event.addProp ); + +jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { + jQuery.event.special[ type ] = { + + // Utilize native event if possible so blur/focus sequence is correct + setup: function() { + + // Claim the first handler + // dataPriv.set( this, "focus", ... ) + // dataPriv.set( this, "blur", ... ) + leverageNative( this, type, expectSync ); + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function() { + + // Force setup before trigger + leverageNative( this, type ); + + // Return non-false to allow normal event-path propagation + return true; + }, + + // Suppress native focus or blur as it's already being fired + // in leverageNative. + _default: function() { + return true; + }, + + delegateType: delegateType + }; +} ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + // Support: IE <=10 - 11, Edge 12 - 13 only + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( elem ).children( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { + elem.type = elem.type.slice( 5 ); + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.get( src ); + events = pdataOld.events; + + if ( events ) { + dataPriv.remove( dest, "handle events" ); + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = flat( args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + valueIsFunction = isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( valueIsFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( valueIsFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl && !node.noModule ) { + jQuery._evalUrl( node.src, { + nonce: node.nonce || node.getAttribute( "nonce" ) + }, doc ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && isAttached( node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html; + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = isAttached( elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + +var swap = function( elem, options, callback ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.call( elem ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + +var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + container.style.cssText = "position:absolute;left:-11111px;width:60px;" + + "margin-top:1px;padding:0;border:0"; + div.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + + "margin:auto;border:1px;padding:1px;" + + "width:60%;top:1%"; + documentElement.appendChild( container ).appendChild( div ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; + + // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 + // Some styles come back with percentage values, even though they shouldn't + div.style.right = "60%"; + pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; + + // Support: IE 9 - 11 only + // Detect misreporting of content dimensions for box-sizing:border-box elements + boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; + + // Support: IE 9 only + // Detect overflow:scroll screwiness (gh-3699) + // Support: Chrome <=64 + // Don't get tricked when zoom affects offsetWidth (gh-4029) + div.style.position = "absolute"; + scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + function roundPixelMeasures( measure ) { + return Math.round( parseFloat( measure ) ); + } + + var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, + reliableTrDimensionsVal, reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + jQuery.extend( support, { + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelBoxStyles: function() { + computeStyleTests(); + return pixelBoxStylesVal; + }, + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + }, + scrollboxSize: function() { + computeStyleTests(); + return scrollboxSizeVal; + }, + + // Support: IE 9 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Behavior in IE 9 is more subtle than in newer versions & it passes + // some versions of this test; make sure not to make it pass there! + // + // Support: Firefox 70+ + // Only Firefox includes border widths + // in computed dimensions. (gh-4529) + reliableTrDimensions: function() { + var table, tr, trChild, trStyle; + if ( reliableTrDimensionsVal == null ) { + table = document.createElement( "table" ); + tr = document.createElement( "tr" ); + trChild = document.createElement( "div" ); + + table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate"; + tr.style.cssText = "border:1px solid"; + + // Support: Chrome 86+ + // Height set through cssText does not get applied. + // Computed height then comes back as 0. + tr.style.height = "1px"; + trChild.style.height = "9px"; + + // Support: Android 8 Chrome 86+ + // In our bodyBackground.html iframe, + // display for all div elements is set to "inline", + // which causes a problem only in Android 8 Chrome 86. + // Ensuring the div is display: block + // gets around this issue. + trChild.style.display = "block"; + + documentElement + .appendChild( table ) + .appendChild( tr ) + .appendChild( trChild ); + + trStyle = window.getComputedStyle( tr ); + reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) + + parseInt( trStyle.borderTopWidth, 10 ) + + parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight; + + documentElement.removeChild( table ); + } + return reliableTrDimensionsVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, #12537) + // .css('--customProperty) (#3144) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !isAttached( elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style, + vendorProps = {}; + +// Return a vendor-prefixed property or undefined +function vendorPropName( name ) { + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a potentially-mapped jQuery.cssProps or vendor prefixed property +function finalPropName( name ) { + var final = jQuery.cssProps[ name ] || vendorProps[ name ]; + + if ( final ) { + return final; + } + if ( name in emptyStyle ) { + return name; + } + return vendorProps[ name ] = vendorPropName( name ) || name; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }; + +function setPositiveNumber( _elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { + var i = dimension === "width" ? 1 : 0, + extra = 0, + delta = 0; + + // Adjustment may not be necessary + if ( box === ( isBorderBox ? "border" : "content" ) ) { + return 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin + if ( box === "margin" ) { + delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); + } + + // If we get here with a content-box, we're seeking "padding" or "border" or "margin" + if ( !isBorderBox ) { + + // Add padding + delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // For "border" or "margin", add border + if ( box !== "padding" ) { + delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + + // But still keep track of it otherwise + } else { + extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + + // If we get here with a border-box (content + padding + border), we're seeking "content" or + // "padding" or "margin" + } else { + + // For "content", subtract padding + if ( box === "content" ) { + delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // For "content" or "padding", subtract border + if ( box !== "margin" ) { + delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + // Account for positive content-box scroll gutter when requested by providing computedVal + if ( !isBorderBox && computedVal >= 0 ) { + + // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border + // Assuming integer scroll gutter, subtract the rest and round down + delta += Math.max( 0, Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + computedVal - + delta - + extra - + 0.5 + + // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter + // Use an explicit zero to avoid NaN (gh-3964) + ) ) || 0; + } + + return delta; +} + +function getWidthOrHeight( elem, dimension, extra ) { + + // Start with computed style + var styles = getStyles( elem ), + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). + // Fake content-box until we know it's needed to know the true value. + boxSizingNeeded = !support.boxSizingReliable() || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + valueIsBorderBox = isBorderBox, + + val = curCSS( elem, dimension, styles ), + offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); + + // Support: Firefox <=54 + // Return a confounding non-pixel value or feign ignorance, as appropriate. + if ( rnumnonpx.test( val ) ) { + if ( !extra ) { + return val; + } + val = "auto"; + } + + + // Support: IE 9 - 11 only + // Use offsetWidth/offsetHeight for when box sizing is unreliable. + // In those cases, the computed value can be trusted to be border-box. + if ( ( !support.boxSizingReliable() && isBorderBox || + + // Support: IE 10 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Interestingly, in some cases IE 9 doesn't suffer from this issue. + !support.reliableTrDimensions() && nodeName( elem, "tr" ) || + + // Fall back to offsetWidth/offsetHeight when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + val === "auto" || + + // Support: Android <=4.1 - 4.3 only + // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) + !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && + + // Make sure the element is visible & connected + elem.getClientRects().length ) { + + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Where available, offsetWidth/offsetHeight approximate border box dimensions. + // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the + // retrieved value as a content box dimension. + valueIsBorderBox = offsetProp in elem; + if ( valueIsBorderBox ) { + val = elem[ offsetProp ]; + } + } + + // Normalize "" and auto + val = parseFloat( val ) || 0; + + // Adjust for the element's box model + return ( val + + boxModelAdjustment( + elem, + dimension, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles, + + // Provide the current computed size to request scroll gutter calculation (gh-3589) + val + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "gridArea": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnStart": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowStart": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: {}, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append + // "px" to a few hardcoded values. + if ( type === "number" && !isCustomProp ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( _i, dimension ) { + jQuery.cssHooks[ dimension ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, dimension, extra ); + } ) : + getWidthOrHeight( elem, dimension, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = getStyles( elem ), + + // Only read styles.position if the test has a chance to fail + // to avoid forcing a reflow. + scrollboxSizeBuggy = !support.scrollboxSize() && + styles.position === "absolute", + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) + boxSizingNeeded = scrollboxSizeBuggy || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + subtract = extra ? + boxModelAdjustment( + elem, + dimension, + extra, + isBorderBox, + styles + ) : + 0; + + // Account for unreliable border-box dimensions by comparing offset* to computed and + // faking a content-box to get border and padding (gh-3699) + if ( isBorderBox && scrollboxSizeBuggy ) { + subtract -= Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + parseFloat( styles[ dimension ] ) - + boxModelAdjustment( elem, dimension, "border", false, styles ) - + 0.5 + ); + } + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ dimension ] = value; + value = jQuery.css( elem, dimension ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( prefix !== "margin" ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && ( + jQuery.cssHooks[ tween.prop ] || + tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, inProgress, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function schedule() { + if ( inProgress ) { + if ( document.hidden === false && window.requestAnimationFrame ) { + window.requestAnimationFrame( schedule ); + } else { + window.setTimeout( schedule, jQuery.fx.interval ); + } + + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = Date.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 15 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY and Edge just mirrors + // the overflowX value there. + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( Array.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + // If there's more to do, yield + if ( percent < 1 && length ) { + return remaining; + } + + // If this was an empty animation, synthesize a final progress notification + if ( !length ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + } + + // Resolve the animation and report its conclusion + deferred.resolveWith( elem, [ animation ] ); + return false; + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + result.stop.bind( result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + // Attach callbacks from options + animation + .progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + return animation; +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !isFunction( easing ) && easing + }; + + // Go to the end state if fx are off + if ( jQuery.fx.off ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = Date.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Run the timer and safely remove it when done (allowing for external removal) + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + jQuery.fx.start(); +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( inProgress ) { + return; + } + + inProgress = true; + schedule(); +}; + +jQuery.fx.stop = function() { + inProgress = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +function classesToArray( value ) { + if ( Array.isArray( value ) ) { + return value; + } + if ( typeof value === "string" ) { + return value.match( rnothtmlwhite ) || []; + } + return []; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isValidValue = type === "string" || Array.isArray( value ); + + if ( typeof stateVal === "boolean" && isValidValue ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( isValidValue ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = classesToArray( value ); + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, valueIsFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + valueIsFunction = isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( valueIsFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +support.focusin = "onfocusin" in window; + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + stopPropagationCallback = function( e ) { + e.stopPropagation(); + }; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = lastElement = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + lastElement = cur; + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + + if ( event.isPropagationStopped() ) { + lastElement.addEventListener( type, stopPropagationCallback ); + } + + elem[ type ](); + + if ( event.isPropagationStopped() ) { + lastElement.removeEventListener( type, stopPropagationCallback ); + } + + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + + // Handle: regular nodes (via `this.ownerDocument`), window + // (via `this.document`) & document (via `this`). + var doc = this.ownerDocument || this.document || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this.document || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = { guid: Date.now() }; + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml, parserErrorElem; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) {} + + parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ]; + if ( !xml || parserErrorElem ) { + jQuery.error( "Invalid XML: " + ( + parserErrorElem ? + jQuery.map( parserErrorElem.childNodes, function( el ) { + return el.textContent; + } ).join( "\n" ) : + data + ) ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && toType( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + if ( a == null ) { + return ""; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ).filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ).map( function( _i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + +originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() + " " ] = + ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) + .concat( match[ 2 ] ); + } + } + match = responseHeaders[ key.toLowerCase() + " " ]; + } + return match == null ? null : match.join( ", " ); + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 15 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available and should be processed, append data to url + if ( s.data && ( s.processData || typeof s.data === "string" ) ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) + + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Use a noop converter for missing script but not if jsonp + if ( !isSuccess && + jQuery.inArray( "script", s.dataTypes ) > -1 && + jQuery.inArray( "json", s.dataTypes ) < 0 ) { + s.converters[ "text script" ] = function() {}; + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( _i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + +jQuery.ajaxPrefilter( function( s ) { + var i; + for ( i in s.headers ) { + if ( i.toLowerCase() === "content-type" ) { + s.contentType = s.headers[ i ] || ""; + } + } +} ); + + +jQuery._evalUrl = function( url, options, doc ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + + // Only evaluate the response if it is successful (gh-4126) + // dataFilter is not invoked for failure responses, so using it instead + // of the default converter is kludgy but it works. + converters: { + "text script": function() {} + }, + dataFilter: function( response ) { + jQuery.globalEval( response, options, doc ); + } + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var htmlIsFunction = isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.ontimeout = + xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain or forced-by-attrs requests + if ( s.crossDomain || s.scriptAttrs ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( " - + + + + - - - - - - - - - - - - + + + + + + + + + + - {{/* */}} - + {{/* */}} + - - - - - - + + + + + + @@ -68,114 +69,111 @@
-
-
Loading UI ...
+
+
Loading UI ...
-
+
-
+
Adalanche
-
+
-
-
+
+
Options
-
-
-
-
- - Analysis options - -
+
+
+
+ + Analysis + +
- - - - - - + + + + + +
-
-
- - -
+
+ + +
-
- - -
+
+ + +
-
- - -
+
+ + +
-
-
- Analysis depth -
+
+
+ +
+
+ preference="analysis.max.depth" class="form-control text-right"> +
-
-
- Max outgoing -
+
+
+ +
+
-
-
-
- Min probability -
+
+
+ +
+
-
- % -
+ %
- + Edges -
+
Loading ... @@ -184,10 +182,10 @@
- + Nodes -
+
Loading ... @@ -198,10 +196,10 @@
- + Visualization -
+
-
+
-
+
-
-
- - +
+
+ +
@@ -249,26 +247,26 @@
- + Options -
+
-
- + - +
-
- + - +
-
- + - +
@@ -278,22 +276,22 @@
-
+
-
-
LDAP Query
-
+
+
LDAP Query
+
- + + + +
- - +
@@ -367,6 +365,6 @@
- + \ No newline at end of file