Home
last modified time | relevance | path

Searched refs:which (Results 1201 – 1225 of 1265) sorted by relevance

1...<<4142434445464748495051

/plugin/findologicxmlexport/vendor/symfony/yaml/Tests/Fixtures/
H A DYtsSpecificationExamples.yml75 it may be somewhat more correct than Python's native behaviour which
/plugin/dirtylittlehelper/mermaid/editor/docs/
H A D4.4.js.map1which edit is applied first.\n * To apply edits to an input, you can use `applyEdits`.\n */\nexpor…
H A Dbundle.js.map1which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy b…
H A D2.2.js35426 function ensure(value, which) { argument
35427 return which + remove(value) + which;
/plugin/stlviewer/stlviewer/
H A Dstl_viewer.min.js2 …is.onmousedown=function(e){e.stopPropagation(),e.preventDefault();var t=e.which;switch(e.type){cas…
/plugin/dirtylittlehelper/script/
H A Dmermaid.min.js.map1which is published here:\n// http://egsc.usgs.gov/isb/pubs/MapProjections/projections.html#albers\…
/plugin/jplayer/vendor/james-heinrich/getid3/
H A Dstructure.txt42 and you'll then have ['comments'] and ['comments_html'] which are
/plugin/pdfjs/pdfjs/build/
H A Dpdf.js.map1which is important to devs but not\n// end users.\nfunction info(msg) {\n if (verbosity >= Verbos…
/plugin/jplayer/components/jplayer/
H A Djplayer-built.js461 ((typeof binding.key === 'number' && event.which === binding.key) ||
/plugin/jplayer/components/jplayer/dist/jplayer/
H A Djquery.jplayer.js461 ((typeof binding.key === 'number' && event.which === binding.key) ||
/plugin/jplayer/vendor/happyworm/jplayer/dist/jplayer/
H A Djquery.jplayer.js461 ((typeof binding.key === 'number' && event.which === binding.key) ||
H A Djquery.jplayer.min.js2 …gs,function(c,e){return e&&a.isFunction(e.fn)&&("number"==typeof e.key&&b.which===e.key||"string"=…
/plugin/jplayer/vendor/happyworm/jplayer/src/javascript/jplayer/
H A Djquery.jplayer.js461 ((typeof binding.key === 'number' && event.which === binding.key) ||
/plugin/codemirror/dist/keymaps/
H A Dvim.min.js.map1which is either a single character\n // or a special sequence wrapped in '<' and '>', e…
/plugin/processing/
H A Dscript.js9465 p.hint = function hint(which) { argument
9466 if (which === PConstants.DISABLE_DEPTH_TEST) {
9471 else if (which === PConstants.ENABLE_DEPTH_TEST) {
11412 switch (e.which) {
/plugin/html2pdf/html2pdf/html2ps/
H A DChangeLog970 * Fixed: invalid URLs which could not be parsed by 'parse_url' PHP
/plugin/codemirror/dist/modes/
H A Dmarkdown.min.js.map1 … state.listStack.push(state.indentation);\n // Reset inline styles which shouldn't propagat…
H A Dsql.min.js.map1 …he client (not the server).\n support:\n A list of supported syntaxes which are not common, bu…
/plugin/codemirror/dist/
H A Dscripts.min.js5 …c=a.keyCode,d=a.charCode;if(l&&c==gh){gh=null;wa(a);return}if(l&&(!a.which||a.which<10)&&eh(b,a)){…
7which!=1)return;a.e_preventDefault(b);var c=e.orientation=="horizontal"?"pageX":"pageY";var d=b[c]…
/plugin/combo/resources/library/combo/
H A Dcombo.min.js.map1 {"mappings":"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","sources":["node_modules/@swc/helpers/src/_async_to_generator.js","node_modules/@swc/helpers/src/_class_call_check.js","node_modules/@swc/helpers/src/_create_class.js","node_modules/@swc/helpers/src/_define_property.js","js/packages/combo/Boolean.js","js/packages/combo/Logger.js","node_modules/nanoid/index.browser.js","js/packages/combo/Html.js","js/packages/combo/FormMetaField.js","js/packages/combo/FormMetaTab.js","js/packages/combo/FormMeta.js","%3C%3Cjsx-config-pragma.js%3E%3E","bootstrap.js","js/packages/combo/ComboModal.js","node_modules/@swc/helpers/src/_type_of.js","node_modules/regenerator-runtime/runtime.js","js/packages/combo/Browser.js","js/packages/combo/DokuRequest.js","js/packages/combo/DokuUrl.js","js/packages/combo/ComboDate.js","js/packages/combo/combo.js"],"sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n","\n\nexport default class Boolean {\n\n static toBoolean(value) {\n if (typeof value === \"boolean\") {\n return value;\n }\n return (value === 'true');\n }\n}\n","\nlet logger;\n\n// KISS for now\n// Otherwise, see https://datacadamia.com/web/javascript/logger#library\nexport default class Logger {\n\n static getLogger(){\n if(logger===undefined){\n logger = new Logger();\n }\n return logger;\n }\n\n error(value){\n console.error(value);\n /**\n * Removed by parcel when build\n * https://parceljs.org/features/production/#development-branch-removal\n * And set by Jest to test\n * https://jestjs.io/docs/environment-variables#node_env\n */\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(value);\n }\n }\n\n\n}\n","import { urlAlphabet } from './url-alphabet/index.js'\nif (process.env.NODE_ENV !== 'production') {\n if (\n typeof navigator !== 'undefined' &&\n navigator.product === 'ReactNative' &&\n typeof crypto === 'undefined'\n ) {\n throw new Error(\n 'React Native does not have a built-in secure random generator. ' +\n 'If you don’t need unpredictable IDs use `nanoid/non-secure`. ' +\n 'For secure IDs, import `react-native-get-random-values` ' +\n 'before Nano ID.'\n )\n }\n if (typeof msCrypto !== 'undefined' && typeof crypto === 'undefined') {\n throw new Error(\n 'Import file with `if (!window.crypto) window.crypto = window.msCrypto`' +\n ' before importing Nano ID to fix IE 11 support'\n )\n }\n if (typeof crypto === 'undefined') {\n throw new Error(\n 'Your browser does not have secure random generator. ' +\n 'If you don’t need unpredictable IDs, you can use nanoid/non-secure.'\n )\n }\n}\nlet random = bytes => crypto.getRandomValues(new Uint8Array(bytes))\nlet customRandom = (alphabet, size, getRandom) => {\n let mask = (2 << (Math.log(alphabet.length - 1) / Math.LN2)) - 1\n let step = -~((1.6 * mask * size) / alphabet.length)\n return () => {\n let id = ''\n while (true) {\n let bytes = getRandom(step)\n let j = step\n while (j--) {\n id += alphabet[bytes[j] & mask] || ''\n if (id.length === size) return id\n }\n }\n }\n}\nlet customAlphabet = (alphabet, size) => customRandom(alphabet, size, random)\nlet nanoid = (size = 21) => {\n let id = ''\n let bytes = crypto.getRandomValues(new Uint8Array(size))\n while (size--) {\n let byte = bytes[size] & 63\n if (byte < 36) {\n id += byte.toString(36)\n } else if (byte < 62) {\n id += (byte - 26).toString(36).toUpperCase()\n } else if (byte < 63) {\n id += '_'\n } else {\n id += '-'\n }\n }\n return id\n}\nexport { nanoid, customAlphabet, customRandom, urlAlphabet, random }\n","import {customAlphabet} from \"nanoid\";\n\nexport default class Html {\n\n static toHtmlId(s) {\n /**\n * A point is also replaced otherwise you\n * can't use the id as selector in CSS\n */\n return s\n .toString() // in case of number\n .replace(/[_.\\s:\\/\\\\]/g, \"-\");\n }\n\n static createRandomId() {\n /**\n * Shorthand selector does not support numbers\n * as first position\n * The alphabet does not allow them then\n */\n const nanoid = customAlphabet('abcdefghijklmnopqrstuvwxyz', 10)\n return nanoid();\n }\n\n static toEntities(text) {\n let entities = [];\n for (let i = 0; i < text.length; i++) {\n let entity = `&#${text.charCodeAt(i)};`\n entities.push(entity);\n }\n return entities.join('');\n }\n}\n","import Boolean from \"./Boolean\";\nimport Logger from \"./Logger\";\nimport Html from \"./Html\";\n\n\n/**\n * A form field may hold:\n * * a simple scalar value\n * * or a table (list of values)\n */\nexport default class FormMetaField {\n\n\n tab = \"unknown\";\n mutable = true;\n values = [];\n defaultValues = [];\n multiple = false;\n\n /**\n * Static const function\n * Waiting for the const keyword\n * to make them not mutable\n * @type {string}\n */\n static TABULAR_TYPE = \"tabular\";\n static DATE_TIME = \"datetime\";\n static PARAGRAPH = \"paragraph\";\n static BOOLEAN = \"boolean\";\n\n children = {};\n static JSON = \"json\";\n\n\n constructor(name) {\n this.name = name;\n }\n\n getLabelAnchor() {\n if (this.getUrl() === undefined && this.getDescription() === undefined) {\n return this.getLabel();\n }\n let url = this.getUrl();\n if (this.getUrl() === undefined) {\n url = \"#\";\n return `\n<span class=\"d-inline-block\" tabindex=\"0\" data-bs-toggle=\"tooltip\" title=\"${this.getDescription()}\">\n <a href=\"${url}\" title=\"${this.getDescription()}\" style=\"text-decoration:none;pointer-events: none;\">${this.getLabel()}</a>\n</span>`;\n } else {\n return `<a href=\"${url}\" title=\"${this.getDescription()}\" data-bs-toggle=\"tooltip\" style=\"text-decoration:none\" target=\"_blank\">${this.getLabel()}</a>`;\n }\n }\n\n /**\n * The form field type\n * @param {string} type\n * @return {FormMetaField}\n */\n setType(type) {\n this.type = type;\n return this;\n }\n\n /**\n * The global label\n * (should be not null in case of tabular data)\n * @param {string} label\n * @return {FormMetaField}\n */\n setLabel(label) {\n this.label = label;\n return this;\n }\n\n /**\n * The global Url\n * (should be not null in case of tabular data)\n * @param {string} url\n * @return {FormMetaField}\n */\n setUrl(url) {\n this.url = url;\n return this;\n }\n\n\n /**\n * @param value\n * @param defaultValue\n * @return {FormMetaField}\n */\n addValue(value, defaultValue) {\n this.values.push(value);\n this.defaultValues.push(defaultValue);\n return this;\n }\n\n\n getType() {\n return this.type;\n }\n\n getLabel() {\n if (this.label === undefined) {\n return this.getName()\n .split(/[_\\-]/)\n .map(word => word.charAt(0).toUpperCase() + word.slice(1))\n .join(\" \");\n }\n return this.label;\n }\n\n getUrl() {\n return this.url;\n }\n\n getName() {\n return this.name;\n }\n\n getDescription() {\n return this.description;\n }\n\n getTab() {\n return this.tab;\n }\n\n /**\n *\n * @param json\n * @param {FormMetaField} parent\n * @return {FormMetaField}\n */\n static createFromJson(json, parent = null) {\n if (!json.hasOwnProperty(\"name\")) {\n Logger.getLogger().error(\"To create a form meta field, the name property is mandatory.\");\n }\n let name = json[\"name\"];\n let formMetaField = FormMetaField.createFromName(name);\n if (parent != null) {\n formMetaField.setParent(parent);\n }\n\n let value;\n let valueDefault;\n for (let property in json) {\n if (!json.hasOwnProperty(property)) {\n continue;\n }\n let jsonValue = json[property];\n switch (property) {\n case \"name\":\n continue;\n case \"label\":\n formMetaField.setLabel(jsonValue);\n continue;\n case \"tab\":\n formMetaField.setTab(jsonValue);\n continue;\n case \"type\":\n formMetaField.setType(jsonValue);\n continue;\n case \"mutable\":\n formMetaField.setMutable(jsonValue);\n continue;\n case \"description\":\n formMetaField.setDescription(jsonValue);\n continue;\n case \"url\":\n formMetaField.setUrl(jsonValue);\n continue;\n case \"value\":\n value = jsonValue;\n continue;\n case \"default\":\n valueDefault = jsonValue;\n continue;\n case \"domain-values\":\n formMetaField.setDomainValues(jsonValue);\n continue;\n case \"multiple\":\n formMetaField.setMultiple(jsonValue);\n continue;\n case \"width\":\n formMetaField.setControlWidth(jsonValue);\n continue;\n case \"children\":\n let jsonChildren = jsonValue;\n for (let jsonChildProp in jsonChildren) {\n if (!jsonChildren.hasOwnProperty(jsonChildProp)) {\n continue;\n }\n let child = FormMetaField.createFromJson(jsonChildren[jsonChildProp], formMetaField);\n formMetaField.addChild(child);\n }\n continue;\n default:\n Logger.getLogger().error(`The property (${property}) of the form (${name}) is unknown`);\n }\n }\n if (!Array.isArray(value)) {\n formMetaField.addValue(value, valueDefault);\n } else {\n value.forEach((element, index) => {\n let valueDefaultElement = valueDefault[index];\n if (valueDefaultElement !== undefined) {\n formMetaField.addValue(element, valueDefaultElement);\n } else {\n formMetaField.addValue(element);\n }\n })\n }\n return formMetaField;\n }\n\n setMultiple(multiple) {\n this.multiple = multiple;\n return this;\n }\n\n setParent(parent) {\n this.parent = parent;\n return this;\n }\n\n /**\n *\n * @param name\n * @return {FormMetaField}\n */\n static createFromName(name) {\n return new FormMetaField(name);\n }\n\n isMutable() {\n return this.mutable;\n }\n\n setTab(value) {\n this.tab = value;\n return this;\n }\n\n /**\n *\n * @param {boolean} value\n */\n setMutable(value) {\n this.mutable = Boolean.toBoolean(value);\n return this;\n }\n\n setDescription(value) {\n this.description = value;\n return this;\n }\n\n getDefaultValue() {\n return this.defaultValues[0];\n }\n\n getValue() {\n return this.values[0];\n }\n\n getDomainValues() {\n return this.domainValues;\n }\n\n setDomainValues(value) {\n if (!Array.isArray(value)) {\n console.error(`The domains values should be an array. (${value}) is not an array`);\n return;\n }\n this.domainValues = value;\n return this;\n }\n\n /**\n *\n * @param width - the width of the control, not of the label as it can be derived - in a tabular form, there is none, otherwise the {@link FormMetaTab.getWidth total width} of the tab minus this control width)\n * @return {FormMetaField}\n */\n setControlWidth(width) {\n this.width = width;\n return this;\n }\n\n getControlWidth() {\n if (this.width === undefined && this.parent !== undefined) {\n return 12 / this.parent.getChildren().length;\n }\n return this.width;\n }\n\n getValues() {\n return this.values;\n }\n\n getDefaultValues() {\n return this.defaultValues;\n }\n\n /**\n *\n * @return {FormMetaField[]}\n *\n * See also the concept of list of objects\n * https://react-jsonschema-form.readthedocs.io/en/latest/usage/arrays/#arrays-of-objects\n *\n */\n getChildren() {\n return Object.values(this.children);\n }\n\n addChild(child) {\n this.children[child.getName()] = child;\n return this;\n }\n\n toHtmlLabel(forId, customClass) {\n let label = this.getLabelAnchor();\n let classLabel;\n if (this.getType() === FormMetaField.BOOLEAN) {\n classLabel = \"form-check-label\"\n } else {\n classLabel = \"col-form-label\";\n }\n if(typeof customClass !== 'undefined'){\n classLabel =`${customClass} ${classLabel}`\n }\n return `<label for=\"${forId}\" class=\"${classLabel}\">${label}</label>`\n }\n\n toHtmlControl(id, value = null, defaultValue = null) {\n\n let metadataType = this.getType();\n let mutable = this.isMutable();\n let domainValues = this.getDomainValues();\n let disabled;\n let htmlElement;\n\n /**\n * The creation of the form element\n */\n if (domainValues !== undefined) {\n\n /**\n * Select element\n * @type {string}\n */\n htmlElement = \"select\";\n let defaultValueHtml = \"\";\n if (defaultValue !== undefined) {\n defaultValueHtml = ` (${defaultValue})`;\n }\n\n let multiple = \"\";\n if (this.getMultiple()) {\n multiple = \"multiple\";\n }\n\n htmlElement = `<select class=\"form-select\" aria-label=\"${this.getLabel()}\" name=\"${this.getName()}\" id=\"${id}\" ${multiple}>`;\n let selected = \"\";\n if (value === null) {\n selected = \"selected\";\n }\n htmlElement += `<option value=\"\" ${selected}>Default${defaultValueHtml}</option>`;\n for (let selectValue of domainValues) {\n if (selectValue === value) {\n selected = \"selected\";\n } else {\n selected = \"\";\n }\n htmlElement += `<option value=\"${selectValue}\" ${selected}>${selectValue}</option>`;\n }\n htmlElement += `</select>`;\n return htmlElement;\n\n\n } else {\n\n /**\n * Placeholder default\n * @type {string}\n */\n let placeholderValue = `No value`;\n if (mutable) {\n placeholderValue = `Enter a ${this.getLabel()}`;\n }\n // value\n if (!(defaultValue === null || defaultValue === undefined)) {\n if (typeof defaultValue === 'string' || defaultValue instanceof String) {\n // json data for instance\n placeholderValue = Html.toEntities(defaultValue);\n } else {\n placeholderValue = defaultValue;\n }\n }\n let htmlPlaceholder = `placeholder=\"${placeholderValue}\"`;\n\n let htmlValue = \"\";\n let inputType;\n let name = this.getName();\n\n /**\n * With disable, the data is not in the form\n */\n if (mutable !== undefined && mutable === false) {\n disabled = \"disabled\";\n } else {\n disabled = \"\";\n }\n\n /**\n * Input Element\n * @type {string}\n */\n let htmlTag = \"input\";\n let htmlClass = \"form-control\";\n let checked = \"\";\n /**\n * Text area\n */\n let rows = 3;\n\n /**\n * Type ?\n */\n switch (metadataType) {\n case FormMetaField.DATE_TIME:\n inputType = \"datetime-local\";\n if (value !== null) {\n value = value.slice(0, 19);\n htmlValue = `value=\"${value}\"`;\n } else {\n if (!mutable && defaultValue !== null) {\n defaultValue = defaultValue.slice(0, 19);\n htmlValue = `value=\"${defaultValue}\"`;\n }\n }\n htmlPlaceholder = \"\"; // does not apply to local date time\n\n break;\n case FormMetaField.PARAGRAPH:\n htmlTag = \"textarea\";\n if (value !== null) {\n value = Html.toEntities(value);\n htmlValue = `${value}`;\n }\n break;\n case FormMetaField.JSON:\n htmlTag = \"textarea\";\n if (value !== null) {\n if(typeof value === 'object'){\n value = JSON.stringify(value, null, 2);\n }\n value = Html.toEntities(value);\n htmlValue = `${value}`;\n }\n rows = 15;\n break;\n case FormMetaField.BOOLEAN:\n inputType = \"checkbox\";\n htmlClass = \"form-check-input\";\n if (defaultValue !== null) {\n htmlValue = `value=\"${defaultValue}\"`;\n if (value === defaultValue) {\n checked = \"checked\"\n }\n } else {\n if (value === \"on\") {\n checked = \"checked\"\n }\n }\n\n htmlPlaceholder = \"\";\n break;\n default:\n inputType = \"text\";\n if (!(value === null || value === undefined)) {\n htmlValue = `value=\"${value}\"`;\n }\n }\n\n switch (htmlTag) {\n case \"textarea\":\n htmlElement = `<textarea id=\"${id}\" name=\"${name}\" class=\"${htmlClass}\" rows=\"${rows}\" ${htmlPlaceholder} ${disabled}>${htmlValue}</textarea>`;\n break;\n default:\n case \"input\":\n htmlElement = `<input type=\"${inputType}\" name=\"${name}\" class=\"${htmlClass}\" id=\"${id}\" ${htmlPlaceholder} ${htmlValue} ${checked} ${disabled}/>`;\n break;\n\n }\n return htmlElement;\n }\n\n }\n\n /**\n * Added to be able to add metadata to the returned Json Form\n * It has not yet all properties\n * @return\n */\n toJavascriptObject() {\n return {\n \"name\": this.getName(),\n \"label\": this.getLabel(),\n \"type\": this.getType(),\n \"description\": this.getDescription(),\n \"tab\": this.getTab(),\n \"mutable\": this.isMutable(),\n \"value\": this.getValue(),\n \"default\": this.getDefaultValue(),\n \"url\": this.getUrl()\n }\n }\n\n getMultiple() {\n return this.multiple;\n }\n}\n","import Logger from \"./Logger\";\n\n\nexport default class FormMetaTab {\n\n\n constructor(name) {\n this.name = name;\n }\n\n getName() {\n return this.name;\n }\n\n setWidth(width) {\n this.width = width;\n }\n\n /**\n * The width of the tab\n */\n getWidth() {\n return this.width;\n }\n\n static createFromJson(json) {\n if (!json.hasOwnProperty(\"name\")) {\n Logger.getLogger().error(\"A name property is mandatory to create a tab and was not found in the json provided\")\n }\n let name = json[\"name\"];\n let tab = new FormMetaTab(name);\n for (let property in json) {\n if (!json.hasOwnProperty(property)) {\n continue;\n }\n let jsonValue = json[property];\n switch (property) {\n case \"name\":\n continue;\n case \"label\":\n tab.setLabel(jsonValue);\n continue;\n case \"width-field\":\n tab.setWidthField(jsonValue);\n continue;\n case \"width-label\":\n tab.setWidthLabel(jsonValue);\n continue;\n default:\n Logger.getLogger().error(`The property (${property}) of the tab (${name}) is unknown`);\n }\n }\n return tab;\n }\n\n setLabel(label) {\n this.label = label;\n return this;\n }\n\n getLabel(){\n if(this.label===undefined){\n return this.name;\n }\n return this.label;\n }\n\n setWidthField(width) {\n this.widthField = width;\n return this;\n }\n\n setWidthLabel(width) {\n this.widthLabel = width;\n return this;\n }\n\n getLabelWidth(){\n if(this.widthLabel===undefined){\n return 3;\n }\n return this.widthLabel;\n }\n\n getFieldWidth(){\n if(this.widthField===undefined){\n return 12 - this.getLabelWidth();\n }\n return this.widthField;\n }\n\n static createFromName(name) {\n return new FormMetaTab(name);\n }\n}\n","'use strict';\n\nimport FormMetaField from \"./FormMetaField\";\nimport FormMetaTab from \"./FormMetaTab\";\nimport Html from \"./Html\";\nimport Logger from \"./Logger\";\n\n/**\n * Represent the top meta\n * data from a form\n */\nexport default class FormMeta {\n\n formFields = {};\n tabs = {};\n width = 8;\n\n\n constructor(id) {\n\n if (id == null) {\n throw new Error(\"The if of the form should not be null\");\n }\n this.name = id;\n }\n\n /**\n * @return string\n */\n getLabel() {\n return this.label;\n }\n\n getUrl() {\n return this.url;\n }\n\n getId() {\n return this.name;\n }\n\n /**\n * The width of the control\n * if there is no tab\n * @return {number|*}\n */\n getControlWidth() {\n return this.width;\n }\n\n getLabelWidth() {\n return 12 - this.getControlWidth();\n }\n\n\n /**\n *\n * @param {string} formId\n * @param {Object} json\n * @return {FormMeta}\n */\n static createFromJson(formId, json) {\n let form = FormMeta.createFromId(formId);\n for (let prop in json) {\n if (!json.hasOwnProperty(prop)) {\n continue;\n }\n let value = json[prop];\n switch (prop) {\n case \"fields\":\n let fields = value;\n for (let field in fields) {\n if (fields.hasOwnProperty(field)) {\n form.addFormField(FormMetaField.createFromJson(fields[field]));\n }\n }\n continue;\n case \"tabs\":\n let tabs = value;\n for (let tab in tabs) {\n if (tabs.hasOwnProperty(tab)) {\n form.addTab(FormMetaTab.createFromJson(tabs[tab]));\n }\n }\n break;\n case \"width\":\n form.setControlWidth(value);\n break;\n case \"label\":\n form.setLabel(value);\n break;\n case \"url\":\n form.setUrl(value);\n break;\n default:\n Logger.getLogger().error(`The form property (${prop}) is unknown`);\n }\n\n\n }\n return form;\n }\n\n /**\n *\n * @param id\n * @return {FormMeta}\n */\n static createFromId(id) {\n return new FormMeta(id);\n }\n\n /**\n *\n * @param {FormMetaField} formField\n * @return {FormMeta}\n */\n addFormField(formField) {\n this.formFields[formField.getName()] = formField;\n // Be sure to have a tab for each field\n if (!this.tabs.hasOwnProperty(formField.getTab())) {\n this.tabs[formField.getTab()] = FormMetaTab.createFromName(formField.getTab());\n }\n return this;\n }\n\n /**\n *\n * @return {FormMetaField[]}\n */\n getFields() {\n return Object.values(this.formFields);\n }\n\n /**\n *\n * @return {FormMetaTab[]}\n */\n getTabs() {\n return Object.values(this.tabs);\n }\n\n addTab(formMetaTab) {\n this.tabs[formMetaTab.getName()] = formMetaTab;\n }\n\n valueOf() {\n return this.getId();\n };\n\n getFieldsForTab(tabName) {\n return this.getFields().filter(e => e.getTab() === tabName);\n }\n\n toHtmlElement() {\n\n let formId = this.getId();\n\n /**\n * Creating the Body\n * (Starting with the tabs)\n */\n let htmlTabNavs = '<ul class=\"nav nav-tabs mb-3\">';\n let activeClass;\n let ariaSelected;\n /**\n * @param {FormMetaTab} tab\n * @return string\n */\n this.getTabPaneId = function (tab) {\n let htmlId = Html.toHtmlId(tab.getName());\n return `${formId}-tab-pane-${htmlId}`;\n }\n /**\n * @param {FormMetaTab} tab\n * @return string\n */\n this.getTabNavId = function (/** @type {FormMetaTab}*/ tab) {\n let htmlId = Html.toHtmlId(tab.getName());\n return `${formId}-tab-nav-${htmlId}`;\n }\n this.getControlId = function (id) {\n let htmlId = Html.toHtmlId(id);\n return `${formId}-control-${htmlId}`;\n }\n let tabsMeta = this.getTabs();\n let defaultTab = tabsMeta[0];\n for (let tab of tabsMeta) {\n if (Object.is(tab, defaultTab)) {\n activeClass = \"active\";\n ariaSelected = \"true\";\n } else {\n activeClass = \"\";\n ariaSelected = \"false\";\n }\n let tabLabel = tab.getLabel();\n let tabPanId = this.getTabPaneId(tab);\n let tabNavId = this.getTabNavId(tab);\n htmlTabNavs += `\n<li class=\"nav-item\">\n<button\n class=\"nav-link ${activeClass}\"\n id=\"${tabNavId}\"\n type=\"button\"\n role=\"tab\"\n aria-selected = \"${ariaSelected}\"\n aria-controls = \"${tabPanId}\"\n data-bs-toggle = \"tab\"\n data-bs-target = \"#${tabPanId}\" >${tabLabel}\n </button>\n</li>`\n }\n htmlTabNavs += '</ul>';\n\n /**\n * Creating the content\n * @type {string}\n */\n let htmlTabPans = \"<div class=\\\"tab-content\\\">\";\n let rightColSize;\n let leftColSize;\n let elementIdCounter = 0;\n for (let tab of tabsMeta) {\n let tabPaneId = this.getTabPaneId(tab);\n let tabNavId = this.getTabNavId(tab);\n if (tab === defaultTab) {\n activeClass = \"active\";\n } else {\n activeClass = \"\";\n }\n htmlTabPans += `<div class=\"tab-pane ${activeClass}\" id=\"${tabPaneId}\" role=\"tabpanel\" aria-labelledby=\"${tabNavId}\">`;\n leftColSize = tab.getLabelWidth();\n rightColSize = tab.getFieldWidth();\n\n let fieldsForTab = this.getFieldsForTab(tab.getName());\n\n /**\n * Case one field without children\n * It should take the whole space\n */\n if (fieldsForTab.length === 1) {\n let formField = fieldsForTab[0];\n if (formField.getChildren().length === 0) {\n elementIdCounter++;\n let elementId = this.getControlId(elementIdCounter);\n let labelHtml = formField.toHtmlLabel(elementId);\n let value = formField.getValue();\n let defaultValue = formField.getDefaultValue();\n let controlHtml = formField.toHtmlControl(elementId, value, defaultValue)\n htmlTabPans += `\n<div class=\"row mb-3 text-center\"><div class=\"col-sm-12\">${labelHtml}</div></div>\n<div class=\"row mb-3\"><div class=\"col-sm-12\">${controlHtml}</div></div>\n`;\n htmlTabPans += \"</div>\"; // close the pan\n continue;\n }\n\n }\n\n for (let formField of fieldsForTab) {\n\n let children = formField.getChildren();\n switch (children.length) {\n case 0:\n elementIdCounter++;\n let elementId = this.getControlId(elementIdCounter);\n let labelHtml = formField.toHtmlLabel(elementId, `col-sm-${leftColSize}`);\n let value = formField.getValue();\n let defaultValue = formField.getDefaultValue();\n let controlHtml = formField.toHtmlControl(elementId, value, defaultValue)\n htmlTabPans += `\n<div class=\"row mb-3\">\n ${labelHtml}\n <div class=\"col-sm-${rightColSize}\">${controlHtml}</div>\n</div>\n`;\n break;\n default:\n let url = formField.getLabelAnchor();\n htmlTabPans += `<div class=\"row mb-3 text-center\">${url}</div>`;\n htmlTabPans += `<div class=\"row mb-3\">`;\n let rows = 0;\n for (const child of formField.getChildren()) {\n let width = child.getControlWidth();\n htmlTabPans += `<div class=\"col-sm-${width} text-center\">`;\n htmlTabPans += child.getLabelAnchor();\n htmlTabPans += `</div>`;\n let valuesLength = child.getValues().length;\n if (valuesLength > rows) {\n rows = valuesLength;\n }\n }\n htmlTabPans += `</div>`;\n\n for (let i = 0; i < rows; i++) {\n htmlTabPans += `<div class=\"row mb-3\">`;\n for (const child of formField.getChildren()) {\n let value = child.getValues()[i];\n let defaultValue = child.getDefaultValues()[i];\n elementIdCounter++;\n let elementId = this.getControlId(elementIdCounter);\n let width = child.getControlWidth();\n htmlTabPans += `<div class=\"col-sm-${width}\">`;\n htmlTabPans += child.toHtmlControl(elementId, value, defaultValue);\n htmlTabPans += `</div>`;\n }\n htmlTabPans += `</div>`;\n }\n\n break;\n\n }\n\n }\n htmlTabPans += \"</div>\";\n }\n htmlTabPans += \"</div>\";\n\n let form = document.createElement(\"form\");\n form.setAttribute(\"id\", formId);\n form.innerHTML = `${htmlTabNavs} ${htmlTabPans}`;\n return form;\n }\n\n\n setControlWidth(width) {\n this.width = width;\n return this;\n }\n\n setLabel(label) {\n this.label = label;\n }\n\n setUrl(url) {\n this.url = url;\n }\n\n}\n",null,"module.exports=bootstrap;","/**\n * A pointer to the created modals\n * Private\n */\nimport Html from \"./Html\";\nimport {Modal, Tooltip, Tab} from \"bootstrap\";\nimport Logger from \"./Logger\";\n\n/**\n *\n * @type {Object.<string, ComboModal>}\n */\nlet comboModals = {};\n\nexport default class ComboModal {\n\n\n footerButtons = [];\n bodies = [];\n isBuild = false;\n bodyStyles = {};\n dialogStyles = {};\n showFooter = true;\n dialogClasses = [];\n\n /**\n * A valid HTML id\n * @param modalId\n */\n constructor(modalId) {\n\n this.modalId = modalId;\n /**\n * We create the modal root because developers may want to add\n * event on it right away\n * @type {HTMLDivElement}\n */\n let queryElement = document.getElementById(modalId);\n if (queryElement !== null) {\n Logger.getLogger().error(`The id (${modalId}) given to create a modal was already used by an element in the DOM. We have reused it.`)\n this.modalRootHtmlElement = queryElement;\n this.reset();\n } else {\n this.modalRootHtmlElement = document.createElement(\"div\");\n this.modalRootHtmlElement.setAttribute(\"id\", this.modalId);\n this.modalRootHtmlElement.classList.add(\"modal\", \"fade\");\n // Uncaught RangeError: Maximum call stack size exceeded caused by the tabindex\n // modalRoot.setAttribute(\"tabindex\", \"-1\");\n this.modalRootHtmlElement.setAttribute(\"aria-hidden\", \"true\");\n }\n\n }\n\n setHeader(headerText) {\n this.headerText = headerText;\n return this;\n }\n\n /**\n * @param htmlBody\n * @return {ComboModal}\n */\n addBody(htmlBody) {\n\n this.bodies.push(htmlBody);\n return this;\n\n }\n\n addBodyStyle(property, value) {\n\n this.bodyStyles[property] = value;\n return this;\n\n }\n\n noFooter() {\n this.showFooter = false;\n return this;\n }\n\n addDialogStyle(property, value) {\n\n this.dialogStyles[property] = value;\n return this;\n\n }\n\n addDialogClass(value) {\n\n this.dialogClasses.push(value);\n return this;\n\n }\n\n /**\n * @return {ComboModal}\n */\n resetOnClose() {\n this.isResetOnClose = true;\n return this;\n }\n\n\n /**\n *\n * @type HTMLButtonElement|string htmlFooter\n */\n addFooterButton(htmlFooter) {\n\n this.footerButtons.push(htmlFooter);\n return this;\n }\n\n /**\n *\n * @return HTMLButtonElement the close button\n */\n addFooterCloseButton(label = \"Close\") {\n this.closeButton = document.createElement(\"button\");\n this.closeButton.classList.add(\"btn\", \"btn-secondary\")\n this.closeButton.innerHTML = label;\n let modal = this;\n this.closeButton.addEventListener(\"click\", function () {\n modal.bootStrapModal.hide();\n });\n this.addFooterButton(this.closeButton);\n return this;\n }\n\n /**\n * Center the modal\n * @return {ComboModal}\n */\n centered() {\n this.isCentered = true;\n return this;\n }\n\n show() {\n\n if (this.modalRootHtmlElement == null) {\n throw new Error(\"This modal has no HTML element, you can't use it anymore\");\n }\n\n if (!this.isBuild) {\n this.build();\n }\n\n /**\n * Reset on close ?\n * Included tabs does not work anymore\n * for whatever reason\n */\n if (this.isResetOnClose === true) {\n let comboModal = this;\n this.getElement().addEventListener('hidden.bs.modal', function () {\n /**\n * the event is only dispatch on the root element, not all modal\n */\n comboModal.reset();\n });\n }\n\n /**\n * Callback (Parent Child Relationship)\n */\n if (this.callBack !== undefined) {\n if (this.closeButton !== undefined) {\n let modal = this;\n this.closeButton.addEventListener(\"click\", function () {\n /**\n * Two modals cannot be open at the same time\n * https://getbootstrap.com/docs/5.0/components/modal/#toggle-between-modals\n */\n modal.dismissHide();\n modal.callBack();\n });\n }\n }\n\n this.bootStrapModal.show();\n\n\n }\n\n dismissHide() {\n if (this.bootStrapModal !== undefined) {\n this.bootStrapModal.hide();\n }\n }\n\n getModalId() {\n return this.modalId;\n }\n\n /**\n *\n * @param {function} callBack\n */\n setCallBackOnClose(callBack) {\n this.callBack = callBack;\n return this;\n }\n\n\n /**\n * Create a modal and return the modal content element\n * @return ComboModal\n */\n static createFromId(modalId) {\n let modal = new ComboModal(modalId);\n comboModals[modalId] = modal;\n return modal;\n }\n\n /**\n * @param modalId\n * @return {ComboModal}\n */\n static getModal = function (modalId) {\n\n if (modalId in comboModals) {\n return comboModals[modalId];\n } else {\n return null;\n }\n }\n\n /**\n * List the managed modals\n */\n static listModals = function () {\n console.log(Object.keys(comboModals).join(\", \"));\n }\n\n /**\n * Delete all modals\n */\n static resetAllModals = function () {\n for (let prop in comboModals) {\n if (comboModals.hasOwnProperty(prop)) {\n let modal = comboModals[prop];\n modal.reset();\n }\n }\n }\n\n /**\n *\n * @return {ComboModal}\n */\n static createTemporary() {\n return this.createFromId(Html.createRandomId());\n }\n\n getElement() {\n return this.modalRootHtmlElement;\n }\n\n /**\n * Calling the {@link show} function will build the\n * modal, if this is the case, you can't build it anymore\n * you need to {@link reset} it and recreate it if needed\n * @return {boolean}\n */\n wasBuild() {\n return this.isBuild;\n }\n\n setCentered(bool){\n this.isCentered = bool;\n return this;\n }\n resetIfBuild() {\n if (this.wasBuild()) {\n this.reset();\n }\n return this;\n }\n\n reset() {\n\n // DOM\n this.modalRootHtmlElement.querySelectorAll('[data-bs-toggle=\"tab\"]').forEach(tabTriggerElement => {\n let tab = Tab.getInstance(tabTriggerElement);\n if (tab !== null) {\n // tab are only created when the user click on them\n tab.dispose();\n }\n })\n\n /**\n * Bootstrap Modal\n * dispose should delete the root element\n * but it does not\n */\n if (this.bootStrapModal !== undefined) {\n this.dismissHide();\n }\n this.modalRootHtmlElement.innerHTML = \"\";\n\n /**\n * Content\n */\n this.isBuild = false;\n this.bodies = [];\n this.footerButtons = [];\n this.headerText = undefined;\n }\n\n /**\n * Build the modal\n */\n build() {\n\n this.isBuild = true;\n\n document.body.appendChild(this.modalRootHtmlElement);\n\n const modalManagerDialog = document.createElement(\"div\");\n modalManagerDialog.classList.add(\n \"modal-dialog\",\n \"modal-dialog-scrollable\",\n \"modal-lg\");\n if (this.isCentered) {\n modalManagerDialog.classList.add(\"modal-dialog-centered\")\n } else {\n // Get the modal more central but fix as we have tab and\n // we want still the mouse below the tab to be at the same position when we click\n modalManagerDialog.style.setProperty(\"margin\", \"5rem auto\");\n modalManagerDialog.style.setProperty(\"height\", \"calc(100% - 9rem)\");\n }\n for (let dialogStyleName in this.dialogStyles) {\n if (!this.dialogStyles.hasOwnProperty(dialogStyleName)) {\n continue;\n }\n modalManagerDialog.style.setProperty(dialogStyleName, this.dialogStyles[dialogStyleName]);\n }\n for (let dialogClass in this.dialogClasses){\n modalManagerDialog.classList.add(dialogClass);\n }\n this.modalRootHtmlElement.appendChild(modalManagerDialog);\n this.modalContent = document.createElement(\"div\");\n this.modalContent.classList.add(\"modal-content\");\n modalManagerDialog.appendChild(this.modalContent);\n\n this.modalBody = document.createElement(\"div\");\n this.modalBody.classList.add(\"modal-body\");\n for (let bodyStyleName in this.bodyStyles) {\n if (!this.bodyStyles.hasOwnProperty(bodyStyleName)) {\n continue;\n }\n this.modalBody.style.setProperty(bodyStyleName, this.bodyStyles[bodyStyleName]);\n }\n this.modalContent.appendChild(this.modalBody);\n\n\n /**\n * No need to use the global variable access mode (ie `bootstrap.Modal`)\n * It's created at build time\n * @type {Modal}\n */\n this.bootStrapModal = Modal.getInstance(this.modalRootHtmlElement);\n if (this.bootStrapModal === null) {\n /**\n * The bootstrap modal function\n * can only be invoked when the body element has been defined\n */\n let options = {\n \"backdrop\": true,\n \"keyboard\": true,\n \"focus\": true\n };\n this.bootStrapModal = new Modal(this.modalRootHtmlElement, options);\n }\n\n /**\n * Building the header\n */\n if (this.headerText !== undefined) {\n let headerHtml = `\n<div class=\"modal-header\">\n <h5 class=\"modal-title\">${this.headerText}</h5>\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\n</div>\n`;\n this.modalContent.insertAdjacentHTML('afterbegin', headerHtml);\n }\n\n /**\n * Building the body\n */\n for (let body of this.bodies) {\n let type = typeof body;\n switch (type) {\n case \"string\":\n this.modalBody.insertAdjacentHTML('beforeend', body);\n break;\n default:\n case \"object\":\n this.modalBody.appendChild(body);\n break;\n }\n }\n\n /**\n * Footer button\n */\n if(this.showFooter) {\n let modalFooter = document.createElement(\"div\");\n modalFooter.classList.add(\"modal-footer\");\n this.modalContent.appendChild(modalFooter);\n\n if (this.footerButtons.length === 0) {\n this.addFooterCloseButton();\n }\n\n for (let footerButton of this.footerButtons) {\n if (typeof footerButton === 'string' || footerButton instanceof String) {\n modalFooter.insertAdjacentHTML('beforeend', footerButton);\n } else {\n modalFooter.appendChild(footerButton);\n }\n }\n }\n\n /**\n * Init the tooltip if any\n */\n let tooltipSelector = `#${this.modalId} [data-bs-toggle=\"tooltip\"]`;\n document.querySelectorAll(tooltipSelector).forEach(el => new Tooltip(el));\n }\n\n\n static getOrCreate(modalId) {\n let modal = ComboModal.getModal(modalId);\n if (modal === null) {\n modal = ComboModal.createFromId(modalId);\n }\n return modal;\n }\n}\n","export default function _typeof(obj) {\n \"@swc/helpers - typeof\";\n return obj && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n};\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n (…)
/plugin/yuriigantt/3rd/dhtmlxgantt/ext/
H A Ddhtmlxgantt_keyboard_navigation.js.map1which","printableKey","fromCharCode","getHashFromEvent","parts","junctionChar","term","combination…
/plugin/combo/resources/library/combo/dist/
H A Dcombo.min.js.map1 {"mappings":"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","sources":["node_modules/@swc/helpers/src/_async_to_generator.js","node_modules/@swc/helpers/src/_class_call_check.js","node_modules/@swc/helpers/src/_create_class.js","node_modules/@swc/helpers/src/_define_property.js","resources/library/combo/Boolean.js","resources/library/combo/Logger.js","node_modules/nanoid/index.browser.js","resources/library/combo/Html.js","resources/library/combo/FormMetaField.js","resources/library/combo/FormMetaTab.js","resources/library/combo/FormMeta.js","%3C%3Cjsx-config-pragma.js%3E%3E","bootstrap.js","resources/library/combo/ComboModal.js","node_modules/@swc/helpers/src/_type_of.js","node_modules/regenerator-runtime/runtime.js","resources/library/combo/Browser.js","resources/library/combo/DokuRequest.js","resources/library/combo/ComboDate.js","resources/library/combo/combo.js"],"sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n","\n\nexport default class Boolean {\n\n static toBoolean(value) {\n if (typeof value === \"boolean\") {\n return value;\n }\n return (value === 'true');\n }\n}\n","\nlet logger;\n\n// KISS for now\n// Otherwise, see https://datacadamia.com/web/javascript/logger#library\nexport default class Logger {\n\n static getLogger(){\n if(logger===undefined){\n logger = new Logger();\n }\n return logger;\n }\n\n error(value){\n console.error(value);\n /**\n * Removed by parcel when build\n * https://parceljs.org/features/production/#development-branch-removal\n * And set by Jest to test\n * https://jestjs.io/docs/environment-variables#node_env\n */\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(value);\n }\n }\n\n\n}\n","import { urlAlphabet } from './url-alphabet/index.js'\nif (process.env.NODE_ENV !== 'production') {\n if (\n typeof navigator !== 'undefined' &&\n navigator.product === 'ReactNative' &&\n typeof crypto === 'undefined'\n ) {\n throw new Error(\n 'React Native does not have a built-in secure random generator. ' +\n 'If you don’t need unpredictable IDs use `nanoid/non-secure`. ' +\n 'For secure IDs, import `react-native-get-random-values` ' +\n 'before Nano ID.'\n )\n }\n if (typeof msCrypto !== 'undefined' && typeof crypto === 'undefined') {\n throw new Error(\n 'Import file with `if (!window.crypto) window.crypto = window.msCrypto`' +\n ' before importing Nano ID to fix IE 11 support'\n )\n }\n if (typeof crypto === 'undefined') {\n throw new Error(\n 'Your browser does not have secure random generator. ' +\n 'If you don’t need unpredictable IDs, you can use nanoid/non-secure.'\n )\n }\n}\nlet random = bytes => crypto.getRandomValues(new Uint8Array(bytes))\nlet customRandom = (alphabet, size, getRandom) => {\n let mask = (2 << (Math.log(alphabet.length - 1) / Math.LN2)) - 1\n let step = -~((1.6 * mask * size) / alphabet.length)\n return () => {\n let id = ''\n while (true) {\n let bytes = getRandom(step)\n let j = step\n while (j--) {\n id += alphabet[bytes[j] & mask] || ''\n if (id.length === size) return id\n }\n }\n }\n}\nlet customAlphabet = (alphabet, size) => customRandom(alphabet, size, random)\nlet nanoid = (size = 21) => {\n let id = ''\n let bytes = crypto.getRandomValues(new Uint8Array(size))\n while (size--) {\n let byte = bytes[size] & 63\n if (byte < 36) {\n id += byte.toString(36)\n } else if (byte < 62) {\n id += (byte - 26).toString(36).toUpperCase()\n } else if (byte < 63) {\n id += '_'\n } else {\n id += '-'\n }\n }\n return id\n}\nexport { nanoid, customAlphabet, customRandom, urlAlphabet, random }\n","import {customAlphabet, nanoid} from \"nanoid\";\n\nexport default class Html {\n\n static toHtmlId(s) {\n /**\n * A point is also replaced otherwise you\n * can't use the id as selector in CSS\n */\n return s\n .toString() // in case of number\n .replace(/[_.\\s:\\/\\\\]/g, \"-\");\n }\n\n static createRandomId() {\n /**\n * Shorthand selector does not support numbers\n * as first position\n * The alphabet does not allow them then\n */\n const nanoid = customAlphabet('abcdefghijklmnopqrstuvwxyz', 10)\n return nanoid();\n }\n\n static toEntities(text) {\n let entities = [];\n for (let i = 0; i < text.length; i++) {\n let entity = `&#${text[i].charCodeAt()};`\n entities.push(entity);\n }\n return entities.join('');\n }\n}\n","import Boolean from \"./Boolean\";\nimport Logger from \"./Logger\";\nimport Html from \"./Html\";\n\n\n/**\n * A form field may hold:\n * * a simple scalar value\n * * or a table (list of values)\n */\nexport default class FormMetaField {\n\n\n tab = \"unknown\";\n mutable = true;\n values = [];\n defaultValues = [];\n multiple = false;\n\n /**\n * Static const function\n * Waiting for the const keyword\n * to make them not mutable\n * @type {string}\n */\n static TABULAR_TYPE = \"tabular\";\n static DATE_TIME = \"datetime\";\n static PARAGRAPH = \"paragraph\";\n static BOOLEAN = \"boolean\";\n\n children = {};\n static JSON = \"json\";\n\n\n constructor(name) {\n this.name = name;\n }\n\n getLabelAnchor() {\n if (this.getUrl() === undefined && this.getDescription() === undefined) {\n return this.getLabel();\n }\n let url = this.getUrl();\n if (this.getUrl() === undefined) {\n url = \"#\";\n return `\n<span class=\"d-inline-block\" tabindex=\"0\" data-bs-toggle=\"tooltip\" title=\"${this.getDescription()}\">\n <a href=\"${url}\" title=\"${this.getDescription()}\" style=\"text-decoration:none;pointer-events: none;\">${this.getLabel()}</a>\n</span>`;\n } else {\n return `<a href=\"${url}\" title=\"${this.getDescription()}\" data-bs-toggle=\"tooltip\" style=\"text-decoration:none\" target=\"_blank\">${this.getLabel()}</a>`;\n }\n }\n\n /**\n * The form field type\n * @param {string} type\n * @return {FormMetaField}\n */\n setType(type) {\n this.type = type;\n return this;\n }\n\n /**\n * The global label\n * (should be not null in case of tabular data)\n * @param {string} label\n * @return {FormMetaField}\n */\n setLabel(label) {\n this.label = label;\n return this;\n }\n\n /**\n * The global Url\n * (should be not null in case of tabular data)\n * @param {string} url\n * @return {FormMetaField}\n */\n setUrl(url) {\n this.url = url;\n return this;\n }\n\n\n /**\n * @param value\n * @param defaultValue\n * @return {FormMetaField}\n */\n addValue(value, defaultValue) {\n this.values.push(value);\n this.defaultValues.push(defaultValue);\n return this;\n }\n\n\n getType() {\n return this.type;\n }\n\n getLabel() {\n if (this.label === undefined) {\n return this.getName()\n .split(/_|-/)\n .map(word => word.charAt(0).toUpperCase() + word.slice(1))\n .join(\" \");\n }\n return this.label;\n }\n\n getUrl() {\n return this.url;\n }\n\n getName() {\n return this.name;\n }\n\n getDescription() {\n return this.description;\n }\n\n getTab() {\n return this.tab;\n }\n\n /**\n *\n * @param json\n * @param {FormMetaField} parent\n * @return {FormMetaField}\n */\n static createFromJson(json, parent = null) {\n if (!json.hasOwnProperty(\"name\")) {\n Logger.getLogger().error(\"To create a form meta field, the name property is mandatory.\");\n }\n let name = json[\"name\"];\n let formMetaField = FormMetaField.createFromName(name);\n if (parent != null) {\n formMetaField.setParent(parent);\n }\n\n let value;\n let valueDefault;\n for (let property in json) {\n if (!json.hasOwnProperty(property)) {\n continue;\n }\n let jsonValue = json[property];\n switch (property) {\n case \"name\":\n continue;\n case \"label\":\n formMetaField.setLabel(jsonValue);\n continue;\n case \"tab\":\n formMetaField.setTab(jsonValue);\n continue;\n case \"type\":\n formMetaField.setType(jsonValue);\n continue;\n case \"mutable\":\n formMetaField.setMutable(jsonValue);\n continue;\n case \"description\":\n formMetaField.setDescription(jsonValue);\n continue;\n case \"url\":\n formMetaField.setUrl(jsonValue);\n continue;\n case \"value\":\n value = jsonValue;\n continue;\n case \"default\":\n valueDefault = jsonValue;\n continue;\n case \"domain-values\":\n formMetaField.setDomainValues(jsonValue);\n continue;\n case \"multiple\":\n formMetaField.setMultiple(jsonValue);\n continue;\n case \"width\":\n formMetaField.setControlWidth(jsonValue);\n continue;\n case \"children\":\n let jsonChildren = jsonValue;\n for (let jsonChildProp in jsonChildren) {\n if (!jsonChildren.hasOwnProperty(jsonChildProp)) {\n continue;\n }\n let child = FormMetaField.createFromJson(jsonChildren[jsonChildProp], formMetaField);\n formMetaField.addChild(child);\n }\n continue;\n default:\n Logger.getLogger().error(`The property (${property}) of the form (${name}) is unknown`);\n }\n }\n if (!Array.isArray(value)) {\n formMetaField.addValue(value, valueDefault);\n } else {\n value.forEach((element, index) => {\n let valueDefaultElement = valueDefault[index];\n if (valueDefaultElement !== undefined) {\n formMetaField.addValue(element, valueDefaultElement);\n } else {\n formMetaField.addValue(element);\n }\n })\n }\n return formMetaField;\n }\n\n setMultiple(multiple) {\n this.multiple = multiple;\n return this;\n }\n\n setParent(parent) {\n this.parent = parent;\n return this;\n }\n\n /**\n *\n * @param name\n * @return {FormMetaField}\n */\n static createFromName(name) {\n return new FormMetaField(name);\n }\n\n isMutable() {\n return this.mutable;\n }\n\n setTab(value) {\n this.tab = value;\n return this;\n }\n\n /**\n *\n * @param {boolean} value\n */\n setMutable(value) {\n this.mutable = Boolean.toBoolean(value);\n return this;\n }\n\n setDescription(value) {\n this.description = value;\n return this;\n }\n\n getDefaultValue() {\n return this.defaultValues[0];\n }\n\n getValue() {\n return this.values[0];\n }\n\n getDomainValues() {\n return this.domainValues;\n }\n\n setDomainValues(value) {\n if (!Array.isArray(value)) {\n console.error(`The domains values should be an array. (${value}) is not an array`);\n return;\n }\n this.domainValues = value;\n return this;\n }\n\n /**\n *\n * @param width - the width of the control, not of the label as it can be derived - in a tabular form, there is none, otherwise the {@link FormMetaTab.getWidth total width} of the tab minus this control width)\n * @return {FormMetaField}\n */\n setControlWidth(width) {\n this.width = width;\n return this;\n }\n\n getControlWidth() {\n if (this.width === undefined && this.parent !== undefined) {\n return 12 / this.parent.getChildren().length;\n }\n return this.width;\n }\n\n getValues() {\n return this.values;\n }\n\n getDefaultValues() {\n return this.defaultValues;\n }\n\n /**\n *\n * @return {FormMetaField[]}\n *\n * See also the concept of list of objects\n * https://react-jsonschema-form.readthedocs.io/en/latest/usage/arrays/#arrays-of-objects\n *\n */\n getChildren() {\n return Object.values(this.children);\n }\n\n addChild(child) {\n this.children[child.getName()] = child;\n return this;\n }\n\n toHtmlLabel(forId, customClass) {\n let label = this.getLabelAnchor();\n let classLabel = \"\";\n if (this.getType() === FormMetaField.BOOLEAN) {\n classLabel = \"form-check-label\"\n } else {\n classLabel = \"col-form-label\";\n }\n if(typeof customClass !== 'undefined'){\n classLabel =`${customClass} ${classLabel}`\n }\n return `<label for=\"${forId}\" class=\"${classLabel}\">${label}</label>`\n }\n\n toHtmlControl(id, value = null, defaultValue = null) {\n\n let metadataType = this.getType();\n let mutable = this.isMutable();\n let domainValues = this.getDomainValues();\n let disabled;\n let htmlElement;\n\n /**\n * The creation of the form element\n */\n if (domainValues !== undefined) {\n\n /**\n * Select element\n * @type {string}\n */\n htmlElement = \"select\";\n let defaultValueHtml = \"\";\n if (defaultValue !== undefined) {\n defaultValueHtml = ` (${defaultValue})`;\n }\n\n let multiple = \"\";\n if (this.getMultiple()) {\n multiple = \"multiple\";\n }\n\n htmlElement = `<select class=\"form-select\" aria-label=\"${this.getLabel()}\" name=\"${this.getName()}\" id=\"${id}\" ${multiple}>`;\n let selected = \"\";\n if (value === null) {\n selected = \"selected\";\n }\n htmlElement += `<option value=\"\" ${selected}>Default${defaultValueHtml}</option>`;\n for (let selectValue of domainValues) {\n if (selectValue === value) {\n selected = \"selected\";\n } else {\n selected = \"\";\n }\n htmlElement += `<option value=\"${selectValue}\" ${selected}>${selectValue}</option>`;\n }\n htmlElement += `</select>`;\n return htmlElement;\n\n\n } else {\n\n /**\n * Placeholder default\n * @type {string}\n */\n let placeholderValue = `No value`;\n if (mutable) {\n placeholderValue = `Enter a ${this.getLabel()}`;\n }\n // value\n if (!(defaultValue === null || defaultValue === undefined)) {\n if (typeof defaultValue === 'string' || defaultValue instanceof String) {\n // json data for instance\n placeholderValue = Html.toEntities(defaultValue);\n } else {\n placeholderValue = defaultValue;\n }\n }\n let htmlPlaceholder = `placeholder=\"${placeholderValue}\"`;\n\n let htmlValue = \"\";\n let inputType;\n let name = this.getName();\n\n /**\n * With disable, the data is not in the form\n */\n if (mutable !== undefined && mutable === false) {\n disabled = \"disabled\";\n } else {\n disabled = \"\";\n }\n\n /**\n * Input Element\n * @type {string}\n */\n let htmlTag = \"input\";\n let htmlClass = \"form-control\";\n let checked = \"\";\n /**\n * Text area\n */\n let rows = 3;\n\n /**\n * Type ?\n */\n switch (metadataType) {\n case FormMetaField.DATE_TIME:\n inputType = \"datetime-local\";\n if (value !== null) {\n value = value.slice(0, 19);\n htmlValue = `value=\"${value}\"`;\n } else {\n if (!mutable && defaultValue !== null) {\n defaultValue = defaultValue.slice(0, 19);\n htmlValue = `value=\"${defaultValue}\"`;\n }\n }\n htmlPlaceholder = \"\"; // does not apply to local date time\n\n break;\n case FormMetaField.PARAGRAPH:\n htmlTag = \"textarea\";\n if (value !== null) {\n value = Html.toEntities(value);\n htmlValue = `${value}`;\n }\n break;\n case FormMetaField.JSON:\n htmlTag = \"textarea\";\n if (value !== null) {\n if(typeof value === 'object'){\n value = JSON.stringify(value, null, 2);\n }\n value = Html.toEntities(value);\n htmlValue = `${value}`;\n }\n rows = 15;\n break;\n case FormMetaField.BOOLEAN:\n inputType = \"checkbox\";\n htmlClass = \"form-check-input\";\n if (defaultValue !== null) {\n htmlValue = `value=\"${defaultValue}\"`;\n if (value === defaultValue) {\n checked = \"checked\"\n }\n } else {\n if (value === \"on\") {\n checked = \"checked\"\n }\n }\n\n htmlPlaceholder = \"\";\n break;\n default:\n inputType = \"text\";\n if (!(value === null || value === undefined)) {\n htmlValue = `value=\"${value}\"`;\n }\n }\n\n switch (htmlTag) {\n case \"textarea\":\n htmlElement = `<textarea id=\"${id}\" name=\"${name}\" class=\"${htmlClass}\" rows=\"${rows}\" ${htmlPlaceholder} ${disabled}>${htmlValue}</textarea>`;\n break;\n default:\n case \"input\":\n htmlElement = `<input type=\"${inputType}\" name=\"${name}\" class=\"${htmlClass}\" id=\"${id}\" ${htmlPlaceholder} ${htmlValue} ${checked} ${disabled}/>`;\n break;\n\n }\n return htmlElement;\n }\n\n }\n\n /**\n * Added to be able to add metadata to the returned Json Form\n * It has not yet all properties\n * @return\n */\n toJavascriptObject() {\n return {\n \"name\": this.getName(),\n \"label\": this.getLabel(),\n \"type\": this.getType(),\n \"description\": this.getDescription(),\n \"tab\": this.getTab(),\n \"mutable\": this.isMutable(),\n \"value\": this.getValue(),\n \"default\": this.getDefaultValue(),\n \"url\": this.getUrl()\n }\n }\n\n getMultiple() {\n return this.multiple;\n }\n}\n","import Logger from \"./Logger\";\n\n\nexport default class FormMetaTab {\n\n\n constructor(name) {\n this.name = name;\n }\n\n getName() {\n return this.name;\n }\n\n setWidth(width) {\n this.width = width;\n }\n\n /**\n * The width of the tab\n */\n getWidth() {\n return this.width;\n }\n\n static createFromJson(json) {\n if (!json.hasOwnProperty(\"name\")) {\n Logger.getLogger().error(\"A name property is mandatory to create a tab and was not found in the json provided\")\n }\n let name = json[\"name\"];\n let tab = new FormMetaTab(name);\n for (let property in json) {\n if (!json.hasOwnProperty(property)) {\n continue;\n }\n let jsonValue = json[property];\n switch (property) {\n case \"name\":\n continue;\n case \"label\":\n tab.setLabel(jsonValue);\n continue;\n case \"width-field\":\n tab.setWidthField(jsonValue);\n continue;\n case \"width-label\":\n tab.setWidthLabel(jsonValue);\n continue;\n default:\n Logger.getLogger().error(`The property (${property}) of the tab (${name}) is unknown`);\n }\n }\n return tab;\n }\n\n setLabel(label) {\n this.label = label;\n return this;\n }\n\n getLabel(){\n if(this.label===undefined){\n return this.name;\n }\n return this.label;\n }\n\n setWidthField(width) {\n this.widthField = width;\n return this;\n }\n\n setWidthLabel(width) {\n this.widthLabel = width;\n return this;\n }\n\n getLabelWidth(){\n if(this.widthLabel===undefined){\n return 3;\n }\n return this.widthLabel;\n }\n\n getFieldWidth(){\n if(this.widthField===undefined){\n return 12 - this.getLabelWidth();\n }\n return this.widthField;\n }\n\n static createFromName(name) {\n return new FormMetaTab(name);\n }\n}\n","'use strict';\n\nimport FormMetaField from \"./FormMetaField\";\nimport FormMetaTab from \"./FormMetaTab\";\nimport Html from \"./Html\";\nimport Logger from \"./Logger\";\n\n/**\n * Represent the top meta\n * data from a form\n */\nexport default class FormMeta {\n\n formFields = {};\n tabs = {};\n width = 8;\n\n\n constructor(id) {\n\n if (id == null) {\n throw new Error(\"The if of the form should not be null\");\n }\n this.name = id;\n }\n\n /**\n * @return string\n */\n getLabel() {\n return this.label;\n }\n\n getUrl() {\n return this.url;\n }\n\n getId() {\n return this.name;\n }\n\n /**\n * The width of the control\n * if there is no tab\n * @return {number|*}\n */\n getControlWidth() {\n return this.width;\n }\n\n getLabelWidth() {\n return 12 - this.getControlWidth();\n }\n\n\n /**\n *\n * @param {string} formId\n * @param {Object} json\n * @return {FormMeta}\n */\n static createFromJson(formId, json) {\n let form = FormMeta.createFromId(formId);\n for (let prop in json) {\n if (!json.hasOwnProperty(prop)) {\n continue;\n }\n let value = json[prop];\n switch (prop) {\n case \"fields\":\n let fields = value;\n for (let field in fields) {\n if (fields.hasOwnProperty(field)) {\n form.addFormField(FormMetaField.createFromJson(fields[field]));\n }\n }\n continue;\n case \"tabs\":\n let tabs = value;\n for (let tab in tabs) {\n if (tabs.hasOwnProperty(tab)) {\n form.addTab(FormMetaTab.createFromJson(tabs[tab]));\n }\n }\n break;\n case \"width\":\n form.setControlWidth(value);\n break;\n case \"label\":\n form.setLabel(value);\n break;\n case \"url\":\n form.setUrl(value);\n break;\n default:\n Logger.getLogger().error(`The form property (${prop}) is unknown`);\n }\n\n\n }\n return form;\n }\n\n /**\n *\n * @param id\n * @return {FormMeta}\n */\n static createFromId(id) {\n return new FormMeta(id);\n }\n\n /**\n *\n * @param {FormMetaField} formField\n * @return {FormMeta}\n */\n addFormField(formField) {\n this.formFields[formField.getName()] = formField;\n // Be sure to have a tab for each field\n if (!this.tabs.hasOwnProperty(formField.getTab())) {\n this.tabs[formField.getTab()] = FormMetaTab.createFromName(formField.getTab());\n }\n return this;\n }\n\n /**\n *\n * @return {FormMetaField[]}\n */\n getFields() {\n return Object.values(this.formFields);\n }\n\n /**\n *\n * @return {FormMetaTab[]}\n */\n getTabs() {\n return Object.values(this.tabs);\n }\n\n addTab(formMetaTab) {\n this.tabs[formMetaTab.getName()] = formMetaTab;\n }\n\n valueOf() {\n return this.getId();\n };\n\n getFieldsForTab(tabName) {\n return this.getFields().filter(e => e.getTab() === tabName);\n }\n\n toHtmlElement() {\n\n let formId = this.getId();\n\n /**\n * Creating the Body\n * (Starting with the tabs)\n */\n let htmlTabNavs = '<ul class=\"nav nav-tabs mb-3\">';\n let activeClass;\n let ariaSelected;\n /**\n * @param {FormMetaTab} tab\n * @return string\n */\n this.getTabPaneId = function (tab) {\n let htmlId = Html.toHtmlId(tab.getName());\n return `${formId}-tab-pane-${htmlId}`;\n }\n /**\n * @param {FormMetaTab} tab\n * @return string\n */\n this.getTabNavId = function (/** @type {FormMetaTab}*/ tab) {\n let htmlId = Html.toHtmlId(tab.getName());\n return `${formId}-tab-nav-${htmlId}`;\n }\n this.getControlId = function (id) {\n let htmlId = Html.toHtmlId(id);\n return `${formId}-control-${htmlId}`;\n }\n let tabsMeta = this.getTabs();\n let defaultTab = tabsMeta[0];\n for (let tab of tabsMeta) {\n if (Object.is(tab, defaultTab)) {\n activeClass = \"active\";\n ariaSelected = \"true\";\n } else {\n activeClass = \"\";\n ariaSelected = \"false\";\n }\n let tabLabel = tab.getLabel();\n let tabPanId = this.getTabPaneId(tab);\n let tabNavId = this.getTabNavId(tab);\n htmlTabNavs += `\n<li class=\"nav-item\">\n<button\n class=\"nav-link ${activeClass}\"\n id=\"${tabNavId}\"\n type=\"button\"\n role=\"tab\"\n aria-selected = \"${ariaSelected}\"\n aria-controls = \"${tabPanId}\"\n data-bs-toggle = \"tab\"\n data-bs-target = \"#${tabPanId}\" >${tabLabel}\n </button>\n</li>`\n }\n htmlTabNavs += '</ul>';\n\n /**\n * Creating the content\n * @type {string}\n */\n let htmlTabPans = \"<div class=\\\"tab-content\\\">\";\n let rightColSize;\n let leftColSize;\n let elementIdCounter = 0;\n for (let tab of tabsMeta) {\n let tabPaneId = this.getTabPaneId(tab);\n let tabNavId = this.getTabNavId(tab);\n if (tab === defaultTab) {\n activeClass = \"active\";\n } else {\n activeClass = \"\";\n }\n htmlTabPans += `<div class=\"tab-pane ${activeClass}\" id=\"${tabPaneId}\" role=\"tabpanel\" aria-labelledby=\"${tabNavId}\">`;\n leftColSize = tab.getLabelWidth();\n rightColSize = tab.getFieldWidth();\n\n let fieldsForTab = this.getFieldsForTab(tab.getName());\n\n /**\n * Case one field without children\n * It should take the whole space\n */\n if (fieldsForTab.length === 1) {\n let formField = fieldsForTab[0];\n if (formField.getChildren().length === 0) {\n elementIdCounter++;\n let elementId = this.getControlId(elementIdCounter);\n let labelHtml = formField.toHtmlLabel(elementId);\n let value = formField.getValue();\n let defaultValue = formField.getDefaultValue();\n let controlHtml = formField.toHtmlControl(elementId, value, defaultValue)\n htmlTabPans += `\n<div class=\"row mb-3 text-center\"><div class=\"col-sm-12\">${labelHtml}</div></div>\n<div class=\"row mb-3\"><div class=\"col-sm-12\">${controlHtml}</div></div>\n`;\n htmlTabPans += \"</div>\"; // close the pan\n continue;\n }\n\n }\n\n for (let formField of fieldsForTab) {\n\n let children = formField.getChildren();\n switch (children.length) {\n case 0:\n elementIdCounter++;\n let elementId = this.getControlId(elementIdCounter);\n let labelHtml = formField.toHtmlLabel(elementId, `col-sm-${leftColSize}`);\n let value = formField.getValue();\n let defaultValue = formField.getDefaultValue();\n let controlHtml = formField.toHtmlControl(elementId, value, defaultValue)\n htmlTabPans += `\n<div class=\"row mb-3\">\n ${labelHtml}\n <div class=\"col-sm-${rightColSize}\">${controlHtml}</div>\n</div>\n`;\n break;\n default:\n let url = formField.getLabelAnchor();\n htmlTabPans += `<div class=\"row mb-3 text-center\">${url}</div>`;\n htmlTabPans += `<div class=\"row mb-3\">`;\n let rows = 0;\n for (const child of formField.getChildren()) {\n let width = child.getControlWidth();\n htmlTabPans += `<div class=\"col-sm-${width} text-center\">`;\n htmlTabPans += child.getLabelAnchor();\n htmlTabPans += `</div>`;\n let valuesLength = child.getValues().length;\n if (valuesLength > rows) {\n rows = valuesLength;\n }\n }\n htmlTabPans += `</div>`;\n\n for (let i = 0; i < rows; i++) {\n htmlTabPans += `<div class=\"row mb-3\">`;\n for (const child of formField.getChildren()) {\n let value = child.getValues()[i];\n let defaultValue = child.getDefaultValues()[i];\n elementIdCounter++;\n let elementId = this.getControlId(elementIdCounter);\n let width = child.getControlWidth();\n htmlTabPans += `<div class=\"col-sm-${width}\">`;\n htmlTabPans += child.toHtmlControl(elementId, value, defaultValue);\n htmlTabPans += `</div>`;\n }\n htmlTabPans += `</div>`;\n }\n\n break;\n\n }\n\n }\n htmlTabPans += \"</div>\";\n }\n htmlTabPans += \"</div>\";\n\n let form = document.createElement(\"form\");\n form.setAttribute(\"id\", formId);\n form.innerHTML = `${htmlTabNavs} ${htmlTabPans}`;\n return form;\n }\n\n\n setControlWidth(width) {\n this.width = width;\n return this;\n }\n\n setLabel(label) {\n this.label = label;\n }\n\n setUrl(url) {\n this.url = url;\n }\n\n}\n",null,"module.exports=bootstrap;","/**\n * A pointer to the created modals\n * Private\n */\nimport Html from \"./Html\";\nimport {Modal, Tooltip, Tab} from \"bootstrap\";\nimport Logger from \"./Logger\";\n\n/**\n *\n * @type {Object.<string, ComboModal>}\n */\nlet comboModals = {};\n\nexport default class ComboModal {\n\n\n footerButtons = [];\n bodies = [];\n isBuild = false;\n bodyStyles = {};\n dialogStyles = {};\n showFooter = true;\n dialogClasses = [];\n\n /**\n * A valid HTML id\n * @param modalId\n */\n constructor(modalId) {\n\n this.modalId = modalId;\n /**\n * We create the modal root because developers may want to add\n * event on it right away\n * @type {HTMLDivElement}\n */\n let queryElement = document.getElementById(modalId);\n if (queryElement !== null) {\n Logger.getLogger().error(`The id (${modalId}) given to create a modal was already used by an element in the DOM. We have reused it.`)\n this.modalRootHtmlElement = queryElement;\n this.reset();\n } else {\n this.modalRootHtmlElement = document.createElement(\"div\");\n this.modalRootHtmlElement.setAttribute(\"id\", this.modalId);\n this.modalRootHtmlElement.classList.add(\"modal\", \"fade\");\n // Uncaught RangeError: Maximum call stack size exceeded caused by the tabindex\n // modalRoot.setAttribute(\"tabindex\", \"-1\");\n this.modalRootHtmlElement.setAttribute(\"aria-hidden\", \"true\");\n }\n\n }\n\n setHeader(headerText) {\n this.headerText = headerText;\n return this;\n }\n\n /**\n * @param htmlBody\n * @return {ComboModal}\n */\n addBody(htmlBody) {\n\n this.bodies.push(htmlBody);\n return this;\n\n }\n\n addBodyStyle(property, value) {\n\n this.bodyStyles[property] = value;\n return this;\n\n }\n\n noFooter() {\n this.showFooter = false;\n return this;\n }\n\n addDialogStyle(property, value) {\n\n this.dialogStyles[property] = value;\n return this;\n\n }\n\n addDialogClass(value) {\n\n this.dialogClasses.push(value);\n return this;\n\n }\n\n /**\n * @return {ComboModal}\n */\n resetOnClose() {\n this.isResetOnClose = true;\n return this;\n }\n\n\n /**\n *\n * @type HTMLButtonElement|string htmlFooter\n */\n addFooterButton(htmlFooter) {\n\n this.footerButtons.push(htmlFooter);\n return this;\n }\n\n /**\n *\n * @return HTMLButtonElement the close button\n */\n addFooterCloseButton(label = \"Close\") {\n this.closeButton = document.createElement(\"button\");\n this.closeButton.classList.add(\"btn\", \"btn-secondary\")\n this.closeButton.innerHTML = label;\n let modal = this;\n this.closeButton.addEventListener(\"click\", function () {\n modal.bootStrapModal.hide();\n });\n this.addFooterButton(this.closeButton);\n return this;\n }\n\n /**\n * Center the modal\n * @return {ComboModal}\n */\n centered() {\n this.isCentered = true;\n return this;\n }\n\n show() {\n\n if (this.modalRootHtmlElement == null) {\n throw new Error(\"This modal has no HTML element, you can't use it anymore\");\n }\n\n if (!this.isBuild) {\n this.build();\n }\n\n /**\n * Reset on close ?\n * Included tabs does not work anymore\n * for whatever reason\n */\n if (this.isResetOnClose === true) {\n let comboModal = this;\n this.getElement().addEventListener('hidden.bs.modal', function () {\n /**\n * the event is only dispatch on the root element, not all modal\n */\n comboModal.reset();\n });\n }\n\n /**\n * Callback (Parent Child Relationship)\n */\n if (this.callBack !== undefined) {\n if (this.closeButton !== undefined) {\n let modal = this;\n this.closeButton.addEventListener(\"click\", function () {\n /**\n * Two modals cannot be open at the same time\n * https://getbootstrap.com/docs/5.0/components/modal/#toggle-between-modals\n */\n modal.dismissHide();\n modal.callBack();\n });\n }\n }\n\n this.bootStrapModal.show();\n\n\n }\n\n dismissHide() {\n if (this.bootStrapModal !== undefined) {\n this.bootStrapModal.hide();\n }\n }\n\n getModalId() {\n return this.modalId;\n }\n\n /**\n *\n * @param {function} callBack\n */\n setCallBackOnClose(callBack) {\n this.callBack = callBack;\n return this;\n }\n\n\n /**\n * Create a modal and return the modal content element\n * @return ComboModal\n */\n static createFromId(modalId) {\n let modal = new ComboModal(modalId);\n comboModals[modalId] = modal;\n return modal;\n }\n\n /**\n * @param modalId\n * @return {ComboModal}\n */\n static getModal = function (modalId) {\n\n if (modalId in comboModals) {\n return comboModals[modalId];\n } else {\n return null;\n }\n }\n\n /**\n * List the managed modals\n */\n static listModals = function () {\n console.log(Object.keys(comboModals).join(\", \"));\n }\n\n /**\n * Delete all modals\n */\n static resetAllModals = function () {\n for (let prop in comboModals) {\n if (comboModals.hasOwnProperty(prop)) {\n let modal = comboModals[prop];\n modal.reset();\n }\n }\n }\n\n /**\n *\n * @return {ComboModal}\n */\n static createTemporary() {\n return this.createFromId(Html.createRandomId());\n }\n\n getElement() {\n return this.modalRootHtmlElement;\n }\n\n /**\n * Calling the {@link show} function will build the\n * modal, if this is the case, you can't build it anymore\n * you need to {@link reset} it and recreate it if needed\n * @return {boolean}\n */\n wasBuild() {\n return this.isBuild;\n }\n\n setCentered(bool){\n this.isCentered = bool;\n return this;\n }\n resetIfBuild() {\n if (this.wasBuild()) {\n this.reset();\n }\n return this;\n }\n\n reset() {\n\n // DOM\n this.modalRootHtmlElement.querySelectorAll('[data-bs-toggle=\"tab\"]').forEach(tabTriggerElement => {\n let tab = Tab.getInstance(tabTriggerElement);\n if (tab !== null) {\n // tab are only created when the user click on them\n tab.dispose();\n }\n })\n\n /**\n * Bootstrap Modal\n * dispose should delete the root element\n * but it does not\n */\n if (this.bootStrapModal !== undefined) {\n this.dismissHide();\n }\n this.modalRootHtmlElement.innerHTML = \"\";\n\n /**\n * Content\n */\n this.isBuild = false;\n this.bodies = [];\n this.footerButtons = [];\n this.headerText = undefined;\n }\n\n /**\n * Build the modal\n */\n build() {\n\n this.isBuild = true;\n\n document.body.appendChild(this.modalRootHtmlElement);\n\n const modalManagerDialog = document.createElement(\"div\");\n modalManagerDialog.classList.add(\n \"modal-dialog\",\n \"modal-dialog-scrollable\",\n \"modal-lg\");\n if (this.isCentered) {\n modalManagerDialog.classList.add(\"modal-dialog-centered\")\n } else {\n // Get the modal more central but fix as we have tab and\n // we want still the mouse below the tab to be at the same position when we click\n modalManagerDialog.style.setProperty(\"margin\", \"5rem auto\");\n modalManagerDialog.style.setProperty(\"height\", \"calc(100% - 9rem)\");\n }\n for (let dialogStyleName in this.dialogStyles) {\n if (!this.dialogStyles.hasOwnProperty(dialogStyleName)) {\n continue;\n }\n modalManagerDialog.style.setProperty(dialogStyleName, this.dialogStyles[dialogStyleName]);\n }\n for (let dialogClass in this.dialogClasses){\n modalManagerDialog.classList.add(dialogClass);\n }\n this.modalRootHtmlElement.appendChild(modalManagerDialog);\n this.modalContent = document.createElement(\"div\");\n this.modalContent.classList.add(\"modal-content\");\n modalManagerDialog.appendChild(this.modalContent);\n\n this.modalBody = document.createElement(\"div\");\n this.modalBody.classList.add(\"modal-body\");\n for (let bodyStyleName in this.bodyStyles) {\n if (!this.bodyStyles.hasOwnProperty(bodyStyleName)) {\n continue;\n }\n this.modalBody.style.setProperty(bodyStyleName, this.bodyStyles[bodyStyleName]);\n }\n this.modalContent.appendChild(this.modalBody);\n\n\n /**\n * No need to use the global variable access mode (ie `bootstrap.Modal`)\n * It's created at build time\n * @type {Modal}\n */\n this.bootStrapModal = Modal.getInstance(this.modalRootHtmlElement);\n if (this.bootStrapModal === null) {\n /**\n * The bootstrap modal function\n * can only be invoked when the body element has been defined\n */\n let options = {\n \"backdrop\": true,\n \"keyboard\": true,\n \"focus\": true\n };\n this.bootStrapModal = new Modal(this.modalRootHtmlElement, options);\n }\n\n /**\n * Building the header\n */\n if (this.headerText !== undefined) {\n let headerHtml = `\n<div class=\"modal-header\">\n <h5 class=\"modal-title\">${this.headerText}</h5>\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\n</div>\n`;\n this.modalContent.insertAdjacentHTML('afterbegin', headerHtml);\n }\n\n /**\n * Building the body\n */\n for (let body of this.bodies) {\n let type = typeof body;\n switch (type) {\n case \"string\":\n this.modalBody.insertAdjacentHTML('beforeend', body);\n break;\n default:\n case \"object\":\n this.modalBody.appendChild(body);\n break;\n }\n }\n\n /**\n * Footer button\n */\n if(this.showFooter) {\n let modalFooter = document.createElement(\"div\");\n modalFooter.classList.add(\"modal-footer\");\n this.modalContent.appendChild(modalFooter);\n\n if (this.footerButtons.length === 0) {\n this.addFooterCloseButton();\n }\n\n for (let footerButton of this.footerButtons) {\n if (typeof footerButton === 'string' || footerButton instanceof String) {\n modalFooter.insertAdjacentHTML('beforeend', footerButton);\n } else {\n modalFooter.appendChild(footerButton);\n }\n }\n }\n\n /**\n * Init the tooltip if any\n */\n let tooltipSelector = `#${this.modalId} [data-bs-toggle=\"tooltip\"]`;\n document.querySelectorAll(tooltipSelector).forEach(el => new Tooltip(el));\n }\n\n\n static getOrCreate(modalId) {\n let modal = ComboModal.getModal(modalId);\n if (modal === null) {\n modal = ComboModal.createFromId(modalId);\n }\n return modal;\n }\n}\n","export default function _typeof(obj) {\n \"@swc/helpers - typeof\";\n return obj && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n};\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n (…)
/plugin/aichat/vendor/mehrab-wj/tiktoken-php/
H A Dcomposer.lock1657 "description": "Looks up which function or method a line of code belongs to",
/plugin/combo/resources/library/bootstrap/5.0.1/
H A Dbootstrap.min.css.map1 {"version":3,"sources":["../../scss/bootstrap.scss","../../scss/_root.scss","../../scss/_reboot.scss","dist/css/bootstrap.css","../../scss/vendor/_rfs.scss","../../scss/mixins/_border-radius.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/_containers.scss","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/_tables.scss","../../scss/mixins/_table-variants.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-text.scss","../../scss/forms/_form-control.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_form-select.scss","../../scss/forms/_form-check.scss","../../scss/forms/_form-range.scss","../../scss/forms/_floating-labels.scss","../../scss/forms/_input-group.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/_button-group.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_accordion.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/_offcanvas.scss","../../scss/helpers/_colored-links.scss","../../scss/helpers/_ratio.scss","../../scss/helpers/_position.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap v5.0.1 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n// scss-docs-start import-stack\n// Configuration\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n// Layout & components\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"containers\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"accordion\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"alert\";\n@import \"progress\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n@import \"offcanvas\";\n\n// Helpers\n@import \"helpers\";\n\n// Utilities\n@import \"utilities/api\";\n// scss-docs-end import-stack\n",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --#{$variable-prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n --#{$variable-prefix}font-monospace: #{inspect($font-family-monospace)};\n --#{$variable-prefix}gradient: #{$gradient};\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n font-size: $font-size-root;\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\n }\n }\n}\n\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: $body-text-align;\n background-color: $body-bg; // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `<p>`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-bs-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-bs-original-title] { // 1\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n direction: ltr #{\"/* rtl:ignore */\"};\n unicode-bidi: bidi-override;\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `<td>` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Explicitly remove focus outline in Chromium when it shouldn't be\n// visible (e.g. as result of mouse click or touch tap). It already\n// should be doing this automatically, but seems to currently be\n// confused and applies its very visible two-tone outline anyway.\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Remove the inheritance of text transform in Firefox\nbutton,\nselect {\n text-transform: none;\n}\n// Set the cursor for non-`<button>` buttons\n//\n// Details at https://github.com/twbs/bootstrap/pull/30562\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n // Remove the inheritance of word-wrap in Safari.\n // See https://github.com/twbs/bootstrap/issues/24990\n word-wrap: normal;\n\n // Undo the opacity change from Chrome\n &:disabled {\n opacity: 1;\n }\n}\n\n// Remove the dropdown arrow in Chrome from inputs built with datalists.\n// See https://stackoverflow.com/a/54997118\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\n// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n// controls in Android 4.\n// 2. Correct the inability to style clickable types in iOS and Safari.\n// 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\nbutton,\n[type=\"button\"], // 1\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; // 2\n\n @if $enable-button-pointers {\n &:not(:disabled) {\n cursor: pointer; // 3\n }\n }\n}\n\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n// 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\ntextarea {\n resize: vertical; // 1\n}\n\n// 1. Browsers set a default `min-width: min-content;` on fieldsets,\n// unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n// So we reset that to ensure fieldsets behave more like a standard block element.\n// See https://github.com/twbs/bootstrap/issues/12359\n// and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\nfieldset {\n min-width: 0; // 1\n padding: 0; // 2\n margin: 0; // 2\n border: 0; // 2\n}\n\n// 1. By using `float: left`, the legend will behave like a block element.\n// This way the border of a fieldset wraps around the legend if present.\n// 2. Fix wrapping bug.\n// See https://github.com/twbs/bootstrap/issues/29712\n\nlegend {\n float: left; // 1\n width: 100%;\n padding: 0;\n margin-bottom: $legend-margin-bottom;\n @include font-size($legend-font-size);\n font-weight: $legend-font-weight;\n line-height: inherit;\n\n + * {\n clear: left; // 2\n }\n}\n\n// Fix height of inputs with a type of datetime-local, date, month, week, or time\n// See https://github.com/twbs/bootstrap/issues/18842\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 padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n// 1. Correct the outline style in Safari.\n// 2. This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\n[type=\"search\"] {\n outline-offset: -2px; // 1\n -webkit-appearance: textfield; // 2\n}\n\n// 1. A few input types should stay LTR\n// See https://rtlstyling.com/posts/rtl-styling#form-inputs\n// 2. RTL only output\n// See https://rtlcss.com/learn/usage-guide/control-directives/#raw\n\n/* rtl:raw:\n[type=\"tel\"],\n[type=\"url\"],\n[type=\"email\"],\n[type=\"number\"] {\n direction: ltr;\n}\n*/\n\n// Remove the inner padding in Chrome and Safari on macOS.\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n// Remove padding around color pickers in webkit browsers\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n\n// Inherit font family and line height for file input buttons\n\n::file-selector-button {\n font: inherit;\n}\n\n// 1. Change font properties to `inherit`\n// 2. Correct the inability to style clickable types in iOS and Safari.\n\n::-webkit-file-upload-button {\n font: inherit; // 1\n -webkit-appearance: button; // 2\n}\n\n// Correct element displays\n\noutput {\n display: inline-block;\n}\n\n// Remove border from iframe\n\niframe {\n border: 0;\n}\n\n// Summary\n//\n// 1. Add the correct display in all browsers\n\nsummary {\n display: list-item; // 1\n cursor: pointer;\n}\n\n\n// Progress\n//\n// Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\nprogress {\n vertical-align: baseline;\n}\n\n\n// Hidden attribute\n//\n// Always hide an element with the `hidden` HTML attribute.\n\n[hidden] {\n display: none !important;\n}\n","@charset \"UTF-8\";\n/*!\n * Bootstrap v5.0.1 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n --bs-blue: #0d6efd;\n --bs-indigo: #6610f2;\n --bs-purple: #6f42c1;\n --bs-pink: #d63384;\n --bs-red: #dc3545;\n --bs-orange: #fd7e14;\n --bs-yellow: #ffc107;\n --bs-green: #198754;\n --bs-teal: #20c997;\n --bs-cyan: #0dcaf0;\n --bs-white: #fff;\n --bs-gray: #6c757d;\n --bs-gray-dark: #343a40;\n --bs-primary: #0d6efd;\n --bs-secondary: #6c757d;\n --bs-success: #198754;\n --bs-info: #0dcaf0;\n --bs-warning: #ffc107;\n --bs-danger: #dc3545;\n --bs-light: #f8f9fa;\n --bs-dark: #212529;\n --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n}\n\nbody {\n margin: 0;\n font-family: var(--bs-font-sans-serif);\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: calc(1.375rem + 1.5vw);\n}\n@media (min-width: 1200px) {\n h1, .h1 {\n font-size: 2.5rem;\n }\n}\n\nh2, .h2 {\n font-size: calc(1.325rem + 0.9vw);\n}\n@media (min-width: 1200px) {\n h2, .h2 {\n font-size: 2rem;\n }\n}\n\nh3, .h3 {\n font-size: calc(1.3rem + 0.6vw);\n}\n@media (min-width: 1200px) {\n h3, .h3 {\n font-size: 1.75rem;\n }\n}\n\nh4, .h4 {\n font-size: calc(1.275rem + 0.3vw);\n}\n@media (min-width: 1200px) {\n h4, .h4 {\n font-size: 1.5rem;\n }\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-bs-original-title] {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n cursor: help;\n -webkit-text-decoration-skip-ink: none;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: 0.5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall, .small {\n font-size: 0.875em;\n}\n\nmark, .mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: underline;\n}\na:hover {\n color: #0a58ca;\n}\n\na:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: var(--bs-font-monospace);\n font-size: 1em;\n direction: ltr /* rtl:ignore */;\n unicode-bidi: bidi-override;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n}\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\nlabel {\n display: inline-block;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=button] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\nselect:disabled {\n opacity: 1;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=button],\n[type=reset],\n[type=submit] {\n -webkit-appearance: button;\n}\nbutton:not(:disabled),\n[type=button]:not(:disabled),\n[type=reset]:not(:disabled),\n[type=submit]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: calc(1.275rem + 0.3vw);\n line-height: inherit;\n}\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5rem;\n }\n}\nlegend + * {\n clear: 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 padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type=search] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n/* rtl:raw:\n[type=\"tel\"],\n[type=\"url\"],\n[type=\"email\"],\n[type=\"number\"] {\n direction: ltr;\n}\n*/\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::file-selector-button {\n font: inherit;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\niframe {\n border: 0;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: calc(1.625rem + 4.5vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-1 {\n font-size: 5rem;\n }\n}\n\n.display-2 {\n font-size: calc(1.575rem + 3.9vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-2 {\n font-size: 4.5rem;\n }\n}\n\n.display-3 {\n font-size: calc(1.525rem + 3.3vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-3 {\n font-size: 4rem;\n }\n}\n\n.display-4 {\n font-size: calc(1.475rem + 2.7vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-4 {\n font-size: 3.5rem;\n }\n}\n\n.display-5 {\n font-size: calc(1.425rem + 2.1vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-5 {\n font-size: 3rem;\n }\n}\n\n.display-6 {\n font-size: calc(1.375rem + 1.5vw);\n font-weight: 300;\n line-height: 1.2;\n}\n@media (min-width: 1200px) {\n .display-6 {\n font-size: 2.5rem;\n }\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 0.875em;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n.blockquote > :last-child {\n margin-bottom: 0;\n}\n\n.blockquote-footer {\n margin-top: -1rem;\n margin-bottom: 1rem;\n font-size: 0.875em;\n color: #6c757d;\n}\n.blockquote-footer::before {\n content: \"— \";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n width: 100%;\n padding-right: var(--bs-gutter-x, 0.75rem);\n padding-left: var(--bs-gutter-x, 0.75rem);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--bs-gutter-y) * -1);\n margin-right: calc(var(--bs-gutter-x) / -2);\n margin-left: calc(var(--bs-gutter-x) / -2);\n}\n.row > * {\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) / 2);\n padding-left: calc(var(--bs-gutter-x) / 2);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.3333333333%;\n}\n\n.offset-2 {\n margin-left: 16.6666666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.3333333333%;\n}\n\n.offset-5 {\n margin-left: 41.6666666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.3333333333%;\n}\n\n.offset-8 {\n margin-left: 66.6666666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.3333333333%;\n}\n\n.offset-11 {\n margin-left: 91.6666666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-sm-0 {\n margin-left: 0;\n }\n\n .offset-sm-1 {\n margin-left: 8.3333333333%;\n }\n\n .offset-sm-2 {\n margin-left: 16.6666666667%;\n }\n\n .offset-sm-3 {\n margin-left: 25%;\n }\n\n .offset-sm-4 {\n margin-left: 33.3333333333%;\n }\n\n .offset-sm-5 {\n margin-left: 41.6666666667%;\n }\n\n .offset-sm-6 {\n margin-left: 50%;\n }\n\n .offset-sm-7 {\n margin-left: 58.3333333333%;\n }\n\n .offset-sm-8 {\n margin-left: 66.6666666667%;\n }\n\n .offset-sm-9 {\n margin-left: 75%;\n }\n\n .offset-sm-10 {\n margin-left: 83.3333333333%;\n }\n\n .offset-sm-11 {\n margin-left: 91.6666666667%;\n }\n\n .g-sm-0,\n.gx-sm-0 {\n --bs-gutter-x: 0;\n }\n\n .g-sm-0,\n.gy-sm-0 {\n --bs-gutter-y: 0;\n }\n\n .g-sm-1,\n.gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-sm-1,\n.gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-sm-2,\n.gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-sm-2,\n.gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-sm-3,\n.gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-sm-3,\n.gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-sm-4,\n.gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-sm-4,\n.gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-sm-5,\n.gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-sm-5,\n.gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-md-0 {\n margin-left: 0;\n }\n\n .offset-md-1 {\n margin-left: 8.3333333333%;\n }\n\n .offset-md-2 {\n margin-left: 16.6666666667%;\n }\n\n .offset-md-3 {\n margin-left: 25%;\n }\n\n .offset-md-4 {\n margin-left: 33.3333333333%;\n }\n\n .offset-md-5 {\n margin-left: 41.6666666667%;\n }\n\n .offset-md-6 {\n margin-left: 50%;\n }\n\n .offset-md-7 {\n margin-left: 58.3333333333%;\n }\n\n .offset-md-8 {\n margin-left: 66.6666666667%;\n }\n\n .offset-md-9 {\n margin-left: 75%;\n }\n\n .offset-md-10 {\n margin-left: 83.3333333333%;\n }\n\n .offset-md-11 {\n margin-left: 91.6666666667%;\n }\n\n .g-md-0,\n.gx-md-0 {\n --bs-gutter-x: 0;\n }\n\n .g-md-0,\n.gy-md-0 {\n --bs-gutter-y: 0;\n }\n\n .g-md-1,\n.gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-md-1,\n.gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-md-2,\n.gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-md-2,\n.gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-md-3,\n.gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-md-3,\n.gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-md-4,\n.gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-md-4,\n.gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-md-5,\n.gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-md-5,\n.gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-lg-0 {\n margin-left: 0;\n }\n\n .offset-lg-1 {\n margin-left: 8.3333333333%;\n }\n\n .offset-lg-2 {\n margin-left: 16.6666666667%;\n }\n\n .offset-lg-3 {\n margin-left: 25%;\n }\n\n .offset-lg-4 {\n margin-left: 33.3333333333%;\n }\n\n .offset-lg-5 {\n margin-left: 41.6666666667%;\n }\n\n .offset-lg-6 {\n margin-left: 50%;\n }\n\n .offset-lg-7 {\n margin-left: 58.3333333333%;\n }\n\n .offset-lg-8 {\n margin-left: 66.6666666667%;\n }\n\n .offset-lg-9 {\n margin-left: 75%;\n }\n\n .offset-lg-10 {\n margin-left: 83.3333333333%;\n }\n\n .offset-lg-11 {\n margin-left: 91.6666666667%;\n }\n\n .g-lg-0,\n.gx-lg-0 {\n --bs-gutter-x: 0;\n }\n\n .g-lg-0,\n.gy-lg-0 {\n --bs-gutter-y: 0;\n }\n\n .g-lg-1,\n.gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-lg-1,\n.gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-lg-2,\n.gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-lg-2,\n.gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-lg-3,\n.gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-lg-3,\n.gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-lg-4,\n.gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-lg-4,\n.gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-lg-5,\n.gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-lg-5,\n.gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-xl-0 {\n margin-left: 0;\n }\n\n .offset-xl-1 {\n margin-left: 8.3333333333%;\n }\n\n .offset-xl-2 {\n margin-left: 16.6666666667%;\n }\n\n .offset-xl-3 {\n margin-left: 25%;\n }\n\n .offset-xl-4 {\n margin-left: 33.3333333333%;\n }\n\n .offset-xl-5 {\n margin-left: 41.6666666667%;\n }\n\n .offset-xl-6 {\n margin-left: 50%;\n }\n\n .offset-xl-7 {\n margin-left: 58.3333333333%;\n }\n\n .offset-xl-8 {\n margin-left: 66.6666666667%;\n }\n\n .offset-xl-9 {\n margin-left: 75%;\n }\n\n .offset-xl-10 {\n margin-left: 83.3333333333%;\n }\n\n .offset-xl-11 {\n margin-left: 91.6666666667%;\n }\n\n .g-xl-0,\n.gx-xl-0 {\n --bs-gutter-x: 0;\n }\n\n .g-xl-0,\n.gy-xl-0 {\n --bs-gutter-y: 0;\n }\n\n .g-xl-1,\n.gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-xl-1,\n.gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-xl-2,\n.gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-xl-2,\n.gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-xl-3,\n.gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-xl-3,\n.gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-xl-4,\n.gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-xl-4,\n.gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-xl-5,\n.gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-xl-5,\n.gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-xxl-0 {\n margin-left: 0;\n }\n\n .offset-xxl-1 {\n margin-left: 8.3333333333%;\n }\n\n .offset-xxl-2 {\n margin-left: 16.6666666667%;\n }\n\n .offset-xxl-3 {\n margin-left: 25%;\n }\n\n .offset-xxl-4 {\n margin-left: 33.3333333333%;\n }\n\n .offset-xxl-5 {\n margin-left: 41.6666666667%;\n }\n\n .offset-xxl-6 {\n margin-left: 50%;\n }\n\n .offset-xxl-7 {\n margin-left: 58.3333333333%;\n }\n\n .offset-xxl-8 {\n margin-left: 66.6666666667%;\n }\n\n .offset-xxl-9 {\n margin-left: 75%;\n }\n\n .offset-xxl-10 {\n margin-left: 83.3333333333%;\n }\n\n .offset-xxl-11 {\n margin-left: 91.6666666667%;\n }\n\n .g-xxl-0,\n.gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n\n .g-xxl-0,\n.gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n\n .g-xxl-1,\n.gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-xxl-1,\n.gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-xxl-2,\n.gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-xxl-2,\n.gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-xxl-3,\n.gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-xxl-3,\n.gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-xxl-4,\n.gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-xxl-4,\n.gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-xxl-5,\n.gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-xxl-5,\n.gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n.table {\n --bs-table-bg: transparent;\n --bs-table-accent-bg: transparent;\n --bs-table-striped-color: #212529;\n --bs-table-striped-bg: rgba(0, 0, 0, 0.05);\n --bs-table-active-color: #212529;\n --bs-table-active-bg: rgba(0, 0, 0, 0.1);\n --bs-table-hover-color: #212529;\n --bs-table-hover-bg: rgba(0, 0, 0, 0.075);\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n vertical-align: top;\n border-color: #dee2e6;\n}\n.table > :not(caption) > * > * {\n padding: 0.5rem 0.5rem;\n background-color: var(--bs-table-bg);\n border-bottom-width: 1px;\n box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);\n}\n.table > tbody {\n vertical-align: inherit;\n}\n.table > thead {\n vertical-align: bottom;\n}\n.table > :not(:last-child) > :last-child > * {\n border-bottom-color: currentColor;\n}\n\n.caption-top {\n caption-side: top;\n}\n\n.table-sm > :not(caption) > * > * {\n padding: 0.25rem 0.25rem;\n}\n\n.table-bordered > :not(caption) > * {\n border-width: 1px 0;\n}\n.table-bordered > :not(caption) > * > * {\n border-width: 0 1px;\n}\n\n.table-borderless > :not(caption) > * > * {\n border-bottom-width: 0;\n}\n\n.table-striped > tbody > tr:nth-of-type(odd) {\n --bs-table-accent-bg: var(--bs-table-striped-bg);\n color: var(--bs-table-striped-color);\n}\n\n.table-active {\n --bs-table-accent-bg: var(--bs-table-active-bg);\n color: var(--bs-table-active-color);\n}\n\n.table-hover > tbody > tr:hover {\n --bs-table-accent-bg: var(--bs-table-hover-bg);\n color: var(--bs-table-hover-color);\n}\n\n.table-primary {\n --bs-table-bg: #cfe2ff;\n --bs-table-striped-bg: #c5d7f2;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #bacbe6;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #bfd1ec;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #bacbe6;\n}\n\n.table-secondary {\n --bs-table-bg: #e2e3e5;\n --bs-table-striped-bg: #d7d8da;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #cbccce;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #d1d2d4;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #cbccce;\n}\n\n.table-success {\n --bs-table-bg: #d1e7dd;\n --bs-table-striped-bg: #c7dbd2;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #bcd0c7;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #c1d6cc;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #bcd0c7;\n}\n\n.table-info {\n --bs-table-bg: #cff4fc;\n --bs-table-striped-bg: #c5e8ef;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #badce3;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #bfe2e9;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #badce3;\n}\n\n.table-warning {\n --bs-table-bg: #fff3cd;\n --bs-table-striped-bg: #f2e7c3;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #e6dbb9;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #ece1be;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #e6dbb9;\n}\n\n.table-danger {\n --bs-table-bg: #f8d7da;\n --bs-table-striped-bg: #eccccf;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #dfc2c4;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #e5c7ca;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #dfc2c4;\n}\n\n.table-light {\n --bs-table-bg: #f8f9fa;\n --bs-table-striped-bg: #ecedee;\n --bs-table-striped-color: #000;\n --bs-table-active-bg: #dfe0e1;\n --bs-table-active-color: #000;\n --bs-table-hover-bg: #e5e6e7;\n --bs-table-hover-color: #000;\n color: #000;\n border-color: #dfe0e1;\n}\n\n.table-dark {\n --bs-table-bg: #212529;\n --bs-table-striped-bg: #2c3034;\n --bs-table-striped-color: #fff;\n --bs-table-active-bg: #373b3e;\n --bs-table-active-color: #fff;\n --bs-table-hover-bg: #323539;\n --bs-table-hover-color: #fff;\n color: #fff;\n border-color: #373b3e;\n}\n\n.table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 767.98px) {\n .table-responsive-md {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 1399.98px) {\n .table-responsive-xxl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n.form-label {\n margin-bottom: 0.5rem;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n}\n\n.form-text {\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #6c757d;\n}\n\n.form-control {\n display: block;\n width: 100%;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n.form-control[type=file] {\n overflow: hidden;\n}\n.form-control[type=file]:not(:disabled):not([readonly]) {\n cursor: pointer;\n}\n.form-control:focus {\n color: #212529;\n background-color: #fff;\n border-color: #86b7fe;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n.form-control::-webkit-date-and-time-value {\n height: 1.5em;\n}\n.form-control::-moz-placeholder {\n color: #6c757d;\n opacity: 1;\n}\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n.form-control::file-selector-button {\n padding: 0.375rem 0.75rem;\n margin: -0.375rem -0.75rem;\n -webkit-margin-end: 0.75rem;\n margin-inline-end: 0.75rem;\n color: #212529;\n background-color: #e9ecef;\n pointer-events: none;\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n border-inline-end-width: 1px;\n border-radius: 0;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-control::file-selector-button {\n transition: none;\n }\n}\n.form-control:hover:not(:disabled):not([readonly])::file-selector-button {\n background-color: #dde0e3;\n}\n.form-control::-webkit-file-upload-button {\n padding: 0.375rem 0.75rem;\n margin: -0.375rem -0.75rem;\n -webkit-margin-end: 0.75rem;\n margin-inline-end: 0.75rem;\n color: #212529;\n background-color: #e9ecef;\n pointer-events: none;\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n border-inline-end-width: 1px;\n border-radius: 0;\n -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-control::-webkit-file-upload-button {\n -webkit-transition: none;\n transition: none;\n }\n}\n.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {\n background-color: #dde0e3;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n min-height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n.form-control-sm::file-selector-button {\n padding: 0.25rem 0.5rem;\n margin: -0.25rem -0.5rem;\n -webkit-margin-end: 0.5rem;\n margin-inline-end: 0.5rem;\n}\n.form-control-sm::-webkit-file-upload-button {\n padding: 0.25rem 0.5rem;\n margin: -0.25rem -0.5rem;\n -webkit-margin-end: 0.5rem;\n margin-inline-end: 0.5rem;\n}\n\n.form-control-lg {\n min-height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n.form-control-lg::file-selector-button {\n padding: 0.5rem 1rem;\n margin: -0.5rem -1rem;\n -webkit-margin-end: 1rem;\n margin-inline-end: 1rem;\n}\n.form-control-lg::-webkit-file-upload-button {\n padding: 0.5rem 1rem;\n margin: -0.5rem -1rem;\n -webkit-margin-end: 1rem;\n margin-inline-end: 1rem;\n}\n\ntextarea.form-control {\n min-height: calc(1.5em + 0.75rem + 2px);\n}\ntextarea.form-control-sm {\n min-height: calc(1.5em + 0.5rem + 2px);\n}\ntextarea.form-control-lg {\n min-height: calc(1.5em + 1rem + 2px);\n}\n\n.form-control-color {\n max-width: 3rem;\n height: auto;\n padding: 0.375rem;\n}\n.form-control-color:not(:disabled):not([readonly]) {\n cursor: pointer;\n}\n.form-control-color::-moz-color-swatch {\n height: 1.5em;\n border-radius: 0.25rem;\n}\n.form-control-color::-webkit-color-swatch {\n height: 1.5em;\n border-radius: 0.25rem;\n}\n\n.form-select {\n display: block;\n width: 100%;\n padding: 0.375rem 2.25rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n background-color: #fff;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right 0.75rem center;\n background-size: 16px 12px;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n.form-select:focus {\n border-color: #86b7fe;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n.form-select[multiple], .form-select[size]:not([size=\"1\"]) {\n padding-right: 0.75rem;\n background-image: none;\n}\n.form-select:disabled {\n background-color: #e9ecef;\n}\n.form-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #212529;\n}\n\n.form-select-sm {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.form-select-lg {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.form-check {\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5em;\n margin-bottom: 0.125rem;\n}\n.form-check .form-check-input {\n float: left;\n margin-left: -1.5em;\n}\n\n.form-check-input {\n width: 1em;\n height: 1em;\n margin-top: 0.25em;\n vertical-align: top;\n background-color: #fff;\n background-repeat: no-repeat;\n background-position: center;\n background-size: contain;\n border: 1px solid rgba(0, 0, 0, 0.25);\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n -webkit-print-color-adjust: exact;\n color-adjust: exact;\n}\n.form-check-input[type=checkbox] {\n border-radius: 0.25em;\n}\n.form-check-input[type=radio] {\n border-radius: 50%;\n}\n.form-check-input:active {\n filter: brightness(90%);\n}\n.form-check-input:focus {\n border-color: #86b7fe;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n.form-check-input:checked {\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n.form-check-input:checked[type=checkbox] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e\");\n}\n.form-check-input:checked[type=radio] {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e\");\n}\n.form-check-input[type=checkbox]:indeterminate {\n background-color: #0d6efd;\n border-color: #0d6efd;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e\");\n}\n.form-check-input:disabled {\n pointer-events: none;\n filter: none;\n opacity: 0.5;\n}\n.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {\n opacity: 0.5;\n}\n\n.form-switch {\n padding-left: 2.5em;\n}\n.form-switch .form-check-input {\n width: 2em;\n margin-left: -2.5em;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e\");\n background-position: left center;\n border-radius: 2em;\n transition: background-position 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-switch .form-check-input {\n transition: none;\n }\n}\n.form-switch .form-check-input:focus {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e\");\n}\n.form-switch .form-check-input:checked {\n background-position: right center;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: 1rem;\n}\n\n.btn-check {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.btn-check[disabled] + .btn, .btn-check:disabled + .btn {\n pointer-events: none;\n filter: none;\n opacity: 0.65;\n}\n\n.form-range {\n width: 100%;\n height: 1.5rem;\n padding: 0;\n background-color: transparent;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n.form-range:focus {\n outline: 0;\n}\n.form-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n.form-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n.form-range::-moz-focus-outer {\n border: 0;\n}\n.form-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n -webkit-appearance: none;\n appearance: none;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-range::-webkit-slider-thumb {\n -webkit-transition: none;\n transition: none;\n }\n}\n.form-range::-webkit-slider-thumb:active {\n background-color: #b6d4fe;\n}\n.form-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n.form-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #0d6efd;\n border: 0;\n border-radius: 1rem;\n -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n -moz-appearance: none;\n appearance: none;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-range::-moz-range-thumb {\n -moz-transition: none;\n transition: none;\n }\n}\n.form-range::-moz-range-thumb:active {\n background-color: #b6d4fe;\n}\n.form-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n.form-range:disabled {\n pointer-events: none;\n}\n.form-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n.form-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.form-floating {\n position: relative;\n}\n.form-floating > .form-control,\n.form-floating > .form-select {\n height: calc(3.5rem + 2px);\n padding: 1rem 0.75rem;\n}\n.form-floating > label {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n padding: 1rem 0.75rem;\n pointer-events: none;\n border: 1px solid transparent;\n transform-origin: 0 0;\n transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-floating > label {\n transition: none;\n }\n}\n.form-floating > .form-control::-moz-placeholder {\n color: transparent;\n}\n.form-floating > .form-control::placeholder {\n color: transparent;\n}\n.form-floating > .form-control:not(:-moz-placeholder-shown) {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n}\n.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown) {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n}\n.form-floating > .form-control:-webkit-autofill {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n}\n.form-floating > .form-select {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n}\n.form-floating > .form-control:not(:-moz-placeholder-shown) ~ label {\n opacity: 0.65;\n transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n}\n.form-floating > .form-control:focus ~ label,\n.form-floating > .form-control:not(:placeholder-shown) ~ label,\n.form-floating > .form-select ~ label {\n opacity: 0.65;\n transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n}\n.form-floating > .form-control:-webkit-autofill ~ label {\n opacity: 0.65;\n transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n.input-group > .form-control,\n.input-group > .form-select {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n}\n.input-group > .form-control:focus,\n.input-group > .form-select:focus {\n z-index: 3;\n}\n.input-group .btn {\n position: relative;\n z-index: 2;\n}\n.input-group .btn:focus {\n z-index: 3;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\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 padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\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 padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: 3rem;\n}\n\n.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),\n.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu),\n.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {\n margin-left: -1px;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #198754;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: 0.1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(25, 135, 84, 0.9);\n border-radius: 0.25rem;\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 display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #198754;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #198754;\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:valid, .form-select.is-valid {\n border-color: #198754;\n}\n.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\"] {\n padding-right: 4.125rem;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\"), url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-position: right 0.75rem center, center right 2.25rem;\n background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .form-select:valid:focus, .form-select.is-valid:focus {\n border-color: #198754;\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);\n}\n\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: #198754;\n}\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: #198754;\n}\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);\n}\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #198754;\n}\n\n.form-check-inline .form-check-input ~ .valid-feedback {\n margin-left: 0.5em;\n}\n\n.was-validated .input-group .form-control:valid, .input-group .form-control.is-valid,\n.was-validated .input-group .form-select:valid,\n.input-group .form-select.is-valid {\n z-index: 1;\n}\n.was-validated .input-group .form-control:valid:focus, .input-group .form-control.is-valid:focus,\n.was-validated .input-group .form-select:valid:focus,\n.input-group .form-select.is-valid:focus {\n z-index: 3;\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: 0.1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\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 display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n 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\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:invalid, .form-select.is-invalid {\n border-color: #dc3545;\n}\n.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\"] {\n padding-right: 4.125rem;\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e\"), url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-position: right 0.75rem center, center right 2.25rem;\n background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n border-color: #dc3545;\n}\n.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n background-color: #dc3545;\n}\n.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);\n}\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.form-check-inline .form-check-input ~ .invalid-feedback {\n margin-left: 0.5em;\n}\n\n.was-validated .input-group .form-control:invalid, .input-group .form-control.is-invalid,\n.was-validated .input-group .form-select:invalid,\n.input-group .form-select.is-invalid {\n z-index: 2;\n}\n.was-validated .input-group .form-control:invalid:focus, .input-group .form-control.is-invalid:focus,\n.was-validated .input-group .form-select:invalid:focus,\n.input-group .form-select.is-invalid:focus {\n z-index: 3;\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n.btn:hover {\n color: #212529;\n}\n.btn-check:focus + .btn, .btn:focus {\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n.btn:disabled, .btn.disabled, fieldset:disabled .btn {\n pointer-events: none;\n opacity: 0.65;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n.btn-primary:hover {\n color: #fff;\n background-color: #0b5ed7;\n border-color: #0a58ca;\n}\n.btn-check:focus + .btn-primary, .btn-primary:focus {\n color: #fff;\n background-color: #0b5ed7;\n border-color: #0a58ca;\n box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5);\n}\n.btn-check:checked + .btn-primary, .btn-check:active + .btn-primary, .btn-primary:active, .btn-primary.active, .show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0a58ca;\n border-color: #0a53be;\n}\n.btn-check:checked + .btn-primary:focus, .btn-check:active + .btn-primary:focus, .btn-primary:active:focus, .btn-primary.active:focus, .show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(49, 132, 253, 0.5);\n}\n.btn-primary:disabled, .btn-primary.disabled {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n.btn-secondary:hover {\n color: #fff;\n background-color: #5c636a;\n border-color: #565e64;\n}\n.btn-check:focus + .btn-secondary, .btn-secondary:focus {\n color: #fff;\n background-color: #5c636a;\n border-color: #565e64;\n box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5);\n}\n.btn-check:checked + .btn-secondary, .btn-check:active + .btn-secondary, .btn-secondary:active, .btn-secondary.active, .show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #565e64;\n border-color: #51585e;\n}\n.btn-check:checked + .btn-secondary:focus, .btn-check:active + .btn-secondary:focus, .btn-secondary:active:focus, .btn-secondary.active:focus, .show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(130, 138, 145, 0.5);\n}\n.btn-secondary:disabled, .btn-secondary.disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-success {\n color: #fff;\n background-color: #198754;\n border-color: #198754;\n}\n.btn-success:hover {\n color: #fff;\n background-color: #157347;\n border-color: #146c43;\n}\n.btn-check:focus + .btn-success, .btn-success:focus {\n color: #fff;\n background-color: #157347;\n border-color: #146c43;\n box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5);\n}\n.btn-check:checked + .btn-success, .btn-check:active + .btn-success, .btn-success:active, .btn-success.active, .show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #146c43;\n border-color: #13653f;\n}\n.btn-check:checked + .btn-success:focus, .btn-check:active + .btn-success:focus, .btn-success:active:focus, .btn-success.active:focus, .show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(60, 153, 110, 0.5);\n}\n.btn-success:disabled, .btn-success.disabled {\n color: #fff;\n background-color: #198754;\n border-color: #198754;\n}\n\n.btn-info {\n color: #000;\n background-color: #0dcaf0;\n border-color: #0dcaf0;\n}\n.btn-info:hover {\n color: #000;\n background-color: #31d2f2;\n border-color: #25cff2;\n}\n.btn-check:focus + .btn-info, .btn-info:focus {\n color: #000;\n background-color: #31d2f2;\n border-color: #25cff2;\n box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5);\n}\n.btn-check:checked + .btn-info, .btn-check:active + .btn-info, .btn-info:active, .btn-info.active, .show > .btn-info.dropdown-toggle {\n color: #000;\n background-color: #3dd5f3;\n border-color: #25cff2;\n}\n.btn-check:checked + .btn-info:focus, .btn-check:active + .btn-info:focus, .btn-info:active:focus, .btn-info.active:focus, .show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(11, 172, 204, 0.5);\n}\n.btn-info:disabled, .btn-info.disabled {\n color: #000;\n background-color: #0dcaf0;\n border-color: #0dcaf0;\n}\n\n.btn-warning {\n color: #000;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n.btn-warning:hover {\n color: #000;\n background-color: #ffca2c;\n border-color: #ffc720;\n}\n.btn-check:focus + .btn-warning, .btn-warning:focus {\n color: #000;\n background-color: #ffca2c;\n border-color: #ffc720;\n box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5);\n}\n.btn-check:checked + .btn-warning, .btn-check:active + .btn-warning, .btn-warning:active, .btn-warning.active, .show > .btn-warning.dropdown-toggle {\n color: #000;\n background-color: #ffcd39;\n border-color: #ffc720;\n}\n.btn-check:checked + .btn-warning:focus, .btn-check:active + .btn-warning:focus, .btn-warning:active:focus, .btn-warning.active:focus, .show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(217, 164, 6, 0.5);\n}\n.btn-warning:disabled, .btn-warning.disabled {\n color: #000;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n.btn-danger:hover {\n color: #fff;\n background-color: #bb2d3b;\n border-color: #b02a37;\n}\n.btn-check:focus + .btn-danger, .btn-danger:focus {\n color: #fff;\n background-color: #bb2d3b;\n border-color: #b02a37;\n box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5);\n}\n.btn-check:checked + .btn-danger, .btn-check:active + .btn-danger, .btn-danger:active, .btn-danger.active, .show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #b02a37;\n border-color: #a52834;\n}\n.btn-check:checked + .btn-danger:focus, .btn-check:active + .btn-danger:focus, .btn-danger:active:focus, .btn-danger.active:focus, .show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(225, 83, 97, 0.5);\n}\n.btn-danger:disabled, .btn-danger.disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-light {\n color: #000;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n.btn-light:hover {\n color: #000;\n background-color: #f9fafb;\n border-color: #f9fafb;\n}\n.btn-check:focus + .btn-light, .btn-light:focus {\n color: #000;\n background-color: #f9fafb;\n border-color: #f9fafb;\n box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);\n}\n.btn-check:checked + .btn-light, .btn-check:active + .btn-light, .btn-light:active, .btn-light.active, .show > .btn-light.dropdown-toggle {\n color: #000;\n background-color: #f9fafb;\n border-color: #f9fafb;\n}\n.btn-check:checked + .btn-light:focus, .btn-check:active + .btn-light:focus, .btn-light:active:focus, .btn-light.active:focus, .show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);\n}\n.btn-light:disabled, .btn-light.disabled {\n color: #000;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-dark {\n color: #fff;\n background-color: #212529;\n border-color: #212529;\n}\n.btn-dark:hover {\n color: #fff;\n background-color: #1c1f23;\n border-color: #1a1e21;\n}\n.btn-check:focus + .btn-dark, .btn-dark:focus {\n color: #fff;\n background-color: #1c1f23;\n border-color: #1a1e21;\n box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5);\n}\n.btn-check:checked + .btn-dark, .btn-check:active + .btn-dark, .btn-dark:active, .btn-dark.active, .show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1a1e21;\n border-color: #191c1f;\n}\n.btn-check:checked + .btn-dark:focus, .btn-check:active + .btn-dark:focus, .btn-dark:active:focus, .btn-dark.active:focus, .show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.25rem rgba(66, 70, 73, 0.5);\n}\n.btn-dark:disabled, .btn-dark.disabled {\n color: #fff;\n background-color: #212529;\n border-color: #212529;\n}\n\n.btn-outline-primary {\n color: #0d6efd;\n border-color: #0d6efd;\n}\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n.btn-check:focus + .btn-outline-primary, .btn-outline-primary:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5);\n}\n.btn-check:checked + .btn-outline-primary, .btn-check:active + .btn-outline-primary, .btn-outline-primary:active, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show {\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n.btn-check:checked + .btn-outline-primary:focus, .btn-check:active + .btn-outline-primary:focus, .btn-outline-primary:active:focus, .btn-outline-primary.active:focus, .btn-outline-primary.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.5);\n}\n.btn-outline-primary:disabled, .btn-outline-primary.disabled {\n color: #0d6efd;\n background-color: transparent;\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n.btn-check:focus + .btn-outline-secondary, .btn-outline-secondary:focus {\n box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5);\n}\n.btn-check:checked + .btn-outline-secondary, .btn-check:active + .btn-outline-secondary, .btn-outline-secondary:active, .btn-outline-secondary.active, .btn-outline-secondary.dropdown-toggle.show {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n.btn-check:checked + .btn-outline-secondary:focus, .btn-check:active + .btn-outline-secondary:focus, .btn-outline-secondary:active:focus, .btn-outline-secondary.active:focus, .btn-outline-secondary.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(108, 117, 125, 0.5);\n}\n.btn-outline-secondary:disabled, .btn-outline-secondary.disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-success {\n color: #198754;\n border-color: #198754;\n}\n.btn-outline-success:hover {\n color: #fff;\n background-color: #198754;\n border-color: #198754;\n}\n.btn-check:focus + .btn-outline-success, .btn-outline-success:focus {\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5);\n}\n.btn-check:checked + .btn-outline-success, .btn-check:active + .btn-outline-success, .btn-outline-success:active, .btn-outline-success.active, .btn-outline-success.dropdown-toggle.show {\n color: #fff;\n background-color: #198754;\n border-color: #198754;\n}\n.btn-check:checked + .btn-outline-success:focus, .btn-check:active + .btn-outline-success:focus, .btn-outline-success:active:focus, .btn-outline-success.active:focus, .btn-outline-success.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.5);\n}\n.btn-outline-success:disabled, .btn-outline-success.disabled {\n color: #198754;\n background-color: transparent;\n}\n\n.btn-outline-info {\n color: #0dcaf0;\n border-color: #0dcaf0;\n}\n.btn-outline-info:hover {\n color: #000;\n background-color: #0dcaf0;\n border-color: #0dcaf0;\n}\n.btn-check:focus + .btn-outline-info, .btn-outline-info:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5);\n}\n.btn-check:checked + .btn-outline-info, .btn-check:active + .btn-outline-info, .btn-outline-info:active, .btn-outline-info.active, .btn-outline-info.dropdown-toggle.show {\n color: #000;\n background-color: #0dcaf0;\n border-color: #0dcaf0;\n}\n.btn-check:checked + .btn-outline-info:focus, .btn-check:active + .btn-outline-info:focus, .btn-outline-info:active:focus, .btn-outline-info.active:focus, .btn-outline-info.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(13, 202, 240, 0.5);\n}\n.btn-outline-info:disabled, .btn-outline-info.disabled {\n color: #0dcaf0;\n background-color: transparent;\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n.btn-outline-warning:hover {\n color: #000;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n.btn-check:focus + .btn-outline-warning, .btn-outline-warning:focus {\n box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5);\n}\n.btn-check:checked + .btn-outline-warning, .btn-check:active + .btn-outline-warning, .btn-outline-warning:active, .btn-outline-warning.active, .btn-outline-warning.dropdown-toggle.show {\n color: #000;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n.btn-check:checked + .btn-outline-warning:focus, .btn-check:active + .btn-outline-warning:focus, .btn-outline-warning:active:focus, .btn-outline-warning.active:focus, .btn-outline-warning.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.5);\n}\n.btn-outline-warning:disabled, .btn-outline-warning.disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n.btn-check:focus + .btn-outline-danger, .btn-outline-danger:focus {\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5);\n}\n.btn-check:checked + .btn-outline-danger, .btn-check:active + .btn-outline-danger, .btn-outline-danger:active, .btn-outline-danger.active, .btn-outline-danger.dropdown-toggle.show {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n.btn-check:checked + .btn-outline-danger:focus, .btn-check:active + .btn-outline-danger:focus, .btn-outline-danger:active:focus, .btn-outline-danger.active:focus, .btn-outline-danger.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.5);\n}\n.btn-outline-danger:disabled, .btn-outline-danger.disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n.btn-outline-light:hover {\n color: #000;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n.btn-check:focus + .btn-outline-light, .btn-outline-light:focus {\n box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5);\n}\n.btn-check:checked + .btn-outline-light, .btn-check:active + .btn-outline-light, .btn-outline-light:active, .btn-outline-light.active, .btn-outline-light.dropdown-toggle.show {\n color: #000;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n.btn-check:checked + .btn-outline-light:focus, .btn-check:active + .btn-outline-light:focus, .btn-outline-light:active:focus, .btn-outline-light.active:focus, .btn-outline-light.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(248, 249, 250, 0.5);\n}\n.btn-outline-light:disabled, .btn-outline-light.disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-dark {\n color: #212529;\n border-color: #212529;\n}\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #212529;\n border-color: #212529;\n}\n.btn-check:focus + .btn-outline-dark, .btn-outline-dark:focus {\n box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.5);\n}\n.btn-check:checked + .btn-outline-dark, .btn-check:active + .btn-outline-dark, .btn-outline-dark:active, .btn-outline-dark.active, .btn-outline-dark.dropdown-toggle.show {\n color: #fff;\n background-color: #212529;\n border-color: #212529;\n}\n.btn-check:checked + .btn-outline-dark:focus, .btn-check:active + .btn-outline-dark:focus, .btn-outline-dark:active:focus, .btn-outline-dark.active:focus, .btn-outline-dark.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.25rem rgba(33, 37, 41, 0.5);\n}\n.btn-outline-dark:disabled, .btn-outline-dark.disabled {\n color: #212529;\n background-color: transparent;\n}\n\n.btn-link {\n font-weight: 400;\n color: #0d6efd;\n text-decoration: underline;\n}\n.btn-link:hover {\n color: #0a58ca;\n}\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: 0.2rem;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropend,\n.dropdown,\n.dropstart {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n z-index: 1000;\n display: none;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n.dropdown-menu[data-bs-popper] {\n top: 100%;\n left: 0;\n margin-top: 0.125rem;\n}\n\n.dropdown-menu-start {\n --bs-position: start;\n}\n.dropdown-menu-start[data-bs-popper] {\n right: auto /* rtl:ignore */;\n left: 0 /* rtl:ignore */;\n}\n\n.dropdown-menu-end {\n --bs-position: end;\n}\n.dropdown-menu-end[data-bs-popper] {\n right: 0 /* rtl:ignore */;\n left: auto /* rtl:ignore */;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-start {\n --bs-position: start;\n }\n .dropdown-menu-sm-start[data-bs-popper] {\n right: auto /* rtl:ignore */;\n left: 0 /* rtl:ignore */;\n }\n\n .dropdown-menu-sm-end {\n --bs-position: end;\n }\n .dropdown-menu-sm-end[data-bs-popper] {\n right: 0 /* rtl:ignore */;\n left: auto /* rtl:ignore */;\n }\n}\n@media (min-width: 768px) {\n .dropdown-menu-md-start {\n --bs-position: start;\n }\n .dropdown-menu-md-start[data-bs-popper] {\n right: auto /* rtl:ignore */;\n left: 0 /* rtl:ignore */;\n }\n\n .dropdown-menu-md-end {\n --bs-position: end;\n }\n .dropdown-menu-md-end[data-bs-popper] {\n right: 0 /* rtl:ignore */;\n left: auto /* rtl:ignore */;\n }\n}\n@media (min-width: 992px) {\n .dropdown-menu-lg-start {\n --bs-position: start;\n }\n .dropdown-menu-lg-start[data-bs-popper] {\n right: auto /* rtl:ignore */;\n left: 0 /* rtl:ignore */;\n }\n\n .dropdown-menu-lg-end {\n --bs-position: end;\n }\n .dropdown-menu-lg-end[data-bs-popper] {\n right: 0 /* rtl:ignore */;\n left: auto /* rtl:ignore */;\n }\n}\n@media (min-width: 1200px) {\n .dropdown-menu-xl-start {\n --bs-position: start;\n }\n .dropdown-menu-xl-start[data-bs-popper] {\n right: auto /* rtl:ignore */;\n left: 0 /* rtl:ignore */;\n }\n\n .dropdown-menu-xl-end {\n --bs-position: end;\n }\n .dropdown-menu-xl-end[data-bs-popper] {\n right: 0 /* rtl:ignore */;\n left: auto /* rtl:ignore */;\n }\n}\n@media (min-width: 1400px) {\n .dropdown-menu-xxl-start {\n --bs-position: start;\n }\n .dropdown-menu-xxl-start[data-bs-popper] {\n right: auto /* rtl:ignore */;\n left: 0 /* rtl:ignore */;\n }\n\n .dropdown-menu-xxl-end {\n --bs-position: end;\n }\n .dropdown-menu-xxl-end[data-bs-popper] {\n right: 0 /* rtl:ignore */;\n left: auto /* rtl:ignore */;\n }\n}\n.dropup .dropdown-menu[data-bs-popper] {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropend .dropdown-menu[data-bs-popper] {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n.dropend .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n.dropend .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n.dropend .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropstart .dropdown-menu[data-bs-popper] {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n.dropstart .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n.dropstart .dropdown-toggle::after {\n display: none;\n}\n.dropstart .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n.dropstart .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n.dropstart .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid rgba(0, 0, 0, 0.15);\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n text-decoration: none;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n.dropdown-item:hover, .dropdown-item:focus {\n color: #1e2125;\n background-color: #e9ecef;\n}\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #0d6efd;\n}\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #adb5bd;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1rem;\n color: #212529;\n}\n\n.dropdown-menu-dark {\n color: #dee2e6;\n background-color: #343a40;\n border-color: rgba(0, 0, 0, 0.15);\n}\n.dropdown-menu-dark .dropdown-item {\n color: #dee2e6;\n}\n.dropdown-menu-dark .dropdown-item:hover, .dropdown-menu-dark .dropdown-item:focus {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.15);\n}\n.dropdown-menu-dark .dropdown-item.active, .dropdown-menu-dark .dropdown-item:active {\n color: #fff;\n background-color: #0d6efd;\n}\n.dropdown-menu-dark .dropdown-item.disabled, .dropdown-menu-dark .dropdown-item:disabled {\n color: #adb5bd;\n}\n.dropdown-menu-dark .dropdown-divider {\n border-color: rgba(0, 0, 0, 0.15);\n}\n.dropdown-menu-dark .dropdown-item-text {\n color: #dee2e6;\n}\n.dropdown-menu-dark .dropdown-header {\n color: #adb5bd;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\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 z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\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 border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {\n margin-left: 0;\n}\n.dropstart .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn ~ .btn,\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n color: #0d6efd;\n text-decoration: none;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .nav-link {\n transition: none;\n }\n}\n.nav-link:hover, .nav-link:focus {\n color: #0a58ca;\n}\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n.nav-tabs .nav-link {\n margin-bottom: -1px;\n background: none;\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n isolation: isolate;\n}\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n background: none;\n border: 0;\n border-radius: 0.25rem;\n}\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #0d6efd;\n}\n\n.nav-fill > .nav-link,\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified > .nav-link,\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.nav-fill .nav-item .nav-link,\n.nav-justified .nav-item .nav-link {\n width: 100%;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\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 display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n}\n.navbar-brand {\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n text-decoration: none;\n white-space: nowrap;\n}\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n.navbar-nav .dropdown-menu {\n position: static;\n}\n\n.navbar-text {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n transition: box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .navbar-toggler {\n transition: none;\n }\n}\n.navbar-toggler:hover {\n text-decoration: none;\n}\n.navbar-toggler:focus {\n text-decoration: none;\n outline: 0;\n box-shadow: 0 0 0 0.25rem;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n background-repeat: no-repeat;\n background-position: center;\n background-size: 100%;\n}\n\n.navbar-nav-scroll {\n max-height: var(--bs-scroll-height, 75vh);\n overflow-y: auto;\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n@media (min-width: 1400px) {\n .navbar-expand-xxl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xxl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xxl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xxl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xxl .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-xxl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xxl .navbar-toggler {\n display: none;\n }\n}\n.navbar-expand {\n flex-wrap: nowrap;\n justify-content: flex-start;\n}\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n.navbar-expand .navbar-nav-scroll {\n overflow: visible;\n}\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.55);\n}\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.55);\n border-color: rgba(0, 0, 0, 0.1);\n}\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.55);\n}\n.navbar-light .navbar-text a,\n.navbar-light .navbar-text a:hover,\n.navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.55);\n}\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.55);\n border-color: rgba(255, 255, 255, 0.1);\n}\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.55);\n}\n.navbar-dark .navbar-text a,\n.navbar-dark .navbar-text a:hover,\n.navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n.card > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n}\n.card > .list-group:first-child {\n border-top-width: 0;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n.card > .list-group:last-child {\n border-bottom-width: 0;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n.card > .card-header + .list-group,\n.card > .list-group + .card-footer {\n border-top: 0;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: 1rem 1rem;\n}\n\n.card-title {\n margin-bottom: 0.5rem;\n}\n\n.card-subtitle {\n margin-top: -0.25rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n.card-link + .card-link {\n margin-left: 1rem;\n}\n\n.card-header {\n padding: 0.5rem 1rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-footer {\n padding: 0.5rem 1rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.5rem;\n margin-bottom: -0.5rem;\n margin-left: -0.5rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.5rem;\n margin-left: -0.5rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1rem;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-group > .card {\n margin-bottom: 0.75rem;\n}\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n.card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n.card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n.card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n.card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.accordion-button {\n position: relative;\n display: flex;\n align-items: center;\n width: 100%;\n padding: 1rem 1.25rem;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n background-color: #fff;\n border: 0;\n border-radius: 0;\n overflow-anchor: none;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .accordion-button {\n transition: none;\n }\n}\n.accordion-button:not(.collapsed) {\n color: #0c63e4;\n background-color: #e7f1ff;\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.125);\n}\n.accordion-button:not(.collapsed)::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%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 transform: rotate(-180deg);\n}\n.accordion-button::after {\n flex-shrink: 0;\n width: 1.25rem;\n height: 1.25rem;\n margin-left: auto;\n content: \"\";\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-size: 1.25rem;\n transition: transform 0.2s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .accordion-button::after {\n transition: none;\n }\n}\n.accordion-button:hover {\n z-index: 2;\n}\n.accordion-button:focus {\n z-index: 3;\n border-color: #86b7fe;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.accordion-header {\n margin-bottom: 0;\n}\n\n.accordion-item {\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n.accordion-item:first-of-type {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n.accordion-item:first-of-type .accordion-button {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n.accordion-item:not(:first-of-type) {\n border-top: 0;\n}\n.accordion-item:last-of-type {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n.accordion-item:last-of-type .accordion-button.collapsed {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n.accordion-item:last-of-type .accordion-collapse {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.accordion-body {\n padding: 1rem 1.25rem;\n}\n\n.accordion-flush .accordion-collapse {\n border-width: 0;\n}\n.accordion-flush .accordion-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n.accordion-flush .accordion-item:first-child {\n border-top: 0;\n}\n.accordion-flush .accordion-item:last-child {\n border-bottom: 0;\n}\n.accordion-flush .accordion-item .accordion-button {\n border-radius: 0;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0 0;\n margin-bottom: 1rem;\n list-style: none;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n.breadcrumb-item + .breadcrumb-item::before {\n float: left;\n padding-right: 0.5rem;\n color: #6c757d;\n content: var(--bs-breadcrumb-divider, \"/\") /* rtl: var(--bs-breadcrumb-divider, \"/\") */;\n}\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n}\n\n.page-link {\n position: relative;\n display: block;\n color: #0d6efd;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid #dee2e6;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .page-link {\n transition: none;\n }\n}\n.page-link:hover {\n z-index: 2;\n color: #0a58ca;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n.page-link:focus {\n z-index: 3;\n color: #0a58ca;\n background-color: #e9ecef;\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n\n.page-item:not(:first-child) .page-link {\n margin-left: -1px;\n}\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.page-link {\n padding: 0.375rem 0.75rem;\n}\n\n.page-item:first-child .page-link {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n}\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n}\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.35em 0.65em;\n font-size: 0.75em;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n}\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.alert {\n position: relative;\n padding: 1rem 1rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 3rem;\n}\n.alert-dismissible .btn-close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n padding: 1.25rem 1rem;\n}\n\n.alert-primary {\n color: #084298;\n background-color: #cfe2ff;\n border-color: #b6d4fe;\n}\n.alert-primary .alert-link {\n color: #06357a;\n}\n\n.alert-secondary {\n color: #41464b;\n background-color: #e2e3e5;\n border-color: #d3d6d8;\n}\n.alert-secondary .alert-link {\n color: #34383c;\n}\n\n.alert-success {\n color: #0f5132;\n background-color: #d1e7dd;\n border-color: #badbcc;\n}\n.alert-success .alert-link {\n color: #0c4128;\n}\n\n.alert-info {\n color: #055160;\n background-color: #cff4fc;\n border-color: #b6effb;\n}\n.alert-info .alert-link {\n color: #04414d;\n}\n\n.alert-warning {\n color: #664d03;\n background-color: #fff3cd;\n border-color: #ffecb5;\n}\n.alert-warning .alert-link {\n color: #523e02;\n}\n\n.alert-danger {\n color: #842029;\n background-color: #f8d7da;\n border-color: #f5c2c7;\n}\n.alert-danger .alert-link {\n color: #6a1a21;\n}\n\n.alert-light {\n color: #636464;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n.alert-light .alert-link {\n color: #4f5050;\n}\n\n.alert-dark {\n color: #141619;\n background-color: #d3d3d4;\n border-color: #bcbebf;\n}\n.alert-dark .alert-link {\n color: #101214;\n}\n\n@-webkit-keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1rem;\n }\n}\n\n@keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1rem;\n }\n}\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #0d6efd;\n transition: width 0.6s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n -webkit-animation: 1s linear infinite progress-bar-stripes;\n animation: 1s linear infinite progress-bar-stripes;\n}\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n -webkit-animation: none;\n animation: none;\n }\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n border-radius: 0.25rem;\n}\n\n.list-group-numbered {\n list-style-type: none;\n counter-reset: section;\n}\n.list-group-numbered > li::before {\n content: counters(section, \".\") \". \";\n counter-increment: section;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.5rem 1rem;\n color: #212529;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n.list-group-item:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n}\n.list-group-item:last-child {\n border-bottom-right-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #0d6efd;\n border-color: #0d6efd;\n}\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n.list-group-horizontal > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n.list-group-horizontal > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n.list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n}\n.list-group-horizontal > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n.list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n@media (min-width: 1400px) {\n .list-group-horizontal-xxl {\n flex-direction: row;\n }\n .list-group-horizontal-xxl > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xxl > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xxl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xxl > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n.list-group-flush {\n border-radius: 0;\n}\n.list-group-flush > .list-group-item {\n border-width: 0 0 1px;\n}\n.list-group-flush > .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #084298;\n background-color: #cfe2ff;\n}\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #084298;\n background-color: #bacbe6;\n}\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #084298;\n border-color: #084298;\n}\n\n.list-group-item-secondary {\n color: #41464b;\n background-color: #e2e3e5;\n}\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #41464b;\n background-color: #cbccce;\n}\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #41464b;\n border-color: #41464b;\n}\n\n.list-group-item-success {\n color: #0f5132;\n background-color: #d1e7dd;\n}\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #0f5132;\n background-color: #bcd0c7;\n}\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #0f5132;\n border-color: #0f5132;\n}\n\n.list-group-item-info {\n color: #055160;\n background-color: #cff4fc;\n}\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #055160;\n background-color: #badce3;\n}\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #055160;\n border-color: #055160;\n}\n\n.list-group-item-warning {\n color: #664d03;\n background-color: #fff3cd;\n}\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #664d03;\n background-color: #e6dbb9;\n}\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #664d03;\n border-color: #664d03;\n}\n\n.list-group-item-danger {\n color: #842029;\n background-color: #f8d7da;\n}\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #842029;\n background-color: #dfc2c4;\n}\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #842029;\n border-color: #842029;\n}\n\n.list-group-item-light {\n color: #636464;\n background-color: #fefefe;\n}\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #636464;\n background-color: #e5e5e5;\n}\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #636464;\n border-color: #636464;\n}\n\n.list-group-item-dark {\n color: #141619;\n background-color: #d3d3d4;\n}\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #141619;\n background-color: #bebebf;\n}\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #141619;\n border-color: #141619;\n}\n\n.btn-close {\n box-sizing: content-box;\n width: 1em;\n height: 1em;\n padding: 0.25em 0.25em;\n color: #000;\n background: transparent url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e\") center/1em auto no-repeat;\n border: 0;\n border-radius: 0.25rem;\n opacity: 0.5;\n}\n.btn-close:hover {\n color: #000;\n text-decoration: none;\n opacity: 0.75;\n}\n.btn-close:focus {\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n opacity: 1;\n}\n.btn-close:disabled, .btn-close.disabled {\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n opacity: 0.25;\n}\n\n.btn-close-white {\n filter: invert(1) grayscale(100%) brightness(200%);\n}\n\n.toast {\n width: 350px;\n max-width: 100%;\n font-size: 0.875rem;\n pointer-events: auto;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n.toast:not(.showing):not(.show) {\n opacity: 0;\n}\n.toast.hide {\n display: none;\n}\n\n.toast-container {\n width: -webkit-max-content;\n width: -moz-max-content;\n width: max-content;\n max-width: 100%;\n pointer-events: none;\n}\n.toast-container > :not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.5rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n.toast-header .btn-close {\n margin-right: -0.375rem;\n margin-left: 0.75rem;\n}\n\n.toast-body {\n padding: 0.75rem;\n word-wrap: break-word;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n width: 100%;\n height: 100%;\n overflow-x: hidden;\n overflow-y: auto;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n.modal.show .modal-dialog {\n transform: none;\n}\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n height: calc(100% - 1rem);\n}\n.modal-dialog-scrollable .modal-content {\n max-height: 100%;\n overflow: hidden;\n}\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n.modal-backdrop.fade {\n opacity: 0;\n}\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n.modal-header .btn-close {\n padding: 0.5rem 0.5rem;\n margin: -0.5rem -0.5rem -0.5rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n flex-shrink: 0;\n align-items: center;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n\n .modal-dialog-scrollable {\n height: calc(100% - 3.5rem);\n }\n\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n\n .modal-sm {\n max-width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg,\n.modal-xl {\n max-width: 800px;\n }\n}\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n.modal-fullscreen {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n}\n.modal-fullscreen .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n}\n.modal-fullscreen .modal-header {\n border-radius: 0;\n}\n.modal-fullscreen .modal-body {\n overflow-y: auto;\n}\n.modal-fullscreen .modal-footer {\n border-radius: 0;\n}\n\n@media (max-width: 575.98px) {\n .modal-fullscreen-sm-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-sm-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-sm-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-sm-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-sm-down .modal-footer {\n border-radius: 0;\n }\n}\n@media (max-width: 767.98px) {\n .modal-fullscreen-md-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-md-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-md-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-md-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-md-down .modal-footer {\n border-radius: 0;\n }\n}\n@media (max-width: 991.98px) {\n .modal-fullscreen-lg-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-lg-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-lg-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-lg-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-lg-down .modal-footer {\n border-radius: 0;\n }\n}\n@media (max-width: 1199.98px) {\n .modal-fullscreen-xl-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-xl-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-xl-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-xl-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-xl-down .modal-footer {\n border-radius: 0;\n }\n}\n@media (max-width: 1399.98px) {\n .modal-fullscreen-xxl-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-xxl-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-xxl-down .modal-header {\n border-radius: 0;\n }\n .modal-fullscreen-xxl-down .modal-body {\n overflow-y: auto;\n }\n .modal-fullscreen-xxl-down .modal-footer {\n border-radius: 0;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1080;\n display: block;\n margin: 0;\n font-family: var(--bs-font-sans-serif);\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n.tooltip.show {\n opacity: 0.9;\n}\n.tooltip .tooltip-arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n.tooltip .tooltip-arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[data-popper-placement^=top] {\n padding: 0.4rem 0;\n}\n.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {\n bottom: 0;\n}\n.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {\n top: -1px;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-end, .bs-tooltip-auto[data-popper-placement^=right] {\n padding: 0 0.4rem;\n}\n.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {\n right: -1px;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[data-popper-placement^=bottom] {\n padding: 0.4rem 0;\n}\n.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {\n top: 0;\n}\n.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {\n bottom: -1px;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-start, .bs-tooltip-auto[data-popper-placement^=left] {\n padding: 0 0.4rem;\n}\n.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {\n left: -1px;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0 /* rtl:ignore */;\n z-index: 1070;\n display: block;\n max-width: 276px;\n font-family: var(--bs-font-sans-serif);\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n.popover .popover-arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n}\n.popover .popover-arrow::before, .popover .popover-arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {\n bottom: calc(-0.5rem - 1px);\n}\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {\n left: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n}\n.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {\n top: calc(-0.5rem - 1px);\n}\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f0f0f0;\n}\n\n.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {\n right: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n}\n.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 1rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f0f0f0;\n border-bottom: 1px solid #d8d8d8;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 1rem 1rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n/* rtl:begin:ignore */\n.carousel-item-next:not(.carousel-item-start),\n.active.carousel-item-end {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-end),\n.active.carousel-item-start {\n transform: translateX(-100%);\n}\n\n/* rtl:end:ignore */\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\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 z-index: 1;\n opacity: 1;\n}\n.carousel-fade .active.carousel-item-start,\n.carousel-fade .active.carousel-item-end {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-start,\n.carousel-fade .active.carousel-item-end {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n padding: 0;\n color: #fff;\n text-align: center;\n background: none;\n border: 0;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n.carousel-control-next {\n transition: none;\n }\n}\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n}\n\n/* rtl:options: {\n \"autoRename\": true,\n \"stringMap\":[ {\n \"name\" : \"prev-next\",\n \"search\" : \"prev\",\n \"replace\" : \"next\"\n } ]\n} */\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding: 0;\n margin-right: 15%;\n margin-bottom: 1rem;\n margin-left: 15%;\n list-style: none;\n}\n.carousel-indicators [data-bs-target] {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n padding: 0;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border: 0;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: 0.5;\n transition: opacity 0.6s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators [data-bs-target] {\n transition: none;\n }\n}\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 1.25rem;\n left: 15%;\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n color: #fff;\n text-align: center;\n}\n\n.carousel-dark .carousel-control-prev-icon,\n.carousel-dark .carousel-control-next-icon {\n filter: invert(1) grayscale(100);\n}\n.carousel-dark .carousel-indicators [data-bs-target] {\n background-color: #000;\n}\n.carousel-dark .carousel-caption {\n color: #000;\n}\n\n@-webkit-keyframes spinner-border {\n to {\n transform: rotate(360deg) /* rtl:ignore */;\n }\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg) /* rtl:ignore */;\n }\n}\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: -0.125em;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n -webkit-animation: 0.75s linear infinite spinner-border;\n animation: 0.75s linear infinite spinner-border;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@-webkit-keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: -0.125em;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n -webkit-animation: 0.75s linear infinite spinner-grow;\n animation: 0.75s linear infinite spinner-grow;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .spinner-border,\n.spinner-grow {\n -webkit-animation-duration: 1.5s;\n animation-duration: 1.5s;\n }\n}\n.offcanvas {\n position: fixed;\n bottom: 0;\n z-index: 1050;\n display: flex;\n flex-direction: column;\n max-width: 100%;\n visibility: hidden;\n background-color: #fff;\n background-clip: padding-box;\n outline: 0;\n transition: transform 0.3s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .offcanvas {\n transition: none;\n }\n}\n\n.offcanvas-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 1rem 1rem;\n}\n.offcanvas-header .btn-close {\n padding: 0.5rem 0.5rem;\n margin: -0.5rem -0.5rem -0.5rem auto;\n}\n\n.offcanvas-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.offcanvas-body {\n flex-grow: 1;\n padding: 1rem 1rem;\n overflow-y: auto;\n}\n\n.offcanvas-start {\n top: 0;\n left: 0;\n width: 400px;\n border-right: 1px solid rgba(0, 0, 0, 0.2);\n transform: translateX(-100%);\n}\n\n.offcanvas-end {\n top: 0;\n right: 0;\n width: 400px;\n border-left: 1px solid rgba(0, 0, 0, 0.2);\n transform: translateX(100%);\n}\n\n.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: 30vh;\n max-height: 100%;\n border-bottom: 1px solid rgba(0, 0, 0, 0.2);\n transform: translateY(-100%);\n}\n\n.offcanvas-bottom {\n right: 0;\n left: 0;\n height: 30vh;\n max-height: 100%;\n border-top: 1px solid rgba(0, 0, 0, 0.2);\n transform: translateY(100%);\n}\n\n.offcanvas.show {\n transform: none;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.link-primary {\n color: #0d6efd;\n}\n.link-primary:hover, .link-primary:focus {\n color: #0a58ca;\n}\n\n.link-secondary {\n color: #6c757d;\n}\n.link-secondary:hover, .link-secondary:focus {\n color: #565e64;\n}\n\n.link-success {\n color: #198754;\n}\n.link-success:hover, .link-success:focus {\n color: #146c43;\n}\n\n.link-info {\n color: #0dcaf0;\n}\n.link-info:hover, .link-info:focus {\n color: #3dd5f3;\n}\n\n.link-warning {\n color: #ffc107;\n}\n.link-warning:hover, .link-warning:focus {\n color: #ffcd39;\n}\n\n.link-danger {\n color: #dc3545;\n}\n.link-danger:hover, .link-danger:focus {\n color: #b02a37;\n}\n\n.link-light {\n color: #f8f9fa;\n}\n.link-light:hover, .link-light:focus {\n color: #f9fafb;\n}\n\n.link-dark {\n color: #212529;\n}\n.link-dark:hover, .link-dark:focus {\n color: #1a1e21;\n}\n\n.ratio {\n position: relative;\n width: 100%;\n}\n.ratio::before {\n display: block;\n padding-top: var(--bs-aspect-ratio);\n content: \"\";\n}\n.ratio > * {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.ratio-1x1 {\n --bs-aspect-ratio: 100%;\n}\n\n.ratio-4x3 {\n --bs-aspect-ratio: calc(3 / 4 * 100%);\n}\n\n.ratio-16x9 {\n --bs-aspect-ratio: calc(9 / 16 * 100%);\n}\n\n.ratio-21x9 {\n --bs-aspect-ratio: calc(9 / 21 * 100%);\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n.sticky-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n}\n\n@media (min-width: 576px) {\n .sticky-sm-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 768px) {\n .sticky-md-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 992px) {\n .sticky-lg-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 1200px) {\n .sticky-xl-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 1400px) {\n .sticky-xxl-top {\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n.visually-hidden,\n.visually-hidden-focusable:not(:focus):not(:focus-within) {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n content: \"\";\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-start {\n float: left !important;\n}\n\n.float-end {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.overflow-visible {\n overflow: visible !important;\n}\n\n.overflow-scroll {\n overflow: scroll !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: -webkit-sticky !important;\n position: sticky !important;\n}\n\n.top-0 {\n top: 0 !important;\n}\n\n.top-50 {\n top: 50% !important;\n}\n\n.top-100 {\n top: 100% !important;\n}\n\n.bottom-0 {\n bottom: 0 !important;\n}\n\n.bottom-50 {\n bottom: 50% !important;\n}\n\n.bottom-100 {\n bottom: 100% !important;\n}\n\n.start-0 {\n left: 0 !important;\n}\n\n.start-50 {\n left: 50% !important;\n}\n\n.start-100 {\n left: 100% !important;\n}\n\n.end-0 {\n right: 0 !important;\n}\n\n.end-50 {\n right: 50% !important;\n}\n\n.end-100 {\n right: 100% !important;\n}\n\n.translate-middle {\n transform: translate(-50%, -50%) !important;\n}\n\n.translate-middle-x {\n transform: translateX(-50%) !important;\n}\n\n.translate-middle-y {\n transform: translateY(-50%) !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-end {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-end-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-start {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-start-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #0d6efd !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #198754 !important;\n}\n\n.border-info {\n border-color: #0dcaf0 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #212529 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.border-1 {\n border-width: 1px !important;\n}\n\n.border-2 {\n border-width: 2px !important;\n}\n\n.border-3 {\n border-width: 3px !important;\n}\n\n.border-4 {\n border-width: 4px !important;\n}\n\n.border-5 {\n border-width: 5px !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.gap-0 {\n gap: 0 !important;\n}\n\n.gap-1 {\n gap: 0.25rem !important;\n}\n\n.gap-2 {\n gap: 0.5rem !important;\n}\n\n.gap-3 {\n gap: 1rem !important;\n}\n\n.gap-4 {\n gap: 1.5rem !important;\n}\n\n.gap-5 {\n gap: 3rem !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.me-0 {\n margin-right: 0 !important;\n}\n\n.me-1 {\n margin-right: 0.25rem !important;\n}\n\n.me-2 {\n margin-right: 0.5rem !important;\n}\n\n.me-3 {\n margin-right: 1rem !important;\n}\n\n.me-4 {\n margin-right: 1.5rem !important;\n}\n\n.me-5 {\n margin-right: 3rem !important;\n}\n\n.me-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ms-0 {\n margin-left: 0 !important;\n}\n\n.ms-1 {\n margin-left: 0.25rem !important;\n}\n\n.ms-2 {\n margin-left: 0.5rem !important;\n}\n\n.ms-3 {\n margin-left: 1rem !important;\n}\n\n.ms-4 {\n margin-left: 1.5rem !important;\n}\n\n.ms-5 {\n margin-left: 3rem !important;\n}\n\n.ms-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pe-0 {\n padding-right: 0 !important;\n}\n\n.pe-1 {\n padding-right: 0.25rem !important;\n}\n\n.pe-2 {\n padding-right: 0.5rem !important;\n}\n\n.pe-3 {\n padding-right: 1rem !important;\n}\n\n.pe-4 {\n padding-right: 1.5rem !important;\n}\n\n.pe-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.ps-0 {\n padding-left: 0 !important;\n}\n\n.ps-1 {\n padding-left: 0.25rem !important;\n}\n\n.ps-2 {\n padding-left: 0.5rem !important;\n}\n\n.ps-3 {\n padding-left: 1rem !important;\n}\n\n.ps-4 {\n padding-left: 1.5rem !important;\n}\n\n.ps-5 {\n padding-left: 3rem !important;\n}\n\n.font-monospace {\n font-family: var(--bs-font-monospace) !important;\n}\n\n.fs-1 {\n font-size: calc(1.375rem + 1.5vw) !important;\n}\n\n.fs-2 {\n font-size: calc(1.325rem + 0.9vw) !important;\n}\n\n.fs-3 {\n font-size: calc(1.3rem + 0.6vw) !important;\n}\n\n.fs-4 {\n font-size: calc(1.275rem + 0.3vw) !important;\n}\n\n.fs-5 {\n font-size: 1.25rem !important;\n}\n\n.fs-6 {\n font-size: 1rem !important;\n}\n\n.fst-italic {\n font-style: italic !important;\n}\n\n.fst-normal {\n font-style: normal !important;\n}\n\n.fw-light {\n font-weight: 300 !important;\n}\n\n.fw-lighter {\n font-weight: lighter !important;\n}\n\n.fw-normal {\n font-weight: 400 !important;\n}\n\n.fw-bold {\n font-weight: 700 !important;\n}\n\n.fw-bolder {\n font-weight: bolder !important;\n}\n\n.lh-1 {\n line-height: 1 !important;\n}\n\n.lh-sm {\n line-height: 1.25 !important;\n}\n\n.lh-base {\n line-height: 1.5 !important;\n}\n\n.lh-lg {\n line-height: 2 !important;\n}\n\n.text-start {\n text-align: left !important;\n}\n\n.text-end {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-decoration-underline {\n text-decoration: underline !important;\n}\n\n.text-decoration-line-through {\n text-decoration: line-through !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n/* rtl:begin:remove */\n.text-break {\n word-wrap: break-word !important;\n word-break: break-word !important;\n}\n\n/* rtl:end:remove */\n.text-primary {\n color: #0d6efd !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\n.text-success {\n color: #198754 !important;\n}\n\n.text-info {\n color: #0dcaf0 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\n.text-dark {\n color: #212529 !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.bg-primary {\n background-color: #0d6efd !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\n.bg-success {\n background-color: #198754 !important;\n}\n\n.bg-info {\n background-color: #0dcaf0 !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\n.bg-dark {\n background-color: #212529 !important;\n}\n\n.bg-body {\n background-color: #fff !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.bg-gradient {\n background-image: var(--bs-gradient) !important;\n}\n\n.user-select-all {\n -webkit-user-select: all !important;\n -moz-user-select: all !important;\n user-select: all !important;\n}\n\n.user-select-auto {\n -webkit-user-select: auto !important;\n -moz-user-select: auto !important;\n user-select: auto !important;\n}\n\n.user-select-none {\n -webkit-user-select: none !important;\n -moz-user-select: none !important;\n user-select: none !important;\n}\n\n.pe-none {\n pointer-events: none !important;\n}\n\n.pe-auto {\n pointer-events: auto !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-1 {\n border-radius: 0.2rem !important;\n}\n\n.rounded-2 {\n border-radius: 0.25rem !important;\n}\n\n.rounded-3 {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-end {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-start {\n border-bottom-left-radius: 0.25rem !important;\n border-top-left-radius: 0.25rem !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-start {\n float: left !important;\n }\n\n .float-sm-end {\n float: right !important;\n }\n\n .float-sm-none {\n float: none !important;\n }\n\n .d-sm-inline {\n display: inline !important;\n }\n\n .d-sm-inline-block {\n display: inline-block !important;\n }\n\n .d-sm-block {\n display: block !important;\n }\n\n .d-sm-grid {\n display: grid !important;\n }\n\n .d-sm-table {\n display: table !important;\n }\n\n .d-sm-table-row {\n display: table-row !important;\n }\n\n .d-sm-table-cell {\n display: table-cell !important;\n }\n\n .d-sm-flex {\n display: flex !important;\n }\n\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n\n .d-sm-none {\n display: none !important;\n }\n\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-sm-row {\n flex-direction: row !important;\n }\n\n .flex-sm-column {\n flex-direction: column !important;\n }\n\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .gap-sm-0 {\n gap: 0 !important;\n }\n\n .gap-sm-1 {\n gap: 0.25rem !important;\n }\n\n .gap-sm-2 {\n gap: 0.5rem !important;\n }\n\n .gap-sm-3 {\n gap: 1rem !important;\n }\n\n .gap-sm-4 {\n gap: 1.5rem !important;\n }\n\n .gap-sm-5 {\n gap: 3rem !important;\n }\n\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-sm-center {\n justify-content: center !important;\n }\n\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n\n .align-items-sm-center {\n align-items: center !important;\n }\n\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n\n .align-content-sm-center {\n align-content: center !important;\n }\n\n .align-content-sm-between {\n align-content: space-between !important;\n }\n\n .align-content-sm-around {\n align-content: space-around !important;\n }\n\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n\n .align-self-sm-auto {\n align-self: auto !important;\n }\n\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n\n .align-self-sm-center {\n align-self: center !important;\n }\n\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n\n .order-sm-first {\n order: -1 !important;\n }\n\n .order-sm-0 {\n order: 0 !important;\n }\n\n .order-sm-1 {\n order: 1 !important;\n }\n\n .order-sm-2 {\n order: 2 !important;\n }\n\n .order-sm-3 {\n order: 3 !important;\n }\n\n .order-sm-4 {\n order: 4 !important;\n }\n\n .order-sm-5 {\n order: 5 !important;\n }\n\n .order-sm-last {\n order: 6 !important;\n }\n\n .m-sm-0 {\n margin: 0 !important;\n }\n\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n\n .m-sm-3 {\n margin: 1rem !important;\n }\n\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n\n .m-sm-5 {\n margin: 3rem !important;\n }\n\n .m-sm-auto {\n margin: auto !important;\n }\n\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n\n .mt-sm-auto {\n margin-top: auto !important;\n }\n\n .me-sm-0 {\n margin-right: 0 !important;\n }\n\n .me-sm-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-sm-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-sm-3 {\n margin-right: 1rem !important;\n }\n\n .me-sm-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-sm-5 {\n margin-right: 3rem !important;\n }\n\n .me-sm-auto {\n margin-right: auto !important;\n }\n\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n\n .ms-sm-0 {\n margin-left: 0 !important;\n }\n\n .ms-sm-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-sm-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-sm-3 {\n margin-left: 1rem !important;\n }\n\n .ms-sm-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-sm-5 {\n margin-left: 3rem !important;\n }\n\n .ms-sm-auto {\n margin-left: auto !important;\n }\n\n .p-sm-0 {\n padding: 0 !important;\n }\n\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n\n .p-sm-3 {\n padding: 1rem !important;\n }\n\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n\n .p-sm-5 {\n padding: 3rem !important;\n }\n\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n\n .pe-sm-0 {\n padding-right: 0 !important;\n }\n\n .pe-sm-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-sm-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-sm-3 {\n padding-right: 1rem !important;\n }\n\n .pe-sm-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-sm-5 {\n padding-right: 3rem !important;\n }\n\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-sm-0 {\n padding-left: 0 !important;\n }\n\n .ps-sm-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-sm-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-sm-3 {\n padding-left: 1rem !important;\n }\n\n .ps-sm-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-sm-5 {\n padding-left: 3rem !important;\n }\n\n .text-sm-start {\n text-align: left !important;\n }\n\n .text-sm-end {\n text-align: right !important;\n }\n\n .text-sm-center {\n text-align: center !important;\n }\n}\n@media (min-width: 768px) {\n .float-md-start {\n float: left !important;\n }\n\n .float-md-end {\n float: right !important;\n }\n\n .float-md-none {\n float: none !important;\n }\n\n .d-md-inline {\n display: inline !important;\n }\n\n .d-md-inline-block {\n display: inline-block !important;\n }\n\n .d-md-block {\n display: block !important;\n }\n\n .d-md-grid {\n display: grid !important;\n }\n\n .d-md-table {\n display: table !important;\n }\n\n .d-md-table-row {\n display: table-row !important;\n }\n\n .d-md-table-cell {\n display: table-cell !important;\n }\n\n .d-md-flex {\n display: flex !important;\n }\n\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n\n .d-md-none {\n display: none !important;\n }\n\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-md-row {\n flex-direction: row !important;\n }\n\n .flex-md-column {\n flex-direction: column !important;\n }\n\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .gap-md-0 {\n gap: 0 !important;\n }\n\n .gap-md-1 {\n gap: 0.25rem !important;\n }\n\n .gap-md-2 {\n gap: 0.5rem !important;\n }\n\n .gap-md-3 {\n gap: 1rem !important;\n }\n\n .gap-md-4 {\n gap: 1.5rem !important;\n }\n\n .gap-md-5 {\n gap: 3rem !important;\n }\n\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-md-center {\n justify-content: center !important;\n }\n\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-md-start {\n align-items: flex-start !important;\n }\n\n .align-items-md-end {\n align-items: flex-end !important;\n }\n\n .align-items-md-center {\n align-items: center !important;\n }\n\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n\n .align-content-md-start {\n align-content: flex-start !important;\n }\n\n .align-content-md-end {\n align-content: flex-end !important;\n }\n\n .align-content-md-center {\n align-content: center !important;\n }\n\n .align-content-md-between {\n align-content: space-between !important;\n }\n\n .align-content-md-around {\n align-content: space-around !important;\n }\n\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n\n .align-self-md-auto {\n align-self: auto !important;\n }\n\n .align-self-md-start {\n align-self: flex-start !important;\n }\n\n .align-self-md-end {\n align-self: flex-end !important;\n }\n\n .align-self-md-center {\n align-self: center !important;\n }\n\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n\n .order-md-first {\n order: -1 !important;\n }\n\n .order-md-0 {\n order: 0 !important;\n }\n\n .order-md-1 {\n order: 1 !important;\n }\n\n .order-md-2 {\n order: 2 !important;\n }\n\n .order-md-3 {\n order: 3 !important;\n }\n\n .order-md-4 {\n order: 4 !important;\n }\n\n .order-md-5 {\n order: 5 !important;\n }\n\n .order-md-last {\n order: 6 !important;\n }\n\n .m-md-0 {\n margin: 0 !important;\n }\n\n .m-md-1 {\n margin: 0.25rem !important;\n }\n\n .m-md-2 {\n margin: 0.5rem !important;\n }\n\n .m-md-3 {\n margin: 1rem !important;\n }\n\n .m-md-4 {\n margin: 1.5rem !important;\n }\n\n .m-md-5 {\n margin: 3rem !important;\n }\n\n .m-md-auto {\n margin: auto !important;\n }\n\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-md-0 {\n margin-top: 0 !important;\n }\n\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n\n .mt-md-auto {\n margin-top: auto !important;\n }\n\n .me-md-0 {\n margin-right: 0 !important;\n }\n\n .me-md-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-md-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-md-3 {\n margin-right: 1rem !important;\n }\n\n .me-md-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-md-5 {\n margin-right: 3rem !important;\n }\n\n .me-md-auto {\n margin-right: auto !important;\n }\n\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n\n .ms-md-0 {\n margin-left: 0 !important;\n }\n\n .ms-md-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-md-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-md-3 {\n margin-left: 1rem !important;\n }\n\n .ms-md-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-md-5 {\n margin-left: 3rem !important;\n }\n\n .ms-md-auto {\n margin-left: auto !important;\n }\n\n .p-md-0 {\n padding: 0 !important;\n }\n\n .p-md-1 {\n padding: 0.25rem !important;\n }\n\n .p-md-2 {\n padding: 0.5rem !important;\n }\n\n .p-md-3 {\n padding: 1rem !important;\n }\n\n .p-md-4 {\n padding: 1.5rem !important;\n }\n\n .p-md-5 {\n padding: 3rem !important;\n }\n\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-md-0 {\n padding-top: 0 !important;\n }\n\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n\n .pe-md-0 {\n padding-right: 0 !important;\n }\n\n .pe-md-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-md-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-md-3 {\n padding-right: 1rem !important;\n }\n\n .pe-md-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-md-5 {\n padding-right: 3rem !important;\n }\n\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-md-0 {\n padding-left: 0 !important;\n }\n\n .ps-md-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-md-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-md-3 {\n padding-left: 1rem !important;\n }\n\n .ps-md-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-md-5 {\n padding-left: 3rem !important;\n }\n\n .text-md-start {\n text-align: left !important;\n }\n\n .text-md-end {\n text-align: right !important;\n }\n\n .text-md-center {\n text-align: center !important;\n }\n}\n@media (min-width: 992px) {\n .float-lg-start {\n float: left !important;\n }\n\n .float-lg-end {\n float: right !important;\n }\n\n .float-lg-none {\n float: none !important;\n }\n\n .d-lg-inline {\n display: inline !important;\n }\n\n .d-lg-inline-block {\n display: inline-block !important;\n }\n\n .d-lg-block {\n display: block !important;\n }\n\n .d-lg-grid {\n display: grid !important;\n }\n\n .d-lg-table {\n display: table !important;\n }\n\n .d-lg-table-row {\n display: table-row !important;\n }\n\n .d-lg-table-cell {\n display: table-cell !important;\n }\n\n .d-lg-flex {\n display: flex !important;\n }\n\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n\n .d-lg-none {\n display: none !important;\n }\n\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-lg-row {\n flex-direction: row !important;\n }\n\n .flex-lg-column {\n flex-direction: column !important;\n }\n\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .gap-lg-0 {\n gap: 0 !important;\n }\n\n .gap-lg-1 {\n gap: 0.25rem !important;\n }\n\n .gap-lg-2 {\n gap: 0.5rem !important;\n }\n\n .gap-lg-3 {\n gap: 1rem !important;\n }\n\n .gap-lg-4 {\n gap: 1.5rem !important;\n }\n\n .gap-lg-5 {\n gap: 3rem !important;\n }\n\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-lg-center {\n justify-content: center !important;\n }\n\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n\n .align-items-lg-center {\n align-items: center !important;\n }\n\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n\n .align-content-lg-center {\n align-content: center !important;\n }\n\n .align-content-lg-between {\n align-content: space-between !important;\n }\n\n .align-content-lg-around {\n align-content: space-around !important;\n }\n\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n\n .align-self-lg-auto {\n align-self: auto !important;\n }\n\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n\n .align-self-lg-center {\n align-self: center !important;\n }\n\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n\n .order-lg-first {\n order: -1 !important;\n }\n\n .order-lg-0 {\n order: 0 !important;\n }\n\n .order-lg-1 {\n order: 1 !important;\n }\n\n .order-lg-2 {\n order: 2 !important;\n }\n\n .order-lg-3 {\n order: 3 !important;\n }\n\n .order-lg-4 {\n order: 4 !important;\n }\n\n .order-lg-5 {\n order: 5 !important;\n }\n\n .order-lg-last {\n order: 6 !important;\n }\n\n .m-lg-0 {\n margin: 0 !important;\n }\n\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n\n .m-lg-3 {\n margin: 1rem !important;\n }\n\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n\n .m-lg-5 {\n margin: 3rem !important;\n }\n\n .m-lg-auto {\n margin: auto !important;\n }\n\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n\n .mt-lg-auto {\n margin-top: auto !important;\n }\n\n .me-lg-0 {\n margin-right: 0 !important;\n }\n\n .me-lg-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-lg-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-lg-3 {\n margin-right: 1rem !important;\n }\n\n .me-lg-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-lg-5 {\n margin-right: 3rem !important;\n }\n\n .me-lg-auto {\n margin-right: auto !important;\n }\n\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n\n .ms-lg-0 {\n margin-left: 0 !important;\n }\n\n .ms-lg-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-lg-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-lg-3 {\n margin-left: 1rem !important;\n }\n\n .ms-lg-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-lg-5 {\n margin-left: 3rem !important;\n }\n\n .ms-lg-auto {\n margin-left: auto !important;\n }\n\n .p-lg-0 {\n padding: 0 !important;\n }\n\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n\n .p-lg-3 {\n padding: 1rem !important;\n }\n\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n\n .p-lg-5 {\n padding: 3rem !important;\n }\n\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n\n .pe-lg-0 {\n padding-right: 0 !important;\n }\n\n .pe-lg-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-lg-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-lg-3 {\n padding-right: 1rem !important;\n }\n\n .pe-lg-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-lg-5 {\n padding-right: 3rem !important;\n }\n\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-lg-0 {\n padding-left: 0 !important;\n }\n\n .ps-lg-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-lg-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-lg-3 {\n padding-left: 1rem !important;\n }\n\n .ps-lg-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-lg-5 {\n padding-left: 3rem !important;\n }\n\n .text-lg-start {\n text-align: left !important;\n }\n\n .text-lg-end {\n text-align: right !important;\n }\n\n .text-lg-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1200px) {\n .float-xl-start {\n float: left !important;\n }\n\n .float-xl-end {\n float: right !important;\n }\n\n .float-xl-none {\n float: none !important;\n }\n\n .d-xl-inline {\n display: inline !important;\n }\n\n .d-xl-inline-block {\n display: inline-block !important;\n }\n\n .d-xl-block {\n display: block !important;\n }\n\n .d-xl-grid {\n display: grid !important;\n }\n\n .d-xl-table {\n display: table !important;\n }\n\n .d-xl-table-row {\n display: table-row !important;\n }\n\n .d-xl-table-cell {\n display: table-cell !important;\n }\n\n .d-xl-flex {\n display: flex !important;\n }\n\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n\n .d-xl-none {\n display: none !important;\n }\n\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-xl-row {\n flex-direction: row !important;\n }\n\n .flex-xl-column {\n flex-direction: column !important;\n }\n\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .gap-xl-0 {\n gap: 0 !important;\n }\n\n .gap-xl-1 {\n gap: 0.25rem !important;\n }\n\n .gap-xl-2 {\n gap: 0.5rem !important;\n }\n\n .gap-xl-3 {\n gap: 1rem !important;\n }\n\n .gap-xl-4 {\n gap: 1.5rem !important;\n }\n\n .gap-xl-5 {\n gap: 3rem !important;\n }\n\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-xl-center {\n justify-content: center !important;\n }\n\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n\n .align-items-xl-center {\n align-items: center !important;\n }\n\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n\n .align-content-xl-center {\n align-content: center !important;\n }\n\n .align-content-xl-between {\n align-content: space-between !important;\n }\n\n .align-content-xl-around {\n align-content: space-around !important;\n }\n\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n\n .align-self-xl-auto {\n align-self: auto !important;\n }\n\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n\n .align-self-xl-center {\n align-self: center !important;\n }\n\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n\n .order-xl-first {\n order: -1 !important;\n }\n\n .order-xl-0 {\n order: 0 !important;\n }\n\n .order-xl-1 {\n order: 1 !important;\n }\n\n .order-xl-2 {\n order: 2 !important;\n }\n\n .order-xl-3 {\n order: 3 !important;\n }\n\n .order-xl-4 {\n order: 4 !important;\n }\n\n .order-xl-5 {\n order: 5 !important;\n }\n\n .order-xl-last {\n order: 6 !important;\n }\n\n .m-xl-0 {\n margin: 0 !important;\n }\n\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n\n .m-xl-3 {\n margin: 1rem !important;\n }\n\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n\n .m-xl-5 {\n margin: 3rem !important;\n }\n\n .m-xl-auto {\n margin: auto !important;\n }\n\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n\n .mt-xl-auto {\n margin-top: auto !important;\n }\n\n .me-xl-0 {\n margin-right: 0 !important;\n }\n\n .me-xl-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-xl-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-xl-3 {\n margin-right: 1rem !important;\n }\n\n .me-xl-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-xl-5 {\n margin-right: 3rem !important;\n }\n\n .me-xl-auto {\n margin-right: auto !important;\n }\n\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n\n .ms-xl-0 {\n margin-left: 0 !important;\n }\n\n .ms-xl-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-xl-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-xl-3 {\n margin-left: 1rem !important;\n }\n\n .ms-xl-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-xl-5 {\n margin-left: 3rem !important;\n }\n\n .ms-xl-auto {\n margin-left: auto !important;\n }\n\n .p-xl-0 {\n padding: 0 !important;\n }\n\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n\n .p-xl-3 {\n padding: 1rem !important;\n }\n\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n\n .p-xl-5 {\n padding: 3rem !important;\n }\n\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n\n .pe-xl-0 {\n padding-right: 0 !important;\n }\n\n .pe-xl-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-xl-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-xl-3 {\n padding-right: 1rem !important;\n }\n\n .pe-xl-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-xl-5 {\n padding-right: 3rem !important;\n }\n\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-xl-0 {\n padding-left: 0 !important;\n }\n\n .ps-xl-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-xl-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-xl-3 {\n padding-left: 1rem !important;\n }\n\n .ps-xl-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-xl-5 {\n padding-left: 3rem !important;\n }\n\n .text-xl-start {\n text-align: left !important;\n }\n\n .text-xl-end {\n text-align: right !important;\n }\n\n .text-xl-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1400px) {\n .float-xxl-start {\n float: left !important;\n }\n\n .float-xxl-end {\n float: right !important;\n }\n\n .float-xxl-none {\n float: none !important;\n }\n\n .d-xxl-inline {\n display: inline !important;\n }\n\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n\n .d-xxl-block {\n display: block !important;\n }\n\n .d-xxl-grid {\n display: grid !important;\n }\n\n .d-xxl-table {\n display: table !important;\n }\n\n .d-xxl-table-row {\n display: table-row !important;\n }\n\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n\n .d-xxl-flex {\n display: flex !important;\n }\n\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n\n .d-xxl-none {\n display: none !important;\n }\n\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-xxl-row {\n flex-direction: row !important;\n }\n\n .flex-xxl-column {\n flex-direction: column !important;\n }\n\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .gap-xxl-0 {\n gap: 0 !important;\n }\n\n .gap-xxl-1 {\n gap: 0.25rem !important;\n }\n\n .gap-xxl-2 {\n gap: 0.5rem !important;\n }\n\n .gap-xxl-3 {\n gap: 1rem !important;\n }\n\n .gap-xxl-4 {\n gap: 1.5rem !important;\n }\n\n .gap-xxl-5 {\n gap: 3rem !important;\n }\n\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n\n .align-items-xxl-center {\n align-items: center !important;\n }\n\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n\n .align-content-xxl-center {\n align-content: center !important;\n }\n\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n\n .align-self-xxl-center {\n align-self: center !important;\n }\n\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n\n .order-xxl-first {\n order: -1 !important;\n }\n\n .order-xxl-0 {\n order: 0 !important;\n }\n\n .order-xxl-1 {\n order: 1 !important;\n }\n\n .order-xxl-2 {\n order: 2 !important;\n }\n\n .order-xxl-3 {\n order: 3 !important;\n }\n\n .order-xxl-4 {\n order: 4 !important;\n }\n\n .order-xxl-5 {\n order: 5 !important;\n }\n\n .order-xxl-last {\n order: 6 !important;\n }\n\n .m-xxl-0 {\n margin: 0 !important;\n }\n\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n\n .m-xxl-3 {\n margin: 1rem !important;\n }\n\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n\n .m-xxl-5 {\n margin: 3rem !important;\n }\n\n .m-xxl-auto {\n margin: auto !important;\n }\n\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n\n .me-xxl-0 {\n margin-right: 0 !important;\n }\n\n .me-xxl-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-xxl-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-xxl-3 {\n margin-right: 1rem !important;\n }\n\n .me-xxl-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-xxl-5 {\n margin-right: 3rem !important;\n }\n\n .me-xxl-auto {\n margin-right: auto !important;\n }\n\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n\n .ms-xxl-0 {\n margin-left: 0 !important;\n }\n\n .ms-xxl-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-xxl-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-xxl-3 {\n margin-left: 1rem !important;\n }\n\n .ms-xxl-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-xxl-5 {\n margin-left: 3rem !important;\n }\n\n .ms-xxl-auto {\n margin-left: auto !important;\n }\n\n .p-xxl-0 {\n padding: 0 !important;\n }\n\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n\n .p-xxl-3 {\n padding: 1rem !important;\n }\n\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n\n .p-xxl-5 {\n padding: 3rem !important;\n }\n\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n\n .pe-xxl-0 {\n padding-right: 0 !important;\n }\n\n .pe-xxl-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-xxl-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-xxl-3 {\n padding-right: 1rem !important;\n }\n\n .pe-xxl-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-xxl-5 {\n padding-right: 3rem !important;\n }\n\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-xxl-0 {\n padding-left: 0 !important;\n }\n\n .ps-xxl-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-xxl-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-xxl-3 {\n padding-left: 1rem !important;\n }\n\n .ps-xxl-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-xxl-5 {\n padding-left: 3rem !important;\n }\n\n .text-xxl-start {\n text-align: left !important;\n }\n\n .text-xxl-end {\n text-align: right !important;\n }\n\n .text-xxl-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1200px) {\n .fs-1 {\n font-size: 2.5rem !important;\n }\n\n .fs-2 {\n font-size: 2rem !important;\n }\n\n .fs-3 {\n font-size: 1.75rem !important;\n }\n\n .fs-4 {\n font-size: 1.5rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n\n .d-print-inline-block {\n display: inline-block !important;\n }\n\n .d-print-block {\n display: block !important;\n }\n\n .d-print-grid {\n display: grid !important;\n }\n\n .d-print-table {\n display: table !important;\n }\n\n .d-print-table-row {\n display: table-row !important;\n }\n\n .d-print-table-cell {\n display: table-cell !important;\n }\n\n .d-print-flex {\n display: flex !important;\n }\n\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/master/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != number or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: unit($rfs-base-value);\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n $rfs-base-value: $rfs-base-value / ($rfs-base-value * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n @if $rfs-two-dimensional {\n @if $rfs-mode == max-media-query {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n @content;\n }\n }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n @if $rfs-class == disable and $rfs-mode == max-media-query {\n // Adding an extra class increases specificity, which prevents the media query to override the property\n &,\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @else if $rfs-class == enable and $rfs-mode == min-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n @if $rfs-class == enable {\n @if $rfs-mode == min-media-query {\n @content;\n }\n\n @include _rfs-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n }\n @else {\n @if $rfs-class == disable and $rfs-mode == min-media-query {\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @include _rfs-media-query {\n @content;\n }\n }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n @if $unit == px {\n // Convert to rem if needed\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / ($value * 0 + $rfs-rem-value)}rem, $value);\n }\n @else if $unit == rem {\n // Convert to px if needed\n $val: $val + ' ' + if($rfs-unit == px, #{$value / ($value * 0 + 1) * $rfs-rem-value}px, $value);\n }\n @else {\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n $val: $val + ' ' + $value;\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: '';\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + ' 0';\n }\n\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $unit or $unit != px and $unit != rem {\n $val: $val + ' ' + $value;\n }\n\n @else {\n // Remove unit from $value for calculations\n $value: $value / ($value * 0 + if($unit == px, 1, 1 / $rfs-rem-value));\n\n // Only add the media query if the value is greater than the minimum value\n @if abs($value) <= $rfs-base-value or not $enable-rfs {\n $val: $val + ' ' + if($rfs-unit == rem, #{$value / $rfs-rem-value}rem, #{$value}px);\n }\n @else {\n // Calculate the minimum value\n $value-min: $rfs-base-value + (abs($value) - $rfs-base-value) / $rfs-factor;\n\n // Calculate difference between $value and the minimum value\n $value-diff: abs($value) - $value-min;\n\n // Base value formatting\n $min-width: if($rfs-unit == rem, #{$value-min / $rfs-rem-value}rem, #{$value-min}px);\n\n // Use negative value if needed\n $min-width: if($value < 0, -$min-width, $min-width);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{$value-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n // Return the calculated value\n $val: $val + ' calc(' + $min-width + if($value < 0, ' - ', ' + ') + $variable-width + ')';\n }\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n @if $values != null {\n $val: rfs-value($values);\n $fluidVal: rfs-fluid-value($values);\n\n // Do not print the media query if responsive & non-responsive values are the same\n @if $val == $fluidVal {\n #{$property}: $val;\n }\n @else {\n @include _rfs-rule {\n #{$property}: if($rfs-mode == max-media-query, $val, $fluidVal);\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n\n @include _rfs-media-query-rule {\n #{$property}: if($rfs-mode == max-media-query, $fluidVal, $val);\n }\n }\n }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n @include rfs($value);\n}\n\n@mixin padding($value) {\n @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n @include rfs($value, margin-left);\n}\n","// stylelint-disable property-disallowed-list\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n $return: ();\n @each $value in $radius {\n @if type-of($value) == number {\n $return: append($return, max($value, 0));\n } @else {\n $return: append($return, $value);\n }\n }\n @return $return;\n}\n\n// scss-docs-start border-radius-mixins\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n @if $enable-rounded {\n border-radius: valid-radius($radius);\n }\n @else if $fallback-border-radius != false {\n border-radius: $fallback-border-radius;\n }\n}\n\n@mixin border-top-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-end-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-start-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-start-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-end-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-end-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-start-radius($radius: $border-radius) {\n @if $enable-rounded {\n border-bottom-left-radius: valid-radius($radius);\n }\n}\n// scss-docs-end border-radius-mixins\n","//\n// Headings\n//\n.h1 {\n @extend h1;\n}\n\n.h2 {\n @extend h2;\n}\n\n.h3 {\n @extend h3;\n}\n\n.h4 {\n @extend h4;\n}\n\n.h5 {\n @extend h5;\n}\n\n.h6 {\n @extend h6;\n}\n\n\n.lead {\n @include font-size($lead-font-size);\n font-weight: $lead-font-weight;\n}\n\n// Type display classes\n@each $display, $font-size in $display-font-sizes {\n .display-#{$display} {\n @include font-size($font-size);\n font-weight: $display-font-weight;\n line-height: $display-line-height;\n }\n}\n\n//\n// Emphasis\n//\n.small {\n @extend small;\n}\n\n.mark {\n @extend mark;\n}\n\n//\n// Lists\n//\n\n.list-unstyled {\n @include list-unstyled();\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n @include list-unstyled();\n}\n.list-inline-item {\n display: inline-block;\n\n &:not(:last-child) {\n margin-right: $list-inline-padding;\n }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n @include font-size($initialism-font-size);\n text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n margin-bottom: $blockquote-margin-y;\n @include font-size($blockquote-font-size);\n\n > :last-child {\n margin-bottom: 0;\n }\n}\n\n.blockquote-footer {\n margin-top: -$blockquote-margin-y;\n margin-bottom: $blockquote-margin-y;\n @include font-size($blockquote-footer-font-size);\n color: $blockquote-footer-color;\n\n &::before {\n content: \"\\2014\\00A0\"; // em dash, nbsp\n }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n","// Responsive images (ensure images don't scale beyond their parents)\n//\n// This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n// We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n// and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n// which weren't expecting the images within themselves to be involuntarily resized.\n// See also https://github.com/twbs/bootstrap/issues/18178\n.img-fluid {\n @include img-fluid();\n}\n\n\n// Image thumbnails\n.img-thumbnail {\n padding: $thumbnail-padding;\n background-color: $thumbnail-bg;\n border: $thumbnail-border-width solid $thumbnail-border-color;\n @include border-radius($thumbnail-border-radius);\n @include box-shadow($thumbnail-box-shadow);\n\n // Keep them at most 100% wide\n @include img-fluid();\n}\n\n//\n// Figures\n//\n\n.figure {\n // Ensures the caption's text aligns with the image.\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: $spacer / 2;\n line-height: 1;\n}\n\n.figure-caption {\n @include font-size($figure-caption-font-size);\n color: $figure-caption-color;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n // Part 1: Set a maximum relative to the parent\n max-width: 100%;\n // Part 2: Override the height to auto, otherwise images will be stretched\n // when setting a width and height attribute on the img element.\n height: auto;\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n width: 100%;\n padding-right: var(--#{$variable-prefix}gutter-x, #{$gutter});\n padding-left: var(--#{$variable-prefix}gutter-x, #{$gutter});\n margin-right: auto;\n margin-left: auto;\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","/// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --#{$variable-prefix}gutter-x: #{$gutter};\n --#{$variable-prefix}gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--#{$variable-prefix}gutter-y) * -1); // stylelint-disable-line function-disallowed-list\n margin-right: calc(var(--#{$variable-prefix}gutter-x) / -2); // stylelint-disable-line function-disallowed-list\n margin-left: calc(var(--#{$variable-prefix}gutter-x) / -2); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--#{$variable-prefix}gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$variable-prefix}gutter-x) / 2); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$variable-prefix}gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: percentage($size / $columns);\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: $size / $columns;\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: 100% / $count;\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --#{$variable-prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$variable-prefix}gutter-y: #{$value};\n }\n }\n }\n }\n}\n","//\n// Basic Bootstrap table\n//\n\n.table {\n --#{$variable-prefix}table-bg: #{$table-bg};\n --#{$variable-prefix}table-accent-bg: #{$table-bg};\n --#{$variable-prefix}table-striped-color: #{$table-striped-color};\n --#{$variable-prefix}table-striped-bg: #{$table-striped-bg};\n --#{$variable-prefix}table-active-color: #{$table-active-color};\n --#{$variable-prefix}table-active-bg: #{$table-active-bg};\n --#{$variable-prefix}table-hover-color: #{$table-hover-color};\n --#{$variable-prefix}table-hover-bg: #{$table-hover-bg};\n\n width: 100%;\n margin-bottom: $spacer;\n color: $table-color;\n vertical-align: $table-cell-vertical-align;\n border-color: $table-border-color;\n\n // Target th & td\n // We need the child combinator to prevent styles leaking to nested tables which doesn't have a `.table` class.\n // We use the universal selectors here to simplify the selector (else we would need 6 different selectors).\n // Another advantage is that this generates less code and makes the selector less specific making it easier to override.\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n padding: $table-cell-padding-y $table-cell-padding-x;\n background-color: var(--#{$variable-prefix}table-bg);\n border-bottom-width: $table-border-width;\n box-shadow: inset 0 0 0 9999px var(--#{$variable-prefix}table-accent-bg);\n }\n\n > tbody {\n vertical-align: inherit;\n }\n\n > thead {\n vertical-align: bottom;\n }\n\n // Highlight border color between thead, tbody and tfoot.\n > :not(:last-child) > :last-child > * {\n border-bottom-color: $table-group-separator-color;\n }\n}\n\n\n//\n// Change placement of captions with a class\n//\n\n.caption-top {\n caption-side: top;\n}\n\n\n//\n// Condensed table w/ half padding\n//\n\n.table-sm {\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n padding: $table-cell-padding-y-sm $table-cell-padding-x-sm;\n }\n}\n\n\n// Border versions\n//\n// Add or remove borders all around the table and between all the columns.\n//\n// When borders are added on all sides of the cells, the corners can render odd when\n// these borders do not have the same color or if they are semi-transparent.\n// Therefor we add top and border bottoms to the `tr`s and left and right borders\n// to the `td`s or `th`s\n\n.table-bordered {\n > :not(caption) > * {\n border-width: $table-border-width 0;\n\n // stylelint-disable-next-line selector-max-universal\n > * {\n border-width: 0 $table-border-width;\n }\n }\n}\n\n.table-borderless {\n // stylelint-disable-next-line selector-max-universal\n > :not(caption) > * > * {\n border-bottom-width: 0;\n }\n}\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n > tbody > tr:nth-of-type(#{$table-striped-order}) {\n --#{$variable-prefix}table-accent-bg: var(--#{$variable-prefix}table-striped-bg);\n color: var(--#{$variable-prefix}table-striped-color);\n }\n}\n\n// Active table\n//\n// The `.table-active` class can be added to highlight rows or cells\n\n.table-active {\n --#{$variable-prefix}table-accent-bg: var(--#{$variable-prefix}table-active-bg);\n color: var(--#{$variable-prefix}table-active-color);\n}\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n > tbody > tr:hover {\n --#{$variable-prefix}table-accent-bg: var(--#{$variable-prefix}table-hover-bg);\n color: var(--#{$variable-prefix}table-hover-color);\n }\n}\n\n\n// Table variants\n//\n// Table variants set the table cell backgrounds, border colors\n// and the colors of the striped, hovered & active tables\n\n@each $color, $value in $table-variants {\n @include table-variant($color, $value);\n}\n\n// Responsive tables\n//\n// Generate series of `.table-responsive-*` classes for configuring the screen\n// size of where your table will overflow.\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @include media-breakpoint-down($breakpoint) {\n .table-responsive#{$infix} {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n }\n}\n","// scss-docs-start table-variant\n@mixin table-variant($state, $background) {\n .table-#{$state} {\n $color: color-contrast(opaque($body-bg, $background));\n $hover-bg: mix($color, $background, percentage($table-hover-bg-factor));\n $striped-bg: mix($color, $background, percentage($table-striped-bg-factor));\n $active-bg: mix($color, $background, percentage($table-active-bg-factor));\n\n --#{$variable-prefix}table-bg: #{$background};\n --#{$variable-prefix}table-striped-bg: #{$striped-bg};\n --#{$variable-prefix}table-striped-color: #{color-contrast($striped-bg)};\n --#{$variable-prefix}table-active-bg: #{$active-bg};\n --#{$variable-prefix}table-active-color: #{color-contrast($active-bg)};\n --#{$variable-prefix}table-hover-bg: #{$hover-bg};\n --#{$variable-prefix}table-hover-color: #{color-contrast($hover-bg)};\n\n color: $color;\n border-color: mix($color, $background, percentage($table-border-factor));\n }\n}\n// scss-docs-end table-variant\n","//\n// Labels\n//\n\n.form-label {\n margin-bottom: $form-label-margin-bottom;\n @include font-size($form-label-font-size);\n font-style: $form-label-font-style;\n font-weight: $form-label-font-weight;\n color: $form-label-color;\n}\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n padding-top: add($input-padding-y, $input-border-width);\n padding-bottom: add($input-padding-y, $input-border-width);\n margin-bottom: 0; // Override the `<legend>` default\n @include font-size(inherit); // Override the `<legend>` default\n font-style: $form-label-font-style;\n font-weight: $form-label-font-weight;\n line-height: $input-line-height;\n color: $form-label-color;\n}\n\n.col-form-label-lg {\n padding-top: add($input-padding-y-lg, $input-border-width);\n padding-bottom: add($input-padding-y-lg, $input-border-width);\n @include font-size($input-font-size-lg);\n}\n\n.col-form-label-sm {\n padding-top: add($input-padding-y-sm, $input-border-width);\n padding-bottom: add($input-padding-y-sm, $input-border-width);\n @include font-size($input-font-size-sm);\n}\n","//\n// Form text\n//\n\n.form-text {\n margin-top: $form-text-margin-top;\n @include font-size($form-text-font-size);\n font-style: $form-text-font-style;\n font-weight: $form-text-font-weight;\n color: $form-text-color;\n}\n","//\n// General form controls (plus a few specific high-level interventions)\n//\n\n.form-control {\n display: block;\n width: 100%;\n padding: $input-padding-y $input-padding-x;\n font-family: $input-font-family;\n @include font-size($input-font-size);\n font-weight: $input-font-weight;\n line-height: $input-line-height;\n color: $input-color;\n background-color: $input-bg;\n background-clip: padding-box;\n border: $input-border-width solid $input-border-color;\n appearance: none; // Fix appearance for date inputs in Safari\n\n // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n @include border-radius($input-border-radius, 0);\n\n @include box-shadow($input-box-shadow);\n @include transition($input-transition);\n\n &[type=\"file\"] {\n overflow: hidden; // prevent pseudo element button overlap\n\n &:not(:disabled):not([readonly]) {\n cursor: pointer;\n }\n }\n\n // Customize the `:focus` state to imitate native WebKit styles.\n &:focus {\n color: $input-focus-color;\n background-color: $input-focus-bg;\n border-color: $input-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($input-box-shadow, $input-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $input-focus-box-shadow;\n }\n }\n\n // Add some height to date inputs on iOS\n // https://github.com/twbs/bootstrap/issues/23307\n // TODO: we can remove this workaround once https://bugs.webkit.org/show_bug.cgi?id=198959 is resolved\n &::-webkit-date-and-time-value {\n // Multiply line-height by 1em if it has no unit\n height: if(unit($input-line-height) == \"\", $input-line-height * 1em, $input-line-height);\n }\n\n // Placeholder\n &::placeholder {\n color: $input-placeholder-color;\n // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n opacity: 1;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &:disabled,\n &[readonly] {\n background-color: $input-disabled-bg;\n border-color: $input-disabled-border-color;\n // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n opacity: 1;\n }\n\n // File input buttons theming\n &::file-selector-button {\n padding: $input-padding-y $input-padding-x;\n margin: (-$input-padding-y) (-$input-padding-x);\n margin-inline-end: $input-padding-x;\n color: $form-file-button-color;\n @include gradient-bg($form-file-button-bg);\n pointer-events: none;\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n border-inline-end-width: $input-border-width;\n border-radius: 0; // stylelint-disable-line property-disallowed-list\n @include transition($btn-transition);\n }\n\n &:hover:not(:disabled):not([readonly])::file-selector-button {\n background-color: $form-file-button-hover-bg;\n }\n\n &::-webkit-file-upload-button {\n padding: $input-padding-y $input-padding-x;\n margin: (-$input-padding-y) (-$input-padding-x);\n margin-inline-end: $input-padding-x;\n color: $form-file-button-color;\n @include gradient-bg($form-file-button-bg);\n pointer-events: none;\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n border-inline-end-width: $input-border-width;\n border-radius: 0; // stylelint-disable-line property-disallowed-list\n @include transition($btn-transition);\n }\n\n &:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {\n background-color: $form-file-button-hover-bg;\n }\n}\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: $input-padding-y 0;\n margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n line-height: $input-line-height;\n color: $input-plaintext-color;\n background-color: transparent;\n border: solid transparent;\n border-width: $input-border-width 0;\n\n &.form-control-sm,\n &.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n.form-control-sm {\n min-height: $input-height-sm;\n padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n @include border-radius($input-border-radius-sm);\n\n &::file-selector-button {\n padding: $input-padding-y-sm $input-padding-x-sm;\n margin: (-$input-padding-y-sm) (-$input-padding-x-sm);\n margin-inline-end: $input-padding-x-sm;\n }\n\n &::-webkit-file-upload-button {\n padding: $input-padding-y-sm $input-padding-x-sm;\n margin: (-$input-padding-y-sm) (-$input-padding-x-sm);\n margin-inline-end: $input-padding-x-sm;\n }\n}\n\n.form-control-lg {\n min-height: $input-height-lg;\n padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n @include border-radius($input-border-radius-lg);\n\n &::file-selector-button {\n padding: $input-padding-y-lg $input-padding-x-lg;\n margin: (-$input-padding-y-lg) (-$input-padding-x-lg);\n margin-inline-end: $input-padding-x-lg;\n }\n\n &::-webkit-file-upload-button {\n padding: $input-padding-y-lg $input-padding-x-lg;\n margin: (-$input-padding-y-lg) (-$input-padding-x-lg);\n margin-inline-end: $input-padding-x-lg;\n }\n}\n\n// Make sure textareas don't shrink too much when resized\n// https://github.com/twbs/bootstrap/pull/29124\n// stylelint-disable selector-no-qualifying-type\ntextarea {\n &.form-control {\n min-height: $input-height;\n }\n\n &.form-control-sm {\n min-height: $input-height-sm;\n }\n\n &.form-control-lg {\n min-height: $input-height-lg;\n }\n}\n// stylelint-enable selector-no-qualifying-type\n\n.form-control-color {\n max-width: 3rem;\n height: auto; // Override fixed browser height\n padding: $input-padding-y;\n\n &:not(:disabled):not([readonly]) {\n cursor: pointer;\n }\n\n &::-moz-color-swatch {\n height: if(unit($input-line-height) == \"\", $input-line-height * 1em, $input-line-height);\n @include border-radius($input-border-radius);\n }\n\n &::-webkit-color-swatch {\n height: if(unit($input-line-height) == \"\", $input-line-height * 1em, $input-line-height);\n @include border-radius($input-border-radius);\n }\n}\n","// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n @if length($transition) == 0 {\n $transition: $transition-base;\n }\n\n @if length($transition) > 1 {\n @each $value in $transition {\n @if $value == null or $value == none {\n @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n }\n }\n }\n\n @if $enable-transitions {\n @if nth($transition, 1) != null {\n transition: $transition;\n }\n\n @if $enable-reduced-motion and nth($transition, 1) != null and nth($transition, 1) != none {\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n }\n}\n","// Gradients\n\n// scss-docs-start gradient-bg-mixin\n@mixin gradient-bg($color: null) {\n background-color: $color;\n\n @if $enable-gradients {\n background-image: var(--#{$variable-prefix}gradient);\n }\n}\n// scss-docs-end gradient-bg-mixin\n\n// scss-docs-start gradient-mixins\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: null, $end-percent: null) {\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n background-image: linear-gradient($deg, $start-color, $end-color);\n}\n\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n}\n\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n background-image: radial-gradient(circle, $inner-color, $outer-color);\n}\n\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n// scss-docs-end gradient-mixins\n","// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n\n.form-select {\n display: block;\n width: 100%;\n padding: $form-select-padding-y $form-select-indicator-padding $form-select-padding-y $form-select-padding-x;\n font-family: $form-select-font-family;\n @include font-size($form-select-font-size);\n font-weight: $form-select-font-weight;\n line-height: $form-select-line-height;\n color: $form-select-color;\n background-color: $form-select-bg;\n background-image: escape-svg($form-select-indicator);\n background-repeat: no-repeat;\n background-position: $form-select-bg-position;\n background-size: $form-select-bg-size;\n border: $form-select-border-width solid $form-select-border-color;\n @include border-radius($form-select-border-radius, 0);\n @include box-shadow($form-select-box-shadow);\n appearance: none;\n\n &:focus {\n border-color: $form-select-focus-border-color;\n outline: 0;\n @if $enable-shadows {\n @include box-shadow($form-select-box-shadow, $form-select-focus-box-shadow);\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: $form-select-focus-box-shadow;\n }\n }\n\n &[multiple],\n &[size]:not([size=\"1\"]) {\n padding-right: $form-select-padding-x;\n background-image: none;\n }\n\n &:disabled {\n color: $form-select-disabled-color;\n background-color: $form-select-disabled-bg;\n border-color: $form-select-disabled-border-color;\n }\n\n // Remove outline from select box in FF\n &:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 $form-select-color;\n }\n}\n\n.form-select-sm {\n padding-top: $form-select-padding-y-sm;\n padding-bottom: $form-select-padding-y-sm;\n padding-left: $form-select-padding-x-sm;\n @include font-size($form-select-font-size-sm);\n}\n\n.form-select-lg {\n padding-top: $form-select-padding-y-lg;\n padding-bottom: $form-select-padding-y-lg;\n padding-left: $form-select-padding-x-lg;\n @include font-size($form-select-font-size-lg);\n}\n","//\n// Check/radio\n//\n\n.form-check {\n display: block;\n min-height: $form-check-min-height;\n padding-left: $form-check-padding-start;\n margin-bottom: $form-check-margin-bottom;\n\n .form-check-input {\n float: left;\n margin-left: $form-check-padding-start * -1;\n }\n}\n\n.form-check-input {\n width: $form-check-input-width;\n height: $form-check-input-width;\n margin-top: ($line-height-base - $form-check-input-width) / 2; // line-height minus check height\n vertical-align: top;\n background-color: $form-check-input-bg;\n background-repeat: no-repeat;\n background-position: center;\n background-size: contain;\n border: $form-check-input-border;\n appearance: none;\n color-adjust: exact; // Keep themed appearance for print\n @include transition($form-check-transition);\n\n &[type=\"checkbox\"] {\n @include border-radius($form-check-input-border-radius);\n }\n\n &[type=\"radio\"] {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: $form-check-radio-border-radius;\n }\n\n &:active {\n filter: $form-check-input-active-filter;\n }\n\n &:focus {\n border-color: $form-check-input-focus-border;\n outline: 0;\n box-shadow: $form-check-input-focus-box-shadow;\n }\n\n &:checked {\n background-color: $form-check-input-checked-bg-color;\n border-color: $form-check-input-checked-border-color;\n\n &[type=\"checkbox\"] {\n @if $enable-gradients {\n background-image: escape-svg($form-check-input-checked-bg-image), var(--#{$variable-prefix}gradient);\n } @else {\n background-image: escape-svg($form-check-input-checked-bg-image);\n }\n }\n\n &[type=\"radio\"] {\n @if $enable-gradients {\n background-image: escape-svg($form-check-radio-checked-bg-image), var(--#{$variable-prefix}gradient);\n } @else {\n background-image: escape-svg($form-check-radio-checked-bg-image);\n }\n }\n }\n\n &[type=\"checkbox\"]:indeterminate {\n background-color: $form-check-input-indeterminate-bg-color;\n border-color: $form-check-input-indeterminate-border-color;\n\n @if $enable-gradients {\n background-image: escape-svg($form-check-input-indeterminate-bg-image), var(--#{$variable-prefix}gradient);\n } @else {\n background-image: escape-svg($form-check-input-indeterminate-bg-image);\n }\n }\n\n &:disabled {\n pointer-events: none;\n filter: none;\n opacity: $form-check-input-disabled-opacity;\n }\n\n // Use disabled attribute in addition of :disabled pseudo-class\n // See: https://github.com/twbs/bootstrap/issues/28247\n &[disabled],\n &:disabled {\n ~ .form-check-label {\n opacity: $form-check-label-disabled-opacity;\n }\n }\n}\n\n.form-check-label {\n color: $form-check-label-color;\n cursor: $form-check-label-cursor;\n}\n\n//\n// Switch\n//\n\n.form-switch {\n padding-left: $form-switch-padding-start;\n\n .form-check-input {\n width: $form-switch-width;\n margin-left: $form-switch-padding-start * -1;\n background-image: escape-svg($form-switch-bg-image);\n background-position: left center;\n @include border-radius($form-switch-border-radius);\n @include transition($form-switch-transition);\n\n &:focus {\n background-image: escape-svg($form-switch-focus-bg-image);\n }\n\n &:checked {\n background-position: $form-switch-checked-bg-position;\n\n @if $enable-gradients {\n background-image: escape-svg($form-switch-checked-bg-image), var(--#{$variable-prefix}gradient);\n } @else {\n background-image: escape-svg($form-switch-checked-bg-image);\n }\n }\n }\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: $form-check-inline-margin-end;\n}\n\n.btn-check {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n\n &[disabled],\n &:disabled {\n + .btn {\n pointer-events: none;\n filter: none;\n opacity: $form-check-btn-check-disabled-opacity;\n }\n }\n}\n","// Range\n//\n// Style range inputs the same across browsers. Vendor-specific rules for pseudo\n// elements cannot be mixed. As such, there are no shared styles for focus or\n// active states on prefixed selectors.\n\n.form-range {\n width: 100%;\n height: add($form-range-thumb-height, $form-range-thumb-focus-box-shadow-width * 2);\n padding: 0; // Need to reset padding\n background-color: transparent;\n appearance: none;\n\n &:focus {\n outline: 0;\n\n // Pseudo-elements must be split across multiple rulesets to have an effect.\n // No box-shadow() mixin for focus accessibility.\n &::-webkit-slider-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n &::-moz-range-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n }\n\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-webkit-slider-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n margin-top: ($form-range-track-height - $form-range-thumb-height) / 2; // Webkit specific\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-webkit-slider-runnable-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent; // Why?\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent;\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &::-moz-range-thumb {\n width: $form-range-thumb-width;\n height: $form-range-thumb-height;\n @include gradient-bg($form-range-thumb-bg);\n border: $form-range-thumb-border;\n @include border-radius($form-range-thumb-border-radius);\n @include box-shadow($form-range-thumb-box-shadow);\n @include transition($form-range-thumb-transition);\n appearance: none;\n\n &:active {\n @include gradient-bg($form-range-thumb-active-bg);\n }\n }\n\n &::-moz-range-track {\n width: $form-range-track-width;\n height: $form-range-track-height;\n color: transparent;\n cursor: $form-range-track-cursor;\n background-color: $form-range-track-bg;\n border-color: transparent; // Firefox specific?\n @include border-radius($form-range-track-border-radius);\n @include box-shadow($form-range-track-box-shadow);\n }\n\n &:disabled {\n pointer-events: none;\n\n &::-webkit-slider-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n\n &::-moz-range-thumb {\n background-color: $form-range-thumb-disabled-bg;\n }\n }\n}\n",".form-floating {\n position: relative;\n\n > .form-control,\n > .form-select {\n height: $form-floating-height;\n padding: $form-floating-padding-y $form-floating-padding-x;\n }\n\n > label {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%; // allow textareas\n padding: $form-floating-padding-y $form-floating-padding-x;\n pointer-events: none;\n border: $input-border-width solid transparent; // Required for aligning label's text with the input as it affects inner box model\n transform-origin: 0 0;\n @include transition($form-floating-transition);\n }\n\n // stylelint-disable no-duplicate-selectors\n > .form-control {\n &::placeholder {\n color: transparent;\n }\n\n &:focus,\n &:not(:placeholder-shown) {\n padding-top: $form-floating-input-padding-t;\n padding-bottom: $form-floating-input-padding-b;\n }\n // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n &:-webkit-autofill {\n padding-top: $form-floating-input-padding-t;\n padding-bottom: $form-floating-input-padding-b;\n }\n }\n\n > .form-select {\n padding-top: $form-floating-input-padding-t;\n padding-bottom: $form-floating-input-padding-b;\n }\n\n > .form-control:focus,\n > .form-control:not(:placeholder-shown),\n > .form-select {\n ~ label {\n opacity: $form-floating-label-opacity;\n transform: $form-floating-label-transform;\n }\n }\n // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n > .form-control:-webkit-autofill {\n ~ label {\n opacity: $form-floating-label-opacity;\n transform: $form-floating-label-transform;\n }\n }\n // stylelint-enable no-duplicate-selectors\n}\n","//\n// Base styles\n//\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap; // For form validation feedback\n align-items: stretch;\n width: 100%;\n\n > .form-control,\n > .form-select {\n position: relative; // For focus state's z-index\n flex: 1 1 auto;\n width: 1%;\n min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n }\n\n // Bring the \"active\" form control to the top of surrounding elements\n > .form-control:focus,\n > .form-select:focus {\n z-index: 3;\n }\n\n // Ensure buttons are always above inputs for more visually pleasing borders.\n // This isn't needed for `.input-group-text` since it shares the same border-color\n // as our inputs.\n .btn {\n position: relative;\n z-index: 2;\n\n &:focus {\n z-index: 3;\n }\n }\n}\n\n\n// Textual addons\n//\n// Serves as a catch-all element for any text or radio/checkbox input you wish\n// to prepend or append to an input.\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: $input-group-addon-padding-y $input-group-addon-padding-x;\n @include font-size($input-font-size); // Match inputs\n font-weight: $input-group-addon-font-weight;\n line-height: $input-line-height;\n color: $input-group-addon-color;\n text-align: center;\n white-space: nowrap;\n background-color: $input-group-addon-bg;\n border: $input-border-width solid $input-group-addon-border-color;\n @include border-radius($input-border-radius);\n}\n\n\n// Sizing\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\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 padding: $input-padding-y-lg $input-padding-x-lg;\n @include font-size($input-font-size-lg);\n @include border-radius($input-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 padding: $input-padding-y-sm $input-padding-x-sm;\n @include font-size($input-font-size-sm);\n @include border-radius($input-border-radius-sm);\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: $form-select-padding-x + $form-select-indicator-padding;\n}\n\n\n// Rounded corners\n//\n// These rulesets must come after the sizing ones to properly override sm and lg\n// border-radius values when extending. They're more specific than we'd like\n// with the `.input-group >` part, but without it, we cannot override the sizing.\n\n// stylelint-disable-next-line no-duplicate-selectors\n.input-group {\n &:not(.has-validation) {\n > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),\n > .dropdown-toggle:nth-last-child(n + 3) {\n @include border-end-radius(0);\n }\n }\n\n &.has-validation {\n > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu),\n > .dropdown-toggle:nth-last-child(n + 4) {\n @include border-end-radius(0);\n }\n }\n\n $validation-messages: \"\";\n @each $state in map-keys($form-validation-states) {\n $validation-messages: $validation-messages + \":not(.\" + unquote($state) + \"-tooltip)\" + \":not(.\" + unquote($state) + \"-feedback)\";\n }\n\n > :not(:first-child):not(.dropdown-menu)#{$validation-messages} {\n margin-left: -$input-border-width;\n @include border-start-radius(0);\n }\n}\n","// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n\n// scss-docs-start form-validation-mixins\n@mixin form-validation-state-selector($state) {\n @if ($state == \"valid\" or $state == \"invalid\") {\n .was-validated #{if(&, \"&\", \"\")}:#{$state},\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n } @else {\n #{if(&, \"&\", \"\")}.is-#{$state} {\n @content;\n }\n }\n}\n\n@mixin form-validation-state(\n $state,\n $color,\n $icon,\n $tooltip-color: color-contrast($color),\n $tooltip-bg-color: rgba($color, $form-feedback-tooltip-opacity),\n $focus-box-shadow: 0 0 $input-btn-focus-blur $input-focus-width rgba($color, $input-btn-focus-color-opacity)\n) {\n .#{$state}-feedback {\n display: none;\n width: 100%;\n margin-top: $form-feedback-margin-top;\n @include font-size($form-feedback-font-size);\n font-style: $form-feedback-font-style;\n color: $color;\n }\n\n .#{$state}-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%; // Contain to parent when possible\n padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n margin-top: .1rem;\n @include font-size($form-feedback-tooltip-font-size);\n line-height: $form-feedback-tooltip-line-height;\n color: $tooltip-color;\n background-color: $tooltip-bg-color;\n @include border-radius($form-feedback-tooltip-border-radius);\n }\n\n @include form-validation-state-selector($state) {\n ~ .#{$state}-feedback,\n ~ .#{$state}-tooltip {\n display: block;\n }\n }\n\n .form-control {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-image: escape-svg($icon);\n background-repeat: no-repeat;\n background-position: right $input-height-inner-quarter center;\n background-size: $input-height-inner-half $input-height-inner-half;\n }\n\n &:focus {\n border-color: $color;\n box-shadow: $focus-box-shadow;\n }\n }\n }\n\n // stylelint-disable-next-line selector-no-qualifying-type\n textarea.form-control {\n @include form-validation-state-selector($state) {\n @if $enable-validation-icons {\n padding-right: $input-height-inner;\n background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n }\n }\n }\n\n .form-select {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n @if $enable-validation-icons {\n &:not([multiple]):not([size]),\n &:not([multiple])[size=\"1\"] {\n padding-right: $form-select-feedback-icon-padding-end;\n background-image: escape-svg($form-select-indicator), escape-svg($icon);\n background-position: $form-select-bg-position, $form-select-feedback-icon-position;\n background-size: $form-select-bg-size, $form-select-feedback-icon-size;\n }\n }\n\n &:focus {\n border-color: $color;\n box-shadow: $focus-box-shadow;\n }\n }\n }\n\n .form-check-input {\n @include form-validation-state-selector($state) {\n border-color: $color;\n\n &:checked {\n background-color: $color;\n }\n\n &:focus {\n box-shadow: $focus-box-shadow;\n }\n\n ~ .form-check-label {\n color: $color;\n }\n }\n }\n .form-check-inline .form-check-input {\n ~ .#{$state}-feedback {\n margin-left: .5em;\n }\n }\n\n .input-group .form-control,\n .input-group .form-select {\n @include form-validation-state-selector($state) {\n @if $state == \"valid\" {\n z-index: 1;\n } @else if $state == \"invalid\" {\n z-index: 2;\n }\n &:focus {\n z-index: 3;\n }\n }\n }\n}\n// scss-docs-end form-validation-mixins\n","//\n// Base styles\n//\n\n.btn {\n display: inline-block;\n font-family: $btn-font-family;\n font-weight: $btn-font-weight;\n line-height: $btn-line-height;\n color: $body-color;\n text-align: center;\n text-decoration: if($link-decoration == none, null, none);\n white-space: $btn-white-space;\n vertical-align: middle;\n cursor: if($enable-button-pointers, pointer, null);\n user-select: none;\n background-color: transparent;\n border: $btn-border-width solid transparent;\n @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-border-radius);\n @include transition($btn-transition);\n\n &:hover {\n color: $body-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n }\n\n .btn-check:focus + &,\n &:focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\n .btn-check:checked + &,\n .btn-check:active + &,\n &:active,\n &.active {\n @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n\n &:disabled,\n &.disabled,\n fieldset:disabled & {\n pointer-events: none;\n opacity: $btn-disabled-opacity;\n @include box-shadow(none);\n }\n}\n\n\n//\n// Alternate buttons\n//\n\n// scss-docs-start btn-variant-loops\n@each $color, $value in $theme-colors {\n .btn-#{$color} {\n @include button-variant($value, $value);\n }\n}\n\n@each $color, $value in $theme-colors {\n .btn-outline-#{$color} {\n @include button-outline-variant($value);\n }\n}\n// scss-docs-end btn-variant-loops\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: $font-weight-normal;\n color: $btn-link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $btn-link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n\n &:focus {\n text-decoration: $link-hover-decoration;\n }\n\n &:disabled,\n &.disabled {\n color: $btn-link-disabled-color;\n }\n\n // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-border-radius-sm);\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n// scss-docs-start btn-variant-mixin\n@mixin button-variant(\n $background,\n $border,\n $color: color-contrast($background),\n $hover-background: if($color == $color-contrast-light, shade-color($background, $btn-hover-bg-shade-amount), tint-color($background, $btn-hover-bg-tint-amount)),\n $hover-border: if($color == $color-contrast-light, shade-color($border, $btn-hover-border-shade-amount), tint-color($border, $btn-hover-border-tint-amount)),\n $hover-color: color-contrast($hover-background),\n $active-background: if($color == $color-contrast-light, shade-color($background,$btn-active-bg-shade-amount), tint-color($background, $btn-active-bg-tint-amount)),\n $active-border: if($color == $color-contrast-light, shade-color($border, $btn-active-border-shade-amount), tint-color($border, $btn-active-border-tint-amount)),\n $active-color: color-contrast($active-background),\n $disabled-background: $background,\n $disabled-border: $border,\n $disabled-color: color-contrast($disabled-background)\n) {\n color: $color;\n @include gradient-bg($background);\n border-color: $border;\n @include box-shadow($btn-box-shadow);\n\n &:hover {\n color: $hover-color;\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n }\n\n .btn-check:focus + &,\n &:focus {\n color: $hover-color;\n @include gradient-bg($hover-background);\n border-color: $hover-border;\n @if $enable-shadows {\n @include box-shadow($btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);\n }\n }\n\n .btn-check:checked + &,\n .btn-check:active + &,\n &:active,\n &.active,\n .show > &.dropdown-toggle {\n color: $active-color;\n background-color: $active-background;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n border-color: $active-border;\n\n &:focus {\n @if $enable-shadows {\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);\n }\n }\n }\n\n &:disabled,\n &.disabled {\n color: $disabled-color;\n background-color: $disabled-background;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n border-color: $disabled-border;\n }\n}\n// scss-docs-end btn-variant-mixin\n\n// scss-docs-start btn-outline-variant-mixin\n@mixin button-outline-variant(\n $color,\n $color-hover: color-contrast($color),\n $active-background: $color,\n $active-border: $color,\n $active-color: color-contrast($active-background)\n) {\n color: $color;\n border-color: $color;\n\n &:hover {\n color: $color-hover;\n background-color: $active-background;\n border-color: $active-border;\n }\n\n .btn-check:focus + &,\n &:focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n .btn-check:checked + &,\n .btn-check:active + &,\n &:active,\n &.active,\n &.dropdown-toggle.show {\n color: $active-color;\n background-color: $active-background;\n border-color: $active-border;\n\n &:focus {\n @if $enable-shadows {\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n }\n }\n\n &:disabled,\n &.disabled {\n color: $color;\n background-color: transparent;\n }\n}\n// scss-docs-end btn-outline-variant-mixin\n\n// scss-docs-start btn-size-mixin\n@mixin button-size($padding-y, $padding-x, $font-size, $border-radius) {\n padding: $padding-y $padding-x;\n @include font-size($font-size);\n // Manually declare to provide an override to the browser default\n @include border-radius($border-radius, 0);\n}\n// scss-docs-end btn-size-mixin\n",".fade {\n @include transition($transition-fade);\n\n &:not(.show) {\n opacity: 0;\n }\n}\n\n// scss-docs-start collapse-classes\n.collapse {\n &:not(.show) {\n display: none;\n }\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n @include transition($transition-collapse);\n}\n// scss-docs-end collapse-classes\n","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropend,\n.dropdown,\n.dropstart {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n\n // Generate the caret automatically\n @include caret();\n}\n\n// The dropdown menu\n.dropdown-menu {\n position: absolute;\n z-index: $zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n min-width: $dropdown-min-width;\n padding: $dropdown-padding-y $dropdown-padding-x;\n margin: 0; // Override default margin of ul\n @include font-size($dropdown-font-size);\n color: $dropdown-color;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: $dropdown-bg;\n background-clip: padding-box;\n border: $dropdown-border-width solid $dropdown-border-color;\n @include border-radius($dropdown-border-radius);\n @include box-shadow($dropdown-box-shadow);\n\n &[data-bs-popper] {\n top: 100%;\n left: 0;\n margin-top: $dropdown-spacer;\n }\n}\n\n// scss-docs-start responsive-breakpoints\n// We deliberately hardcode the `bs-` prefix because we check\n// this custom property in JS to determine Popper's positioning\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n .dropdown-menu#{$infix}-start {\n --bs-position: start;\n\n &[data-bs-popper] {\n right: auto #{\"/* rtl:ignore */\"};\n left: 0 #{\"/* rtl:ignore */\"};\n }\n }\n\n .dropdown-menu#{$infix}-end {\n --bs-position: end;\n\n &[data-bs-popper] {\n right: 0 #{\"/* rtl:ignore */\"};\n left: auto #{\"/* rtl:ignore */\"};\n }\n }\n }\n}\n// scss-docs-end responsive-breakpoints\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n .dropdown-menu[data-bs-popper] {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(up);\n }\n}\n\n.dropend {\n .dropdown-menu[data-bs-popper] {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(end);\n &::after {\n vertical-align: 0;\n }\n }\n}\n\n.dropstart {\n .dropdown-menu[data-bs-popper] {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: $dropdown-spacer;\n }\n\n .dropdown-toggle {\n @include caret(start);\n &::before {\n vertical-align: 0;\n }\n }\n}\n\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n height: 0;\n margin: $dropdown-divider-margin-y 0;\n overflow: hidden;\n border-top: 1px solid $dropdown-divider-bg;\n}\n\n// Links, buttons, and more within the dropdown menu\n//\n// `<button>`-specific styles are denoted with `// For <button>s`\n.dropdown-item {\n display: block;\n width: 100%; // For `<button>`s\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n clear: both;\n font-weight: $font-weight-normal;\n color: $dropdown-link-color;\n text-align: inherit; // For `<button>`s\n text-decoration: if($link-decoration == none, null, none);\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n background-color: transparent; // For `<button>`s\n border: 0; // For `<button>`s\n\n // Prevent dropdown overflow if there's no padding\n // See https://github.com/twbs/bootstrap/pull/27703\n @if $dropdown-padding-y == 0 {\n &:first-child {\n @include border-top-radius($dropdown-inner-border-radius);\n }\n\n &:last-child {\n @include border-bottom-radius($dropdown-inner-border-radius);\n }\n }\n\n &:hover,\n &:focus {\n color: $dropdown-link-hover-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n @include gradient-bg($dropdown-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-link-active-color;\n text-decoration: none;\n @include gradient-bg($dropdown-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-link-disabled-color;\n pointer-events: none;\n background-color: transparent;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n }\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: $dropdown-header-padding;\n margin-bottom: 0; // for use with heading elements\n @include font-size($font-size-sm);\n color: $dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Dropdown text\n.dropdown-item-text {\n display: block;\n padding: $dropdown-item-padding-y $dropdown-item-padding-x;\n color: $dropdown-link-color;\n}\n\n// Dark dropdowns\n.dropdown-menu-dark {\n color: $dropdown-dark-color;\n background-color: $dropdown-dark-bg;\n border-color: $dropdown-dark-border-color;\n @include box-shadow($dropdown-dark-box-shadow);\n\n .dropdown-item {\n color: $dropdown-dark-link-color;\n\n &:hover,\n &:focus {\n color: $dropdown-dark-link-hover-color;\n @include gradient-bg($dropdown-dark-link-hover-bg);\n }\n\n &.active,\n &:active {\n color: $dropdown-dark-link-active-color;\n @include gradient-bg($dropdown-dark-link-active-bg);\n }\n\n &.disabled,\n &:disabled {\n color: $dropdown-dark-link-disabled-color;\n }\n }\n\n .dropdown-divider {\n border-color: $dropdown-dark-divider-bg;\n }\n\n .dropdown-item-text {\n color: $dropdown-dark-link-color;\n }\n\n .dropdown-header {\n color: $dropdown-dark-header-color;\n }\n}\n","// scss-docs-start caret-mixins\n@mixin caret-down {\n border-top: $caret-width solid;\n border-right: $caret-width solid transparent;\n border-bottom: 0;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-up {\n border-top: 0;\n border-right: $caret-width solid transparent;\n border-bottom: $caret-width solid;\n border-left: $caret-width solid transparent;\n}\n\n@mixin caret-end {\n border-top: $caret-width solid transparent;\n border-right: 0;\n border-bottom: $caret-width solid transparent;\n border-left: $caret-width solid;\n}\n\n@mixin caret-start {\n border-top: $caret-width solid transparent;\n border-right: $caret-width solid;\n border-bottom: $caret-width solid transparent;\n}\n\n@mixin caret($direction: down) {\n @if $enable-caret {\n &::after {\n display: inline-block;\n margin-left: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @if $direction == down {\n @include caret-down();\n } @else if $direction == up {\n @include caret-up();\n } @else if $direction == end {\n @include caret-end();\n }\n }\n\n @if $direction == start {\n &::after {\n display: none;\n }\n\n &::before {\n display: inline-block;\n margin-right: $caret-spacing;\n vertical-align: $caret-vertical-align;\n content: \"\";\n @include caret-start();\n }\n }\n\n &:empty::after {\n margin-left: 0;\n }\n }\n}\n// scss-docs-end caret-mixins\n","// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; // match .btn alignment given font-size hack above\n\n > .btn {\n position: relative;\n flex: 1 1 auto;\n }\n\n // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n > .btn-check:checked + .btn,\n > .btn-check:focus + .btn,\n > .btn:hover,\n > .btn:focus,\n > .btn:active,\n > .btn.active {\n z-index: 1;\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n\n .input-group {\n width: auto;\n }\n}\n\n.btn-group {\n // Prevent double borders when buttons are next to each other\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-left: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-end-radius(0);\n }\n\n // The left radius should be 0 if the button is:\n // - the \"third or more\" child\n // - the second child and the previous element isn't `.btn-check` (making it the first child visually)\n // - part of a btn-group which isn't the first child\n > .btn:nth-child(n + 3),\n > :not(.btn-check) + .btn,\n > .btn-group:not(:first-child) > .btn {\n @include border-start-radius(0);\n }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n padding-right: $btn-padding-x * .75;\n padding-left: $btn-padding-x * .75;\n\n &::after,\n .dropup &::after,\n .dropend &::after {\n margin-left: 0;\n }\n\n .dropstart &::before {\n margin-right: 0;\n }\n}\n\n.btn-sm + .dropdown-toggle-split {\n padding-right: $btn-padding-x-sm * .75;\n padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n padding-right: $btn-padding-x-lg * .75;\n padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n @include box-shadow($btn-active-box-shadow);\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n @include box-shadow(none);\n }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n\n > .btn,\n > .btn-group {\n width: 100%;\n }\n\n > .btn:not(:first-child),\n > .btn-group:not(:first-child) {\n margin-top: -$btn-border-width;\n }\n\n // Reset rounded corners\n > .btn:not(:last-child):not(.dropdown-toggle),\n > .btn-group:not(:last-child) > .btn {\n @include border-bottom-radius(0);\n }\n\n > .btn ~ .btn,\n > .btn-group:not(:first-child) > .btn {\n @include border-top-radius(0);\n }\n}\n","// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: $nav-link-padding-y $nav-link-padding-x;\n @include font-size($nav-link-font-size);\n font-weight: $nav-link-font-weight;\n color: $nav-link-color;\n text-decoration: if($link-decoration == none, null, none);\n @include transition($nav-link-transition);\n\n &:hover,\n &:focus {\n color: $nav-link-hover-color;\n text-decoration: if($link-hover-decoration == underline, none, null);\n }\n\n // Disabled state lightens text\n &.disabled {\n color: $nav-link-disabled-color;\n pointer-events: none;\n cursor: default;\n }\n}\n\n//\n// Tabs\n//\n\n.nav-tabs {\n border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;\n\n .nav-link {\n margin-bottom: -$nav-tabs-border-width;\n background: none;\n border: $nav-tabs-border-width solid transparent;\n @include border-top-radius($nav-tabs-border-radius);\n\n &:hover,\n &:focus {\n border-color: $nav-tabs-link-hover-border-color;\n // Prevents active .nav-link tab overlapping focus outline of previous/next .nav-link\n isolation: isolate;\n }\n\n &.disabled {\n color: $nav-link-disabled-color;\n background-color: transparent;\n border-color: transparent;\n }\n }\n\n .nav-link.active,\n .nav-item.show .nav-link {\n color: $nav-tabs-link-active-color;\n background-color: $nav-tabs-link-active-bg;\n border-color: $nav-tabs-link-active-border-color;\n }\n\n .dropdown-menu {\n // Make dropdown border overlap tab border\n margin-top: -$nav-tabs-border-width;\n // Remove the top rounded corners here since there is a hard edge above the menu\n @include border-top-radius(0);\n }\n}\n\n\n//\n// Pills\n//\n\n.nav-pills {\n .nav-link {\n background: none;\n border: 0;\n @include border-radius($nav-pills-border-radius);\n }\n\n .nav-link.active,\n .show > .nav-link {\n color: $nav-pills-link-active-color;\n @include gradient-bg($nav-pills-link-active-bg);\n }\n}\n\n\n//\n// Justified variants\n//\n\n.nav-fill {\n > .nav-link,\n .nav-item {\n flex: 1 1 auto;\n text-align: center;\n }\n}\n\n.nav-justified {\n > .nav-link,\n .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n }\n}\n\n.nav-fill,\n.nav-justified {\n .nav-item .nav-link {\n width: 100%; // Make sure button will grow\n }\n}\n\n\n// Tabbable tabs\n//\n// Hide tabbable panes to start, show them when `.active`\n\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n","// Contents\n//\n// Navbar\n// Navbar brand\n// Navbar nav\n// Navbar text\n// Responsive navbar\n// Navbar position\n// Navbar themes\n\n\n// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: (…)
/plugin/jplayer/components/
H A Drequire-built.js2506 ((typeof binding.key === 'number' && event.which === binding.key) ||

1...<<4142434445464748495051