{"version":3,"file":"js/application-f5e1c29b68387f82259e.js","sources":["webpack:///webpack/bootstrap","webpack:///./app/javascript/channels sync _channel\\.js$","webpack:///./app/javascript/channels/index.js","webpack:///./app/javascript/packs/application.js","webpack:///./app/javascript/packs/bootstrap_custom.js","webpack:///./app/javascript/stylesheets/application.scss?4568","webpack:///./node_modules/@rails/activestorage/app/assets/javascripts/activestorage.js","webpack:///./node_modules/@rails/ujs/lib/assets/compiled/rails-ujs.js","webpack:///./node_modules/bootstrap/dist/js/bootstrap.js","webpack:///./node_modules/bootstrap/js/dist/alert.js","webpack:///./node_modules/bootstrap/js/dist/button.js","webpack:///./node_modules/bootstrap/js/dist/carousel.js","webpack:///./node_modules/bootstrap/js/dist/collapse.js","webpack:///./node_modules/bootstrap/js/dist/dropdown.js","webpack:///./node_modules/bootstrap/js/dist/index.js","webpack:///./node_modules/bootstrap/js/dist/modal.js","webpack:///./node_modules/bootstrap/js/dist/popover.js","webpack:///./node_modules/bootstrap/js/dist/scrollspy.js","webpack:///./node_modules/bootstrap/js/dist/tab.js","webpack:///./node_modules/bootstrap/js/dist/toast.js","webpack:///./node_modules/bootstrap/js/dist/tooltip.js","webpack:///./node_modules/bootstrap/js/dist/util.js","webpack:///./app/javascript/stylesheets/application.scss","webpack:///./node_modules/css-loader/dist/runtime/api.js","webpack:///./node_modules/jquery/dist/jquery.js","webpack:///./node_modules/popper.js/dist/esm/popper.js","webpack:///./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///./node_modules/turbolinks/dist/turbolinks.js","webpack:///(webpack)/buildin/global.js","webpack:///(webpack)/buildin/module.js"],"sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./app/javascript/packs/application.js\");\n","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = \"./app/javascript/channels sync recursive _channel\\\\.js$\";","// Load all the channels within this directory and all subdirectories.\n// Channel files must be named *_channel.js.\n\nconst channels = require.context('.', true, /_channel\\.js$/)\nchannels.keys().forEach(channels)\n","// This file is automatically compiled by Webpack, along with any other files\n// present in this directory. You're encouraged to place your actual application logic in\n// a relevant structure within app/javascript and only use these pack files to reference\n// that code so it'll be compiled.\n\nrequire(\"@rails/ujs\").start()\nrequire(\"turbolinks\").start()\nrequire(\"@rails/activestorage\").start()\nrequire(\"channels\")\n\n\n// Uncomment to copy all static images under ../images to the output folder and reference\n// them with the image_pack_tag helper in views (e.g <%= image_pack_tag 'rails.png' %>)\n// or the `imagePath` JavaScript helper below.\n//\n// const images = require.context('../images', true)\n// const imagePath = (name) => images(name, true)\n\nimport '../stylesheets/application'\nimport 'bootstrap'\nimport './bootstrap_custom.js'\n\ndocument.addEventListener(\"turbolinks:load\", () => {\n $('[data-toggle=\"tooltip\"]').tooltip()\n})","import 'bootstrap/js/dist/alert'\nimport 'bootstrap/js/dist/button'\nimport 'bootstrap/js/dist/carousel'\nimport 'bootstrap/js/dist/collapse'\nimport 'bootstrap/js/dist/dropdown'\nimport 'bootstrap/js/dist/index'\nimport 'bootstrap/js/dist/modal'\nimport 'bootstrap/js/dist/popover'\nimport 'bootstrap/js/dist/scrollspy'\nimport 'bootstrap/js/dist/tab'\nimport 'bootstrap/js/dist/toast'\nimport 'bootstrap/js/dist/tooltip'\nimport 'bootstrap/js/dist/util'","var api = require(\"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../node_modules/css-loader/dist/cjs.js??ref--7-1!../../../node_modules/postcss-loader/src/index.js??ref--7-2!../../../node_modules/sass-loader/dist/cjs.js??ref--7-3!./application.scss\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === \"object\" && typeof module !== \"undefined\" ? factory(exports) : typeof define === \"function\" && define.amd ? define([\"exports\"], factory) : factory(global.ActiveStorage = {});\n})(this, function (exports) {\n \"use strict\";\n\n function createCommonjsModule(fn, module) {\n return module = {\n exports: {}\n }, fn(module, module.exports), module.exports;\n }\n\n var sparkMd5 = createCommonjsModule(function (module, exports) {\n (function (factory) {\n {\n module.exports = factory();\n }\n })(function (undefined) {\n var hex_chr = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\"];\n\n function md5cycle(x, k) {\n var a = x[0],\n b = x[1],\n c = x[2],\n d = x[3];\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n }\n\n function md5blk(s) {\n var md5blks = [],\n i;\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);\n }\n\n return md5blks;\n }\n\n function md5blk_array(a) {\n var md5blks = [],\n i;\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);\n }\n\n return md5blks;\n }\n\n function md51(s) {\n var n = s.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n\n s = s.substring(i - 64);\n length = s.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= s.charCodeAt(i) << (i % 4 << 3);\n }\n\n tail[i >> 2] |= 128 << (i % 4 << 3);\n\n if (i > 55) {\n md5cycle(state, tail);\n\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(state, tail);\n return state;\n }\n\n function md51_array(a) {\n var n = a.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk_array(a.subarray(i - 64, i)));\n }\n\n a = i - 64 < n ? a.subarray(i - 64) : new Uint8Array(0);\n length = a.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= a[i] << (i % 4 << 3);\n }\n\n tail[i >> 2] |= 128 << (i % 4 << 3);\n\n if (i > 55) {\n md5cycle(state, tail);\n\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(state, tail);\n return state;\n }\n\n function rhex(n) {\n var s = \"\",\n j;\n\n for (j = 0; j < 4; j += 1) {\n s += hex_chr[n >> j * 8 + 4 & 15] + hex_chr[n >> j * 8 & 15];\n }\n\n return s;\n }\n\n function hex(x) {\n var i;\n\n for (i = 0; i < x.length; i += 1) {\n x[i] = rhex(x[i]);\n }\n\n return x.join(\"\");\n }\n\n if (hex(md51(\"hello\")) !== \"5d41402abc4b2a76b9719d911017c592\") ;\n\n if (typeof ArrayBuffer !== \"undefined\" && !ArrayBuffer.prototype.slice) {\n (function () {\n function clamp(val, length) {\n val = val | 0 || 0;\n\n if (val < 0) {\n return Math.max(val + length, 0);\n }\n\n return Math.min(val, length);\n }\n\n ArrayBuffer.prototype.slice = function (from, to) {\n var length = this.byteLength,\n begin = clamp(from, length),\n end = length,\n num,\n target,\n targetArray,\n sourceArray;\n\n if (to !== undefined) {\n end = clamp(to, length);\n }\n\n if (begin > end) {\n return new ArrayBuffer(0);\n }\n\n num = end - begin;\n target = new ArrayBuffer(num);\n targetArray = new Uint8Array(target);\n sourceArray = new Uint8Array(this, begin, num);\n targetArray.set(sourceArray);\n return target;\n };\n })();\n }\n\n function toUtf8(str) {\n if (/[\\u0080-\\uFFFF]/.test(str)) {\n str = unescape(encodeURIComponent(str));\n }\n\n return str;\n }\n\n function utf8Str2ArrayBuffer(str, returnUInt8Array) {\n var length = str.length,\n buff = new ArrayBuffer(length),\n arr = new Uint8Array(buff),\n i;\n\n for (i = 0; i < length; i += 1) {\n arr[i] = str.charCodeAt(i);\n }\n\n return returnUInt8Array ? arr : buff;\n }\n\n function arrayBuffer2Utf8Str(buff) {\n return String.fromCharCode.apply(null, new Uint8Array(buff));\n }\n\n function concatenateArrayBuffers(first, second, returnUInt8Array) {\n var result = new Uint8Array(first.byteLength + second.byteLength);\n result.set(new Uint8Array(first));\n result.set(new Uint8Array(second), first.byteLength);\n return returnUInt8Array ? result : result.buffer;\n }\n\n function hexToBinaryString(hex) {\n var bytes = [],\n length = hex.length,\n x;\n\n for (x = 0; x < length - 1; x += 2) {\n bytes.push(parseInt(hex.substr(x, 2), 16));\n }\n\n return String.fromCharCode.apply(String, bytes);\n }\n\n function SparkMD5() {\n this.reset();\n }\n\n SparkMD5.prototype.append = function (str) {\n this.appendBinary(toUtf8(str));\n return this;\n };\n\n SparkMD5.prototype.appendBinary = function (contents) {\n this._buff += contents;\n this._length += contents.length;\n var length = this._buff.length,\n i;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));\n }\n\n this._buff = this._buff.substring(i - 64);\n return this;\n };\n\n SparkMD5.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n i,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff.charCodeAt(i) << (i % 4 << 3);\n }\n\n this._finish(tail, length);\n\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n return ret;\n };\n\n SparkMD5.prototype.reset = function () {\n this._buff = \"\";\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n return this;\n };\n\n SparkMD5.prototype.getState = function () {\n return {\n buff: this._buff,\n length: this._length,\n hash: this._hash\n };\n };\n\n SparkMD5.prototype.setState = function (state) {\n this._buff = state.buff;\n this._length = state.length;\n this._hash = state.hash;\n return this;\n };\n\n SparkMD5.prototype.destroy = function () {\n delete this._hash;\n delete this._buff;\n delete this._length;\n };\n\n SparkMD5.prototype._finish = function (tail, length) {\n var i = length,\n tmp,\n lo,\n hi;\n tail[i >> 2] |= 128 << (i % 4 << 3);\n\n if (i > 55) {\n md5cycle(this._hash, tail);\n\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n tmp = this._length * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(this._hash, tail);\n };\n\n SparkMD5.hash = function (str, raw) {\n return SparkMD5.hashBinary(toUtf8(str), raw);\n };\n\n SparkMD5.hashBinary = function (content, raw) {\n var hash = md51(content),\n ret = hex(hash);\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n SparkMD5.ArrayBuffer = function () {\n this.reset();\n };\n\n SparkMD5.ArrayBuffer.prototype.append = function (arr) {\n var buff = concatenateArrayBuffers(this._buff.buffer, arr, true),\n length = buff.length,\n i;\n this._length += arr.byteLength;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));\n }\n\n this._buff = i - 64 < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0);\n return this;\n };\n\n SparkMD5.ArrayBuffer.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n i,\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff[i] << (i % 4 << 3);\n }\n\n this._finish(tail, length);\n\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n return ret;\n };\n\n SparkMD5.ArrayBuffer.prototype.reset = function () {\n this._buff = new Uint8Array(0);\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n return this;\n };\n\n SparkMD5.ArrayBuffer.prototype.getState = function () {\n var state = SparkMD5.prototype.getState.call(this);\n state.buff = arrayBuffer2Utf8Str(state.buff);\n return state;\n };\n\n SparkMD5.ArrayBuffer.prototype.setState = function (state) {\n state.buff = utf8Str2ArrayBuffer(state.buff, true);\n return SparkMD5.prototype.setState.call(this, state);\n };\n\n SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy;\n SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish;\n\n SparkMD5.ArrayBuffer.hash = function (arr, raw) {\n var hash = md51_array(new Uint8Array(arr)),\n ret = hex(hash);\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n return SparkMD5;\n });\n });\n\n var classCallCheck = function classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n };\n\n var createClass = function () {\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\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var fileSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice;\n\n var FileChecksum = function () {\n createClass(FileChecksum, null, [{\n key: \"create\",\n value: function create(file, callback) {\n var instance = new FileChecksum(file);\n instance.create(callback);\n }\n }]);\n\n function FileChecksum(file) {\n classCallCheck(this, FileChecksum);\n this.file = file;\n this.chunkSize = 2097152;\n this.chunkCount = Math.ceil(this.file.size / this.chunkSize);\n this.chunkIndex = 0;\n }\n\n createClass(FileChecksum, [{\n key: \"create\",\n value: function create(callback) {\n var _this = this;\n\n this.callback = callback;\n this.md5Buffer = new sparkMd5.ArrayBuffer();\n this.fileReader = new FileReader();\n this.fileReader.addEventListener(\"load\", function (event) {\n return _this.fileReaderDidLoad(event);\n });\n this.fileReader.addEventListener(\"error\", function (event) {\n return _this.fileReaderDidError(event);\n });\n this.readNextChunk();\n }\n }, {\n key: \"fileReaderDidLoad\",\n value: function fileReaderDidLoad(event) {\n this.md5Buffer.append(event.target.result);\n\n if (!this.readNextChunk()) {\n var binaryDigest = this.md5Buffer.end(true);\n var base64digest = btoa(binaryDigest);\n this.callback(null, base64digest);\n }\n }\n }, {\n key: \"fileReaderDidError\",\n value: function fileReaderDidError(event) {\n this.callback(\"Error reading \" + this.file.name);\n }\n }, {\n key: \"readNextChunk\",\n value: function readNextChunk() {\n if (this.chunkIndex < this.chunkCount || this.chunkIndex == 0 && this.chunkCount == 0) {\n var start = this.chunkIndex * this.chunkSize;\n var end = Math.min(start + this.chunkSize, this.file.size);\n var bytes = fileSlice.call(this.file, start, end);\n this.fileReader.readAsArrayBuffer(bytes);\n this.chunkIndex++;\n return true;\n } else {\n return false;\n }\n }\n }]);\n return FileChecksum;\n }();\n\n function getMetaValue(name) {\n var element = findElement(document.head, 'meta[name=\"' + name + '\"]');\n\n if (element) {\n return element.getAttribute(\"content\");\n }\n }\n\n function findElements(root, selector) {\n if (typeof root == \"string\") {\n selector = root;\n root = document;\n }\n\n var elements = root.querySelectorAll(selector);\n return toArray$1(elements);\n }\n\n function findElement(root, selector) {\n if (typeof root == \"string\") {\n selector = root;\n root = document;\n }\n\n return root.querySelector(selector);\n }\n\n function dispatchEvent(element, type) {\n var eventInit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var disabled = element.disabled;\n var bubbles = eventInit.bubbles,\n cancelable = eventInit.cancelable,\n detail = eventInit.detail;\n var event = document.createEvent(\"Event\");\n event.initEvent(type, bubbles || true, cancelable || true);\n event.detail = detail || {};\n\n try {\n element.disabled = false;\n element.dispatchEvent(event);\n } finally {\n element.disabled = disabled;\n }\n\n return event;\n }\n\n function toArray$1(value) {\n if (Array.isArray(value)) {\n return value;\n } else if (Array.from) {\n return Array.from(value);\n } else {\n return [].slice.call(value);\n }\n }\n\n var BlobRecord = function () {\n function BlobRecord(file, checksum, url) {\n var _this = this;\n\n classCallCheck(this, BlobRecord);\n this.file = file;\n this.attributes = {\n filename: file.name,\n content_type: file.type || \"application/octet-stream\",\n byte_size: file.size,\n checksum: checksum\n };\n this.xhr = new XMLHttpRequest();\n this.xhr.open(\"POST\", url, true);\n this.xhr.responseType = \"json\";\n this.xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n this.xhr.setRequestHeader(\"Accept\", \"application/json\");\n this.xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n var csrfToken = getMetaValue(\"csrf-token\");\n\n if (csrfToken != undefined) {\n this.xhr.setRequestHeader(\"X-CSRF-Token\", csrfToken);\n }\n\n this.xhr.addEventListener(\"load\", function (event) {\n return _this.requestDidLoad(event);\n });\n this.xhr.addEventListener(\"error\", function (event) {\n return _this.requestDidError(event);\n });\n }\n\n createClass(BlobRecord, [{\n key: \"create\",\n value: function create(callback) {\n this.callback = callback;\n this.xhr.send(JSON.stringify({\n blob: this.attributes\n }));\n }\n }, {\n key: \"requestDidLoad\",\n value: function requestDidLoad(event) {\n if (this.status >= 200 && this.status < 300) {\n var response = this.response;\n var direct_upload = response.direct_upload;\n delete response.direct_upload;\n this.attributes = response;\n this.directUploadData = direct_upload;\n this.callback(null, this.toJSON());\n } else {\n this.requestDidError(event);\n }\n }\n }, {\n key: \"requestDidError\",\n value: function requestDidError(event) {\n this.callback('Error creating Blob for \"' + this.file.name + '\". Status: ' + this.status);\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n var result = {};\n\n for (var key in this.attributes) {\n result[key] = this.attributes[key];\n }\n\n return result;\n }\n }, {\n key: \"status\",\n get: function get$$1() {\n return this.xhr.status;\n }\n }, {\n key: \"response\",\n get: function get$$1() {\n var _xhr = this.xhr,\n responseType = _xhr.responseType,\n response = _xhr.response;\n\n if (responseType == \"json\") {\n return response;\n } else {\n return JSON.parse(response);\n }\n }\n }]);\n return BlobRecord;\n }();\n\n var BlobUpload = function () {\n function BlobUpload(blob) {\n var _this = this;\n\n classCallCheck(this, BlobUpload);\n this.blob = blob;\n this.file = blob.file;\n var _blob$directUploadDat = blob.directUploadData,\n url = _blob$directUploadDat.url,\n headers = _blob$directUploadDat.headers;\n this.xhr = new XMLHttpRequest();\n this.xhr.open(\"PUT\", url, true);\n this.xhr.responseType = \"text\";\n\n for (var key in headers) {\n this.xhr.setRequestHeader(key, headers[key]);\n }\n\n this.xhr.addEventListener(\"load\", function (event) {\n return _this.requestDidLoad(event);\n });\n this.xhr.addEventListener(\"error\", function (event) {\n return _this.requestDidError(event);\n });\n }\n\n createClass(BlobUpload, [{\n key: \"create\",\n value: function create(callback) {\n this.callback = callback;\n this.xhr.send(this.file.slice());\n }\n }, {\n key: \"requestDidLoad\",\n value: function requestDidLoad(event) {\n var _xhr = this.xhr,\n status = _xhr.status,\n response = _xhr.response;\n\n if (status >= 200 && status < 300) {\n this.callback(null, response);\n } else {\n this.requestDidError(event);\n }\n }\n }, {\n key: \"requestDidError\",\n value: function requestDidError(event) {\n this.callback('Error storing \"' + this.file.name + '\". Status: ' + this.xhr.status);\n }\n }]);\n return BlobUpload;\n }();\n\n var id = 0;\n\n var DirectUpload = function () {\n function DirectUpload(file, url, delegate) {\n classCallCheck(this, DirectUpload);\n this.id = ++id;\n this.file = file;\n this.url = url;\n this.delegate = delegate;\n }\n\n createClass(DirectUpload, [{\n key: \"create\",\n value: function create(callback) {\n var _this = this;\n\n FileChecksum.create(this.file, function (error, checksum) {\n if (error) {\n callback(error);\n return;\n }\n\n var blob = new BlobRecord(_this.file, checksum, _this.url);\n notify(_this.delegate, \"directUploadWillCreateBlobWithXHR\", blob.xhr);\n blob.create(function (error) {\n if (error) {\n callback(error);\n } else {\n var upload = new BlobUpload(blob);\n notify(_this.delegate, \"directUploadWillStoreFileWithXHR\", upload.xhr);\n upload.create(function (error) {\n if (error) {\n callback(error);\n } else {\n callback(null, blob.toJSON());\n }\n });\n }\n });\n });\n }\n }]);\n return DirectUpload;\n }();\n\n function notify(object, methodName) {\n if (object && typeof object[methodName] == \"function\") {\n for (var _len = arguments.length, messages = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n messages[_key - 2] = arguments[_key];\n }\n\n return object[methodName].apply(object, messages);\n }\n }\n\n var DirectUploadController = function () {\n function DirectUploadController(input, file) {\n classCallCheck(this, DirectUploadController);\n this.input = input;\n this.file = file;\n this.directUpload = new DirectUpload(this.file, this.url, this);\n this.dispatch(\"initialize\");\n }\n\n createClass(DirectUploadController, [{\n key: \"start\",\n value: function start(callback) {\n var _this = this;\n\n var hiddenInput = document.createElement(\"input\");\n hiddenInput.type = \"hidden\";\n hiddenInput.name = this.input.name;\n this.input.insertAdjacentElement(\"beforebegin\", hiddenInput);\n this.dispatch(\"start\");\n this.directUpload.create(function (error, attributes) {\n if (error) {\n hiddenInput.parentNode.removeChild(hiddenInput);\n\n _this.dispatchError(error);\n } else {\n hiddenInput.value = attributes.signed_id;\n }\n\n _this.dispatch(\"end\");\n\n callback(error);\n });\n }\n }, {\n key: \"uploadRequestDidProgress\",\n value: function uploadRequestDidProgress(event) {\n var progress = event.loaded / event.total * 100;\n\n if (progress) {\n this.dispatch(\"progress\", {\n progress: progress\n });\n }\n }\n }, {\n key: \"dispatch\",\n value: function dispatch(name) {\n var detail = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n detail.file = this.file;\n detail.id = this.directUpload.id;\n return dispatchEvent(this.input, \"direct-upload:\" + name, {\n detail: detail\n });\n }\n }, {\n key: \"dispatchError\",\n value: function dispatchError(error) {\n var event = this.dispatch(\"error\", {\n error: error\n });\n\n if (!event.defaultPrevented) {\n alert(error);\n }\n }\n }, {\n key: \"directUploadWillCreateBlobWithXHR\",\n value: function directUploadWillCreateBlobWithXHR(xhr) {\n this.dispatch(\"before-blob-request\", {\n xhr: xhr\n });\n }\n }, {\n key: \"directUploadWillStoreFileWithXHR\",\n value: function directUploadWillStoreFileWithXHR(xhr) {\n var _this2 = this;\n\n this.dispatch(\"before-storage-request\", {\n xhr: xhr\n });\n xhr.upload.addEventListener(\"progress\", function (event) {\n return _this2.uploadRequestDidProgress(event);\n });\n }\n }, {\n key: \"url\",\n get: function get$$1() {\n return this.input.getAttribute(\"data-direct-upload-url\");\n }\n }]);\n return DirectUploadController;\n }();\n\n var inputSelector = \"input[type=file][data-direct-upload-url]:not([disabled])\";\n\n var DirectUploadsController = function () {\n function DirectUploadsController(form) {\n classCallCheck(this, DirectUploadsController);\n this.form = form;\n this.inputs = findElements(form, inputSelector).filter(function (input) {\n return input.files.length;\n });\n }\n\n createClass(DirectUploadsController, [{\n key: \"start\",\n value: function start(callback) {\n var _this = this;\n\n var controllers = this.createDirectUploadControllers();\n\n var startNextController = function startNextController() {\n var controller = controllers.shift();\n\n if (controller) {\n controller.start(function (error) {\n if (error) {\n callback(error);\n\n _this.dispatch(\"end\");\n } else {\n startNextController();\n }\n });\n } else {\n callback();\n\n _this.dispatch(\"end\");\n }\n };\n\n this.dispatch(\"start\");\n startNextController();\n }\n }, {\n key: \"createDirectUploadControllers\",\n value: function createDirectUploadControllers() {\n var controllers = [];\n this.inputs.forEach(function (input) {\n toArray$1(input.files).forEach(function (file) {\n var controller = new DirectUploadController(input, file);\n controllers.push(controller);\n });\n });\n return controllers;\n }\n }, {\n key: \"dispatch\",\n value: function dispatch(name) {\n var detail = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return dispatchEvent(this.form, \"direct-uploads:\" + name, {\n detail: detail\n });\n }\n }]);\n return DirectUploadsController;\n }();\n\n var processingAttribute = \"data-direct-uploads-processing\";\n var submitButtonsByForm = new WeakMap();\n var started = false;\n\n function start() {\n if (!started) {\n started = true;\n document.addEventListener(\"click\", didClick, true);\n document.addEventListener(\"submit\", didSubmitForm);\n document.addEventListener(\"ajax:before\", didSubmitRemoteElement);\n }\n }\n\n function didClick(event) {\n var target = event.target;\n\n if ((target.tagName == \"INPUT\" || target.tagName == \"BUTTON\") && target.type == \"submit\" && target.form) {\n submitButtonsByForm.set(target.form, target);\n }\n }\n\n function didSubmitForm(event) {\n handleFormSubmissionEvent(event);\n }\n\n function didSubmitRemoteElement(event) {\n if (event.target.tagName == \"FORM\") {\n handleFormSubmissionEvent(event);\n }\n }\n\n function handleFormSubmissionEvent(event) {\n var form = event.target;\n\n if (form.hasAttribute(processingAttribute)) {\n event.preventDefault();\n return;\n }\n\n var controller = new DirectUploadsController(form);\n var inputs = controller.inputs;\n\n if (inputs.length) {\n event.preventDefault();\n form.setAttribute(processingAttribute, \"\");\n inputs.forEach(disable);\n controller.start(function (error) {\n form.removeAttribute(processingAttribute);\n\n if (error) {\n inputs.forEach(enable);\n } else {\n submitForm(form);\n }\n });\n }\n }\n\n function submitForm(form) {\n var button = submitButtonsByForm.get(form) || findElement(form, \"input[type=submit], button[type=submit]\");\n\n if (button) {\n var _button = button,\n disabled = _button.disabled;\n button.disabled = false;\n button.focus();\n button.click();\n button.disabled = disabled;\n } else {\n button = document.createElement(\"input\");\n button.type = \"submit\";\n button.style.display = \"none\";\n form.appendChild(button);\n button.click();\n form.removeChild(button);\n }\n\n submitButtonsByForm[\"delete\"](form);\n }\n\n function disable(input) {\n input.disabled = true;\n }\n\n function enable(input) {\n input.disabled = false;\n }\n\n function autostart() {\n if (window.ActiveStorage) {\n start();\n }\n }\n\n setTimeout(autostart, 1);\n exports.start = start;\n exports.DirectUpload = DirectUpload;\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/*\nUnobtrusive JavaScript\nhttps://github.com/rails/rails/blob/master/actionview/app/assets/javascripts\nReleased under the MIT license\n */\n;\n(function () {\n var context = this;\n (function () {\n (function () {\n this.Rails = {\n linkClickSelector: 'a[data-confirm], a[data-method], a[data-remote]:not([disabled]), a[data-disable-with], a[data-disable]',\n buttonClickSelector: {\n selector: 'button[data-remote]:not([form]), button[data-confirm]:not([form])',\n exclude: 'form button'\n },\n inputChangeSelector: 'select[data-remote], input[data-remote], textarea[data-remote]',\n formSubmitSelector: 'form',\n formInputClickSelector: 'form input[type=submit], form input[type=image], form button[type=submit], form button:not([type]), input[type=submit][form], input[type=image][form], button[type=submit][form], button[form]:not([type])',\n formDisableSelector: 'input[data-disable-with]:enabled, button[data-disable-with]:enabled, textarea[data-disable-with]:enabled, input[data-disable]:enabled, button[data-disable]:enabled, textarea[data-disable]:enabled',\n formEnableSelector: 'input[data-disable-with]:disabled, button[data-disable-with]:disabled, textarea[data-disable-with]:disabled, input[data-disable]:disabled, button[data-disable]:disabled, textarea[data-disable]:disabled',\n fileInputSelector: 'input[name][type=file]:not([disabled])',\n linkDisableSelector: 'a[data-disable-with], a[data-disable]',\n buttonDisableSelector: 'button[data-remote][data-disable-with], button[data-remote][data-disable]'\n };\n }).call(this);\n }).call(context);\n var Rails = context.Rails;\n (function () {\n (function () {\n var nonce;\n nonce = null;\n\n Rails.loadCSPNonce = function () {\n var ref;\n return nonce = (ref = document.querySelector(\"meta[name=csp-nonce]\")) != null ? ref.content : void 0;\n };\n\n Rails.cspNonce = function () {\n return nonce != null ? nonce : Rails.loadCSPNonce();\n };\n }).call(this);\n (function () {\n var expando, m;\n m = Element.prototype.matches || Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector;\n\n Rails.matches = function (element, selector) {\n if (selector.exclude != null) {\n return m.call(element, selector.selector) && !m.call(element, selector.exclude);\n } else {\n return m.call(element, selector);\n }\n };\n\n expando = '_ujsData';\n\n Rails.getData = function (element, key) {\n var ref;\n return (ref = element[expando]) != null ? ref[key] : void 0;\n };\n\n Rails.setData = function (element, key, value) {\n if (element[expando] == null) {\n element[expando] = {};\n }\n\n return element[expando][key] = value;\n };\n\n Rails.$ = function (selector) {\n return Array.prototype.slice.call(document.querySelectorAll(selector));\n };\n }).call(this);\n (function () {\n var $, csrfParam, csrfToken;\n $ = Rails.$;\n\n csrfToken = Rails.csrfToken = function () {\n var meta;\n meta = document.querySelector('meta[name=csrf-token]');\n return meta && meta.content;\n };\n\n csrfParam = Rails.csrfParam = function () {\n var meta;\n meta = document.querySelector('meta[name=csrf-param]');\n return meta && meta.content;\n };\n\n Rails.CSRFProtection = function (xhr) {\n var token;\n token = csrfToken();\n\n if (token != null) {\n return xhr.setRequestHeader('X-CSRF-Token', token);\n }\n };\n\n Rails.refreshCSRFTokens = function () {\n var param, token;\n token = csrfToken();\n param = csrfParam();\n\n if (token != null && param != null) {\n return $('form input[name=\"' + param + '\"]').forEach(function (input) {\n return input.value = token;\n });\n }\n };\n }).call(this);\n (function () {\n var CustomEvent, fire, matches, preventDefault;\n matches = Rails.matches;\n CustomEvent = window.CustomEvent;\n\n if (typeof CustomEvent !== 'function') {\n CustomEvent = function CustomEvent(event, params) {\n var evt;\n evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n };\n\n CustomEvent.prototype = window.Event.prototype;\n preventDefault = CustomEvent.prototype.preventDefault;\n\n CustomEvent.prototype.preventDefault = function () {\n var result;\n result = preventDefault.call(this);\n\n if (this.cancelable && !this.defaultPrevented) {\n Object.defineProperty(this, 'defaultPrevented', {\n get: function get() {\n return true;\n }\n });\n }\n\n return result;\n };\n }\n\n fire = Rails.fire = function (obj, name, data) {\n var event;\n event = new CustomEvent(name, {\n bubbles: true,\n cancelable: true,\n detail: data\n });\n obj.dispatchEvent(event);\n return !event.defaultPrevented;\n };\n\n Rails.stopEverything = function (e) {\n fire(e.target, 'ujs:everythingStopped');\n e.preventDefault();\n e.stopPropagation();\n return e.stopImmediatePropagation();\n };\n\n Rails.delegate = function (element, selector, eventType, handler) {\n return element.addEventListener(eventType, function (e) {\n var target;\n target = e.target;\n\n while (!(!(target instanceof Element) || matches(target, selector))) {\n target = target.parentNode;\n }\n\n if (target instanceof Element && handler.call(target, e) === false) {\n e.preventDefault();\n return e.stopPropagation();\n }\n });\n };\n }).call(this);\n (function () {\n var AcceptHeaders, CSRFProtection, createXHR, cspNonce, fire, prepareOptions, processResponse;\n cspNonce = Rails.cspNonce, CSRFProtection = Rails.CSRFProtection, fire = Rails.fire;\n AcceptHeaders = {\n '*': '*/*',\n text: 'text/plain',\n html: 'text/html',\n xml: 'application/xml, text/xml',\n json: 'application/json, text/javascript',\n script: 'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript'\n };\n\n Rails.ajax = function (options) {\n var xhr;\n options = prepareOptions(options);\n xhr = createXHR(options, function () {\n var ref, response;\n response = processResponse((ref = xhr.response) != null ? ref : xhr.responseText, xhr.getResponseHeader('Content-Type'));\n\n if (Math.floor(xhr.status / 100) === 2) {\n if (typeof options.success === \"function\") {\n options.success(response, xhr.statusText, xhr);\n }\n } else {\n if (typeof options.error === \"function\") {\n options.error(response, xhr.statusText, xhr);\n }\n }\n\n return typeof options.complete === \"function\" ? options.complete(xhr, xhr.statusText) : void 0;\n });\n\n if (options.beforeSend != null && !options.beforeSend(xhr, options)) {\n return false;\n }\n\n if (xhr.readyState === XMLHttpRequest.OPENED) {\n return xhr.send(options.data);\n }\n };\n\n prepareOptions = function prepareOptions(options) {\n options.url = options.url || location.href;\n options.type = options.type.toUpperCase();\n\n if (options.type === 'GET' && options.data) {\n if (options.url.indexOf('?') < 0) {\n options.url += '?' + options.data;\n } else {\n options.url += '&' + options.data;\n }\n }\n\n if (AcceptHeaders[options.dataType] == null) {\n options.dataType = '*';\n }\n\n options.accept = AcceptHeaders[options.dataType];\n\n if (options.dataType !== '*') {\n options.accept += ', */*; q=0.01';\n }\n\n return options;\n };\n\n createXHR = function createXHR(options, done) {\n var xhr;\n xhr = new XMLHttpRequest();\n xhr.open(options.type, options.url, true);\n xhr.setRequestHeader('Accept', options.accept);\n\n if (typeof options.data === 'string') {\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');\n }\n\n if (!options.crossDomain) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n\n CSRFProtection(xhr);\n xhr.withCredentials = !!options.withCredentials;\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n return done(xhr);\n }\n };\n\n return xhr;\n };\n\n processResponse = function processResponse(response, type) {\n var parser, script;\n\n if (typeof response === 'string' && typeof type === 'string') {\n if (type.match(/\\bjson\\b/)) {\n try {\n response = JSON.parse(response);\n } catch (error) {}\n } else if (type.match(/\\b(?:java|ecma)script\\b/)) {\n script = document.createElement('script');\n script.setAttribute('nonce', cspNonce());\n script.text = response;\n document.head.appendChild(script).parentNode.removeChild(script);\n } else if (type.match(/\\b(xml|html|svg)\\b/)) {\n parser = new DOMParser();\n type = type.replace(/;.+/, '');\n\n try {\n response = parser.parseFromString(response, type);\n } catch (error) {}\n }\n }\n\n return response;\n };\n\n Rails.href = function (element) {\n return element.href;\n };\n\n Rails.isCrossDomain = function (url) {\n var e, originAnchor, urlAnchor;\n originAnchor = document.createElement('a');\n originAnchor.href = location.href;\n urlAnchor = document.createElement('a');\n\n try {\n urlAnchor.href = url;\n return !((!urlAnchor.protocol || urlAnchor.protocol === ':') && !urlAnchor.host || originAnchor.protocol + '//' + originAnchor.host === urlAnchor.protocol + '//' + urlAnchor.host);\n } catch (error) {\n e = error;\n return true;\n }\n };\n }).call(this);\n (function () {\n var matches, toArray;\n matches = Rails.matches;\n\n toArray = function toArray(e) {\n return Array.prototype.slice.call(e);\n };\n\n Rails.serializeElement = function (element, additionalParam) {\n var inputs, params;\n inputs = [element];\n\n if (matches(element, 'form')) {\n inputs = toArray(element.elements);\n }\n\n params = [];\n inputs.forEach(function (input) {\n if (!input.name || input.disabled) {\n return;\n }\n\n if (matches(input, 'fieldset[disabled] *')) {\n return;\n }\n\n if (matches(input, 'select')) {\n return toArray(input.options).forEach(function (option) {\n if (option.selected) {\n return params.push({\n name: input.name,\n value: option.value\n });\n }\n });\n } else if (input.checked || ['radio', 'checkbox', 'submit'].indexOf(input.type) === -1) {\n return params.push({\n name: input.name,\n value: input.value\n });\n }\n });\n\n if (additionalParam) {\n params.push(additionalParam);\n }\n\n return params.map(function (param) {\n if (param.name != null) {\n return encodeURIComponent(param.name) + \"=\" + encodeURIComponent(param.value);\n } else {\n return param;\n }\n }).join('&');\n };\n\n Rails.formElements = function (form, selector) {\n if (matches(form, 'form')) {\n return toArray(form.elements).filter(function (el) {\n return matches(el, selector);\n });\n } else {\n return toArray(form.querySelectorAll(selector));\n }\n };\n }).call(this);\n (function () {\n var allowAction, fire, stopEverything;\n fire = Rails.fire, stopEverything = Rails.stopEverything;\n\n Rails.handleConfirm = function (e) {\n if (!allowAction(this)) {\n return stopEverything(e);\n }\n };\n\n Rails.confirm = function (message, element) {\n return confirm(message);\n };\n\n allowAction = function allowAction(element) {\n var answer, callback, message;\n message = element.getAttribute('data-confirm');\n\n if (!message) {\n return true;\n }\n\n answer = false;\n\n if (fire(element, 'confirm')) {\n try {\n answer = Rails.confirm(message, element);\n } catch (error) {}\n\n callback = fire(element, 'confirm:complete', [answer]);\n }\n\n return answer && callback;\n };\n }).call(this);\n (function () {\n var disableFormElement, disableFormElements, disableLinkElement, enableFormElement, enableFormElements, enableLinkElement, formElements, getData, isXhrRedirect, matches, setData, stopEverything;\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, stopEverything = Rails.stopEverything, formElements = Rails.formElements;\n\n Rails.handleDisabledElement = function (e) {\n var element;\n element = this;\n\n if (element.disabled) {\n return stopEverything(e);\n }\n };\n\n Rails.enableElement = function (e) {\n var element;\n\n if (e instanceof Event) {\n if (isXhrRedirect(e)) {\n return;\n }\n\n element = e.target;\n } else {\n element = e;\n }\n\n if (matches(element, Rails.linkDisableSelector)) {\n return enableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formEnableSelector)) {\n return enableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return enableFormElements(element);\n }\n };\n\n Rails.disableElement = function (e) {\n var element;\n element = e instanceof Event ? e.target : e;\n\n if (matches(element, Rails.linkDisableSelector)) {\n return disableLinkElement(element);\n } else if (matches(element, Rails.buttonDisableSelector) || matches(element, Rails.formDisableSelector)) {\n return disableFormElement(element);\n } else if (matches(element, Rails.formSubmitSelector)) {\n return disableFormElements(element);\n }\n };\n\n disableLinkElement = function disableLinkElement(element) {\n var replacement;\n\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n\n replacement = element.getAttribute('data-disable-with');\n\n if (replacement != null) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n }\n\n element.addEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', true);\n };\n\n enableLinkElement = function enableLinkElement(element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n\n if (originalText != null) {\n element.innerHTML = originalText;\n setData(element, 'ujs:enable-with', null);\n }\n\n element.removeEventListener('click', stopEverything);\n return setData(element, 'ujs:disabled', null);\n };\n\n disableFormElements = function disableFormElements(form) {\n return formElements(form, Rails.formDisableSelector).forEach(disableFormElement);\n };\n\n disableFormElement = function disableFormElement(element) {\n var replacement;\n\n if (getData(element, 'ujs:disabled')) {\n return;\n }\n\n replacement = element.getAttribute('data-disable-with');\n\n if (replacement != null) {\n if (matches(element, 'button')) {\n setData(element, 'ujs:enable-with', element.innerHTML);\n element.innerHTML = replacement;\n } else {\n setData(element, 'ujs:enable-with', element.value);\n element.value = replacement;\n }\n }\n\n element.disabled = true;\n return setData(element, 'ujs:disabled', true);\n };\n\n enableFormElements = function enableFormElements(form) {\n return formElements(form, Rails.formEnableSelector).forEach(enableFormElement);\n };\n\n enableFormElement = function enableFormElement(element) {\n var originalText;\n originalText = getData(element, 'ujs:enable-with');\n\n if (originalText != null) {\n if (matches(element, 'button')) {\n element.innerHTML = originalText;\n } else {\n element.value = originalText;\n }\n\n setData(element, 'ujs:enable-with', null);\n }\n\n element.disabled = false;\n return setData(element, 'ujs:disabled', null);\n };\n\n isXhrRedirect = function isXhrRedirect(event) {\n var ref, xhr;\n xhr = (ref = event.detail) != null ? ref[0] : void 0;\n return (xhr != null ? xhr.getResponseHeader(\"X-Xhr-Redirect\") : void 0) != null;\n };\n }).call(this);\n (function () {\n var stopEverything;\n stopEverything = Rails.stopEverything;\n\n Rails.handleMethod = function (e) {\n var csrfParam, csrfToken, form, formContent, href, link, method;\n link = this;\n method = link.getAttribute('data-method');\n\n if (!method) {\n return;\n }\n\n href = Rails.href(link);\n csrfToken = Rails.csrfToken();\n csrfParam = Rails.csrfParam();\n form = document.createElement('form');\n formContent = \"\";\n\n if (csrfParam != null && csrfToken != null && !Rails.isCrossDomain(href)) {\n formContent += \"\";\n }\n\n formContent += '';\n form.method = 'post';\n form.action = href;\n form.target = link.target;\n form.innerHTML = formContent;\n form.style.display = 'none';\n document.body.appendChild(form);\n form.querySelector('[type=\"submit\"]').click();\n return stopEverything(e);\n };\n }).call(this);\n (function () {\n var ajax,\n fire,\n getData,\n isCrossDomain,\n isRemote,\n matches,\n serializeElement,\n setData,\n stopEverything,\n slice = [].slice;\n matches = Rails.matches, getData = Rails.getData, setData = Rails.setData, fire = Rails.fire, stopEverything = Rails.stopEverything, ajax = Rails.ajax, isCrossDomain = Rails.isCrossDomain, serializeElement = Rails.serializeElement;\n\n isRemote = function isRemote(element) {\n var value;\n value = element.getAttribute('data-remote');\n return value != null && value !== 'false';\n };\n\n Rails.handleRemote = function (e) {\n var button, data, dataType, element, method, url, withCredentials;\n element = this;\n\n if (!isRemote(element)) {\n return true;\n }\n\n if (!fire(element, 'ajax:before')) {\n fire(element, 'ajax:stopped');\n return false;\n }\n\n withCredentials = element.getAttribute('data-with-credentials');\n dataType = element.getAttribute('data-type') || 'script';\n\n if (matches(element, Rails.formSubmitSelector)) {\n button = getData(element, 'ujs:submit-button');\n method = getData(element, 'ujs:submit-button-formmethod') || element.method;\n url = getData(element, 'ujs:submit-button-formaction') || element.getAttribute('action') || location.href;\n\n if (method.toUpperCase() === 'GET') {\n url = url.replace(/\\?.*$/, '');\n }\n\n if (element.enctype === 'multipart/form-data') {\n data = new FormData(element);\n\n if (button != null) {\n data.append(button.name, button.value);\n }\n } else {\n data = serializeElement(element, button);\n }\n\n setData(element, 'ujs:submit-button', null);\n setData(element, 'ujs:submit-button-formmethod', null);\n setData(element, 'ujs:submit-button-formaction', null);\n } else if (matches(element, Rails.buttonClickSelector) || matches(element, Rails.inputChangeSelector)) {\n method = element.getAttribute('data-method');\n url = element.getAttribute('data-url');\n data = serializeElement(element, element.getAttribute('data-params'));\n } else {\n method = element.getAttribute('data-method');\n url = Rails.href(element);\n data = element.getAttribute('data-params');\n }\n\n ajax({\n type: method || 'GET',\n url: url,\n data: data,\n dataType: dataType,\n beforeSend: function beforeSend(xhr, options) {\n if (fire(element, 'ajax:beforeSend', [xhr, options])) {\n return fire(element, 'ajax:send', [xhr]);\n } else {\n fire(element, 'ajax:stopped');\n return false;\n }\n },\n success: function success() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:success', args);\n },\n error: function error() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:error', args);\n },\n complete: function complete() {\n var args;\n args = 1 <= arguments.length ? slice.call(arguments, 0) : [];\n return fire(element, 'ajax:complete', args);\n },\n crossDomain: isCrossDomain(url),\n withCredentials: withCredentials != null && withCredentials !== 'false'\n });\n return stopEverything(e);\n };\n\n Rails.formSubmitButtonClick = function (e) {\n var button, form;\n button = this;\n form = button.form;\n\n if (!form) {\n return;\n }\n\n if (button.name) {\n setData(form, 'ujs:submit-button', {\n name: button.name,\n value: button.value\n });\n }\n\n setData(form, 'ujs:formnovalidate-button', button.formNoValidate);\n setData(form, 'ujs:submit-button-formaction', button.getAttribute('formaction'));\n return setData(form, 'ujs:submit-button-formmethod', button.getAttribute('formmethod'));\n };\n\n Rails.preventInsignificantClick = function (e) {\n var data, insignificantMetaClick, link, metaClick, method, nonPrimaryMouseClick;\n link = this;\n method = (link.getAttribute('data-method') || 'GET').toUpperCase();\n data = link.getAttribute('data-params');\n metaClick = e.metaKey || e.ctrlKey;\n insignificantMetaClick = metaClick && method === 'GET' && !data;\n nonPrimaryMouseClick = e.button != null && e.button !== 0;\n\n if (nonPrimaryMouseClick || insignificantMetaClick) {\n return e.stopImmediatePropagation();\n }\n };\n }).call(this);\n (function () {\n var $, CSRFProtection, delegate, disableElement, enableElement, fire, formSubmitButtonClick, getData, handleConfirm, handleDisabledElement, handleMethod, handleRemote, loadCSPNonce, preventInsignificantClick, refreshCSRFTokens;\n fire = Rails.fire, delegate = Rails.delegate, getData = Rails.getData, $ = Rails.$, refreshCSRFTokens = Rails.refreshCSRFTokens, CSRFProtection = Rails.CSRFProtection, loadCSPNonce = Rails.loadCSPNonce, enableElement = Rails.enableElement, disableElement = Rails.disableElement, handleDisabledElement = Rails.handleDisabledElement, handleConfirm = Rails.handleConfirm, preventInsignificantClick = Rails.preventInsignificantClick, handleRemote = Rails.handleRemote, formSubmitButtonClick = Rails.formSubmitButtonClick, handleMethod = Rails.handleMethod;\n\n if (typeof jQuery !== \"undefined\" && jQuery !== null && jQuery.ajax != null) {\n if (jQuery.rails) {\n throw new Error('If you load both jquery_ujs and rails-ujs, use rails-ujs only.');\n }\n\n jQuery.rails = Rails;\n jQuery.ajaxPrefilter(function (options, originalOptions, xhr) {\n if (!options.crossDomain) {\n return CSRFProtection(xhr);\n }\n });\n }\n\n Rails.start = function () {\n if (window._rails_loaded) {\n throw new Error('rails-ujs has already been loaded!');\n }\n\n window.addEventListener('pageshow', function () {\n $(Rails.formEnableSelector).forEach(function (el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n return $(Rails.linkDisableSelector).forEach(function (el) {\n if (getData(el, 'ujs:disabled')) {\n return enableElement(el);\n }\n });\n });\n delegate(document, Rails.linkDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.linkDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.buttonDisableSelector, 'ajax:stopped', enableElement);\n delegate(document, Rails.linkClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.linkClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.linkClickSelector, 'click', handleConfirm);\n delegate(document, Rails.linkClickSelector, 'click', disableElement);\n delegate(document, Rails.linkClickSelector, 'click', handleRemote);\n delegate(document, Rails.linkClickSelector, 'click', handleMethod);\n delegate(document, Rails.buttonClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.buttonClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleConfirm);\n delegate(document, Rails.buttonClickSelector, 'click', disableElement);\n delegate(document, Rails.buttonClickSelector, 'click', handleRemote);\n delegate(document, Rails.inputChangeSelector, 'change', handleDisabledElement);\n delegate(document, Rails.inputChangeSelector, 'change', handleConfirm);\n delegate(document, Rails.inputChangeSelector, 'change', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', handleDisabledElement);\n delegate(document, Rails.formSubmitSelector, 'submit', handleConfirm);\n delegate(document, Rails.formSubmitSelector, 'submit', handleRemote);\n delegate(document, Rails.formSubmitSelector, 'submit', function (e) {\n return setTimeout(function () {\n return disableElement(e);\n }, 13);\n });\n delegate(document, Rails.formSubmitSelector, 'ajax:send', disableElement);\n delegate(document, Rails.formSubmitSelector, 'ajax:complete', enableElement);\n delegate(document, Rails.formInputClickSelector, 'click', preventInsignificantClick);\n delegate(document, Rails.formInputClickSelector, 'click', handleDisabledElement);\n delegate(document, Rails.formInputClickSelector, 'click', handleConfirm);\n delegate(document, Rails.formInputClickSelector, 'click', formSubmitButtonClick);\n document.addEventListener('DOMContentLoaded', refreshCSRFTokens);\n document.addEventListener('DOMContentLoaded', loadCSPNonce);\n return window._rails_loaded = true;\n };\n\n if (window.Rails === Rails && fire(document, 'rails:attachBindings')) {\n Rails.start();\n }\n }).call(this);\n }).call(this);\n\n if ((typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) === \"object\" && module.exports) {\n module.exports = Rails;\n } else if (typeof define === \"function\" && define.amd) {\n define(Rails);\n }\n}).call(this);","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/*!\n * Bootstrap v4.5.0 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery'), require('popper.js')) : typeof define === 'function' && define.amd ? define(['exports', 'jquery', 'popper.js'], factory) : (global = global || self, factory(global.bootstrap = {}, global.jQuery, global.Popper));\n})(this, function (exports, $, Popper) {\n 'use strict';\n\n $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;\n Popper = Popper && Object.prototype.hasOwnProperty.call(Popper, 'default') ? Popper['default'] : Popper;\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\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n 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 function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n }\n\n function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n }\n\n function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n }\n /**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n\n var TRANSITION_END = 'transitionend';\n var MAX_UID = 1000000;\n var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)\n\n function toType(obj) {\n if (obj === null || typeof obj === 'undefined') {\n return \"\" + obj;\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase();\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle: function handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params\n }\n\n return undefined;\n }\n };\n }\n\n function transitionEndEmulator(duration) {\n var _this = this;\n\n var called = false;\n $(this).one(Util.TRANSITION_END, function () {\n called = true;\n });\n setTimeout(function () {\n if (!called) {\n Util.triggerTransitionEnd(_this);\n }\n }, duration);\n return this;\n }\n\n function setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator;\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();\n }\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n\n var Util = {\n TRANSITION_END: 'bsTransitionEnd',\n getUID: function getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID); // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix));\n\n return prefix;\n },\n getSelectorFromElement: function getSelectorFromElement(element) {\n var selector = element.getAttribute('data-target');\n\n if (!selector || selector === '#') {\n var hrefAttr = element.getAttribute('href');\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : '';\n }\n\n try {\n return document.querySelector(selector) ? selector : null;\n } catch (err) {\n return null;\n }\n },\n getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {\n if (!element) {\n return 0;\n } // Get transition-duration of the element\n\n\n var transitionDuration = $(element).css('transition-duration');\n var transitionDelay = $(element).css('transition-delay');\n var floatTransitionDuration = parseFloat(transitionDuration);\n var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found\n\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0;\n } // If multiple durations are defined, take the first\n\n\n transitionDuration = transitionDuration.split(',')[0];\n transitionDelay = transitionDelay.split(',')[0];\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;\n },\n reflow: function reflow(element) {\n return element.offsetHeight;\n },\n triggerTransitionEnd: function triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END);\n },\n // TODO: Remove in v5\n supportsTransitionEnd: function supportsTransitionEnd() {\n return Boolean(TRANSITION_END);\n },\n isElement: function isElement(obj) {\n return (obj[0] || obj).nodeType;\n },\n typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {\n for (var property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n var expectedTypes = configTypes[property];\n var value = config[property];\n var valueType = value && Util.isElement(value) ? 'element' : toType(value);\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(componentName.toUpperCase() + \": \" + (\"Option \\\"\" + property + \"\\\" provided type \\\"\" + valueType + \"\\\" \") + (\"but expected type \\\"\" + expectedTypes + \"\\\".\"));\n }\n }\n }\n },\n findShadowRoot: function findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null;\n } // Can find the shadow root otherwise it'll return the document\n\n\n if (typeof element.getRootNode === 'function') {\n var root = element.getRootNode();\n return root instanceof ShadowRoot ? root : null;\n }\n\n if (element instanceof ShadowRoot) {\n return element;\n } // when we don't find a shadow root\n\n\n if (!element.parentNode) {\n return null;\n }\n\n return Util.findShadowRoot(element.parentNode);\n },\n jQueryDetection: function jQueryDetection() {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.');\n }\n\n var version = $.fn.jquery.split(' ')[0].split('.');\n var minMajor = 1;\n var ltMajor = 2;\n var minMinor = 9;\n var minPatch = 1;\n var maxMajor = 4;\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');\n }\n }\n };\n Util.jQueryDetection();\n setTransitionEndSupport();\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME = 'alert';\n var VERSION = '4.5.0';\n var DATA_KEY = 'bs.alert';\n var EVENT_KEY = \".\" + DATA_KEY;\n var DATA_API_KEY = '.data-api';\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n var SELECTOR_DISMISS = '[data-dismiss=\"alert\"]';\n var EVENT_CLOSE = \"close\" + EVENT_KEY;\n var EVENT_CLOSED = \"closed\" + EVENT_KEY;\n var EVENT_CLICK_DATA_API = \"click\" + EVENT_KEY + DATA_API_KEY;\n var CLASS_NAME_ALERT = 'alert';\n var CLASS_NAME_FADE = 'fade';\n var CLASS_NAME_SHOW = 'show';\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Alert = /*#__PURE__*/function () {\n function Alert(element) {\n this._element = element;\n } // Getters\n\n\n var _proto = Alert.prototype; // Public\n\n _proto.close = function close(element) {\n var rootElement = this._element;\n\n if (element) {\n rootElement = this._getRootElement(element);\n }\n\n var customEvent = this._triggerCloseEvent(rootElement);\n\n if (customEvent.isDefaultPrevented()) {\n return;\n }\n\n this._removeElement(rootElement);\n };\n\n _proto.dispose = function dispose() {\n $.removeData(this._element, DATA_KEY);\n this._element = null;\n } // Private\n ;\n\n _proto._getRootElement = function _getRootElement(element) {\n var selector = Util.getSelectorFromElement(element);\n var parent = false;\n\n if (selector) {\n parent = document.querySelector(selector);\n }\n\n if (!parent) {\n parent = $(element).closest(\".\" + CLASS_NAME_ALERT)[0];\n }\n\n return parent;\n };\n\n _proto._triggerCloseEvent = function _triggerCloseEvent(element) {\n var closeEvent = $.Event(EVENT_CLOSE);\n $(element).trigger(closeEvent);\n return closeEvent;\n };\n\n _proto._removeElement = function _removeElement(element) {\n var _this = this;\n\n $(element).removeClass(CLASS_NAME_SHOW);\n\n if (!$(element).hasClass(CLASS_NAME_FADE)) {\n this._destroyElement(element);\n\n return;\n }\n\n var transitionDuration = Util.getTransitionDurationFromElement(element);\n $(element).one(Util.TRANSITION_END, function (event) {\n return _this._destroyElement(element, event);\n }).emulateTransitionEnd(transitionDuration);\n };\n\n _proto._destroyElement = function _destroyElement(element) {\n $(element).detach().trigger(EVENT_CLOSED).remove();\n } // Static\n ;\n\n Alert._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var $element = $(this);\n var data = $element.data(DATA_KEY);\n\n if (!data) {\n data = new Alert(this);\n $element.data(DATA_KEY, data);\n }\n\n if (config === 'close') {\n data[config](this);\n }\n });\n };\n\n Alert._handleDismiss = function _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault();\n }\n\n alertInstance.close(this);\n };\n };\n\n _createClass(Alert, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION;\n }\n }]);\n\n return Alert;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $(document).on(EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert._handleDismiss(new Alert()));\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Alert._jQueryInterface;\n $.fn[NAME].Constructor = Alert;\n\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Alert._jQueryInterface;\n };\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n\n var NAME$1 = 'button';\n var VERSION$1 = '4.5.0';\n var DATA_KEY$1 = 'bs.button';\n var EVENT_KEY$1 = \".\" + DATA_KEY$1;\n var DATA_API_KEY$1 = '.data-api';\n var JQUERY_NO_CONFLICT$1 = $.fn[NAME$1];\n var CLASS_NAME_ACTIVE = 'active';\n var CLASS_NAME_BUTTON = 'btn';\n var CLASS_NAME_FOCUS = 'focus';\n var SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^=\"button\"]';\n var SELECTOR_DATA_TOGGLES = '[data-toggle=\"buttons\"]';\n var SELECTOR_DATA_TOGGLE = '[data-toggle=\"button\"]';\n var SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle=\"buttons\"] .btn';\n var SELECTOR_INPUT = 'input:not([type=\"hidden\"])';\n var SELECTOR_ACTIVE = '.active';\n var SELECTOR_BUTTON = '.btn';\n var EVENT_CLICK_DATA_API$1 = \"click\" + EVENT_KEY$1 + DATA_API_KEY$1;\n var EVENT_FOCUS_BLUR_DATA_API = \"focus\" + EVENT_KEY$1 + DATA_API_KEY$1 + \" \" + (\"blur\" + EVENT_KEY$1 + DATA_API_KEY$1);\n var EVENT_LOAD_DATA_API = \"load\" + EVENT_KEY$1 + DATA_API_KEY$1;\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Button = /*#__PURE__*/function () {\n function Button(element) {\n this._element = element;\n } // Getters\n\n\n var _proto = Button.prototype; // Public\n\n _proto.toggle = function toggle() {\n var triggerChangeEvent = true;\n var addAriaPressed = true;\n var rootElement = $(this._element).closest(SELECTOR_DATA_TOGGLES)[0];\n\n if (rootElement) {\n var input = this._element.querySelector(SELECTOR_INPUT);\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE)) {\n triggerChangeEvent = false;\n } else {\n var activeElement = rootElement.querySelector(SELECTOR_ACTIVE);\n\n if (activeElement) {\n $(activeElement).removeClass(CLASS_NAME_ACTIVE);\n }\n }\n }\n\n if (triggerChangeEvent) {\n // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input\n if (input.type === 'checkbox' || input.type === 'radio') {\n input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE);\n }\n\n $(input).trigger('change');\n }\n\n input.focus();\n addAriaPressed = false;\n }\n }\n\n if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE));\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(CLASS_NAME_ACTIVE);\n }\n }\n };\n\n _proto.dispose = function dispose() {\n $.removeData(this._element, DATA_KEY$1);\n this._element = null;\n } // Static\n ;\n\n Button._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY$1);\n\n if (!data) {\n data = new Button(this);\n $(this).data(DATA_KEY$1, data);\n }\n\n if (config === 'toggle') {\n data[config]();\n }\n });\n };\n\n _createClass(Button, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$1;\n }\n }]);\n\n return Button;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $(document).on(EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE_CARROT, function (event) {\n var button = event.target;\n var initialButton = button;\n\n if (!$(button).hasClass(CLASS_NAME_BUTTON)) {\n button = $(button).closest(SELECTOR_BUTTON)[0];\n }\n\n if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {\n event.preventDefault(); // work around Firefox bug #1540995\n } else {\n var inputBtn = button.querySelector(SELECTOR_INPUT);\n\n if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {\n event.preventDefault(); // work around Firefox bug #1540995\n\n return;\n }\n\n if (initialButton.tagName === 'LABEL' && inputBtn && inputBtn.type === 'checkbox') {\n event.preventDefault(); // work around event sent to label and input\n }\n\n Button._jQueryInterface.call($(button), 'toggle');\n }\n }).on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {\n var button = $(event.target).closest(SELECTOR_BUTTON)[0];\n $(button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type));\n });\n $(window).on(EVENT_LOAD_DATA_API, function () {\n // ensure correct active class is set to match the controls' actual values/states\n // find all checkboxes/readio buttons inside data-toggle groups\n var buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS));\n\n for (var i = 0, len = buttons.length; i < len; i++) {\n var button = buttons[i];\n var input = button.querySelector(SELECTOR_INPUT);\n\n if (input.checked || input.hasAttribute('checked')) {\n button.classList.add(CLASS_NAME_ACTIVE);\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE);\n }\n } // find all button toggles\n\n\n buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE));\n\n for (var _i = 0, _len = buttons.length; _i < _len; _i++) {\n var _button = buttons[_i];\n\n if (_button.getAttribute('aria-pressed') === 'true') {\n _button.classList.add(CLASS_NAME_ACTIVE);\n } else {\n _button.classList.remove(CLASS_NAME_ACTIVE);\n }\n }\n });\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME$1] = Button._jQueryInterface;\n $.fn[NAME$1].Constructor = Button;\n\n $.fn[NAME$1].noConflict = function () {\n $.fn[NAME$1] = JQUERY_NO_CONFLICT$1;\n return Button._jQueryInterface;\n };\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n\n var NAME$2 = 'carousel';\n var VERSION$2 = '4.5.0';\n var DATA_KEY$2 = 'bs.carousel';\n var EVENT_KEY$2 = \".\" + DATA_KEY$2;\n var DATA_API_KEY$2 = '.data-api';\n var JQUERY_NO_CONFLICT$2 = $.fn[NAME$2];\n var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key\n\n var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key\n\n var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch\n\n var SWIPE_THRESHOLD = 40;\n var Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n };\n var DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n };\n var DIRECTION_NEXT = 'next';\n var DIRECTION_PREV = 'prev';\n var DIRECTION_LEFT = 'left';\n var DIRECTION_RIGHT = 'right';\n var EVENT_SLIDE = \"slide\" + EVENT_KEY$2;\n var EVENT_SLID = \"slid\" + EVENT_KEY$2;\n var EVENT_KEYDOWN = \"keydown\" + EVENT_KEY$2;\n var EVENT_MOUSEENTER = \"mouseenter\" + EVENT_KEY$2;\n var EVENT_MOUSELEAVE = \"mouseleave\" + EVENT_KEY$2;\n var EVENT_TOUCHSTART = \"touchstart\" + EVENT_KEY$2;\n var EVENT_TOUCHMOVE = \"touchmove\" + EVENT_KEY$2;\n var EVENT_TOUCHEND = \"touchend\" + EVENT_KEY$2;\n var EVENT_POINTERDOWN = \"pointerdown\" + EVENT_KEY$2;\n var EVENT_POINTERUP = \"pointerup\" + EVENT_KEY$2;\n var EVENT_DRAG_START = \"dragstart\" + EVENT_KEY$2;\n var EVENT_LOAD_DATA_API$1 = \"load\" + EVENT_KEY$2 + DATA_API_KEY$2;\n var EVENT_CLICK_DATA_API$2 = \"click\" + EVENT_KEY$2 + DATA_API_KEY$2;\n var CLASS_NAME_CAROUSEL = 'carousel';\n var CLASS_NAME_ACTIVE$1 = 'active';\n var CLASS_NAME_SLIDE = 'slide';\n var CLASS_NAME_RIGHT = 'carousel-item-right';\n var CLASS_NAME_LEFT = 'carousel-item-left';\n var CLASS_NAME_NEXT = 'carousel-item-next';\n var CLASS_NAME_PREV = 'carousel-item-prev';\n var CLASS_NAME_POINTER_EVENT = 'pointer-event';\n var SELECTOR_ACTIVE$1 = '.active';\n var SELECTOR_ACTIVE_ITEM = '.active.carousel-item';\n var SELECTOR_ITEM = '.carousel-item';\n var SELECTOR_ITEM_IMG = '.carousel-item img';\n var SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev';\n var SELECTOR_INDICATORS = '.carousel-indicators';\n var SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]';\n var SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]';\n var PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n };\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Carousel = /*#__PURE__*/function () {\n function Carousel(element, config) {\n this._items = null;\n this._interval = null;\n this._activeElement = null;\n this._isPaused = false;\n this._isSliding = false;\n this.touchTimeout = null;\n this.touchStartX = 0;\n this.touchDeltaX = 0;\n this._config = this._getConfig(config);\n this._element = element;\n this._indicatorsElement = this._element.querySelector(SELECTOR_INDICATORS);\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent);\n\n this._addEventListeners();\n } // Getters\n\n\n var _proto = Carousel.prototype; // Public\n\n _proto.next = function next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT);\n }\n };\n\n _proto.nextWhenVisible = function nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && $(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden') {\n this.next();\n }\n };\n\n _proto.prev = function prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV);\n }\n };\n\n _proto.pause = function pause(event) {\n if (!event) {\n this._isPaused = true;\n }\n\n if (this._element.querySelector(SELECTOR_NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element);\n this.cycle(true);\n }\n\n clearInterval(this._interval);\n this._interval = null;\n };\n\n _proto.cycle = function cycle(event) {\n if (!event) {\n this._isPaused = false;\n }\n\n if (this._interval) {\n clearInterval(this._interval);\n this._interval = null;\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);\n }\n };\n\n _proto.to = function to(index) {\n var _this = this;\n\n this._activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM);\n\n var activeIndex = this._getItemIndex(this._activeElement);\n\n if (index > this._items.length - 1 || index < 0) {\n return;\n }\n\n if (this._isSliding) {\n $(this._element).one(EVENT_SLID, function () {\n return _this.to(index);\n });\n return;\n }\n\n if (activeIndex === index) {\n this.pause();\n this.cycle();\n return;\n }\n\n var direction = index > activeIndex ? DIRECTION_NEXT : DIRECTION_PREV;\n\n this._slide(direction, this._items[index]);\n };\n\n _proto.dispose = function dispose() {\n $(this._element).off(EVENT_KEY$2);\n $.removeData(this._element, DATA_KEY$2);\n this._items = null;\n this._config = null;\n this._element = null;\n this._interval = null;\n this._isPaused = null;\n this._isSliding = null;\n this._activeElement = null;\n this._indicatorsElement = null;\n } // Private\n ;\n\n _proto._getConfig = function _getConfig(config) {\n config = _objectSpread2(_objectSpread2({}, Default), config);\n Util.typeCheckConfig(NAME$2, config, DefaultType);\n return config;\n };\n\n _proto._handleSwipe = function _handleSwipe() {\n var absDeltax = Math.abs(this.touchDeltaX);\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return;\n }\n\n var direction = absDeltax / this.touchDeltaX;\n this.touchDeltaX = 0; // swipe left\n\n if (direction > 0) {\n this.prev();\n } // swipe right\n\n\n if (direction < 0) {\n this.next();\n }\n };\n\n _proto._addEventListeners = function _addEventListeners() {\n var _this2 = this;\n\n if (this._config.keyboard) {\n $(this._element).on(EVENT_KEYDOWN, function (event) {\n return _this2._keydown(event);\n });\n }\n\n if (this._config.pause === 'hover') {\n $(this._element).on(EVENT_MOUSEENTER, function (event) {\n return _this2.pause(event);\n }).on(EVENT_MOUSELEAVE, function (event) {\n return _this2.cycle(event);\n });\n }\n\n if (this._config.touch) {\n this._addTouchEventListeners();\n }\n };\n\n _proto._addTouchEventListeners = function _addTouchEventListeners() {\n var _this3 = this;\n\n if (!this._touchSupported) {\n return;\n }\n\n var start = function start(event) {\n if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n _this3.touchStartX = event.originalEvent.clientX;\n } else if (!_this3._pointerEvent) {\n _this3.touchStartX = event.originalEvent.touches[0].clientX;\n }\n };\n\n var move = function move(event) {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n _this3.touchDeltaX = 0;\n } else {\n _this3.touchDeltaX = event.originalEvent.touches[0].clientX - _this3.touchStartX;\n }\n };\n\n var end = function end(event) {\n if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n _this3.touchDeltaX = event.originalEvent.clientX - _this3.touchStartX;\n }\n\n _this3._handleSwipe();\n\n if (_this3._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n _this3.pause();\n\n if (_this3.touchTimeout) {\n clearTimeout(_this3.touchTimeout);\n }\n\n _this3.touchTimeout = setTimeout(function (event) {\n return _this3.cycle(event);\n }, TOUCHEVENT_COMPAT_WAIT + _this3._config.interval);\n }\n };\n\n $(this._element.querySelectorAll(SELECTOR_ITEM_IMG)).on(EVENT_DRAG_START, function (e) {\n return e.preventDefault();\n });\n\n if (this._pointerEvent) {\n $(this._element).on(EVENT_POINTERDOWN, function (event) {\n return start(event);\n });\n $(this._element).on(EVENT_POINTERUP, function (event) {\n return end(event);\n });\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT);\n } else {\n $(this._element).on(EVENT_TOUCHSTART, function (event) {\n return start(event);\n });\n $(this._element).on(EVENT_TOUCHMOVE, function (event) {\n return move(event);\n });\n $(this._element).on(EVENT_TOUCHEND, function (event) {\n return end(event);\n });\n }\n };\n\n _proto._keydown = function _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return;\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault();\n this.prev();\n break;\n\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault();\n this.next();\n break;\n }\n };\n\n _proto._getItemIndex = function _getItemIndex(element) {\n this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(SELECTOR_ITEM)) : [];\n return this._items.indexOf(element);\n };\n\n _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {\n var isNextDirection = direction === DIRECTION_NEXT;\n var isPrevDirection = direction === DIRECTION_PREV;\n\n var activeIndex = this._getItemIndex(activeElement);\n\n var lastItemIndex = this._items.length - 1;\n var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement;\n }\n\n var delta = direction === DIRECTION_PREV ? -1 : 1;\n var itemIndex = (activeIndex + delta) % this._items.length;\n return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];\n };\n\n _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {\n var targetIndex = this._getItemIndex(relatedTarget);\n\n var fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM));\n\n var slideEvent = $.Event(EVENT_SLIDE, {\n relatedTarget: relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n });\n $(this._element).trigger(slideEvent);\n return slideEvent;\n };\n\n _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE$1));\n $(indicators).removeClass(CLASS_NAME_ACTIVE$1);\n\n var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];\n\n if (nextIndicator) {\n $(nextIndicator).addClass(CLASS_NAME_ACTIVE$1);\n }\n }\n };\n\n _proto._slide = function _slide(direction, element) {\n var _this4 = this;\n\n var activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM);\n\n var activeElementIndex = this._getItemIndex(activeElement);\n\n var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);\n\n var nextElementIndex = this._getItemIndex(nextElement);\n\n var isCycling = Boolean(this._interval);\n var directionalClassName;\n var orderClassName;\n var eventDirectionName;\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT;\n orderClassName = CLASS_NAME_NEXT;\n eventDirectionName = DIRECTION_LEFT;\n } else {\n directionalClassName = CLASS_NAME_RIGHT;\n orderClassName = CLASS_NAME_PREV;\n eventDirectionName = DIRECTION_RIGHT;\n }\n\n if (nextElement && $(nextElement).hasClass(CLASS_NAME_ACTIVE$1)) {\n this._isSliding = false;\n return;\n }\n\n var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);\n\n if (slideEvent.isDefaultPrevented()) {\n return;\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return;\n }\n\n this._isSliding = true;\n\n if (isCycling) {\n this.pause();\n }\n\n this._setActiveIndicatorElement(nextElement);\n\n var slidEvent = $.Event(EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n });\n\n if ($(this._element).hasClass(CLASS_NAME_SLIDE)) {\n $(nextElement).addClass(orderClassName);\n Util.reflow(nextElement);\n $(activeElement).addClass(directionalClassName);\n $(nextElement).addClass(directionalClassName);\n var nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10);\n\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval;\n this._config.interval = nextElementInterval;\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval;\n }\n\n var transitionDuration = Util.getTransitionDurationFromElement(activeElement);\n $(activeElement).one(Util.TRANSITION_END, function () {\n $(nextElement).removeClass(directionalClassName + \" \" + orderClassName).addClass(CLASS_NAME_ACTIVE$1);\n $(activeElement).removeClass(CLASS_NAME_ACTIVE$1 + \" \" + orderClassName + \" \" + directionalClassName);\n _this4._isSliding = false;\n setTimeout(function () {\n return $(_this4._element).trigger(slidEvent);\n }, 0);\n }).emulateTransitionEnd(transitionDuration);\n } else {\n $(activeElement).removeClass(CLASS_NAME_ACTIVE$1);\n $(nextElement).addClass(CLASS_NAME_ACTIVE$1);\n this._isSliding = false;\n $(this._element).trigger(slidEvent);\n }\n\n if (isCycling) {\n this.cycle();\n }\n } // Static\n ;\n\n Carousel._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY$2);\n\n var _config = _objectSpread2(_objectSpread2({}, Default), $(this).data());\n\n if (_typeof(config) === 'object') {\n _config = _objectSpread2(_objectSpread2({}, _config), config);\n }\n\n var action = typeof config === 'string' ? config : _config.slide;\n\n if (!data) {\n data = new Carousel(this, _config);\n $(this).data(DATA_KEY$2, data);\n }\n\n if (typeof config === 'number') {\n data.to(config);\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + action + \"\\\"\");\n }\n\n data[action]();\n } else if (_config.interval && _config.ride) {\n data.pause();\n data.cycle();\n }\n });\n };\n\n Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {\n var selector = Util.getSelectorFromElement(this);\n\n if (!selector) {\n return;\n }\n\n var target = $(selector)[0];\n\n if (!target || !$(target).hasClass(CLASS_NAME_CAROUSEL)) {\n return;\n }\n\n var config = _objectSpread2(_objectSpread2({}, $(target).data()), $(this).data());\n\n var slideIndex = this.getAttribute('data-slide-to');\n\n if (slideIndex) {\n config.interval = false;\n }\n\n Carousel._jQueryInterface.call($(target), config);\n\n if (slideIndex) {\n $(target).data(DATA_KEY$2).to(slideIndex);\n }\n\n event.preventDefault();\n };\n\n _createClass(Carousel, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$2;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default;\n }\n }]);\n\n return Carousel;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $(document).on(EVENT_CLICK_DATA_API$2, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler);\n $(window).on(EVENT_LOAD_DATA_API$1, function () {\n var carousels = [].slice.call(document.querySelectorAll(SELECTOR_DATA_RIDE));\n\n for (var i = 0, len = carousels.length; i < len; i++) {\n var $carousel = $(carousels[i]);\n\n Carousel._jQueryInterface.call($carousel, $carousel.data());\n }\n });\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME$2] = Carousel._jQueryInterface;\n $.fn[NAME$2].Constructor = Carousel;\n\n $.fn[NAME$2].noConflict = function () {\n $.fn[NAME$2] = JQUERY_NO_CONFLICT$2;\n return Carousel._jQueryInterface;\n };\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n\n var NAME$3 = 'collapse';\n var VERSION$3 = '4.5.0';\n var DATA_KEY$3 = 'bs.collapse';\n var EVENT_KEY$3 = \".\" + DATA_KEY$3;\n var DATA_API_KEY$3 = '.data-api';\n var JQUERY_NO_CONFLICT$3 = $.fn[NAME$3];\n var Default$1 = {\n toggle: true,\n parent: ''\n };\n var DefaultType$1 = {\n toggle: 'boolean',\n parent: '(string|element)'\n };\n var EVENT_SHOW = \"show\" + EVENT_KEY$3;\n var EVENT_SHOWN = \"shown\" + EVENT_KEY$3;\n var EVENT_HIDE = \"hide\" + EVENT_KEY$3;\n var EVENT_HIDDEN = \"hidden\" + EVENT_KEY$3;\n var EVENT_CLICK_DATA_API$3 = \"click\" + EVENT_KEY$3 + DATA_API_KEY$3;\n var CLASS_NAME_SHOW$1 = 'show';\n var CLASS_NAME_COLLAPSE = 'collapse';\n var CLASS_NAME_COLLAPSING = 'collapsing';\n var CLASS_NAME_COLLAPSED = 'collapsed';\n var DIMENSION_WIDTH = 'width';\n var DIMENSION_HEIGHT = 'height';\n var SELECTOR_ACTIVES = '.show, .collapsing';\n var SELECTOR_DATA_TOGGLE$1 = '[data-toggle=\"collapse\"]';\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Collapse = /*#__PURE__*/function () {\n function Collapse(element, config) {\n this._isTransitioning = false;\n this._element = element;\n this._config = this._getConfig(config);\n this._triggerArray = [].slice.call(document.querySelectorAll(\"[data-toggle=\\\"collapse\\\"][href=\\\"#\" + element.id + \"\\\"],\" + (\"[data-toggle=\\\"collapse\\\"][data-target=\\\"#\" + element.id + \"\\\"]\")));\n var toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$1));\n\n for (var i = 0, len = toggleList.length; i < len; i++) {\n var elem = toggleList[i];\n var selector = Util.getSelectorFromElement(elem);\n var filterElement = [].slice.call(document.querySelectorAll(selector)).filter(function (foundElem) {\n return foundElem === element;\n });\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector;\n\n this._triggerArray.push(elem);\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null;\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray);\n }\n\n if (this._config.toggle) {\n this.toggle();\n }\n } // Getters\n\n\n var _proto = Collapse.prototype; // Public\n\n _proto.toggle = function toggle() {\n if ($(this._element).hasClass(CLASS_NAME_SHOW$1)) {\n this.hide();\n } else {\n this.show();\n }\n };\n\n _proto.show = function show() {\n var _this = this;\n\n if (this._isTransitioning || $(this._element).hasClass(CLASS_NAME_SHOW$1)) {\n return;\n }\n\n var actives;\n var activesData;\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES)).filter(function (elem) {\n if (typeof _this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === _this._config.parent;\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE);\n });\n\n if (actives.length === 0) {\n actives = null;\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY$3);\n\n if (activesData && activesData._isTransitioning) {\n return;\n }\n }\n\n var startEvent = $.Event(EVENT_SHOW);\n $(this._element).trigger(startEvent);\n\n if (startEvent.isDefaultPrevented()) {\n return;\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide');\n\n if (!activesData) {\n $(actives).data(DATA_KEY$3, null);\n }\n }\n\n var dimension = this._getDimension();\n\n $(this._element).removeClass(CLASS_NAME_COLLAPSE).addClass(CLASS_NAME_COLLAPSING);\n this._element.style[dimension] = 0;\n\n if (this._triggerArray.length) {\n $(this._triggerArray).removeClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', true);\n }\n\n this.setTransitioning(true);\n\n var complete = function complete() {\n $(_this._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE + \" \" + CLASS_NAME_SHOW$1);\n _this._element.style[dimension] = '';\n\n _this.setTransitioning(false);\n\n $(_this._element).trigger(EVENT_SHOWN);\n };\n\n var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);\n var scrollSize = \"scroll\" + capitalizedDimension;\n var transitionDuration = Util.getTransitionDurationFromElement(this._element);\n $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n this._element.style[dimension] = this._element[scrollSize] + \"px\";\n };\n\n _proto.hide = function hide() {\n var _this2 = this;\n\n if (this._isTransitioning || !$(this._element).hasClass(CLASS_NAME_SHOW$1)) {\n return;\n }\n\n var startEvent = $.Event(EVENT_HIDE);\n $(this._element).trigger(startEvent);\n\n if (startEvent.isDefaultPrevented()) {\n return;\n }\n\n var dimension = this._getDimension();\n\n this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + \"px\";\n Util.reflow(this._element);\n $(this._element).addClass(CLASS_NAME_COLLAPSING).removeClass(CLASS_NAME_COLLAPSE + \" \" + CLASS_NAME_SHOW$1);\n var triggerArrayLength = this._triggerArray.length;\n\n if (triggerArrayLength > 0) {\n for (var i = 0; i < triggerArrayLength; i++) {\n var trigger = this._triggerArray[i];\n var selector = Util.getSelectorFromElement(trigger);\n\n if (selector !== null) {\n var $elem = $([].slice.call(document.querySelectorAll(selector)));\n\n if (!$elem.hasClass(CLASS_NAME_SHOW$1)) {\n $(trigger).addClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', false);\n }\n }\n }\n }\n\n this.setTransitioning(true);\n\n var complete = function complete() {\n _this2.setTransitioning(false);\n\n $(_this2._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE).trigger(EVENT_HIDDEN);\n };\n\n this._element.style[dimension] = '';\n var transitionDuration = Util.getTransitionDurationFromElement(this._element);\n $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n };\n\n _proto.setTransitioning = function setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning;\n };\n\n _proto.dispose = function dispose() {\n $.removeData(this._element, DATA_KEY$3);\n this._config = null;\n this._parent = null;\n this._element = null;\n this._triggerArray = null;\n this._isTransitioning = null;\n } // Private\n ;\n\n _proto._getConfig = function _getConfig(config) {\n config = _objectSpread2(_objectSpread2({}, Default$1), config);\n config.toggle = Boolean(config.toggle); // Coerce string values\n\n Util.typeCheckConfig(NAME$3, config, DefaultType$1);\n return config;\n };\n\n _proto._getDimension = function _getDimension() {\n var hasWidth = $(this._element).hasClass(DIMENSION_WIDTH);\n return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT;\n };\n\n _proto._getParent = function _getParent() {\n var _this3 = this;\n\n var parent;\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent; // It's a jQuery object\n\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0];\n }\n } else {\n parent = document.querySelector(this._config.parent);\n }\n\n var selector = \"[data-toggle=\\\"collapse\\\"][data-parent=\\\"\" + this._config.parent + \"\\\"]\";\n var children = [].slice.call(parent.querySelectorAll(selector));\n $(children).each(function (i, element) {\n _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);\n });\n return parent;\n };\n\n _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {\n var isOpen = $(element).hasClass(CLASS_NAME_SHOW$1);\n\n if (triggerArray.length) {\n $(triggerArray).toggleClass(CLASS_NAME_COLLAPSED, !isOpen).attr('aria-expanded', isOpen);\n }\n } // Static\n ;\n\n Collapse._getTargetFromElement = function _getTargetFromElement(element) {\n var selector = Util.getSelectorFromElement(element);\n return selector ? document.querySelector(selector) : null;\n };\n\n Collapse._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var $this = $(this);\n var data = $this.data(DATA_KEY$3);\n\n var _config = _objectSpread2(_objectSpread2(_objectSpread2({}, Default$1), $this.data()), _typeof(config) === 'object' && config ? config : {});\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false;\n }\n\n if (!data) {\n data = new Collapse(this, _config);\n $this.data(DATA_KEY$3, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config]();\n }\n });\n };\n\n _createClass(Collapse, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$3;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default$1;\n }\n }]);\n\n return Collapse;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $(document).on(EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$1, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault();\n }\n\n var $trigger = $(this);\n var selector = Util.getSelectorFromElement(this);\n var selectors = [].slice.call(document.querySelectorAll(selector));\n $(selectors).each(function () {\n var $target = $(this);\n var data = $target.data(DATA_KEY$3);\n var config = data ? 'toggle' : $trigger.data();\n\n Collapse._jQueryInterface.call($target, config);\n });\n });\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME$3] = Collapse._jQueryInterface;\n $.fn[NAME$3].Constructor = Collapse;\n\n $.fn[NAME$3].noConflict = function () {\n $.fn[NAME$3] = JQUERY_NO_CONFLICT$3;\n return Collapse._jQueryInterface;\n };\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n\n var NAME$4 = 'dropdown';\n var VERSION$4 = '4.5.0';\n var DATA_KEY$4 = 'bs.dropdown';\n var EVENT_KEY$4 = \".\" + DATA_KEY$4;\n var DATA_API_KEY$4 = '.data-api';\n var JQUERY_NO_CONFLICT$4 = $.fn[NAME$4];\n var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key\n\n var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key\n\n var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key\n\n var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key\n\n var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key\n\n var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)\n\n var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + \"|\" + ARROW_DOWN_KEYCODE + \"|\" + ESCAPE_KEYCODE);\n var EVENT_HIDE$1 = \"hide\" + EVENT_KEY$4;\n var EVENT_HIDDEN$1 = \"hidden\" + EVENT_KEY$4;\n var EVENT_SHOW$1 = \"show\" + EVENT_KEY$4;\n var EVENT_SHOWN$1 = \"shown\" + EVENT_KEY$4;\n var EVENT_CLICK = \"click\" + EVENT_KEY$4;\n var EVENT_CLICK_DATA_API$4 = \"click\" + EVENT_KEY$4 + DATA_API_KEY$4;\n var EVENT_KEYDOWN_DATA_API = \"keydown\" + EVENT_KEY$4 + DATA_API_KEY$4;\n var EVENT_KEYUP_DATA_API = \"keyup\" + EVENT_KEY$4 + DATA_API_KEY$4;\n var CLASS_NAME_DISABLED = 'disabled';\n var CLASS_NAME_SHOW$2 = 'show';\n var CLASS_NAME_DROPUP = 'dropup';\n var CLASS_NAME_DROPRIGHT = 'dropright';\n var CLASS_NAME_DROPLEFT = 'dropleft';\n var CLASS_NAME_MENURIGHT = 'dropdown-menu-right';\n var CLASS_NAME_POSITION_STATIC = 'position-static';\n var SELECTOR_DATA_TOGGLE$2 = '[data-toggle=\"dropdown\"]';\n var SELECTOR_FORM_CHILD = '.dropdown form';\n var SELECTOR_MENU = '.dropdown-menu';\n var SELECTOR_NAVBAR_NAV = '.navbar-nav';\n var SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';\n var PLACEMENT_TOP = 'top-start';\n var PLACEMENT_TOPEND = 'top-end';\n var PLACEMENT_BOTTOM = 'bottom-start';\n var PLACEMENT_BOTTOMEND = 'bottom-end';\n var PLACEMENT_RIGHT = 'right-start';\n var PLACEMENT_LEFT = 'left-start';\n var Default$2 = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n };\n var DefaultType$2 = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n };\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Dropdown = /*#__PURE__*/function () {\n function Dropdown(element, config) {\n this._element = element;\n this._popper = null;\n this._config = this._getConfig(config);\n this._menu = this._getMenuElement();\n this._inNavbar = this._detectNavbar();\n\n this._addEventListeners();\n } // Getters\n\n\n var _proto = Dropdown.prototype; // Public\n\n _proto.toggle = function toggle() {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED)) {\n return;\n }\n\n var isActive = $(this._menu).hasClass(CLASS_NAME_SHOW$2);\n\n Dropdown._clearMenus();\n\n if (isActive) {\n return;\n }\n\n this.show(true);\n };\n\n _proto.show = function show(usePopper) {\n if (usePopper === void 0) {\n usePopper = false;\n }\n\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || $(this._menu).hasClass(CLASS_NAME_SHOW$2)) {\n return;\n }\n\n var relatedTarget = {\n relatedTarget: this._element\n };\n var showEvent = $.Event(EVENT_SHOW$1, relatedTarget);\n\n var parent = Dropdown._getParentFromElement(this._element);\n\n $(parent).trigger(showEvent);\n\n if (showEvent.isDefaultPrevented()) {\n return;\n } // Disable totally Popper.js for Dropdown in Navbar\n\n\n if (!this._inNavbar && usePopper) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org/)');\n }\n\n var referenceElement = this._element;\n\n if (this._config.reference === 'parent') {\n referenceElement = parent;\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference; // Check if it's jQuery element\n\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0];\n }\n } // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n\n\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(CLASS_NAME_POSITION_STATIC);\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());\n } // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n\n\n if ('ontouchstart' in document.documentElement && $(parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop);\n }\n\n this._element.focus();\n\n this._element.setAttribute('aria-expanded', true);\n\n $(this._menu).toggleClass(CLASS_NAME_SHOW$2);\n $(parent).toggleClass(CLASS_NAME_SHOW$2).trigger($.Event(EVENT_SHOWN$1, relatedTarget));\n };\n\n _proto.hide = function hide() {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || !$(this._menu).hasClass(CLASS_NAME_SHOW$2)) {\n return;\n }\n\n var relatedTarget = {\n relatedTarget: this._element\n };\n var hideEvent = $.Event(EVENT_HIDE$1, relatedTarget);\n\n var parent = Dropdown._getParentFromElement(this._element);\n\n $(parent).trigger(hideEvent);\n\n if (hideEvent.isDefaultPrevented()) {\n return;\n }\n\n if (this._popper) {\n this._popper.destroy();\n }\n\n $(this._menu).toggleClass(CLASS_NAME_SHOW$2);\n $(parent).toggleClass(CLASS_NAME_SHOW$2).trigger($.Event(EVENT_HIDDEN$1, relatedTarget));\n };\n\n _proto.dispose = function dispose() {\n $.removeData(this._element, DATA_KEY$4);\n $(this._element).off(EVENT_KEY$4);\n this._element = null;\n this._menu = null;\n\n if (this._popper !== null) {\n this._popper.destroy();\n\n this._popper = null;\n }\n };\n\n _proto.update = function update() {\n this._inNavbar = this._detectNavbar();\n\n if (this._popper !== null) {\n this._popper.scheduleUpdate();\n }\n } // Private\n ;\n\n _proto._addEventListeners = function _addEventListeners() {\n var _this = this;\n\n $(this._element).on(EVENT_CLICK, function (event) {\n event.preventDefault();\n event.stopPropagation();\n\n _this.toggle();\n });\n };\n\n _proto._getConfig = function _getConfig(config) {\n config = _objectSpread2(_objectSpread2(_objectSpread2({}, this.constructor.Default), $(this._element).data()), config);\n Util.typeCheckConfig(NAME$4, config, this.constructor.DefaultType);\n return config;\n };\n\n _proto._getMenuElement = function _getMenuElement() {\n if (!this._menu) {\n var parent = Dropdown._getParentFromElement(this._element);\n\n if (parent) {\n this._menu = parent.querySelector(SELECTOR_MENU);\n }\n }\n\n return this._menu;\n };\n\n _proto._getPlacement = function _getPlacement() {\n var $parentDropdown = $(this._element.parentNode);\n var placement = PLACEMENT_BOTTOM; // Handle dropup\n\n if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) {\n placement = $(this._menu).hasClass(CLASS_NAME_MENURIGHT) ? PLACEMENT_TOPEND : PLACEMENT_TOP;\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT;\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT;\n } else if ($(this._menu).hasClass(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND;\n }\n\n return placement;\n };\n\n _proto._detectNavbar = function _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0;\n };\n\n _proto._getOffset = function _getOffset() {\n var _this2 = this;\n\n var offset = {};\n\n if (typeof this._config.offset === 'function') {\n offset.fn = function (data) {\n data.offsets = _objectSpread2(_objectSpread2({}, data.offsets), _this2._config.offset(data.offsets, _this2._element) || {});\n return data;\n };\n } else {\n offset.offset = this._config.offset;\n }\n\n return offset;\n };\n\n _proto._getPopperConfig = function _getPopperConfig() {\n var popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }; // Disable Popper.js if we have a static display\n\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n };\n }\n\n return _objectSpread2(_objectSpread2({}, popperConfig), this._config.popperConfig);\n } // Static\n ;\n\n Dropdown._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY$4);\n\n var _config = _typeof(config) === 'object' ? config : null;\n\n if (!data) {\n data = new Dropdown(this, _config);\n $(this).data(DATA_KEY$4, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config]();\n }\n });\n };\n\n Dropdown._clearMenus = function _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return;\n }\n\n var toggles = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE$2));\n\n for (var i = 0, len = toggles.length; i < len; i++) {\n var parent = Dropdown._getParentFromElement(toggles[i]);\n\n var context = $(toggles[i]).data(DATA_KEY$4);\n var relatedTarget = {\n relatedTarget: toggles[i]\n };\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event;\n }\n\n if (!context) {\n continue;\n }\n\n var dropdownMenu = context._menu;\n\n if (!$(parent).hasClass(CLASS_NAME_SHOW$2)) {\n continue;\n }\n\n if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $.contains(parent, event.target)) {\n continue;\n }\n\n var hideEvent = $.Event(EVENT_HIDE$1, relatedTarget);\n $(parent).trigger(hideEvent);\n\n if (hideEvent.isDefaultPrevented()) {\n continue;\n } // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n\n\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop);\n }\n\n toggles[i].setAttribute('aria-expanded', 'false');\n\n if (context._popper) {\n context._popper.destroy();\n }\n\n $(dropdownMenu).removeClass(CLASS_NAME_SHOW$2);\n $(parent).removeClass(CLASS_NAME_SHOW$2).trigger($.Event(EVENT_HIDDEN$1, relatedTarget));\n }\n };\n\n Dropdown._getParentFromElement = function _getParentFromElement(element) {\n var parent;\n var selector = Util.getSelectorFromElement(element);\n\n if (selector) {\n parent = document.querySelector(selector);\n }\n\n return parent || element.parentNode;\n } // eslint-disable-next-line complexity\n ;\n\n Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $(event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return;\n }\n\n if (this.disabled || $(this).hasClass(CLASS_NAME_DISABLED)) {\n return;\n }\n\n var parent = Dropdown._getParentFromElement(this);\n\n var isActive = $(parent).hasClass(CLASS_NAME_SHOW$2);\n\n if (!isActive && event.which === ESCAPE_KEYCODE) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n $(parent.querySelector(SELECTOR_DATA_TOGGLE$2)).trigger('focus');\n }\n\n $(this).trigger('click');\n return;\n }\n\n var items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS)).filter(function (item) {\n return $(item).is(':visible');\n });\n\n if (items.length === 0) {\n return;\n }\n\n var index = items.indexOf(event.target);\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) {\n // Up\n index--;\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {\n // Down\n index++;\n }\n\n if (index < 0) {\n index = 0;\n }\n\n items[index].focus();\n };\n\n _createClass(Dropdown, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$4;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default$2;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType$2;\n }\n }]);\n\n return Dropdown;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $(document).on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$2, Dropdown._dataApiKeydownHandler).on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler).on(EVENT_CLICK_DATA_API$4 + \" \" + EVENT_KEYUP_DATA_API, Dropdown._clearMenus).on(EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$2, function (event) {\n event.preventDefault();\n event.stopPropagation();\n\n Dropdown._jQueryInterface.call($(this), 'toggle');\n }).on(EVENT_CLICK_DATA_API$4, SELECTOR_FORM_CHILD, function (e) {\n e.stopPropagation();\n });\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME$4] = Dropdown._jQueryInterface;\n $.fn[NAME$4].Constructor = Dropdown;\n\n $.fn[NAME$4].noConflict = function () {\n $.fn[NAME$4] = JQUERY_NO_CONFLICT$4;\n return Dropdown._jQueryInterface;\n };\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n\n var NAME$5 = 'modal';\n var VERSION$5 = '4.5.0';\n var DATA_KEY$5 = 'bs.modal';\n var EVENT_KEY$5 = \".\" + DATA_KEY$5;\n var DATA_API_KEY$5 = '.data-api';\n var JQUERY_NO_CONFLICT$5 = $.fn[NAME$5];\n var ESCAPE_KEYCODE$1 = 27; // KeyboardEvent.which value for Escape (Esc) key\n\n var Default$3 = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n };\n var DefaultType$3 = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n };\n var EVENT_HIDE$2 = \"hide\" + EVENT_KEY$5;\n var EVENT_HIDE_PREVENTED = \"hidePrevented\" + EVENT_KEY$5;\n var EVENT_HIDDEN$2 = \"hidden\" + EVENT_KEY$5;\n var EVENT_SHOW$2 = \"show\" + EVENT_KEY$5;\n var EVENT_SHOWN$2 = \"shown\" + EVENT_KEY$5;\n var EVENT_FOCUSIN = \"focusin\" + EVENT_KEY$5;\n var EVENT_RESIZE = \"resize\" + EVENT_KEY$5;\n var EVENT_CLICK_DISMISS = \"click.dismiss\" + EVENT_KEY$5;\n var EVENT_KEYDOWN_DISMISS = \"keydown.dismiss\" + EVENT_KEY$5;\n var EVENT_MOUSEUP_DISMISS = \"mouseup.dismiss\" + EVENT_KEY$5;\n var EVENT_MOUSEDOWN_DISMISS = \"mousedown.dismiss\" + EVENT_KEY$5;\n var EVENT_CLICK_DATA_API$5 = \"click\" + EVENT_KEY$5 + DATA_API_KEY$5;\n var CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable';\n var CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure';\n var CLASS_NAME_BACKDROP = 'modal-backdrop';\n var CLASS_NAME_OPEN = 'modal-open';\n var CLASS_NAME_FADE$1 = 'fade';\n var CLASS_NAME_SHOW$3 = 'show';\n var CLASS_NAME_STATIC = 'modal-static';\n var SELECTOR_DIALOG = '.modal-dialog';\n var SELECTOR_MODAL_BODY = '.modal-body';\n var SELECTOR_DATA_TOGGLE$3 = '[data-toggle=\"modal\"]';\n var SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]';\n var SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';\n var SELECTOR_STICKY_CONTENT = '.sticky-top';\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Modal = /*#__PURE__*/function () {\n function Modal(element, config) {\n this._config = this._getConfig(config);\n this._element = element;\n this._dialog = element.querySelector(SELECTOR_DIALOG);\n this._backdrop = null;\n this._isShown = false;\n this._isBodyOverflowing = false;\n this._ignoreBackdropClick = false;\n this._isTransitioning = false;\n this._scrollbarWidth = 0;\n } // Getters\n\n\n var _proto = Modal.prototype; // Public\n\n _proto.toggle = function toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget);\n };\n\n _proto.show = function show(relatedTarget) {\n var _this = this;\n\n if (this._isShown || this._isTransitioning) {\n return;\n }\n\n if ($(this._element).hasClass(CLASS_NAME_FADE$1)) {\n this._isTransitioning = true;\n }\n\n var showEvent = $.Event(EVENT_SHOW$2, {\n relatedTarget: relatedTarget\n });\n $(this._element).trigger(showEvent);\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return;\n }\n\n this._isShown = true;\n\n this._checkScrollbar();\n\n this._setScrollbar();\n\n this._adjustDialog();\n\n this._setEscapeEvent();\n\n this._setResizeEvent();\n\n $(this._element).on(EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function (event) {\n return _this.hide(event);\n });\n $(this._dialog).on(EVENT_MOUSEDOWN_DISMISS, function () {\n $(_this._element).one(EVENT_MOUSEUP_DISMISS, function (event) {\n if ($(event.target).is(_this._element)) {\n _this._ignoreBackdropClick = true;\n }\n });\n });\n\n this._showBackdrop(function () {\n return _this._showElement(relatedTarget);\n });\n };\n\n _proto.hide = function hide(event) {\n var _this2 = this;\n\n if (event) {\n event.preventDefault();\n }\n\n if (!this._isShown || this._isTransitioning) {\n return;\n }\n\n var hideEvent = $.Event(EVENT_HIDE$2);\n $(this._element).trigger(hideEvent);\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return;\n }\n\n this._isShown = false;\n var transition = $(this._element).hasClass(CLASS_NAME_FADE$1);\n\n if (transition) {\n this._isTransitioning = true;\n }\n\n this._setEscapeEvent();\n\n this._setResizeEvent();\n\n $(document).off(EVENT_FOCUSIN);\n $(this._element).removeClass(CLASS_NAME_SHOW$3);\n $(this._element).off(EVENT_CLICK_DISMISS);\n $(this._dialog).off(EVENT_MOUSEDOWN_DISMISS);\n\n if (transition) {\n var transitionDuration = Util.getTransitionDurationFromElement(this._element);\n $(this._element).one(Util.TRANSITION_END, function (event) {\n return _this2._hideModal(event);\n }).emulateTransitionEnd(transitionDuration);\n } else {\n this._hideModal();\n }\n };\n\n _proto.dispose = function dispose() {\n [window, this._element, this._dialog].forEach(function (htmlElement) {\n return $(htmlElement).off(EVENT_KEY$5);\n });\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n\n $(document).off(EVENT_FOCUSIN);\n $.removeData(this._element, DATA_KEY$5);\n this._config = null;\n this._element = null;\n this._dialog = null;\n this._backdrop = null;\n this._isShown = null;\n this._isBodyOverflowing = null;\n this._ignoreBackdropClick = null;\n this._isTransitioning = null;\n this._scrollbarWidth = null;\n };\n\n _proto.handleUpdate = function handleUpdate() {\n this._adjustDialog();\n } // Private\n ;\n\n _proto._getConfig = function _getConfig(config) {\n config = _objectSpread2(_objectSpread2({}, Default$3), config);\n Util.typeCheckConfig(NAME$5, config, DefaultType$3);\n return config;\n };\n\n _proto._triggerBackdropTransition = function _triggerBackdropTransition() {\n var _this3 = this;\n\n if (this._config.backdrop === 'static') {\n var hideEventPrevented = $.Event(EVENT_HIDE_PREVENTED);\n $(this._element).trigger(hideEventPrevented);\n\n if (hideEventPrevented.defaultPrevented) {\n return;\n }\n\n this._element.classList.add(CLASS_NAME_STATIC);\n\n var modalTransitionDuration = Util.getTransitionDurationFromElement(this._element);\n $(this._element).one(Util.TRANSITION_END, function () {\n _this3._element.classList.remove(CLASS_NAME_STATIC);\n }).emulateTransitionEnd(modalTransitionDuration);\n\n this._element.focus();\n } else {\n this.hide();\n }\n };\n\n _proto._showElement = function _showElement(relatedTarget) {\n var _this4 = this;\n\n var transition = $(this._element).hasClass(CLASS_NAME_FADE$1);\n var modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null;\n\n if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element);\n }\n\n this._element.style.display = 'block';\n\n this._element.removeAttribute('aria-hidden');\n\n this._element.setAttribute('aria-modal', true);\n\n if ($(this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0;\n } else {\n this._element.scrollTop = 0;\n }\n\n if (transition) {\n Util.reflow(this._element);\n }\n\n $(this._element).addClass(CLASS_NAME_SHOW$3);\n\n if (this._config.focus) {\n this._enforceFocus();\n }\n\n var shownEvent = $.Event(EVENT_SHOWN$2, {\n relatedTarget: relatedTarget\n });\n\n var transitionComplete = function transitionComplete() {\n if (_this4._config.focus) {\n _this4._element.focus();\n }\n\n _this4._isTransitioning = false;\n $(_this4._element).trigger(shownEvent);\n };\n\n if (transition) {\n var transitionDuration = Util.getTransitionDurationFromElement(this._dialog);\n $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);\n } else {\n transitionComplete();\n }\n };\n\n _proto._enforceFocus = function _enforceFocus() {\n var _this5 = this;\n\n $(document).off(EVENT_FOCUSIN) // Guard against infinite focus loop\n .on(EVENT_FOCUSIN, function (event) {\n if (document !== event.target && _this5._element !== event.target && $(_this5._element).has(event.target).length === 0) {\n _this5._element.focus();\n }\n });\n };\n\n _proto._setEscapeEvent = function _setEscapeEvent() {\n var _this6 = this;\n\n if (this._isShown) {\n $(this._element).on(EVENT_KEYDOWN_DISMISS, function (event) {\n if (_this6._config.keyboard && event.which === ESCAPE_KEYCODE$1) {\n event.preventDefault();\n\n _this6.hide();\n } else if (!_this6._config.keyboard && event.which === ESCAPE_KEYCODE$1) {\n _this6._triggerBackdropTransition();\n }\n });\n } else if (!this._isShown) {\n $(this._element).off(EVENT_KEYDOWN_DISMISS);\n }\n };\n\n _proto._setResizeEvent = function _setResizeEvent() {\n var _this7 = this;\n\n if (this._isShown) {\n $(window).on(EVENT_RESIZE, function (event) {\n return _this7.handleUpdate(event);\n });\n } else {\n $(window).off(EVENT_RESIZE);\n }\n };\n\n _proto._hideModal = function _hideModal() {\n var _this8 = this;\n\n this._element.style.display = 'none';\n\n this._element.setAttribute('aria-hidden', true);\n\n this._element.removeAttribute('aria-modal');\n\n this._isTransitioning = false;\n\n this._showBackdrop(function () {\n $(document.body).removeClass(CLASS_NAME_OPEN);\n\n _this8._resetAdjustments();\n\n _this8._resetScrollbar();\n\n $(_this8._element).trigger(EVENT_HIDDEN$2);\n });\n };\n\n _proto._removeBackdrop = function _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove();\n this._backdrop = null;\n }\n };\n\n _proto._showBackdrop = function _showBackdrop(callback) {\n var _this9 = this;\n\n var animate = $(this._element).hasClass(CLASS_NAME_FADE$1) ? CLASS_NAME_FADE$1 : '';\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div');\n this._backdrop.className = CLASS_NAME_BACKDROP;\n\n if (animate) {\n this._backdrop.classList.add(animate);\n }\n\n $(this._backdrop).appendTo(document.body);\n $(this._element).on(EVENT_CLICK_DISMISS, function (event) {\n if (_this9._ignoreBackdropClick) {\n _this9._ignoreBackdropClick = false;\n return;\n }\n\n if (event.target !== event.currentTarget) {\n return;\n }\n\n _this9._triggerBackdropTransition();\n });\n\n if (animate) {\n Util.reflow(this._backdrop);\n }\n\n $(this._backdrop).addClass(CLASS_NAME_SHOW$3);\n\n if (!callback) {\n return;\n }\n\n if (!animate) {\n callback();\n return;\n }\n\n var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);\n $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(CLASS_NAME_SHOW$3);\n\n var callbackRemove = function callbackRemove() {\n _this9._removeBackdrop();\n\n if (callback) {\n callback();\n }\n };\n\n if ($(this._element).hasClass(CLASS_NAME_FADE$1)) {\n var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);\n\n $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);\n } else {\n callbackRemove();\n }\n } else if (callback) {\n callback();\n }\n } // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n ;\n\n _proto._adjustDialog = function _adjustDialog() {\n var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = this._scrollbarWidth + \"px\";\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = this._scrollbarWidth + \"px\";\n }\n };\n\n _proto._resetAdjustments = function _resetAdjustments() {\n this._element.style.paddingLeft = '';\n this._element.style.paddingRight = '';\n };\n\n _proto._checkScrollbar = function _checkScrollbar() {\n var rect = document.body.getBoundingClientRect();\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth;\n this._scrollbarWidth = this._getScrollbarWidth();\n };\n\n _proto._setScrollbar = function _setScrollbar() {\n var _this10 = this;\n\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));\n var stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT)); // Adjust fixed content padding\n\n $(fixedContent).each(function (index, element) {\n var actualPadding = element.style.paddingRight;\n var calculatedPadding = $(element).css('padding-right');\n $(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this10._scrollbarWidth + \"px\");\n }); // Adjust sticky content margin\n\n $(stickyContent).each(function (index, element) {\n var actualMargin = element.style.marginRight;\n var calculatedMargin = $(element).css('margin-right');\n $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this10._scrollbarWidth + \"px\");\n }); // Adjust body padding\n\n var actualPadding = document.body.style.paddingRight;\n var calculatedPadding = $(document.body).css('padding-right');\n $(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + \"px\");\n }\n\n $(document.body).addClass(CLASS_NAME_OPEN);\n };\n\n _proto._resetScrollbar = function _resetScrollbar() {\n // Restore fixed content padding\n var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));\n $(fixedContent).each(function (index, element) {\n var padding = $(element).data('padding-right');\n $(element).removeData('padding-right');\n element.style.paddingRight = padding ? padding : '';\n }); // Restore sticky content\n\n var elements = [].slice.call(document.querySelectorAll(\"\" + SELECTOR_STICKY_CONTENT));\n $(elements).each(function (index, element) {\n var margin = $(element).data('margin-right');\n\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right');\n }\n }); // Restore body padding\n\n var padding = $(document.body).data('padding-right');\n $(document.body).removeData('padding-right');\n document.body.style.paddingRight = padding ? padding : '';\n };\n\n _proto._getScrollbarWidth = function _getScrollbarWidth() {\n // thx d.walsh\n var scrollDiv = document.createElement('div');\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER;\n document.body.appendChild(scrollDiv);\n var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarWidth;\n } // Static\n ;\n\n Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY$5);\n\n var _config = _objectSpread2(_objectSpread2(_objectSpread2({}, Default$3), $(this).data()), _typeof(config) === 'object' && config ? config : {});\n\n if (!data) {\n data = new Modal(this, _config);\n $(this).data(DATA_KEY$5, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config](relatedTarget);\n } else if (_config.show) {\n data.show(relatedTarget);\n }\n });\n };\n\n _createClass(Modal, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$5;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default$3;\n }\n }]);\n\n return Modal;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $(document).on(EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE$3, function (event) {\n var _this11 = this;\n\n var target;\n var selector = Util.getSelectorFromElement(this);\n\n if (selector) {\n target = document.querySelector(selector);\n }\n\n var config = $(target).data(DATA_KEY$5) ? 'toggle' : _objectSpread2(_objectSpread2({}, $(target).data()), $(this).data());\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault();\n }\n\n var $target = $(target).one(EVENT_SHOW$2, function (showEvent) {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return;\n }\n\n $target.one(EVENT_HIDDEN$2, function () {\n if ($(_this11).is(':visible')) {\n _this11.focus();\n }\n });\n });\n\n Modal._jQueryInterface.call($(target), config, this);\n });\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME$5] = Modal._jQueryInterface;\n $.fn[NAME$5].Constructor = Modal;\n\n $.fn[NAME$5].noConflict = function () {\n $.fn[NAME$5] = JQUERY_NO_CONFLICT$5;\n return Modal._jQueryInterface;\n };\n /**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href'];\n var ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i;\n var DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n };\n /**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\n\n var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi;\n /**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\n\n var DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i;\n\n function allowedAttribute(attr, allowedAttributeList) {\n var attrName = attr.nodeName.toLowerCase();\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN));\n }\n\n return true;\n }\n\n var regExp = allowedAttributeList.filter(function (attrRegex) {\n return attrRegex instanceof RegExp;\n }); // Check if a regular expression validates the attribute.\n\n for (var i = 0, len = regExp.length; i < len; i++) {\n if (attrName.match(regExp[i])) {\n return true;\n }\n }\n\n return false;\n }\n\n function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (unsafeHtml.length === 0) {\n return unsafeHtml;\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml);\n }\n\n var domParser = new window.DOMParser();\n var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');\n var whitelistKeys = Object.keys(whiteList);\n var elements = [].slice.call(createdDocument.body.querySelectorAll('*'));\n\n var _loop = function _loop(i, len) {\n var el = elements[i];\n var elName = el.nodeName.toLowerCase();\n\n if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\n el.parentNode.removeChild(el);\n return \"continue\";\n }\n\n var attributeList = [].slice.call(el.attributes);\n var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);\n attributeList.forEach(function (attr) {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName);\n }\n });\n };\n\n for (var i = 0, len = elements.length; i < len; i++) {\n var _ret = _loop(i);\n\n if (_ret === \"continue\") continue;\n }\n\n return createdDocument.body.innerHTML;\n }\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n\n var NAME$6 = 'tooltip';\n var VERSION$6 = '4.5.0';\n var DATA_KEY$6 = 'bs.tooltip';\n var EVENT_KEY$6 = \".\" + DATA_KEY$6;\n var JQUERY_NO_CONFLICT$6 = $.fn[NAME$6];\n var CLASS_PREFIX = 'bs-tooltip';\n var BSCLS_PREFIX_REGEX = new RegExp(\"(^|\\\\s)\" + CLASS_PREFIX + \"\\\\S+\", 'g');\n var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];\n var DefaultType$4 = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n };\n var AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n };\n var Default$4 = {\n animation: true,\n template: '' + '' + '',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n };\n var HOVER_STATE_SHOW = 'show';\n var HOVER_STATE_OUT = 'out';\n var Event = {\n HIDE: \"hide\" + EVENT_KEY$6,\n HIDDEN: \"hidden\" + EVENT_KEY$6,\n SHOW: \"show\" + EVENT_KEY$6,\n SHOWN: \"shown\" + EVENT_KEY$6,\n INSERTED: \"inserted\" + EVENT_KEY$6,\n CLICK: \"click\" + EVENT_KEY$6,\n FOCUSIN: \"focusin\" + EVENT_KEY$6,\n FOCUSOUT: \"focusout\" + EVENT_KEY$6,\n MOUSEENTER: \"mouseenter\" + EVENT_KEY$6,\n MOUSELEAVE: \"mouseleave\" + EVENT_KEY$6\n };\n var CLASS_NAME_FADE$2 = 'fade';\n var CLASS_NAME_SHOW$4 = 'show';\n var SELECTOR_TOOLTIP_INNER = '.tooltip-inner';\n var SELECTOR_ARROW = '.arrow';\n var TRIGGER_HOVER = 'hover';\n var TRIGGER_FOCUS = 'focus';\n var TRIGGER_CLICK = 'click';\n var TRIGGER_MANUAL = 'manual';\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Tooltip = /*#__PURE__*/function () {\n function Tooltip(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org/)');\n } // private\n\n\n this._isEnabled = true;\n this._timeout = 0;\n this._hoverState = '';\n this._activeTrigger = {};\n this._popper = null; // Protected\n\n this.element = element;\n this.config = this._getConfig(config);\n this.tip = null;\n\n this._setListeners();\n } // Getters\n\n\n var _proto = Tooltip.prototype; // Public\n\n _proto.enable = function enable() {\n this._isEnabled = true;\n };\n\n _proto.disable = function disable() {\n this._isEnabled = false;\n };\n\n _proto.toggleEnabled = function toggleEnabled() {\n this._isEnabled = !this._isEnabled;\n };\n\n _proto.toggle = function toggle(event) {\n if (!this._isEnabled) {\n return;\n }\n\n if (event) {\n var dataKey = this.constructor.DATA_KEY;\n var context = $(event.currentTarget).data(dataKey);\n\n if (!context) {\n context = new this.constructor(event.currentTarget, this._getDelegateConfig());\n $(event.currentTarget).data(dataKey, context);\n }\n\n context._activeTrigger.click = !context._activeTrigger.click;\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context);\n } else {\n context._leave(null, context);\n }\n } else {\n if ($(this.getTipElement()).hasClass(CLASS_NAME_SHOW$4)) {\n this._leave(null, this);\n\n return;\n }\n\n this._enter(null, this);\n }\n };\n\n _proto.dispose = function dispose() {\n clearTimeout(this._timeout);\n $.removeData(this.element, this.constructor.DATA_KEY);\n $(this.element).off(this.constructor.EVENT_KEY);\n $(this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler);\n\n if (this.tip) {\n $(this.tip).remove();\n }\n\n this._isEnabled = null;\n this._timeout = null;\n this._hoverState = null;\n this._activeTrigger = null;\n\n if (this._popper) {\n this._popper.destroy();\n }\n\n this._popper = null;\n this.element = null;\n this.config = null;\n this.tip = null;\n };\n\n _proto.show = function show() {\n var _this = this;\n\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements');\n }\n\n var showEvent = $.Event(this.constructor.Event.SHOW);\n\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent);\n var shadowRoot = Util.findShadowRoot(this.element);\n var isInTheDom = $.contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element);\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return;\n }\n\n var tip = this.getTipElement();\n var tipId = Util.getUID(this.constructor.NAME);\n tip.setAttribute('id', tipId);\n this.element.setAttribute('aria-describedby', tipId);\n this.setContent();\n\n if (this.config.animation) {\n $(tip).addClass(CLASS_NAME_FADE$2);\n }\n\n var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;\n\n var attachment = this._getAttachment(placement);\n\n this.addAttachmentClass(attachment);\n\n var container = this._getContainer();\n\n $(tip).data(this.constructor.DATA_KEY, this);\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container);\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED);\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment));\n $(tip).addClass(CLASS_NAME_SHOW$4); // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop);\n }\n\n var complete = function complete() {\n if (_this.config.animation) {\n _this._fixTransition();\n }\n\n var prevHoverState = _this._hoverState;\n _this._hoverState = null;\n $(_this.element).trigger(_this.constructor.Event.SHOWN);\n\n if (prevHoverState === HOVER_STATE_OUT) {\n _this._leave(null, _this);\n }\n };\n\n if ($(this.tip).hasClass(CLASS_NAME_FADE$2)) {\n var transitionDuration = Util.getTransitionDurationFromElement(this.tip);\n $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n } else {\n complete();\n }\n }\n };\n\n _proto.hide = function hide(callback) {\n var _this2 = this;\n\n var tip = this.getTipElement();\n var hideEvent = $.Event(this.constructor.Event.HIDE);\n\n var complete = function complete() {\n if (_this2._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip);\n }\n\n _this2._cleanTipClass();\n\n _this2.element.removeAttribute('aria-describedby');\n\n $(_this2.element).trigger(_this2.constructor.Event.HIDDEN);\n\n if (_this2._popper !== null) {\n _this2._popper.destroy();\n }\n\n if (callback) {\n callback();\n }\n };\n\n $(this.element).trigger(hideEvent);\n\n if (hideEvent.isDefaultPrevented()) {\n return;\n }\n\n $(tip).removeClass(CLASS_NAME_SHOW$4); // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop);\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false;\n this._activeTrigger[TRIGGER_FOCUS] = false;\n this._activeTrigger[TRIGGER_HOVER] = false;\n\n if ($(this.tip).hasClass(CLASS_NAME_FADE$2)) {\n var transitionDuration = Util.getTransitionDurationFromElement(tip);\n $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n } else {\n complete();\n }\n\n this._hoverState = '';\n };\n\n _proto.update = function update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate();\n }\n } // Protected\n ;\n\n _proto.isWithContent = function isWithContent() {\n return Boolean(this.getTitle());\n };\n\n _proto.addAttachmentClass = function addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(CLASS_PREFIX + \"-\" + attachment);\n };\n\n _proto.getTipElement = function getTipElement() {\n this.tip = this.tip || $(this.config.template)[0];\n return this.tip;\n };\n\n _proto.setContent = function setContent() {\n var tip = this.getTipElement();\n this.setElementContent($(tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle());\n $(tip).removeClass(CLASS_NAME_FADE$2 + \" \" + CLASS_NAME_SHOW$4);\n };\n\n _proto.setElementContent = function setElementContent($element, content) {\n if (_typeof(content) === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (this.config.html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content);\n }\n } else {\n $element.text($(content).text());\n }\n\n return;\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn);\n }\n\n $element.html(content);\n } else {\n $element.text(content);\n }\n };\n\n _proto.getTitle = function getTitle() {\n var title = this.element.getAttribute('data-original-title');\n\n if (!title) {\n title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;\n }\n\n return title;\n } // Private\n ;\n\n _proto._getPopperConfig = function _getPopperConfig(attachment) {\n var _this3 = this;\n\n var defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: SELECTOR_ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: function onCreate(data) {\n if (data.originalPlacement !== data.placement) {\n _this3._handlePopperPlacementChange(data);\n }\n },\n onUpdate: function onUpdate(data) {\n return _this3._handlePopperPlacementChange(data);\n }\n };\n return _objectSpread2(_objectSpread2({}, defaultBsConfig), this.config.popperConfig);\n };\n\n _proto._getOffset = function _getOffset() {\n var _this4 = this;\n\n var offset = {};\n\n if (typeof this.config.offset === 'function') {\n offset.fn = function (data) {\n data.offsets = _objectSpread2(_objectSpread2({}, data.offsets), _this4.config.offset(data.offsets, _this4.element) || {});\n return data;\n };\n } else {\n offset.offset = this.config.offset;\n }\n\n return offset;\n };\n\n _proto._getContainer = function _getContainer() {\n if (this.config.container === false) {\n return document.body;\n }\n\n if (Util.isElement(this.config.container)) {\n return $(this.config.container);\n }\n\n return $(document).find(this.config.container);\n };\n\n _proto._getAttachment = function _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()];\n };\n\n _proto._setListeners = function _setListeners() {\n var _this5 = this;\n\n var triggers = this.config.trigger.split(' ');\n triggers.forEach(function (trigger) {\n if (trigger === 'click') {\n $(_this5.element).on(_this5.constructor.Event.CLICK, _this5.config.selector, function (event) {\n return _this5.toggle(event);\n });\n } else if (trigger !== TRIGGER_MANUAL) {\n var eventIn = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSEENTER : _this5.constructor.Event.FOCUSIN;\n var eventOut = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSELEAVE : _this5.constructor.Event.FOCUSOUT;\n $(_this5.element).on(eventIn, _this5.config.selector, function (event) {\n return _this5._enter(event);\n }).on(eventOut, _this5.config.selector, function (event) {\n return _this5._leave(event);\n });\n }\n });\n\n this._hideModalHandler = function () {\n if (_this5.element) {\n _this5.hide();\n }\n };\n\n $(this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler);\n\n if (this.config.selector) {\n this.config = _objectSpread2(_objectSpread2({}, this.config), {}, {\n trigger: 'manual',\n selector: ''\n });\n } else {\n this._fixTitle();\n }\n };\n\n _proto._fixTitle = function _fixTitle() {\n var titleType = _typeof(this.element.getAttribute('data-original-title'));\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');\n this.element.setAttribute('title', '');\n }\n };\n\n _proto._enter = function _enter(event, context) {\n var dataKey = this.constructor.DATA_KEY;\n context = context || $(event.currentTarget).data(dataKey);\n\n if (!context) {\n context = new this.constructor(event.currentTarget, this._getDelegateConfig());\n $(event.currentTarget).data(dataKey, context);\n }\n\n if (event) {\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;\n }\n\n if ($(context.getTipElement()).hasClass(CLASS_NAME_SHOW$4) || context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW;\n return;\n }\n\n clearTimeout(context._timeout);\n context._hoverState = HOVER_STATE_SHOW;\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show();\n return;\n }\n\n context._timeout = setTimeout(function () {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show();\n }\n }, context.config.delay.show);\n };\n\n _proto._leave = function _leave(event, context) {\n var dataKey = this.constructor.DATA_KEY;\n context = context || $(event.currentTarget).data(dataKey);\n\n if (!context) {\n context = new this.constructor(event.currentTarget, this._getDelegateConfig());\n $(event.currentTarget).data(dataKey, context);\n }\n\n if (event) {\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = false;\n }\n\n if (context._isWithActiveTrigger()) {\n return;\n }\n\n clearTimeout(context._timeout);\n context._hoverState = HOVER_STATE_OUT;\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide();\n return;\n }\n\n context._timeout = setTimeout(function () {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide();\n }\n }, context.config.delay.hide);\n };\n\n _proto._isWithActiveTrigger = function _isWithActiveTrigger() {\n for (var trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true;\n }\n }\n\n return false;\n };\n\n _proto._getConfig = function _getConfig(config) {\n var dataAttributes = $(this.element).data();\n Object.keys(dataAttributes).forEach(function (dataAttr) {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr];\n }\n });\n config = _objectSpread2(_objectSpread2(_objectSpread2({}, this.constructor.Default), dataAttributes), _typeof(config) === 'object' && config ? config : {});\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n };\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString();\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString();\n }\n\n Util.typeCheckConfig(NAME$6, config, this.constructor.DefaultType);\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn);\n }\n\n return config;\n };\n\n _proto._getDelegateConfig = function _getDelegateConfig() {\n var config = {};\n\n if (this.config) {\n for (var key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key];\n }\n }\n }\n\n return config;\n };\n\n _proto._cleanTipClass = function _cleanTipClass() {\n var $tip = $(this.getTipElement());\n var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);\n\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''));\n }\n };\n\n _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) {\n this.tip = popperData.instance.popper;\n\n this._cleanTipClass();\n\n this.addAttachmentClass(this._getAttachment(popperData.placement));\n };\n\n _proto._fixTransition = function _fixTransition() {\n var tip = this.getTipElement();\n var initConfigAnimation = this.config.animation;\n\n if (tip.getAttribute('x-placement') !== null) {\n return;\n }\n\n $(tip).removeClass(CLASS_NAME_FADE$2);\n this.config.animation = false;\n this.hide();\n this.show();\n this.config.animation = initConfigAnimation;\n } // Static\n ;\n\n Tooltip._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY$6);\n\n var _config = _typeof(config) === 'object' && config;\n\n if (!data && /dispose|hide/.test(config)) {\n return;\n }\n\n if (!data) {\n data = new Tooltip(this, _config);\n $(this).data(DATA_KEY$6, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config]();\n }\n });\n };\n\n _createClass(Tooltip, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$6;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default$4;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME$6;\n }\n }, {\n key: \"DATA_KEY\",\n get: function get() {\n return DATA_KEY$6;\n }\n }, {\n key: \"Event\",\n get: function get() {\n return Event;\n }\n }, {\n key: \"EVENT_KEY\",\n get: function get() {\n return EVENT_KEY$6;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType$4;\n }\n }]);\n\n return Tooltip;\n }();\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n\n $.fn[NAME$6] = Tooltip._jQueryInterface;\n $.fn[NAME$6].Constructor = Tooltip;\n\n $.fn[NAME$6].noConflict = function () {\n $.fn[NAME$6] = JQUERY_NO_CONFLICT$6;\n return Tooltip._jQueryInterface;\n };\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n\n var NAME$7 = 'popover';\n var VERSION$7 = '4.5.0';\n var DATA_KEY$7 = 'bs.popover';\n var EVENT_KEY$7 = \".\" + DATA_KEY$7;\n var JQUERY_NO_CONFLICT$7 = $.fn[NAME$7];\n var CLASS_PREFIX$1 = 'bs-popover';\n var BSCLS_PREFIX_REGEX$1 = new RegExp(\"(^|\\\\s)\" + CLASS_PREFIX$1 + \"\\\\S+\", 'g');\n\n var Default$5 = _objectSpread2(_objectSpread2({}, Tooltip.Default), {}, {\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '' + '' + '' + ''\n });\n\n var DefaultType$5 = _objectSpread2(_objectSpread2({}, Tooltip.DefaultType), {}, {\n content: '(string|element|function)'\n });\n\n var CLASS_NAME_FADE$3 = 'fade';\n var CLASS_NAME_SHOW$5 = 'show';\n var SELECTOR_TITLE = '.popover-header';\n var SELECTOR_CONTENT = '.popover-body';\n var Event$1 = {\n HIDE: \"hide\" + EVENT_KEY$7,\n HIDDEN: \"hidden\" + EVENT_KEY$7,\n SHOW: \"show\" + EVENT_KEY$7,\n SHOWN: \"shown\" + EVENT_KEY$7,\n INSERTED: \"inserted\" + EVENT_KEY$7,\n CLICK: \"click\" + EVENT_KEY$7,\n FOCUSIN: \"focusin\" + EVENT_KEY$7,\n FOCUSOUT: \"focusout\" + EVENT_KEY$7,\n MOUSEENTER: \"mouseenter\" + EVENT_KEY$7,\n MOUSELEAVE: \"mouseleave\" + EVENT_KEY$7\n };\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Popover = /*#__PURE__*/function (_Tooltip) {\n _inheritsLoose(Popover, _Tooltip);\n\n function Popover() {\n return _Tooltip.apply(this, arguments) || this;\n }\n\n var _proto = Popover.prototype; // Overrides\n\n _proto.isWithContent = function isWithContent() {\n return this.getTitle() || this._getContent();\n };\n\n _proto.addAttachmentClass = function addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(CLASS_PREFIX$1 + \"-\" + attachment);\n };\n\n _proto.getTipElement = function getTipElement() {\n this.tip = this.tip || $(this.config.template)[0];\n return this.tip;\n };\n\n _proto.setContent = function setContent() {\n var $tip = $(this.getTipElement()); // We use append for html objects to maintain js events\n\n this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle());\n\n var content = this._getContent();\n\n if (typeof content === 'function') {\n content = content.call(this.element);\n }\n\n this.setElementContent($tip.find(SELECTOR_CONTENT), content);\n $tip.removeClass(CLASS_NAME_FADE$3 + \" \" + CLASS_NAME_SHOW$5);\n } // Private\n ;\n\n _proto._getContent = function _getContent() {\n return this.element.getAttribute('data-content') || this.config.content;\n };\n\n _proto._cleanTipClass = function _cleanTipClass() {\n var $tip = $(this.getTipElement());\n var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX$1);\n\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''));\n }\n } // Static\n ;\n\n Popover._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY$7);\n\n var _config = _typeof(config) === 'object' ? config : null;\n\n if (!data && /dispose|hide/.test(config)) {\n return;\n }\n\n if (!data) {\n data = new Popover(this, _config);\n $(this).data(DATA_KEY$7, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config]();\n }\n });\n };\n\n _createClass(Popover, null, [{\n key: \"VERSION\",\n // Getters\n get: function get() {\n return VERSION$7;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default$5;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME$7;\n }\n }, {\n key: \"DATA_KEY\",\n get: function get() {\n return DATA_KEY$7;\n }\n }, {\n key: \"Event\",\n get: function get() {\n return Event$1;\n }\n }, {\n key: \"EVENT_KEY\",\n get: function get() {\n return EVENT_KEY$7;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType$5;\n }\n }]);\n\n return Popover;\n }(Tooltip);\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n\n $.fn[NAME$7] = Popover._jQueryInterface;\n $.fn[NAME$7].Constructor = Popover;\n\n $.fn[NAME$7].noConflict = function () {\n $.fn[NAME$7] = JQUERY_NO_CONFLICT$7;\n return Popover._jQueryInterface;\n };\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n\n var NAME$8 = 'scrollspy';\n var VERSION$8 = '4.5.0';\n var DATA_KEY$8 = 'bs.scrollspy';\n var EVENT_KEY$8 = \".\" + DATA_KEY$8;\n var DATA_API_KEY$6 = '.data-api';\n var JQUERY_NO_CONFLICT$8 = $.fn[NAME$8];\n var Default$6 = {\n offset: 10,\n method: 'auto',\n target: ''\n };\n var DefaultType$6 = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n };\n var EVENT_ACTIVATE = \"activate\" + EVENT_KEY$8;\n var EVENT_SCROLL = \"scroll\" + EVENT_KEY$8;\n var EVENT_LOAD_DATA_API$2 = \"load\" + EVENT_KEY$8 + DATA_API_KEY$6;\n var CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';\n var CLASS_NAME_ACTIVE$2 = 'active';\n var SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]';\n var SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';\n var SELECTOR_NAV_LINKS = '.nav-link';\n var SELECTOR_NAV_ITEMS = '.nav-item';\n var SELECTOR_LIST_ITEMS = '.list-group-item';\n var SELECTOR_DROPDOWN = '.dropdown';\n var SELECTOR_DROPDOWN_ITEMS = '.dropdown-item';\n var SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';\n var METHOD_OFFSET = 'offset';\n var METHOD_POSITION = 'position';\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var ScrollSpy = /*#__PURE__*/function () {\n function ScrollSpy(element, config) {\n var _this = this;\n\n this._element = element;\n this._scrollElement = element.tagName === 'BODY' ? window : element;\n this._config = this._getConfig(config);\n this._selector = this._config.target + \" \" + SELECTOR_NAV_LINKS + \",\" + (this._config.target + \" \" + SELECTOR_LIST_ITEMS + \",\") + (this._config.target + \" \" + SELECTOR_DROPDOWN_ITEMS);\n this._offsets = [];\n this._targets = [];\n this._activeTarget = null;\n this._scrollHeight = 0;\n $(this._scrollElement).on(EVENT_SCROLL, function (event) {\n return _this._process(event);\n });\n this.refresh();\n\n this._process();\n } // Getters\n\n\n var _proto = ScrollSpy.prototype; // Public\n\n _proto.refresh = function refresh() {\n var _this2 = this;\n\n var autoMethod = this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION;\n var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;\n var offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0;\n this._offsets = [];\n this._targets = [];\n this._scrollHeight = this._getScrollHeight();\n var targets = [].slice.call(document.querySelectorAll(this._selector));\n targets.map(function (element) {\n var target;\n var targetSelector = Util.getSelectorFromElement(element);\n\n if (targetSelector) {\n target = document.querySelector(targetSelector);\n }\n\n if (target) {\n var targetBCR = target.getBoundingClientRect();\n\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [$(target)[offsetMethod]().top + offsetBase, targetSelector];\n }\n }\n\n return null;\n }).filter(function (item) {\n return item;\n }).sort(function (a, b) {\n return a[0] - b[0];\n }).forEach(function (item) {\n _this2._offsets.push(item[0]);\n\n _this2._targets.push(item[1]);\n });\n };\n\n _proto.dispose = function dispose() {\n $.removeData(this._element, DATA_KEY$8);\n $(this._scrollElement).off(EVENT_KEY$8);\n this._element = null;\n this._scrollElement = null;\n this._config = null;\n this._selector = null;\n this._offsets = null;\n this._targets = null;\n this._activeTarget = null;\n this._scrollHeight = null;\n } // Private\n ;\n\n _proto._getConfig = function _getConfig(config) {\n config = _objectSpread2(_objectSpread2({}, Default$6), _typeof(config) === 'object' && config ? config : {});\n\n if (typeof config.target !== 'string' && Util.isElement(config.target)) {\n var id = $(config.target).attr('id');\n\n if (!id) {\n id = Util.getUID(NAME$8);\n $(config.target).attr('id', id);\n }\n\n config.target = \"#\" + id;\n }\n\n Util.typeCheckConfig(NAME$8, config, DefaultType$6);\n return config;\n };\n\n _proto._getScrollTop = function _getScrollTop() {\n return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;\n };\n\n _proto._getScrollHeight = function _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);\n };\n\n _proto._getOffsetHeight = function _getOffsetHeight() {\n return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;\n };\n\n _proto._process = function _process() {\n var scrollTop = this._getScrollTop() + this._config.offset;\n\n var scrollHeight = this._getScrollHeight();\n\n var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh();\n }\n\n if (scrollTop >= maxScroll) {\n var target = this._targets[this._targets.length - 1];\n\n if (this._activeTarget !== target) {\n this._activate(target);\n }\n\n return;\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null;\n\n this._clear();\n\n return;\n }\n\n for (var i = this._offsets.length; i--;) {\n var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);\n\n if (isActiveTarget) {\n this._activate(this._targets[i]);\n }\n }\n };\n\n _proto._activate = function _activate(target) {\n this._activeTarget = target;\n\n this._clear();\n\n var queries = this._selector.split(',').map(function (selector) {\n return selector + \"[data-target=\\\"\" + target + \"\\\"],\" + selector + \"[href=\\\"\" + target + \"\\\"]\";\n });\n\n var $link = $([].slice.call(document.querySelectorAll(queries.join(','))));\n\n if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) {\n $link.closest(SELECTOR_DROPDOWN).find(SELECTOR_DROPDOWN_TOGGLE).addClass(CLASS_NAME_ACTIVE$2);\n $link.addClass(CLASS_NAME_ACTIVE$2);\n } else {\n // Set triggered link as active\n $link.addClass(CLASS_NAME_ACTIVE$2); // Set triggered links parents as active\n // With both and markup a parent is the previous sibling of any nav ancestor\n\n $link.parents(SELECTOR_NAV_LIST_GROUP).prev(SELECTOR_NAV_LINKS + \", \" + SELECTOR_LIST_ITEMS).addClass(CLASS_NAME_ACTIVE$2); // Handle special case when .nav-link is inside .nav-item\n\n $link.parents(SELECTOR_NAV_LIST_GROUP).prev(SELECTOR_NAV_ITEMS).children(SELECTOR_NAV_LINKS).addClass(CLASS_NAME_ACTIVE$2);\n }\n\n $(this._scrollElement).trigger(EVENT_ACTIVATE, {\n relatedTarget: target\n });\n };\n\n _proto._clear = function _clear() {\n [].slice.call(document.querySelectorAll(this._selector)).filter(function (node) {\n return node.classList.contains(CLASS_NAME_ACTIVE$2);\n }).forEach(function (node) {\n return node.classList.remove(CLASS_NAME_ACTIVE$2);\n });\n } // Static\n ;\n\n ScrollSpy._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY$8);\n\n var _config = _typeof(config) === 'object' && config;\n\n if (!data) {\n data = new ScrollSpy(this, _config);\n $(this).data(DATA_KEY$8, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config]();\n }\n });\n };\n\n _createClass(ScrollSpy, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$8;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default$6;\n }\n }]);\n\n return ScrollSpy;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $(window).on(EVENT_LOAD_DATA_API$2, function () {\n var scrollSpys = [].slice.call(document.querySelectorAll(SELECTOR_DATA_SPY));\n var scrollSpysLength = scrollSpys.length;\n\n for (var i = scrollSpysLength; i--;) {\n var $spy = $(scrollSpys[i]);\n\n ScrollSpy._jQueryInterface.call($spy, $spy.data());\n }\n });\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME$8] = ScrollSpy._jQueryInterface;\n $.fn[NAME$8].Constructor = ScrollSpy;\n\n $.fn[NAME$8].noConflict = function () {\n $.fn[NAME$8] = JQUERY_NO_CONFLICT$8;\n return ScrollSpy._jQueryInterface;\n };\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n\n var NAME$9 = 'tab';\n var VERSION$9 = '4.5.0';\n var DATA_KEY$9 = 'bs.tab';\n var EVENT_KEY$9 = \".\" + DATA_KEY$9;\n var DATA_API_KEY$7 = '.data-api';\n var JQUERY_NO_CONFLICT$9 = $.fn[NAME$9];\n var EVENT_HIDE$3 = \"hide\" + EVENT_KEY$9;\n var EVENT_HIDDEN$3 = \"hidden\" + EVENT_KEY$9;\n var EVENT_SHOW$3 = \"show\" + EVENT_KEY$9;\n var EVENT_SHOWN$3 = \"shown\" + EVENT_KEY$9;\n var EVENT_CLICK_DATA_API$6 = \"click\" + EVENT_KEY$9 + DATA_API_KEY$7;\n var CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu';\n var CLASS_NAME_ACTIVE$3 = 'active';\n var CLASS_NAME_DISABLED$1 = 'disabled';\n var CLASS_NAME_FADE$4 = 'fade';\n var CLASS_NAME_SHOW$6 = 'show';\n var SELECTOR_DROPDOWN$1 = '.dropdown';\n var SELECTOR_NAV_LIST_GROUP$1 = '.nav, .list-group';\n var SELECTOR_ACTIVE$2 = '.active';\n var SELECTOR_ACTIVE_UL = '> li > .active';\n var SELECTOR_DATA_TOGGLE$4 = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]';\n var SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';\n var SELECTOR_DROPDOWN_ACTIVE_CHILD = '> .dropdown-menu .active';\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Tab = /*#__PURE__*/function () {\n function Tab(element) {\n this._element = element;\n } // Getters\n\n\n var _proto = Tab.prototype; // Public\n\n _proto.show = function show() {\n var _this = this;\n\n if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(CLASS_NAME_ACTIVE$3) || $(this._element).hasClass(CLASS_NAME_DISABLED$1)) {\n return;\n }\n\n var target;\n var previous;\n var listElement = $(this._element).closest(SELECTOR_NAV_LIST_GROUP$1)[0];\n var selector = Util.getSelectorFromElement(this._element);\n\n if (listElement) {\n var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE$2;\n previous = $.makeArray($(listElement).find(itemSelector));\n previous = previous[previous.length - 1];\n }\n\n var hideEvent = $.Event(EVENT_HIDE$3, {\n relatedTarget: this._element\n });\n var showEvent = $.Event(EVENT_SHOW$3, {\n relatedTarget: previous\n });\n\n if (previous) {\n $(previous).trigger(hideEvent);\n }\n\n $(this._element).trigger(showEvent);\n\n if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {\n return;\n }\n\n if (selector) {\n target = document.querySelector(selector);\n }\n\n this._activate(this._element, listElement);\n\n var complete = function complete() {\n var hiddenEvent = $.Event(EVENT_HIDDEN$3, {\n relatedTarget: _this._element\n });\n var shownEvent = $.Event(EVENT_SHOWN$3, {\n relatedTarget: previous\n });\n $(previous).trigger(hiddenEvent);\n $(_this._element).trigger(shownEvent);\n };\n\n if (target) {\n this._activate(target, target.parentNode, complete);\n } else {\n complete();\n }\n };\n\n _proto.dispose = function dispose() {\n $.removeData(this._element, DATA_KEY$9);\n this._element = null;\n } // Private\n ;\n\n _proto._activate = function _activate(element, container, callback) {\n var _this2 = this;\n\n var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $(container).find(SELECTOR_ACTIVE_UL) : $(container).children(SELECTOR_ACTIVE$2);\n var active = activeElements[0];\n var isTransitioning = callback && active && $(active).hasClass(CLASS_NAME_FADE$4);\n\n var complete = function complete() {\n return _this2._transitionComplete(element, active, callback);\n };\n\n if (active && isTransitioning) {\n var transitionDuration = Util.getTransitionDurationFromElement(active);\n $(active).removeClass(CLASS_NAME_SHOW$6).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n } else {\n complete();\n }\n };\n\n _proto._transitionComplete = function _transitionComplete(element, active, callback) {\n if (active) {\n $(active).removeClass(CLASS_NAME_ACTIVE$3);\n var dropdownChild = $(active.parentNode).find(SELECTOR_DROPDOWN_ACTIVE_CHILD)[0];\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(CLASS_NAME_ACTIVE$3);\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false);\n }\n }\n\n $(element).addClass(CLASS_NAME_ACTIVE$3);\n\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true);\n }\n\n Util.reflow(element);\n\n if (element.classList.contains(CLASS_NAME_FADE$4)) {\n element.classList.add(CLASS_NAME_SHOW$6);\n }\n\n if (element.parentNode && $(element.parentNode).hasClass(CLASS_NAME_DROPDOWN_MENU)) {\n var dropdownElement = $(element).closest(SELECTOR_DROPDOWN$1)[0];\n\n if (dropdownElement) {\n var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(SELECTOR_DROPDOWN_TOGGLE$1));\n $(dropdownToggleList).addClass(CLASS_NAME_ACTIVE$3);\n }\n\n element.setAttribute('aria-expanded', true);\n }\n\n if (callback) {\n callback();\n }\n } // Static\n ;\n\n Tab._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var $this = $(this);\n var data = $this.data(DATA_KEY$9);\n\n if (!data) {\n data = new Tab(this);\n $this.data(DATA_KEY$9, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config]();\n }\n });\n };\n\n _createClass(Tab, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$9;\n }\n }]);\n\n return Tab;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $(document).on(EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$4, function (event) {\n event.preventDefault();\n\n Tab._jQueryInterface.call($(this), 'show');\n });\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME$9] = Tab._jQueryInterface;\n $.fn[NAME$9].Constructor = Tab;\n\n $.fn[NAME$9].noConflict = function () {\n $.fn[NAME$9] = JQUERY_NO_CONFLICT$9;\n return Tab._jQueryInterface;\n };\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n\n var NAME$a = 'toast';\n var VERSION$a = '4.5.0';\n var DATA_KEY$a = 'bs.toast';\n var EVENT_KEY$a = \".\" + DATA_KEY$a;\n var JQUERY_NO_CONFLICT$a = $.fn[NAME$a];\n var EVENT_CLICK_DISMISS$1 = \"click.dismiss\" + EVENT_KEY$a;\n var EVENT_HIDE$4 = \"hide\" + EVENT_KEY$a;\n var EVENT_HIDDEN$4 = \"hidden\" + EVENT_KEY$a;\n var EVENT_SHOW$4 = \"show\" + EVENT_KEY$a;\n var EVENT_SHOWN$4 = \"shown\" + EVENT_KEY$a;\n var CLASS_NAME_FADE$5 = 'fade';\n var CLASS_NAME_HIDE = 'hide';\n var CLASS_NAME_SHOW$7 = 'show';\n var CLASS_NAME_SHOWING = 'showing';\n var DefaultType$7 = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n };\n var Default$7 = {\n animation: true,\n autohide: true,\n delay: 500\n };\n var SELECTOR_DATA_DISMISS$1 = '[data-dismiss=\"toast\"]';\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Toast = /*#__PURE__*/function () {\n function Toast(element, config) {\n this._element = element;\n this._config = this._getConfig(config);\n this._timeout = null;\n\n this._setListeners();\n } // Getters\n\n\n var _proto = Toast.prototype; // Public\n\n _proto.show = function show() {\n var _this = this;\n\n var showEvent = $.Event(EVENT_SHOW$4);\n $(this._element).trigger(showEvent);\n\n if (showEvent.isDefaultPrevented()) {\n return;\n }\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE$5);\n }\n\n var complete = function complete() {\n _this._element.classList.remove(CLASS_NAME_SHOWING);\n\n _this._element.classList.add(CLASS_NAME_SHOW$7);\n\n $(_this._element).trigger(EVENT_SHOWN$4);\n\n if (_this._config.autohide) {\n _this._timeout = setTimeout(function () {\n _this.hide();\n }, _this._config.delay);\n }\n };\n\n this._element.classList.remove(CLASS_NAME_HIDE);\n\n Util.reflow(this._element);\n\n this._element.classList.add(CLASS_NAME_SHOWING);\n\n if (this._config.animation) {\n var transitionDuration = Util.getTransitionDurationFromElement(this._element);\n $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n } else {\n complete();\n }\n };\n\n _proto.hide = function hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW$7)) {\n return;\n }\n\n var hideEvent = $.Event(EVENT_HIDE$4);\n $(this._element).trigger(hideEvent);\n\n if (hideEvent.isDefaultPrevented()) {\n return;\n }\n\n this._close();\n };\n\n _proto.dispose = function dispose() {\n clearTimeout(this._timeout);\n this._timeout = null;\n\n if (this._element.classList.contains(CLASS_NAME_SHOW$7)) {\n this._element.classList.remove(CLASS_NAME_SHOW$7);\n }\n\n $(this._element).off(EVENT_CLICK_DISMISS$1);\n $.removeData(this._element, DATA_KEY$a);\n this._element = null;\n this._config = null;\n } // Private\n ;\n\n _proto._getConfig = function _getConfig(config) {\n config = _objectSpread2(_objectSpread2(_objectSpread2({}, Default$7), $(this._element).data()), _typeof(config) === 'object' && config ? config : {});\n Util.typeCheckConfig(NAME$a, config, this.constructor.DefaultType);\n return config;\n };\n\n _proto._setListeners = function _setListeners() {\n var _this2 = this;\n\n $(this._element).on(EVENT_CLICK_DISMISS$1, SELECTOR_DATA_DISMISS$1, function () {\n return _this2.hide();\n });\n };\n\n _proto._close = function _close() {\n var _this3 = this;\n\n var complete = function complete() {\n _this3._element.classList.add(CLASS_NAME_HIDE);\n\n $(_this3._element).trigger(EVENT_HIDDEN$4);\n };\n\n this._element.classList.remove(CLASS_NAME_SHOW$7);\n\n if (this._config.animation) {\n var transitionDuration = Util.getTransitionDurationFromElement(this._element);\n $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n } else {\n complete();\n }\n } // Static\n ;\n\n Toast._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var $element = $(this);\n var data = $element.data(DATA_KEY$a);\n\n var _config = _typeof(config) === 'object' && config;\n\n if (!data) {\n data = new Toast(this, _config);\n $element.data(DATA_KEY$a, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config](this);\n }\n });\n };\n\n _createClass(Toast, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION$a;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType$7;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default$7;\n }\n }]);\n\n return Toast;\n }();\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n\n $.fn[NAME$a] = Toast._jQueryInterface;\n $.fn[NAME$a].Constructor = Toast;\n\n $.fn[NAME$a].noConflict = function () {\n $.fn[NAME$a] = JQUERY_NO_CONFLICT$a;\n return Toast._jQueryInterface;\n };\n\n exports.Alert = Alert;\n exports.Button = Button;\n exports.Carousel = Carousel;\n exports.Collapse = Collapse;\n exports.Dropdown = Dropdown;\n exports.Modal = Modal;\n exports.Popover = Popover;\n exports.Scrollspy = ScrollSpy;\n exports.Tab = Tab;\n exports.Toast = Toast;\n exports.Tooltip = Tooltip;\n exports.Util = Util;\n Object.defineProperty(exports, '__esModule', {\n value: true\n });\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/*!\n * Bootstrap alert.js v4.5.0 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) : typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) : (global = global || self, global.Alert = factory(global.jQuery, global.Util));\n})(this, function ($, Util) {\n 'use strict';\n\n $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;\n Util = Util && Object.prototype.hasOwnProperty.call(Util, 'default') ? Util['default'] : Util;\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\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n\n var NAME = 'alert';\n var VERSION = '4.5.0';\n var DATA_KEY = 'bs.alert';\n var EVENT_KEY = \".\" + DATA_KEY;\n var DATA_API_KEY = '.data-api';\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n var SELECTOR_DISMISS = '[data-dismiss=\"alert\"]';\n var EVENT_CLOSE = \"close\" + EVENT_KEY;\n var EVENT_CLOSED = \"closed\" + EVENT_KEY;\n var EVENT_CLICK_DATA_API = \"click\" + EVENT_KEY + DATA_API_KEY;\n var CLASS_NAME_ALERT = 'alert';\n var CLASS_NAME_FADE = 'fade';\n var CLASS_NAME_SHOW = 'show';\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Alert = /*#__PURE__*/function () {\n function Alert(element) {\n this._element = element;\n } // Getters\n\n\n var _proto = Alert.prototype; // Public\n\n _proto.close = function close(element) {\n var rootElement = this._element;\n\n if (element) {\n rootElement = this._getRootElement(element);\n }\n\n var customEvent = this._triggerCloseEvent(rootElement);\n\n if (customEvent.isDefaultPrevented()) {\n return;\n }\n\n this._removeElement(rootElement);\n };\n\n _proto.dispose = function dispose() {\n $.removeData(this._element, DATA_KEY);\n this._element = null;\n } // Private\n ;\n\n _proto._getRootElement = function _getRootElement(element) {\n var selector = Util.getSelectorFromElement(element);\n var parent = false;\n\n if (selector) {\n parent = document.querySelector(selector);\n }\n\n if (!parent) {\n parent = $(element).closest(\".\" + CLASS_NAME_ALERT)[0];\n }\n\n return parent;\n };\n\n _proto._triggerCloseEvent = function _triggerCloseEvent(element) {\n var closeEvent = $.Event(EVENT_CLOSE);\n $(element).trigger(closeEvent);\n return closeEvent;\n };\n\n _proto._removeElement = function _removeElement(element) {\n var _this = this;\n\n $(element).removeClass(CLASS_NAME_SHOW);\n\n if (!$(element).hasClass(CLASS_NAME_FADE)) {\n this._destroyElement(element);\n\n return;\n }\n\n var transitionDuration = Util.getTransitionDurationFromElement(element);\n $(element).one(Util.TRANSITION_END, function (event) {\n return _this._destroyElement(element, event);\n }).emulateTransitionEnd(transitionDuration);\n };\n\n _proto._destroyElement = function _destroyElement(element) {\n $(element).detach().trigger(EVENT_CLOSED).remove();\n } // Static\n ;\n\n Alert._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var $element = $(this);\n var data = $element.data(DATA_KEY);\n\n if (!data) {\n data = new Alert(this);\n $element.data(DATA_KEY, data);\n }\n\n if (config === 'close') {\n data[config](this);\n }\n });\n };\n\n Alert._handleDismiss = function _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault();\n }\n\n alertInstance.close(this);\n };\n };\n\n _createClass(Alert, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION;\n }\n }]);\n\n return Alert;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $(document).on(EVENT_CLICK_DATA_API, SELECTOR_DISMISS, Alert._handleDismiss(new Alert()));\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Alert._jQueryInterface;\n $.fn[NAME].Constructor = Alert;\n\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Alert._jQueryInterface;\n };\n\n return Alert;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/*!\n * Bootstrap button.js v4.5.0 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery')) : typeof define === 'function' && define.amd ? define(['jquery'], factory) : (global = global || self, global.Button = factory(global.jQuery));\n})(this, function ($) {\n 'use strict';\n\n $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;\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\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n\n var NAME = 'button';\n var VERSION = '4.5.0';\n var DATA_KEY = 'bs.button';\n var EVENT_KEY = \".\" + DATA_KEY;\n var DATA_API_KEY = '.data-api';\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n var CLASS_NAME_ACTIVE = 'active';\n var CLASS_NAME_BUTTON = 'btn';\n var CLASS_NAME_FOCUS = 'focus';\n var SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^=\"button\"]';\n var SELECTOR_DATA_TOGGLES = '[data-toggle=\"buttons\"]';\n var SELECTOR_DATA_TOGGLE = '[data-toggle=\"button\"]';\n var SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle=\"buttons\"] .btn';\n var SELECTOR_INPUT = 'input:not([type=\"hidden\"])';\n var SELECTOR_ACTIVE = '.active';\n var SELECTOR_BUTTON = '.btn';\n var EVENT_CLICK_DATA_API = \"click\" + EVENT_KEY + DATA_API_KEY;\n var EVENT_FOCUS_BLUR_DATA_API = \"focus\" + EVENT_KEY + DATA_API_KEY + \" \" + (\"blur\" + EVENT_KEY + DATA_API_KEY);\n var EVENT_LOAD_DATA_API = \"load\" + EVENT_KEY + DATA_API_KEY;\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Button = /*#__PURE__*/function () {\n function Button(element) {\n this._element = element;\n } // Getters\n\n\n var _proto = Button.prototype; // Public\n\n _proto.toggle = function toggle() {\n var triggerChangeEvent = true;\n var addAriaPressed = true;\n var rootElement = $(this._element).closest(SELECTOR_DATA_TOGGLES)[0];\n\n if (rootElement) {\n var input = this._element.querySelector(SELECTOR_INPUT);\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE)) {\n triggerChangeEvent = false;\n } else {\n var activeElement = rootElement.querySelector(SELECTOR_ACTIVE);\n\n if (activeElement) {\n $(activeElement).removeClass(CLASS_NAME_ACTIVE);\n }\n }\n }\n\n if (triggerChangeEvent) {\n // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input\n if (input.type === 'checkbox' || input.type === 'radio') {\n input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE);\n }\n\n $(input).trigger('change');\n }\n\n input.focus();\n addAriaPressed = false;\n }\n }\n\n if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE));\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(CLASS_NAME_ACTIVE);\n }\n }\n };\n\n _proto.dispose = function dispose() {\n $.removeData(this._element, DATA_KEY);\n this._element = null;\n } // Static\n ;\n\n Button._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY);\n\n if (!data) {\n data = new Button(this);\n $(this).data(DATA_KEY, data);\n }\n\n if (config === 'toggle') {\n data[config]();\n }\n });\n };\n\n _createClass(Button, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION;\n }\n }]);\n\n return Button;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {\n var button = event.target;\n var initialButton = button;\n\n if (!$(button).hasClass(CLASS_NAME_BUTTON)) {\n button = $(button).closest(SELECTOR_BUTTON)[0];\n }\n\n if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {\n event.preventDefault(); // work around Firefox bug #1540995\n } else {\n var inputBtn = button.querySelector(SELECTOR_INPUT);\n\n if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {\n event.preventDefault(); // work around Firefox bug #1540995\n\n return;\n }\n\n if (initialButton.tagName === 'LABEL' && inputBtn && inputBtn.type === 'checkbox') {\n event.preventDefault(); // work around event sent to label and input\n }\n\n Button._jQueryInterface.call($(button), 'toggle');\n }\n }).on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {\n var button = $(event.target).closest(SELECTOR_BUTTON)[0];\n $(button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type));\n });\n $(window).on(EVENT_LOAD_DATA_API, function () {\n // ensure correct active class is set to match the controls' actual values/states\n // find all checkboxes/readio buttons inside data-toggle groups\n var buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS));\n\n for (var i = 0, len = buttons.length; i < len; i++) {\n var button = buttons[i];\n var input = button.querySelector(SELECTOR_INPUT);\n\n if (input.checked || input.hasAttribute('checked')) {\n button.classList.add(CLASS_NAME_ACTIVE);\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE);\n }\n } // find all button toggles\n\n\n buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE));\n\n for (var _i = 0, _len = buttons.length; _i < _len; _i++) {\n var _button = buttons[_i];\n\n if (_button.getAttribute('aria-pressed') === 'true') {\n _button.classList.add(CLASS_NAME_ACTIVE);\n } else {\n _button.classList.remove(CLASS_NAME_ACTIVE);\n }\n }\n });\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Button._jQueryInterface;\n $.fn[NAME].Constructor = Button;\n\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Button._jQueryInterface;\n };\n\n return Button;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/*!\n * Bootstrap carousel.js v4.5.0 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) : typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) : (global = global || self, global.Carousel = factory(global.jQuery, global.Util));\n})(this, function ($, Util) {\n 'use strict';\n\n $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;\n Util = Util && Object.prototype.hasOwnProperty.call(Util, 'default') ? Util['default'] : Util;\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\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n 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 function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n }\n\n function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n }\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n\n var NAME = 'carousel';\n var VERSION = '4.5.0';\n var DATA_KEY = 'bs.carousel';\n var EVENT_KEY = \".\" + DATA_KEY;\n var DATA_API_KEY = '.data-api';\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key\n\n var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key\n\n var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch\n\n var SWIPE_THRESHOLD = 40;\n var Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n };\n var DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n };\n var DIRECTION_NEXT = 'next';\n var DIRECTION_PREV = 'prev';\n var DIRECTION_LEFT = 'left';\n var DIRECTION_RIGHT = 'right';\n var EVENT_SLIDE = \"slide\" + EVENT_KEY;\n var EVENT_SLID = \"slid\" + EVENT_KEY;\n var EVENT_KEYDOWN = \"keydown\" + EVENT_KEY;\n var EVENT_MOUSEENTER = \"mouseenter\" + EVENT_KEY;\n var EVENT_MOUSELEAVE = \"mouseleave\" + EVENT_KEY;\n var EVENT_TOUCHSTART = \"touchstart\" + EVENT_KEY;\n var EVENT_TOUCHMOVE = \"touchmove\" + EVENT_KEY;\n var EVENT_TOUCHEND = \"touchend\" + EVENT_KEY;\n var EVENT_POINTERDOWN = \"pointerdown\" + EVENT_KEY;\n var EVENT_POINTERUP = \"pointerup\" + EVENT_KEY;\n var EVENT_DRAG_START = \"dragstart\" + EVENT_KEY;\n var EVENT_LOAD_DATA_API = \"load\" + EVENT_KEY + DATA_API_KEY;\n var EVENT_CLICK_DATA_API = \"click\" + EVENT_KEY + DATA_API_KEY;\n var CLASS_NAME_CAROUSEL = 'carousel';\n var CLASS_NAME_ACTIVE = 'active';\n var CLASS_NAME_SLIDE = 'slide';\n var CLASS_NAME_RIGHT = 'carousel-item-right';\n var CLASS_NAME_LEFT = 'carousel-item-left';\n var CLASS_NAME_NEXT = 'carousel-item-next';\n var CLASS_NAME_PREV = 'carousel-item-prev';\n var CLASS_NAME_POINTER_EVENT = 'pointer-event';\n var SELECTOR_ACTIVE = '.active';\n var SELECTOR_ACTIVE_ITEM = '.active.carousel-item';\n var SELECTOR_ITEM = '.carousel-item';\n var SELECTOR_ITEM_IMG = '.carousel-item img';\n var SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev';\n var SELECTOR_INDICATORS = '.carousel-indicators';\n var SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]';\n var SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]';\n var PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n };\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Carousel = /*#__PURE__*/function () {\n function Carousel(element, config) {\n this._items = null;\n this._interval = null;\n this._activeElement = null;\n this._isPaused = false;\n this._isSliding = false;\n this.touchTimeout = null;\n this.touchStartX = 0;\n this.touchDeltaX = 0;\n this._config = this._getConfig(config);\n this._element = element;\n this._indicatorsElement = this._element.querySelector(SELECTOR_INDICATORS);\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent);\n\n this._addEventListeners();\n } // Getters\n\n\n var _proto = Carousel.prototype; // Public\n\n _proto.next = function next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT);\n }\n };\n\n _proto.nextWhenVisible = function nextWhenVisible() {\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden && $(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden') {\n this.next();\n }\n };\n\n _proto.prev = function prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV);\n }\n };\n\n _proto.pause = function pause(event) {\n if (!event) {\n this._isPaused = true;\n }\n\n if (this._element.querySelector(SELECTOR_NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element);\n this.cycle(true);\n }\n\n clearInterval(this._interval);\n this._interval = null;\n };\n\n _proto.cycle = function cycle(event) {\n if (!event) {\n this._isPaused = false;\n }\n\n if (this._interval) {\n clearInterval(this._interval);\n this._interval = null;\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);\n }\n };\n\n _proto.to = function to(index) {\n var _this = this;\n\n this._activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM);\n\n var activeIndex = this._getItemIndex(this._activeElement);\n\n if (index > this._items.length - 1 || index < 0) {\n return;\n }\n\n if (this._isSliding) {\n $(this._element).one(EVENT_SLID, function () {\n return _this.to(index);\n });\n return;\n }\n\n if (activeIndex === index) {\n this.pause();\n this.cycle();\n return;\n }\n\n var direction = index > activeIndex ? DIRECTION_NEXT : DIRECTION_PREV;\n\n this._slide(direction, this._items[index]);\n };\n\n _proto.dispose = function dispose() {\n $(this._element).off(EVENT_KEY);\n $.removeData(this._element, DATA_KEY);\n this._items = null;\n this._config = null;\n this._element = null;\n this._interval = null;\n this._isPaused = null;\n this._isSliding = null;\n this._activeElement = null;\n this._indicatorsElement = null;\n } // Private\n ;\n\n _proto._getConfig = function _getConfig(config) {\n config = _objectSpread2(_objectSpread2({}, Default), config);\n Util.typeCheckConfig(NAME, config, DefaultType);\n return config;\n };\n\n _proto._handleSwipe = function _handleSwipe() {\n var absDeltax = Math.abs(this.touchDeltaX);\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return;\n }\n\n var direction = absDeltax / this.touchDeltaX;\n this.touchDeltaX = 0; // swipe left\n\n if (direction > 0) {\n this.prev();\n } // swipe right\n\n\n if (direction < 0) {\n this.next();\n }\n };\n\n _proto._addEventListeners = function _addEventListeners() {\n var _this2 = this;\n\n if (this._config.keyboard) {\n $(this._element).on(EVENT_KEYDOWN, function (event) {\n return _this2._keydown(event);\n });\n }\n\n if (this._config.pause === 'hover') {\n $(this._element).on(EVENT_MOUSEENTER, function (event) {\n return _this2.pause(event);\n }).on(EVENT_MOUSELEAVE, function (event) {\n return _this2.cycle(event);\n });\n }\n\n if (this._config.touch) {\n this._addTouchEventListeners();\n }\n };\n\n _proto._addTouchEventListeners = function _addTouchEventListeners() {\n var _this3 = this;\n\n if (!this._touchSupported) {\n return;\n }\n\n var start = function start(event) {\n if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n _this3.touchStartX = event.originalEvent.clientX;\n } else if (!_this3._pointerEvent) {\n _this3.touchStartX = event.originalEvent.touches[0].clientX;\n }\n };\n\n var move = function move(event) {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n _this3.touchDeltaX = 0;\n } else {\n _this3.touchDeltaX = event.originalEvent.touches[0].clientX - _this3.touchStartX;\n }\n };\n\n var end = function end(event) {\n if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n _this3.touchDeltaX = event.originalEvent.clientX - _this3.touchStartX;\n }\n\n _this3._handleSwipe();\n\n if (_this3._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n _this3.pause();\n\n if (_this3.touchTimeout) {\n clearTimeout(_this3.touchTimeout);\n }\n\n _this3.touchTimeout = setTimeout(function (event) {\n return _this3.cycle(event);\n }, TOUCHEVENT_COMPAT_WAIT + _this3._config.interval);\n }\n };\n\n $(this._element.querySelectorAll(SELECTOR_ITEM_IMG)).on(EVENT_DRAG_START, function (e) {\n return e.preventDefault();\n });\n\n if (this._pointerEvent) {\n $(this._element).on(EVENT_POINTERDOWN, function (event) {\n return start(event);\n });\n $(this._element).on(EVENT_POINTERUP, function (event) {\n return end(event);\n });\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT);\n } else {\n $(this._element).on(EVENT_TOUCHSTART, function (event) {\n return start(event);\n });\n $(this._element).on(EVENT_TOUCHMOVE, function (event) {\n return move(event);\n });\n $(this._element).on(EVENT_TOUCHEND, function (event) {\n return end(event);\n });\n }\n };\n\n _proto._keydown = function _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return;\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault();\n this.prev();\n break;\n\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault();\n this.next();\n break;\n }\n };\n\n _proto._getItemIndex = function _getItemIndex(element) {\n this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(SELECTOR_ITEM)) : [];\n return this._items.indexOf(element);\n };\n\n _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {\n var isNextDirection = direction === DIRECTION_NEXT;\n var isPrevDirection = direction === DIRECTION_PREV;\n\n var activeIndex = this._getItemIndex(activeElement);\n\n var lastItemIndex = this._items.length - 1;\n var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement;\n }\n\n var delta = direction === DIRECTION_PREV ? -1 : 1;\n var itemIndex = (activeIndex + delta) % this._items.length;\n return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];\n };\n\n _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {\n var targetIndex = this._getItemIndex(relatedTarget);\n\n var fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM));\n\n var slideEvent = $.Event(EVENT_SLIDE, {\n relatedTarget: relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n });\n $(this._element).trigger(slideEvent);\n return slideEvent;\n };\n\n _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE));\n $(indicators).removeClass(CLASS_NAME_ACTIVE);\n\n var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];\n\n if (nextIndicator) {\n $(nextIndicator).addClass(CLASS_NAME_ACTIVE);\n }\n }\n };\n\n _proto._slide = function _slide(direction, element) {\n var _this4 = this;\n\n var activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM);\n\n var activeElementIndex = this._getItemIndex(activeElement);\n\n var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);\n\n var nextElementIndex = this._getItemIndex(nextElement);\n\n var isCycling = Boolean(this._interval);\n var directionalClassName;\n var orderClassName;\n var eventDirectionName;\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT;\n orderClassName = CLASS_NAME_NEXT;\n eventDirectionName = DIRECTION_LEFT;\n } else {\n directionalClassName = CLASS_NAME_RIGHT;\n orderClassName = CLASS_NAME_PREV;\n eventDirectionName = DIRECTION_RIGHT;\n }\n\n if (nextElement && $(nextElement).hasClass(CLASS_NAME_ACTIVE)) {\n this._isSliding = false;\n return;\n }\n\n var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);\n\n if (slideEvent.isDefaultPrevented()) {\n return;\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return;\n }\n\n this._isSliding = true;\n\n if (isCycling) {\n this.pause();\n }\n\n this._setActiveIndicatorElement(nextElement);\n\n var slidEvent = $.Event(EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n });\n\n if ($(this._element).hasClass(CLASS_NAME_SLIDE)) {\n $(nextElement).addClass(orderClassName);\n Util.reflow(nextElement);\n $(activeElement).addClass(directionalClassName);\n $(nextElement).addClass(directionalClassName);\n var nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10);\n\n if (nextElementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval;\n this._config.interval = nextElementInterval;\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval;\n }\n\n var transitionDuration = Util.getTransitionDurationFromElement(activeElement);\n $(activeElement).one(Util.TRANSITION_END, function () {\n $(nextElement).removeClass(directionalClassName + \" \" + orderClassName).addClass(CLASS_NAME_ACTIVE);\n $(activeElement).removeClass(CLASS_NAME_ACTIVE + \" \" + orderClassName + \" \" + directionalClassName);\n _this4._isSliding = false;\n setTimeout(function () {\n return $(_this4._element).trigger(slidEvent);\n }, 0);\n }).emulateTransitionEnd(transitionDuration);\n } else {\n $(activeElement).removeClass(CLASS_NAME_ACTIVE);\n $(nextElement).addClass(CLASS_NAME_ACTIVE);\n this._isSliding = false;\n $(this._element).trigger(slidEvent);\n }\n\n if (isCycling) {\n this.cycle();\n }\n } // Static\n ;\n\n Carousel._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY);\n\n var _config = _objectSpread2(_objectSpread2({}, Default), $(this).data());\n\n if (_typeof(config) === 'object') {\n _config = _objectSpread2(_objectSpread2({}, _config), config);\n }\n\n var action = typeof config === 'string' ? config : _config.slide;\n\n if (!data) {\n data = new Carousel(this, _config);\n $(this).data(DATA_KEY, data);\n }\n\n if (typeof config === 'number') {\n data.to(config);\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + action + \"\\\"\");\n }\n\n data[action]();\n } else if (_config.interval && _config.ride) {\n data.pause();\n data.cycle();\n }\n });\n };\n\n Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {\n var selector = Util.getSelectorFromElement(this);\n\n if (!selector) {\n return;\n }\n\n var target = $(selector)[0];\n\n if (!target || !$(target).hasClass(CLASS_NAME_CAROUSEL)) {\n return;\n }\n\n var config = _objectSpread2(_objectSpread2({}, $(target).data()), $(this).data());\n\n var slideIndex = this.getAttribute('data-slide-to');\n\n if (slideIndex) {\n config.interval = false;\n }\n\n Carousel._jQueryInterface.call($(target), config);\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex);\n }\n\n event.preventDefault();\n };\n\n _createClass(Carousel, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default;\n }\n }]);\n\n return Carousel;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler);\n $(window).on(EVENT_LOAD_DATA_API, function () {\n var carousels = [].slice.call(document.querySelectorAll(SELECTOR_DATA_RIDE));\n\n for (var i = 0, len = carousels.length; i < len; i++) {\n var $carousel = $(carousels[i]);\n\n Carousel._jQueryInterface.call($carousel, $carousel.data());\n }\n });\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Carousel._jQueryInterface;\n $.fn[NAME].Constructor = Carousel;\n\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Carousel._jQueryInterface;\n };\n\n return Carousel;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/*!\n * Bootstrap collapse.js v4.5.0 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) : typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) : (global = global || self, global.Collapse = factory(global.jQuery, global.Util));\n})(this, function ($, Util) {\n 'use strict';\n\n $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;\n Util = Util && Object.prototype.hasOwnProperty.call(Util, 'default') ? Util['default'] : Util;\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\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n 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 function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n }\n\n function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n }\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n\n var NAME = 'collapse';\n var VERSION = '4.5.0';\n var DATA_KEY = 'bs.collapse';\n var EVENT_KEY = \".\" + DATA_KEY;\n var DATA_API_KEY = '.data-api';\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n var Default = {\n toggle: true,\n parent: ''\n };\n var DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n };\n var EVENT_SHOW = \"show\" + EVENT_KEY;\n var EVENT_SHOWN = \"shown\" + EVENT_KEY;\n var EVENT_HIDE = \"hide\" + EVENT_KEY;\n var EVENT_HIDDEN = \"hidden\" + EVENT_KEY;\n var EVENT_CLICK_DATA_API = \"click\" + EVENT_KEY + DATA_API_KEY;\n var CLASS_NAME_SHOW = 'show';\n var CLASS_NAME_COLLAPSE = 'collapse';\n var CLASS_NAME_COLLAPSING = 'collapsing';\n var CLASS_NAME_COLLAPSED = 'collapsed';\n var DIMENSION_WIDTH = 'width';\n var DIMENSION_HEIGHT = 'height';\n var SELECTOR_ACTIVES = '.show, .collapsing';\n var SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]';\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Collapse = /*#__PURE__*/function () {\n function Collapse(element, config) {\n this._isTransitioning = false;\n this._element = element;\n this._config = this._getConfig(config);\n this._triggerArray = [].slice.call(document.querySelectorAll(\"[data-toggle=\\\"collapse\\\"][href=\\\"#\" + element.id + \"\\\"],\" + (\"[data-toggle=\\\"collapse\\\"][data-target=\\\"#\" + element.id + \"\\\"]\")));\n var toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE));\n\n for (var i = 0, len = toggleList.length; i < len; i++) {\n var elem = toggleList[i];\n var selector = Util.getSelectorFromElement(elem);\n var filterElement = [].slice.call(document.querySelectorAll(selector)).filter(function (foundElem) {\n return foundElem === element;\n });\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector;\n\n this._triggerArray.push(elem);\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null;\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray);\n }\n\n if (this._config.toggle) {\n this.toggle();\n }\n } // Getters\n\n\n var _proto = Collapse.prototype; // Public\n\n _proto.toggle = function toggle() {\n if ($(this._element).hasClass(CLASS_NAME_SHOW)) {\n this.hide();\n } else {\n this.show();\n }\n };\n\n _proto.show = function show() {\n var _this = this;\n\n if (this._isTransitioning || $(this._element).hasClass(CLASS_NAME_SHOW)) {\n return;\n }\n\n var actives;\n var activesData;\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES)).filter(function (elem) {\n if (typeof _this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === _this._config.parent;\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE);\n });\n\n if (actives.length === 0) {\n actives = null;\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY);\n\n if (activesData && activesData._isTransitioning) {\n return;\n }\n }\n\n var startEvent = $.Event(EVENT_SHOW);\n $(this._element).trigger(startEvent);\n\n if (startEvent.isDefaultPrevented()) {\n return;\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide');\n\n if (!activesData) {\n $(actives).data(DATA_KEY, null);\n }\n }\n\n var dimension = this._getDimension();\n\n $(this._element).removeClass(CLASS_NAME_COLLAPSE).addClass(CLASS_NAME_COLLAPSING);\n this._element.style[dimension] = 0;\n\n if (this._triggerArray.length) {\n $(this._triggerArray).removeClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', true);\n }\n\n this.setTransitioning(true);\n\n var complete = function complete() {\n $(_this._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE + \" \" + CLASS_NAME_SHOW);\n _this._element.style[dimension] = '';\n\n _this.setTransitioning(false);\n\n $(_this._element).trigger(EVENT_SHOWN);\n };\n\n var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);\n var scrollSize = \"scroll\" + capitalizedDimension;\n var transitionDuration = Util.getTransitionDurationFromElement(this._element);\n $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n this._element.style[dimension] = this._element[scrollSize] + \"px\";\n };\n\n _proto.hide = function hide() {\n var _this2 = this;\n\n if (this._isTransitioning || !$(this._element).hasClass(CLASS_NAME_SHOW)) {\n return;\n }\n\n var startEvent = $.Event(EVENT_HIDE);\n $(this._element).trigger(startEvent);\n\n if (startEvent.isDefaultPrevented()) {\n return;\n }\n\n var dimension = this._getDimension();\n\n this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + \"px\";\n Util.reflow(this._element);\n $(this._element).addClass(CLASS_NAME_COLLAPSING).removeClass(CLASS_NAME_COLLAPSE + \" \" + CLASS_NAME_SHOW);\n var triggerArrayLength = this._triggerArray.length;\n\n if (triggerArrayLength > 0) {\n for (var i = 0; i < triggerArrayLength; i++) {\n var trigger = this._triggerArray[i];\n var selector = Util.getSelectorFromElement(trigger);\n\n if (selector !== null) {\n var $elem = $([].slice.call(document.querySelectorAll(selector)));\n\n if (!$elem.hasClass(CLASS_NAME_SHOW)) {\n $(trigger).addClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', false);\n }\n }\n }\n }\n\n this.setTransitioning(true);\n\n var complete = function complete() {\n _this2.setTransitioning(false);\n\n $(_this2._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE).trigger(EVENT_HIDDEN);\n };\n\n this._element.style[dimension] = '';\n var transitionDuration = Util.getTransitionDurationFromElement(this._element);\n $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n };\n\n _proto.setTransitioning = function setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning;\n };\n\n _proto.dispose = function dispose() {\n $.removeData(this._element, DATA_KEY);\n this._config = null;\n this._parent = null;\n this._element = null;\n this._triggerArray = null;\n this._isTransitioning = null;\n } // Private\n ;\n\n _proto._getConfig = function _getConfig(config) {\n config = _objectSpread2(_objectSpread2({}, Default), config);\n config.toggle = Boolean(config.toggle); // Coerce string values\n\n Util.typeCheckConfig(NAME, config, DefaultType);\n return config;\n };\n\n _proto._getDimension = function _getDimension() {\n var hasWidth = $(this._element).hasClass(DIMENSION_WIDTH);\n return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT;\n };\n\n _proto._getParent = function _getParent() {\n var _this3 = this;\n\n var parent;\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent; // It's a jQuery object\n\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0];\n }\n } else {\n parent = document.querySelector(this._config.parent);\n }\n\n var selector = \"[data-toggle=\\\"collapse\\\"][data-parent=\\\"\" + this._config.parent + \"\\\"]\";\n var children = [].slice.call(parent.querySelectorAll(selector));\n $(children).each(function (i, element) {\n _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);\n });\n return parent;\n };\n\n _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {\n var isOpen = $(element).hasClass(CLASS_NAME_SHOW);\n\n if (triggerArray.length) {\n $(triggerArray).toggleClass(CLASS_NAME_COLLAPSED, !isOpen).attr('aria-expanded', isOpen);\n }\n } // Static\n ;\n\n Collapse._getTargetFromElement = function _getTargetFromElement(element) {\n var selector = Util.getSelectorFromElement(element);\n return selector ? document.querySelector(selector) : null;\n };\n\n Collapse._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var $this = $(this);\n var data = $this.data(DATA_KEY);\n\n var _config = _objectSpread2(_objectSpread2(_objectSpread2({}, Default), $this.data()), _typeof(config) === 'object' && config ? config : {});\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false;\n }\n\n if (!data) {\n data = new Collapse(this, _config);\n $this.data(DATA_KEY, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config]();\n }\n });\n };\n\n _createClass(Collapse, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default;\n }\n }]);\n\n return Collapse;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault();\n }\n\n var $trigger = $(this);\n var selector = Util.getSelectorFromElement(this);\n var selectors = [].slice.call(document.querySelectorAll(selector));\n $(selectors).each(function () {\n var $target = $(this);\n var data = $target.data(DATA_KEY);\n var config = data ? 'toggle' : $trigger.data();\n\n Collapse._jQueryInterface.call($target, config);\n });\n });\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Collapse._jQueryInterface;\n $.fn[NAME].Constructor = Collapse;\n\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Collapse._jQueryInterface;\n };\n\n return Collapse;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/*!\n * Bootstrap dropdown.js v4.5.0 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('popper.js'), require('./util.js')) : typeof define === 'function' && define.amd ? define(['jquery', 'popper.js', './util.js'], factory) : (global = global || self, global.Dropdown = factory(global.jQuery, global.Popper, global.Util));\n})(this, function ($, Popper, Util) {\n 'use strict';\n\n $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;\n Popper = Popper && Object.prototype.hasOwnProperty.call(Popper, 'default') ? Popper['default'] : Popper;\n Util = Util && Object.prototype.hasOwnProperty.call(Util, 'default') ? Util['default'] : Util;\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\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n 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 function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n }\n\n function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n }\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n\n var NAME = 'dropdown';\n var VERSION = '4.5.0';\n var DATA_KEY = 'bs.dropdown';\n var EVENT_KEY = \".\" + DATA_KEY;\n var DATA_API_KEY = '.data-api';\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key\n\n var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key\n\n var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key\n\n var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key\n\n var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key\n\n var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)\n\n var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + \"|\" + ARROW_DOWN_KEYCODE + \"|\" + ESCAPE_KEYCODE);\n var EVENT_HIDE = \"hide\" + EVENT_KEY;\n var EVENT_HIDDEN = \"hidden\" + EVENT_KEY;\n var EVENT_SHOW = \"show\" + EVENT_KEY;\n var EVENT_SHOWN = \"shown\" + EVENT_KEY;\n var EVENT_CLICK = \"click\" + EVENT_KEY;\n var EVENT_CLICK_DATA_API = \"click\" + EVENT_KEY + DATA_API_KEY;\n var EVENT_KEYDOWN_DATA_API = \"keydown\" + EVENT_KEY + DATA_API_KEY;\n var EVENT_KEYUP_DATA_API = \"keyup\" + EVENT_KEY + DATA_API_KEY;\n var CLASS_NAME_DISABLED = 'disabled';\n var CLASS_NAME_SHOW = 'show';\n var CLASS_NAME_DROPUP = 'dropup';\n var CLASS_NAME_DROPRIGHT = 'dropright';\n var CLASS_NAME_DROPLEFT = 'dropleft';\n var CLASS_NAME_MENURIGHT = 'dropdown-menu-right';\n var CLASS_NAME_POSITION_STATIC = 'position-static';\n var SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]';\n var SELECTOR_FORM_CHILD = '.dropdown form';\n var SELECTOR_MENU = '.dropdown-menu';\n var SELECTOR_NAVBAR_NAV = '.navbar-nav';\n var SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';\n var PLACEMENT_TOP = 'top-start';\n var PLACEMENT_TOPEND = 'top-end';\n var PLACEMENT_BOTTOM = 'bottom-start';\n var PLACEMENT_BOTTOMEND = 'bottom-end';\n var PLACEMENT_RIGHT = 'right-start';\n var PLACEMENT_LEFT = 'left-start';\n var Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n };\n var DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n };\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Dropdown = /*#__PURE__*/function () {\n function Dropdown(element, config) {\n this._element = element;\n this._popper = null;\n this._config = this._getConfig(config);\n this._menu = this._getMenuElement();\n this._inNavbar = this._detectNavbar();\n\n this._addEventListeners();\n } // Getters\n\n\n var _proto = Dropdown.prototype; // Public\n\n _proto.toggle = function toggle() {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED)) {\n return;\n }\n\n var isActive = $(this._menu).hasClass(CLASS_NAME_SHOW);\n\n Dropdown._clearMenus();\n\n if (isActive) {\n return;\n }\n\n this.show(true);\n };\n\n _proto.show = function show(usePopper) {\n if (usePopper === void 0) {\n usePopper = false;\n }\n\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || $(this._menu).hasClass(CLASS_NAME_SHOW)) {\n return;\n }\n\n var relatedTarget = {\n relatedTarget: this._element\n };\n var showEvent = $.Event(EVENT_SHOW, relatedTarget);\n\n var parent = Dropdown._getParentFromElement(this._element);\n\n $(parent).trigger(showEvent);\n\n if (showEvent.isDefaultPrevented()) {\n return;\n } // Disable totally Popper.js for Dropdown in Navbar\n\n\n if (!this._inNavbar && usePopper) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper.js (https://popper.js.org/)');\n }\n\n var referenceElement = this._element;\n\n if (this._config.reference === 'parent') {\n referenceElement = parent;\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference; // Check if it's jQuery element\n\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0];\n }\n } // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n\n\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(CLASS_NAME_POSITION_STATIC);\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());\n } // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n\n\n if ('ontouchstart' in document.documentElement && $(parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop);\n }\n\n this._element.focus();\n\n this._element.setAttribute('aria-expanded', true);\n\n $(this._menu).toggleClass(CLASS_NAME_SHOW);\n $(parent).toggleClass(CLASS_NAME_SHOW).trigger($.Event(EVENT_SHOWN, relatedTarget));\n };\n\n _proto.hide = function hide() {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || !$(this._menu).hasClass(CLASS_NAME_SHOW)) {\n return;\n }\n\n var relatedTarget = {\n relatedTarget: this._element\n };\n var hideEvent = $.Event(EVENT_HIDE, relatedTarget);\n\n var parent = Dropdown._getParentFromElement(this._element);\n\n $(parent).trigger(hideEvent);\n\n if (hideEvent.isDefaultPrevented()) {\n return;\n }\n\n if (this._popper) {\n this._popper.destroy();\n }\n\n $(this._menu).toggleClass(CLASS_NAME_SHOW);\n $(parent).toggleClass(CLASS_NAME_SHOW).trigger($.Event(EVENT_HIDDEN, relatedTarget));\n };\n\n _proto.dispose = function dispose() {\n $.removeData(this._element, DATA_KEY);\n $(this._element).off(EVENT_KEY);\n this._element = null;\n this._menu = null;\n\n if (this._popper !== null) {\n this._popper.destroy();\n\n this._popper = null;\n }\n };\n\n _proto.update = function update() {\n this._inNavbar = this._detectNavbar();\n\n if (this._popper !== null) {\n this._popper.scheduleUpdate();\n }\n } // Private\n ;\n\n _proto._addEventListeners = function _addEventListeners() {\n var _this = this;\n\n $(this._element).on(EVENT_CLICK, function (event) {\n event.preventDefault();\n event.stopPropagation();\n\n _this.toggle();\n });\n };\n\n _proto._getConfig = function _getConfig(config) {\n config = _objectSpread2(_objectSpread2(_objectSpread2({}, this.constructor.Default), $(this._element).data()), config);\n Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);\n return config;\n };\n\n _proto._getMenuElement = function _getMenuElement() {\n if (!this._menu) {\n var parent = Dropdown._getParentFromElement(this._element);\n\n if (parent) {\n this._menu = parent.querySelector(SELECTOR_MENU);\n }\n }\n\n return this._menu;\n };\n\n _proto._getPlacement = function _getPlacement() {\n var $parentDropdown = $(this._element.parentNode);\n var placement = PLACEMENT_BOTTOM; // Handle dropup\n\n if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) {\n placement = $(this._menu).hasClass(CLASS_NAME_MENURIGHT) ? PLACEMENT_TOPEND : PLACEMENT_TOP;\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT;\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT;\n } else if ($(this._menu).hasClass(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND;\n }\n\n return placement;\n };\n\n _proto._detectNavbar = function _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0;\n };\n\n _proto._getOffset = function _getOffset() {\n var _this2 = this;\n\n var offset = {};\n\n if (typeof this._config.offset === 'function') {\n offset.fn = function (data) {\n data.offsets = _objectSpread2(_objectSpread2({}, data.offsets), _this2._config.offset(data.offsets, _this2._element) || {});\n return data;\n };\n } else {\n offset.offset = this._config.offset;\n }\n\n return offset;\n };\n\n _proto._getPopperConfig = function _getPopperConfig() {\n var popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }; // Disable Popper.js if we have a static display\n\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n };\n }\n\n return _objectSpread2(_objectSpread2({}, popperConfig), this._config.popperConfig);\n } // Static\n ;\n\n Dropdown._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY);\n\n var _config = _typeof(config) === 'object' ? config : null;\n\n if (!data) {\n data = new Dropdown(this, _config);\n $(this).data(DATA_KEY, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config]();\n }\n });\n };\n\n Dropdown._clearMenus = function _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return;\n }\n\n var toggles = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE));\n\n for (var i = 0, len = toggles.length; i < len; i++) {\n var parent = Dropdown._getParentFromElement(toggles[i]);\n\n var context = $(toggles[i]).data(DATA_KEY);\n var relatedTarget = {\n relatedTarget: toggles[i]\n };\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event;\n }\n\n if (!context) {\n continue;\n }\n\n var dropdownMenu = context._menu;\n\n if (!$(parent).hasClass(CLASS_NAME_SHOW)) {\n continue;\n }\n\n if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $.contains(parent, event.target)) {\n continue;\n }\n\n var hideEvent = $.Event(EVENT_HIDE, relatedTarget);\n $(parent).trigger(hideEvent);\n\n if (hideEvent.isDefaultPrevented()) {\n continue;\n } // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n\n\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop);\n }\n\n toggles[i].setAttribute('aria-expanded', 'false');\n\n if (context._popper) {\n context._popper.destroy();\n }\n\n $(dropdownMenu).removeClass(CLASS_NAME_SHOW);\n $(parent).removeClass(CLASS_NAME_SHOW).trigger($.Event(EVENT_HIDDEN, relatedTarget));\n }\n };\n\n Dropdown._getParentFromElement = function _getParentFromElement(element) {\n var parent;\n var selector = Util.getSelectorFromElement(element);\n\n if (selector) {\n parent = document.querySelector(selector);\n }\n\n return parent || element.parentNode;\n } // eslint-disable-next-line complexity\n ;\n\n Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $(event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return;\n }\n\n if (this.disabled || $(this).hasClass(CLASS_NAME_DISABLED)) {\n return;\n }\n\n var parent = Dropdown._getParentFromElement(this);\n\n var isActive = $(parent).hasClass(CLASS_NAME_SHOW);\n\n if (!isActive && event.which === ESCAPE_KEYCODE) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n $(parent.querySelector(SELECTOR_DATA_TOGGLE)).trigger('focus');\n }\n\n $(this).trigger('click');\n return;\n }\n\n var items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS)).filter(function (item) {\n return $(item).is(':visible');\n });\n\n if (items.length === 0) {\n return;\n }\n\n var index = items.indexOf(event.target);\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) {\n // Up\n index--;\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {\n // Down\n index++;\n }\n\n if (index < 0) {\n index = 0;\n }\n\n items[index].focus();\n };\n\n _createClass(Dropdown, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType;\n }\n }]);\n\n return Dropdown;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $(document).on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler).on(EVENT_CLICK_DATA_API + \" \" + EVENT_KEYUP_DATA_API, Dropdown._clearMenus).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault();\n event.stopPropagation();\n\n Dropdown._jQueryInterface.call($(this), 'toggle');\n }).on(EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, function (e) {\n e.stopPropagation();\n });\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface;\n $.fn[NAME].Constructor = Dropdown;\n\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Dropdown._jQueryInterface;\n };\n\n return Dropdown;\n});","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.4.0): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n(function ($) {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.');\n }\n\n var version = $.fn.jquery.split(' ')[0].split('.');\n var minMajor = 1;\n var ltMajor = 2;\n var minMinor = 9;\n var minPatch = 1;\n var maxMajor = 4;\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');\n }\n})($);","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/*!\n * Bootstrap modal.js v4.5.0 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) : typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) : (global = global || self, global.Modal = factory(global.jQuery, global.Util));\n})(this, function ($, Util) {\n 'use strict';\n\n $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;\n Util = Util && Object.prototype.hasOwnProperty.call(Util, 'default') ? Util['default'] : Util;\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\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n 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 function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n }\n\n function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n }\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n\n var NAME = 'modal';\n var VERSION = '4.5.0';\n var DATA_KEY = 'bs.modal';\n var EVENT_KEY = \".\" + DATA_KEY;\n var DATA_API_KEY = '.data-api';\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key\n\n var Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n };\n var DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n };\n var EVENT_HIDE = \"hide\" + EVENT_KEY;\n var EVENT_HIDE_PREVENTED = \"hidePrevented\" + EVENT_KEY;\n var EVENT_HIDDEN = \"hidden\" + EVENT_KEY;\n var EVENT_SHOW = \"show\" + EVENT_KEY;\n var EVENT_SHOWN = \"shown\" + EVENT_KEY;\n var EVENT_FOCUSIN = \"focusin\" + EVENT_KEY;\n var EVENT_RESIZE = \"resize\" + EVENT_KEY;\n var EVENT_CLICK_DISMISS = \"click.dismiss\" + EVENT_KEY;\n var EVENT_KEYDOWN_DISMISS = \"keydown.dismiss\" + EVENT_KEY;\n var EVENT_MOUSEUP_DISMISS = \"mouseup.dismiss\" + EVENT_KEY;\n var EVENT_MOUSEDOWN_DISMISS = \"mousedown.dismiss\" + EVENT_KEY;\n var EVENT_CLICK_DATA_API = \"click\" + EVENT_KEY + DATA_API_KEY;\n var CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable';\n var CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure';\n var CLASS_NAME_BACKDROP = 'modal-backdrop';\n var CLASS_NAME_OPEN = 'modal-open';\n var CLASS_NAME_FADE = 'fade';\n var CLASS_NAME_SHOW = 'show';\n var CLASS_NAME_STATIC = 'modal-static';\n var SELECTOR_DIALOG = '.modal-dialog';\n var SELECTOR_MODAL_BODY = '.modal-body';\n var SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]';\n var SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]';\n var SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';\n var SELECTOR_STICKY_CONTENT = '.sticky-top';\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Modal = /*#__PURE__*/function () {\n function Modal(element, config) {\n this._config = this._getConfig(config);\n this._element = element;\n this._dialog = element.querySelector(SELECTOR_DIALOG);\n this._backdrop = null;\n this._isShown = false;\n this._isBodyOverflowing = false;\n this._ignoreBackdropClick = false;\n this._isTransitioning = false;\n this._scrollbarWidth = 0;\n } // Getters\n\n\n var _proto = Modal.prototype; // Public\n\n _proto.toggle = function toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget);\n };\n\n _proto.show = function show(relatedTarget) {\n var _this = this;\n\n if (this._isShown || this._isTransitioning) {\n return;\n }\n\n if ($(this._element).hasClass(CLASS_NAME_FADE)) {\n this._isTransitioning = true;\n }\n\n var showEvent = $.Event(EVENT_SHOW, {\n relatedTarget: relatedTarget\n });\n $(this._element).trigger(showEvent);\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return;\n }\n\n this._isShown = true;\n\n this._checkScrollbar();\n\n this._setScrollbar();\n\n this._adjustDialog();\n\n this._setEscapeEvent();\n\n this._setResizeEvent();\n\n $(this._element).on(EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function (event) {\n return _this.hide(event);\n });\n $(this._dialog).on(EVENT_MOUSEDOWN_DISMISS, function () {\n $(_this._element).one(EVENT_MOUSEUP_DISMISS, function (event) {\n if ($(event.target).is(_this._element)) {\n _this._ignoreBackdropClick = true;\n }\n });\n });\n\n this._showBackdrop(function () {\n return _this._showElement(relatedTarget);\n });\n };\n\n _proto.hide = function hide(event) {\n var _this2 = this;\n\n if (event) {\n event.preventDefault();\n }\n\n if (!this._isShown || this._isTransitioning) {\n return;\n }\n\n var hideEvent = $.Event(EVENT_HIDE);\n $(this._element).trigger(hideEvent);\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return;\n }\n\n this._isShown = false;\n var transition = $(this._element).hasClass(CLASS_NAME_FADE);\n\n if (transition) {\n this._isTransitioning = true;\n }\n\n this._setEscapeEvent();\n\n this._setResizeEvent();\n\n $(document).off(EVENT_FOCUSIN);\n $(this._element).removeClass(CLASS_NAME_SHOW);\n $(this._element).off(EVENT_CLICK_DISMISS);\n $(this._dialog).off(EVENT_MOUSEDOWN_DISMISS);\n\n if (transition) {\n var transitionDuration = Util.getTransitionDurationFromElement(this._element);\n $(this._element).one(Util.TRANSITION_END, function (event) {\n return _this2._hideModal(event);\n }).emulateTransitionEnd(transitionDuration);\n } else {\n this._hideModal();\n }\n };\n\n _proto.dispose = function dispose() {\n [window, this._element, this._dialog].forEach(function (htmlElement) {\n return $(htmlElement).off(EVENT_KEY);\n });\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n\n $(document).off(EVENT_FOCUSIN);\n $.removeData(this._element, DATA_KEY);\n this._config = null;\n this._element = null;\n this._dialog = null;\n this._backdrop = null;\n this._isShown = null;\n this._isBodyOverflowing = null;\n this._ignoreBackdropClick = null;\n this._isTransitioning = null;\n this._scrollbarWidth = null;\n };\n\n _proto.handleUpdate = function handleUpdate() {\n this._adjustDialog();\n } // Private\n ;\n\n _proto._getConfig = function _getConfig(config) {\n config = _objectSpread2(_objectSpread2({}, Default), config);\n Util.typeCheckConfig(NAME, config, DefaultType);\n return config;\n };\n\n _proto._triggerBackdropTransition = function _triggerBackdropTransition() {\n var _this3 = this;\n\n if (this._config.backdrop === 'static') {\n var hideEventPrevented = $.Event(EVENT_HIDE_PREVENTED);\n $(this._element).trigger(hideEventPrevented);\n\n if (hideEventPrevented.defaultPrevented) {\n return;\n }\n\n this._element.classList.add(CLASS_NAME_STATIC);\n\n var modalTransitionDuration = Util.getTransitionDurationFromElement(this._element);\n $(this._element).one(Util.TRANSITION_END, function () {\n _this3._element.classList.remove(CLASS_NAME_STATIC);\n }).emulateTransitionEnd(modalTransitionDuration);\n\n this._element.focus();\n } else {\n this.hide();\n }\n };\n\n _proto._showElement = function _showElement(relatedTarget) {\n var _this4 = this;\n\n var transition = $(this._element).hasClass(CLASS_NAME_FADE);\n var modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null;\n\n if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element);\n }\n\n this._element.style.display = 'block';\n\n this._element.removeAttribute('aria-hidden');\n\n this._element.setAttribute('aria-modal', true);\n\n if ($(this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0;\n } else {\n this._element.scrollTop = 0;\n }\n\n if (transition) {\n Util.reflow(this._element);\n }\n\n $(this._element).addClass(CLASS_NAME_SHOW);\n\n if (this._config.focus) {\n this._enforceFocus();\n }\n\n var shownEvent = $.Event(EVENT_SHOWN, {\n relatedTarget: relatedTarget\n });\n\n var transitionComplete = function transitionComplete() {\n if (_this4._config.focus) {\n _this4._element.focus();\n }\n\n _this4._isTransitioning = false;\n $(_this4._element).trigger(shownEvent);\n };\n\n if (transition) {\n var transitionDuration = Util.getTransitionDurationFromElement(this._dialog);\n $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);\n } else {\n transitionComplete();\n }\n };\n\n _proto._enforceFocus = function _enforceFocus() {\n var _this5 = this;\n\n $(document).off(EVENT_FOCUSIN) // Guard against infinite focus loop\n .on(EVENT_FOCUSIN, function (event) {\n if (document !== event.target && _this5._element !== event.target && $(_this5._element).has(event.target).length === 0) {\n _this5._element.focus();\n }\n });\n };\n\n _proto._setEscapeEvent = function _setEscapeEvent() {\n var _this6 = this;\n\n if (this._isShown) {\n $(this._element).on(EVENT_KEYDOWN_DISMISS, function (event) {\n if (_this6._config.keyboard && event.which === ESCAPE_KEYCODE) {\n event.preventDefault();\n\n _this6.hide();\n } else if (!_this6._config.keyboard && event.which === ESCAPE_KEYCODE) {\n _this6._triggerBackdropTransition();\n }\n });\n } else if (!this._isShown) {\n $(this._element).off(EVENT_KEYDOWN_DISMISS);\n }\n };\n\n _proto._setResizeEvent = function _setResizeEvent() {\n var _this7 = this;\n\n if (this._isShown) {\n $(window).on(EVENT_RESIZE, function (event) {\n return _this7.handleUpdate(event);\n });\n } else {\n $(window).off(EVENT_RESIZE);\n }\n };\n\n _proto._hideModal = function _hideModal() {\n var _this8 = this;\n\n this._element.style.display = 'none';\n\n this._element.setAttribute('aria-hidden', true);\n\n this._element.removeAttribute('aria-modal');\n\n this._isTransitioning = false;\n\n this._showBackdrop(function () {\n $(document.body).removeClass(CLASS_NAME_OPEN);\n\n _this8._resetAdjustments();\n\n _this8._resetScrollbar();\n\n $(_this8._element).trigger(EVENT_HIDDEN);\n });\n };\n\n _proto._removeBackdrop = function _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove();\n this._backdrop = null;\n }\n };\n\n _proto._showBackdrop = function _showBackdrop(callback) {\n var _this9 = this;\n\n var animate = $(this._element).hasClass(CLASS_NAME_FADE) ? CLASS_NAME_FADE : '';\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div');\n this._backdrop.className = CLASS_NAME_BACKDROP;\n\n if (animate) {\n this._backdrop.classList.add(animate);\n }\n\n $(this._backdrop).appendTo(document.body);\n $(this._element).on(EVENT_CLICK_DISMISS, function (event) {\n if (_this9._ignoreBackdropClick) {\n _this9._ignoreBackdropClick = false;\n return;\n }\n\n if (event.target !== event.currentTarget) {\n return;\n }\n\n _this9._triggerBackdropTransition();\n });\n\n if (animate) {\n Util.reflow(this._backdrop);\n }\n\n $(this._backdrop).addClass(CLASS_NAME_SHOW);\n\n if (!callback) {\n return;\n }\n\n if (!animate) {\n callback();\n return;\n }\n\n var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);\n $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(CLASS_NAME_SHOW);\n\n var callbackRemove = function callbackRemove() {\n _this9._removeBackdrop();\n\n if (callback) {\n callback();\n }\n };\n\n if ($(this._element).hasClass(CLASS_NAME_FADE)) {\n var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);\n\n $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);\n } else {\n callbackRemove();\n }\n } else if (callback) {\n callback();\n }\n } // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n ;\n\n _proto._adjustDialog = function _adjustDialog() {\n var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = this._scrollbarWidth + \"px\";\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = this._scrollbarWidth + \"px\";\n }\n };\n\n _proto._resetAdjustments = function _resetAdjustments() {\n this._element.style.paddingLeft = '';\n this._element.style.paddingRight = '';\n };\n\n _proto._checkScrollbar = function _checkScrollbar() {\n var rect = document.body.getBoundingClientRect();\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth;\n this._scrollbarWidth = this._getScrollbarWidth();\n };\n\n _proto._setScrollbar = function _setScrollbar() {\n var _this10 = this;\n\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));\n var stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT)); // Adjust fixed content padding\n\n $(fixedContent).each(function (index, element) {\n var actualPadding = element.style.paddingRight;\n var calculatedPadding = $(element).css('padding-right');\n $(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this10._scrollbarWidth + \"px\");\n }); // Adjust sticky content margin\n\n $(stickyContent).each(function (index, element) {\n var actualMargin = element.style.marginRight;\n var calculatedMargin = $(element).css('margin-right');\n $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this10._scrollbarWidth + \"px\");\n }); // Adjust body padding\n\n var actualPadding = document.body.style.paddingRight;\n var calculatedPadding = $(document.body).css('padding-right');\n $(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + \"px\");\n }\n\n $(document.body).addClass(CLASS_NAME_OPEN);\n };\n\n _proto._resetScrollbar = function _resetScrollbar() {\n // Restore fixed content padding\n var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));\n $(fixedContent).each(function (index, element) {\n var padding = $(element).data('padding-right');\n $(element).removeData('padding-right');\n element.style.paddingRight = padding ? padding : '';\n }); // Restore sticky content\n\n var elements = [].slice.call(document.querySelectorAll(\"\" + SELECTOR_STICKY_CONTENT));\n $(elements).each(function (index, element) {\n var margin = $(element).data('margin-right');\n\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right');\n }\n }); // Restore body padding\n\n var padding = $(document.body).data('padding-right');\n $(document.body).removeData('padding-right');\n document.body.style.paddingRight = padding ? padding : '';\n };\n\n _proto._getScrollbarWidth = function _getScrollbarWidth() {\n // thx d.walsh\n var scrollDiv = document.createElement('div');\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER;\n document.body.appendChild(scrollDiv);\n var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarWidth;\n } // Static\n ;\n\n Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY);\n\n var _config = _objectSpread2(_objectSpread2(_objectSpread2({}, Default), $(this).data()), _typeof(config) === 'object' && config ? config : {});\n\n if (!data) {\n data = new Modal(this, _config);\n $(this).data(DATA_KEY, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config](relatedTarget);\n } else if (_config.show) {\n data.show(relatedTarget);\n }\n });\n };\n\n _createClass(Modal, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default;\n }\n }]);\n\n return Modal;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n var _this11 = this;\n\n var target;\n var selector = Util.getSelectorFromElement(this);\n\n if (selector) {\n target = document.querySelector(selector);\n }\n\n var config = $(target).data(DATA_KEY) ? 'toggle' : _objectSpread2(_objectSpread2({}, $(target).data()), $(this).data());\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault();\n }\n\n var $target = $(target).one(EVENT_SHOW, function (showEvent) {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return;\n }\n\n $target.one(EVENT_HIDDEN, function () {\n if ($(_this11).is(':visible')) {\n _this11.focus();\n }\n });\n });\n\n Modal._jQueryInterface.call($(target), config, this);\n });\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Modal._jQueryInterface;\n $.fn[NAME].Constructor = Modal;\n\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Modal._jQueryInterface;\n };\n\n return Modal;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/*!\n * Bootstrap popover.js v4.5.0 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./tooltip.js')) : typeof define === 'function' && define.amd ? define(['jquery', './tooltip.js'], factory) : (global = global || self, global.Popover = factory(global.jQuery, global.Tooltip));\n})(this, function ($, Tooltip) {\n 'use strict';\n\n $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;\n Tooltip = Tooltip && Object.prototype.hasOwnProperty.call(Tooltip, 'default') ? Tooltip['default'] : Tooltip;\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\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n 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 function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n }\n\n function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n }\n\n function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n }\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n\n var NAME = 'popover';\n var VERSION = '4.5.0';\n var DATA_KEY = 'bs.popover';\n var EVENT_KEY = \".\" + DATA_KEY;\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n var CLASS_PREFIX = 'bs-popover';\n var BSCLS_PREFIX_REGEX = new RegExp(\"(^|\\\\s)\" + CLASS_PREFIX + \"\\\\S+\", 'g');\n\n var Default = _objectSpread2(_objectSpread2({}, Tooltip.Default), {}, {\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '' + '' + '' + ''\n });\n\n var DefaultType = _objectSpread2(_objectSpread2({}, Tooltip.DefaultType), {}, {\n content: '(string|element|function)'\n });\n\n var CLASS_NAME_FADE = 'fade';\n var CLASS_NAME_SHOW = 'show';\n var SELECTOR_TITLE = '.popover-header';\n var SELECTOR_CONTENT = '.popover-body';\n var Event = {\n HIDE: \"hide\" + EVENT_KEY,\n HIDDEN: \"hidden\" + EVENT_KEY,\n SHOW: \"show\" + EVENT_KEY,\n SHOWN: \"shown\" + EVENT_KEY,\n INSERTED: \"inserted\" + EVENT_KEY,\n CLICK: \"click\" + EVENT_KEY,\n FOCUSIN: \"focusin\" + EVENT_KEY,\n FOCUSOUT: \"focusout\" + EVENT_KEY,\n MOUSEENTER: \"mouseenter\" + EVENT_KEY,\n MOUSELEAVE: \"mouseleave\" + EVENT_KEY\n };\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Popover = /*#__PURE__*/function (_Tooltip) {\n _inheritsLoose(Popover, _Tooltip);\n\n function Popover() {\n return _Tooltip.apply(this, arguments) || this;\n }\n\n var _proto = Popover.prototype; // Overrides\n\n _proto.isWithContent = function isWithContent() {\n return this.getTitle() || this._getContent();\n };\n\n _proto.addAttachmentClass = function addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(CLASS_PREFIX + \"-\" + attachment);\n };\n\n _proto.getTipElement = function getTipElement() {\n this.tip = this.tip || $(this.config.template)[0];\n return this.tip;\n };\n\n _proto.setContent = function setContent() {\n var $tip = $(this.getTipElement()); // We use append for html objects to maintain js events\n\n this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle());\n\n var content = this._getContent();\n\n if (typeof content === 'function') {\n content = content.call(this.element);\n }\n\n this.setElementContent($tip.find(SELECTOR_CONTENT), content);\n $tip.removeClass(CLASS_NAME_FADE + \" \" + CLASS_NAME_SHOW);\n } // Private\n ;\n\n _proto._getContent = function _getContent() {\n return this.element.getAttribute('data-content') || this.config.content;\n };\n\n _proto._cleanTipClass = function _cleanTipClass() {\n var $tip = $(this.getTipElement());\n var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);\n\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''));\n }\n } // Static\n ;\n\n Popover._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY);\n\n var _config = _typeof(config) === 'object' ? config : null;\n\n if (!data && /dispose|hide/.test(config)) {\n return;\n }\n\n if (!data) {\n data = new Popover(this, _config);\n $(this).data(DATA_KEY, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config]();\n }\n });\n };\n\n _createClass(Popover, null, [{\n key: \"VERSION\",\n // Getters\n get: function get() {\n return VERSION;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME;\n }\n }, {\n key: \"DATA_KEY\",\n get: function get() {\n return DATA_KEY;\n }\n }, {\n key: \"Event\",\n get: function get() {\n return Event;\n }\n }, {\n key: \"EVENT_KEY\",\n get: function get() {\n return EVENT_KEY;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType;\n }\n }]);\n\n return Popover;\n }(Tooltip);\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n\n $.fn[NAME] = Popover._jQueryInterface;\n $.fn[NAME].Constructor = Popover;\n\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Popover._jQueryInterface;\n };\n\n return Popover;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/*!\n * Bootstrap scrollspy.js v4.5.0 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) : typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) : (global = global || self, global.ScrollSpy = factory(global.jQuery, global.Util));\n})(this, function ($, Util) {\n 'use strict';\n\n $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;\n Util = Util && Object.prototype.hasOwnProperty.call(Util, 'default') ? Util['default'] : Util;\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\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n 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 function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n }\n\n function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n }\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n\n var NAME = 'scrollspy';\n var VERSION = '4.5.0';\n var DATA_KEY = 'bs.scrollspy';\n var EVENT_KEY = \".\" + DATA_KEY;\n var DATA_API_KEY = '.data-api';\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n var Default = {\n offset: 10,\n method: 'auto',\n target: ''\n };\n var DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n };\n var EVENT_ACTIVATE = \"activate\" + EVENT_KEY;\n var EVENT_SCROLL = \"scroll\" + EVENT_KEY;\n var EVENT_LOAD_DATA_API = \"load\" + EVENT_KEY + DATA_API_KEY;\n var CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';\n var CLASS_NAME_ACTIVE = 'active';\n var SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]';\n var SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';\n var SELECTOR_NAV_LINKS = '.nav-link';\n var SELECTOR_NAV_ITEMS = '.nav-item';\n var SELECTOR_LIST_ITEMS = '.list-group-item';\n var SELECTOR_DROPDOWN = '.dropdown';\n var SELECTOR_DROPDOWN_ITEMS = '.dropdown-item';\n var SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';\n var METHOD_OFFSET = 'offset';\n var METHOD_POSITION = 'position';\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var ScrollSpy = /*#__PURE__*/function () {\n function ScrollSpy(element, config) {\n var _this = this;\n\n this._element = element;\n this._scrollElement = element.tagName === 'BODY' ? window : element;\n this._config = this._getConfig(config);\n this._selector = this._config.target + \" \" + SELECTOR_NAV_LINKS + \",\" + (this._config.target + \" \" + SELECTOR_LIST_ITEMS + \",\") + (this._config.target + \" \" + SELECTOR_DROPDOWN_ITEMS);\n this._offsets = [];\n this._targets = [];\n this._activeTarget = null;\n this._scrollHeight = 0;\n $(this._scrollElement).on(EVENT_SCROLL, function (event) {\n return _this._process(event);\n });\n this.refresh();\n\n this._process();\n } // Getters\n\n\n var _proto = ScrollSpy.prototype; // Public\n\n _proto.refresh = function refresh() {\n var _this2 = this;\n\n var autoMethod = this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION;\n var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;\n var offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0;\n this._offsets = [];\n this._targets = [];\n this._scrollHeight = this._getScrollHeight();\n var targets = [].slice.call(document.querySelectorAll(this._selector));\n targets.map(function (element) {\n var target;\n var targetSelector = Util.getSelectorFromElement(element);\n\n if (targetSelector) {\n target = document.querySelector(targetSelector);\n }\n\n if (target) {\n var targetBCR = target.getBoundingClientRect();\n\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [$(target)[offsetMethod]().top + offsetBase, targetSelector];\n }\n }\n\n return null;\n }).filter(function (item) {\n return item;\n }).sort(function (a, b) {\n return a[0] - b[0];\n }).forEach(function (item) {\n _this2._offsets.push(item[0]);\n\n _this2._targets.push(item[1]);\n });\n };\n\n _proto.dispose = function dispose() {\n $.removeData(this._element, DATA_KEY);\n $(this._scrollElement).off(EVENT_KEY);\n this._element = null;\n this._scrollElement = null;\n this._config = null;\n this._selector = null;\n this._offsets = null;\n this._targets = null;\n this._activeTarget = null;\n this._scrollHeight = null;\n } // Private\n ;\n\n _proto._getConfig = function _getConfig(config) {\n config = _objectSpread2(_objectSpread2({}, Default), _typeof(config) === 'object' && config ? config : {});\n\n if (typeof config.target !== 'string' && Util.isElement(config.target)) {\n var id = $(config.target).attr('id');\n\n if (!id) {\n id = Util.getUID(NAME);\n $(config.target).attr('id', id);\n }\n\n config.target = \"#\" + id;\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType);\n return config;\n };\n\n _proto._getScrollTop = function _getScrollTop() {\n return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;\n };\n\n _proto._getScrollHeight = function _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);\n };\n\n _proto._getOffsetHeight = function _getOffsetHeight() {\n return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;\n };\n\n _proto._process = function _process() {\n var scrollTop = this._getScrollTop() + this._config.offset;\n\n var scrollHeight = this._getScrollHeight();\n\n var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh();\n }\n\n if (scrollTop >= maxScroll) {\n var target = this._targets[this._targets.length - 1];\n\n if (this._activeTarget !== target) {\n this._activate(target);\n }\n\n return;\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null;\n\n this._clear();\n\n return;\n }\n\n for (var i = this._offsets.length; i--;) {\n var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);\n\n if (isActiveTarget) {\n this._activate(this._targets[i]);\n }\n }\n };\n\n _proto._activate = function _activate(target) {\n this._activeTarget = target;\n\n this._clear();\n\n var queries = this._selector.split(',').map(function (selector) {\n return selector + \"[data-target=\\\"\" + target + \"\\\"],\" + selector + \"[href=\\\"\" + target + \"\\\"]\";\n });\n\n var $link = $([].slice.call(document.querySelectorAll(queries.join(','))));\n\n if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) {\n $link.closest(SELECTOR_DROPDOWN).find(SELECTOR_DROPDOWN_TOGGLE).addClass(CLASS_NAME_ACTIVE);\n $link.addClass(CLASS_NAME_ACTIVE);\n } else {\n // Set triggered link as active\n $link.addClass(CLASS_NAME_ACTIVE); // Set triggered links parents as active\n // With both and markup a parent is the previous sibling of any nav ancestor\n\n $link.parents(SELECTOR_NAV_LIST_GROUP).prev(SELECTOR_NAV_LINKS + \", \" + SELECTOR_LIST_ITEMS).addClass(CLASS_NAME_ACTIVE); // Handle special case when .nav-link is inside .nav-item\n\n $link.parents(SELECTOR_NAV_LIST_GROUP).prev(SELECTOR_NAV_ITEMS).children(SELECTOR_NAV_LINKS).addClass(CLASS_NAME_ACTIVE);\n }\n\n $(this._scrollElement).trigger(EVENT_ACTIVATE, {\n relatedTarget: target\n });\n };\n\n _proto._clear = function _clear() {\n [].slice.call(document.querySelectorAll(this._selector)).filter(function (node) {\n return node.classList.contains(CLASS_NAME_ACTIVE);\n }).forEach(function (node) {\n return node.classList.remove(CLASS_NAME_ACTIVE);\n });\n } // Static\n ;\n\n ScrollSpy._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY);\n\n var _config = _typeof(config) === 'object' && config;\n\n if (!data) {\n data = new ScrollSpy(this, _config);\n $(this).data(DATA_KEY, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config]();\n }\n });\n };\n\n _createClass(ScrollSpy, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default;\n }\n }]);\n\n return ScrollSpy;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $(window).on(EVENT_LOAD_DATA_API, function () {\n var scrollSpys = [].slice.call(document.querySelectorAll(SELECTOR_DATA_SPY));\n var scrollSpysLength = scrollSpys.length;\n\n for (var i = scrollSpysLength; i--;) {\n var $spy = $(scrollSpys[i]);\n\n ScrollSpy._jQueryInterface.call($spy, $spy.data());\n }\n });\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = ScrollSpy._jQueryInterface;\n $.fn[NAME].Constructor = ScrollSpy;\n\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return ScrollSpy._jQueryInterface;\n };\n\n return ScrollSpy;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/*!\n * Bootstrap tab.js v4.5.0 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) : typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) : (global = global || self, global.Tab = factory(global.jQuery, global.Util));\n})(this, function ($, Util) {\n 'use strict';\n\n $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;\n Util = Util && Object.prototype.hasOwnProperty.call(Util, 'default') ? Util['default'] : Util;\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\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n\n var NAME = 'tab';\n var VERSION = '4.5.0';\n var DATA_KEY = 'bs.tab';\n var EVENT_KEY = \".\" + DATA_KEY;\n var DATA_API_KEY = '.data-api';\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n var EVENT_HIDE = \"hide\" + EVENT_KEY;\n var EVENT_HIDDEN = \"hidden\" + EVENT_KEY;\n var EVENT_SHOW = \"show\" + EVENT_KEY;\n var EVENT_SHOWN = \"shown\" + EVENT_KEY;\n var EVENT_CLICK_DATA_API = \"click\" + EVENT_KEY + DATA_API_KEY;\n var CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu';\n var CLASS_NAME_ACTIVE = 'active';\n var CLASS_NAME_DISABLED = 'disabled';\n var CLASS_NAME_FADE = 'fade';\n var CLASS_NAME_SHOW = 'show';\n var SELECTOR_DROPDOWN = '.dropdown';\n var SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';\n var SELECTOR_ACTIVE = '.active';\n var SELECTOR_ACTIVE_UL = '> li > .active';\n var SELECTOR_DATA_TOGGLE = '[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]';\n var SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';\n var SELECTOR_DROPDOWN_ACTIVE_CHILD = '> .dropdown-menu .active';\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Tab = /*#__PURE__*/function () {\n function Tab(element) {\n this._element = element;\n } // Getters\n\n\n var _proto = Tab.prototype; // Public\n\n _proto.show = function show() {\n var _this = this;\n\n if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(CLASS_NAME_ACTIVE) || $(this._element).hasClass(CLASS_NAME_DISABLED)) {\n return;\n }\n\n var target;\n var previous;\n var listElement = $(this._element).closest(SELECTOR_NAV_LIST_GROUP)[0];\n var selector = Util.getSelectorFromElement(this._element);\n\n if (listElement) {\n var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE;\n previous = $.makeArray($(listElement).find(itemSelector));\n previous = previous[previous.length - 1];\n }\n\n var hideEvent = $.Event(EVENT_HIDE, {\n relatedTarget: this._element\n });\n var showEvent = $.Event(EVENT_SHOW, {\n relatedTarget: previous\n });\n\n if (previous) {\n $(previous).trigger(hideEvent);\n }\n\n $(this._element).trigger(showEvent);\n\n if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {\n return;\n }\n\n if (selector) {\n target = document.querySelector(selector);\n }\n\n this._activate(this._element, listElement);\n\n var complete = function complete() {\n var hiddenEvent = $.Event(EVENT_HIDDEN, {\n relatedTarget: _this._element\n });\n var shownEvent = $.Event(EVENT_SHOWN, {\n relatedTarget: previous\n });\n $(previous).trigger(hiddenEvent);\n $(_this._element).trigger(shownEvent);\n };\n\n if (target) {\n this._activate(target, target.parentNode, complete);\n } else {\n complete();\n }\n };\n\n _proto.dispose = function dispose() {\n $.removeData(this._element, DATA_KEY);\n this._element = null;\n } // Private\n ;\n\n _proto._activate = function _activate(element, container, callback) {\n var _this2 = this;\n\n var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $(container).find(SELECTOR_ACTIVE_UL) : $(container).children(SELECTOR_ACTIVE);\n var active = activeElements[0];\n var isTransitioning = callback && active && $(active).hasClass(CLASS_NAME_FADE);\n\n var complete = function complete() {\n return _this2._transitionComplete(element, active, callback);\n };\n\n if (active && isTransitioning) {\n var transitionDuration = Util.getTransitionDurationFromElement(active);\n $(active).removeClass(CLASS_NAME_SHOW).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n } else {\n complete();\n }\n };\n\n _proto._transitionComplete = function _transitionComplete(element, active, callback) {\n if (active) {\n $(active).removeClass(CLASS_NAME_ACTIVE);\n var dropdownChild = $(active.parentNode).find(SELECTOR_DROPDOWN_ACTIVE_CHILD)[0];\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(CLASS_NAME_ACTIVE);\n }\n\n if (active.getAttribute('role') === 'tab') {\n active.setAttribute('aria-selected', false);\n }\n }\n\n $(element).addClass(CLASS_NAME_ACTIVE);\n\n if (element.getAttribute('role') === 'tab') {\n element.setAttribute('aria-selected', true);\n }\n\n Util.reflow(element);\n\n if (element.classList.contains(CLASS_NAME_FADE)) {\n element.classList.add(CLASS_NAME_SHOW);\n }\n\n if (element.parentNode && $(element.parentNode).hasClass(CLASS_NAME_DROPDOWN_MENU)) {\n var dropdownElement = $(element).closest(SELECTOR_DROPDOWN)[0];\n\n if (dropdownElement) {\n var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(SELECTOR_DROPDOWN_TOGGLE));\n $(dropdownToggleList).addClass(CLASS_NAME_ACTIVE);\n }\n\n element.setAttribute('aria-expanded', true);\n }\n\n if (callback) {\n callback();\n }\n } // Static\n ;\n\n Tab._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var $this = $(this);\n var data = $this.data(DATA_KEY);\n\n if (!data) {\n data = new Tab(this);\n $this.data(DATA_KEY, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config]();\n }\n });\n };\n\n _createClass(Tab, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION;\n }\n }]);\n\n return Tab;\n }();\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n\n $(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault();\n\n Tab._jQueryInterface.call($(this), 'show');\n });\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tab._jQueryInterface;\n $.fn[NAME].Constructor = Tab;\n\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Tab._jQueryInterface;\n };\n\n return Tab;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/*!\n * Bootstrap toast.js v4.5.0 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) : typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) : (global = global || self, global.Toast = factory(global.jQuery, global.Util));\n})(this, function ($, Util) {\n 'use strict';\n\n $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;\n Util = Util && Object.prototype.hasOwnProperty.call(Util, 'default') ? Util['default'] : Util;\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\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n 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 function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n }\n\n function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n }\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n\n var NAME = 'toast';\n var VERSION = '4.5.0';\n var DATA_KEY = 'bs.toast';\n var EVENT_KEY = \".\" + DATA_KEY;\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n var EVENT_CLICK_DISMISS = \"click.dismiss\" + EVENT_KEY;\n var EVENT_HIDE = \"hide\" + EVENT_KEY;\n var EVENT_HIDDEN = \"hidden\" + EVENT_KEY;\n var EVENT_SHOW = \"show\" + EVENT_KEY;\n var EVENT_SHOWN = \"shown\" + EVENT_KEY;\n var CLASS_NAME_FADE = 'fade';\n var CLASS_NAME_HIDE = 'hide';\n var CLASS_NAME_SHOW = 'show';\n var CLASS_NAME_SHOWING = 'showing';\n var DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n };\n var Default = {\n animation: true,\n autohide: true,\n delay: 500\n };\n var SELECTOR_DATA_DISMISS = '[data-dismiss=\"toast\"]';\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Toast = /*#__PURE__*/function () {\n function Toast(element, config) {\n this._element = element;\n this._config = this._getConfig(config);\n this._timeout = null;\n\n this._setListeners();\n } // Getters\n\n\n var _proto = Toast.prototype; // Public\n\n _proto.show = function show() {\n var _this = this;\n\n var showEvent = $.Event(EVENT_SHOW);\n $(this._element).trigger(showEvent);\n\n if (showEvent.isDefaultPrevented()) {\n return;\n }\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE);\n }\n\n var complete = function complete() {\n _this._element.classList.remove(CLASS_NAME_SHOWING);\n\n _this._element.classList.add(CLASS_NAME_SHOW);\n\n $(_this._element).trigger(EVENT_SHOWN);\n\n if (_this._config.autohide) {\n _this._timeout = setTimeout(function () {\n _this.hide();\n }, _this._config.delay);\n }\n };\n\n this._element.classList.remove(CLASS_NAME_HIDE);\n\n Util.reflow(this._element);\n\n this._element.classList.add(CLASS_NAME_SHOWING);\n\n if (this._config.animation) {\n var transitionDuration = Util.getTransitionDurationFromElement(this._element);\n $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n } else {\n complete();\n }\n };\n\n _proto.hide = function hide() {\n if (!this._element.classList.contains(CLASS_NAME_SHOW)) {\n return;\n }\n\n var hideEvent = $.Event(EVENT_HIDE);\n $(this._element).trigger(hideEvent);\n\n if (hideEvent.isDefaultPrevented()) {\n return;\n }\n\n this._close();\n };\n\n _proto.dispose = function dispose() {\n clearTimeout(this._timeout);\n this._timeout = null;\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW);\n }\n\n $(this._element).off(EVENT_CLICK_DISMISS);\n $.removeData(this._element, DATA_KEY);\n this._element = null;\n this._config = null;\n } // Private\n ;\n\n _proto._getConfig = function _getConfig(config) {\n config = _objectSpread2(_objectSpread2(_objectSpread2({}, Default), $(this._element).data()), _typeof(config) === 'object' && config ? config : {});\n Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);\n return config;\n };\n\n _proto._setListeners = function _setListeners() {\n var _this2 = this;\n\n $(this._element).on(EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function () {\n return _this2.hide();\n });\n };\n\n _proto._close = function _close() {\n var _this3 = this;\n\n var complete = function complete() {\n _this3._element.classList.add(CLASS_NAME_HIDE);\n\n $(_this3._element).trigger(EVENT_HIDDEN);\n };\n\n this._element.classList.remove(CLASS_NAME_SHOW);\n\n if (this._config.animation) {\n var transitionDuration = Util.getTransitionDurationFromElement(this._element);\n $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n } else {\n complete();\n }\n } // Static\n ;\n\n Toast._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var $element = $(this);\n var data = $element.data(DATA_KEY);\n\n var _config = _typeof(config) === 'object' && config;\n\n if (!data) {\n data = new Toast(this, _config);\n $element.data(DATA_KEY, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config](this);\n }\n });\n };\n\n _createClass(Toast, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default;\n }\n }]);\n\n return Toast;\n }();\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n\n $.fn[NAME] = Toast._jQueryInterface;\n $.fn[NAME].Constructor = Toast;\n\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Toast._jQueryInterface;\n };\n\n return Toast;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/*!\n * Bootstrap tooltip.js v4.5.0 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('popper.js'), require('./util.js')) : typeof define === 'function' && define.amd ? define(['jquery', 'popper.js', './util.js'], factory) : (global = global || self, global.Tooltip = factory(global.jQuery, global.Popper, global.Util));\n})(this, function ($, Popper, Util) {\n 'use strict';\n\n $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;\n Popper = Popper && Object.prototype.hasOwnProperty.call(Popper, 'default') ? Popper['default'] : Popper;\n Util = Util && Object.prototype.hasOwnProperty.call(Util, 'default') ? Util['default'] : Util;\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\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n 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 function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n }\n\n function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n }\n /**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n\n var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href'];\n var ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i;\n var DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n };\n /**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\n\n var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi;\n /**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\n\n var DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i;\n\n function allowedAttribute(attr, allowedAttributeList) {\n var attrName = attr.nodeName.toLowerCase();\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN));\n }\n\n return true;\n }\n\n var regExp = allowedAttributeList.filter(function (attrRegex) {\n return attrRegex instanceof RegExp;\n }); // Check if a regular expression validates the attribute.\n\n for (var i = 0, len = regExp.length; i < len; i++) {\n if (attrName.match(regExp[i])) {\n return true;\n }\n }\n\n return false;\n }\n\n function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (unsafeHtml.length === 0) {\n return unsafeHtml;\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml);\n }\n\n var domParser = new window.DOMParser();\n var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');\n var whitelistKeys = Object.keys(whiteList);\n var elements = [].slice.call(createdDocument.body.querySelectorAll('*'));\n\n var _loop = function _loop(i, len) {\n var el = elements[i];\n var elName = el.nodeName.toLowerCase();\n\n if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\n el.parentNode.removeChild(el);\n return \"continue\";\n }\n\n var attributeList = [].slice.call(el.attributes);\n var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);\n attributeList.forEach(function (attr) {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName);\n }\n });\n };\n\n for (var i = 0, len = elements.length; i < len; i++) {\n var _ret = _loop(i);\n\n if (_ret === \"continue\") continue;\n }\n\n return createdDocument.body.innerHTML;\n }\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n\n var NAME = 'tooltip';\n var VERSION = '4.5.0';\n var DATA_KEY = 'bs.tooltip';\n var EVENT_KEY = \".\" + DATA_KEY;\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n var CLASS_PREFIX = 'bs-tooltip';\n var BSCLS_PREFIX_REGEX = new RegExp(\"(^|\\\\s)\" + CLASS_PREFIX + \"\\\\S+\", 'g');\n var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];\n var DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n };\n var AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n };\n var Default = {\n animation: true,\n template: '' + '' + '',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n };\n var HOVER_STATE_SHOW = 'show';\n var HOVER_STATE_OUT = 'out';\n var Event = {\n HIDE: \"hide\" + EVENT_KEY,\n HIDDEN: \"hidden\" + EVENT_KEY,\n SHOW: \"show\" + EVENT_KEY,\n SHOWN: \"shown\" + EVENT_KEY,\n INSERTED: \"inserted\" + EVENT_KEY,\n CLICK: \"click\" + EVENT_KEY,\n FOCUSIN: \"focusin\" + EVENT_KEY,\n FOCUSOUT: \"focusout\" + EVENT_KEY,\n MOUSEENTER: \"mouseenter\" + EVENT_KEY,\n MOUSELEAVE: \"mouseleave\" + EVENT_KEY\n };\n var CLASS_NAME_FADE = 'fade';\n var CLASS_NAME_SHOW = 'show';\n var SELECTOR_TOOLTIP_INNER = '.tooltip-inner';\n var SELECTOR_ARROW = '.arrow';\n var TRIGGER_HOVER = 'hover';\n var TRIGGER_FOCUS = 'focus';\n var TRIGGER_CLICK = 'click';\n var TRIGGER_MANUAL = 'manual';\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Tooltip = /*#__PURE__*/function () {\n function Tooltip(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper.js (https://popper.js.org/)');\n } // private\n\n\n this._isEnabled = true;\n this._timeout = 0;\n this._hoverState = '';\n this._activeTrigger = {};\n this._popper = null; // Protected\n\n this.element = element;\n this.config = this._getConfig(config);\n this.tip = null;\n\n this._setListeners();\n } // Getters\n\n\n var _proto = Tooltip.prototype; // Public\n\n _proto.enable = function enable() {\n this._isEnabled = true;\n };\n\n _proto.disable = function disable() {\n this._isEnabled = false;\n };\n\n _proto.toggleEnabled = function toggleEnabled() {\n this._isEnabled = !this._isEnabled;\n };\n\n _proto.toggle = function toggle(event) {\n if (!this._isEnabled) {\n return;\n }\n\n if (event) {\n var dataKey = this.constructor.DATA_KEY;\n var context = $(event.currentTarget).data(dataKey);\n\n if (!context) {\n context = new this.constructor(event.currentTarget, this._getDelegateConfig());\n $(event.currentTarget).data(dataKey, context);\n }\n\n context._activeTrigger.click = !context._activeTrigger.click;\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context);\n } else {\n context._leave(null, context);\n }\n } else {\n if ($(this.getTipElement()).hasClass(CLASS_NAME_SHOW)) {\n this._leave(null, this);\n\n return;\n }\n\n this._enter(null, this);\n }\n };\n\n _proto.dispose = function dispose() {\n clearTimeout(this._timeout);\n $.removeData(this.element, this.constructor.DATA_KEY);\n $(this.element).off(this.constructor.EVENT_KEY);\n $(this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler);\n\n if (this.tip) {\n $(this.tip).remove();\n }\n\n this._isEnabled = null;\n this._timeout = null;\n this._hoverState = null;\n this._activeTrigger = null;\n\n if (this._popper) {\n this._popper.destroy();\n }\n\n this._popper = null;\n this.element = null;\n this.config = null;\n this.tip = null;\n };\n\n _proto.show = function show() {\n var _this = this;\n\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements');\n }\n\n var showEvent = $.Event(this.constructor.Event.SHOW);\n\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent);\n var shadowRoot = Util.findShadowRoot(this.element);\n var isInTheDom = $.contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element);\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return;\n }\n\n var tip = this.getTipElement();\n var tipId = Util.getUID(this.constructor.NAME);\n tip.setAttribute('id', tipId);\n this.element.setAttribute('aria-describedby', tipId);\n this.setContent();\n\n if (this.config.animation) {\n $(tip).addClass(CLASS_NAME_FADE);\n }\n\n var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;\n\n var attachment = this._getAttachment(placement);\n\n this.addAttachmentClass(attachment);\n\n var container = this._getContainer();\n\n $(tip).data(this.constructor.DATA_KEY, this);\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container);\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED);\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment));\n $(tip).addClass(CLASS_NAME_SHOW); // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop);\n }\n\n var complete = function complete() {\n if (_this.config.animation) {\n _this._fixTransition();\n }\n\n var prevHoverState = _this._hoverState;\n _this._hoverState = null;\n $(_this.element).trigger(_this.constructor.Event.SHOWN);\n\n if (prevHoverState === HOVER_STATE_OUT) {\n _this._leave(null, _this);\n }\n };\n\n if ($(this.tip).hasClass(CLASS_NAME_FADE)) {\n var transitionDuration = Util.getTransitionDurationFromElement(this.tip);\n $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n } else {\n complete();\n }\n }\n };\n\n _proto.hide = function hide(callback) {\n var _this2 = this;\n\n var tip = this.getTipElement();\n var hideEvent = $.Event(this.constructor.Event.HIDE);\n\n var complete = function complete() {\n if (_this2._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip);\n }\n\n _this2._cleanTipClass();\n\n _this2.element.removeAttribute('aria-describedby');\n\n $(_this2.element).trigger(_this2.constructor.Event.HIDDEN);\n\n if (_this2._popper !== null) {\n _this2._popper.destroy();\n }\n\n if (callback) {\n callback();\n }\n };\n\n $(this.element).trigger(hideEvent);\n\n if (hideEvent.isDefaultPrevented()) {\n return;\n }\n\n $(tip).removeClass(CLASS_NAME_SHOW); // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop);\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false;\n this._activeTrigger[TRIGGER_FOCUS] = false;\n this._activeTrigger[TRIGGER_HOVER] = false;\n\n if ($(this.tip).hasClass(CLASS_NAME_FADE)) {\n var transitionDuration = Util.getTransitionDurationFromElement(tip);\n $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\n } else {\n complete();\n }\n\n this._hoverState = '';\n };\n\n _proto.update = function update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate();\n }\n } // Protected\n ;\n\n _proto.isWithContent = function isWithContent() {\n return Boolean(this.getTitle());\n };\n\n _proto.addAttachmentClass = function addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(CLASS_PREFIX + \"-\" + attachment);\n };\n\n _proto.getTipElement = function getTipElement() {\n this.tip = this.tip || $(this.config.template)[0];\n return this.tip;\n };\n\n _proto.setContent = function setContent() {\n var tip = this.getTipElement();\n this.setElementContent($(tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle());\n $(tip).removeClass(CLASS_NAME_FADE + \" \" + CLASS_NAME_SHOW);\n };\n\n _proto.setElementContent = function setElementContent($element, content) {\n if (_typeof(content) === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (this.config.html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content);\n }\n } else {\n $element.text($(content).text());\n }\n\n return;\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn);\n }\n\n $element.html(content);\n } else {\n $element.text(content);\n }\n };\n\n _proto.getTitle = function getTitle() {\n var title = this.element.getAttribute('data-original-title');\n\n if (!title) {\n title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;\n }\n\n return title;\n } // Private\n ;\n\n _proto._getPopperConfig = function _getPopperConfig(attachment) {\n var _this3 = this;\n\n var defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: SELECTOR_ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: function onCreate(data) {\n if (data.originalPlacement !== data.placement) {\n _this3._handlePopperPlacementChange(data);\n }\n },\n onUpdate: function onUpdate(data) {\n return _this3._handlePopperPlacementChange(data);\n }\n };\n return _objectSpread2(_objectSpread2({}, defaultBsConfig), this.config.popperConfig);\n };\n\n _proto._getOffset = function _getOffset() {\n var _this4 = this;\n\n var offset = {};\n\n if (typeof this.config.offset === 'function') {\n offset.fn = function (data) {\n data.offsets = _objectSpread2(_objectSpread2({}, data.offsets), _this4.config.offset(data.offsets, _this4.element) || {});\n return data;\n };\n } else {\n offset.offset = this.config.offset;\n }\n\n return offset;\n };\n\n _proto._getContainer = function _getContainer() {\n if (this.config.container === false) {\n return document.body;\n }\n\n if (Util.isElement(this.config.container)) {\n return $(this.config.container);\n }\n\n return $(document).find(this.config.container);\n };\n\n _proto._getAttachment = function _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()];\n };\n\n _proto._setListeners = function _setListeners() {\n var _this5 = this;\n\n var triggers = this.config.trigger.split(' ');\n triggers.forEach(function (trigger) {\n if (trigger === 'click') {\n $(_this5.element).on(_this5.constructor.Event.CLICK, _this5.config.selector, function (event) {\n return _this5.toggle(event);\n });\n } else if (trigger !== TRIGGER_MANUAL) {\n var eventIn = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSEENTER : _this5.constructor.Event.FOCUSIN;\n var eventOut = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSELEAVE : _this5.constructor.Event.FOCUSOUT;\n $(_this5.element).on(eventIn, _this5.config.selector, function (event) {\n return _this5._enter(event);\n }).on(eventOut, _this5.config.selector, function (event) {\n return _this5._leave(event);\n });\n }\n });\n\n this._hideModalHandler = function () {\n if (_this5.element) {\n _this5.hide();\n }\n };\n\n $(this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler);\n\n if (this.config.selector) {\n this.config = _objectSpread2(_objectSpread2({}, this.config), {}, {\n trigger: 'manual',\n selector: ''\n });\n } else {\n this._fixTitle();\n }\n };\n\n _proto._fixTitle = function _fixTitle() {\n var titleType = _typeof(this.element.getAttribute('data-original-title'));\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');\n this.element.setAttribute('title', '');\n }\n };\n\n _proto._enter = function _enter(event, context) {\n var dataKey = this.constructor.DATA_KEY;\n context = context || $(event.currentTarget).data(dataKey);\n\n if (!context) {\n context = new this.constructor(event.currentTarget, this._getDelegateConfig());\n $(event.currentTarget).data(dataKey, context);\n }\n\n if (event) {\n context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;\n }\n\n if ($(context.getTipElement()).hasClass(CLASS_NAME_SHOW) || context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW;\n return;\n }\n\n clearTimeout(context._timeout);\n context._hoverState = HOVER_STATE_SHOW;\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show();\n return;\n }\n\n context._timeout = setTimeout(function () {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show();\n }\n }, context.config.delay.show);\n };\n\n _proto._leave = function _leave(event, context) {\n var dataKey = this.constructor.DATA_KEY;\n context = context || $(event.currentTarget).data(dataKey);\n\n if (!context) {\n context = new this.constructor(event.currentTarget, this._getDelegateConfig());\n $(event.currentTarget).data(dataKey, context);\n }\n\n if (event) {\n context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = false;\n }\n\n if (context._isWithActiveTrigger()) {\n return;\n }\n\n clearTimeout(context._timeout);\n context._hoverState = HOVER_STATE_OUT;\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide();\n return;\n }\n\n context._timeout = setTimeout(function () {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide();\n }\n }, context.config.delay.hide);\n };\n\n _proto._isWithActiveTrigger = function _isWithActiveTrigger() {\n for (var trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true;\n }\n }\n\n return false;\n };\n\n _proto._getConfig = function _getConfig(config) {\n var dataAttributes = $(this.element).data();\n Object.keys(dataAttributes).forEach(function (dataAttr) {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr];\n }\n });\n config = _objectSpread2(_objectSpread2(_objectSpread2({}, this.constructor.Default), dataAttributes), _typeof(config) === 'object' && config ? config : {});\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n };\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString();\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString();\n }\n\n Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn);\n }\n\n return config;\n };\n\n _proto._getDelegateConfig = function _getDelegateConfig() {\n var config = {};\n\n if (this.config) {\n for (var key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key];\n }\n }\n }\n\n return config;\n };\n\n _proto._cleanTipClass = function _cleanTipClass() {\n var $tip = $(this.getTipElement());\n var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);\n\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''));\n }\n };\n\n _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) {\n this.tip = popperData.instance.popper;\n\n this._cleanTipClass();\n\n this.addAttachmentClass(this._getAttachment(popperData.placement));\n };\n\n _proto._fixTransition = function _fixTransition() {\n var tip = this.getTipElement();\n var initConfigAnimation = this.config.animation;\n\n if (tip.getAttribute('x-placement') !== null) {\n return;\n }\n\n $(tip).removeClass(CLASS_NAME_FADE);\n this.config.animation = false;\n this.hide();\n this.show();\n this.config.animation = initConfigAnimation;\n } // Static\n ;\n\n Tooltip._jQueryInterface = function _jQueryInterface(config) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY);\n\n var _config = _typeof(config) === 'object' && config;\n\n if (!data && /dispose|hide/.test(config)) {\n return;\n }\n\n if (!data) {\n data = new Tooltip(this, _config);\n $(this).data(DATA_KEY, data);\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(\"No method named \\\"\" + config + \"\\\"\");\n }\n\n data[config]();\n }\n });\n };\n\n _createClass(Tooltip, null, [{\n key: \"VERSION\",\n get: function get() {\n return VERSION;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME;\n }\n }, {\n key: \"DATA_KEY\",\n get: function get() {\n return DATA_KEY;\n }\n }, {\n key: \"Event\",\n get: function get() {\n return Event;\n }\n }, {\n key: \"EVENT_KEY\",\n get: function get() {\n return EVENT_KEY;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType;\n }\n }]);\n\n return Tooltip;\n }();\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n\n $.fn[NAME] = Tooltip._jQueryInterface;\n $.fn[NAME].Constructor = Tooltip;\n\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Tooltip._jQueryInterface;\n };\n\n return Tooltip;\n});","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/*!\n * Bootstrap util.js v4.5.0 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery')) : typeof define === 'function' && define.amd ? define(['jquery'], factory) : (global = global || self, global.Util = factory(global.jQuery));\n})(this, function ($) {\n 'use strict';\n\n $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;\n /**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.5.0): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n var TRANSITION_END = 'transitionend';\n var MAX_UID = 1000000;\n var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)\n\n function toType(obj) {\n if (obj === null || typeof obj === 'undefined') {\n return \"\" + obj;\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase();\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle: function handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params\n }\n\n return undefined;\n }\n };\n }\n\n function transitionEndEmulator(duration) {\n var _this = this;\n\n var called = false;\n $(this).one(Util.TRANSITION_END, function () {\n called = true;\n });\n setTimeout(function () {\n if (!called) {\n Util.triggerTransitionEnd(_this);\n }\n }, duration);\n return this;\n }\n\n function setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator;\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();\n }\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n\n var Util = {\n TRANSITION_END: 'bsTransitionEnd',\n getUID: function getUID(prefix) {\n do {\n // eslint-disable-next-line no-bitwise\n prefix += ~~(Math.random() * MAX_UID); // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix));\n\n return prefix;\n },\n getSelectorFromElement: function getSelectorFromElement(element) {\n var selector = element.getAttribute('data-target');\n\n if (!selector || selector === '#') {\n var hrefAttr = element.getAttribute('href');\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : '';\n }\n\n try {\n return document.querySelector(selector) ? selector : null;\n } catch (err) {\n return null;\n }\n },\n getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {\n if (!element) {\n return 0;\n } // Get transition-duration of the element\n\n\n var transitionDuration = $(element).css('transition-duration');\n var transitionDelay = $(element).css('transition-delay');\n var floatTransitionDuration = parseFloat(transitionDuration);\n var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found\n\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0;\n } // If multiple durations are defined, take the first\n\n\n transitionDuration = transitionDuration.split(',')[0];\n transitionDelay = transitionDelay.split(',')[0];\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;\n },\n reflow: function reflow(element) {\n return element.offsetHeight;\n },\n triggerTransitionEnd: function triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END);\n },\n // TODO: Remove in v5\n supportsTransitionEnd: function supportsTransitionEnd() {\n return Boolean(TRANSITION_END);\n },\n isElement: function isElement(obj) {\n return (obj[0] || obj).nodeType;\n },\n typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {\n for (var property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n var expectedTypes = configTypes[property];\n var value = config[property];\n var valueType = value && Util.isElement(value) ? 'element' : toType(value);\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(componentName.toUpperCase() + \": \" + (\"Option \\\"\" + property + \"\\\" provided type \\\"\" + valueType + \"\\\" \") + (\"but expected type \\\"\" + expectedTypes + \"\\\".\"));\n }\n }\n }\n },\n findShadowRoot: function findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null;\n } // Can find the shadow root otherwise it'll return the document\n\n\n if (typeof element.getRootNode === 'function') {\n var root = element.getRootNode();\n return root instanceof ShadowRoot ? root : null;\n }\n\n if (element instanceof ShadowRoot) {\n return element;\n } // when we don't find a shadow root\n\n\n if (!element.parentNode) {\n return null;\n }\n\n return Util.findShadowRoot(element.parentNode);\n },\n jQueryDetection: function jQueryDetection() {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.');\n }\n\n var version = $.fn.jquery.split(' ')[0].split('.');\n var minMajor = 1;\n var ltMajor = 2;\n var minMinor = 9;\n var minPatch = 1;\n var maxMajor = 4;\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');\n }\n }\n };\n Util.jQueryDetection();\n setTransitionEndSupport();\n return Util;\n});","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(true);\n// Module\nexports.push([module.id, \":root {\\n --blue: #007bff;\\n --indigo: #6610f2;\\n --purple: #6f42c1;\\n --pink: #e83e8c;\\n --red: #dc3545;\\n --orange: #fd7e14;\\n --yellow: #ffc107;\\n --green: #28a745;\\n --teal: #20c997;\\n --cyan: #17a2b8;\\n --white: #fff;\\n --gray: #6c757d;\\n --gray-dark: #343a40;\\n --primary: #007bff;\\n --secondary: #6c757d;\\n --success: #28a745;\\n --info: #17a2b8;\\n --warning: #ffc107;\\n --danger: #dc3545;\\n --light: #f8f9fa;\\n --dark: #343a40;\\n --breakpoint-xs: 0;\\n --breakpoint-sm: 576px;\\n --breakpoint-md: 768px;\\n --breakpoint-lg: 992px;\\n --breakpoint-xl: 1200px;\\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\";\\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; }\\n\\n*,\\n*::before,\\n*::after {\\n box-sizing: border-box; }\\n\\nhtml {\\n font-family: sans-serif;\\n line-height: 1.15;\\n -webkit-text-size-adjust: 100%;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }\\n\\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\\n display: block; }\\n\\nbody {\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\";\\n font-size: 1rem;\\n font-weight: 400;\\n line-height: 1.5;\\n color: #212529;\\n text-align: left;\\n background-color: #fff; }\\n\\n[tabindex=\\\"-1\\\"]:focus:not(:focus-visible) {\\n outline: 0 !important; }\\n\\nhr {\\n box-sizing: content-box;\\n height: 0;\\n overflow: visible; }\\n\\nh1, h2, h3, h4, h5, h6 {\\n margin-top: 0;\\n margin-bottom: 0.5rem; }\\n\\np {\\n margin-top: 0;\\n margin-bottom: 1rem; }\\n\\nabbr[title],\\nabbr[data-original-title] {\\n text-decoration: underline;\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n cursor: help;\\n border-bottom: 0;\\n -webkit-text-decoration-skip-ink: none;\\n text-decoration-skip-ink: none; }\\n\\naddress {\\n margin-bottom: 1rem;\\n font-style: normal;\\n line-height: inherit; }\\n\\nol,\\nul,\\ndl {\\n margin-top: 0;\\n margin-bottom: 1rem; }\\n\\nol ol,\\nul ul,\\nol ul,\\nul ol {\\n margin-bottom: 0; }\\n\\ndt {\\n font-weight: 700; }\\n\\ndd {\\n margin-bottom: .5rem;\\n margin-left: 0; }\\n\\nblockquote {\\n margin: 0 0 1rem; }\\n\\nb,\\nstrong {\\n font-weight: bolder; }\\n\\nsmall {\\n font-size: 80%; }\\n\\nsub,\\nsup {\\n position: relative;\\n font-size: 75%;\\n line-height: 0;\\n vertical-align: baseline; }\\n\\nsub {\\n bottom: -.25em; }\\n\\nsup {\\n top: -.5em; }\\n\\na {\\n color: #007bff;\\n text-decoration: none;\\n background-color: transparent; }\\n\\na:hover {\\n color: #0056b3;\\n text-decoration: underline; }\\n\\na:not([href]) {\\n color: inherit;\\n text-decoration: none; }\\n\\na:not([href]):hover {\\n color: inherit;\\n text-decoration: none; }\\n\\npre,\\ncode,\\nkbd,\\nsamp {\\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace;\\n font-size: 1em; }\\n\\npre {\\n margin-top: 0;\\n margin-bottom: 1rem;\\n overflow: auto;\\n -ms-overflow-style: scrollbar; }\\n\\nfigure {\\n margin: 0 0 1rem; }\\n\\nimg {\\n vertical-align: middle;\\n border-style: none; }\\n\\nsvg {\\n overflow: hidden;\\n vertical-align: middle; }\\n\\ntable {\\n border-collapse: collapse; }\\n\\ncaption {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n color: #6c757d;\\n text-align: left;\\n caption-side: bottom; }\\n\\nth {\\n text-align: inherit; }\\n\\nlabel {\\n display: inline-block;\\n margin-bottom: 0.5rem; }\\n\\nbutton {\\n border-radius: 0; }\\n\\nbutton:focus {\\n outline: 1px dotted;\\n outline: 5px auto -webkit-focus-ring-color; }\\n\\ninput,\\nbutton,\\nselect,\\noptgroup,\\ntextarea {\\n margin: 0;\\n font-family: inherit;\\n font-size: inherit;\\n line-height: inherit; }\\n\\nbutton,\\ninput {\\n overflow: visible; }\\n\\nbutton,\\nselect {\\n text-transform: none; }\\n\\n[role=\\\"button\\\"] {\\n cursor: pointer; }\\n\\nselect {\\n word-wrap: normal; }\\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\\nbutton::-moz-focus-inner,\\n[type=\\\"button\\\"]::-moz-focus-inner,\\n[type=\\\"reset\\\"]::-moz-focus-inner,\\n[type=\\\"submit\\\"]::-moz-focus-inner {\\n padding: 0;\\n border-style: none; }\\n\\ninput[type=\\\"radio\\\"],\\ninput[type=\\\"checkbox\\\"] {\\n box-sizing: border-box;\\n padding: 0; }\\n\\ntextarea {\\n overflow: auto;\\n resize: vertical; }\\n\\nfieldset {\\n min-width: 0;\\n padding: 0;\\n margin: 0;\\n border: 0; }\\n\\nlegend {\\n display: block;\\n width: 100%;\\n max-width: 100%;\\n padding: 0;\\n margin-bottom: .5rem;\\n font-size: 1.5rem;\\n line-height: inherit;\\n color: inherit;\\n white-space: normal; }\\n\\nprogress {\\n vertical-align: baseline; }\\n\\n[type=\\\"number\\\"]::-webkit-inner-spin-button,\\n[type=\\\"number\\\"]::-webkit-outer-spin-button {\\n height: auto; }\\n\\n[type=\\\"search\\\"] {\\n outline-offset: -2px;\\n -webkit-appearance: none; }\\n\\n[type=\\\"search\\\"]::-webkit-search-decoration {\\n -webkit-appearance: none; }\\n\\n::-webkit-file-upload-button {\\n font: inherit;\\n -webkit-appearance: button; }\\n\\noutput {\\n display: inline-block; }\\n\\nsummary {\\n display: list-item;\\n cursor: pointer; }\\n\\ntemplate {\\n display: none; }\\n\\n[hidden] {\\n display: none !important; }\\n\\nh1, h2, h3, h4, h5, h6,\\n.h1, .h2, .h3, .h4, .h5, .h6 {\\n margin-bottom: 0.5rem;\\n font-weight: 500;\\n line-height: 1.2; }\\n\\nh1, .h1 {\\n font-size: 2.5rem; }\\n\\nh2, .h2 {\\n font-size: 2rem; }\\n\\nh3, .h3 {\\n font-size: 1.75rem; }\\n\\nh4, .h4 {\\n font-size: 1.5rem; }\\n\\nh5, .h5 {\\n font-size: 1.25rem; }\\n\\nh6, .h6 {\\n font-size: 1rem; }\\n\\n.lead {\\n font-size: 1.25rem;\\n font-weight: 300; }\\n\\n.display-1 {\\n font-size: 6rem;\\n font-weight: 300;\\n line-height: 1.2; }\\n\\n.display-2 {\\n font-size: 5.5rem;\\n font-weight: 300;\\n line-height: 1.2; }\\n\\n.display-3 {\\n font-size: 4.5rem;\\n font-weight: 300;\\n line-height: 1.2; }\\n\\n.display-4 {\\n font-size: 3.5rem;\\n font-weight: 300;\\n line-height: 1.2; }\\n\\nhr {\\n margin-top: 1rem;\\n margin-bottom: 1rem;\\n border: 0;\\n border-top: 1px solid rgba(0, 0, 0, 0.1); }\\n\\nsmall,\\n.small {\\n font-size: 80%;\\n font-weight: 400; }\\n\\nmark,\\n.mark {\\n padding: 0.2em;\\n background-color: #fcf8e3; }\\n\\n.list-unstyled {\\n padding-left: 0;\\n list-style: none; }\\n\\n.list-inline {\\n padding-left: 0;\\n list-style: none; }\\n\\n.list-inline-item {\\n display: inline-block; }\\n\\n.list-inline-item:not(:last-child) {\\n margin-right: 0.5rem; }\\n\\n.initialism {\\n font-size: 90%;\\n text-transform: uppercase; }\\n\\n.blockquote {\\n margin-bottom: 1rem;\\n font-size: 1.25rem; }\\n\\n.blockquote-footer {\\n display: block;\\n font-size: 80%;\\n color: #6c757d; }\\n\\n.blockquote-footer::before {\\n content: \\\"\\\\2014\\\\00A0\\\"; }\\n\\n.alert {\\n position: relative;\\n padding: 0.75rem 1.25rem;\\n margin-bottom: 1rem;\\n border: 1px solid transparent;\\n border-radius: 0.25rem; }\\n\\n.alert-heading {\\n color: inherit; }\\n\\n.alert-link {\\n font-weight: 700; }\\n\\n.alert-dismissible {\\n padding-right: 4rem; }\\n\\n.alert-dismissible .close {\\n position: absolute;\\n top: 0;\\n right: 0;\\n padding: 0.75rem 1.25rem;\\n color: inherit; }\\n\\n.alert-primary {\\n color: #004085;\\n background-color: #cce5ff;\\n border-color: #b8daff; }\\n\\n.alert-primary hr {\\n border-top-color: #9fcdff; }\\n\\n.alert-primary .alert-link {\\n color: #002752; }\\n\\n.alert-secondary {\\n color: #383d41;\\n background-color: #e2e3e5;\\n border-color: #d6d8db; }\\n\\n.alert-secondary hr {\\n border-top-color: #c8cbcf; }\\n\\n.alert-secondary .alert-link {\\n color: #202326; }\\n\\n.alert-success {\\n color: #155724;\\n background-color: #d4edda;\\n border-color: #c3e6cb; }\\n\\n.alert-success hr {\\n border-top-color: #b1dfbb; }\\n\\n.alert-success .alert-link {\\n color: #0b2e13; }\\n\\n.alert-info {\\n color: #0c5460;\\n background-color: #d1ecf1;\\n border-color: #bee5eb; }\\n\\n.alert-info hr {\\n border-top-color: #abdde5; }\\n\\n.alert-info .alert-link {\\n color: #062c33; }\\n\\n.alert-warning {\\n color: #856404;\\n background-color: #fff3cd;\\n border-color: #ffeeba; }\\n\\n.alert-warning hr {\\n border-top-color: #ffe8a1; }\\n\\n.alert-warning .alert-link {\\n color: #533f03; }\\n\\n.alert-danger {\\n color: #721c24;\\n background-color: #f8d7da;\\n border-color: #f5c6cb; }\\n\\n.alert-danger hr {\\n border-top-color: #f1b0b7; }\\n\\n.alert-danger .alert-link {\\n color: #491217; }\\n\\n.alert-light {\\n color: #818182;\\n background-color: #fefefe;\\n border-color: #fdfdfe; }\\n\\n.alert-light hr {\\n border-top-color: #ececf6; }\\n\\n.alert-light .alert-link {\\n color: #686868; }\\n\\n.alert-dark {\\n color: #1b1e21;\\n background-color: #d6d8d9;\\n border-color: #c6c8ca; }\\n\\n.alert-dark hr {\\n border-top-color: #b9bbbe; }\\n\\n.alert-dark .alert-link {\\n color: #040505; }\\n\\n.badge {\\n display: inline-block;\\n padding: 0.25em 0.4em;\\n font-size: 75%;\\n font-weight: 700;\\n line-height: 1;\\n text-align: center;\\n white-space: nowrap;\\n vertical-align: baseline;\\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 .badge {\\n transition: none; } }\\n\\na.badge:hover, a.badge:focus {\\n text-decoration: none; }\\n\\n.badge:empty {\\n display: none; }\\n\\n.btn .badge {\\n position: relative;\\n top: -1px; }\\n\\n.badge-pill {\\n padding-right: 0.6em;\\n padding-left: 0.6em;\\n border-radius: 10rem; }\\n\\n.badge-primary {\\n color: #fff;\\n background-color: #007bff; }\\n\\na.badge-primary:hover, a.badge-primary:focus {\\n color: #fff;\\n background-color: #0062cc; }\\n\\na.badge-primary:focus, a.badge-primary.focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); }\\n\\n.badge-secondary {\\n color: #fff;\\n background-color: #6c757d; }\\n\\na.badge-secondary:hover, a.badge-secondary:focus {\\n color: #fff;\\n background-color: #545b62; }\\n\\na.badge-secondary:focus, a.badge-secondary.focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }\\n\\n.badge-success {\\n color: #fff;\\n background-color: #28a745; }\\n\\na.badge-success:hover, a.badge-success:focus {\\n color: #fff;\\n background-color: #1e7e34; }\\n\\na.badge-success:focus, a.badge-success.focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }\\n\\n.badge-info {\\n color: #fff;\\n background-color: #17a2b8; }\\n\\na.badge-info:hover, a.badge-info:focus {\\n color: #fff;\\n background-color: #117a8b; }\\n\\na.badge-info:focus, a.badge-info.focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }\\n\\n.badge-warning {\\n color: #212529;\\n background-color: #ffc107; }\\n\\na.badge-warning:hover, a.badge-warning:focus {\\n color: #212529;\\n background-color: #d39e00; }\\n\\na.badge-warning:focus, a.badge-warning.focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }\\n\\n.badge-danger {\\n color: #fff;\\n background-color: #dc3545; }\\n\\na.badge-danger:hover, a.badge-danger:focus {\\n color: #fff;\\n background-color: #bd2130; }\\n\\na.badge-danger:focus, a.badge-danger.focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }\\n\\n.badge-light {\\n color: #212529;\\n background-color: #f8f9fa; }\\n\\na.badge-light:hover, a.badge-light:focus {\\n color: #212529;\\n background-color: #dae0e5; }\\n\\na.badge-light:focus, a.badge-light.focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }\\n\\n.badge-dark {\\n color: #fff;\\n background-color: #343a40; }\\n\\na.badge-dark:hover, a.badge-dark:focus {\\n color: #fff;\\n background-color: #1d2124; }\\n\\na.badge-dark:focus, a.badge-dark.focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }\\n\\n.breadcrumb {\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0.75rem 1rem;\\n margin-bottom: 1rem;\\n list-style: none;\\n background-color: #e9ecef;\\n border-radius: 0.25rem; }\\n\\n.breadcrumb-item {\\n display: flex; }\\n\\n.breadcrumb-item + .breadcrumb-item {\\n padding-left: 0.5rem; }\\n\\n.breadcrumb-item + .breadcrumb-item::before {\\n display: inline-block;\\n padding-right: 0.5rem;\\n color: #6c757d;\\n content: \\\"/\\\"; }\\n\\n.breadcrumb-item + .breadcrumb-item:hover::before {\\n text-decoration: underline; }\\n\\n.breadcrumb-item + .breadcrumb-item:hover::before {\\n text-decoration: none; }\\n\\n.breadcrumb-item.active {\\n color: #6c757d; }\\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:hover,\\n .btn-group-vertical > .btn:hover {\\n z-index: 1; }\\n\\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\\n .btn-group-vertical > .btn:focus,\\n .btn-group-vertical > .btn:active,\\n .btn-group-vertical > .btn.active {\\n z-index: 1; }\\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.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:not(:first-child),\\n.btn-group > .btn-group:not(:first-child) > .btn {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0; }\\n\\n.dropdown-toggle-split {\\n padding-right: 0.5625rem;\\n padding-left: 0.5625rem; }\\n\\n.dropdown-toggle-split::after,\\n .dropup .dropdown-toggle-split::after,\\n .dropright .dropdown-toggle-split::after {\\n margin-left: 0; }\\n\\n.dropleft .dropdown-toggle-split::before {\\n margin-right: 0; }\\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.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\\n padding-right: 0.75rem;\\n padding-left: 0.75rem; }\\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:not(:first-child),\\n .btn-group-vertical > .btn-group:not(:first-child) > .btn {\\n border-top-left-radius: 0;\\n border-top-right-radius: 0; }\\n\\n.btn-group-toggle > .btn,\\n.btn-group-toggle > .btn-group > .btn {\\n margin-bottom: 0; }\\n\\n.btn-group-toggle > .btn input[type=\\\"radio\\\"],\\n .btn-group-toggle > .btn input[type=\\\"checkbox\\\"],\\n .btn-group-toggle > .btn-group > .btn input[type=\\\"radio\\\"],\\n .btn-group-toggle > .btn-group > .btn input[type=\\\"checkbox\\\"] {\\n position: absolute;\\n clip: rect(0, 0, 0, 0);\\n pointer-events: none; }\\n\\n.btn {\\n display: inline-block;\\n font-weight: 400;\\n color: #212529;\\n text-align: center;\\n vertical-align: middle;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-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 line-height: 1.5;\\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.btn:hover {\\n color: #212529;\\n text-decoration: none; }\\n\\n.btn:focus, .btn.focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }\\n\\n.btn.disabled, .btn:disabled {\\n opacity: 0.65; }\\n\\n.btn:not(:disabled):not(.disabled) {\\n cursor: pointer; }\\n\\na.btn.disabled,\\nfieldset:disabled a.btn {\\n pointer-events: none; }\\n\\n.btn-primary {\\n color: #fff;\\n background-color: #007bff;\\n border-color: #007bff; }\\n\\n.btn-primary:hover {\\n color: #fff;\\n background-color: #0069d9;\\n border-color: #0062cc; }\\n\\n.btn-primary:focus, .btn-primary.focus {\\n color: #fff;\\n background-color: #0069d9;\\n border-color: #0062cc;\\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); }\\n\\n.btn-primary.disabled, .btn-primary:disabled {\\n color: #fff;\\n background-color: #007bff;\\n border-color: #007bff; }\\n\\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\\n .show > .btn-primary.dropdown-toggle {\\n color: #fff;\\n background-color: #0062cc;\\n border-color: #005cbf; }\\n\\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-primary.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); }\\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: #5a6268;\\n border-color: #545b62; }\\n\\n.btn-secondary:focus, .btn-secondary.focus {\\n color: #fff;\\n background-color: #5a6268;\\n border-color: #545b62;\\n box-shadow: 0 0 0 0.2rem 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.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\\n .show > .btn-secondary.dropdown-toggle {\\n color: #fff;\\n background-color: #545b62;\\n border-color: #4e555b; }\\n\\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-secondary.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); }\\n\\n.btn-success {\\n color: #fff;\\n background-color: #28a745;\\n border-color: #28a745; }\\n\\n.btn-success:hover {\\n color: #fff;\\n background-color: #218838;\\n border-color: #1e7e34; }\\n\\n.btn-success:focus, .btn-success.focus {\\n color: #fff;\\n background-color: #218838;\\n border-color: #1e7e34;\\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); }\\n\\n.btn-success.disabled, .btn-success:disabled {\\n color: #fff;\\n background-color: #28a745;\\n border-color: #28a745; }\\n\\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\\n .show > .btn-success.dropdown-toggle {\\n color: #fff;\\n background-color: #1e7e34;\\n border-color: #1c7430; }\\n\\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-success.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); }\\n\\n.btn-info {\\n color: #fff;\\n background-color: #17a2b8;\\n border-color: #17a2b8; }\\n\\n.btn-info:hover {\\n color: #fff;\\n background-color: #138496;\\n border-color: #117a8b; }\\n\\n.btn-info:focus, .btn-info.focus {\\n color: #fff;\\n background-color: #138496;\\n border-color: #117a8b;\\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); }\\n\\n.btn-info.disabled, .btn-info:disabled {\\n color: #fff;\\n background-color: #17a2b8;\\n border-color: #17a2b8; }\\n\\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\\n .show > .btn-info.dropdown-toggle {\\n color: #fff;\\n background-color: #117a8b;\\n border-color: #10707f; }\\n\\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-info.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); }\\n\\n.btn-warning {\\n color: #212529;\\n background-color: #ffc107;\\n border-color: #ffc107; }\\n\\n.btn-warning:hover {\\n color: #212529;\\n background-color: #e0a800;\\n border-color: #d39e00; }\\n\\n.btn-warning:focus, .btn-warning.focus {\\n color: #212529;\\n background-color: #e0a800;\\n border-color: #d39e00;\\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); }\\n\\n.btn-warning.disabled, .btn-warning:disabled {\\n color: #212529;\\n background-color: #ffc107;\\n border-color: #ffc107; }\\n\\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\\n .show > .btn-warning.dropdown-toggle {\\n color: #212529;\\n background-color: #d39e00;\\n border-color: #c69500; }\\n\\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-warning.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); }\\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: #c82333;\\n border-color: #bd2130; }\\n\\n.btn-danger:focus, .btn-danger.focus {\\n color: #fff;\\n background-color: #c82333;\\n border-color: #bd2130;\\n box-shadow: 0 0 0 0.2rem 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.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\\n .show > .btn-danger.dropdown-toggle {\\n color: #fff;\\n background-color: #bd2130;\\n border-color: #b21f2d; }\\n\\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-danger.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); }\\n\\n.btn-light {\\n color: #212529;\\n background-color: #f8f9fa;\\n border-color: #f8f9fa; }\\n\\n.btn-light:hover {\\n color: #212529;\\n background-color: #e2e6ea;\\n border-color: #dae0e5; }\\n\\n.btn-light:focus, .btn-light.focus {\\n color: #212529;\\n background-color: #e2e6ea;\\n border-color: #dae0e5;\\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }\\n\\n.btn-light.disabled, .btn-light:disabled {\\n color: #212529;\\n background-color: #f8f9fa;\\n border-color: #f8f9fa; }\\n\\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\\n .show > .btn-light.dropdown-toggle {\\n color: #212529;\\n background-color: #dae0e5;\\n border-color: #d3d9df; }\\n\\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-light.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }\\n\\n.btn-dark {\\n color: #fff;\\n background-color: #343a40;\\n border-color: #343a40; }\\n\\n.btn-dark:hover {\\n color: #fff;\\n background-color: #23272b;\\n border-color: #1d2124; }\\n\\n.btn-dark:focus, .btn-dark.focus {\\n color: #fff;\\n background-color: #23272b;\\n border-color: #1d2124;\\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }\\n\\n.btn-dark.disabled, .btn-dark:disabled {\\n color: #fff;\\n background-color: #343a40;\\n border-color: #343a40; }\\n\\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\\n .show > .btn-dark.dropdown-toggle {\\n color: #fff;\\n background-color: #1d2124;\\n border-color: #171a1d; }\\n\\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-dark.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }\\n\\n.btn-outline-primary {\\n color: #007bff;\\n border-color: #007bff; }\\n\\n.btn-outline-primary:hover {\\n color: #fff;\\n background-color: #007bff;\\n border-color: #007bff; }\\n\\n.btn-outline-primary:focus, .btn-outline-primary.focus {\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); }\\n\\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\\n color: #007bff;\\n background-color: transparent; }\\n\\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\\n .show > .btn-outline-primary.dropdown-toggle {\\n color: #fff;\\n background-color: #007bff;\\n border-color: #007bff; }\\n\\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-outline-primary.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); }\\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-outline-secondary:focus, .btn-outline-secondary.focus {\\n box-shadow: 0 0 0 0.2rem 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.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\\n .show > .btn-outline-secondary.dropdown-toggle {\\n color: #fff;\\n background-color: #6c757d;\\n border-color: #6c757d; }\\n\\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-outline-secondary.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }\\n\\n.btn-outline-success {\\n color: #28a745;\\n border-color: #28a745; }\\n\\n.btn-outline-success:hover {\\n color: #fff;\\n background-color: #28a745;\\n border-color: #28a745; }\\n\\n.btn-outline-success:focus, .btn-outline-success.focus {\\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }\\n\\n.btn-outline-success.disabled, .btn-outline-success:disabled {\\n color: #28a745;\\n background-color: transparent; }\\n\\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\\n .show > .btn-outline-success.dropdown-toggle {\\n color: #fff;\\n background-color: #28a745;\\n border-color: #28a745; }\\n\\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-outline-success.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }\\n\\n.btn-outline-info {\\n color: #17a2b8;\\n border-color: #17a2b8; }\\n\\n.btn-outline-info:hover {\\n color: #fff;\\n background-color: #17a2b8;\\n border-color: #17a2b8; }\\n\\n.btn-outline-info:focus, .btn-outline-info.focus {\\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }\\n\\n.btn-outline-info.disabled, .btn-outline-info:disabled {\\n color: #17a2b8;\\n background-color: transparent; }\\n\\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\\n .show > .btn-outline-info.dropdown-toggle {\\n color: #fff;\\n background-color: #17a2b8;\\n border-color: #17a2b8; }\\n\\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-outline-info.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }\\n\\n.btn-outline-warning {\\n color: #ffc107;\\n border-color: #ffc107; }\\n\\n.btn-outline-warning:hover {\\n color: #212529;\\n background-color: #ffc107;\\n border-color: #ffc107; }\\n\\n.btn-outline-warning:focus, .btn-outline-warning.focus {\\n box-shadow: 0 0 0 0.2rem 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.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\\n .show > .btn-outline-warning.dropdown-toggle {\\n color: #212529;\\n background-color: #ffc107;\\n border-color: #ffc107; }\\n\\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-outline-warning.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }\\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-outline-danger:focus, .btn-outline-danger.focus {\\n box-shadow: 0 0 0 0.2rem 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.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\\n .show > .btn-outline-danger.dropdown-toggle {\\n color: #fff;\\n background-color: #dc3545;\\n border-color: #dc3545; }\\n\\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-outline-danger.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }\\n\\n.btn-outline-light {\\n color: #f8f9fa;\\n border-color: #f8f9fa; }\\n\\n.btn-outline-light:hover {\\n color: #212529;\\n background-color: #f8f9fa;\\n border-color: #f8f9fa; }\\n\\n.btn-outline-light:focus, .btn-outline-light.focus {\\n box-shadow: 0 0 0 0.2rem 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.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\\n .show > .btn-outline-light.dropdown-toggle {\\n color: #212529;\\n background-color: #f8f9fa;\\n border-color: #f8f9fa; }\\n\\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-outline-light.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }\\n\\n.btn-outline-dark {\\n color: #343a40;\\n border-color: #343a40; }\\n\\n.btn-outline-dark:hover {\\n color: #fff;\\n background-color: #343a40;\\n border-color: #343a40; }\\n\\n.btn-outline-dark:focus, .btn-outline-dark.focus {\\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }\\n\\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\\n color: #343a40;\\n background-color: transparent; }\\n\\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\\n .show > .btn-outline-dark.dropdown-toggle {\\n color: #fff;\\n background-color: #343a40;\\n border-color: #343a40; }\\n\\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-outline-dark.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }\\n\\n.btn-link {\\n font-weight: 400;\\n color: #007bff;\\n text-decoration: none; }\\n\\n.btn-link:hover {\\n color: #0056b3;\\n text-decoration: underline; }\\n\\n.btn-link:focus, .btn-link.focus {\\n text-decoration: underline; }\\n\\n.btn-link:disabled, .btn-link.disabled {\\n color: #6c757d;\\n pointer-events: none; }\\n\\n.btn-lg, .btn-group-lg > .btn {\\n padding: 0.5rem 1rem;\\n font-size: 1.25rem;\\n line-height: 1.5;\\n border-radius: 0.3rem; }\\n\\n.btn-sm, .btn-group-sm > .btn {\\n padding: 0.25rem 0.5rem;\\n font-size: 0.875rem;\\n line-height: 1.5;\\n border-radius: 0.2rem; }\\n\\n.btn-block {\\n display: block;\\n width: 100%; }\\n\\n.btn-block + .btn-block {\\n margin-top: 0.5rem; }\\n\\ninput[type=\\\"submit\\\"].btn-block,\\ninput[type=\\\"reset\\\"].btn-block,\\ninput[type=\\\"button\\\"].btn-block {\\n width: 100%; }\\n\\n.btn {\\n display: inline-block;\\n font-weight: 400;\\n color: #212529;\\n text-align: center;\\n vertical-align: middle;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-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 line-height: 1.5;\\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.btn:hover {\\n color: #212529;\\n text-decoration: none; }\\n\\n.btn:focus, .btn.focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }\\n\\n.btn.disabled, .btn:disabled {\\n opacity: 0.65; }\\n\\n.btn:not(:disabled):not(.disabled) {\\n cursor: pointer; }\\n\\na.btn.disabled,\\nfieldset:disabled a.btn {\\n pointer-events: none; }\\n\\n.btn-primary {\\n color: #fff;\\n background-color: #007bff;\\n border-color: #007bff; }\\n\\n.btn-primary:hover {\\n color: #fff;\\n background-color: #0069d9;\\n border-color: #0062cc; }\\n\\n.btn-primary:focus, .btn-primary.focus {\\n color: #fff;\\n background-color: #0069d9;\\n border-color: #0062cc;\\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); }\\n\\n.btn-primary.disabled, .btn-primary:disabled {\\n color: #fff;\\n background-color: #007bff;\\n border-color: #007bff; }\\n\\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\\n .show > .btn-primary.dropdown-toggle {\\n color: #fff;\\n background-color: #0062cc;\\n border-color: #005cbf; }\\n\\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-primary.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); }\\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: #5a6268;\\n border-color: #545b62; }\\n\\n.btn-secondary:focus, .btn-secondary.focus {\\n color: #fff;\\n background-color: #5a6268;\\n border-color: #545b62;\\n box-shadow: 0 0 0 0.2rem 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.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\\n .show > .btn-secondary.dropdown-toggle {\\n color: #fff;\\n background-color: #545b62;\\n border-color: #4e555b; }\\n\\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-secondary.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); }\\n\\n.btn-success {\\n color: #fff;\\n background-color: #28a745;\\n border-color: #28a745; }\\n\\n.btn-success:hover {\\n color: #fff;\\n background-color: #218838;\\n border-color: #1e7e34; }\\n\\n.btn-success:focus, .btn-success.focus {\\n color: #fff;\\n background-color: #218838;\\n border-color: #1e7e34;\\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); }\\n\\n.btn-success.disabled, .btn-success:disabled {\\n color: #fff;\\n background-color: #28a745;\\n border-color: #28a745; }\\n\\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\\n .show > .btn-success.dropdown-toggle {\\n color: #fff;\\n background-color: #1e7e34;\\n border-color: #1c7430; }\\n\\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-success.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); }\\n\\n.btn-info {\\n color: #fff;\\n background-color: #17a2b8;\\n border-color: #17a2b8; }\\n\\n.btn-info:hover {\\n color: #fff;\\n background-color: #138496;\\n border-color: #117a8b; }\\n\\n.btn-info:focus, .btn-info.focus {\\n color: #fff;\\n background-color: #138496;\\n border-color: #117a8b;\\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); }\\n\\n.btn-info.disabled, .btn-info:disabled {\\n color: #fff;\\n background-color: #17a2b8;\\n border-color: #17a2b8; }\\n\\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\\n .show > .btn-info.dropdown-toggle {\\n color: #fff;\\n background-color: #117a8b;\\n border-color: #10707f; }\\n\\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-info.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); }\\n\\n.btn-warning {\\n color: #212529;\\n background-color: #ffc107;\\n border-color: #ffc107; }\\n\\n.btn-warning:hover {\\n color: #212529;\\n background-color: #e0a800;\\n border-color: #d39e00; }\\n\\n.btn-warning:focus, .btn-warning.focus {\\n color: #212529;\\n background-color: #e0a800;\\n border-color: #d39e00;\\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); }\\n\\n.btn-warning.disabled, .btn-warning:disabled {\\n color: #212529;\\n background-color: #ffc107;\\n border-color: #ffc107; }\\n\\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\\n .show > .btn-warning.dropdown-toggle {\\n color: #212529;\\n background-color: #d39e00;\\n border-color: #c69500; }\\n\\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-warning.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); }\\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: #c82333;\\n border-color: #bd2130; }\\n\\n.btn-danger:focus, .btn-danger.focus {\\n color: #fff;\\n background-color: #c82333;\\n border-color: #bd2130;\\n box-shadow: 0 0 0 0.2rem 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.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\\n .show > .btn-danger.dropdown-toggle {\\n color: #fff;\\n background-color: #bd2130;\\n border-color: #b21f2d; }\\n\\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-danger.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); }\\n\\n.btn-light {\\n color: #212529;\\n background-color: #f8f9fa;\\n border-color: #f8f9fa; }\\n\\n.btn-light:hover {\\n color: #212529;\\n background-color: #e2e6ea;\\n border-color: #dae0e5; }\\n\\n.btn-light:focus, .btn-light.focus {\\n color: #212529;\\n background-color: #e2e6ea;\\n border-color: #dae0e5;\\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }\\n\\n.btn-light.disabled, .btn-light:disabled {\\n color: #212529;\\n background-color: #f8f9fa;\\n border-color: #f8f9fa; }\\n\\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\\n .show > .btn-light.dropdown-toggle {\\n color: #212529;\\n background-color: #dae0e5;\\n border-color: #d3d9df; }\\n\\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-light.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }\\n\\n.btn-dark {\\n color: #fff;\\n background-color: #343a40;\\n border-color: #343a40; }\\n\\n.btn-dark:hover {\\n color: #fff;\\n background-color: #23272b;\\n border-color: #1d2124; }\\n\\n.btn-dark:focus, .btn-dark.focus {\\n color: #fff;\\n background-color: #23272b;\\n border-color: #1d2124;\\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }\\n\\n.btn-dark.disabled, .btn-dark:disabled {\\n color: #fff;\\n background-color: #343a40;\\n border-color: #343a40; }\\n\\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\\n .show > .btn-dark.dropdown-toggle {\\n color: #fff;\\n background-color: #1d2124;\\n border-color: #171a1d; }\\n\\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-dark.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }\\n\\n.btn-outline-primary {\\n color: #007bff;\\n border-color: #007bff; }\\n\\n.btn-outline-primary:hover {\\n color: #fff;\\n background-color: #007bff;\\n border-color: #007bff; }\\n\\n.btn-outline-primary:focus, .btn-outline-primary.focus {\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); }\\n\\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\\n color: #007bff;\\n background-color: transparent; }\\n\\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\\n .show > .btn-outline-primary.dropdown-toggle {\\n color: #fff;\\n background-color: #007bff;\\n border-color: #007bff; }\\n\\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-outline-primary.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); }\\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-outline-secondary:focus, .btn-outline-secondary.focus {\\n box-shadow: 0 0 0 0.2rem 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.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\\n .show > .btn-outline-secondary.dropdown-toggle {\\n color: #fff;\\n background-color: #6c757d;\\n border-color: #6c757d; }\\n\\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-outline-secondary.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }\\n\\n.btn-outline-success {\\n color: #28a745;\\n border-color: #28a745; }\\n\\n.btn-outline-success:hover {\\n color: #fff;\\n background-color: #28a745;\\n border-color: #28a745; }\\n\\n.btn-outline-success:focus, .btn-outline-success.focus {\\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }\\n\\n.btn-outline-success.disabled, .btn-outline-success:disabled {\\n color: #28a745;\\n background-color: transparent; }\\n\\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\\n .show > .btn-outline-success.dropdown-toggle {\\n color: #fff;\\n background-color: #28a745;\\n border-color: #28a745; }\\n\\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-outline-success.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }\\n\\n.btn-outline-info {\\n color: #17a2b8;\\n border-color: #17a2b8; }\\n\\n.btn-outline-info:hover {\\n color: #fff;\\n background-color: #17a2b8;\\n border-color: #17a2b8; }\\n\\n.btn-outline-info:focus, .btn-outline-info.focus {\\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }\\n\\n.btn-outline-info.disabled, .btn-outline-info:disabled {\\n color: #17a2b8;\\n background-color: transparent; }\\n\\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\\n .show > .btn-outline-info.dropdown-toggle {\\n color: #fff;\\n background-color: #17a2b8;\\n border-color: #17a2b8; }\\n\\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-outline-info.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }\\n\\n.btn-outline-warning {\\n color: #ffc107;\\n border-color: #ffc107; }\\n\\n.btn-outline-warning:hover {\\n color: #212529;\\n background-color: #ffc107;\\n border-color: #ffc107; }\\n\\n.btn-outline-warning:focus, .btn-outline-warning.focus {\\n box-shadow: 0 0 0 0.2rem 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.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\\n .show > .btn-outline-warning.dropdown-toggle {\\n color: #212529;\\n background-color: #ffc107;\\n border-color: #ffc107; }\\n\\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-outline-warning.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }\\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-outline-danger:focus, .btn-outline-danger.focus {\\n box-shadow: 0 0 0 0.2rem 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.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\\n .show > .btn-outline-danger.dropdown-toggle {\\n color: #fff;\\n background-color: #dc3545;\\n border-color: #dc3545; }\\n\\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-outline-danger.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }\\n\\n.btn-outline-light {\\n color: #f8f9fa;\\n border-color: #f8f9fa; }\\n\\n.btn-outline-light:hover {\\n color: #212529;\\n background-color: #f8f9fa;\\n border-color: #f8f9fa; }\\n\\n.btn-outline-light:focus, .btn-outline-light.focus {\\n box-shadow: 0 0 0 0.2rem 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.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\\n .show > .btn-outline-light.dropdown-toggle {\\n color: #212529;\\n background-color: #f8f9fa;\\n border-color: #f8f9fa; }\\n\\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-outline-light.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }\\n\\n.btn-outline-dark {\\n color: #343a40;\\n border-color: #343a40; }\\n\\n.btn-outline-dark:hover {\\n color: #fff;\\n background-color: #343a40;\\n border-color: #343a40; }\\n\\n.btn-outline-dark:focus, .btn-outline-dark.focus {\\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }\\n\\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\\n color: #343a40;\\n background-color: transparent; }\\n\\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\\n .show > .btn-outline-dark.dropdown-toggle {\\n color: #fff;\\n background-color: #343a40;\\n border-color: #343a40; }\\n\\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-outline-dark.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }\\n\\n.btn-link {\\n font-weight: 400;\\n color: #007bff;\\n text-decoration: none; }\\n\\n.btn-link:hover {\\n color: #0056b3;\\n text-decoration: underline; }\\n\\n.btn-link:focus, .btn-link.focus {\\n text-decoration: underline; }\\n\\n.btn-link:disabled, .btn-link.disabled {\\n color: #6c757d;\\n pointer-events: none; }\\n\\n.btn-lg, .btn-group-lg > .btn {\\n padding: 0.5rem 1rem;\\n font-size: 1.25rem;\\n line-height: 1.5;\\n border-radius: 0.3rem; }\\n\\n.btn-sm, .btn-group-sm > .btn {\\n padding: 0.25rem 0.5rem;\\n font-size: 0.875rem;\\n line-height: 1.5;\\n border-radius: 0.2rem; }\\n\\n.btn-block {\\n display: block;\\n width: 100%; }\\n\\n.btn-block + .btn-block {\\n margin-top: 0.5rem; }\\n\\ninput[type=\\\"submit\\\"].btn-block,\\ninput[type=\\\"reset\\\"].btn-block,\\ninput[type=\\\"button\\\"].btn-block {\\n width: 100%; }\\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-body {\\n flex: 1 1 auto;\\n min-height: 1px;\\n padding: 1.25rem; }\\n\\n.card-title {\\n margin-bottom: 0.75rem; }\\n\\n.card-subtitle {\\n margin-top: -0.375rem;\\n margin-bottom: 0; }\\n\\n.card-text:last-child {\\n margin-bottom: 0; }\\n\\n.card-link:hover {\\n text-decoration: none; }\\n\\n.card-link + .card-link {\\n margin-left: 1.25rem; }\\n\\n.card-header {\\n padding: 0.75rem 1.25rem;\\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.card-header + .list-group .list-group-item:first-child {\\n border-top: 0; }\\n\\n.card-footer {\\n padding: 0.75rem 1.25rem;\\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.card-header-tabs {\\n margin-right: -0.625rem;\\n margin-bottom: -0.75rem;\\n margin-left: -0.625rem;\\n border-bottom: 0; }\\n\\n.card-header-pills {\\n margin-right: -0.625rem;\\n margin-left: -0.625rem; }\\n\\n.card-img-overlay {\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n padding: 1.25rem; }\\n\\n.card-img,\\n.card-img-top,\\n.card-img-bottom {\\n flex-shrink: 0;\\n width: 100%; }\\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.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.card-deck .card {\\n margin-bottom: 15px; }\\n\\n@media (min-width: 576px) {\\n .card-deck {\\n display: flex;\\n flex-flow: row wrap;\\n margin-right: -15px;\\n margin-left: -15px; }\\n .card-deck .card {\\n flex: 1 0;\\n margin-right: 15px;\\n margin-bottom: 0;\\n margin-left: 15px; } }\\n\\n.card-group > .card {\\n margin-bottom: 15px; }\\n\\n@media (min-width: 576px) {\\n .card-group {\\n display: flex;\\n flex-flow: row wrap; }\\n .card-group > .card {\\n flex: 1 0;\\n margin-bottom: 0; }\\n .card-group > .card + .card {\\n margin-left: 0;\\n border-left: 0; }\\n .card-group > .card:not(:last-child) {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0; }\\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 .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 .card-group > .card:not(:first-child) {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0; }\\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 .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.card-columns .card {\\n margin-bottom: 0.75rem; }\\n\\n@media (min-width: 576px) {\\n .card-columns {\\n -moz-column-count: 3;\\n column-count: 3;\\n grid-column-gap: 1.25rem;\\n -moz-column-gap: 1.25rem;\\n column-gap: 1.25rem;\\n orphans: 1;\\n widows: 1; }\\n .card-columns .card {\\n display: inline-block;\\n width: 100%; } }\\n\\n.accordion > .card {\\n overflow: hidden; }\\n\\n.accordion > .card:not(:last-of-type) {\\n border-bottom: 0;\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0; }\\n\\n.accordion > .card:not(:first-of-type) {\\n border-top-left-radius: 0;\\n border-top-right-radius: 0; }\\n\\n.accordion > .card > .card-header {\\n border-radius: 0;\\n margin-bottom: -1px; }\\n\\n.carousel {\\n position: relative; }\\n\\n.carousel.pointer-event {\\n touch-action: pan-y; }\\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.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.carousel-item.active,\\n.carousel-item-next,\\n.carousel-item-prev {\\n display: block; }\\n\\n.carousel-item-next:not(.carousel-item-left),\\n.active.carousel-item-right {\\n transform: translateX(100%); }\\n\\n.carousel-item-prev:not(.carousel-item-right),\\n.active.carousel-item-left {\\n transform: translateX(-100%); }\\n\\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-left,\\n.carousel-fade .carousel-item-prev.carousel-item-right {\\n z-index: 1;\\n opacity: 1; }\\n\\n.carousel-fade .active.carousel-item-left,\\n.carousel-fade .active.carousel-item-right {\\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-left,\\n .carousel-fade .active.carousel-item-right {\\n transition: none; } }\\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 color: #fff;\\n text-align: center;\\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.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.carousel-control-prev {\\n left: 0; }\\n\\n.carousel-control-next {\\n right: 0; }\\n\\n.carousel-control-prev-icon,\\n.carousel-control-next-icon {\\n display: inline-block;\\n width: 20px;\\n height: 20px;\\n background: no-repeat 50% / 100% 100%; }\\n\\n.carousel-control-prev-icon {\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\\\"); }\\n\\n.carousel-control-next-icon {\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\\\"); }\\n\\n.carousel-indicators {\\n position: absolute;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n z-index: 15;\\n display: flex;\\n justify-content: center;\\n padding-left: 0;\\n margin-right: 15%;\\n margin-left: 15%;\\n list-style: none; }\\n\\n.carousel-indicators li {\\n box-sizing: content-box;\\n flex: 0 1 auto;\\n width: 30px;\\n height: 3px;\\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-top: 10px solid transparent;\\n border-bottom: 10px solid transparent;\\n opacity: .5;\\n transition: opacity 0.6s ease; }\\n\\n@media (prefers-reduced-motion: reduce) {\\n .carousel-indicators li {\\n transition: none; } }\\n\\n.carousel-indicators .active {\\n opacity: 1; }\\n\\n.carousel-caption {\\n position: absolute;\\n right: 15%;\\n bottom: 20px;\\n left: 15%;\\n z-index: 10;\\n padding-top: 20px;\\n padding-bottom: 20px;\\n color: #fff;\\n text-align: center; }\\n\\n.close {\\n float: right;\\n font-size: 1.5rem;\\n font-weight: 700;\\n line-height: 1;\\n color: #000;\\n text-shadow: 0 1px 0 #fff;\\n opacity: .5; }\\n\\n.close:hover {\\n color: #000;\\n text-decoration: none; }\\n\\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\\n opacity: .75; }\\n\\nbutton.close {\\n padding: 0;\\n background-color: transparent;\\n border: 0; }\\n\\na.close.disabled {\\n pointer-events: none; }\\n\\ncode {\\n font-size: 87.5%;\\n color: #e83e8c;\\n word-wrap: break-word; }\\n\\na > code {\\n color: inherit; }\\n\\nkbd {\\n padding: 0.2rem 0.4rem;\\n font-size: 87.5%;\\n color: #fff;\\n background-color: #212529;\\n border-radius: 0.2rem; }\\n\\nkbd kbd {\\n padding: 0;\\n font-size: 100%;\\n font-weight: 700; }\\n\\npre {\\n display: block;\\n font-size: 87.5%;\\n color: #212529; }\\n\\npre code {\\n font-size: inherit;\\n color: inherit;\\n word-break: normal; }\\n\\n.pre-scrollable {\\n max-height: 340px;\\n overflow-y: scroll; }\\n\\n.custom-control {\\n position: relative;\\n display: block;\\n min-height: 1.5rem;\\n padding-left: 1.5rem; }\\n\\n.custom-control-inline {\\n display: inline-flex;\\n margin-right: 1rem; }\\n\\n.custom-control-input {\\n position: absolute;\\n left: 0;\\n z-index: -1;\\n width: 1rem;\\n height: 1.25rem;\\n opacity: 0; }\\n\\n.custom-control-input:checked ~ .custom-control-label::before {\\n color: #fff;\\n border-color: #007bff;\\n background-color: #007bff; }\\n\\n.custom-control-input:focus ~ .custom-control-label::before {\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }\\n\\n.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\\n border-color: #80bdff; }\\n\\n.custom-control-input:not(:disabled):active ~ .custom-control-label::before {\\n color: #fff;\\n background-color: #b3d7ff;\\n border-color: #b3d7ff; }\\n\\n.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {\\n color: #6c757d; }\\n\\n.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {\\n background-color: #e9ecef; }\\n\\n.custom-control-label {\\n position: relative;\\n margin-bottom: 0;\\n vertical-align: top; }\\n\\n.custom-control-label::before {\\n position: absolute;\\n top: 0.25rem;\\n left: -1.5rem;\\n display: block;\\n width: 1rem;\\n height: 1rem;\\n pointer-events: none;\\n content: \\\"\\\";\\n background-color: #fff;\\n border: #adb5bd solid 1px; }\\n\\n.custom-control-label::after {\\n position: absolute;\\n top: 0.25rem;\\n left: -1.5rem;\\n display: block;\\n width: 1rem;\\n height: 1rem;\\n content: \\\"\\\";\\n background: no-repeat 50% / 50% 50%; }\\n\\n.custom-checkbox .custom-control-label::before {\\n border-radius: 0.25rem; }\\n\\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e\\\"); }\\n\\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\\n border-color: #007bff;\\n background-color: #007bff; }\\n\\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\\\"); }\\n\\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\\n background-color: rgba(0, 123, 255, 0.5); }\\n\\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\\n background-color: rgba(0, 123, 255, 0.5); }\\n\\n.custom-radio .custom-control-label::before {\\n border-radius: 50%; }\\n\\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\\\"); }\\n\\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\\n background-color: rgba(0, 123, 255, 0.5); }\\n\\n.custom-switch {\\n padding-left: 2.25rem; }\\n\\n.custom-switch .custom-control-label::before {\\n left: -2.25rem;\\n width: 1.75rem;\\n pointer-events: all;\\n border-radius: 0.5rem; }\\n\\n.custom-switch .custom-control-label::after {\\n top: calc(0.25rem + 2px);\\n left: calc(-2.25rem + 2px);\\n width: calc(1rem - 4px);\\n height: calc(1rem - 4px);\\n background-color: #adb5bd;\\n border-radius: 0.5rem;\\n transition: transform 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 .custom-switch .custom-control-label::after {\\n transition: none; } }\\n\\n.custom-switch .custom-control-input:checked ~ .custom-control-label::after {\\n background-color: #fff;\\n transform: translateX(0.75rem); }\\n\\n.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\\n background-color: rgba(0, 123, 255, 0.5); }\\n\\n.custom-select {\\n display: inline-block;\\n width: 100%;\\n height: calc(1.5em + 0.75rem + 2px);\\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\\n font-size: 1rem;\\n font-weight: 400;\\n line-height: 1.5;\\n color: #495057;\\n vertical-align: middle;\\n background: #fff url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\\\") no-repeat right 0.75rem center/8px 10px;\\n border: 1px solid #ced4da;\\n border-radius: 0.25rem;\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none; }\\n\\n.custom-select:focus {\\n border-color: #80bdff;\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }\\n\\n.custom-select:focus::-ms-value {\\n color: #495057;\\n background-color: #fff; }\\n\\n.custom-select[multiple], .custom-select[size]:not([size=\\\"1\\\"]) {\\n height: auto;\\n padding-right: 0.75rem;\\n background-image: none; }\\n\\n.custom-select:disabled {\\n color: #6c757d;\\n background-color: #e9ecef; }\\n\\n.custom-select::-ms-expand {\\n display: none; }\\n\\n.custom-select:-moz-focusring {\\n color: transparent;\\n text-shadow: 0 0 0 #495057; }\\n\\n.custom-select-sm {\\n height: calc(1.5em + 0.5rem + 2px);\\n padding-top: 0.25rem;\\n padding-bottom: 0.25rem;\\n padding-left: 0.5rem;\\n font-size: 0.875rem; }\\n\\n.custom-select-lg {\\n height: calc(1.5em + 1rem + 2px);\\n padding-top: 0.5rem;\\n padding-bottom: 0.5rem;\\n padding-left: 1rem;\\n font-size: 1.25rem; }\\n\\n.custom-file {\\n position: relative;\\n display: inline-block;\\n width: 100%;\\n height: calc(1.5em + 0.75rem + 2px);\\n margin-bottom: 0; }\\n\\n.custom-file-input {\\n position: relative;\\n z-index: 2;\\n width: 100%;\\n height: calc(1.5em + 0.75rem + 2px);\\n margin: 0;\\n opacity: 0; }\\n\\n.custom-file-input:focus ~ .custom-file-label {\\n border-color: #80bdff;\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }\\n\\n.custom-file-input[disabled] ~ .custom-file-label,\\n .custom-file-input:disabled ~ .custom-file-label {\\n background-color: #e9ecef; }\\n\\n.custom-file-input:lang(en) ~ .custom-file-label::after {\\n content: \\\"Browse\\\"; }\\n\\n.custom-file-input ~ .custom-file-label[data-browse]::after {\\n content: attr(data-browse); }\\n\\n.custom-file-label {\\n position: absolute;\\n top: 0;\\n right: 0;\\n left: 0;\\n z-index: 1;\\n height: calc(1.5em + 0.75rem + 2px);\\n padding: 0.375rem 0.75rem;\\n font-weight: 400;\\n line-height: 1.5;\\n color: #495057;\\n background-color: #fff;\\n border: 1px solid #ced4da;\\n border-radius: 0.25rem; }\\n\\n.custom-file-label::after {\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n z-index: 3;\\n display: block;\\n height: calc(1.5em + 0.75rem);\\n padding: 0.375rem 0.75rem;\\n line-height: 1.5;\\n color: #495057;\\n content: \\\"Browse\\\";\\n background-color: #e9ecef;\\n border-left: inherit;\\n border-radius: 0 0.25rem 0.25rem 0; }\\n\\n.custom-range {\\n width: 100%;\\n height: 1.4rem;\\n padding: 0;\\n background-color: transparent;\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none; }\\n\\n.custom-range:focus {\\n outline: none; }\\n\\n.custom-range:focus::-webkit-slider-thumb {\\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }\\n\\n.custom-range:focus::-moz-range-thumb {\\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }\\n\\n.custom-range:focus::-ms-thumb {\\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }\\n\\n.custom-range::-moz-focus-outer {\\n border: 0; }\\n\\n.custom-range::-webkit-slider-thumb {\\n width: 1rem;\\n height: 1rem;\\n margin-top: -0.25rem;\\n background-color: #007bff;\\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 .custom-range::-webkit-slider-thumb {\\n -webkit-transition: none;\\n transition: none; } }\\n\\n.custom-range::-webkit-slider-thumb:active {\\n background-color: #b3d7ff; }\\n\\n.custom-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.custom-range::-moz-range-thumb {\\n width: 1rem;\\n height: 1rem;\\n background-color: #007bff;\\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 .custom-range::-moz-range-thumb {\\n -moz-transition: none;\\n transition: none; } }\\n\\n.custom-range::-moz-range-thumb:active {\\n background-color: #b3d7ff; }\\n\\n.custom-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.custom-range::-ms-thumb {\\n width: 1rem;\\n height: 1rem;\\n margin-top: 0;\\n margin-right: 0.2rem;\\n margin-left: 0.2rem;\\n background-color: #007bff;\\n border: 0;\\n border-radius: 1rem;\\n -ms-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 appearance: none; }\\n\\n@media (prefers-reduced-motion: reduce) {\\n .custom-range::-ms-thumb {\\n -ms-transition: none;\\n transition: none; } }\\n\\n.custom-range::-ms-thumb:active {\\n background-color: #b3d7ff; }\\n\\n.custom-range::-ms-track {\\n width: 100%;\\n height: 0.5rem;\\n color: transparent;\\n cursor: pointer;\\n background-color: transparent;\\n border-color: transparent;\\n border-width: 0.5rem; }\\n\\n.custom-range::-ms-fill-lower {\\n background-color: #dee2e6;\\n border-radius: 1rem; }\\n\\n.custom-range::-ms-fill-upper {\\n margin-right: 15px;\\n background-color: #dee2e6;\\n border-radius: 1rem; }\\n\\n.custom-range:disabled::-webkit-slider-thumb {\\n background-color: #adb5bd; }\\n\\n.custom-range:disabled::-webkit-slider-runnable-track {\\n cursor: default; }\\n\\n.custom-range:disabled::-moz-range-thumb {\\n background-color: #adb5bd; }\\n\\n.custom-range:disabled::-moz-range-track {\\n cursor: default; }\\n\\n.custom-range:disabled::-ms-thumb {\\n background-color: #adb5bd; }\\n\\n.custom-control-label::before,\\n.custom-file-label,\\n.custom-select {\\n transition: 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 .custom-control-label::before,\\n .custom-file-label,\\n .custom-select {\\n transition: none; } }\\n\\n.dropup,\\n.dropright,\\n.dropdown,\\n.dropleft {\\n position: relative; }\\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.dropdown-menu {\\n position: absolute;\\n top: 100%;\\n left: 0;\\n z-index: 1000;\\n display: none;\\n float: left;\\n min-width: 10rem;\\n padding: 0.5rem 0;\\n margin: 0.125rem 0 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-left {\\n right: auto;\\n left: 0; }\\n\\n.dropdown-menu-right {\\n right: 0;\\n left: auto; }\\n\\n@media (min-width: 576px) {\\n .dropdown-menu-sm-left {\\n right: auto;\\n left: 0; }\\n .dropdown-menu-sm-right {\\n right: 0;\\n left: auto; } }\\n\\n@media (min-width: 768px) {\\n .dropdown-menu-md-left {\\n right: auto;\\n left: 0; }\\n .dropdown-menu-md-right {\\n right: 0;\\n left: auto; } }\\n\\n@media (min-width: 992px) {\\n .dropdown-menu-lg-left {\\n right: auto;\\n left: 0; }\\n .dropdown-menu-lg-right {\\n right: 0;\\n left: auto; } }\\n\\n@media (min-width: 1200px) {\\n .dropdown-menu-xl-left {\\n right: auto;\\n left: 0; }\\n .dropdown-menu-xl-right {\\n right: 0;\\n left: auto; } }\\n\\n.dropup .dropdown-menu {\\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.dropright .dropdown-menu {\\n top: 0;\\n right: auto;\\n left: 100%;\\n margin-top: 0;\\n margin-left: 0.125rem; }\\n\\n.dropright .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.dropright .dropdown-toggle:empty::after {\\n margin-left: 0; }\\n\\n.dropright .dropdown-toggle::after {\\n vertical-align: 0; }\\n\\n.dropleft .dropdown-menu {\\n top: 0;\\n right: 100%;\\n left: auto;\\n margin-top: 0;\\n margin-right: 0.125rem; }\\n\\n.dropleft .dropdown-toggle::after {\\n display: inline-block;\\n margin-left: 0.255em;\\n vertical-align: 0.255em;\\n content: \\\"\\\"; }\\n\\n.dropleft .dropdown-toggle::after {\\n display: none; }\\n\\n.dropleft .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.dropleft .dropdown-toggle:empty::after {\\n margin-left: 0; }\\n\\n.dropleft .dropdown-toggle::before {\\n vertical-align: 0; }\\n\\n.dropdown-menu[x-placement^=\\\"top\\\"], .dropdown-menu[x-placement^=\\\"right\\\"], .dropdown-menu[x-placement^=\\\"bottom\\\"], .dropdown-menu[x-placement^=\\\"left\\\"] {\\n right: auto;\\n bottom: auto; }\\n\\n.dropdown-divider {\\n height: 0;\\n margin: 0.5rem 0;\\n overflow: hidden;\\n border-top: 1px solid #e9ecef; }\\n\\n.dropdown-item {\\n display: block;\\n width: 100%;\\n padding: 0.25rem 1.5rem;\\n clear: both;\\n font-weight: 400;\\n color: #212529;\\n text-align: inherit;\\n white-space: nowrap;\\n background-color: transparent;\\n border: 0; }\\n\\n.dropdown-item:hover, .dropdown-item:focus {\\n color: #16181b;\\n text-decoration: none;\\n background-color: #f8f9fa; }\\n\\n.dropdown-item.active, .dropdown-item:active {\\n color: #fff;\\n text-decoration: none;\\n background-color: #007bff; }\\n\\n.dropdown-item.disabled, .dropdown-item:disabled {\\n color: #6c757d;\\n pointer-events: none;\\n background-color: transparent; }\\n\\n.dropdown-menu.show {\\n display: block; }\\n\\n.dropdown-header {\\n display: block;\\n padding: 0.5rem 1.5rem;\\n margin-bottom: 0;\\n font-size: 0.875rem;\\n color: #6c757d;\\n white-space: nowrap; }\\n\\n.dropdown-item-text {\\n display: block;\\n padding: 0.25rem 1.5rem;\\n color: #212529; }\\n\\n.form-control {\\n display: block;\\n width: 100%;\\n height: calc(1.5em + 0.75rem + 2px);\\n padding: 0.375rem 0.75rem;\\n font-size: 1rem;\\n font-weight: 400;\\n line-height: 1.5;\\n color: #495057;\\n background-color: #fff;\\n background-clip: padding-box;\\n border: 1px solid #ced4da;\\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.form-control::-ms-expand {\\n background-color: transparent;\\n border: 0; }\\n\\n.form-control:-moz-focusring {\\n color: transparent;\\n text-shadow: 0 0 0 #495057; }\\n\\n.form-control:focus {\\n color: #495057;\\n background-color: #fff;\\n border-color: #80bdff;\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }\\n\\n.form-control::-moz-placeholder {\\n color: #6c757d;\\n opacity: 1; }\\n\\n.form-control:-ms-input-placeholder {\\n color: #6c757d;\\n opacity: 1; }\\n\\n.form-control::-ms-input-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\\ninput[type=\\\"date\\\"].form-control,\\ninput[type=\\\"time\\\"].form-control,\\ninput[type=\\\"datetime-local\\\"].form-control,\\ninput[type=\\\"month\\\"].form-control {\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none; }\\n\\nselect.form-control:focus::-ms-value {\\n color: #495057;\\n background-color: #fff; }\\n\\n.form-control-file,\\n.form-control-range {\\n display: block;\\n width: 100%; }\\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.col-form-label-lg {\\n padding-top: calc(0.5rem + 1px);\\n padding-bottom: calc(0.5rem + 1px);\\n font-size: 1.25rem;\\n line-height: 1.5; }\\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 line-height: 1.5; }\\n\\n.form-control-plaintext {\\n display: block;\\n width: 100%;\\n padding: 0.375rem 0;\\n margin-bottom: 0;\\n font-size: 1rem;\\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.form-control-sm {\\n height: calc(1.5em + 0.5rem + 2px);\\n padding: 0.25rem 0.5rem;\\n font-size: 0.875rem;\\n line-height: 1.5;\\n border-radius: 0.2rem; }\\n\\n.form-control-lg {\\n height: calc(1.5em + 1rem + 2px);\\n padding: 0.5rem 1rem;\\n font-size: 1.25rem;\\n line-height: 1.5;\\n border-radius: 0.3rem; }\\n\\nselect.form-control[size], select.form-control[multiple] {\\n height: auto; }\\n\\ntextarea.form-control {\\n height: auto; }\\n\\n.form-group {\\n margin-bottom: 1rem; }\\n\\n.form-text {\\n display: block;\\n margin-top: 0.25rem; }\\n\\n.form-row {\\n display: flex;\\n flex-wrap: wrap;\\n margin-right: -5px;\\n margin-left: -5px; }\\n\\n.form-row > .col,\\n .form-row > [class*=\\\"col-\\\"] {\\n padding-right: 5px;\\n padding-left: 5px; }\\n\\n.form-check {\\n position: relative;\\n display: block;\\n padding-left: 1.25rem; }\\n\\n.form-check-input {\\n position: absolute;\\n margin-top: 0.3rem;\\n margin-left: -1.25rem; }\\n\\n.form-check-input[disabled] ~ .form-check-label,\\n .form-check-input:disabled ~ .form-check-label {\\n color: #6c757d; }\\n\\n.form-check-label {\\n margin-bottom: 0; }\\n\\n.form-check-inline {\\n display: inline-flex;\\n align-items: center;\\n padding-left: 0;\\n margin-right: 0.75rem; }\\n\\n.form-check-inline .form-check-input {\\n position: static;\\n margin-top: 0;\\n margin-right: 0.3125rem;\\n margin-left: 0; }\\n\\n.valid-feedback {\\n display: none;\\n width: 100%;\\n margin-top: 0.25rem;\\n font-size: 80%;\\n color: #28a745; }\\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: .1rem;\\n font-size: 0.875rem;\\n line-height: 1.5;\\n color: #fff;\\n background-color: rgba(40, 167, 69, 0.9);\\n border-radius: 0.25rem; }\\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.was-validated .form-control:valid, .form-control.is-valid {\\n border-color: #28a745;\\n padding-right: calc(1.5em + 0.75rem);\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' 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: #28a745;\\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }\\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.was-validated .custom-select:valid, .custom-select.is-valid {\\n border-color: #28a745;\\n padding-right: calc(0.75em + 2.3125rem);\\n background: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\\\") no-repeat right 0.75rem center/8px 10px, url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' 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\\\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }\\n\\n.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\\n border-color: #28a745;\\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }\\n\\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\\n color: #28a745; }\\n\\n.was-validated .form-check-input:valid ~ .valid-feedback,\\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\\n.form-check-input.is-valid ~ .valid-tooltip {\\n display: block; }\\n\\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\\n color: #28a745; }\\n\\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\\n border-color: #28a745; }\\n\\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\\n border-color: #34ce57;\\n background-color: #34ce57; }\\n\\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }\\n\\n.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {\\n border-color: #28a745; }\\n\\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\\n border-color: #28a745; }\\n\\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\\n border-color: #28a745;\\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }\\n\\n.invalid-feedback {\\n display: none;\\n width: 100%;\\n margin-top: 0.25rem;\\n font-size: 80%;\\n color: #dc3545; }\\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: .1rem;\\n font-size: 0.875rem;\\n line-height: 1.5;\\n color: #fff;\\n background-color: rgba(220, 53, 69, 0.9);\\n border-radius: 0.25rem; }\\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.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' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%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.2rem rgba(220, 53, 69, 0.25); }\\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.was-validated .custom-select:invalid, .custom-select.is-invalid {\\n border-color: #dc3545;\\n padding-right: calc(0.75em + 2.3125rem);\\n background: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\\\") no-repeat right 0.75rem center/8px 10px, url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%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\\\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }\\n\\n.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\\n border-color: #dc3545;\\n box-shadow: 0 0 0 0.2rem 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.was-validated .form-check-input:invalid ~ .invalid-feedback,\\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\\n.form-check-input.is-invalid ~ .invalid-tooltip {\\n display: block; }\\n\\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\\n color: #dc3545; }\\n\\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\\n border-color: #dc3545; }\\n\\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\\n border-color: #e4606d;\\n background-color: #e4606d; }\\n\\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }\\n\\n.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {\\n border-color: #dc3545; }\\n\\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\\n border-color: #dc3545; }\\n\\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\\n border-color: #dc3545;\\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }\\n\\n.form-inline {\\n display: flex;\\n flex-flow: row wrap;\\n align-items: center; }\\n\\n.form-inline .form-check {\\n width: 100%; }\\n\\n@media (min-width: 576px) {\\n .form-inline label {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n margin-bottom: 0; }\\n .form-inline .form-group {\\n display: flex;\\n flex: 0 0 auto;\\n flex-flow: row wrap;\\n align-items: center;\\n margin-bottom: 0; }\\n .form-inline .form-control {\\n display: inline-block;\\n width: auto;\\n vertical-align: middle; }\\n .form-inline .form-control-plaintext {\\n display: inline-block; }\\n .form-inline .input-group,\\n .form-inline .custom-select {\\n width: auto; }\\n .form-inline .form-check {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: auto;\\n padding-left: 0; }\\n .form-inline .form-check-input {\\n position: relative;\\n flex-shrink: 0;\\n margin-top: 0;\\n margin-right: 0.25rem;\\n margin-left: 0; }\\n .form-inline .custom-control {\\n align-items: center;\\n justify-content: center; }\\n .form-inline .custom-control-label {\\n margin-bottom: 0; } }\\n\\n.container {\\n width: 100%;\\n padding-right: 15px;\\n padding-left: 15px;\\n margin-right: auto;\\n margin-left: auto; }\\n\\n@media (min-width: 576px) {\\n .container {\\n max-width: 540px; } }\\n\\n@media (min-width: 768px) {\\n .container {\\n max-width: 720px; } }\\n\\n@media (min-width: 992px) {\\n .container {\\n max-width: 960px; } }\\n\\n@media (min-width: 1200px) {\\n .container {\\n max-width: 1140px; } }\\n\\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\\n width: 100%;\\n padding-right: 15px;\\n padding-left: 15px;\\n margin-right: auto;\\n margin-left: auto; }\\n\\n@media (min-width: 576px) {\\n .container, .container-sm {\\n max-width: 540px; } }\\n\\n@media (min-width: 768px) {\\n .container, .container-sm, .container-md {\\n max-width: 720px; } }\\n\\n@media (min-width: 992px) {\\n .container, .container-sm, .container-md, .container-lg {\\n max-width: 960px; } }\\n\\n@media (min-width: 1200px) {\\n .container, .container-sm, .container-md, .container-lg, .container-xl {\\n max-width: 1140px; } }\\n\\n.row {\\n display: flex;\\n flex-wrap: wrap;\\n margin-right: -15px;\\n margin-left: -15px; }\\n\\n.no-gutters {\\n margin-right: 0;\\n margin-left: 0; }\\n\\n.no-gutters > .col,\\n .no-gutters > [class*=\\\"col-\\\"] {\\n padding-right: 0;\\n padding-left: 0; }\\n\\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\\n.col-xl-auto {\\n position: relative;\\n width: 100%;\\n padding-right: 15px;\\n padding-left: 15px; }\\n\\n.col {\\n flex-basis: 0;\\n flex-grow: 1;\\n min-width: 0;\\n max-width: 100%; }\\n\\n.row-cols-1 > * {\\n flex: 0 0 100%;\\n max-width: 100%; }\\n\\n.row-cols-2 > * {\\n flex: 0 0 50%;\\n max-width: 50%; }\\n\\n.row-cols-3 > * {\\n flex: 0 0 33.33333%;\\n max-width: 33.33333%; }\\n\\n.row-cols-4 > * {\\n flex: 0 0 25%;\\n max-width: 25%; }\\n\\n.row-cols-5 > * {\\n flex: 0 0 20%;\\n max-width: 20%; }\\n\\n.row-cols-6 > * {\\n flex: 0 0 16.66667%;\\n max-width: 16.66667%; }\\n\\n.col-auto {\\n flex: 0 0 auto;\\n width: auto;\\n max-width: 100%; }\\n\\n.col-1 {\\n flex: 0 0 8.33333%;\\n max-width: 8.33333%; }\\n\\n.col-2 {\\n flex: 0 0 16.66667%;\\n max-width: 16.66667%; }\\n\\n.col-3 {\\n flex: 0 0 25%;\\n max-width: 25%; }\\n\\n.col-4 {\\n flex: 0 0 33.33333%;\\n max-width: 33.33333%; }\\n\\n.col-5 {\\n flex: 0 0 41.66667%;\\n max-width: 41.66667%; }\\n\\n.col-6 {\\n flex: 0 0 50%;\\n max-width: 50%; }\\n\\n.col-7 {\\n flex: 0 0 58.33333%;\\n max-width: 58.33333%; }\\n\\n.col-8 {\\n flex: 0 0 66.66667%;\\n max-width: 66.66667%; }\\n\\n.col-9 {\\n flex: 0 0 75%;\\n max-width: 75%; }\\n\\n.col-10 {\\n flex: 0 0 83.33333%;\\n max-width: 83.33333%; }\\n\\n.col-11 {\\n flex: 0 0 91.66667%;\\n max-width: 91.66667%; }\\n\\n.col-12 {\\n flex: 0 0 100%;\\n max-width: 100%; }\\n\\n.order-first {\\n order: -1; }\\n\\n.order-last {\\n order: 13; }\\n\\n.order-0 {\\n order: 0; }\\n\\n.order-1 {\\n order: 1; }\\n\\n.order-2 {\\n order: 2; }\\n\\n.order-3 {\\n order: 3; }\\n\\n.order-4 {\\n order: 4; }\\n\\n.order-5 {\\n order: 5; }\\n\\n.order-6 {\\n order: 6; }\\n\\n.order-7 {\\n order: 7; }\\n\\n.order-8 {\\n order: 8; }\\n\\n.order-9 {\\n order: 9; }\\n\\n.order-10 {\\n order: 10; }\\n\\n.order-11 {\\n order: 11; }\\n\\n.order-12 {\\n order: 12; }\\n\\n.offset-1 {\\n margin-left: 8.33333%; }\\n\\n.offset-2 {\\n margin-left: 16.66667%; }\\n\\n.offset-3 {\\n margin-left: 25%; }\\n\\n.offset-4 {\\n margin-left: 33.33333%; }\\n\\n.offset-5 {\\n margin-left: 41.66667%; }\\n\\n.offset-6 {\\n margin-left: 50%; }\\n\\n.offset-7 {\\n margin-left: 58.33333%; }\\n\\n.offset-8 {\\n margin-left: 66.66667%; }\\n\\n.offset-9 {\\n margin-left: 75%; }\\n\\n.offset-10 {\\n margin-left: 83.33333%; }\\n\\n.offset-11 {\\n margin-left: 91.66667%; }\\n\\n@media (min-width: 576px) {\\n .col-sm {\\n flex-basis: 0;\\n flex-grow: 1;\\n min-width: 0;\\n max-width: 100%; }\\n .row-cols-sm-1 > * {\\n flex: 0 0 100%;\\n max-width: 100%; }\\n .row-cols-sm-2 > * {\\n flex: 0 0 50%;\\n max-width: 50%; }\\n .row-cols-sm-3 > * {\\n flex: 0 0 33.33333%;\\n max-width: 33.33333%; }\\n .row-cols-sm-4 > * {\\n flex: 0 0 25%;\\n max-width: 25%; }\\n .row-cols-sm-5 > * {\\n flex: 0 0 20%;\\n max-width: 20%; }\\n .row-cols-sm-6 > * {\\n flex: 0 0 16.66667%;\\n max-width: 16.66667%; }\\n .col-sm-auto {\\n flex: 0 0 auto;\\n width: auto;\\n max-width: 100%; }\\n .col-sm-1 {\\n flex: 0 0 8.33333%;\\n max-width: 8.33333%; }\\n .col-sm-2 {\\n flex: 0 0 16.66667%;\\n max-width: 16.66667%; }\\n .col-sm-3 {\\n flex: 0 0 25%;\\n max-width: 25%; }\\n .col-sm-4 {\\n flex: 0 0 33.33333%;\\n max-width: 33.33333%; }\\n .col-sm-5 {\\n flex: 0 0 41.66667%;\\n max-width: 41.66667%; }\\n .col-sm-6 {\\n flex: 0 0 50%;\\n max-width: 50%; }\\n .col-sm-7 {\\n flex: 0 0 58.33333%;\\n max-width: 58.33333%; }\\n .col-sm-8 {\\n flex: 0 0 66.66667%;\\n max-width: 66.66667%; }\\n .col-sm-9 {\\n flex: 0 0 75%;\\n max-width: 75%; }\\n .col-sm-10 {\\n flex: 0 0 83.33333%;\\n max-width: 83.33333%; }\\n .col-sm-11 {\\n flex: 0 0 91.66667%;\\n max-width: 91.66667%; }\\n .col-sm-12 {\\n flex: 0 0 100%;\\n max-width: 100%; }\\n .order-sm-first {\\n order: -1; }\\n .order-sm-last {\\n order: 13; }\\n .order-sm-0 {\\n order: 0; }\\n .order-sm-1 {\\n order: 1; }\\n .order-sm-2 {\\n order: 2; }\\n .order-sm-3 {\\n order: 3; }\\n .order-sm-4 {\\n order: 4; }\\n .order-sm-5 {\\n order: 5; }\\n .order-sm-6 {\\n order: 6; }\\n .order-sm-7 {\\n order: 7; }\\n .order-sm-8 {\\n order: 8; }\\n .order-sm-9 {\\n order: 9; }\\n .order-sm-10 {\\n order: 10; }\\n .order-sm-11 {\\n order: 11; }\\n .order-sm-12 {\\n order: 12; }\\n .offset-sm-0 {\\n margin-left: 0; }\\n .offset-sm-1 {\\n margin-left: 8.33333%; }\\n .offset-sm-2 {\\n margin-left: 16.66667%; }\\n .offset-sm-3 {\\n margin-left: 25%; }\\n .offset-sm-4 {\\n margin-left: 33.33333%; }\\n .offset-sm-5 {\\n margin-left: 41.66667%; }\\n .offset-sm-6 {\\n margin-left: 50%; }\\n .offset-sm-7 {\\n margin-left: 58.33333%; }\\n .offset-sm-8 {\\n margin-left: 66.66667%; }\\n .offset-sm-9 {\\n margin-left: 75%; }\\n .offset-sm-10 {\\n margin-left: 83.33333%; }\\n .offset-sm-11 {\\n margin-left: 91.66667%; } }\\n\\n@media (min-width: 768px) {\\n .col-md {\\n flex-basis: 0;\\n flex-grow: 1;\\n min-width: 0;\\n max-width: 100%; }\\n .row-cols-md-1 > * {\\n flex: 0 0 100%;\\n max-width: 100%; }\\n .row-cols-md-2 > * {\\n flex: 0 0 50%;\\n max-width: 50%; }\\n .row-cols-md-3 > * {\\n flex: 0 0 33.33333%;\\n max-width: 33.33333%; }\\n .row-cols-md-4 > * {\\n flex: 0 0 25%;\\n max-width: 25%; }\\n .row-cols-md-5 > * {\\n flex: 0 0 20%;\\n max-width: 20%; }\\n .row-cols-md-6 > * {\\n flex: 0 0 16.66667%;\\n max-width: 16.66667%; }\\n .col-md-auto {\\n flex: 0 0 auto;\\n width: auto;\\n max-width: 100%; }\\n .col-md-1 {\\n flex: 0 0 8.33333%;\\n max-width: 8.33333%; }\\n .col-md-2 {\\n flex: 0 0 16.66667%;\\n max-width: 16.66667%; }\\n .col-md-3 {\\n flex: 0 0 25%;\\n max-width: 25%; }\\n .col-md-4 {\\n flex: 0 0 33.33333%;\\n max-width: 33.33333%; }\\n .col-md-5 {\\n flex: 0 0 41.66667%;\\n max-width: 41.66667%; }\\n .col-md-6 {\\n flex: 0 0 50%;\\n max-width: 50%; }\\n .col-md-7 {\\n flex: 0 0 58.33333%;\\n max-width: 58.33333%; }\\n .col-md-8 {\\n flex: 0 0 66.66667%;\\n max-width: 66.66667%; }\\n .col-md-9 {\\n flex: 0 0 75%;\\n max-width: 75%; }\\n .col-md-10 {\\n flex: 0 0 83.33333%;\\n max-width: 83.33333%; }\\n .col-md-11 {\\n flex: 0 0 91.66667%;\\n max-width: 91.66667%; }\\n .col-md-12 {\\n flex: 0 0 100%;\\n max-width: 100%; }\\n .order-md-first {\\n order: -1; }\\n .order-md-last {\\n order: 13; }\\n .order-md-0 {\\n order: 0; }\\n .order-md-1 {\\n order: 1; }\\n .order-md-2 {\\n order: 2; }\\n .order-md-3 {\\n order: 3; }\\n .order-md-4 {\\n order: 4; }\\n .order-md-5 {\\n order: 5; }\\n .order-md-6 {\\n order: 6; }\\n .order-md-7 {\\n order: 7; }\\n .order-md-8 {\\n order: 8; }\\n .order-md-9 {\\n order: 9; }\\n .order-md-10 {\\n order: 10; }\\n .order-md-11 {\\n order: 11; }\\n .order-md-12 {\\n order: 12; }\\n .offset-md-0 {\\n margin-left: 0; }\\n .offset-md-1 {\\n margin-left: 8.33333%; }\\n .offset-md-2 {\\n margin-left: 16.66667%; }\\n .offset-md-3 {\\n margin-left: 25%; }\\n .offset-md-4 {\\n margin-left: 33.33333%; }\\n .offset-md-5 {\\n margin-left: 41.66667%; }\\n .offset-md-6 {\\n margin-left: 50%; }\\n .offset-md-7 {\\n margin-left: 58.33333%; }\\n .offset-md-8 {\\n margin-left: 66.66667%; }\\n .offset-md-9 {\\n margin-left: 75%; }\\n .offset-md-10 {\\n margin-left: 83.33333%; }\\n .offset-md-11 {\\n margin-left: 91.66667%; } }\\n\\n@media (min-width: 992px) {\\n .col-lg {\\n flex-basis: 0;\\n flex-grow: 1;\\n min-width: 0;\\n max-width: 100%; }\\n .row-cols-lg-1 > * {\\n flex: 0 0 100%;\\n max-width: 100%; }\\n .row-cols-lg-2 > * {\\n flex: 0 0 50%;\\n max-width: 50%; }\\n .row-cols-lg-3 > * {\\n flex: 0 0 33.33333%;\\n max-width: 33.33333%; }\\n .row-cols-lg-4 > * {\\n flex: 0 0 25%;\\n max-width: 25%; }\\n .row-cols-lg-5 > * {\\n flex: 0 0 20%;\\n max-width: 20%; }\\n .row-cols-lg-6 > * {\\n flex: 0 0 16.66667%;\\n max-width: 16.66667%; }\\n .col-lg-auto {\\n flex: 0 0 auto;\\n width: auto;\\n max-width: 100%; }\\n .col-lg-1 {\\n flex: 0 0 8.33333%;\\n max-width: 8.33333%; }\\n .col-lg-2 {\\n flex: 0 0 16.66667%;\\n max-width: 16.66667%; }\\n .col-lg-3 {\\n flex: 0 0 25%;\\n max-width: 25%; }\\n .col-lg-4 {\\n flex: 0 0 33.33333%;\\n max-width: 33.33333%; }\\n .col-lg-5 {\\n flex: 0 0 41.66667%;\\n max-width: 41.66667%; }\\n .col-lg-6 {\\n flex: 0 0 50%;\\n max-width: 50%; }\\n .col-lg-7 {\\n flex: 0 0 58.33333%;\\n max-width: 58.33333%; }\\n .col-lg-8 {\\n flex: 0 0 66.66667%;\\n max-width: 66.66667%; }\\n .col-lg-9 {\\n flex: 0 0 75%;\\n max-width: 75%; }\\n .col-lg-10 {\\n flex: 0 0 83.33333%;\\n max-width: 83.33333%; }\\n .col-lg-11 {\\n flex: 0 0 91.66667%;\\n max-width: 91.66667%; }\\n .col-lg-12 {\\n flex: 0 0 100%;\\n max-width: 100%; }\\n .order-lg-first {\\n order: -1; }\\n .order-lg-last {\\n order: 13; }\\n .order-lg-0 {\\n order: 0; }\\n .order-lg-1 {\\n order: 1; }\\n .order-lg-2 {\\n order: 2; }\\n .order-lg-3 {\\n order: 3; }\\n .order-lg-4 {\\n order: 4; }\\n .order-lg-5 {\\n order: 5; }\\n .order-lg-6 {\\n order: 6; }\\n .order-lg-7 {\\n order: 7; }\\n .order-lg-8 {\\n order: 8; }\\n .order-lg-9 {\\n order: 9; }\\n .order-lg-10 {\\n order: 10; }\\n .order-lg-11 {\\n order: 11; }\\n .order-lg-12 {\\n order: 12; }\\n .offset-lg-0 {\\n margin-left: 0; }\\n .offset-lg-1 {\\n margin-left: 8.33333%; }\\n .offset-lg-2 {\\n margin-left: 16.66667%; }\\n .offset-lg-3 {\\n margin-left: 25%; }\\n .offset-lg-4 {\\n margin-left: 33.33333%; }\\n .offset-lg-5 {\\n margin-left: 41.66667%; }\\n .offset-lg-6 {\\n margin-left: 50%; }\\n .offset-lg-7 {\\n margin-left: 58.33333%; }\\n .offset-lg-8 {\\n margin-left: 66.66667%; }\\n .offset-lg-9 {\\n margin-left: 75%; }\\n .offset-lg-10 {\\n margin-left: 83.33333%; }\\n .offset-lg-11 {\\n margin-left: 91.66667%; } }\\n\\n@media (min-width: 1200px) {\\n .col-xl {\\n flex-basis: 0;\\n flex-grow: 1;\\n min-width: 0;\\n max-width: 100%; }\\n .row-cols-xl-1 > * {\\n flex: 0 0 100%;\\n max-width: 100%; }\\n .row-cols-xl-2 > * {\\n flex: 0 0 50%;\\n max-width: 50%; }\\n .row-cols-xl-3 > * {\\n flex: 0 0 33.33333%;\\n max-width: 33.33333%; }\\n .row-cols-xl-4 > * {\\n flex: 0 0 25%;\\n max-width: 25%; }\\n .row-cols-xl-5 > * {\\n flex: 0 0 20%;\\n max-width: 20%; }\\n .row-cols-xl-6 > * {\\n flex: 0 0 16.66667%;\\n max-width: 16.66667%; }\\n .col-xl-auto {\\n flex: 0 0 auto;\\n width: auto;\\n max-width: 100%; }\\n .col-xl-1 {\\n flex: 0 0 8.33333%;\\n max-width: 8.33333%; }\\n .col-xl-2 {\\n flex: 0 0 16.66667%;\\n max-width: 16.66667%; }\\n .col-xl-3 {\\n flex: 0 0 25%;\\n max-width: 25%; }\\n .col-xl-4 {\\n flex: 0 0 33.33333%;\\n max-width: 33.33333%; }\\n .col-xl-5 {\\n flex: 0 0 41.66667%;\\n max-width: 41.66667%; }\\n .col-xl-6 {\\n flex: 0 0 50%;\\n max-width: 50%; }\\n .col-xl-7 {\\n flex: 0 0 58.33333%;\\n max-width: 58.33333%; }\\n .col-xl-8 {\\n flex: 0 0 66.66667%;\\n max-width: 66.66667%; }\\n .col-xl-9 {\\n flex: 0 0 75%;\\n max-width: 75%; }\\n .col-xl-10 {\\n flex: 0 0 83.33333%;\\n max-width: 83.33333%; }\\n .col-xl-11 {\\n flex: 0 0 91.66667%;\\n max-width: 91.66667%; }\\n .col-xl-12 {\\n flex: 0 0 100%;\\n max-width: 100%; }\\n .order-xl-first {\\n order: -1; }\\n .order-xl-last {\\n order: 13; }\\n .order-xl-0 {\\n order: 0; }\\n .order-xl-1 {\\n order: 1; }\\n .order-xl-2 {\\n order: 2; }\\n .order-xl-3 {\\n order: 3; }\\n .order-xl-4 {\\n order: 4; }\\n .order-xl-5 {\\n order: 5; }\\n .order-xl-6 {\\n order: 6; }\\n .order-xl-7 {\\n order: 7; }\\n .order-xl-8 {\\n order: 8; }\\n .order-xl-9 {\\n order: 9; }\\n .order-xl-10 {\\n order: 10; }\\n .order-xl-11 {\\n order: 11; }\\n .order-xl-12 {\\n order: 12; }\\n .offset-xl-0 {\\n margin-left: 0; }\\n .offset-xl-1 {\\n margin-left: 8.33333%; }\\n .offset-xl-2 {\\n margin-left: 16.66667%; }\\n .offset-xl-3 {\\n margin-left: 25%; }\\n .offset-xl-4 {\\n margin-left: 33.33333%; }\\n .offset-xl-5 {\\n margin-left: 41.66667%; }\\n .offset-xl-6 {\\n margin-left: 50%; }\\n .offset-xl-7 {\\n margin-left: 58.33333%; }\\n .offset-xl-8 {\\n margin-left: 66.66667%; }\\n .offset-xl-9 {\\n margin-left: 75%; }\\n .offset-xl-10 {\\n margin-left: 83.33333%; }\\n .offset-xl-11 {\\n margin-left: 91.66667%; } }\\n\\n.img-fluid {\\n max-width: 100%;\\n height: auto; }\\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.figure {\\n display: inline-block; }\\n\\n.figure-img {\\n margin-bottom: 0.5rem;\\n line-height: 1; }\\n\\n.figure-caption {\\n font-size: 90%;\\n color: #6c757d; }\\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-control-plaintext,\\n .input-group > .custom-select,\\n .input-group > .custom-file {\\n position: relative;\\n flex: 1 1 auto;\\n width: 1%;\\n min-width: 0;\\n margin-bottom: 0; }\\n\\n.input-group > .form-control + .form-control,\\n .input-group > .form-control + .custom-select,\\n .input-group > .form-control + .custom-file,\\n .input-group > .form-control-plaintext + .form-control,\\n .input-group > .form-control-plaintext + .custom-select,\\n .input-group > .form-control-plaintext + .custom-file,\\n .input-group > .custom-select + .form-control,\\n .input-group > .custom-select + .custom-select,\\n .input-group > .custom-select + .custom-file,\\n .input-group > .custom-file + .form-control,\\n .input-group > .custom-file + .custom-select,\\n .input-group > .custom-file + .custom-file {\\n margin-left: -1px; }\\n\\n.input-group > .form-control:focus,\\n .input-group > .custom-select:focus,\\n .input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\\n z-index: 3; }\\n\\n.input-group > .custom-file .custom-file-input:focus {\\n z-index: 4; }\\n\\n.input-group > .form-control:not(:last-child),\\n .input-group > .custom-select:not(:last-child) {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0; }\\n\\n.input-group > .form-control:not(:first-child),\\n .input-group > .custom-select:not(:first-child) {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0; }\\n\\n.input-group > .custom-file {\\n display: flex;\\n align-items: center; }\\n\\n.input-group > .custom-file:not(:last-child) .custom-file-label,\\n .input-group > .custom-file:not(:last-child) .custom-file-label::after {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0; }\\n\\n.input-group > .custom-file:not(:first-child) .custom-file-label {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0; }\\n\\n.input-group-prepend,\\n.input-group-append {\\n display: flex; }\\n\\n.input-group-prepend .btn,\\n .input-group-append .btn {\\n position: relative;\\n z-index: 2; }\\n\\n.input-group-prepend .btn:focus,\\n .input-group-append .btn:focus {\\n z-index: 3; }\\n\\n.input-group-prepend .btn + .btn,\\n .input-group-prepend .btn + .input-group-text,\\n .input-group-prepend .input-group-text + .input-group-text,\\n .input-group-prepend .input-group-text + .btn,\\n .input-group-append .btn + .btn,\\n .input-group-append .btn + .input-group-text,\\n .input-group-append .input-group-text + .input-group-text,\\n .input-group-append .input-group-text + .btn {\\n margin-left: -1px; }\\n\\n.input-group-prepend {\\n margin-right: -1px; }\\n\\n.input-group-append {\\n margin-left: -1px; }\\n\\n.input-group-text {\\n display: flex;\\n align-items: center;\\n padding: 0.375rem 0.75rem;\\n margin-bottom: 0;\\n font-size: 1rem;\\n font-weight: 400;\\n line-height: 1.5;\\n color: #495057;\\n text-align: center;\\n white-space: nowrap;\\n background-color: #e9ecef;\\n border: 1px solid #ced4da;\\n border-radius: 0.25rem; }\\n\\n.input-group-text input[type=\\\"radio\\\"],\\n .input-group-text input[type=\\\"checkbox\\\"] {\\n margin-top: 0; }\\n\\n.input-group-lg > .form-control:not(textarea),\\n.input-group-lg > .custom-select {\\n height: calc(1.5em + 1rem + 2px); }\\n\\n.input-group-lg > .form-control,\\n.input-group-lg > .custom-select,\\n.input-group-lg > .input-group-prepend > .input-group-text,\\n.input-group-lg > .input-group-append > .input-group-text,\\n.input-group-lg > .input-group-prepend > .btn,\\n.input-group-lg > .input-group-append > .btn {\\n padding: 0.5rem 1rem;\\n font-size: 1.25rem;\\n line-height: 1.5;\\n border-radius: 0.3rem; }\\n\\n.input-group-sm > .form-control:not(textarea),\\n.input-group-sm > .custom-select {\\n height: calc(1.5em + 0.5rem + 2px); }\\n\\n.input-group-sm > .form-control,\\n.input-group-sm > .custom-select,\\n.input-group-sm > .input-group-prepend > .input-group-text,\\n.input-group-sm > .input-group-append > .input-group-text,\\n.input-group-sm > .input-group-prepend > .btn,\\n.input-group-sm > .input-group-append > .btn {\\n padding: 0.25rem 0.5rem;\\n font-size: 0.875rem;\\n line-height: 1.5;\\n border-radius: 0.2rem; }\\n\\n.input-group-lg > .custom-select,\\n.input-group-sm > .custom-select {\\n padding-right: 1.75rem; }\\n\\n.input-group > .input-group-prepend > .btn,\\n.input-group > .input-group-prepend > .input-group-text,\\n.input-group > .input-group-append:not(:last-child) > .btn,\\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0; }\\n\\n.input-group > .input-group-append > .btn,\\n.input-group > .input-group-append > .input-group-text,\\n.input-group > .input-group-prepend:not(:first-child) > .btn,\\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0; }\\n\\n.jumbotron {\\n padding: 2rem 1rem;\\n margin-bottom: 2rem;\\n background-color: #e9ecef;\\n border-radius: 0.3rem; }\\n\\n@media (min-width: 576px) {\\n .jumbotron {\\n padding: 4rem 2rem; } }\\n\\n.jumbotron-fluid {\\n padding-right: 0;\\n padding-left: 0;\\n border-radius: 0; }\\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.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.list-group-item {\\n position: relative;\\n display: block;\\n padding: 0.75rem 1.25rem;\\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: #007bff;\\n border-color: #007bff; }\\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.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@media (min-width: 576px) {\\n .list-group-horizontal-sm {\\n flex-direction: row; }\\n .list-group-horizontal-sm > .list-group-item:first-child {\\n border-bottom-left-radius: 0.25rem;\\n border-top-right-radius: 0; }\\n .list-group-horizontal-sm > .list-group-item:last-child {\\n border-top-right-radius: 0.25rem;\\n border-bottom-left-radius: 0; }\\n .list-group-horizontal-sm > .list-group-item.active {\\n margin-top: 0; }\\n .list-group-horizontal-sm > .list-group-item + .list-group-item {\\n border-top-width: 1px;\\n border-left-width: 0; }\\n .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\\n margin-left: -1px;\\n border-left-width: 1px; } }\\n\\n@media (min-width: 768px) {\\n .list-group-horizontal-md {\\n flex-direction: row; }\\n .list-group-horizontal-md > .list-group-item:first-child {\\n border-bottom-left-radius: 0.25rem;\\n border-top-right-radius: 0; }\\n .list-group-horizontal-md > .list-group-item:last-child {\\n border-top-right-radius: 0.25rem;\\n border-bottom-left-radius: 0; }\\n .list-group-horizontal-md > .list-group-item.active {\\n margin-top: 0; }\\n .list-group-horizontal-md > .list-group-item + .list-group-item {\\n border-top-width: 1px;\\n border-left-width: 0; }\\n .list-group-horizontal-md > .list-group-item + .list-group-item.active {\\n margin-left: -1px;\\n border-left-width: 1px; } }\\n\\n@media (min-width: 992px) {\\n .list-group-horizontal-lg {\\n flex-direction: row; }\\n .list-group-horizontal-lg > .list-group-item:first-child {\\n border-bottom-left-radius: 0.25rem;\\n border-top-right-radius: 0; }\\n .list-group-horizontal-lg > .list-group-item:last-child {\\n border-top-right-radius: 0.25rem;\\n border-bottom-left-radius: 0; }\\n .list-group-horizontal-lg > .list-group-item.active {\\n margin-top: 0; }\\n .list-group-horizontal-lg > .list-group-item + .list-group-item {\\n border-top-width: 1px;\\n border-left-width: 0; }\\n .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\\n margin-left: -1px;\\n border-left-width: 1px; } }\\n\\n@media (min-width: 1200px) {\\n .list-group-horizontal-xl {\\n flex-direction: row; }\\n .list-group-horizontal-xl > .list-group-item:first-child {\\n border-bottom-left-radius: 0.25rem;\\n border-top-right-radius: 0; }\\n .list-group-horizontal-xl > .list-group-item:last-child {\\n border-top-right-radius: 0.25rem;\\n border-bottom-left-radius: 0; }\\n .list-group-horizontal-xl > .list-group-item.active {\\n margin-top: 0; }\\n .list-group-horizontal-xl > .list-group-item + .list-group-item {\\n border-top-width: 1px;\\n border-left-width: 0; }\\n .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\\n margin-left: -1px;\\n border-left-width: 1px; } }\\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.list-group-item-primary {\\n color: #004085;\\n background-color: #b8daff; }\\n\\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\\n color: #004085;\\n background-color: #9fcdff; }\\n\\n.list-group-item-primary.list-group-item-action.active {\\n color: #fff;\\n background-color: #004085;\\n border-color: #004085; }\\n\\n.list-group-item-secondary {\\n color: #383d41;\\n background-color: #d6d8db; }\\n\\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\\n color: #383d41;\\n background-color: #c8cbcf; }\\n\\n.list-group-item-secondary.list-group-item-action.active {\\n color: #fff;\\n background-color: #383d41;\\n border-color: #383d41; }\\n\\n.list-group-item-success {\\n color: #155724;\\n background-color: #c3e6cb; }\\n\\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\\n color: #155724;\\n background-color: #b1dfbb; }\\n\\n.list-group-item-success.list-group-item-action.active {\\n color: #fff;\\n background-color: #155724;\\n border-color: #155724; }\\n\\n.list-group-item-info {\\n color: #0c5460;\\n background-color: #bee5eb; }\\n\\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\\n color: #0c5460;\\n background-color: #abdde5; }\\n\\n.list-group-item-info.list-group-item-action.active {\\n color: #fff;\\n background-color: #0c5460;\\n border-color: #0c5460; }\\n\\n.list-group-item-warning {\\n color: #856404;\\n background-color: #ffeeba; }\\n\\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\\n color: #856404;\\n background-color: #ffe8a1; }\\n\\n.list-group-item-warning.list-group-item-action.active {\\n color: #fff;\\n background-color: #856404;\\n border-color: #856404; }\\n\\n.list-group-item-danger {\\n color: #721c24;\\n background-color: #f5c6cb; }\\n\\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\\n color: #721c24;\\n background-color: #f1b0b7; }\\n\\n.list-group-item-danger.list-group-item-action.active {\\n color: #fff;\\n background-color: #721c24;\\n border-color: #721c24; }\\n\\n.list-group-item-light {\\n color: #818182;\\n background-color: #fdfdfe; }\\n\\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\\n color: #818182;\\n background-color: #ececf6; }\\n\\n.list-group-item-light.list-group-item-action.active {\\n color: #fff;\\n background-color: #818182;\\n border-color: #818182; }\\n\\n.list-group-item-dark {\\n color: #1b1e21;\\n background-color: #c6c8ca; }\\n\\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\\n color: #1b1e21;\\n background-color: #b9bbbe; }\\n\\n.list-group-item-dark.list-group-item-action.active {\\n color: #fff;\\n background-color: #1b1e21;\\n border-color: #1b1e21; }\\n\\n.media {\\n display: flex;\\n align-items: flex-start; }\\n\\n.media-body {\\n flex: 1 1; }\\n\\n.modal-open {\\n overflow: hidden; }\\n\\n.modal-open .modal {\\n overflow-x: hidden;\\n overflow-y: auto; }\\n\\n.modal {\\n position: fixed;\\n top: 0;\\n left: 0;\\n z-index: 1050;\\n display: none;\\n width: 100%;\\n height: 100%;\\n overflow: hidden;\\n outline: 0; }\\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.modal.show .modal-dialog {\\n transform: none; }\\n\\n.modal.modal-static .modal-dialog {\\n transform: scale(1.02); }\\n\\n.modal-dialog-scrollable {\\n display: flex;\\n max-height: calc(100% - 1rem); }\\n\\n.modal-dialog-scrollable .modal-content {\\n max-height: calc(100vh - 1rem);\\n overflow: hidden; }\\n\\n.modal-dialog-scrollable .modal-header,\\n .modal-dialog-scrollable .modal-footer {\\n flex-shrink: 0; }\\n\\n.modal-dialog-scrollable .modal-body {\\n overflow-y: auto; }\\n\\n.modal-dialog-centered {\\n display: flex;\\n align-items: center;\\n min-height: calc(100% - 1rem); }\\n\\n.modal-dialog-centered::before {\\n display: block;\\n height: calc(100vh - 1rem);\\n height: -webkit-min-content;\\n height: -moz-min-content;\\n height: min-content;\\n content: \\\"\\\"; }\\n\\n.modal-dialog-centered.modal-dialog-scrollable {\\n flex-direction: column;\\n justify-content: center;\\n height: 100%; }\\n\\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\\n max-height: none; }\\n\\n.modal-dialog-centered.modal-dialog-scrollable::before {\\n content: none; }\\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.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.modal-header {\\n display: flex;\\n align-items: flex-start;\\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 .close {\\n padding: 1rem 1rem;\\n margin: -1rem -1rem -1rem auto; }\\n\\n.modal-title {\\n margin-bottom: 0;\\n line-height: 1.5; }\\n\\n.modal-body {\\n position: relative;\\n flex: 1 1 auto;\\n padding: 1rem; }\\n\\n.modal-footer {\\n display: flex;\\n flex-wrap: wrap;\\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.modal-scrollbar-measure {\\n position: absolute;\\n top: -9999px;\\n width: 50px;\\n height: 50px;\\n overflow: scroll; }\\n\\n@media (min-width: 576px) {\\n .modal-dialog {\\n max-width: 500px;\\n margin: 1.75rem auto; }\\n .modal-dialog-scrollable {\\n max-height: calc(100% - 3.5rem); }\\n .modal-dialog-scrollable .modal-content {\\n max-height: calc(100vh - 3.5rem); }\\n .modal-dialog-centered {\\n min-height: calc(100% - 3.5rem); }\\n .modal-dialog-centered::before {\\n height: calc(100vh - 3.5rem);\\n height: -webkit-min-content;\\n height: -moz-min-content;\\n height: min-content; }\\n .modal-sm {\\n max-width: 300px; } }\\n\\n@media (min-width: 992px) {\\n .modal-lg,\\n .modal-xl {\\n max-width: 800px; } }\\n\\n@media (min-width: 1200px) {\\n .modal-xl {\\n max-width: 1140px; } }\\n\\n.nav {\\n display: flex;\\n flex-wrap: wrap;\\n padding-left: 0;\\n margin-bottom: 0;\\n list-style: none; }\\n\\n.nav-link {\\n display: block;\\n padding: 0.5rem 1rem; }\\n\\n.nav-link:hover, .nav-link:focus {\\n text-decoration: none; }\\n\\n.nav-link.disabled {\\n color: #6c757d;\\n pointer-events: none;\\n cursor: default; }\\n\\n.nav-tabs {\\n border-bottom: 1px solid #dee2e6; }\\n\\n.nav-tabs .nav-item {\\n margin-bottom: -1px; }\\n\\n.nav-tabs .nav-link {\\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\\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.nav-pills .nav-link {\\n border-radius: 0.25rem; }\\n\\n.nav-pills .nav-link.active,\\n.nav-pills .show > .nav-link {\\n color: #fff;\\n background-color: #007bff; }\\n\\n.nav-fill .nav-item {\\n flex: 1 1 auto;\\n text-align: center; }\\n\\n.nav-justified .nav-item {\\n flex-basis: 0;\\n flex-grow: 1;\\n text-align: center; }\\n\\n.tab-content > .tab-pane {\\n display: none; }\\n\\n.tab-content > .active {\\n display: block; }\\n\\n.navbar {\\n position: relative;\\n display: flex;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: space-between;\\n padding: 0.5rem 1rem; }\\n\\n.navbar .container,\\n .navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {\\n display: flex;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: space-between; }\\n\\n.navbar-brand {\\n display: inline-block;\\n padding-top: 0.3125rem;\\n padding-bottom: 0.3125rem;\\n margin-right: 1rem;\\n font-size: 1.25rem;\\n line-height: inherit;\\n white-space: nowrap; }\\n\\n.navbar-brand:hover, .navbar-brand:focus {\\n text-decoration: none; }\\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 float: none; }\\n\\n.navbar-text {\\n display: inline-block;\\n padding-top: 0.5rem;\\n padding-bottom: 0.5rem; }\\n\\n.navbar-collapse {\\n flex-basis: 100%;\\n flex-grow: 1;\\n align-items: center; }\\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\\n.navbar-toggler:hover, .navbar-toggler:focus {\\n text-decoration: none; }\\n\\n.navbar-toggler-icon {\\n display: inline-block;\\n width: 1.5em;\\n height: 1.5em;\\n vertical-align: middle;\\n content: \\\"\\\";\\n background: no-repeat center center;\\n background-size: 100% 100%; }\\n\\n@media (max-width: 575.98px) {\\n .navbar-expand-sm > .container,\\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\\n padding-right: 0;\\n padding-left: 0; } }\\n\\n@media (min-width: 576px) {\\n .navbar-expand-sm {\\n flex-flow: row nowrap;\\n justify-content: flex-start; }\\n .navbar-expand-sm .navbar-nav {\\n flex-direction: row; }\\n .navbar-expand-sm .navbar-nav .dropdown-menu {\\n position: absolute; }\\n .navbar-expand-sm .navbar-nav .nav-link {\\n padding-right: 0.5rem;\\n padding-left: 0.5rem; }\\n .navbar-expand-sm > .container,\\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\\n flex-wrap: nowrap; }\\n .navbar-expand-sm .navbar-collapse {\\n display: flex !important;\\n flex-basis: auto; }\\n .navbar-expand-sm .navbar-toggler {\\n display: none; } }\\n\\n@media (max-width: 767.98px) {\\n .navbar-expand-md > .container,\\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\\n padding-right: 0;\\n padding-left: 0; } }\\n\\n@media (min-width: 768px) {\\n .navbar-expand-md {\\n flex-flow: row nowrap;\\n justify-content: flex-start; }\\n .navbar-expand-md .navbar-nav {\\n flex-direction: row; }\\n .navbar-expand-md .navbar-nav .dropdown-menu {\\n position: absolute; }\\n .navbar-expand-md .navbar-nav .nav-link {\\n padding-right: 0.5rem;\\n padding-left: 0.5rem; }\\n .navbar-expand-md > .container,\\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\\n flex-wrap: nowrap; }\\n .navbar-expand-md .navbar-collapse {\\n display: flex !important;\\n flex-basis: auto; }\\n .navbar-expand-md .navbar-toggler {\\n display: none; } }\\n\\n@media (max-width: 991.98px) {\\n .navbar-expand-lg > .container,\\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\\n padding-right: 0;\\n padding-left: 0; } }\\n\\n@media (min-width: 992px) {\\n .navbar-expand-lg {\\n flex-flow: row nowrap;\\n justify-content: flex-start; }\\n .navbar-expand-lg .navbar-nav {\\n flex-direction: row; }\\n .navbar-expand-lg .navbar-nav .dropdown-menu {\\n position: absolute; }\\n .navbar-expand-lg .navbar-nav .nav-link {\\n padding-right: 0.5rem;\\n padding-left: 0.5rem; }\\n .navbar-expand-lg > .container,\\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\\n flex-wrap: nowrap; }\\n .navbar-expand-lg .navbar-collapse {\\n display: flex !important;\\n flex-basis: auto; }\\n .navbar-expand-lg .navbar-toggler {\\n display: none; } }\\n\\n@media (max-width: 1199.98px) {\\n .navbar-expand-xl > .container,\\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\\n padding-right: 0;\\n padding-left: 0; } }\\n\\n@media (min-width: 1200px) {\\n .navbar-expand-xl {\\n flex-flow: row nowrap;\\n justify-content: flex-start; }\\n .navbar-expand-xl .navbar-nav {\\n flex-direction: row; }\\n .navbar-expand-xl .navbar-nav .dropdown-menu {\\n position: absolute; }\\n .navbar-expand-xl .navbar-nav .nav-link {\\n padding-right: 0.5rem;\\n padding-left: 0.5rem; }\\n .navbar-expand-xl > .container,\\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\\n flex-wrap: nowrap; }\\n .navbar-expand-xl .navbar-collapse {\\n display: flex !important;\\n flex-basis: auto; }\\n .navbar-expand-xl .navbar-toggler {\\n display: none; } }\\n\\n.navbar-expand {\\n flex-flow: row nowrap;\\n justify-content: flex-start; }\\n\\n.navbar-expand > .container,\\n .navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\\n padding-right: 0;\\n padding-left: 0; }\\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 > .container,\\n .navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\\n flex-wrap: nowrap; }\\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.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.5); }\\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 .active > .nav-link,\\n.navbar-light .navbar-nav .nav-link.show,\\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.5);\\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' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%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.5); }\\n\\n.navbar-light .navbar-text a {\\n color: rgba(0, 0, 0, 0.9); }\\n\\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\\n color: rgba(0, 0, 0, 0.9); }\\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.5); }\\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 .active > .nav-link,\\n.navbar-dark .navbar-nav .nav-link.show,\\n.navbar-dark .navbar-nav .nav-link.active {\\n color: #fff; }\\n\\n.navbar-dark .navbar-toggler {\\n color: rgba(255, 255, 255, 0.5);\\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' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%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.5); }\\n\\n.navbar-dark .navbar-text a {\\n color: #fff; }\\n\\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\\n color: #fff; }\\n\\n.pagination {\\n display: flex;\\n padding-left: 0;\\n list-style: none;\\n border-radius: 0.25rem; }\\n\\n.page-link {\\n position: relative;\\n display: block;\\n padding: 0.5rem 0.75rem;\\n margin-left: -1px;\\n line-height: 1.25;\\n color: #007bff;\\n background-color: #fff;\\n border: 1px solid #dee2e6; }\\n\\n.page-link:hover {\\n z-index: 2;\\n color: #0056b3;\\n text-decoration: none;\\n background-color: #e9ecef;\\n border-color: #dee2e6; }\\n\\n.page-link:focus {\\n z-index: 3;\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }\\n\\n.page-item:first-child .page-link {\\n margin-left: 0;\\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.page-item.active .page-link {\\n z-index: 3;\\n color: #fff;\\n background-color: #007bff;\\n border-color: #007bff; }\\n\\n.page-item.disabled .page-link {\\n color: #6c757d;\\n pointer-events: none;\\n cursor: auto;\\n background-color: #fff;\\n border-color: #dee2e6; }\\n\\n.pagination-lg .page-link {\\n padding: 0.75rem 1.5rem;\\n font-size: 1.25rem;\\n line-height: 1.5; }\\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.pagination-sm .page-link {\\n padding: 0.25rem 0.5rem;\\n font-size: 0.875rem;\\n line-height: 1.5; }\\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.popover {\\n position: absolute;\\n top: 0;\\n left: 0;\\n z-index: 1060;\\n display: block;\\n max-width: 276px;\\n font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\";\\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 .arrow {\\n position: absolute;\\n display: block;\\n width: 1rem;\\n height: 0.5rem;\\n margin: 0 0.3rem; }\\n\\n.popover .arrow::before, .popover .arrow::after {\\n position: absolute;\\n display: block;\\n content: \\\"\\\";\\n border-color: transparent;\\n border-style: solid; }\\n\\n.bs-popover-top, .bs-popover-auto[x-placement^=\\\"top\\\"] {\\n margin-bottom: 0.5rem; }\\n\\n.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=\\\"top\\\"] > .arrow {\\n bottom: calc(-0.5rem - 1px); }\\n\\n.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\\\"top\\\"] > .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 > .arrow::after, .bs-popover-auto[x-placement^=\\\"top\\\"] > .arrow::after {\\n bottom: 1px;\\n border-width: 0.5rem 0.5rem 0;\\n border-top-color: #fff; }\\n\\n.bs-popover-right, .bs-popover-auto[x-placement^=\\\"right\\\"] {\\n margin-left: 0.5rem; }\\n\\n.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=\\\"right\\\"] > .arrow {\\n left: calc(-0.5rem - 1px);\\n width: 0.5rem;\\n height: 1rem;\\n margin: 0.3rem 0; }\\n\\n.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=\\\"right\\\"] > .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-right > .arrow::after, .bs-popover-auto[x-placement^=\\\"right\\\"] > .arrow::after {\\n left: 1px;\\n border-width: 0.5rem 0.5rem 0.5rem 0;\\n border-right-color: #fff; }\\n\\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\\\"bottom\\\"] {\\n margin-top: 0.5rem; }\\n\\n.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=\\\"bottom\\\"] > .arrow {\\n top: calc(-0.5rem - 1px); }\\n\\n.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\\\"bottom\\\"] > .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 > .arrow::after, .bs-popover-auto[x-placement^=\\\"bottom\\\"] > .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[x-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 #f7f7f7; }\\n\\n.bs-popover-left, .bs-popover-auto[x-placement^=\\\"left\\\"] {\\n margin-right: 0.5rem; }\\n\\n.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=\\\"left\\\"] > .arrow {\\n right: calc(-0.5rem - 1px);\\n width: 0.5rem;\\n height: 1rem;\\n margin: 0.3rem 0; }\\n\\n.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=\\\"left\\\"] > .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-left > .arrow::after, .bs-popover-auto[x-placement^=\\\"left\\\"] > .arrow::after {\\n right: 1px;\\n border-width: 0.5rem 0 0.5rem 0.5rem;\\n border-left-color: #fff; }\\n\\n.popover-header {\\n padding: 0.5rem 0.75rem;\\n margin-bottom: 0;\\n font-size: 1rem;\\n background-color: #f7f7f7;\\n border-bottom: 1px solid #ebebeb;\\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.popover-body {\\n padding: 0.5rem 0.75rem;\\n color: #212529; }\\n\\n@media print {\\n *,\\n *::before,\\n *::after {\\n text-shadow: none !important;\\n box-shadow: none !important; }\\n a:not(.btn) {\\n text-decoration: underline; }\\n abbr[title]::after {\\n content: \\\" (\\\" attr(title) \\\")\\\"; }\\n pre {\\n white-space: pre-wrap !important; }\\n pre,\\n blockquote {\\n border: 1px solid #adb5bd;\\n page-break-inside: avoid; }\\n thead {\\n display: table-header-group; }\\n tr,\\n img {\\n page-break-inside: avoid; }\\n p,\\n h2,\\n h3 {\\n orphans: 3;\\n widows: 3; }\\n h2,\\n h3 {\\n page-break-after: avoid; }\\n @page {\\n size: a3; }\\n body {\\n min-width: 992px !important; }\\n .container {\\n min-width: 992px !important; }\\n .navbar {\\n display: none; }\\n .badge {\\n border: 1px solid #000; }\\n .table {\\n border-collapse: collapse !important; }\\n .table td,\\n .table th {\\n background-color: #fff !important; }\\n .table-bordered th,\\n .table-bordered td {\\n border: 1px solid #dee2e6 !important; }\\n .table-dark {\\n color: inherit; }\\n .table-dark th,\\n .table-dark td,\\n .table-dark thead th,\\n .table-dark tbody + tbody {\\n border-color: #dee2e6; }\\n .table .thead-dark th {\\n color: inherit;\\n border-color: #dee2e6; } }\\n\\n@-webkit-keyframes progress-bar-stripes {\\n from {\\n background-position: 1rem 0; }\\n to {\\n background-position: 0 0; } }\\n\\n@keyframes progress-bar-stripes {\\n from {\\n background-position: 1rem 0; }\\n to {\\n background-position: 0 0; } }\\n\\n.progress {\\n display: flex;\\n height: 1rem;\\n overflow: hidden;\\n line-height: 0;\\n font-size: 0.75rem;\\n background-color: #e9ecef;\\n border-radius: 0.25rem; }\\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: #007bff;\\n transition: width 0.6s ease; }\\n\\n@media (prefers-reduced-motion: reduce) {\\n .progress-bar {\\n transition: none; } }\\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.progress-bar-animated {\\n -webkit-animation: progress-bar-stripes 1s linear infinite;\\n animation: progress-bar-stripes 1s linear infinite; }\\n\\n@media (prefers-reduced-motion: reduce) {\\n .progress-bar-animated {\\n -webkit-animation: none;\\n animation: none; } }\\n\\n@-webkit-keyframes spinner-border {\\n to {\\n transform: rotate(360deg); } }\\n\\n@keyframes spinner-border {\\n to {\\n transform: rotate(360deg); } }\\n\\n.spinner-border {\\n display: inline-block;\\n width: 2rem;\\n height: 2rem;\\n vertical-align: text-bottom;\\n border: 0.25em solid currentColor;\\n border-right-color: transparent;\\n border-radius: 50%;\\n -webkit-animation: spinner-border .75s linear infinite;\\n animation: spinner-border .75s linear infinite; }\\n\\n.spinner-border-sm {\\n width: 1rem;\\n height: 1rem;\\n border-width: 0.2em; }\\n\\n@-webkit-keyframes spinner-grow {\\n 0% {\\n transform: scale(0); }\\n 50% {\\n opacity: 1;\\n transform: none; } }\\n\\n@keyframes spinner-grow {\\n 0% {\\n transform: scale(0); }\\n 50% {\\n opacity: 1;\\n transform: none; } }\\n\\n.spinner-grow {\\n display: inline-block;\\n width: 2rem;\\n height: 2rem;\\n vertical-align: text-bottom;\\n background-color: currentColor;\\n border-radius: 50%;\\n opacity: 0;\\n -webkit-animation: spinner-grow .75s linear infinite;\\n animation: spinner-grow .75s linear infinite; }\\n\\n.spinner-grow-sm {\\n width: 1rem;\\n height: 1rem; }\\n\\n.table {\\n width: 100%;\\n margin-bottom: 1rem;\\n color: #212529; }\\n\\n.table th,\\n .table td {\\n padding: 0.75rem;\\n vertical-align: top;\\n border-top: 1px solid #dee2e6; }\\n\\n.table thead th {\\n vertical-align: bottom;\\n border-bottom: 2px solid #dee2e6; }\\n\\n.table tbody + tbody {\\n border-top: 2px solid #dee2e6; }\\n\\n.table-sm th,\\n.table-sm td {\\n padding: 0.3rem; }\\n\\n.table-bordered {\\n border: 1px solid #dee2e6; }\\n\\n.table-bordered th,\\n .table-bordered td {\\n border: 1px solid #dee2e6; }\\n\\n.table-bordered thead th,\\n .table-bordered thead td {\\n border-bottom-width: 2px; }\\n\\n.table-borderless th,\\n.table-borderless td,\\n.table-borderless thead th,\\n.table-borderless tbody + tbody {\\n border: 0; }\\n\\n.table-striped tbody tr:nth-of-type(odd) {\\n background-color: rgba(0, 0, 0, 0.05); }\\n\\n.table-hover tbody tr:hover {\\n color: #212529;\\n background-color: rgba(0, 0, 0, 0.075); }\\n\\n.table-primary,\\n.table-primary > th,\\n.table-primary > td {\\n background-color: #b8daff; }\\n\\n.table-primary th,\\n.table-primary td,\\n.table-primary thead th,\\n.table-primary tbody + tbody {\\n border-color: #7abaff; }\\n\\n.table-hover .table-primary:hover {\\n background-color: #9fcdff; }\\n\\n.table-hover .table-primary:hover > td,\\n .table-hover .table-primary:hover > th {\\n background-color: #9fcdff; }\\n\\n.table-secondary,\\n.table-secondary > th,\\n.table-secondary > td {\\n background-color: #d6d8db; }\\n\\n.table-secondary th,\\n.table-secondary td,\\n.table-secondary thead th,\\n.table-secondary tbody + tbody {\\n border-color: #b3b7bb; }\\n\\n.table-hover .table-secondary:hover {\\n background-color: #c8cbcf; }\\n\\n.table-hover .table-secondary:hover > td,\\n .table-hover .table-secondary:hover > th {\\n background-color: #c8cbcf; }\\n\\n.table-success,\\n.table-success > th,\\n.table-success > td {\\n background-color: #c3e6cb; }\\n\\n.table-success th,\\n.table-success td,\\n.table-success thead th,\\n.table-success tbody + tbody {\\n border-color: #8fd19e; }\\n\\n.table-hover .table-success:hover {\\n background-color: #b1dfbb; }\\n\\n.table-hover .table-success:hover > td,\\n .table-hover .table-success:hover > th {\\n background-color: #b1dfbb; }\\n\\n.table-info,\\n.table-info > th,\\n.table-info > td {\\n background-color: #bee5eb; }\\n\\n.table-info th,\\n.table-info td,\\n.table-info thead th,\\n.table-info tbody + tbody {\\n border-color: #86cfda; }\\n\\n.table-hover .table-info:hover {\\n background-color: #abdde5; }\\n\\n.table-hover .table-info:hover > td,\\n .table-hover .table-info:hover > th {\\n background-color: #abdde5; }\\n\\n.table-warning,\\n.table-warning > th,\\n.table-warning > td {\\n background-color: #ffeeba; }\\n\\n.table-warning th,\\n.table-warning td,\\n.table-warning thead th,\\n.table-warning tbody + tbody {\\n border-color: #ffdf7e; }\\n\\n.table-hover .table-warning:hover {\\n background-color: #ffe8a1; }\\n\\n.table-hover .table-warning:hover > td,\\n .table-hover .table-warning:hover > th {\\n background-color: #ffe8a1; }\\n\\n.table-danger,\\n.table-danger > th,\\n.table-danger > td {\\n background-color: #f5c6cb; }\\n\\n.table-danger th,\\n.table-danger td,\\n.table-danger thead th,\\n.table-danger tbody + tbody {\\n border-color: #ed969e; }\\n\\n.table-hover .table-danger:hover {\\n background-color: #f1b0b7; }\\n\\n.table-hover .table-danger:hover > td,\\n .table-hover .table-danger:hover > th {\\n background-color: #f1b0b7; }\\n\\n.table-light,\\n.table-light > th,\\n.table-light > td {\\n background-color: #fdfdfe; }\\n\\n.table-light th,\\n.table-light td,\\n.table-light thead th,\\n.table-light tbody + tbody {\\n border-color: #fbfcfc; }\\n\\n.table-hover .table-light:hover {\\n background-color: #ececf6; }\\n\\n.table-hover .table-light:hover > td,\\n .table-hover .table-light:hover > th {\\n background-color: #ececf6; }\\n\\n.table-dark,\\n.table-dark > th,\\n.table-dark > td {\\n background-color: #c6c8ca; }\\n\\n.table-dark th,\\n.table-dark td,\\n.table-dark thead th,\\n.table-dark tbody + tbody {\\n border-color: #95999c; }\\n\\n.table-hover .table-dark:hover {\\n background-color: #b9bbbe; }\\n\\n.table-hover .table-dark:hover > td,\\n .table-hover .table-dark:hover > th {\\n background-color: #b9bbbe; }\\n\\n.table-active,\\n.table-active > th,\\n.table-active > td {\\n background-color: rgba(0, 0, 0, 0.075); }\\n\\n.table-hover .table-active:hover {\\n background-color: rgba(0, 0, 0, 0.075); }\\n\\n.table-hover .table-active:hover > td,\\n .table-hover .table-active:hover > th {\\n background-color: rgba(0, 0, 0, 0.075); }\\n\\n.table .thead-dark th {\\n color: #fff;\\n background-color: #343a40;\\n border-color: #454d55; }\\n\\n.table .thead-light th {\\n color: #495057;\\n background-color: #e9ecef;\\n border-color: #dee2e6; }\\n\\n.table-dark {\\n color: #fff;\\n background-color: #343a40; }\\n\\n.table-dark th,\\n .table-dark td,\\n .table-dark thead th {\\n border-color: #454d55; }\\n\\n.table-dark.table-bordered {\\n border: 0; }\\n\\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\\n background-color: rgba(255, 255, 255, 0.05); }\\n\\n.table-dark.table-hover tbody tr:hover {\\n color: #fff;\\n background-color: rgba(255, 255, 255, 0.075); }\\n\\n@media (max-width: 575.98px) {\\n .table-responsive-sm {\\n display: block;\\n width: 100%;\\n overflow-x: auto;\\n -webkit-overflow-scrolling: touch; }\\n .table-responsive-sm > .table-bordered {\\n border: 0; } }\\n\\n@media (max-width: 767.98px) {\\n .table-responsive-md {\\n display: block;\\n width: 100%;\\n overflow-x: auto;\\n -webkit-overflow-scrolling: touch; }\\n .table-responsive-md > .table-bordered {\\n border: 0; } }\\n\\n@media (max-width: 991.98px) {\\n .table-responsive-lg {\\n display: block;\\n width: 100%;\\n overflow-x: auto;\\n -webkit-overflow-scrolling: touch; }\\n .table-responsive-lg > .table-bordered {\\n border: 0; } }\\n\\n@media (max-width: 1199.98px) {\\n .table-responsive-xl {\\n display: block;\\n width: 100%;\\n overflow-x: auto;\\n -webkit-overflow-scrolling: touch; }\\n .table-responsive-xl > .table-bordered {\\n border: 0; } }\\n\\n.table-responsive {\\n display: block;\\n width: 100%;\\n overflow-x: auto;\\n -webkit-overflow-scrolling: touch; }\\n\\n.table-responsive > .table-bordered {\\n border: 0; }\\n\\n.toast {\\n max-width: 350px;\\n overflow: hidden;\\n font-size: 0.875rem;\\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.25rem 0.75rem rgba(0, 0, 0, 0.1);\\n -webkit-backdrop-filter: blur(10px);\\n backdrop-filter: blur(10px);\\n opacity: 0;\\n border-radius: 0.25rem; }\\n\\n.toast:not(:last-child) {\\n margin-bottom: 0.75rem; }\\n\\n.toast.showing {\\n opacity: 1; }\\n\\n.toast.show {\\n display: block;\\n opacity: 1; }\\n\\n.toast.hide {\\n display: none; }\\n\\n.toast-header {\\n display: flex;\\n align-items: center;\\n padding: 0.25rem 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\\n.toast-body {\\n padding: 0.75rem; }\\n\\n.tooltip {\\n position: absolute;\\n z-index: 1070;\\n display: block;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\";\\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 .arrow {\\n position: absolute;\\n display: block;\\n width: 0.8rem;\\n height: 0.4rem; }\\n\\n.tooltip .arrow::before {\\n position: absolute;\\n content: \\\"\\\";\\n border-color: transparent;\\n border-style: solid; }\\n\\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\\\"top\\\"] {\\n padding: 0.4rem 0; }\\n\\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\\\"top\\\"] .arrow {\\n bottom: 0; }\\n\\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\\\"top\\\"] .arrow::before {\\n top: 0;\\n border-width: 0.4rem 0.4rem 0;\\n border-top-color: #000; }\\n\\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\\\"right\\\"] {\\n padding: 0 0.4rem; }\\n\\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\\\"right\\\"] .arrow {\\n left: 0;\\n width: 0.4rem;\\n height: 0.8rem; }\\n\\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\\\"right\\\"] .arrow::before {\\n right: 0;\\n border-width: 0.4rem 0.4rem 0.4rem 0;\\n border-right-color: #000; }\\n\\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\\\"bottom\\\"] {\\n padding: 0.4rem 0; }\\n\\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\\\"bottom\\\"] .arrow {\\n top: 0; }\\n\\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\\\"bottom\\\"] .arrow::before {\\n bottom: 0;\\n border-width: 0 0.4rem 0.4rem;\\n border-bottom-color: #000; }\\n\\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\\\"left\\\"] {\\n padding: 0 0.4rem; }\\n\\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\\\"left\\\"] .arrow {\\n right: 0;\\n width: 0.4rem;\\n height: 0.8rem; }\\n\\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\\\"left\\\"] .arrow::before {\\n left: 0;\\n border-width: 0.4rem 0 0.4rem 0.4rem;\\n border-left-color: #000; }\\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.fade {\\n transition: opacity 0.15s linear; }\\n\\n@media (prefers-reduced-motion: reduce) {\\n .fade {\\n transition: none; } }\\n\\n.fade:not(.show) {\\n opacity: 0; }\\n\\n.collapse:not(.show) {\\n display: none; }\\n\\n.collapsing {\\n position: relative;\\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.align-baseline {\\n vertical-align: baseline !important; }\\n\\n.align-top {\\n vertical-align: top !important; }\\n\\n.align-middle {\\n vertical-align: middle !important; }\\n\\n.align-bottom {\\n vertical-align: bottom !important; }\\n\\n.align-text-bottom {\\n vertical-align: text-bottom !important; }\\n\\n.align-text-top {\\n vertical-align: text-top !important; }\\n\\n.bg-primary {\\n background-color: #007bff !important; }\\n\\na.bg-primary:hover, a.bg-primary:focus,\\nbutton.bg-primary:hover,\\nbutton.bg-primary:focus {\\n background-color: #0062cc !important; }\\n\\n.bg-secondary {\\n background-color: #6c757d !important; }\\n\\na.bg-secondary:hover, a.bg-secondary:focus,\\nbutton.bg-secondary:hover,\\nbutton.bg-secondary:focus {\\n background-color: #545b62 !important; }\\n\\n.bg-success {\\n background-color: #28a745 !important; }\\n\\na.bg-success:hover, a.bg-success:focus,\\nbutton.bg-success:hover,\\nbutton.bg-success:focus {\\n background-color: #1e7e34 !important; }\\n\\n.bg-info {\\n background-color: #17a2b8 !important; }\\n\\na.bg-info:hover, a.bg-info:focus,\\nbutton.bg-info:hover,\\nbutton.bg-info:focus {\\n background-color: #117a8b !important; }\\n\\n.bg-warning {\\n background-color: #ffc107 !important; }\\n\\na.bg-warning:hover, a.bg-warning:focus,\\nbutton.bg-warning:hover,\\nbutton.bg-warning:focus {\\n background-color: #d39e00 !important; }\\n\\n.bg-danger {\\n background-color: #dc3545 !important; }\\n\\na.bg-danger:hover, a.bg-danger:focus,\\nbutton.bg-danger:hover,\\nbutton.bg-danger:focus {\\n background-color: #bd2130 !important; }\\n\\n.bg-light {\\n background-color: #f8f9fa !important; }\\n\\na.bg-light:hover, a.bg-light:focus,\\nbutton.bg-light:hover,\\nbutton.bg-light:focus {\\n background-color: #dae0e5 !important; }\\n\\n.bg-dark {\\n background-color: #343a40 !important; }\\n\\na.bg-dark:hover, a.bg-dark:focus,\\nbutton.bg-dark:hover,\\nbutton.bg-dark:focus {\\n background-color: #1d2124 !important; }\\n\\n.bg-white {\\n background-color: #fff !important; }\\n\\n.bg-transparent {\\n background-color: transparent !important; }\\n\\n.border {\\n border: 1px solid #dee2e6 !important; }\\n\\n.border-top {\\n border-top: 1px solid #dee2e6 !important; }\\n\\n.border-right {\\n border-right: 1px solid #dee2e6 !important; }\\n\\n.border-bottom {\\n border-bottom: 1px solid #dee2e6 !important; }\\n\\n.border-left {\\n border-left: 1px solid #dee2e6 !important; }\\n\\n.border-0 {\\n border: 0 !important; }\\n\\n.border-top-0 {\\n border-top: 0 !important; }\\n\\n.border-right-0 {\\n border-right: 0 !important; }\\n\\n.border-bottom-0 {\\n border-bottom: 0 !important; }\\n\\n.border-left-0 {\\n border-left: 0 !important; }\\n\\n.border-primary {\\n border-color: #007bff !important; }\\n\\n.border-secondary {\\n border-color: #6c757d !important; }\\n\\n.border-success {\\n border-color: #28a745 !important; }\\n\\n.border-info {\\n border-color: #17a2b8 !important; }\\n\\n.border-warning {\\n border-color: #ffc107 !important; }\\n\\n.border-danger {\\n border-color: #dc3545 !important; }\\n\\n.border-light {\\n border-color: #f8f9fa !important; }\\n\\n.border-dark {\\n border-color: #343a40 !important; }\\n\\n.border-white {\\n border-color: #fff !important; }\\n\\n.rounded-sm {\\n border-radius: 0.2rem !important; }\\n\\n.rounded {\\n border-radius: 0.25rem !important; }\\n\\n.rounded-top {\\n border-top-left-radius: 0.25rem !important;\\n border-top-right-radius: 0.25rem !important; }\\n\\n.rounded-right {\\n border-top-right-radius: 0.25rem !important;\\n border-bottom-right-radius: 0.25rem !important; }\\n\\n.rounded-bottom {\\n border-bottom-right-radius: 0.25rem !important;\\n border-bottom-left-radius: 0.25rem !important; }\\n\\n.rounded-left {\\n border-top-left-radius: 0.25rem !important;\\n border-bottom-left-radius: 0.25rem !important; }\\n\\n.rounded-lg {\\n border-radius: 0.3rem !important; }\\n\\n.rounded-circle {\\n border-radius: 50% !important; }\\n\\n.rounded-pill {\\n border-radius: 50rem !important; }\\n\\n.rounded-0 {\\n border-radius: 0 !important; }\\n\\n.clearfix::after {\\n display: block;\\n clear: both;\\n content: \\\"\\\"; }\\n\\n.d-none {\\n display: none !important; }\\n\\n.d-inline {\\n display: inline !important; }\\n\\n.d-inline-block {\\n display: inline-block !important; }\\n\\n.d-block {\\n display: block !important; }\\n\\n.d-table {\\n display: table !important; }\\n\\n.d-table-row {\\n display: table-row !important; }\\n\\n.d-table-cell {\\n display: table-cell !important; }\\n\\n.d-flex {\\n display: flex !important; }\\n\\n.d-inline-flex {\\n display: inline-flex !important; }\\n\\n@media (min-width: 576px) {\\n .d-sm-none {\\n display: none !important; }\\n .d-sm-inline {\\n display: inline !important; }\\n .d-sm-inline-block {\\n display: inline-block !important; }\\n .d-sm-block {\\n display: block !important; }\\n .d-sm-table {\\n display: table !important; }\\n .d-sm-table-row {\\n display: table-row !important; }\\n .d-sm-table-cell {\\n display: table-cell !important; }\\n .d-sm-flex {\\n display: flex !important; }\\n .d-sm-inline-flex {\\n display: inline-flex !important; } }\\n\\n@media (min-width: 768px) {\\n .d-md-none {\\n display: none !important; }\\n .d-md-inline {\\n display: inline !important; }\\n .d-md-inline-block {\\n display: inline-block !important; }\\n .d-md-block {\\n display: block !important; }\\n .d-md-table {\\n display: table !important; }\\n .d-md-table-row {\\n display: table-row !important; }\\n .d-md-table-cell {\\n display: table-cell !important; }\\n .d-md-flex {\\n display: flex !important; }\\n .d-md-inline-flex {\\n display: inline-flex !important; } }\\n\\n@media (min-width: 992px) {\\n .d-lg-none {\\n display: none !important; }\\n .d-lg-inline {\\n display: inline !important; }\\n .d-lg-inline-block {\\n display: inline-block !important; }\\n .d-lg-block {\\n display: block !important; }\\n .d-lg-table {\\n display: table !important; }\\n .d-lg-table-row {\\n display: table-row !important; }\\n .d-lg-table-cell {\\n display: table-cell !important; }\\n .d-lg-flex {\\n display: flex !important; }\\n .d-lg-inline-flex {\\n display: inline-flex !important; } }\\n\\n@media (min-width: 1200px) {\\n .d-xl-none {\\n display: none !important; }\\n .d-xl-inline {\\n display: inline !important; }\\n .d-xl-inline-block {\\n display: inline-block !important; }\\n .d-xl-block {\\n display: block !important; }\\n .d-xl-table {\\n display: table !important; }\\n .d-xl-table-row {\\n display: table-row !important; }\\n .d-xl-table-cell {\\n display: table-cell !important; }\\n .d-xl-flex {\\n display: flex !important; }\\n .d-xl-inline-flex {\\n display: inline-flex !important; } }\\n\\n@media print {\\n .d-print-none {\\n display: none !important; }\\n .d-print-inline {\\n display: inline !important; }\\n .d-print-inline-block {\\n display: inline-block !important; }\\n .d-print-block {\\n display: block !important; }\\n .d-print-table {\\n display: table !important; }\\n .d-print-table-row {\\n display: table-row !important; }\\n .d-print-table-cell {\\n display: table-cell !important; }\\n .d-print-flex {\\n display: flex !important; }\\n .d-print-inline-flex {\\n display: inline-flex !important; } }\\n\\n.embed-responsive {\\n position: relative;\\n display: block;\\n width: 100%;\\n padding: 0;\\n overflow: hidden; }\\n\\n.embed-responsive::before {\\n display: block;\\n content: \\\"\\\"; }\\n\\n.embed-responsive .embed-responsive-item,\\n .embed-responsive iframe,\\n .embed-responsive embed,\\n .embed-responsive object,\\n .embed-responsive video {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n border: 0; }\\n\\n.embed-responsive-21by9::before {\\n padding-top: 42.85714%; }\\n\\n.embed-responsive-16by9::before {\\n padding-top: 56.25%; }\\n\\n.embed-responsive-4by3::before {\\n padding-top: 75%; }\\n\\n.embed-responsive-1by1::before {\\n padding-top: 100%; }\\n\\n.flex-row {\\n flex-direction: row !important; }\\n\\n.flex-column {\\n flex-direction: column !important; }\\n\\n.flex-row-reverse {\\n flex-direction: row-reverse !important; }\\n\\n.flex-column-reverse {\\n flex-direction: column-reverse !important; }\\n\\n.flex-wrap {\\n flex-wrap: wrap !important; }\\n\\n.flex-nowrap {\\n flex-wrap: nowrap !important; }\\n\\n.flex-wrap-reverse {\\n flex-wrap: wrap-reverse !important; }\\n\\n.flex-fill {\\n flex: 1 1 auto !important; }\\n\\n.flex-grow-0 {\\n flex-grow: 0 !important; }\\n\\n.flex-grow-1 {\\n flex-grow: 1 !important; }\\n\\n.flex-shrink-0 {\\n flex-shrink: 0 !important; }\\n\\n.flex-shrink-1 {\\n flex-shrink: 1 !important; }\\n\\n.justify-content-start {\\n justify-content: flex-start !important; }\\n\\n.justify-content-end {\\n justify-content: flex-end !important; }\\n\\n.justify-content-center {\\n justify-content: center !important; }\\n\\n.justify-content-between {\\n justify-content: space-between !important; }\\n\\n.justify-content-around {\\n justify-content: space-around !important; }\\n\\n.align-items-start {\\n align-items: flex-start !important; }\\n\\n.align-items-end {\\n align-items: flex-end !important; }\\n\\n.align-items-center {\\n align-items: center !important; }\\n\\n.align-items-baseline {\\n align-items: baseline !important; }\\n\\n.align-items-stretch {\\n align-items: stretch !important; }\\n\\n.align-content-start {\\n align-content: flex-start !important; }\\n\\n.align-content-end {\\n align-content: flex-end !important; }\\n\\n.align-content-center {\\n align-content: center !important; }\\n\\n.align-content-between {\\n align-content: space-between !important; }\\n\\n.align-content-around {\\n align-content: space-around !important; }\\n\\n.align-content-stretch {\\n align-content: stretch !important; }\\n\\n.align-self-auto {\\n align-self: auto !important; }\\n\\n.align-self-start {\\n align-self: flex-start !important; }\\n\\n.align-self-end {\\n align-self: flex-end !important; }\\n\\n.align-self-center {\\n align-self: center !important; }\\n\\n.align-self-baseline {\\n align-self: baseline !important; }\\n\\n.align-self-stretch {\\n align-self: stretch !important; }\\n\\n@media (min-width: 576px) {\\n .flex-sm-row {\\n flex-direction: row !important; }\\n .flex-sm-column {\\n flex-direction: column !important; }\\n .flex-sm-row-reverse {\\n flex-direction: row-reverse !important; }\\n .flex-sm-column-reverse {\\n flex-direction: column-reverse !important; }\\n .flex-sm-wrap {\\n flex-wrap: wrap !important; }\\n .flex-sm-nowrap {\\n flex-wrap: nowrap !important; }\\n .flex-sm-wrap-reverse {\\n flex-wrap: wrap-reverse !important; }\\n .flex-sm-fill {\\n flex: 1 1 auto !important; }\\n .flex-sm-grow-0 {\\n flex-grow: 0 !important; }\\n .flex-sm-grow-1 {\\n flex-grow: 1 !important; }\\n .flex-sm-shrink-0 {\\n flex-shrink: 0 !important; }\\n .flex-sm-shrink-1 {\\n flex-shrink: 1 !important; }\\n .justify-content-sm-start {\\n justify-content: flex-start !important; }\\n .justify-content-sm-end {\\n justify-content: flex-end !important; }\\n .justify-content-sm-center {\\n justify-content: center !important; }\\n .justify-content-sm-between {\\n justify-content: space-between !important; }\\n .justify-content-sm-around {\\n justify-content: space-around !important; }\\n .align-items-sm-start {\\n align-items: flex-start !important; }\\n .align-items-sm-end {\\n align-items: flex-end !important; }\\n .align-items-sm-center {\\n align-items: center !important; }\\n .align-items-sm-baseline {\\n align-items: baseline !important; }\\n .align-items-sm-stretch {\\n align-items: stretch !important; }\\n .align-content-sm-start {\\n align-content: flex-start !important; }\\n .align-content-sm-end {\\n align-content: flex-end !important; }\\n .align-content-sm-center {\\n align-content: center !important; }\\n .align-content-sm-between {\\n align-content: space-between !important; }\\n .align-content-sm-around {\\n align-content: space-around !important; }\\n .align-content-sm-stretch {\\n align-content: stretch !important; }\\n .align-self-sm-auto {\\n align-self: auto !important; }\\n .align-self-sm-start {\\n align-self: flex-start !important; }\\n .align-self-sm-end {\\n align-self: flex-end !important; }\\n .align-self-sm-center {\\n align-self: center !important; }\\n .align-self-sm-baseline {\\n align-self: baseline !important; }\\n .align-self-sm-stretch {\\n align-self: stretch !important; } }\\n\\n@media (min-width: 768px) {\\n .flex-md-row {\\n flex-direction: row !important; }\\n .flex-md-column {\\n flex-direction: column !important; }\\n .flex-md-row-reverse {\\n flex-direction: row-reverse !important; }\\n .flex-md-column-reverse {\\n flex-direction: column-reverse !important; }\\n .flex-md-wrap {\\n flex-wrap: wrap !important; }\\n .flex-md-nowrap {\\n flex-wrap: nowrap !important; }\\n .flex-md-wrap-reverse {\\n flex-wrap: wrap-reverse !important; }\\n .flex-md-fill {\\n flex: 1 1 auto !important; }\\n .flex-md-grow-0 {\\n flex-grow: 0 !important; }\\n .flex-md-grow-1 {\\n flex-grow: 1 !important; }\\n .flex-md-shrink-0 {\\n flex-shrink: 0 !important; }\\n .flex-md-shrink-1 {\\n flex-shrink: 1 !important; }\\n .justify-content-md-start {\\n justify-content: flex-start !important; }\\n .justify-content-md-end {\\n justify-content: flex-end !important; }\\n .justify-content-md-center {\\n justify-content: center !important; }\\n .justify-content-md-between {\\n justify-content: space-between !important; }\\n .justify-content-md-around {\\n justify-content: space-around !important; }\\n .align-items-md-start {\\n align-items: flex-start !important; }\\n .align-items-md-end {\\n align-items: flex-end !important; }\\n .align-items-md-center {\\n align-items: center !important; }\\n .align-items-md-baseline {\\n align-items: baseline !important; }\\n .align-items-md-stretch {\\n align-items: stretch !important; }\\n .align-content-md-start {\\n align-content: flex-start !important; }\\n .align-content-md-end {\\n align-content: flex-end !important; }\\n .align-content-md-center {\\n align-content: center !important; }\\n .align-content-md-between {\\n align-content: space-between !important; }\\n .align-content-md-around {\\n align-content: space-around !important; }\\n .align-content-md-stretch {\\n align-content: stretch !important; }\\n .align-self-md-auto {\\n align-self: auto !important; }\\n .align-self-md-start {\\n align-self: flex-start !important; }\\n .align-self-md-end {\\n align-self: flex-end !important; }\\n .align-self-md-center {\\n align-self: center !important; }\\n .align-self-md-baseline {\\n align-self: baseline !important; }\\n .align-self-md-stretch {\\n align-self: stretch !important; } }\\n\\n@media (min-width: 992px) {\\n .flex-lg-row {\\n flex-direction: row !important; }\\n .flex-lg-column {\\n flex-direction: column !important; }\\n .flex-lg-row-reverse {\\n flex-direction: row-reverse !important; }\\n .flex-lg-column-reverse {\\n flex-direction: column-reverse !important; }\\n .flex-lg-wrap {\\n flex-wrap: wrap !important; }\\n .flex-lg-nowrap {\\n flex-wrap: nowrap !important; }\\n .flex-lg-wrap-reverse {\\n flex-wrap: wrap-reverse !important; }\\n .flex-lg-fill {\\n flex: 1 1 auto !important; }\\n .flex-lg-grow-0 {\\n flex-grow: 0 !important; }\\n .flex-lg-grow-1 {\\n flex-grow: 1 !important; }\\n .flex-lg-shrink-0 {\\n flex-shrink: 0 !important; }\\n .flex-lg-shrink-1 {\\n flex-shrink: 1 !important; }\\n .justify-content-lg-start {\\n justify-content: flex-start !important; }\\n .justify-content-lg-end {\\n justify-content: flex-end !important; }\\n .justify-content-lg-center {\\n justify-content: center !important; }\\n .justify-content-lg-between {\\n justify-content: space-between !important; }\\n .justify-content-lg-around {\\n justify-content: space-around !important; }\\n .align-items-lg-start {\\n align-items: flex-start !important; }\\n .align-items-lg-end {\\n align-items: flex-end !important; }\\n .align-items-lg-center {\\n align-items: center !important; }\\n .align-items-lg-baseline {\\n align-items: baseline !important; }\\n .align-items-lg-stretch {\\n align-items: stretch !important; }\\n .align-content-lg-start {\\n align-content: flex-start !important; }\\n .align-content-lg-end {\\n align-content: flex-end !important; }\\n .align-content-lg-center {\\n align-content: center !important; }\\n .align-content-lg-between {\\n align-content: space-between !important; }\\n .align-content-lg-around {\\n align-content: space-around !important; }\\n .align-content-lg-stretch {\\n align-content: stretch !important; }\\n .align-self-lg-auto {\\n align-self: auto !important; }\\n .align-self-lg-start {\\n align-self: flex-start !important; }\\n .align-self-lg-end {\\n align-self: flex-end !important; }\\n .align-self-lg-center {\\n align-self: center !important; }\\n .align-self-lg-baseline {\\n align-self: baseline !important; }\\n .align-self-lg-stretch {\\n align-self: stretch !important; } }\\n\\n@media (min-width: 1200px) {\\n .flex-xl-row {\\n flex-direction: row !important; }\\n .flex-xl-column {\\n flex-direction: column !important; }\\n .flex-xl-row-reverse {\\n flex-direction: row-reverse !important; }\\n .flex-xl-column-reverse {\\n flex-direction: column-reverse !important; }\\n .flex-xl-wrap {\\n flex-wrap: wrap !important; }\\n .flex-xl-nowrap {\\n flex-wrap: nowrap !important; }\\n .flex-xl-wrap-reverse {\\n flex-wrap: wrap-reverse !important; }\\n .flex-xl-fill {\\n flex: 1 1 auto !important; }\\n .flex-xl-grow-0 {\\n flex-grow: 0 !important; }\\n .flex-xl-grow-1 {\\n flex-grow: 1 !important; }\\n .flex-xl-shrink-0 {\\n flex-shrink: 0 !important; }\\n .flex-xl-shrink-1 {\\n flex-shrink: 1 !important; }\\n .justify-content-xl-start {\\n justify-content: flex-start !important; }\\n .justify-content-xl-end {\\n justify-content: flex-end !important; }\\n .justify-content-xl-center {\\n justify-content: center !important; }\\n .justify-content-xl-between {\\n justify-content: space-between !important; }\\n .justify-content-xl-around {\\n justify-content: space-around !important; }\\n .align-items-xl-start {\\n align-items: flex-start !important; }\\n .align-items-xl-end {\\n align-items: flex-end !important; }\\n .align-items-xl-center {\\n align-items: center !important; }\\n .align-items-xl-baseline {\\n align-items: baseline !important; }\\n .align-items-xl-stretch {\\n align-items: stretch !important; }\\n .align-content-xl-start {\\n align-content: flex-start !important; }\\n .align-content-xl-end {\\n align-content: flex-end !important; }\\n .align-content-xl-center {\\n align-content: center !important; }\\n .align-content-xl-between {\\n align-content: space-between !important; }\\n .align-content-xl-around {\\n align-content: space-around !important; }\\n .align-content-xl-stretch {\\n align-content: stretch !important; }\\n .align-self-xl-auto {\\n align-self: auto !important; }\\n .align-self-xl-start {\\n align-self: flex-start !important; }\\n .align-self-xl-end {\\n align-self: flex-end !important; }\\n .align-self-xl-center {\\n align-self: center !important; }\\n .align-self-xl-baseline {\\n align-self: baseline !important; }\\n .align-self-xl-stretch {\\n align-self: stretch !important; } }\\n\\n.float-left {\\n float: left !important; }\\n\\n.float-right {\\n float: right !important; }\\n\\n.float-none {\\n float: none !important; }\\n\\n@media (min-width: 576px) {\\n .float-sm-left {\\n float: left !important; }\\n .float-sm-right {\\n float: right !important; }\\n .float-sm-none {\\n float: none !important; } }\\n\\n@media (min-width: 768px) {\\n .float-md-left {\\n float: left !important; }\\n .float-md-right {\\n float: right !important; }\\n .float-md-none {\\n float: none !important; } }\\n\\n@media (min-width: 992px) {\\n .float-lg-left {\\n float: left !important; }\\n .float-lg-right {\\n float: right !important; }\\n .float-lg-none {\\n float: none !important; } }\\n\\n@media (min-width: 1200px) {\\n .float-xl-left {\\n float: left !important; }\\n .float-xl-right {\\n float: right !important; }\\n .float-xl-none {\\n float: none !important; } }\\n\\n.user-select-all {\\n -webkit-user-select: all !important;\\n -moz-user-select: all !important;\\n -ms-user-select: all !important;\\n user-select: all !important; }\\n\\n.user-select-auto {\\n -webkit-user-select: auto !important;\\n -moz-user-select: auto !important;\\n -ms-user-select: auto !important;\\n user-select: auto !important; }\\n\\n.user-select-none {\\n -webkit-user-select: none !important;\\n -moz-user-select: none !important;\\n -ms-user-select: none !important;\\n user-select: none !important; }\\n\\n.overflow-auto {\\n overflow: auto !important; }\\n\\n.overflow-hidden {\\n overflow: hidden !important; }\\n\\n.position-static {\\n position: static !important; }\\n\\n.position-relative {\\n position: relative !important; }\\n\\n.position-absolute {\\n position: absolute !important; }\\n\\n.position-fixed {\\n position: fixed !important; }\\n\\n.position-sticky {\\n position: -webkit-sticky !important;\\n position: sticky !important; }\\n\\n.fixed-top {\\n position: fixed;\\n top: 0;\\n right: 0;\\n left: 0;\\n z-index: 1030; }\\n\\n.fixed-bottom {\\n position: fixed;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n z-index: 1030; }\\n\\n@supports ((position: -webkit-sticky) or (position: sticky)) {\\n .sticky-top {\\n position: -webkit-sticky;\\n position: sticky;\\n top: 0;\\n z-index: 1020; } }\\n\\n.sr-only {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0; }\\n\\n.sr-only-focusable:active, .sr-only-focusable:focus {\\n position: static;\\n width: auto;\\n height: auto;\\n overflow: visible;\\n clip: auto;\\n white-space: normal; }\\n\\n.shadow-sm {\\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; }\\n\\n.shadow {\\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; }\\n\\n.shadow-lg {\\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; }\\n\\n.shadow-none {\\n box-shadow: none !important; }\\n\\n.w-25 {\\n width: 25% !important; }\\n\\n.w-50 {\\n width: 50% !important; }\\n\\n.w-75 {\\n width: 75% !important; }\\n\\n.w-100 {\\n width: 100% !important; }\\n\\n.w-auto {\\n width: auto !important; }\\n\\n.h-25 {\\n height: 25% !important; }\\n\\n.h-50 {\\n height: 50% !important; }\\n\\n.h-75 {\\n height: 75% !important; }\\n\\n.h-100 {\\n height: 100% !important; }\\n\\n.h-auto {\\n height: auto !important; }\\n\\n.mw-100 {\\n max-width: 100% !important; }\\n\\n.mh-100 {\\n max-height: 100% !important; }\\n\\n.min-vw-100 {\\n min-width: 100vw !important; }\\n\\n.min-vh-100 {\\n min-height: 100vh !important; }\\n\\n.vw-100 {\\n width: 100vw !important; }\\n\\n.vh-100 {\\n height: 100vh !important; }\\n\\n.m-0 {\\n margin: 0 !important; }\\n\\n.mt-0,\\n.my-0 {\\n margin-top: 0 !important; }\\n\\n.mr-0,\\n.mx-0 {\\n margin-right: 0 !important; }\\n\\n.mb-0,\\n.my-0 {\\n margin-bottom: 0 !important; }\\n\\n.ml-0,\\n.mx-0 {\\n margin-left: 0 !important; }\\n\\n.m-1 {\\n margin: 0.25rem !important; }\\n\\n.mt-1,\\n.my-1 {\\n margin-top: 0.25rem !important; }\\n\\n.mr-1,\\n.mx-1 {\\n margin-right: 0.25rem !important; }\\n\\n.mb-1,\\n.my-1 {\\n margin-bottom: 0.25rem !important; }\\n\\n.ml-1,\\n.mx-1 {\\n margin-left: 0.25rem !important; }\\n\\n.m-2 {\\n margin: 0.5rem !important; }\\n\\n.mt-2,\\n.my-2 {\\n margin-top: 0.5rem !important; }\\n\\n.mr-2,\\n.mx-2 {\\n margin-right: 0.5rem !important; }\\n\\n.mb-2,\\n.my-2 {\\n margin-bottom: 0.5rem !important; }\\n\\n.ml-2,\\n.mx-2 {\\n margin-left: 0.5rem !important; }\\n\\n.m-3 {\\n margin: 1rem !important; }\\n\\n.mt-3,\\n.my-3 {\\n margin-top: 1rem !important; }\\n\\n.mr-3,\\n.mx-3 {\\n margin-right: 1rem !important; }\\n\\n.mb-3,\\n.my-3 {\\n margin-bottom: 1rem !important; }\\n\\n.ml-3,\\n.mx-3 {\\n margin-left: 1rem !important; }\\n\\n.m-4 {\\n margin: 1.5rem !important; }\\n\\n.mt-4,\\n.my-4 {\\n margin-top: 1.5rem !important; }\\n\\n.mr-4,\\n.mx-4 {\\n margin-right: 1.5rem !important; }\\n\\n.mb-4,\\n.my-4 {\\n margin-bottom: 1.5rem !important; }\\n\\n.ml-4,\\n.mx-4 {\\n margin-left: 1.5rem !important; }\\n\\n.m-5 {\\n margin: 3rem !important; }\\n\\n.mt-5,\\n.my-5 {\\n margin-top: 3rem !important; }\\n\\n.mr-5,\\n.mx-5 {\\n margin-right: 3rem !important; }\\n\\n.mb-5,\\n.my-5 {\\n margin-bottom: 3rem !important; }\\n\\n.ml-5,\\n.mx-5 {\\n margin-left: 3rem !important; }\\n\\n.p-0 {\\n padding: 0 !important; }\\n\\n.pt-0,\\n.py-0 {\\n padding-top: 0 !important; }\\n\\n.pr-0,\\n.px-0 {\\n padding-right: 0 !important; }\\n\\n.pb-0,\\n.py-0 {\\n padding-bottom: 0 !important; }\\n\\n.pl-0,\\n.px-0 {\\n padding-left: 0 !important; }\\n\\n.p-1 {\\n padding: 0.25rem !important; }\\n\\n.pt-1,\\n.py-1 {\\n padding-top: 0.25rem !important; }\\n\\n.pr-1,\\n.px-1 {\\n padding-right: 0.25rem !important; }\\n\\n.pb-1,\\n.py-1 {\\n padding-bottom: 0.25rem !important; }\\n\\n.pl-1,\\n.px-1 {\\n padding-left: 0.25rem !important; }\\n\\n.p-2 {\\n padding: 0.5rem !important; }\\n\\n.pt-2,\\n.py-2 {\\n padding-top: 0.5rem !important; }\\n\\n.pr-2,\\n.px-2 {\\n padding-right: 0.5rem !important; }\\n\\n.pb-2,\\n.py-2 {\\n padding-bottom: 0.5rem !important; }\\n\\n.pl-2,\\n.px-2 {\\n padding-left: 0.5rem !important; }\\n\\n.p-3 {\\n padding: 1rem !important; }\\n\\n.pt-3,\\n.py-3 {\\n padding-top: 1rem !important; }\\n\\n.pr-3,\\n.px-3 {\\n padding-right: 1rem !important; }\\n\\n.pb-3,\\n.py-3 {\\n padding-bottom: 1rem !important; }\\n\\n.pl-3,\\n.px-3 {\\n padding-left: 1rem !important; }\\n\\n.p-4 {\\n padding: 1.5rem !important; }\\n\\n.pt-4,\\n.py-4 {\\n padding-top: 1.5rem !important; }\\n\\n.pr-4,\\n.px-4 {\\n padding-right: 1.5rem !important; }\\n\\n.pb-4,\\n.py-4 {\\n padding-bottom: 1.5rem !important; }\\n\\n.pl-4,\\n.px-4 {\\n padding-left: 1.5rem !important; }\\n\\n.p-5 {\\n padding: 3rem !important; }\\n\\n.pt-5,\\n.py-5 {\\n padding-top: 3rem !important; }\\n\\n.pr-5,\\n.px-5 {\\n padding-right: 3rem !important; }\\n\\n.pb-5,\\n.py-5 {\\n padding-bottom: 3rem !important; }\\n\\n.pl-5,\\n.px-5 {\\n padding-left: 3rem !important; }\\n\\n.m-n1 {\\n margin: -0.25rem !important; }\\n\\n.mt-n1,\\n.my-n1 {\\n margin-top: -0.25rem !important; }\\n\\n.mr-n1,\\n.mx-n1 {\\n margin-right: -0.25rem !important; }\\n\\n.mb-n1,\\n.my-n1 {\\n margin-bottom: -0.25rem !important; }\\n\\n.ml-n1,\\n.mx-n1 {\\n margin-left: -0.25rem !important; }\\n\\n.m-n2 {\\n margin: -0.5rem !important; }\\n\\n.mt-n2,\\n.my-n2 {\\n margin-top: -0.5rem !important; }\\n\\n.mr-n2,\\n.mx-n2 {\\n margin-right: -0.5rem !important; }\\n\\n.mb-n2,\\n.my-n2 {\\n margin-bottom: -0.5rem !important; }\\n\\n.ml-n2,\\n.mx-n2 {\\n margin-left: -0.5rem !important; }\\n\\n.m-n3 {\\n margin: -1rem !important; }\\n\\n.mt-n3,\\n.my-n3 {\\n margin-top: -1rem !important; }\\n\\n.mr-n3,\\n.mx-n3 {\\n margin-right: -1rem !important; }\\n\\n.mb-n3,\\n.my-n3 {\\n margin-bottom: -1rem !important; }\\n\\n.ml-n3,\\n.mx-n3 {\\n margin-left: -1rem !important; }\\n\\n.m-n4 {\\n margin: -1.5rem !important; }\\n\\n.mt-n4,\\n.my-n4 {\\n margin-top: -1.5rem !important; }\\n\\n.mr-n4,\\n.mx-n4 {\\n margin-right: -1.5rem !important; }\\n\\n.mb-n4,\\n.my-n4 {\\n margin-bottom: -1.5rem !important; }\\n\\n.ml-n4,\\n.mx-n4 {\\n margin-left: -1.5rem !important; }\\n\\n.m-n5 {\\n margin: -3rem !important; }\\n\\n.mt-n5,\\n.my-n5 {\\n margin-top: -3rem !important; }\\n\\n.mr-n5,\\n.mx-n5 {\\n margin-right: -3rem !important; }\\n\\n.mb-n5,\\n.my-n5 {\\n margin-bottom: -3rem !important; }\\n\\n.ml-n5,\\n.mx-n5 {\\n margin-left: -3rem !important; }\\n\\n.m-auto {\\n margin: auto !important; }\\n\\n.mt-auto,\\n.my-auto {\\n margin-top: auto !important; }\\n\\n.mr-auto,\\n.mx-auto {\\n margin-right: auto !important; }\\n\\n.mb-auto,\\n.my-auto {\\n margin-bottom: auto !important; }\\n\\n.ml-auto,\\n.mx-auto {\\n margin-left: auto !important; }\\n\\n@media (min-width: 576px) {\\n .m-sm-0 {\\n margin: 0 !important; }\\n .mt-sm-0,\\n .my-sm-0 {\\n margin-top: 0 !important; }\\n .mr-sm-0,\\n .mx-sm-0 {\\n margin-right: 0 !important; }\\n .mb-sm-0,\\n .my-sm-0 {\\n margin-bottom: 0 !important; }\\n .ml-sm-0,\\n .mx-sm-0 {\\n margin-left: 0 !important; }\\n .m-sm-1 {\\n margin: 0.25rem !important; }\\n .mt-sm-1,\\n .my-sm-1 {\\n margin-top: 0.25rem !important; }\\n .mr-sm-1,\\n .mx-sm-1 {\\n margin-right: 0.25rem !important; }\\n .mb-sm-1,\\n .my-sm-1 {\\n margin-bottom: 0.25rem !important; }\\n .ml-sm-1,\\n .mx-sm-1 {\\n margin-left: 0.25rem !important; }\\n .m-sm-2 {\\n margin: 0.5rem !important; }\\n .mt-sm-2,\\n .my-sm-2 {\\n margin-top: 0.5rem !important; }\\n .mr-sm-2,\\n .mx-sm-2 {\\n margin-right: 0.5rem !important; }\\n .mb-sm-2,\\n .my-sm-2 {\\n margin-bottom: 0.5rem !important; }\\n .ml-sm-2,\\n .mx-sm-2 {\\n margin-left: 0.5rem !important; }\\n .m-sm-3 {\\n margin: 1rem !important; }\\n .mt-sm-3,\\n .my-sm-3 {\\n margin-top: 1rem !important; }\\n .mr-sm-3,\\n .mx-sm-3 {\\n margin-right: 1rem !important; }\\n .mb-sm-3,\\n .my-sm-3 {\\n margin-bottom: 1rem !important; }\\n .ml-sm-3,\\n .mx-sm-3 {\\n margin-left: 1rem !important; }\\n .m-sm-4 {\\n margin: 1.5rem !important; }\\n .mt-sm-4,\\n .my-sm-4 {\\n margin-top: 1.5rem !important; }\\n .mr-sm-4,\\n .mx-sm-4 {\\n margin-right: 1.5rem !important; }\\n .mb-sm-4,\\n .my-sm-4 {\\n margin-bottom: 1.5rem !important; }\\n .ml-sm-4,\\n .mx-sm-4 {\\n margin-left: 1.5rem !important; }\\n .m-sm-5 {\\n margin: 3rem !important; }\\n .mt-sm-5,\\n .my-sm-5 {\\n margin-top: 3rem !important; }\\n .mr-sm-5,\\n .mx-sm-5 {\\n margin-right: 3rem !important; }\\n .mb-sm-5,\\n .my-sm-5 {\\n margin-bottom: 3rem !important; }\\n .ml-sm-5,\\n .mx-sm-5 {\\n margin-left: 3rem !important; }\\n .p-sm-0 {\\n padding: 0 !important; }\\n .pt-sm-0,\\n .py-sm-0 {\\n padding-top: 0 !important; }\\n .pr-sm-0,\\n .px-sm-0 {\\n padding-right: 0 !important; }\\n .pb-sm-0,\\n .py-sm-0 {\\n padding-bottom: 0 !important; }\\n .pl-sm-0,\\n .px-sm-0 {\\n padding-left: 0 !important; }\\n .p-sm-1 {\\n padding: 0.25rem !important; }\\n .pt-sm-1,\\n .py-sm-1 {\\n padding-top: 0.25rem !important; }\\n .pr-sm-1,\\n .px-sm-1 {\\n padding-right: 0.25rem !important; }\\n .pb-sm-1,\\n .py-sm-1 {\\n padding-bottom: 0.25rem !important; }\\n .pl-sm-1,\\n .px-sm-1 {\\n padding-left: 0.25rem !important; }\\n .p-sm-2 {\\n padding: 0.5rem !important; }\\n .pt-sm-2,\\n .py-sm-2 {\\n padding-top: 0.5rem !important; }\\n .pr-sm-2,\\n .px-sm-2 {\\n padding-right: 0.5rem !important; }\\n .pb-sm-2,\\n .py-sm-2 {\\n padding-bottom: 0.5rem !important; }\\n .pl-sm-2,\\n .px-sm-2 {\\n padding-left: 0.5rem !important; }\\n .p-sm-3 {\\n padding: 1rem !important; }\\n .pt-sm-3,\\n .py-sm-3 {\\n padding-top: 1rem !important; }\\n .pr-sm-3,\\n .px-sm-3 {\\n padding-right: 1rem !important; }\\n .pb-sm-3,\\n .py-sm-3 {\\n padding-bottom: 1rem !important; }\\n .pl-sm-3,\\n .px-sm-3 {\\n padding-left: 1rem !important; }\\n .p-sm-4 {\\n padding: 1.5rem !important; }\\n .pt-sm-4,\\n .py-sm-4 {\\n padding-top: 1.5rem !important; }\\n .pr-sm-4,\\n .px-sm-4 {\\n padding-right: 1.5rem !important; }\\n .pb-sm-4,\\n .py-sm-4 {\\n padding-bottom: 1.5rem !important; }\\n .pl-sm-4,\\n .px-sm-4 {\\n padding-left: 1.5rem !important; }\\n .p-sm-5 {\\n padding: 3rem !important; }\\n .pt-sm-5,\\n .py-sm-5 {\\n padding-top: 3rem !important; }\\n .pr-sm-5,\\n .px-sm-5 {\\n padding-right: 3rem !important; }\\n .pb-sm-5,\\n .py-sm-5 {\\n padding-bottom: 3rem !important; }\\n .pl-sm-5,\\n .px-sm-5 {\\n padding-left: 3rem !important; }\\n .m-sm-n1 {\\n margin: -0.25rem !important; }\\n .mt-sm-n1,\\n .my-sm-n1 {\\n margin-top: -0.25rem !important; }\\n .mr-sm-n1,\\n .mx-sm-n1 {\\n margin-right: -0.25rem !important; }\\n .mb-sm-n1,\\n .my-sm-n1 {\\n margin-bottom: -0.25rem !important; }\\n .ml-sm-n1,\\n .mx-sm-n1 {\\n margin-left: -0.25rem !important; }\\n .m-sm-n2 {\\n margin: -0.5rem !important; }\\n .mt-sm-n2,\\n .my-sm-n2 {\\n margin-top: -0.5rem !important; }\\n .mr-sm-n2,\\n .mx-sm-n2 {\\n margin-right: -0.5rem !important; }\\n .mb-sm-n2,\\n .my-sm-n2 {\\n margin-bottom: -0.5rem !important; }\\n .ml-sm-n2,\\n .mx-sm-n2 {\\n margin-left: -0.5rem !important; }\\n .m-sm-n3 {\\n margin: -1rem !important; }\\n .mt-sm-n3,\\n .my-sm-n3 {\\n margin-top: -1rem !important; }\\n .mr-sm-n3,\\n .mx-sm-n3 {\\n margin-right: -1rem !important; }\\n .mb-sm-n3,\\n .my-sm-n3 {\\n margin-bottom: -1rem !important; }\\n .ml-sm-n3,\\n .mx-sm-n3 {\\n margin-left: -1rem !important; }\\n .m-sm-n4 {\\n margin: -1.5rem !important; }\\n .mt-sm-n4,\\n .my-sm-n4 {\\n margin-top: -1.5rem !important; }\\n .mr-sm-n4,\\n .mx-sm-n4 {\\n margin-right: -1.5rem !important; }\\n .mb-sm-n4,\\n .my-sm-n4 {\\n margin-bottom: -1.5rem !important; }\\n .ml-sm-n4,\\n .mx-sm-n4 {\\n margin-left: -1.5rem !important; }\\n .m-sm-n5 {\\n margin: -3rem !important; }\\n .mt-sm-n5,\\n .my-sm-n5 {\\n margin-top: -3rem !important; }\\n .mr-sm-n5,\\n .mx-sm-n5 {\\n margin-right: -3rem !important; }\\n .mb-sm-n5,\\n .my-sm-n5 {\\n margin-bottom: -3rem !important; }\\n .ml-sm-n5,\\n .mx-sm-n5 {\\n margin-left: -3rem !important; }\\n .m-sm-auto {\\n margin: auto !important; }\\n .mt-sm-auto,\\n .my-sm-auto {\\n margin-top: auto !important; }\\n .mr-sm-auto,\\n .mx-sm-auto {\\n margin-right: auto !important; }\\n .mb-sm-auto,\\n .my-sm-auto {\\n margin-bottom: auto !important; }\\n .ml-sm-auto,\\n .mx-sm-auto {\\n margin-left: auto !important; } }\\n\\n@media (min-width: 768px) {\\n .m-md-0 {\\n margin: 0 !important; }\\n .mt-md-0,\\n .my-md-0 {\\n margin-top: 0 !important; }\\n .mr-md-0,\\n .mx-md-0 {\\n margin-right: 0 !important; }\\n .mb-md-0,\\n .my-md-0 {\\n margin-bottom: 0 !important; }\\n .ml-md-0,\\n .mx-md-0 {\\n margin-left: 0 !important; }\\n .m-md-1 {\\n margin: 0.25rem !important; }\\n .mt-md-1,\\n .my-md-1 {\\n margin-top: 0.25rem !important; }\\n .mr-md-1,\\n .mx-md-1 {\\n margin-right: 0.25rem !important; }\\n .mb-md-1,\\n .my-md-1 {\\n margin-bottom: 0.25rem !important; }\\n .ml-md-1,\\n .mx-md-1 {\\n margin-left: 0.25rem !important; }\\n .m-md-2 {\\n margin: 0.5rem !important; }\\n .mt-md-2,\\n .my-md-2 {\\n margin-top: 0.5rem !important; }\\n .mr-md-2,\\n .mx-md-2 {\\n margin-right: 0.5rem !important; }\\n .mb-md-2,\\n .my-md-2 {\\n margin-bottom: 0.5rem !important; }\\n .ml-md-2,\\n .mx-md-2 {\\n margin-left: 0.5rem !important; }\\n .m-md-3 {\\n margin: 1rem !important; }\\n .mt-md-3,\\n .my-md-3 {\\n margin-top: 1rem !important; }\\n .mr-md-3,\\n .mx-md-3 {\\n margin-right: 1rem !important; }\\n .mb-md-3,\\n .my-md-3 {\\n margin-bottom: 1rem !important; }\\n .ml-md-3,\\n .mx-md-3 {\\n margin-left: 1rem !important; }\\n .m-md-4 {\\n margin: 1.5rem !important; }\\n .mt-md-4,\\n .my-md-4 {\\n margin-top: 1.5rem !important; }\\n .mr-md-4,\\n .mx-md-4 {\\n margin-right: 1.5rem !important; }\\n .mb-md-4,\\n .my-md-4 {\\n margin-bottom: 1.5rem !important; }\\n .ml-md-4,\\n .mx-md-4 {\\n margin-left: 1.5rem !important; }\\n .m-md-5 {\\n margin: 3rem !important; }\\n .mt-md-5,\\n .my-md-5 {\\n margin-top: 3rem !important; }\\n .mr-md-5,\\n .mx-md-5 {\\n margin-right: 3rem !important; }\\n .mb-md-5,\\n .my-md-5 {\\n margin-bottom: 3rem !important; }\\n .ml-md-5,\\n .mx-md-5 {\\n margin-left: 3rem !important; }\\n .p-md-0 {\\n padding: 0 !important; }\\n .pt-md-0,\\n .py-md-0 {\\n padding-top: 0 !important; }\\n .pr-md-0,\\n .px-md-0 {\\n padding-right: 0 !important; }\\n .pb-md-0,\\n .py-md-0 {\\n padding-bottom: 0 !important; }\\n .pl-md-0,\\n .px-md-0 {\\n padding-left: 0 !important; }\\n .p-md-1 {\\n padding: 0.25rem !important; }\\n .pt-md-1,\\n .py-md-1 {\\n padding-top: 0.25rem !important; }\\n .pr-md-1,\\n .px-md-1 {\\n padding-right: 0.25rem !important; }\\n .pb-md-1,\\n .py-md-1 {\\n padding-bottom: 0.25rem !important; }\\n .pl-md-1,\\n .px-md-1 {\\n padding-left: 0.25rem !important; }\\n .p-md-2 {\\n padding: 0.5rem !important; }\\n .pt-md-2,\\n .py-md-2 {\\n padding-top: 0.5rem !important; }\\n .pr-md-2,\\n .px-md-2 {\\n padding-right: 0.5rem !important; }\\n .pb-md-2,\\n .py-md-2 {\\n padding-bottom: 0.5rem !important; }\\n .pl-md-2,\\n .px-md-2 {\\n padding-left: 0.5rem !important; }\\n .p-md-3 {\\n padding: 1rem !important; }\\n .pt-md-3,\\n .py-md-3 {\\n padding-top: 1rem !important; }\\n .pr-md-3,\\n .px-md-3 {\\n padding-right: 1rem !important; }\\n .pb-md-3,\\n .py-md-3 {\\n padding-bottom: 1rem !important; }\\n .pl-md-3,\\n .px-md-3 {\\n padding-left: 1rem !important; }\\n .p-md-4 {\\n padding: 1.5rem !important; }\\n .pt-md-4,\\n .py-md-4 {\\n padding-top: 1.5rem !important; }\\n .pr-md-4,\\n .px-md-4 {\\n padding-right: 1.5rem !important; }\\n .pb-md-4,\\n .py-md-4 {\\n padding-bottom: 1.5rem !important; }\\n .pl-md-4,\\n .px-md-4 {\\n padding-left: 1.5rem !important; }\\n .p-md-5 {\\n padding: 3rem !important; }\\n .pt-md-5,\\n .py-md-5 {\\n padding-top: 3rem !important; }\\n .pr-md-5,\\n .px-md-5 {\\n padding-right: 3rem !important; }\\n .pb-md-5,\\n .py-md-5 {\\n padding-bottom: 3rem !important; }\\n .pl-md-5,\\n .px-md-5 {\\n padding-left: 3rem !important; }\\n .m-md-n1 {\\n margin: -0.25rem !important; }\\n .mt-md-n1,\\n .my-md-n1 {\\n margin-top: -0.25rem !important; }\\n .mr-md-n1,\\n .mx-md-n1 {\\n margin-right: -0.25rem !important; }\\n .mb-md-n1,\\n .my-md-n1 {\\n margin-bottom: -0.25rem !important; }\\n .ml-md-n1,\\n .mx-md-n1 {\\n margin-left: -0.25rem !important; }\\n .m-md-n2 {\\n margin: -0.5rem !important; }\\n .mt-md-n2,\\n .my-md-n2 {\\n margin-top: -0.5rem !important; }\\n .mr-md-n2,\\n .mx-md-n2 {\\n margin-right: -0.5rem !important; }\\n .mb-md-n2,\\n .my-md-n2 {\\n margin-bottom: -0.5rem !important; }\\n .ml-md-n2,\\n .mx-md-n2 {\\n margin-left: -0.5rem !important; }\\n .m-md-n3 {\\n margin: -1rem !important; }\\n .mt-md-n3,\\n .my-md-n3 {\\n margin-top: -1rem !important; }\\n .mr-md-n3,\\n .mx-md-n3 {\\n margin-right: -1rem !important; }\\n .mb-md-n3,\\n .my-md-n3 {\\n margin-bottom: -1rem !important; }\\n .ml-md-n3,\\n .mx-md-n3 {\\n margin-left: -1rem !important; }\\n .m-md-n4 {\\n margin: -1.5rem !important; }\\n .mt-md-n4,\\n .my-md-n4 {\\n margin-top: -1.5rem !important; }\\n .mr-md-n4,\\n .mx-md-n4 {\\n margin-right: -1.5rem !important; }\\n .mb-md-n4,\\n .my-md-n4 {\\n margin-bottom: -1.5rem !important; }\\n .ml-md-n4,\\n .mx-md-n4 {\\n margin-left: -1.5rem !important; }\\n .m-md-n5 {\\n margin: -3rem !important; }\\n .mt-md-n5,\\n .my-md-n5 {\\n margin-top: -3rem !important; }\\n .mr-md-n5,\\n .mx-md-n5 {\\n margin-right: -3rem !important; }\\n .mb-md-n5,\\n .my-md-n5 {\\n margin-bottom: -3rem !important; }\\n .ml-md-n5,\\n .mx-md-n5 {\\n margin-left: -3rem !important; }\\n .m-md-auto {\\n margin: auto !important; }\\n .mt-md-auto,\\n .my-md-auto {\\n margin-top: auto !important; }\\n .mr-md-auto,\\n .mx-md-auto {\\n margin-right: auto !important; }\\n .mb-md-auto,\\n .my-md-auto {\\n margin-bottom: auto !important; }\\n .ml-md-auto,\\n .mx-md-auto {\\n margin-left: auto !important; } }\\n\\n@media (min-width: 992px) {\\n .m-lg-0 {\\n margin: 0 !important; }\\n .mt-lg-0,\\n .my-lg-0 {\\n margin-top: 0 !important; }\\n .mr-lg-0,\\n .mx-lg-0 {\\n margin-right: 0 !important; }\\n .mb-lg-0,\\n .my-lg-0 {\\n margin-bottom: 0 !important; }\\n .ml-lg-0,\\n .mx-lg-0 {\\n margin-left: 0 !important; }\\n .m-lg-1 {\\n margin: 0.25rem !important; }\\n .mt-lg-1,\\n .my-lg-1 {\\n margin-top: 0.25rem !important; }\\n .mr-lg-1,\\n .mx-lg-1 {\\n margin-right: 0.25rem !important; }\\n .mb-lg-1,\\n .my-lg-1 {\\n margin-bottom: 0.25rem !important; }\\n .ml-lg-1,\\n .mx-lg-1 {\\n margin-left: 0.25rem !important; }\\n .m-lg-2 {\\n margin: 0.5rem !important; }\\n .mt-lg-2,\\n .my-lg-2 {\\n margin-top: 0.5rem !important; }\\n .mr-lg-2,\\n .mx-lg-2 {\\n margin-right: 0.5rem !important; }\\n .mb-lg-2,\\n .my-lg-2 {\\n margin-bottom: 0.5rem !important; }\\n .ml-lg-2,\\n .mx-lg-2 {\\n margin-left: 0.5rem !important; }\\n .m-lg-3 {\\n margin: 1rem !important; }\\n .mt-lg-3,\\n .my-lg-3 {\\n margin-top: 1rem !important; }\\n .mr-lg-3,\\n .mx-lg-3 {\\n margin-right: 1rem !important; }\\n .mb-lg-3,\\n .my-lg-3 {\\n margin-bottom: 1rem !important; }\\n .ml-lg-3,\\n .mx-lg-3 {\\n margin-left: 1rem !important; }\\n .m-lg-4 {\\n margin: 1.5rem !important; }\\n .mt-lg-4,\\n .my-lg-4 {\\n margin-top: 1.5rem !important; }\\n .mr-lg-4,\\n .mx-lg-4 {\\n margin-right: 1.5rem !important; }\\n .mb-lg-4,\\n .my-lg-4 {\\n margin-bottom: 1.5rem !important; }\\n .ml-lg-4,\\n .mx-lg-4 {\\n margin-left: 1.5rem !important; }\\n .m-lg-5 {\\n margin: 3rem !important; }\\n .mt-lg-5,\\n .my-lg-5 {\\n margin-top: 3rem !important; }\\n .mr-lg-5,\\n .mx-lg-5 {\\n margin-right: 3rem !important; }\\n .mb-lg-5,\\n .my-lg-5 {\\n margin-bottom: 3rem !important; }\\n .ml-lg-5,\\n .mx-lg-5 {\\n margin-left: 3rem !important; }\\n .p-lg-0 {\\n padding: 0 !important; }\\n .pt-lg-0,\\n .py-lg-0 {\\n padding-top: 0 !important; }\\n .pr-lg-0,\\n .px-lg-0 {\\n padding-right: 0 !important; }\\n .pb-lg-0,\\n .py-lg-0 {\\n padding-bottom: 0 !important; }\\n .pl-lg-0,\\n .px-lg-0 {\\n padding-left: 0 !important; }\\n .p-lg-1 {\\n padding: 0.25rem !important; }\\n .pt-lg-1,\\n .py-lg-1 {\\n padding-top: 0.25rem !important; }\\n .pr-lg-1,\\n .px-lg-1 {\\n padding-right: 0.25rem !important; }\\n .pb-lg-1,\\n .py-lg-1 {\\n padding-bottom: 0.25rem !important; }\\n .pl-lg-1,\\n .px-lg-1 {\\n padding-left: 0.25rem !important; }\\n .p-lg-2 {\\n padding: 0.5rem !important; }\\n .pt-lg-2,\\n .py-lg-2 {\\n padding-top: 0.5rem !important; }\\n .pr-lg-2,\\n .px-lg-2 {\\n padding-right: 0.5rem !important; }\\n .pb-lg-2,\\n .py-lg-2 {\\n padding-bottom: 0.5rem !important; }\\n .pl-lg-2,\\n .px-lg-2 {\\n padding-left: 0.5rem !important; }\\n .p-lg-3 {\\n padding: 1rem !important; }\\n .pt-lg-3,\\n .py-lg-3 {\\n padding-top: 1rem !important; }\\n .pr-lg-3,\\n .px-lg-3 {\\n padding-right: 1rem !important; }\\n .pb-lg-3,\\n .py-lg-3 {\\n padding-bottom: 1rem !important; }\\n .pl-lg-3,\\n .px-lg-3 {\\n padding-left: 1rem !important; }\\n .p-lg-4 {\\n padding: 1.5rem !important; }\\n .pt-lg-4,\\n .py-lg-4 {\\n padding-top: 1.5rem !important; }\\n .pr-lg-4,\\n .px-lg-4 {\\n padding-right: 1.5rem !important; }\\n .pb-lg-4,\\n .py-lg-4 {\\n padding-bottom: 1.5rem !important; }\\n .pl-lg-4,\\n .px-lg-4 {\\n padding-left: 1.5rem !important; }\\n .p-lg-5 {\\n padding: 3rem !important; }\\n .pt-lg-5,\\n .py-lg-5 {\\n padding-top: 3rem !important; }\\n .pr-lg-5,\\n .px-lg-5 {\\n padding-right: 3rem !important; }\\n .pb-lg-5,\\n .py-lg-5 {\\n padding-bottom: 3rem !important; }\\n .pl-lg-5,\\n .px-lg-5 {\\n padding-left: 3rem !important; }\\n .m-lg-n1 {\\n margin: -0.25rem !important; }\\n .mt-lg-n1,\\n .my-lg-n1 {\\n margin-top: -0.25rem !important; }\\n .mr-lg-n1,\\n .mx-lg-n1 {\\n margin-right: -0.25rem !important; }\\n .mb-lg-n1,\\n .my-lg-n1 {\\n margin-bottom: -0.25rem !important; }\\n .ml-lg-n1,\\n .mx-lg-n1 {\\n margin-left: -0.25rem !important; }\\n .m-lg-n2 {\\n margin: -0.5rem !important; }\\n .mt-lg-n2,\\n .my-lg-n2 {\\n margin-top: -0.5rem !important; }\\n .mr-lg-n2,\\n .mx-lg-n2 {\\n margin-right: -0.5rem !important; }\\n .mb-lg-n2,\\n .my-lg-n2 {\\n margin-bottom: -0.5rem !important; }\\n .ml-lg-n2,\\n .mx-lg-n2 {\\n margin-left: -0.5rem !important; }\\n .m-lg-n3 {\\n margin: -1rem !important; }\\n .mt-lg-n3,\\n .my-lg-n3 {\\n margin-top: -1rem !important; }\\n .mr-lg-n3,\\n .mx-lg-n3 {\\n margin-right: -1rem !important; }\\n .mb-lg-n3,\\n .my-lg-n3 {\\n margin-bottom: -1rem !important; }\\n .ml-lg-n3,\\n .mx-lg-n3 {\\n margin-left: -1rem !important; }\\n .m-lg-n4 {\\n margin: -1.5rem !important; }\\n .mt-lg-n4,\\n .my-lg-n4 {\\n margin-top: -1.5rem !important; }\\n .mr-lg-n4,\\n .mx-lg-n4 {\\n margin-right: -1.5rem !important; }\\n .mb-lg-n4,\\n .my-lg-n4 {\\n margin-bottom: -1.5rem !important; }\\n .ml-lg-n4,\\n .mx-lg-n4 {\\n margin-left: -1.5rem !important; }\\n .m-lg-n5 {\\n margin: -3rem !important; }\\n .mt-lg-n5,\\n .my-lg-n5 {\\n margin-top: -3rem !important; }\\n .mr-lg-n5,\\n .mx-lg-n5 {\\n margin-right: -3rem !important; }\\n .mb-lg-n5,\\n .my-lg-n5 {\\n margin-bottom: -3rem !important; }\\n .ml-lg-n5,\\n .mx-lg-n5 {\\n margin-left: -3rem !important; }\\n .m-lg-auto {\\n margin: auto !important; }\\n .mt-lg-auto,\\n .my-lg-auto {\\n margin-top: auto !important; }\\n .mr-lg-auto,\\n .mx-lg-auto {\\n margin-right: auto !important; }\\n .mb-lg-auto,\\n .my-lg-auto {\\n margin-bottom: auto !important; }\\n .ml-lg-auto,\\n .mx-lg-auto {\\n margin-left: auto !important; } }\\n\\n@media (min-width: 1200px) {\\n .m-xl-0 {\\n margin: 0 !important; }\\n .mt-xl-0,\\n .my-xl-0 {\\n margin-top: 0 !important; }\\n .mr-xl-0,\\n .mx-xl-0 {\\n margin-right: 0 !important; }\\n .mb-xl-0,\\n .my-xl-0 {\\n margin-bottom: 0 !important; }\\n .ml-xl-0,\\n .mx-xl-0 {\\n margin-left: 0 !important; }\\n .m-xl-1 {\\n margin: 0.25rem !important; }\\n .mt-xl-1,\\n .my-xl-1 {\\n margin-top: 0.25rem !important; }\\n .mr-xl-1,\\n .mx-xl-1 {\\n margin-right: 0.25rem !important; }\\n .mb-xl-1,\\n .my-xl-1 {\\n margin-bottom: 0.25rem !important; }\\n .ml-xl-1,\\n .mx-xl-1 {\\n margin-left: 0.25rem !important; }\\n .m-xl-2 {\\n margin: 0.5rem !important; }\\n .mt-xl-2,\\n .my-xl-2 {\\n margin-top: 0.5rem !important; }\\n .mr-xl-2,\\n .mx-xl-2 {\\n margin-right: 0.5rem !important; }\\n .mb-xl-2,\\n .my-xl-2 {\\n margin-bottom: 0.5rem !important; }\\n .ml-xl-2,\\n .mx-xl-2 {\\n margin-left: 0.5rem !important; }\\n .m-xl-3 {\\n margin: 1rem !important; }\\n .mt-xl-3,\\n .my-xl-3 {\\n margin-top: 1rem !important; }\\n .mr-xl-3,\\n .mx-xl-3 {\\n margin-right: 1rem !important; }\\n .mb-xl-3,\\n .my-xl-3 {\\n margin-bottom: 1rem !important; }\\n .ml-xl-3,\\n .mx-xl-3 {\\n margin-left: 1rem !important; }\\n .m-xl-4 {\\n margin: 1.5rem !important; }\\n .mt-xl-4,\\n .my-xl-4 {\\n margin-top: 1.5rem !important; }\\n .mr-xl-4,\\n .mx-xl-4 {\\n margin-right: 1.5rem !important; }\\n .mb-xl-4,\\n .my-xl-4 {\\n margin-bottom: 1.5rem !important; }\\n .ml-xl-4,\\n .mx-xl-4 {\\n margin-left: 1.5rem !important; }\\n .m-xl-5 {\\n margin: 3rem !important; }\\n .mt-xl-5,\\n .my-xl-5 {\\n margin-top: 3rem !important; }\\n .mr-xl-5,\\n .mx-xl-5 {\\n margin-right: 3rem !important; }\\n .mb-xl-5,\\n .my-xl-5 {\\n margin-bottom: 3rem !important; }\\n .ml-xl-5,\\n .mx-xl-5 {\\n margin-left: 3rem !important; }\\n .p-xl-0 {\\n padding: 0 !important; }\\n .pt-xl-0,\\n .py-xl-0 {\\n padding-top: 0 !important; }\\n .pr-xl-0,\\n .px-xl-0 {\\n padding-right: 0 !important; }\\n .pb-xl-0,\\n .py-xl-0 {\\n padding-bottom: 0 !important; }\\n .pl-xl-0,\\n .px-xl-0 {\\n padding-left: 0 !important; }\\n .p-xl-1 {\\n padding: 0.25rem !important; }\\n .pt-xl-1,\\n .py-xl-1 {\\n padding-top: 0.25rem !important; }\\n .pr-xl-1,\\n .px-xl-1 {\\n padding-right: 0.25rem !important; }\\n .pb-xl-1,\\n .py-xl-1 {\\n padding-bottom: 0.25rem !important; }\\n .pl-xl-1,\\n .px-xl-1 {\\n padding-left: 0.25rem !important; }\\n .p-xl-2 {\\n padding: 0.5rem !important; }\\n .pt-xl-2,\\n .py-xl-2 {\\n padding-top: 0.5rem !important; }\\n .pr-xl-2,\\n .px-xl-2 {\\n padding-right: 0.5rem !important; }\\n .pb-xl-2,\\n .py-xl-2 {\\n padding-bottom: 0.5rem !important; }\\n .pl-xl-2,\\n .px-xl-2 {\\n padding-left: 0.5rem !important; }\\n .p-xl-3 {\\n padding: 1rem !important; }\\n .pt-xl-3,\\n .py-xl-3 {\\n padding-top: 1rem !important; }\\n .pr-xl-3,\\n .px-xl-3 {\\n padding-right: 1rem !important; }\\n .pb-xl-3,\\n .py-xl-3 {\\n padding-bottom: 1rem !important; }\\n .pl-xl-3,\\n .px-xl-3 {\\n padding-left: 1rem !important; }\\n .p-xl-4 {\\n padding: 1.5rem !important; }\\n .pt-xl-4,\\n .py-xl-4 {\\n padding-top: 1.5rem !important; }\\n .pr-xl-4,\\n .px-xl-4 {\\n padding-right: 1.5rem !important; }\\n .pb-xl-4,\\n .py-xl-4 {\\n padding-bottom: 1.5rem !important; }\\n .pl-xl-4,\\n .px-xl-4 {\\n padding-left: 1.5rem !important; }\\n .p-xl-5 {\\n padding: 3rem !important; }\\n .pt-xl-5,\\n .py-xl-5 {\\n padding-top: 3rem !important; }\\n .pr-xl-5,\\n .px-xl-5 {\\n padding-right: 3rem !important; }\\n .pb-xl-5,\\n .py-xl-5 {\\n padding-bottom: 3rem !important; }\\n .pl-xl-5,\\n .px-xl-5 {\\n padding-left: 3rem !important; }\\n .m-xl-n1 {\\n margin: -0.25rem !important; }\\n .mt-xl-n1,\\n .my-xl-n1 {\\n margin-top: -0.25rem !important; }\\n .mr-xl-n1,\\n .mx-xl-n1 {\\n margin-right: -0.25rem !important; }\\n .mb-xl-n1,\\n .my-xl-n1 {\\n margin-bottom: -0.25rem !important; }\\n .ml-xl-n1,\\n .mx-xl-n1 {\\n margin-left: -0.25rem !important; }\\n .m-xl-n2 {\\n margin: -0.5rem !important; }\\n .mt-xl-n2,\\n .my-xl-n2 {\\n margin-top: -0.5rem !important; }\\n .mr-xl-n2,\\n .mx-xl-n2 {\\n margin-right: -0.5rem !important; }\\n .mb-xl-n2,\\n .my-xl-n2 {\\n margin-bottom: -0.5rem !important; }\\n .ml-xl-n2,\\n .mx-xl-n2 {\\n margin-left: -0.5rem !important; }\\n .m-xl-n3 {\\n margin: -1rem !important; }\\n .mt-xl-n3,\\n .my-xl-n3 {\\n margin-top: -1rem !important; }\\n .mr-xl-n3,\\n .mx-xl-n3 {\\n margin-right: -1rem !important; }\\n .mb-xl-n3,\\n .my-xl-n3 {\\n margin-bottom: -1rem !important; }\\n .ml-xl-n3,\\n .mx-xl-n3 {\\n margin-left: -1rem !important; }\\n .m-xl-n4 {\\n margin: -1.5rem !important; }\\n .mt-xl-n4,\\n .my-xl-n4 {\\n margin-top: -1.5rem !important; }\\n .mr-xl-n4,\\n .mx-xl-n4 {\\n margin-right: -1.5rem !important; }\\n .mb-xl-n4,\\n .my-xl-n4 {\\n margin-bottom: -1.5rem !important; }\\n .ml-xl-n4,\\n .mx-xl-n4 {\\n margin-left: -1.5rem !important; }\\n .m-xl-n5 {\\n margin: -3rem !important; }\\n .mt-xl-n5,\\n .my-xl-n5 {\\n margin-top: -3rem !important; }\\n .mr-xl-n5,\\n .mx-xl-n5 {\\n margin-right: -3rem !important; }\\n .mb-xl-n5,\\n .my-xl-n5 {\\n margin-bottom: -3rem !important; }\\n .ml-xl-n5,\\n .mx-xl-n5 {\\n margin-left: -3rem !important; }\\n .m-xl-auto {\\n margin: auto !important; }\\n .mt-xl-auto,\\n .my-xl-auto {\\n margin-top: auto !important; }\\n .mr-xl-auto,\\n .mx-xl-auto {\\n margin-right: auto !important; }\\n .mb-xl-auto,\\n .my-xl-auto {\\n margin-bottom: auto !important; }\\n .ml-xl-auto,\\n .mx-xl-auto {\\n margin-left: auto !important; } }\\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 pointer-events: auto;\\n content: \\\"\\\";\\n background-color: rgba(0, 0, 0, 0); }\\n\\n.text-monospace {\\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace !important; }\\n\\n.text-justify {\\n text-align: justify !important; }\\n\\n.text-wrap {\\n white-space: normal !important; }\\n\\n.text-nowrap {\\n white-space: nowrap !important; }\\n\\n.text-truncate {\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap; }\\n\\n.text-left {\\n text-align: left !important; }\\n\\n.text-right {\\n text-align: right !important; }\\n\\n.text-center {\\n text-align: center !important; }\\n\\n@media (min-width: 576px) {\\n .text-sm-left {\\n text-align: left !important; }\\n .text-sm-right {\\n text-align: right !important; }\\n .text-sm-center {\\n text-align: center !important; } }\\n\\n@media (min-width: 768px) {\\n .text-md-left {\\n text-align: left !important; }\\n .text-md-right {\\n text-align: right !important; }\\n .text-md-center {\\n text-align: center !important; } }\\n\\n@media (min-width: 992px) {\\n .text-lg-left {\\n text-align: left !important; }\\n .text-lg-right {\\n text-align: right !important; }\\n .text-lg-center {\\n text-align: center !important; } }\\n\\n@media (min-width: 1200px) {\\n .text-xl-left {\\n text-align: left !important; }\\n .text-xl-right {\\n text-align: right !important; }\\n .text-xl-center {\\n text-align: center !important; } }\\n\\n.text-lowercase {\\n text-transform: lowercase !important; }\\n\\n.text-uppercase {\\n text-transform: uppercase !important; }\\n\\n.text-capitalize {\\n text-transform: capitalize !important; }\\n\\n.font-weight-light {\\n font-weight: 300 !important; }\\n\\n.font-weight-lighter {\\n font-weight: lighter !important; }\\n\\n.font-weight-normal {\\n font-weight: 400 !important; }\\n\\n.font-weight-bold {\\n font-weight: 700 !important; }\\n\\n.font-weight-bolder {\\n font-weight: bolder !important; }\\n\\n.font-italic {\\n font-style: italic !important; }\\n\\n.text-white {\\n color: #fff !important; }\\n\\n.text-primary {\\n color: #007bff !important; }\\n\\na.text-primary:hover, a.text-primary:focus {\\n color: #0056b3 !important; }\\n\\n.text-secondary {\\n color: #6c757d !important; }\\n\\na.text-secondary:hover, a.text-secondary:focus {\\n color: #494f54 !important; }\\n\\n.text-success {\\n color: #28a745 !important; }\\n\\na.text-success:hover, a.text-success:focus {\\n color: #19692c !important; }\\n\\n.text-info {\\n color: #17a2b8 !important; }\\n\\na.text-info:hover, a.text-info:focus {\\n color: #0f6674 !important; }\\n\\n.text-warning {\\n color: #ffc107 !important; }\\n\\na.text-warning:hover, a.text-warning:focus {\\n color: #ba8b00 !important; }\\n\\n.text-danger {\\n color: #dc3545 !important; }\\n\\na.text-danger:hover, a.text-danger:focus {\\n color: #a71d2a !important; }\\n\\n.text-light {\\n color: #f8f9fa !important; }\\n\\na.text-light:hover, a.text-light:focus {\\n color: #cbd3da !important; }\\n\\n.text-dark {\\n color: #343a40 !important; }\\n\\na.text-dark:hover, a.text-dark:focus {\\n color: #121416 !important; }\\n\\n.text-body {\\n color: #212529 !important; }\\n\\n.text-muted {\\n color: #6c757d !important; }\\n\\n.text-black-50 {\\n color: rgba(0, 0, 0, 0.5) !important; }\\n\\n.text-white-50 {\\n color: rgba(255, 255, 255, 0.5) !important; }\\n\\n.text-hide {\\n font: 0/0 a;\\n color: transparent;\\n text-shadow: none;\\n background-color: transparent;\\n border: 0; }\\n\\n.text-decoration-none {\\n text-decoration: none !important; }\\n\\n.text-break {\\n word-wrap: break-word !important; }\\n\\n.text-reset {\\n color: inherit !important; }\\n\\n.visible {\\n visibility: visible !important; }\\n\\n.invisible {\\n visibility: hidden !important; }\\n\", \"\",{\"version\":3,\"sources\":[\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_root.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_reboot.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_variables.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/vendor/_rfs.scss\",\"application.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/mixins/_hover.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_type.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/mixins/_lists.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_alert.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/mixins/_border-radius.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/mixins/_alert.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_functions.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/mixins/_gradients.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_badge.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/mixins/_transition.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/mixins/_badge.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_breadcrumb.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_button-group.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_buttons.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/mixins/_buttons.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_card.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/mixins/_breakpoints.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_carousel.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/mixins/_clearfix.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_close.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_code.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_custom-forms.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_dropdown.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/mixins/_caret.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/mixins/_nav-divider.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_forms.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/mixins/_forms.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_grid.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/mixins/_grid.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/mixins/_grid-framework.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_images.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/mixins/_image.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_input-group.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_jumbotron.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_list-group.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/mixins/_list-group.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_media.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_modal.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_nav.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_navbar.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_pagination.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/mixins/_pagination.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_popover.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/mixins/_reset-text.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_print.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_progress.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_spinners.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_tables.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/mixins/_table-row.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_toasts.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_tooltip.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/_transitions.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/utilities/_align.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/mixins/_background-variant.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/utilities/_background.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/utilities/_borders.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/utilities/_display.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/utilities/_embed.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/utilities/_flex.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/utilities/_float.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/utilities/_interactions.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/utilities/_overflow.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/utilities/_position.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/utilities/_screenreaders.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/mixins/_screen-reader.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/utilities/_shadows.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/utilities/_sizing.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/utilities/_spacing.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/utilities/_stretched-link.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/utilities/_text.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/mixins/_text-truncate.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/mixins/_text-emphasis.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/mixins/_text-hide.scss\",\"/home/ubuntu/molecular_clock/node_modules/bootstrap/scss/utilities/_visibility.scss\"],\"names\":[],\"mappings\":\"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AkB;EAClB,eAAe,EAAA;;AAGjB;EACE,aAAa,EAAA;;AG3Lf;EHiME,wBAAwB,EAAA;;AKxd1B;;EAEE,qBJ2SuC;EIzSvC,gBJ2S+B;EI1S/B,gBJ2S+B,EAAA;;AIvSjC;EHgHM,iBAtCY,EAAA;;AGzElB;EH+GM,eAtCY,EAAA;;AGxElB;EH8GM,kBAtCY,EAAA;;AGvElB;EH6GM,iBAtCY,EAAA;;AGtElB;EH4GM,kBAtCY,EAAA;;AGrElB;EH2GM,eAtCY,EAAA;;AGnElB;EHyGM,kBAtCY;EGjEhB,gBJ6S+B,EAAA;;AIzSjC;EHmGM,eAtCY;EG3DhB,gBJgS+B;EI/R/B,gBJuR+B,EAAA;;AIrRjC;EH8FM,iBAtCY;EGtDhB,gBJ4R+B;EI3R/B,gBJkR+B,EAAA;;AIhRjC;EHyFM,iBAtCY;EGjDhB,gBJwR+B;EIvR/B,gBJ6Q+B,EAAA;;AI3QjC;EHoFM,iBAtCY;EG5ChB,gBJoR+B;EInR/B,gBJwQ+B,EAAA;;AD3OjC;EKpBE,gBJmFW;EIlFX,mBJkFW;EIjFX,SAAS;EACT,wCJzCa,EAAA;;AIiDf;;EHMI,cAAW;EGHb,gBJgO+B,EAAA;;AI7NjC;;EAEE,cJwQgC;EIvQhC,yBJgRmC,EAAA;;AIxQrC;EC/EE,eAAe;EACf,gBAAgB,EAAA;;ADmFlB;ECpFE,eAAe;EACf,gBAAgB,EAAA;;ADsFlB;EACE,qBAAqB,EAAA;;AADvB;IAII,oBJ0P+B,EAAA;;AIhPnC;EHjCI,cAAW;EGmCb,yBAAyB,EAAA;;AAI3B;EACE,mBJ0BW;ECXP,kBAtCY,EAAA;;AG2BlB;EACE,cAAc;EH7CZ,cAAW;EG+Cb,cJ1GgB,EAAA;;AIuGlB;IAMI,qBAAqB,EAAA;;AEtHzB;EACE,kBAAkB;EAClB,wBNw9ByC;EMv9BzC,mBNw9BsC;EMv9BtC,6BAA6C;ECU3C,sBPkOgC,EAAA;;AMvOpC;EAEE,cAAc,EAAA;;AAIhB;EACE,gBNkR+B,EAAA;;AM1QjC;EACE,mBAAsD,EAAA;;AADxD;IAKI,kBAAkB;IAClB,MAAM;IACN,QAAQ;IACR,wBN07BuC;IMz7BvC,cAAc,EAAA;;AAUhB;EE9CA,cCqGgE;E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iBDb,qBjBCa,EAAA;;AiBMf;;IAGE,WjBtCW;IiBuCX,yBAzCuK;IA6CvK,qBA7C+M,EAAA;;AA+C/M;;MAKI,gDAAiF,EAAA;;ADQvF;EC3DA,WjBCa;EUDX,yBVOc;EiBLhB,qBjBKgB,EAAA;;AGDhB;IcAE,WjBLW;IUDX,yBODoF;IASpF,qBATyH,EAAA;;AAY3H;IAEE,WjBZW;IUDX,yBODoF;IAgBpF,qBAhByH;IAqBvH,iDAAiF,EAAA;;AAKrF;IAEE,WjB1BW;IiB2BX,yBjBrBc;IiBsBd,qBjBtBc,EAAA;;AiB6BhB;;IAGE,WjBtCW;IiBuCX,yBAzCuK;IA6CvK,qBA7C+M,EAAA;;AA+C/M;;MAKI,iDAAiF,EAAA;;ADQvF;EC3DA,WjBCa;EUDX,yBVqCa;EiBnCf,qBjBmCe,EAAA;;AG/Bf;IcAE,WjBLW;IUDX,yBODoF;IASpF,qBATyH,EAAA;;AAY3H;IAEE,WjBZW;IUDX,yBODoF;IAgBpF,qBAhByH;IAqBvH,+CAAiF,EAAA;;AAKrF;IAEE,WjB1BW;IiB2BX,yBjBSa;IiBRb,qBjBQa,EAAA;;AiBDf;;IAGE,WjBtCW;IiBuCX,yBAzCuK;IA6CvK,qBA7C+M,EAAA;;AA+C/M;;MAKI,+CAAiF,EAAA;;ADQvF;EC3DA,WjBCa;EUDX,yBVuCa;EiBrCf,qBjBqCe,EAAA;;AGjCf;IcAE,WjBLW;IUDX,yBODoF;IASpF,qBATyH,EAAA;;AAY3H;IAEE,WjBZW;IUDX,yBODoF;IAgBpF,qBAhByH;IAqBvH,gDAAiF,EAAA;;AAKrF;IAEE,WjB1BW;IiB2BX,yBjBWa;IiBVb,qBjBUa,EAAA;;AiBHf;;IAGE,WjBtCW;IiBuCX,yBAzCuK;IA6CvK,qBA7C+M,EAAA;;AA+C/M;;MAKI,gDAAiF,EAAA;;ADQvF;EC3DA,cjBUgB;EUVd,yBVoCa;EiBlCf,qBjBkCe,EAAA;;AG9Bf;IcAE,cjBIc;IUVd,yBODoF;IASpF,qBATyH,EAAA;;AAY3H;IAEE,cjBHc;IUVd,yBODoF;IAgBpF,qBAhByH;IAqBvH,gDAAiF,EAAA;;AAKrF;IAEE,cjBjBc;IiBkBd,yBjBQa;IiBPb,qBjBOa,EAAA;;AiBAf;;IAGE,cjB7Bc;IiB8Bd,yBAzCuK;IA6CvK,qBA7C+M,EAAA;;AA+C/M;;MAKI,gDAAiF,EAAA;;ADQvF;EC3DA,WjBCa;EUDX,yBVkCa;EiBhCf,qBjBgCe,EAAA;;AG5Bf;IcAE,WjBLW;IUDX,yBODoF;IASpF,qBATyH,EAAA;;AAY3H;IAEE,WjBZW;IUDX,yBODoF;IAgBpF,qBAhByH;IAqBvH,+CAAiF,EAAA;;AAKrF;IAEE,WjB1BW;IiB2BX,yBjBMa;IiBLb,qBjBKa,EAAA;;AiBEf;;IAGE,WjBtCW;IiBuCX,yBAzCuK;IA6CvK,qBA7C+M,EAAA;;AA+C/M;;MAKI,+CAAiF,EAAA;;ADQvF;EC3DA,cjBUgB;EUVd,yBVEc;EiBAhB,qBjBAgB,EAAA;;AGIhB;IcAE,cjBIc;IUVd,yBODoF;IASpF,qBATyH,EAAA;;AAY3H;IAEE,cjBHc;IUVd,yBODoF;IAgBpF,qBAhByH;IAqBvH,iDAAiF,EAAA;;AAKrF;IAEE,cjBjBc;IiBkBd,yBjB1Bc;IiB2Bd,qBjB3Bc,EAAA;;AiBkChB;;IAGE,cjB7Bc;IiB8Bd,yBAzCuK;IA6CvK,qBA7C+M,EAAA;;AA+C/M;;MAKI,iDAAiF,EAAA;;ADQvF;EC3DA,WjBCa;EUDX,yBVSc;EiBPhB,qBjBOgB,EAAA;;AGHhB;IcAE,WjBLW;IUDX,yBODoF;IASpF,qBATyH,EAAA;;AAY3H;IAEE,WjBZW;IUDX,yBODoF;IAgBpF,qBAhByH;IAqBvH,8CAAiF,EAAA;;AAKrF;IAEE,WjB1BW;IiB2BX,yBjBnBc;IiBoBd,qBjBpBc,EAAA;;AiB2BhB;;IAGE,WjBtCW;IiBuCX,yBAzCuK;IA6CvK,qBA7C+M,EAAA;;AA+C/M;;MAKI,8CAAiF,EAAA;;ADcvF;ECPA,cjB5Be;EiB6Bf,qBjB7Be,EAAA;;AGxBf;IcwDE,WjB7DW;IiB8DX,yBjBjCa;IiBkCb,qBjBlCa,EAAA;;AiBqCf;IAEE,+CjBvCa,EAAA;;AiB0Cf;IAEE,cjB5Ca;IiB6Cb,6BAA6B,EAAA;;AAG/B;;IAGE,WjBhFW;IiBiFX,yBjBpDa;IiBqDb,qBjBrDa,EAAA;;AiBuDb;;MAKI,+CjB5DS,EAAA;;AgBmCf;ECPA,cjBnDgB;EiBoDhB,qBjBpDgB,EAAA;;AGDhB;IcwDE,WjB7DW;IiB8DX,yBjBxDc;IiByDd,qBjBzDc,EAAA;;AiB4DhB;IAEE,iDjB9Dc,EAAA;;AiBiEhB;IAEE,cjBnEc;IiBoEd,6BAA6B,EAAA;;AAG/B;;IAGE,WjBhFW;IiBiFX,yBjB3Ec;IiB4Ed,qBjB5Ec,EAAA;;AiB8Ed;;MAKI,iDjBnFU,EAAA;;AgB0DhB;ECPA,cjBrBe;EiBsBf,qBjBtBe,EAAA;;AG/Bf;IcwDE,WjB7DW;IiB8DX,yBjB1Ba;IiB2Bb,qBjB3Ba,EAAA;;AiB8Bf;IAEE,+CjBhCa,EAAA;;AiBmCf;IAEE,cjBrCa;IiBsCb,6BAA6B,EAAA;;AAG/B;;IAGE,WjBhFW;IiBiFX,yBjB7Ca;IiB8Cb,qBjB9Ca,EAAA;;AiBgDb;;MAKI,+CjBrDS,EAAA;;AgB4Bf;ECPA,cjBnBe;EiBoBf,qBjBpBe,EAAA;;AGjCf;IcwDE,WjB7DW;IiB8DX,yBjBxBa;IiByBb,qBjBzBa,EAAA;;AiB4Bf;IAEE,gDjB9Ba,EAAA;;AiBiCf;IAEE,cjBnCa;IiBoCb,6BAA6B,EAAA;;AAG/B;;IAGE,WjBhFW;IiBiFX,yBjB3Ca;IiB4Cb,qBjB5Ca,EAAA;;AiB8Cb;;MAKI,gDjBnDS,EAAA;;AgB0Bf;ECPA,cjBtBe;EiBuBf,qBjBvBe,EAAA;;AG9Bf;IcwDE,cjBpDc;IiBqDd,yBjB3Ba;IiB4Bb,qBjB5Ba,EAAA;;AiB+Bf;IAEE,+CjBjCa,EAAA;;AiBoCf;IAEE,cjBtCa;IiBuCb,6BAA6B,EAAA;;AAG/B;;IAGE,cjBvEc;IiBwEd,yBjB9Ca;IiB+Cb,qBjB/Ca,EAAA;;AiBiDb;;MAKI,+CjBtDS,EAAA;;AgB6Bf;ECPA,cjBxBe;EiByBf,qBjBzBe,EAAA;;AG5Bf;IcwDE,WjB7DW;IiB8DX,yBjB7Ba;IiB8Bb,qBjB9Ba,EAAA;;AiBiCf;IAEE,+CjBnCa,EAAA;;AiBsCf;IAEE,cjBxCa;IiByCb,6BAA6B,EAAA;;AAG/B;;IAGE,WjBhFW;IiBiFX,yBjBhDa;IiBiDb,qBjBjDa,EAAA;;AiBmDb;;MAKI,+CjBxDS,EAAA;;AgB+Bf;ECPA,cjBxDgB;EiByDhB,qBjBzDgB,EAAA;;AGIhB;IcwDE,cjBpDc;IiBqDd,yBjB7Dc;IiB8Dd,qBjB9Dc,EAAA;;AiBiEhB;IAEE,iDjBnEc,EAAA;;AiBsEhB;IAEE,cjBxEc;IiByEd,6BAA6B,EAAA;;AAG/B;;IAGE,cjBvEc;IiBwEd,yBjBhFc;IiBiFd,qBjBjFc,EAAA;;AiBmFd;;MAKI,iDjBxFU,EAAA;;AgB+DhB;ECPA,cjBjDgB;EiBkDhB,qBjBlDgB,EAAA;;AGHhB;IcwDE,WjB7DW;IiB8DX,yBjBtDc;IiBuDd,qBjBvDc,EAAA;;AiB0DhB;IAEE,8CjB5Dc,EAAA;;AiB+DhB;IAEE,cjBjEc;IiBkEd,6BAA6B,EAAA;;AAG/B;;IAGE,WjBhFW;IiBiFX,yBjBzEc;IiB0Ed,qBjB1Ec,EAAA;;AiB4Ed;;MAKI,8CjBjFU,EAAA;;AgBmElB;EACE,gBhBkN+B;EgBjN/B,chBhDe;EgBiDf,qBhBgG4C,EAAA;;AGzK5C;Ia4EE,chB8F8D;IgB7F9D,0BhB8F+C,EAAA;;AgBrGnD;IAYI,0BhByF+C,EAAA;;AgBrGnD;IAiBI,chBtFc;IgBuFd,oBAAoB,EAAA;;AAWxB;ECPE,oBjB+SgC;ECxR5B,kBAtCY;EgBiBhB,gBjBoI+B;EO5N7B,qBPmO+B,EAAA;;AgBlInC;ECXE,uBjB0SiC;ECnR7B,mBAtCY;EgBiBhB,gBjBqI+B;EO7N7B,qBPoO+B,EAAA;;AgB1HnC;EACE,cAAc;EACd,WAAW,EAAA;;AAFb;IAMI,kBhB4T+B,EAAA;;AgBvTnC;;;EAII,WAAW,EAAA;;AArIf;EACE,qBAAqB;EAErB,gBhB4R+B;EgB3R/B,chBMgB;EgBLhB,kBAAkB;EAGlB,sBAAsB;EACtB,yBAAiB;KAAjB,sBAAiB;MAAjB,qBAAiB;UAAjB,iBAAiB;EACjB,6BAA6B;EAC7B,6BAA2C;ECuF3C,yBjBgSkC;ECzQ9B,eAtCY;EgBiBhB,gBjBgM+B;EOxR7B,sBPkOgC;EYpO9B,qIZqb6I,EAAA;;AYjb7I;IIdN;MJeQ,gBAAgB,EAAA,EI8BvB;;AbvCC;IaUE,chBNc;IgBOd,qBAAqB,EAAA;;AAjBzB;IAsBI,UAAU;IACV,gDhBOa,EAAA;;AgB9BjB;IA6BI,ahBsZ6B,EAAA;;AgBnbjC;IAkCI,eAAsD,EAAA;;AAc1D;;EAEE,oBAAoB,EAAA;;AASpB;EC3DA,WjBCa;EUDX,yBV8Ba;EiB5Bf,qBjB4Be,EAAA;;AGxBf;IcAE,WjBLW;IUDX,yBODoF;IASpF,qBATyH,EAAA;;AAY3H;IAEE,WjBZW;IUDX,yBODoF;IAgBpF,qBAhByH;IAqBvH,gDAAiF,EAAA;;AAKrF;IAEE,WjB1BW;IiB2BX,yBjBEa;IiBDb,qBjBCa,EAAA;;AiBMf;;IAGE,WjBtCW;IiBuCX,yBAzCuK;IA6CvK,qBA7C+M,EAAA;;AA+C/M;;MAKI,gDAAiF,EAAA;;ADQvF;EC3DA,WjBCa;EUDX,yBVOc;EiBLhB,qBjBKgB,EAAA;;AGDhB;IcAE,WjBLW;IUDX,yBODoF;IASpF,qBATyH,EAAA;;AAY3H;IAEE,WjBZW;IUDX,yBODoF;IAgBpF,qBAhByH;IAqBvH,iDAAiF,EAAA;;AAKrF;IAEE,WjB1BW;IiB2BX,yBjBrBc;IiBsBd,qBjBtBc,EAAA;;AiB6BhB;;IAGE,WjBtCW;IiBuCX,yBAzCuK;IA6CvK,qBA7C+M,EAAA;;AA+C/M;;MAKI,iDAAiF,EAAA;;ADQvF;EC3DA,WjBCa;EUDX,yBVqCa;EiBnCf,qBjBmCe,EAAA;;AG/Bf;IcAE,WjBLW;IUDX,yBODoF;IASpF,qBATyH,EAAA;;AAY3H;IAEE,WjBZW;IUDX,yBODoF;IAgBpF,qBAhByH;IAqBvH,+CAAiF,EAAA;;AAKrF;IAEE,WjB1BW;IiB2BX,yBjBSa;IiBRb,qBjBQa,EAAA;;AiBDf;;IAGE,WjBtCW;IiBuCX,yBAzCuK;IA6CvK,qBA7C+M,EAAA;;AA+C/M;;MAKI,+CAAiF,EAAA;;ADQvF;EC3DA,WjBCa;EUDX,yBVuCa;EiBrCf,qBjBqCe,EAAA;;AGjCf;IcAE,WjBLW;IUDX,yBODoF;IASpF,qBATyH,EAAA;;AAY3H;IAEE,WjBZW;IUDX,yBODoF;IAgBpF,qBAhByH;IAqBvH,gDAAiF,EAAA;;AAKrF;IAEE,WjB1BW;IiB2BX,yBjBWa;IiBVb,qBjBUa,EAAA;;AiBHf;;IAGE,WjBtCW;IiBuCX,yBAzCuK;IA6CvK,qBA7C+M,EAAA;;AA+C/M;;MAKI,gDAAiF,EAAA;;ADQvF;EC3DA,cjBUgB;EUVd,yBVoCa;EiBlCf,qBjBkCe,EAAA;;AG9Bf;IcAE,cjBIc;IUVd,yBODoF;IASpF,qBATyH,EAAA;;AAY3H;IAEE,cjBHc;IUVd,yBODoF;IAgBpF,qBAhByH;IAqBvH,gDAAiF,EAAA;;AAKrF;IAEE,cjBjBc;IiBkBd,yBjBQa;IiBPb,qBjBOa,EAAA;;AiBAf;;IAGE,cjB7Bc;IiB8Bd,yBAzCuK;IA6CvK,qBA7C+M,EAAA;;AA+C/M;;MAKI,gDAAiF,EAAA;;ADQvF;EC3DA,WjBCa;EUDX,yBVkCa;EiBhCf,qBjBgCe,EAAA;;AG5Bf;IcAE,WjBLW;IUDX,yBODoF;IASpF,qBATyH,EAAA;;AAY3H;IAEE,WjBZW;IUDX,yBODoF;IAgBpF,qBAhByH;IAqBvH,+CAAiF,EAAA;;AAKrF;IAEE,WjB1BW;IiB2BX,yBjBMa;IiBLb,qBjBKa,EAAA;;AiBEf;;IAGE,WjBtCW;IiBuCX,yBAzCuK;IA6CvK,qBA7C+M,EAAA;;AA+C/M;;MAKI,+CAAiF,EAAA;;ADQvF;EC3DA,cjBUgB;EUVd,yBVEc;EiBAhB,qBjBAgB,EAAA;;AGIhB;IcAE,cjBIc;IUVd,yBODoF;IASpF,qBATyH,EAAA;;AAY3H;IAEE,cjBHc;IUVd,yBODoF;IAgBpF,qBAhByH;IAqBvH,iDAAiF,EAAA;;AAKrF;IAEE,cjBjBc;IiBkBd,yBjB1Bc;IiB2Bd,qBjB3Bc,EAAA;;AiBkChB;;IAGE,cjB7Bc;IiB8Bd,yBAzCuK;IA6CvK,qBA7C+M,EAAA;;AA+C/M;;MAKI,iDAAiF,EAAA;;ADQvF;EC3DA,WjBCa;EUDX,yBVSc;EiBPhB,qBjBOgB,EAAA;;AGHhB;IcAE,WjBLW;IUDX,yBODoF;IASpF,qBATyH,EAAA;;AAY3H;IAEE,WjBZW;IUDX,yBODoF;IAgBpF,qBAhByH;IAqBvH,8CAAiF,EAAA;;AAKrF;IAEE,WjB1BW;IiB2BX,yBjBnBc;IiBoBd,qBjBpBc,EAAA;;AiB2BhB;;IAGE,WjBtCW;IiBuCX,yBAzCuK;IA6CvK,qBA7C+M,EAAA;;AA+C/M;;MAKI,8CAAiF,EAAA;;ADcvF;ECPA,cjB5Be;EiB6Bf,qBjB7Be,EAAA;;AGxBf;IcwDE,WjB7DW;IiB8DX,yBjBjCa;IiBkCb,qBjBlCa,EAAA;;AiBqCf;IAEE,+CjBvCa,EAAA;;AiB0Cf;IAEE,cjB5Ca;IiB6Cb,6BAA6B,EAAA;;AAG/B;;IAGE,WjBhFW;IiBiFX,yBjBpDa;IiBqDb,qBjBrDa,EAAA;;AiBuDb;;MAKI,+CjB5DS,EAAA;;AgBmCf;ECPA,cjBnDgB;EiBoDhB,qBjBpDgB,EAAA;;AGDhB;IcwDE,WjB7DW;IiB8DX,yBjBxDc;IiByDd,qBjBzDc,EAAA;;AiB4DhB;IAEE,iDjB9Dc,EAAA;;AiBiEhB;IAEE,cjBnEc;IiBoEd,6BAA6B,EAAA;;AAG/B;;IAGE,WjBhFW;IiBiFX,yBjB3Ec;IiB4Ed,qBjB5Ec,EAAA;;AiB8Ed;;MAKI,iDjBnFU,EAAA;;AgB0DhB;ECPA,cjBrBe;EiBsBf,qBjBtBe,EAAA;;AG/Bf;IcwDE,WjB7DW;IiB8DX,yBjB1Ba;IiB2Bb,qBjB3Ba,EAAA;;AiB8Bf;IAEE,+CjBhCa,EAAA;;AiBmCf;IAEE,cjBrCa;IiBsCb,6BAA6B,EAAA;;AAG/B;;IAGE,WjBhFW;IiBiFX,yBjB7Ca;IiB8Cb,qBjB9Ca,EAAA;;AiBgDb;;MAKI,+CjBrDS,EAAA;;AgB4Bf;ECPA,cjBnBe;EiBoBf,qBjBpBe,EAAA;;AGjCf;IcwDE,WjB7DW;IiB8DX,yBjBxBa;IiByBb,qBjBzBa,EAAA;;AiB4Bf;IAEE,gDjB9Ba,EAAA;;AiBiCf;IAEE,cjBnCa;IiBoCb,6BAA6B,EAAA;;AAG/B;;IAGE,WjBhFW;IiBiFX,yBjB3Ca;IiB4Cb,qBjB5Ca,EAAA;;AiB8Cb;;MAKI,gDjBnDS,EAAA;;AgB0Bf;ECPA,cjBtBe;EiBuBf,qBjBvBe,EAAA;;AG9Bf;IcwDE,cjBpDc;IiBqDd,yBjB3Ba;IiB4Bb,qBjB5Ba,EAAA;;AiB+Bf;IAEE,+CjBjCa,EAAA;;AiBoCf;IAEE,cjBtCa;IiBuCb,6BAA6B,EAAA;;AAG/B;;IAGE,cjBvEc;IiBwEd,yBjB9Ca;IiB+Cb,qBjB/Ca,EAAA;;AiBiDb;;MAKI,+CjBtDS,EAAA;;AgB6Bf;ECPA,cjBxBe;EiByBf,qBjBzBe,EAAA;;AG5Bf;IcwDE,WjB7DW;IiB8DX,yBjB7Ba;IiB8Bb,qBjB9Ba,EAAA;;AiBiCf;IAEE,+CjBnCa,EAAA;;AiBsCf;IAEE,cjBxCa;IiByCb,6BAA6B,EAAA;;AAG/B;;IAGE,WjBhFW;IiBiFX,yBjBhDa;IiBiDb,qBjBjDa,EAAA;;AiBmDb;;MAKI,+CjBxDS,EAAA;;AgB+Bf;ECPA,cjBxDgB;EiByDhB,qBjBzDgB,EAAA;;AGIhB;IcwDE,cjBpDc;IiBqDd,yBjB7Dc;IiB8Dd,qBjB9Dc,EAAA;;AiBiEhB;IAEE,iDjBnEc,EAAA;;AiBsEhB;IAEE,cjBxEc;IiByEd,6BAA6B,EAAA;;AAG/B;;IAGE,cjBvEc;IiBwEd,yBjBhFc;IiBiFd,qBjBjFc,EAAA;;AiBmFd;;MAKI,iDjBxFU,EAAA;;AgB+DhB;ECPA,cjBjDgB;EiBkDhB,qBjBlDgB,EAAA;;AGHhB;IcwDE,WjB7DW;IiB8DX,yBjBtDc;IiBuDd,qBjBvDc,EAAA;;AiB0DhB;IAEE,8CjB5Dc,EAAA;;AiB+DhB;IAEE,cjBjEc;IiBkEd,6BAA6B,EAAA;;AAG/B;;IAGE,WjBhFW;IiBiFX,yBjBzEc;IiB0Ed,qBjB1Ec,EAAA;;AiB4Ed;;MAKI,8CjBjFU,EAAA;;AgBmElB;EACE,gBhBkN+B;EgBjN/B,chBhDe;EgBiDf,qBhBgG4C,EAAA;;AGzK5C;Ia4EE,chB8F8D;IgB7F9D,0BhB8F+C,EAAA;;AgBrGnD;IAYI,0BhByF+C,EAAA;;AgBrGnD;IAiBI,chBtFc;IgBuFd,oBAAoB,EAAA;;AAWxB;ECPE,oBjB+SgC;ECxR5B,kBAtCY;EgBiBhB,gBjBoI+B;EO5N7B,qBPmO+B,EAAA;;AgBlInC;ECXE,uBjB0SiC;ECnR7B,mBAtCY;EgBiBhB,gBjBqI+B;EO7N7B,qBPoO+B,EAAA;;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sBPkOgC,EAAA;;AwBnIpC;EAOM,kOf9D4E,EAAA;;AeuDlF;EAaM,qBxB1FW;EU9Bb,yBV8Ba,EAAA;;AwB6EjB;EAkBM,+KfzE4E,EAAA;;AeuDlF;EAwBM,wCxBrGW,EAAA;;AwB6EjB;EA2BM,wCxBxGW,EAAA;;AwBiHjB;EAGI,kBxBga+C,EAAA;;AwBnanD;EAQM,8KfnG4E,EAAA;;Ae2FlF;EAcM,wCxB/HW,EAAA;;AwByIjB;EACE,qBAA2D,EAAA;;AAD7D;IAKM,cAAqD;IACrD,cxBwY+E;IwBvY/E,mBAAmB;IAEnB,qBxBsY4E,EAAA;;AwB/YlF;IAaM,wBfnE0D;IeoE1D,0BfpE0D;IeqE1D,uBfjD0D;IekD1D,wBflD0D;IemD1D,yBxBlLY;IwBoLZ,qBxB4X4E;IY5iB5E,yIZ8f+H,EAAA;;AY1f/H;MYyJN;QZxJQ,gBAAgB,EAAA,EY6KnB;;AArBL;IA0BM,sBxBhMS;IwBiMT,8BAA4E,EAAA;;AA3BlF;IAiCM,wCxB1KW,EAAA;;AwBsLjB;EACE,qBAAqB;EACrB,WAAW;EACX,mCftG8D;EeuG9D,0CxB0KkC;ECzQ9B,eAtCY;EuBwIhB,gBxBoE+B;EwBnE/B,gBxBwE+B;EwBvE/B,cxBrNgB;EwBsNhB,sBAAsB;EACtB,uOxByW+I;EwBxW/I,yBxB3NgB;EOOd,sBPkOgC;EwBXlC,wBAAgB;KAAhB,qBAAgB;UAAhB,gBAAgB,EAAA;;AAflB;IAkBI,qBxB8PsE;IwB7PtE,UAAU;IAKR,gDxB9MW,EAAA;;AwBsLjB;MAiCM,cxB7OY;MwB8OZ,sBxBrPS,EAAA;;AwBmNf;IAwCI,YAAY;IACZ,sBxBqIgC;IwBpIhC,sBAAsB,EAAA;;AA1C1B;IA8CI,cxB3Pc;IwB4Pd,yBxBhQc,EAAA;;AwBiNlB;IAoDI,aAAa,EAAA;;AApDjB;IAyDI,kBAAkB;IAClB,0BxBtQc,EAAA;;AwB0QlB;EACE,kCflK8D;EemK9D,oBxBuHkC;EwBtHlC,uBxBsHkC;EwBrHlC,oBxBsHiC;ECnR7B,mBAtCY,EAAA;;AuBuMlB;EACE,gCf1K8D;Ee2K9D,mBxBoHiC;EwBnHjC,sBxBmHiC;EwBlHjC,kBxBmHgC;ECxR5B,kBAtCY,EAAA;;AuBoNlB;EACE,kBAAkB;EAClB,qBAAqB;EACrB,WAAW;EACX,mCf1L8D;Ee2L9D,gBAAgB,EAAA;;AAGlB;EACE,kBAAkB;EAClB,UAAU;EACV,WAAW;EACX,mCflM8D;EemM9D,SAAS;EACT,UAAU,EAAA;;AANZ;IASI,qBxB4KsE;IwB3KtE,gDxB3Ra,EAAA;;AwBiRjB;;IAgBI,yBxB5Tc,EAAA;;AwB4SlB;IAqBM,iBxBmUQ,EAAA;;AwBxVd;IA0BI,0BAA0B,EAAA;;AAI9B;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,OAAO;EACP,UAAU;EACV,mCflO8D;EemO9D,yBxB8CkC;EwB5ClC,gBxBvD+B;EwBwD/B,gBxBnD+B;EwBoD/B,cxBhVgB;EwBiVhB,sBxBxVa;EwByVb,yBxBrVgB;EOOd,sBPkOgC,EAAA;;AwB+FpC;IAkBI,kBAAkB;IAClB,MAAM;IACN,QAAQ;IACR,SAAS;IACT,UAAU;IACV,cAAc;IACd,6BfpP4D;IeqP5D,yBxB4BgC;IwB3BhC,gBxBnE6B;IwBoE7B,cxBhWc;IwBiWd,iBAAiB;IdzWjB,yBVGc;IwBwWd,oBAAoB;IjB/VpB,kCiBgWgF,EAAA;;AAUpF;EACE,WAAW;EACX,cf1Q2B;Ee2Q3B,UAAU;EACV,6BAA6B;EAC7B,wBAAgB;KAAhB,qBAAgB;UAAhB,gBAAgB,EAAA;;AALlB;IAQI,aAAa,EAAA;;AARjB;MAY8B,gExBpWb,EAAA;;AwBwVjB;MAa8B,gExBrWb,EAAA;;AwBwVjB;MAc8B,gExBtWb,EAAA;;AwBwVjB;IAkBI,SAAS,EAAA;;AAlBb;IAsBI,WxB4N6C;IwB3N7C,YxB2N6C;IwB1N7C,oBAAyE;Id9YzE,yBV8Ba;IwBkXb,SxB2N0C;IO/lB1C,mBPgmB6C;IYlmB3C,oHZ8f+H;IY9f/H,4GZ8f+H;IwBpHjI,wBAAgB;YAAhB,gBAAgB,EAAA;;AZtYd;MYwWN;QZvWQ,wBAAgB;QAAhB,gBAAgB,EAAA,EY0YrB;;AAnCH;MdtXI,yBVgnB2E,EAAA;;AwB1P/E;IAsCI,WxBqMoC;IwBpMpC,cxBqMqC;IwBpMrC,kBAAkB;IAClB,exBoMuC;IwBnMvC,yBxB5Zc;IwB6Zd,yBAAyB;IjBrZzB,mBPylBoC,EAAA;;AwB/OxC;IAiDI,WxBiM6C;IwBhM7C,YxBgM6C;IUxmB7C,yBV8Ba;IwB4Yb,SxBiM0C;IO/lB1C,mBPgmB6C;IYlmB3C,iHZ8f+H;IY9f/H,4GZ8f+H;IwB1FjI,qBAAgB;SAAhB,gBAAgB,EAAA;;AZhad;MYwWN;QZvWQ,qBAAgB;QAAhB,gBAAgB,EAAA,EYoarB;;AA7DH;MdtXI,yBVgnB2E,EAAA;;AwB1P/E;IAgEI,WxB2KoC;IwB1KpC,cxB2KqC;IwB1KrC,kBAAkB;IAClB,exB0KuC;IwBzKvC,yBxBtbc;IwBubd,yBAAyB;IjB/azB,mBPylBoC,EAAA;;AwB/OxC;IA2EI,WxBuK6C;IwBtK7C,YxBsK6C;IwBrK7C,aAAa;IACb,oBxB7D+B;IwB8D/B,mBxB9D+B;IUvY/B,yBV8Ba;IwByab,SxBoK0C;IO/lB1C,mBPgmB6C;IYlmB3C,gHZ8f+H;IY9f/H,4GZ8f+H;IwB7DjI,gBAAgB,EAAA;;AZ7bd;MYwWN;QZvWQ,oBAAgB;QAAhB,gBAAgB,EAAA,EYicrB;;AA1FH;MdtXI,yBVgnB2E,EAAA;;AwB1P/E;IA6FI,WxB8IoC;IwB7IpC,cxB8IqC;IwB7IrC,kBAAkB;IAClB,exB6IuC;IwB5IvC,6BAA6B;IAC7B,yBAAyB;IACzB,oBAA4C,EAAA;;AAnGhD;IAwGI,yBxB1dc;IOQd,mBPylBoC,EAAA;;AwB/OxC;IA6GI,kBAAkB;IAClB,yBxBhec;IOQd,mBPylBoC,EAAA;;AwB/OxC;IAoHM,yBxBpeY,EAAA;;AwBgXlB;IAwHM,eAAe,EAAA;;AAxHrB;IA4HM,yBxB5eY,EAAA;;AwBgXlB;IAgIM,eAAe,EAAA;;AAhIrB;IAoIM,yBxBpfY,EAAA;;AwByflB;;;EZrfM,4GZ8f+H,EAAA;;AY1f/H;IYifN;;;MZhfQ,gBAAgB,EAAA,EYofvB;;ACxgBD;;;;EAIE,kBAAkB,EAAA;;AVwCK;EUpCvB,mBAAmB,EAAA;;ACoBjB;IACE,qBAAqB;IACrB,oB1BoO0C;I0BnO1C,uB1Bk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cnC9FgB;EmC+FhB,kBAAkB;EAClB,mBAAmB;EACnB,yBnCtGgB;EmCuGhB,yBnCrGgB;EOOd,sBPkOgC,EAAA;;AmChJpC;;IAkBI,aAAa,EAAA;;AAUjB;;EAEE,gC1BX8D,EAAA;;A0BchE;;;;;;EAME,oBnC4QgC;ECxR5B,kBAtCY;EkCoDhB,gBnCiG+B;EO5N7B,qBPmO+B,EAAA;;AmCpGnC;;EAEE,kC1B5B8D,EAAA;;A0B+BhE;;;;;;EAME,uBnCsPiC;ECnR7B,mBAtCY;EkCqEhB,gBnCiF+B;EO7N7B,qBPoO+B,EAAA;;AmCpFnC;;EAEE,sBAA0E,EAAA;;AAW5E;;;;;;E5B7II,0B4BmJ4B;E5BlJ5B,6B4BkJ4B,EAAA;;AAGhC;;;;;;E5BxII,yB4B8I2B;E5B7I3B,4B4B6I2B,EAAA;;AC9L/B;EACE,kBAAoD;EACpD,mBpCwzBsC;EoCtzBtC,yBpCKgB;EOSd,qBPmO+B,EAAA;;AmBzL/B;IiB5DJ;MAQI,kBpCkzBoC,EAAA,EoChzBvC;;AAED;EACE,gBAAgB;EAChB,eAAe;E7BIb,gB6BHsB,EAAA;;ACX1B;EACE,aAAa;EACb,sBAAsB;EAGtB,eAAe;EACf,gBAAgB;E9BQd,sBPkOgC,EAAA;;AqChOpC;EACE,WAAW;EACX,crCRgB;EqCShB,mBAAmB,EAAA;;AlCPnB;IkCWE,UAAU;IACV,crCdc;IqCed,qBAAqB;IACrB,yBrCtBc,EAAA;;AqCYlB;IAcI,crClBc;IqCmBd,yBrC1Bc,EAAA;;AqCmClB;EACE,kBAAkB;EAClB,cAAc;EACd,wBrCg9ByC;EqC78BzC,sBrC3Ca;EqC4Cb,sCrClCa,EAAA;;AqC2Bf;I9BjBI,+B8B2BkC;I9B1BlC,gC8B0BkC,EAAA;;AAVtC;I9BHI,mC8BiBqC;I9BhBrC,kC8BgBqC,EAAA;;AAdzC;IAmBI,crClDc;IqCmDd,oBAAoB;IACpB,sBrC1DW,EAAA;;AqCqCf;IA0BI,UAAU;IACV,WrChEW;IqCiEX,yBrCpCa;IqCqCb,qBrCrCa,EAAA;;AqCQjB;IAiCI,mBAAmB,EAAA;;AAjCvB;MAoCM,gBrCiK2B;MqChK3B,qBrCgK2B,EAAA;;AqClJ7B;EACE,mBAAmB,EAAA;;AADrB;I9BtBA,kCP2KgC;IOvLhC,0B8BwCwC,EAAA;;AANxC;I9BlCA,gCPuLgC;IO3KhC,4B8BiC0C,EAAA;;AAX1C;IAeM,aAAa,EAAA;;AAfnB;IAmBM,qBrC+HuB;IqC9HvB,oBAAoB,EAAA;;AApB1B;MAuBQ,iBrC2HqB;MqC1HrB,sBrC0HqB,EAAA;;AmBrL7B;EkBmCA;IACE,mBAAmB,EAAA;IADrB;M9BtBA,kCP2KgC;MOvLhC,0B8BwCwC,EAAA;IANxC;M9BlCA,gCPuLgC;MO3KhC,4B8BiC0C,EAAA;IAX1C;MAeM,aAAa,EAAA;IAfnB;MAmBM,qBrC+HuB;MqC9HvB,oBAAoB,EAAA;MApB1B;QAuBQ,iBrC2HqB;QqC1HrB,sBrC0HqB,EAAA,EqCzHtB;;AlB5DP;EkBmCA;IACE,mBAAmB,EAAA;IADrB;M9BtBA,kCP2KgC;MOvLhC,0B8BwCwC,EAAA;IANxC;M9BlCA,gCPuLgC;MO3KhC,4B8BiC0C,EAAA;IAX1C;MAeM,aAAa,EAAA;IAfnB;MAmBM,qBrC+HuB;MqC9HvB,oBAAoB,EAAA;MApB1B;QAuBQ,iBrC2HqB;QqC1HrB,sBrC0HqB,EAAA,EqCzHtB;;AlB5DP;EkBmCA;IACE,mBAAmB,EAAA;IADrB;M9BtBA,kCP2KgC;MOvLhC,0B8BwCwC,EAAA;IANxC;M9BlCA,gCPuLgC;MO3KhC,4B8BiC0C,EAAA;IAX1C;MAeM,aAAa,EAAA;IAfnB;MAmBM,qBrC+HuB;MqC9HvB,oBAAoB,EAAA;MApB1B;QAuBQ,iBrC2HqB;QqC1HrB,sBrC0HqB,EAAA,EqCzHtB;;AlB5DP;EkBmCA;IACE,mBAAmB,EAAA;IADrB;M9BtBA,kCP2KgC;MOvLhC,0B8BwCwC,EAAA;IANxC;M9BlCA,gCPuLgC;MO3KhC,4B8BiC0C,EAAA;IAX1C;MAeM,aAAa,EAAA;IAfnB;MAmBM,qBrC+HuB;MqC9HvB,oBAAoB,EAAA;MApB1B;QAuBQ,iBrC2HqB;QqC1HrB,sBrC0HqB,EAAA,EqCzHtB;;AAaX;E9BnHI,gB8BoHsB,EAAA;;AAD1B;IAII,qBrCwG6B,EAAA;;AqC5GjC;MAOM,sBAAsB,EAAA;;ACzI1B;EACE,c7BkG8D;E6BjG9D,yB7BiG8D,EAAA;;ANtFhE;ImCPM,c7B6F0D;I6B5F1D,yBAAyC,EAAA;;AAP/C;IAWM,WtCPO;IsCQP,yB7BuF0D;I6BtF1D,qB7BsF0D,EAAA;;A6BnGhE;EACE,c7BkG8D;E6BjG9D,yB7BiG8D,EAAA;;ANtFhE;ImCPM,c7B6F0D;I6B5F1D,yBAAyC,EAAA;;AAP/C;IAWM,WtCPO;IsCQP,yB7BuF0D;I6BtF1D,qB7BsF0D,EAAA;;A6BnGhE;EACE,c7BkG8D;E6BjG9D,yB7BiG8D,EAAA;;ANtFhE;ImCPM,c7B6F0D;I6B5F1D,yBAAyC,EAAA;;AAP/C;IAWM,WtCPO;IsCQP,yB7BuF0D;I6BtF1D,qB7BsF0D,EAAA;;A6BnGhE;EACE,c7BkG8D;E6BjG9D,yB7BiG8D,EAAA;;ANtFhE;ImCPM,c7B6F0D;I6B5F1D,yBAAyC,EAAA;;AAP/C;IAWM,WtCPO;IsCQP,yB7BuF0D;I6BtF1D,qB7BsF0D,EAAA;;A6BnGhE;EACE,c7BkG8D;E6BjG9D,yB7BiG8D,EAAA;;ANtFhE;ImCPM,c7B6F0D;I6B5F1D,yBAAyC,EAAA;;AAP/C;IAWM,WtCPO;IsCQP,yB7BuF0D;I6BtF1D,qB7BsF0D,EAAA;;A6BnGhE;EACE,c7BkG8D;E6BjG9D,yB7BiG8D,EAAA;;ANtFhE;ImCPM,c7B6F0D;I6B5F1D,yBAAyC,EAAA;;AAP/C;IAWM,WtCPO;IsCQP,yB7BuF0D;I6BtF1D,qB7BsF0D,EAAA;;A6BnGhE;EACE,c7BkG8D;E6BjG9D,yB7BiG8D,EAAA;;ANtFhE;ImCPM,c7B6F0D;I6B5F1D,yBAAyC,EAAA;;AAP/C;IAWM,WtCPO;IsCQP,yB7BuF0D;I6BtF1D,qB7BsF0D,EAAA;;A6BnGhE;EACE,c7BkG8D;E6BjG9D,yB7BiG8D,EAAA;;ANtFhE;ImCPM,c7B6F0D;I6B5F1D,yBAAyC,EAAA;;AAP/C;IAWM,WtCPO;IsCQP,yB7BuF0D;I6BtF1D,qB7BsF0D,EAAA;;A8BtGlE;EACE,aAAa;EACb,uBAAuB,EAAA;;AAGzB;EACE,SA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C6Mf;;;;EA0BM,yB1CvOS,EAAA;;A0C6Mf;EA+BI,yB1C5OW;E0C6OX,gC1C7OW,EAAA;;A0C6Mf;EAoCI,mRjCxM8E,EAAA;;AiCoKlF;EAwCI,yB1CrPW,EAAA;;A0C6Mf;IA0CM,yB1CvPS,EAAA;;AGDb;MuC2PM,yB1C1PO,EAAA;;A0CiQf;EAEI,W1C7QW,EAAA;;AGSb;IuCuQI,W1ChRS,EAAA;;A0C2Qf;EAWM,+B1CtRS,EAAA;;AGSb;IuCgRM,gC1CzRO,EAAA;;A0C2Qf;IAkBQ,gC1C7RO,EAAA;;A0C2Qf;;;;EA0BM,W1CrSS,EAAA;;A0C2Qf;EA+BI,+B1C1SW;E0C2SX,sC1C3SW,EAAA;;A0C2Qf;EAoCI,yRjC5P8E,EAAA;;AiCwNlF;EAwCI,+B1CnTW,EAAA;;A0C2Qf;IA0CM,W1CrTS,EAAA;;AGSb;MuC+SM,W1CxTO,EAAA;;A2CPf;EACE,aAAa;EtCGb,eAAe;EACf,gBAAgB;EEad,sBPkOgC,EAAA;;A2C9OpC;EACE,kBAAkB;EAClB,cAAc;EACd,uB3CmxBwC;E2ClxBxC,iB3CuO+B;E2CtO/B,iB3CsxBsC;E2CrxBtC,c3CwBe;E2CtBf,sB3CPa;E2CQb,yB3CLgB,EAAA;;A2CJlB;IAYI,UAAU;IACV,c3CmK8D;I2ClK9D,qBAAqB;IACrB,yB3CZc;I2Cad,qB3CZc,EAAA;;A2CJlB;IAoBI,UAAU;IACV,U3C8wBiC;I2C7wBjC,gD3CQa,EAAA;;A2CJjB;EAGM,cAAc;EpCahB,+BPoMgC;EOnMhC,kCPmMgC,EAAA;;A2CpNpC;EpCEI,gCPkNgC;EOjNhC,mCPiNgC,EAAA;;A2CpNpC;EAcI,UAAU;EACV,W3CxCW;E2CyCX,yB3CZa;E2Cab,qB3Cba,EAAA;;A2CJjB;EAqBI,c3CxCc;E2CyCd,oBAAoB;EAEpB,YAAY;EACZ,sB3ClDW;E2CmDX,qB3ChDc,EAAA;;A4CPhB;EACE,uB5C4xBsC;ECjqBpC,kBAtCY;E2CnFd,gB5CwO6B,EAAA;;A4CnO3B;ErCqCF,8BPqM+B;EOpM/B,iCPoM+B,EAAA;;A4CrO7B;ErCkBF,+BPmN+B;EOlN/B,kCPkN+B,EAAA;;A4ClPjC;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\",\"file\":\"application.scss\",\"sourcesContent\":[\"// Do not forget to update getting-started/theming.md!\\n:root {\\n // Custom variable values only support SassScript inside `#{}`.\\n @each $color, $value in $colors {\\n --#{$color}: #{$value};\\n }\\n\\n @each $color, $value in $theme-colors {\\n --#{$color}: #{$value};\\n }\\n\\n @each $bp, $value in $grid-breakpoints {\\n --breakpoint-#{$bp}: #{$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 --font-family-sans-serif: #{inspect($font-family-sans-serif)};\\n --font-family-monospace: #{inspect($font-family-monospace)};\\n}\\n\",\"// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\\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// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\\n// 2. Change the default font family in all browsers.\\n// 3. Correct the line height in all browsers.\\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\\n// 5. Change the default tap highlight to be completely transparent in iOS.\\n\\n*,\\n*::before,\\n*::after {\\n box-sizing: border-box; // 1\\n}\\n\\nhtml {\\n font-family: sans-serif; // 2\\n line-height: 1.15; // 3\\n -webkit-text-size-adjust: 100%; // 4\\n -webkit-tap-highlight-color: rgba($black, 0); // 5\\n}\\n\\n// Shim for \\\"new\\\" HTML5 structural elements to display correctly (IE10, older browsers)\\n// TODO: remove in v5\\n// stylelint-disable-next-line selector-list-comma-newline-after\\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\\n display: block;\\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. Set an explicit initial text-align value so that we can later use\\n// the `inherit` value on things like `` elements.\\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: left; // 3\\n background-color: $body-bg; // 2\\n}\\n\\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\\n// on elements that programmatically receive focus but wouldn't normally show a visible\\n// focus outline. In general, this would mean that the outline is only applied if the\\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\\n// wants focus outlines to always be presented.\\n//\\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\\n[tabindex=\\\"-1\\\"]:focus:not(:focus-visible) {\\n outline: 0 !important;\\n}\\n\\n\\n// Content grouping\\n//\\n// 1. Add the correct box sizing in Firefox.\\n// 2. Show the overflow in Edge and IE.\\n\\nhr {\\n box-sizing: content-box; // 1\\n height: 0; // 1\\n overflow: visible; // 2\\n}\\n\\n\\n//\\n// Typography\\n//\\n\\n// Remove top margins from headings\\n//\\n// By default, ``-`` all receive top and bottom margins. We nuke the top\\n// margin for easier control within type scales as it avoids margin collapsing.\\n// stylelint-disable-next-line selector-list-comma-newline-after\\nh1, h2, h3, h4, h5, h6 {\\n margin-top: 0;\\n margin-bottom: $headings-margin-bottom;\\n}\\n\\n// Reset margins on paragraphs\\n//\\n// Similarly, the top margin on ``s get reset. However, we also reset the\\n// bottom margin to use `rem` units instead of `em`.\\np {\\n margin-top: 0;\\n margin-bottom: $paragraph-margin-bottom;\\n}\\n\\n// Abbreviations\\n//\\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\\n// 3. Add explicit cursor to indicate changed behavior.\\n// 4. Remove the bottom border in Firefox 39-.\\n// 5. Prevent the text-decoration to be skipped.\\n\\nabbr[title],\\nabbr[data-original-title] { // 1\\n text-decoration: underline; // 2\\n text-decoration: underline dotted; // 2\\n cursor: help; // 3\\n border-bottom: 0; // 4\\n text-decoration-skip-ink: none; // 5\\n}\\n\\naddress {\\n margin-bottom: 1rem;\\n font-style: normal;\\n line-height: inherit;\\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\\ndd {\\n margin-bottom: .5rem;\\n margin-left: 0; // Undo browser default\\n}\\n\\nblockquote {\\n margin: 0 0 1rem;\\n}\\n\\nb,\\nstrong {\\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\\n}\\n\\nsmall {\\n @include font-size(80%); // Add the correct font size in all browsers\\n}\\n\\n//\\n// Prevent `sub` and `sup` elements from affecting the line height in\\n// all browsers.\\n//\\n\\nsub,\\nsup {\\n position: relative;\\n @include font-size(75%);\\n line-height: 0;\\n vertical-align: baseline;\\n}\\n\\nsub { bottom: -.25em; }\\nsup { top: -.5em; }\\n\\n\\n//\\n// Links\\n//\\n\\na {\\n color: $link-color;\\n text-decoration: $link-decoration;\\n background-color: transparent; // Remove the gray background on active links in IE 10.\\n\\n @include 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]) {\\n color: inherit;\\n text-decoration: none;\\n\\n @include hover() {\\n color: inherit;\\n text-decoration: none;\\n }\\n}\\n\\n\\n//\\n// Code\\n//\\n\\npre,\\ncode,\\nkbd,\\nsamp {\\n font-family: $font-family-monospace;\\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\\n}\\n\\npre {\\n // Remove browser default top margin\\n margin-top: 0;\\n // Reset browser default of `1em` to use `rem`s\\n margin-bottom: 1rem;\\n // Don't allow content to break outside\\n overflow: auto;\\n // Disable auto-hiding scrollbar in IE & legacy Edge to avoid overlap,\\n // making it impossible to interact with the content\\n -ms-overflow-style: scrollbar;\\n}\\n\\n\\n//\\n// Figures\\n//\\n\\nfigure {\\n // Apply a consistent margin strategy (matches our type styles).\\n margin: 0 0 1rem;\\n}\\n\\n\\n//\\n// Images and content\\n//\\n\\nimg {\\n vertical-align: middle;\\n border-style: none; // Remove the border on images inside links in IE 10-.\\n}\\n\\nsvg {\\n // Workaround for the SVG overflow bug in IE10/11 is still required.\\n // See https://github.com/twbs/bootstrap/issues/26878\\n overflow: hidden;\\n vertical-align: middle;\\n}\\n\\n\\n//\\n// Tables\\n//\\n\\ntable {\\n border-collapse: collapse; // Prevent double borders\\n}\\n\\ncaption {\\n padding-top: $table-cell-padding;\\n padding-bottom: $table-cell-padding;\\n color: $table-caption-color;\\n text-align: left;\\n caption-side: bottom;\\n}\\n\\nth {\\n // Matches default `` alignment by inheriting from the ``, or the\\n // closest parent with a set `text-align`.\\n text-align: inherit;\\n}\\n\\n\\n//\\n// Forms\\n//\\n\\nlabel {\\n // Allow labels to use `margin` for spacing.\\n display: inline-block;\\n margin-bottom: $label-margin-bottom;\\n}\\n\\n// Remove the default `border-radius` that macOS Chrome adds.\\n//\\n// Details at https://github.com/twbs/bootstrap/issues/24093\\nbutton {\\n // stylelint-disable-next-line property-blacklist\\n border-radius: 0;\\n}\\n\\n// Work around a Firefox/IE bug where the transparent `button` background\\n// results in a loss of the default `button` focus styles.\\n//\\n// Credit: https://github.com/suitcss/base/\\nbutton:focus {\\n outline: 1px dotted;\\n outline: 5px auto -webkit-focus-ring-color;\\n}\\n\\ninput,\\nbutton,\\nselect,\\noptgroup,\\ntextarea {\\n margin: 0; // Remove the margin in Firefox and Safari\\n font-family: inherit;\\n @include font-size(inherit);\\n line-height: inherit;\\n}\\n\\nbutton,\\ninput {\\n overflow: visible; // Show the overflow in Edge\\n}\\n\\nbutton,\\nselect {\\n text-transform: none; // Remove the inheritance of text transform in Firefox\\n}\\n\\n// Set the cursor for non-`` buttons\\n//\\n// Details at https://github.com/twbs/bootstrap/pull/30562\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\n// Remove the inheritance of word-wrap in Safari.\\n//\\n// Details at https://github.com/twbs/bootstrap/issues/24990\\nselect {\\n word-wrap: normal;\\n}\\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.\\nbutton,\\n[type=\\\"button\\\"], // 1\\n[type=\\\"reset\\\"],\\n[type=\\\"submit\\\"] {\\n -webkit-appearance: button; // 2\\n}\\n\\n// Opinionated: add \\\"hand\\\" cursor to non-disabled button elements.\\n@if $enable-pointer-cursor-for-buttons {\\n button,\\n [type=\\\"button\\\"],\\n [type=\\\"reset\\\"],\\n [type=\\\"submit\\\"] {\\n &:not(:disabled) {\\n cursor: pointer;\\n }\\n }\\n}\\n\\n// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\\nbutton::-moz-focus-inner,\\n[type=\\\"button\\\"]::-moz-focus-inner,\\n[type=\\\"reset\\\"]::-moz-focus-inner,\\n[type=\\\"submit\\\"]::-moz-focus-inner {\\n padding: 0;\\n border-style: none;\\n}\\n\\ninput[type=\\\"radio\\\"],\\ninput[type=\\\"checkbox\\\"] {\\n box-sizing: border-box; // 1. Add the correct box sizing in IE 10-\\n padding: 0; // 2. Remove the padding in IE 10-\\n}\\n\\n\\ntextarea {\\n overflow: auto; // Remove the default vertical scrollbar in IE.\\n // Textareas should really only resize vertically so they don't break their (horizontal) containers.\\n resize: vertical;\\n}\\n\\nfieldset {\\n // Browsers set a default `min-width: min-content;` on fieldsets,\\n // unlike e.g. ``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 min-width: 0;\\n // Reset the default outline behavior of fieldsets so they don't affect page layout.\\n padding: 0;\\n margin: 0;\\n border: 0;\\n}\\n\\n// 1. Correct the text wrapping in Edge and IE.\\n// 2. Correct the color inheritance from `fieldset` elements in IE.\\nlegend {\\n display: block;\\n width: 100%;\\n max-width: 100%; // 1\\n padding: 0;\\n margin-bottom: .5rem;\\n @include font-size(1.5rem);\\n line-height: inherit;\\n color: inherit; // 2\\n white-space: normal; // 1\\n}\\n\\nprogress {\\n vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.\\n}\\n\\n// Correct the cursor style of increment and decrement buttons in Chrome.\\n[type=\\\"number\\\"]::-webkit-inner-spin-button,\\n[type=\\\"number\\\"]::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n[type=\\\"search\\\"] {\\n // 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 outline-offset: -2px; // 2. Correct the outline style in Safari.\\n -webkit-appearance: none;\\n}\\n\\n//\\n// Remove the inner padding in Chrome and Safari on macOS.\\n//\\n\\n[type=\\\"search\\\"]::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n//\\n// 1. Correct the inability to style clickable types in iOS and Safari.\\n// 2. Change font properties to `inherit` in Safari.\\n//\\n\\n::-webkit-file-upload-button {\\n font: inherit; // 2\\n -webkit-appearance: button; // 1\\n}\\n\\n//\\n// Correct element displays\\n//\\n\\noutput {\\n display: inline-block;\\n}\\n\\nsummary {\\n display: list-item; // Add the correct display in all browsers\\n cursor: pointer;\\n}\\n\\ntemplate {\\n display: none; // Add the correct display in IE\\n}\\n\\n// Always hide an element with the `hidden` HTML attribute (from PureCSS).\\n// Needed for proper display in IE 10-.\\n[hidden] {\\n display: none !important;\\n}\\n\",\"// Variables\\n//\\n// Variables should follow the `$component-state-property-size` formula for\\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\\n\\n// Color system\\n\\n$white: #fff !default;\\n$gray-100: #f8f9fa !default;\\n$gray-200: #e9ecef !default;\\n$gray-300: #dee2e6 !default;\\n$gray-400: #ced4da !default;\\n$gray-500: #adb5bd !default;\\n$gray-600: #6c757d !default;\\n$gray-700: #495057 !default;\\n$gray-800: #343a40 !default;\\n$gray-900: #212529 !default;\\n$black: #000 !default;\\n\\n$grays: () !default;\\n// stylelint-disable-next-line scss/dollar-variable-default\\n$grays: map-merge(\\n (\\n \\\"100\\\": $gray-100,\\n \\\"200\\\": $gray-200,\\n \\\"300\\\": $gray-300,\\n \\\"400\\\": $gray-400,\\n \\\"500\\\": $gray-500,\\n \\\"600\\\": $gray-600,\\n \\\"700\\\": $gray-700,\\n \\\"800\\\": $gray-800,\\n \\\"900\\\": $gray-900\\n ),\\n $grays\\n);\\n\\n$blue: #007bff !default;\\n$indigo: #6610f2 !default;\\n$purple: #6f42c1 !default;\\n$pink: #e83e8c !default;\\n$red: #dc3545 !default;\\n$orange: #fd7e14 !default;\\n$yellow: #ffc107 !default;\\n$green: #28a745 !default;\\n$teal: #20c997 !default;\\n$cyan: #17a2b8 !default;\\n\\n$colors: () !default;\\n// stylelint-disable-next-line scss/dollar-variable-default\\n$colors: map-merge(\\n (\\n \\\"blue\\\": $blue,\\n \\\"indigo\\\": $indigo,\\n \\\"purple\\\": $purple,\\n \\\"pink\\\": $pink,\\n \\\"red\\\": $red,\\n \\\"orange\\\": $orange,\\n \\\"yellow\\\": $yellow,\\n \\\"green\\\": $green,\\n \\\"teal\\\": $teal,\\n \\\"cyan\\\": $cyan,\\n \\\"white\\\": $white,\\n \\\"gray\\\": $gray-600,\\n \\\"gray-dark\\\": $gray-800\\n ),\\n $colors\\n);\\n\\n$primary: $blue !default;\\n$secondary: $gray-600 !default;\\n$success: $green !default;\\n$info: $cyan !default;\\n$warning: $yellow !default;\\n$danger: $red !default;\\n$light: $gray-100 !default;\\n$dark: $gray-800 !default;\\n\\n$theme-colors: () !default;\\n// stylelint-disable-next-line scss/dollar-variable-default\\n$theme-colors: map-merge(\\n (\\n \\\"primary\\\": $primary,\\n \\\"secondary\\\": $secondary,\\n \\\"success\\\": $success,\\n \\\"info\\\": $info,\\n \\\"warning\\\": $warning,\\n \\\"danger\\\": $danger,\\n \\\"light\\\": $light,\\n \\\"dark\\\": $dark\\n ),\\n $theme-colors\\n);\\n\\n// Set a specific jump point for requesting color jumps\\n$theme-color-interval: 8% !default;\\n\\n// The yiq lightness value that determines when the lightness of color changes from \\\"dark\\\" to \\\"light\\\". Acceptable values are between 0 and 255.\\n$yiq-contrasted-threshold: 150 !default;\\n\\n// Customize the light and dark text colors for use in our YIQ color contrast function.\\n$yiq-text-dark: $gray-900 !default;\\n$yiq-text-light: $white !default;\\n\\n// Characters which are escaped by the escape-svg function\\n$escaped-characters: (\\n (\\\"<\\\",\\\"%3c\\\"),\\n (\\\">\\\",\\\"%3e\\\"),\\n (\\\"#\\\",\\\"%23\\\"),\\n (\\\"(\\\",\\\"%28\\\"),\\n (\\\")\\\",\\\"%29\\\"),\\n) !default;\\n\\n\\n// Options\\n//\\n// Quickly modify global styling by enabling or disabling optional features.\\n\\n$enable-caret: true !default;\\n$enable-rounded: true !default;\\n$enable-shadows: false !default;\\n$enable-gradients: false !default;\\n$enable-transitions: true !default;\\n$enable-prefers-reduced-motion-media-query: true !default;\\n$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS\\n$enable-grid-classes: true !default;\\n$enable-pointer-cursor-for-buttons: true !default;\\n$enable-print-styles: true !default;\\n$enable-responsive-font-sizes: false !default;\\n$enable-validation-icons: true !default;\\n$enable-deprecation-messages: true !default;\\n\\n\\n// Spacing\\n//\\n// Control the default styling of most Bootstrap elements by modifying these\\n// variables. Mostly focused on spacing.\\n// You can add more entries to the $spacers map, should you need more variation.\\n\\n$spacer: 1rem !default;\\n$spacers: () !default;\\n// stylelint-disable-next-line scss/dollar-variable-default\\n$spacers: map-merge(\\n (\\n 0: 0,\\n 1: ($spacer * .25),\\n 2: ($spacer * .5),\\n 3: $spacer,\\n 4: ($spacer * 1.5),\\n 5: ($spacer * 3)\\n ),\\n $spacers\\n);\\n\\n// This variable affects the `.h-*` and `.w-*` classes.\\n$sizes: () !default;\\n// stylelint-disable-next-line scss/dollar-variable-default\\n$sizes: map-merge(\\n (\\n 25: 25%,\\n 50: 50%,\\n 75: 75%,\\n 100: 100%,\\n auto: auto\\n ),\\n $sizes\\n);\\n\\n\\n// Body\\n//\\n// Settings for the `` element.\\n\\n$body-bg: $white !default;\\n$body-color: $gray-900 !default;\\n\\n\\n// Links\\n//\\n// Style anchor elements.\\n\\n$link-color: theme-color(\\\"primary\\\") !default;\\n$link-decoration: none !default;\\n$link-hover-color: darken($link-color, 15%) !default;\\n$link-hover-decoration: underline !default;\\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\\n$emphasized-link-hover-darken-percentage: 15% !default;\\n\\n// Paragraphs\\n//\\n// Style p element.\\n\\n$paragraph-margin-bottom: 1rem !default;\\n\\n\\n// Grid breakpoints\\n//\\n// Define the minimum dimensions at which your layout will change,\\n// adapting to different screen sizes, for use in media queries.\\n\\n$grid-breakpoints: (\\n xs: 0,\\n sm: 576px,\\n md: 768px,\\n lg: 992px,\\n xl: 1200px\\n) !default;\\n\\n@include _assert-ascending($grid-breakpoints, \\\"$grid-breakpoints\\\");\\n@include _assert-starts-at-zero($grid-breakpoints, \\\"$grid-breakpoints\\\");\\n\\n\\n// Grid containers\\n//\\n// Define the maximum width of `.container` for different screen sizes.\\n\\n$container-max-widths: (\\n sm: 540px,\\n md: 720px,\\n lg: 960px,\\n xl: 1140px\\n) !default;\\n\\n@include _assert-ascending($container-max-widths, \\\"$container-max-widths\\\");\\n\\n\\n// Grid columns\\n//\\n// Set the number of columns and specify the width of the gutters.\\n\\n$grid-columns: 12 !default;\\n$grid-gutter-width: 30px !default;\\n$grid-row-columns: 6 !default;\\n\\n\\n// Components\\n//\\n// Define common padding and border radius sizes and more.\\n\\n$line-height-lg: 1.5 !default;\\n$line-height-sm: 1.5 !default;\\n\\n$border-width: 1px !default;\\n$border-color: $gray-300 !default;\\n\\n$border-radius: .25rem !default;\\n$border-radius-lg: .3rem !default;\\n$border-radius-sm: .2rem !default;\\n\\n$rounded-pill: 50rem !default;\\n\\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\\n\\n$component-active-color: $white !default;\\n$component-active-bg: theme-color(\\\"primary\\\") !default;\\n\\n$caret-width: .3em !default;\\n$caret-vertical-align: $caret-width * .85 !default;\\n$caret-spacing: $caret-width * .85 !default;\\n\\n$transition-base: all .2s ease-in-out !default;\\n$transition-fade: opacity .15s linear !default;\\n$transition-collapse: height .35s ease !default;\\n\\n$embed-responsive-aspect-ratios: () !default;\\n// stylelint-disable-next-line scss/dollar-variable-default\\n$embed-responsive-aspect-ratios: join(\\n (\\n (21 9),\\n (16 9),\\n (4 3),\\n (1 1),\\n ),\\n $embed-responsive-aspect-ratios\\n);\\n\\n// Typography\\n//\\n// Font, line-height, and color for body text, headings, and more.\\n\\n// stylelint-disable value-keyword-case\\n$font-family-sans-serif: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\" !default;\\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace !default;\\n$font-family-base: $font-family-sans-serif !default;\\n// stylelint-enable value-keyword-case\\n\\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\\n$font-size-lg: $font-size-base * 1.25 !default;\\n$font-size-sm: $font-size-base * .875 !default;\\n\\n$font-weight-lighter: lighter !default;\\n$font-weight-light: 300 !default;\\n$font-weight-normal: 400 !default;\\n$font-weight-bold: 700 !default;\\n$font-weight-bolder: bolder !default;\\n\\n$font-weight-base: $font-weight-normal !default;\\n$line-height-base: 1.5 !default;\\n\\n$h1-font-size: $font-size-base * 2.5 !default;\\n$h2-font-size: $font-size-base * 2 !default;\\n$h3-font-size: $font-size-base * 1.75 !default;\\n$h4-font-size: $font-size-base * 1.5 !default;\\n$h5-font-size: $font-size-base * 1.25 !default;\\n$h6-font-size: $font-size-base !default;\\n\\n$headings-margin-bottom: $spacer / 2 !default;\\n$headings-font-family: null !default;\\n$headings-font-weight: 500 !default;\\n$headings-line-height: 1.2 !default;\\n$headings-color: null !default;\\n\\n$display1-size: 6rem !default;\\n$display2-size: 5.5rem !default;\\n$display3-size: 4.5rem !default;\\n$display4-size: 3.5rem !default;\\n\\n$display1-weight: 300 !default;\\n$display2-weight: 300 !default;\\n$display3-weight: 300 !default;\\n$display4-weight: 300 !default;\\n$display-line-height: $headings-line-height !default;\\n\\n$lead-font-size: $font-size-base * 1.25 !default;\\n$lead-font-weight: 300 !default;\\n\\n$small-font-size: 80% !default;\\n\\n$text-muted: $gray-600 !default;\\n\\n$blockquote-small-color: $gray-600 !default;\\n$blockquote-small-font-size: $small-font-size !default;\\n$blockquote-font-size: $font-size-base * 1.25 !default;\\n\\n$hr-border-color: rgba($black, .1) !default;\\n$hr-border-width: $border-width !default;\\n\\n$mark-padding: .2em !default;\\n\\n$dt-font-weight: $font-weight-bold !default;\\n\\n$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;\\n$nested-kbd-font-weight: $font-weight-bold !default;\\n\\n$list-inline-padding: .5rem !default;\\n\\n$mark-bg: #fcf8e3 !default;\\n\\n$hr-margin-y: $spacer !default;\\n\\n\\n// Tables\\n//\\n// Customizes the `.table` component with basic values, each used across all table variations.\\n\\n$table-cell-padding: .75rem !default;\\n$table-cell-padding-sm: .3rem !default;\\n\\n$table-color: $body-color !default;\\n$table-bg: null !default;\\n$table-accent-bg: rgba($black, .05) !default;\\n$table-hover-color: $table-color !default;\\n$table-hover-bg: rgba($black, .075) !default;\\n$table-active-bg: $table-hover-bg !default;\\n\\n$table-border-width: $border-width !default;\\n$table-border-color: $border-color !default;\\n\\n$table-head-bg: $gray-200 !default;\\n$table-head-color: $gray-700 !default;\\n\\n$table-dark-color: $white !default;\\n$table-dark-bg: $gray-800 !default;\\n$table-dark-accent-bg: rgba($white, .05) !default;\\n$table-dark-hover-color: $table-dark-color !default;\\n$table-dark-hover-bg: rgba($white, .075) !default;\\n$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;\\n\\n$table-striped-order: odd !default;\\n\\n$table-caption-color: $text-muted !default;\\n\\n$table-bg-level: -9 !default;\\n$table-border-level: -6 !default;\\n\\n\\n// Buttons + Forms\\n//\\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\\n\\n$input-btn-padding-y: .375rem !default;\\n$input-btn-padding-x: .75rem !default;\\n$input-btn-font-family: null !default;\\n$input-btn-font-size: $font-size-base !default;\\n$input-btn-line-height: $line-height-base !default;\\n\\n$input-btn-focus-width: .2rem !default;\\n$input-btn-focus-color: rgba($component-active-bg, .25) !default;\\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\\n\\n$input-btn-padding-y-sm: .25rem !default;\\n$input-btn-padding-x-sm: .5rem !default;\\n$input-btn-font-size-sm: $font-size-sm !default;\\n$input-btn-line-height-sm: $line-height-sm !default;\\n\\n$input-btn-padding-y-lg: .5rem !default;\\n$input-btn-padding-x-lg: 1rem !default;\\n$input-btn-font-size-lg: $font-size-lg !default;\\n$input-btn-line-height-lg: $line-height-lg !default;\\n\\n$input-btn-border-width: $border-width !default;\\n\\n\\n// Buttons\\n//\\n// For each of Bootstrap's buttons, define text, background, and border color.\\n\\n$btn-padding-y: $input-btn-padding-y !default;\\n$btn-padding-x: $input-btn-padding-x !default;\\n$btn-font-family: $input-btn-font-family !default;\\n$btn-font-size: $input-btn-font-size !default;\\n$btn-line-height: $input-btn-line-height !default;\\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\\n\\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\\n$btn-font-size-sm: $input-btn-font-size-sm !default;\\n$btn-line-height-sm: $input-btn-line-height-sm !default;\\n\\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\\n$btn-font-size-lg: $input-btn-font-size-lg !default;\\n$btn-line-height-lg: $input-btn-line-height-lg !default;\\n\\n$btn-border-width: $input-btn-border-width !default;\\n\\n$btn-font-weight: $font-weight-normal !default;\\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\\n$btn-focus-width: $input-btn-focus-width !default;\\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\\n$btn-disabled-opacity: .65 !default;\\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\\n\\n$btn-link-disabled-color: $gray-600 !default;\\n\\n$btn-block-spacing-y: .5rem !default;\\n\\n// Allows for customizing button radius independently from global border radius\\n$btn-border-radius: $border-radius !default;\\n$btn-border-radius-lg: $border-radius-lg !default;\\n$btn-border-radius-sm: $border-radius-sm !default;\\n\\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\\n\\n\\n// Forms\\n\\n$label-margin-bottom: .5rem !default;\\n\\n$input-padding-y: $input-btn-padding-y !default;\\n$input-padding-x: $input-btn-padding-x !default;\\n$input-font-family: $input-btn-font-family !default;\\n$input-font-size: $input-btn-font-size !default;\\n$input-font-weight: $font-weight-base !default;\\n$input-line-height: $input-btn-line-height !default;\\n\\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\\n$input-font-size-sm: $input-btn-font-size-sm !default;\\n$input-line-height-sm: $input-btn-line-height-sm !default;\\n\\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\\n$input-font-size-lg: $input-btn-font-size-lg !default;\\n$input-line-height-lg: $input-btn-line-height-lg !default;\\n\\n$input-bg: $white !default;\\n$input-disabled-bg: $gray-200 !default;\\n\\n$input-color: $gray-700 !default;\\n$input-border-color: $gray-400 !default;\\n$input-border-width: $input-btn-border-width !default;\\n$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;\\n\\n$input-border-radius: $border-radius !default;\\n$input-border-radius-lg: $border-radius-lg !default;\\n$input-border-radius-sm: $border-radius-sm !default;\\n\\n$input-focus-bg: $input-bg !default;\\n$input-focus-border-color: lighten($component-active-bg, 25%) !default;\\n$input-focus-color: $input-color !default;\\n$input-focus-width: $input-btn-focus-width !default;\\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\\n\\n$input-placeholder-color: $gray-600 !default;\\n$input-plaintext-color: $body-color !default;\\n\\n$input-height-border: $input-border-width * 2 !default;\\n\\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;\\n\\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\\n$input-height-sm: add($input-line-height-sm * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\\n$input-height-lg: add($input-line-height-lg * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\\n\\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\\n\\n$form-text-margin-top: .25rem !default;\\n\\n$form-check-input-gutter: 1.25rem !default;\\n$form-check-input-margin-y: .3rem !default;\\n$form-check-input-margin-x: .25rem !default;\\n\\n$form-check-inline-margin-x: .75rem !default;\\n$form-check-inline-input-margin-x: .3125rem !default;\\n\\n$form-grid-gutter-width: 10px !default;\\n$form-group-margin-bottom: 1rem !default;\\n\\n$input-group-addon-color: $input-color !default;\\n$input-group-addon-bg: $gray-200 !default;\\n$input-group-addon-border-color: $input-border-color !default;\\n\\n$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\\n\\n$custom-control-gutter: .5rem !default;\\n$custom-control-spacer-x: 1rem !default;\\n$custom-control-cursor: null !default;\\n\\n$custom-control-indicator-size: 1rem !default;\\n$custom-control-indicator-bg: $input-bg !default;\\n\\n$custom-control-indicator-bg-size: 50% 50% !default;\\n$custom-control-indicator-box-shadow: $input-box-shadow !default;\\n$custom-control-indicator-border-color: $gray-500 !default;\\n$custom-control-indicator-border-width: $input-border-width !default;\\n\\n$custom-control-label-color: null !default;\\n\\n$custom-control-indicator-disabled-bg: $input-disabled-bg !default;\\n$custom-control-label-disabled-color: $gray-600 !default;\\n\\n$custom-control-indicator-checked-color: $component-active-color !default;\\n$custom-control-indicator-checked-bg: $component-active-bg !default;\\n$custom-control-indicator-checked-disabled-bg: rgba(theme-color(\\\"primary\\\"), .5) !default;\\n$custom-control-indicator-checked-box-shadow: none !default;\\n$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;\\n\\n$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;\\n$custom-control-indicator-focus-border-color: $input-focus-border-color !default;\\n\\n$custom-control-indicator-active-color: $component-active-color !default;\\n$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;\\n$custom-control-indicator-active-box-shadow: none !default;\\n$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;\\n\\n$custom-checkbox-indicator-border-radius: $border-radius !default;\\n$custom-checkbox-indicator-icon-checked: url(\\\"data:image/svg+xml,\\\") !default;\\n\\n$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;\\n$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;\\n$custom-checkbox-indicator-icon-indeterminate: url(\\\"data:image/svg+xml,\\\") !default;\\n$custom-checkbox-indicator-indeterminate-box-shadow: none !default;\\n$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;\\n\\n$custom-radio-indicator-border-radius: 50% !default;\\n$custom-radio-indicator-icon-checked: url(\\\"data:image/svg+xml,\\\") !default;\\n\\n$custom-switch-width: $custom-control-indicator-size * 1.75 !default;\\n$custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default;\\n$custom-switch-indicator-size: subtract($custom-control-indicator-size, $custom-control-indicator-border-width * 4) !default;\\n\\n$custom-select-padding-y: $input-padding-y !default;\\n$custom-select-padding-x: $input-padding-x !default;\\n$custom-select-font-family: $input-font-family !default;\\n$custom-select-font-size: $input-font-size !default;\\n$custom-select-height: $input-height !default;\\n$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator\\n$custom-select-font-weight: $input-font-weight !default;\\n$custom-select-line-height: $input-line-height !default;\\n$custom-select-color: $input-color !default;\\n$custom-select-disabled-color: $gray-600 !default;\\n$custom-select-bg: $input-bg !default;\\n$custom-select-disabled-bg: $gray-200 !default;\\n$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions\\n$custom-select-indicator-color: $gray-800 !default;\\n$custom-select-indicator: url(\\\"data:image/svg+xml,\\\") !default;\\n$custom-select-background: escape-svg($custom-select-indicator) no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\\n\\n$custom-select-feedback-icon-padding-right: add(1em * .75, (2 * $custom-select-padding-y * .75) + $custom-select-padding-x + $custom-select-indicator-padding) !default;\\n$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\\n$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\\n\\n$custom-select-border-width: $input-border-width !default;\\n$custom-select-border-color: $input-border-color !default;\\n$custom-select-border-radius: $border-radius !default;\\n$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;\\n\\n$custom-select-focus-border-color: $input-focus-border-color !default;\\n$custom-select-focus-width: $input-focus-width !default;\\n$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\\n\\n$custom-select-padding-y-sm: $input-padding-y-sm !default;\\n$custom-select-padding-x-sm: $input-padding-x-sm !default;\\n$custom-select-font-size-sm: $input-font-size-sm !default;\\n$custom-select-height-sm: $input-height-sm !default;\\n\\n$custom-select-padding-y-lg: $input-padding-y-lg !default;\\n$custom-select-padding-x-lg: $input-padding-x-lg !default;\\n$custom-select-font-size-lg: $input-font-size-lg !default;\\n$custom-select-height-lg: $input-height-lg !default;\\n\\n$custom-range-track-width: 100% !default;\\n$custom-range-track-height: .5rem !default;\\n$custom-range-track-cursor: pointer !default;\\n$custom-range-track-bg: $gray-300 !default;\\n$custom-range-track-border-radius: 1rem !default;\\n$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;\\n\\n$custom-range-thumb-width: 1rem !default;\\n$custom-range-thumb-height: $custom-range-thumb-width !default;\\n$custom-range-thumb-bg: $component-active-bg !default;\\n$custom-range-thumb-border: 0 !default;\\n$custom-range-thumb-border-radius: 1rem !default;\\n$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\\n$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\\n$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge\\n$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;\\n$custom-range-thumb-disabled-bg: $gray-500 !default;\\n\\n$custom-file-height: $input-height !default;\\n$custom-file-height-inner: $input-height-inner !default;\\n$custom-file-focus-border-color: $input-focus-border-color !default;\\n$custom-file-focus-box-shadow: $input-focus-box-shadow !default;\\n$custom-file-disabled-bg: $input-disabled-bg !default;\\n\\n$custom-file-padding-y: $input-padding-y !default;\\n$custom-file-padding-x: $input-padding-x !default;\\n$custom-file-line-height: $input-line-height !default;\\n$custom-file-font-family: $input-font-family !default;\\n$custom-file-font-weight: $input-font-weight !default;\\n$custom-file-color: $input-color !default;\\n$custom-file-bg: $input-bg !default;\\n$custom-file-border-width: $input-border-width !default;\\n$custom-file-border-color: $input-border-color !default;\\n$custom-file-border-radius: $input-border-radius !default;\\n$custom-file-box-shadow: $input-box-shadow !default;\\n$custom-file-button-color: $custom-file-color !default;\\n$custom-file-button-bg: $input-group-addon-bg !default;\\n$custom-file-text: (\\n en: \\\"Browse\\\"\\n) !default;\\n\\n\\n// Form validation\\n\\n$form-feedback-margin-top: $form-text-margin-top !default;\\n$form-feedback-font-size: $small-font-size !default;\\n$form-feedback-valid-color: theme-color(\\\"success\\\") !default;\\n$form-feedback-invalid-color: theme-color(\\\"danger\\\") !default;\\n\\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\\n$form-feedback-icon-valid: url(\\\"data:image/svg+xml,\\\") !default;\\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\\n$form-feedback-icon-invalid: url(\\\"data:image/svg+xml,\\\") !default;\\n\\n$form-validation-states: () !default;\\n// stylelint-disable-next-line scss/dollar-variable-default\\n$form-validation-states: map-merge(\\n (\\n \\\"valid\\\": (\\n \\\"color\\\": $form-feedback-valid-color,\\n \\\"icon\\\": $form-feedback-icon-valid\\n ),\\n \\\"invalid\\\": (\\n \\\"color\\\": $form-feedback-invalid-color,\\n \\\"icon\\\": $form-feedback-icon-invalid\\n ),\\n ),\\n $form-validation-states\\n);\\n\\n// Z-index master list\\n//\\n// Warning: Avoid customizing these values. They're used for a bird's eye view\\n// of components dependent on the z-axis and are designed to all work together.\\n\\n$zindex-dropdown: 1000 !default;\\n$zindex-sticky: 1020 !default;\\n$zindex-fixed: 1030 !default;\\n$zindex-modal-backdrop: 1040 !default;\\n$zindex-modal: 1050 !default;\\n$zindex-popover: 1060 !default;\\n$zindex-tooltip: 1070 !default;\\n\\n\\n// Navs\\n\\n$nav-link-padding-y: .5rem !default;\\n$nav-link-padding-x: 1rem !default;\\n$nav-link-disabled-color: $gray-600 !default;\\n\\n$nav-tabs-border-color: $gray-300 !default;\\n$nav-tabs-border-width: $border-width !default;\\n$nav-tabs-border-radius: $border-radius !default;\\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\\n$nav-tabs-link-active-color: $gray-700 !default;\\n$nav-tabs-link-active-bg: $body-bg !default;\\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\\n\\n$nav-pills-border-radius: $border-radius !default;\\n$nav-pills-link-active-color: $component-active-color !default;\\n$nav-pills-link-active-bg: $component-active-bg !default;\\n\\n$nav-divider-color: $gray-200 !default;\\n$nav-divider-margin-y: $spacer / 2 !default;\\n\\n\\n// Navbar\\n\\n$navbar-padding-y: $spacer / 2 !default;\\n$navbar-padding-x: $spacer !default;\\n\\n$navbar-nav-link-padding-x: .5rem !default;\\n\\n$navbar-brand-font-size: $font-size-lg !default;\\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;\\n\\n$navbar-toggler-padding-y: .25rem !default;\\n$navbar-toggler-padding-x: .75rem !default;\\n$navbar-toggler-font-size: $font-size-lg !default;\\n$navbar-toggler-border-radius: $btn-border-radius !default;\\n\\n$navbar-dark-color: rgba($white, .5) !default;\\n$navbar-dark-hover-color: rgba($white, .75) !default;\\n$navbar-dark-active-color: $white !default;\\n$navbar-dark-disabled-color: rgba($white, .25) !default;\\n$navbar-dark-toggler-icon-bg: url(\\\"data:image/svg+xml,\\\") !default;\\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\\n\\n$navbar-light-color: rgba($black, .5) !default;\\n$navbar-light-hover-color: rgba($black, .7) !default;\\n$navbar-light-active-color: rgba($black, .9) !default;\\n$navbar-light-disabled-color: rgba($black, .3) !default;\\n$navbar-light-toggler-icon-bg: url(\\\"data:image/svg+xml,\\\") !default;\\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\\n\\n$navbar-light-brand-color: $navbar-light-active-color !default;\\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\\n\\n\\n// Dropdowns\\n//\\n// Dropdown menu container and contents.\\n\\n$dropdown-min-width: 10rem !default;\\n$dropdown-padding-y: .5rem !default;\\n$dropdown-spacer: .125rem !default;\\n$dropdown-font-size: $font-size-base !default;\\n$dropdown-color: $body-color !default;\\n$dropdown-bg: $white !default;\\n$dropdown-border-color: rgba($black, .15) !default;\\n$dropdown-border-radius: $border-radius !default;\\n$dropdown-border-width: $border-width !default;\\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\\n$dropdown-divider-bg: $gray-200 !default;\\n$dropdown-divider-margin-y: $nav-divider-margin-y !default;\\n$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;\\n\\n$dropdown-link-color: $gray-900 !default;\\n$dropdown-link-hover-color: darken($gray-900, 5%) !default;\\n$dropdown-link-hover-bg: $gray-100 !default;\\n\\n$dropdown-link-active-color: $component-active-color !default;\\n$dropdown-link-active-bg: $component-active-bg !default;\\n\\n$dropdown-link-disabled-color: $gray-600 !default;\\n\\n$dropdown-item-padding-y: .25rem !default;\\n$dropdown-item-padding-x: 1.5rem !default;\\n\\n$dropdown-header-color: $gray-600 !default;\\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\\n\\n\\n// Pagination\\n\\n$pagination-padding-y: .5rem !default;\\n$pagination-padding-x: .75rem !default;\\n$pagination-padding-y-sm: .25rem !default;\\n$pagination-padding-x-sm: .5rem !default;\\n$pagination-padding-y-lg: .75rem !default;\\n$pagination-padding-x-lg: 1.5rem !default;\\n$pagination-line-height: 1.25 !default;\\n\\n$pagination-color: $link-color !default;\\n$pagination-bg: $white !default;\\n$pagination-border-width: $border-width !default;\\n$pagination-border-color: $gray-300 !default;\\n\\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\\n$pagination-focus-outline: 0 !default;\\n\\n$pagination-hover-color: $link-hover-color !default;\\n$pagination-hover-bg: $gray-200 !default;\\n$pagination-hover-border-color: $gray-300 !default;\\n\\n$pagination-active-color: $component-active-color !default;\\n$pagination-active-bg: $component-active-bg !default;\\n$pagination-active-border-color: $pagination-active-bg !default;\\n\\n$pagination-disabled-color: $gray-600 !default;\\n$pagination-disabled-bg: $white !default;\\n$pagination-disabled-border-color: $gray-300 !default;\\n\\n\\n// Jumbotron\\n\\n$jumbotron-padding: 2rem !default;\\n$jumbotron-color: null !default;\\n$jumbotron-bg: $gray-200 !default;\\n\\n\\n// Cards\\n\\n$card-spacer-y: .75rem !default;\\n$card-spacer-x: 1.25rem !default;\\n$card-border-width: $border-width !default;\\n$card-border-radius: $border-radius !default;\\n$card-border-color: rgba($black, .125) !default;\\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\\n$card-cap-bg: rgba($black, .03) !default;\\n$card-cap-color: null !default;\\n$card-height: null !default;\\n$card-color: null !default;\\n$card-bg: $white !default;\\n\\n$card-img-overlay-padding: 1.25rem !default;\\n\\n$card-group-margin: $grid-gutter-width / 2 !default;\\n$card-deck-margin: $card-group-margin !default;\\n\\n$card-columns-count: 3 !default;\\n$card-columns-gap: 1.25rem !default;\\n$card-columns-margin: $card-spacer-y !default;\\n\\n\\n// Tooltips\\n\\n$tooltip-font-size: $font-size-sm !default;\\n$tooltip-max-width: 200px !default;\\n$tooltip-color: $white !default;\\n$tooltip-bg: $black !default;\\n$tooltip-border-radius: $border-radius !default;\\n$tooltip-opacity: .9 !default;\\n$tooltip-padding-y: .25rem !default;\\n$tooltip-padding-x: .5rem !default;\\n$tooltip-margin: 0 !default;\\n\\n$tooltip-arrow-width: .8rem !default;\\n$tooltip-arrow-height: .4rem !default;\\n$tooltip-arrow-color: $tooltip-bg !default;\\n\\n// Form tooltips must come after regular tooltips\\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\\n$form-feedback-tooltip-line-height: $line-height-base !default;\\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\\n\\n\\n// Popovers\\n\\n$popover-font-size: $font-size-sm !default;\\n$popover-bg: $white !default;\\n$popover-max-width: 276px !default;\\n$popover-border-width: $border-width !default;\\n$popover-border-color: rgba($black, .2) !default;\\n$popover-border-radius: $border-radius-lg !default;\\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\\n$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;\\n\\n$popover-header-bg: darken($popover-bg, 3%) !default;\\n$popover-header-color: $headings-color !default;\\n$popover-header-padding-y: .5rem !default;\\n$popover-header-padding-x: .75rem !default;\\n\\n$popover-body-color: $body-color !default;\\n$popover-body-padding-y: $popover-header-padding-y !default;\\n$popover-body-padding-x: $popover-header-padding-x !default;\\n\\n$popover-arrow-width: 1rem !default;\\n$popover-arrow-height: .5rem !default;\\n$popover-arrow-color: $popover-bg !default;\\n\\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\\n\\n\\n// Toasts\\n\\n$toast-max-width: 350px !default;\\n$toast-padding-x: .75rem !default;\\n$toast-padding-y: .25rem !default;\\n$toast-font-size: .875rem !default;\\n$toast-color: null !default;\\n$toast-background-color: rgba($white, .85) !default;\\n$toast-border-width: 1px !default;\\n$toast-border-color: rgba(0, 0, 0, .1) !default;\\n$toast-border-radius: .25rem !default;\\n$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;\\n\\n$toast-header-color: $gray-600 !default;\\n$toast-header-background-color: rgba($white, .85) !default;\\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\\n\\n\\n// Badges\\n\\n$badge-font-size: 75% !default;\\n$badge-font-weight: $font-weight-bold !default;\\n$badge-padding-y: .25em !default;\\n$badge-padding-x: .4em !default;\\n$badge-border-radius: $border-radius !default;\\n\\n$badge-transition: $btn-transition !default;\\n$badge-focus-width: $input-btn-focus-width !default;\\n\\n$badge-pill-padding-x: .6em !default;\\n// Use a higher than normal value to ensure completely rounded edges when\\n// customizing padding or font-size on labels.\\n$badge-pill-border-radius: 10rem !default;\\n\\n\\n// Modals\\n\\n// Padding applied to the modal body\\n$modal-inner-padding: 1rem !default;\\n\\n// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding\\n$modal-footer-margin-between: .5rem !default;\\n\\n$modal-dialog-margin: .5rem !default;\\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\\n\\n$modal-title-line-height: $line-height-base !default;\\n\\n$modal-content-color: null !default;\\n$modal-content-bg: $white !default;\\n$modal-content-border-color: rgba($black, .2) !default;\\n$modal-content-border-width: $border-width !default;\\n$modal-content-border-radius: $border-radius-lg !default;\\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\\n$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;\\n$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;\\n\\n$modal-backdrop-bg: $black !default;\\n$modal-backdrop-opacity: .5 !default;\\n$modal-header-border-color: $border-color !default;\\n$modal-footer-border-color: $modal-header-border-color !default;\\n$modal-header-border-width: $modal-content-border-width !default;\\n$modal-footer-border-width: $modal-header-border-width !default;\\n$modal-header-padding-y: 1rem !default;\\n$modal-header-padding-x: 1rem !default;\\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\\n\\n$modal-xl: 1140px !default;\\n$modal-lg: 800px !default;\\n$modal-md: 500px !default;\\n$modal-sm: 300px !default;\\n\\n$modal-fade-transform: translate(0, -50px) !default;\\n$modal-show-transform: none !default;\\n$modal-transition: transform .3s ease-out !default;\\n$modal-scale-transform: scale(1.02) !default;\\n\\n\\n// Alerts\\n//\\n// Define alert colors, border radius, and padding.\\n\\n$alert-padding-y: .75rem !default;\\n$alert-padding-x: 1.25rem !default;\\n$alert-margin-bottom: 1rem !default;\\n$alert-border-radius: $border-radius !default;\\n$alert-link-font-weight: $font-weight-bold !default;\\n$alert-border-width: $border-width !default;\\n\\n$alert-bg-level: -10 !default;\\n$alert-border-level: -9 !default;\\n$alert-color-level: 6 !default;\\n\\n\\n// Progress bars\\n\\n$progress-height: 1rem !default;\\n$progress-font-size: $font-size-base * .75 !default;\\n$progress-bg: $gray-200 !default;\\n$progress-border-radius: $border-radius !default;\\n$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;\\n$progress-bar-color: $white !default;\\n$progress-bar-bg: theme-color(\\\"primary\\\") !default;\\n$progress-bar-animation-timing: 1s linear infinite !default;\\n$progress-bar-transition: width .6s ease !default;\\n\\n\\n// List group\\n\\n$list-group-color: null !default;\\n$list-group-bg: $white !default;\\n$list-group-border-color: rgba($black, .125) !default;\\n$list-group-border-width: $border-width !default;\\n$list-group-border-radius: $border-radius !default;\\n\\n$list-group-item-padding-y: .75rem !default;\\n$list-group-item-padding-x: 1.25rem !default;\\n\\n$list-group-hover-bg: $gray-100 !default;\\n$list-group-active-color: $component-active-color !default;\\n$list-group-active-bg: $component-active-bg !default;\\n$list-group-active-border-color: $list-group-active-bg !default;\\n\\n$list-group-disabled-color: $gray-600 !default;\\n$list-group-disabled-bg: $list-group-bg !default;\\n\\n$list-group-action-color: $gray-700 !default;\\n$list-group-action-hover-color: $list-group-action-color !default;\\n\\n$list-group-action-active-color: $body-color !default;\\n$list-group-action-active-bg: $gray-200 !default;\\n\\n\\n// Image thumbnails\\n\\n$thumbnail-padding: .25rem !default;\\n$thumbnail-bg: $body-bg !default;\\n$thumbnail-border-width: $border-width !default;\\n$thumbnail-border-color: $gray-300 !default;\\n$thumbnail-border-radius: $border-radius !default;\\n$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;\\n\\n\\n// Figures\\n\\n$figure-caption-font-size: 90% !default;\\n$figure-caption-color: $gray-600 !default;\\n\\n\\n// Breadcrumbs\\n\\n$breadcrumb-font-size: null !default;\\n\\n$breadcrumb-padding-y: .75rem !default;\\n$breadcrumb-padding-x: 1rem !default;\\n$breadcrumb-item-padding: .5rem !default;\\n\\n$breadcrumb-margin-bottom: 1rem !default;\\n\\n$breadcrumb-bg: $gray-200 !default;\\n$breadcrumb-divider-color: $gray-600 !default;\\n$breadcrumb-active-color: $gray-600 !default;\\n$breadcrumb-divider: quote(\\\"/\\\") !default;\\n\\n$breadcrumb-border-radius: $border-radius !default;\\n\\n\\n// Carousel\\n\\n$carousel-control-color: $white !default;\\n$carousel-control-width: 15% !default;\\n$carousel-control-opacity: .5 !default;\\n$carousel-control-hover-opacity: .9 !default;\\n$carousel-control-transition: opacity .15s ease !default;\\n\\n$carousel-indicator-width: 30px !default;\\n$carousel-indicator-height: 3px !default;\\n$carousel-indicator-hit-area-height: 10px !default;\\n$carousel-indicator-spacer: 3px !default;\\n$carousel-indicator-active-bg: $white !default;\\n$carousel-indicator-transition: opacity .6s ease !default;\\n\\n$carousel-caption-width: 70% !default;\\n$carousel-caption-color: $white !default;\\n\\n$carousel-control-icon-width: 20px !default;\\n\\n$carousel-control-prev-icon-bg: url(\\\"data:image/svg+xml,\\\") !default;\\n$carousel-control-next-icon-bg: url(\\\"data:image/svg+xml,\\\") !default;\\n\\n$carousel-transition-duration: .6s !default;\\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\\n\\n\\n// Spinners\\n\\n$spinner-width: 2rem !default;\\n$spinner-height: $spinner-width !default;\\n$spinner-border-width: .25em !default;\\n\\n$spinner-width-sm: 1rem !default;\\n$spinner-height-sm: $spinner-width-sm !default;\\n$spinner-border-width-sm: .2em !default;\\n\\n\\n// Close\\n\\n$close-font-size: $font-size-base * 1.5 !default;\\n$close-font-weight: $font-weight-bold !default;\\n$close-color: $black !default;\\n$close-text-shadow: 0 1px 0 $white !default;\\n\\n\\n// Code\\n\\n$code-font-size: 87.5% !default;\\n$code-color: $pink !default;\\n\\n$kbd-padding-y: .2rem !default;\\n$kbd-padding-x: .4rem !default;\\n$kbd-font-size: $code-font-size !default;\\n$kbd-color: $white !default;\\n$kbd-bg: $gray-900 !default;\\n\\n$pre-color: $gray-900 !default;\\n$pre-scrollable-max-height: 340px !default;\\n\\n\\n// Utilities\\n\\n$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;\\n$overflows: auto, hidden !default;\\n$positions: static, relative, absolute, fixed, sticky !default;\\n$user-selects: all, auto, none !default;\\n\\n\\n// Printing\\n\\n$print-page-size: a3 !default;\\n$print-body-min-width: map-get($grid-breakpoints, \\\"lg\\\") !default;\\n\",\"// stylelint-disable property-blacklist, scss/dollar-variable-default\\n\\n// SCSS RFS mixin\\n//\\n// Automated font-resizing\\n//\\n// See https://github.com/twbs/rfs\\n\\n// Configuration\\n\\n// Base font size\\n$rfs-base-font-size: 1.25rem !default;\\n$rfs-font-size-unit: rem !default;\\n\\n// Breakpoint at where font-size starts decreasing if screen width is smaller\\n$rfs-breakpoint: 1200px !default;\\n$rfs-breakpoint-unit: px !default;\\n\\n// Resize font-size 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// 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-responsive-font-sizes to false\\n$enable-responsive-font-sizes: true !default;\\n\\n// Cache $rfs-base-font-size unit\\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\\n\\n// Remove px-unit from $rfs-base-font-size for calculations\\n@if $rfs-base-font-size-unit == \\\"px\\\" {\\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\\n}\\n@else if $rfs-base-font-size-unit == \\\"rem\\\" {\\n $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 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// Responsive font-size mixin\\n@mixin rfs($fs, $important: false) {\\n // Cache $fs unit\\n $fs-unit: if(type-of($fs) == \\\"number\\\", unit($fs), false);\\n\\n // Add !important suffix if needed\\n $rfs-suffix: if($important, \\\" !important\\\", \\\"\\\");\\n\\n // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\\n @if not $fs-unit or $fs-unit != \\\"\\\" and $fs-unit != \\\"px\\\" and $fs-unit != \\\"rem\\\" or $fs == 0 {\\n font-size: #{$fs}#{$rfs-suffix};\\n }\\n @else {\\n // Variables for storing static and fluid rescaling\\n $rfs-static: null;\\n $rfs-fluid: null;\\n\\n // Remove px-unit from $fs for calculations\\n @if $fs-unit == \\\"px\\\" {\\n $fs: $fs / ($fs * 0 + 1);\\n }\\n @else if $fs-unit == \\\"rem\\\" {\\n $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\\n }\\n\\n // Set default font-size\\n @if $rfs-font-size-unit == rem {\\n $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\\n }\\n @else if $rfs-font-size-unit == px {\\n $rfs-static: #{$fs}px#{$rfs-suffix};\\n }\\n @else {\\n @error \\\"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\\\";\\n }\\n\\n // Only add media query if font-size is bigger as the minimum font-size\\n // If $rfs-factor == 1, no rescaling will take place\\n @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\\n $min-width: null;\\n $variable-unit: null;\\n\\n // Calculate minimum font-size for given font-size\\n $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\\n\\n // Calculate difference between given font-size and minimum font-size for given font-size\\n $fs-diff: $fs - $fs-min;\\n\\n // Base font-size formatting\\n // No need to check if the unit is valid, because we did that before\\n $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\\n\\n // If two-dimensional, use smallest of screen width and height\\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\\n\\n // Calculate the variable width between 0 and $rfs-breakpoint\\n $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\\n\\n // Set the calculated font-size.\\n $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\\n }\\n\\n // Rendering\\n @if $rfs-fluid == null {\\n // Only render static font-size if no fluid font-size is available\\n font-size: $rfs-static;\\n }\\n @else {\\n $mq-value: null;\\n\\n // RFS breakpoint formatting\\n @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\\n $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\\n }\\n @else if $rfs-breakpoint-unit == px {\\n $mq-value: #{$rfs-breakpoint}px;\\n }\\n @else {\\n @error \\\"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\\\";\\n }\\n\\n @if $rfs-class == \\\"disable\\\" {\\n // Adding an extra class increases specificity,\\n // which prevents the media query to override the font size\\n &,\\n .disable-responsive-font-size &,\\n &.disable-responsive-font-size {\\n font-size: $rfs-static;\\n }\\n }\\n @else {\\n font-size: $rfs-static;\\n }\\n\\n @if $rfs-two-dimensional {\\n @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\\n @if $rfs-class == \\\"enable\\\" {\\n .enable-responsive-font-size &,\\n &.enable-responsive-font-size {\\n font-size: $rfs-fluid;\\n }\\n }\\n @else {\\n font-size: $rfs-fluid;\\n }\\n\\n @if $rfs-safari-iframe-resize-bug-fix {\\n // stylelint-disable-next-line length-zero-no-unit\\n min-width: 0vw;\\n }\\n }\\n }\\n @else {\\n @media (max-width: #{$mq-value}) {\\n @if $rfs-class == \\\"enable\\\" {\\n .enable-responsive-font-size &,\\n &.enable-responsive-font-size {\\n font-size: $rfs-fluid;\\n }\\n }\\n @else {\\n font-size: $rfs-fluid;\\n }\\n\\n @if $rfs-safari-iframe-resize-bug-fix {\\n // stylelint-disable-next-line length-zero-no-unit\\n min-width: 0vw;\\n }\\n }\\n }\\n }\\n }\\n}\\n\\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\\n@mixin font-size($fs, $important: false) {\\n @include rfs($fs, $important);\\n}\\n\\n@mixin responsive-font-size($fs, $important: false) {\\n @include rfs($fs, $important);\\n}\\n\",\":root {\\n --blue: #007bff;\\n --indigo: #6610f2;\\n --purple: #6f42c1;\\n --pink: #e83e8c;\\n --red: #dc3545;\\n --orange: #fd7e14;\\n --yellow: #ffc107;\\n --green: #28a745;\\n --teal: #20c997;\\n --cyan: #17a2b8;\\n --white: #fff;\\n --gray: #6c757d;\\n --gray-dark: #343a40;\\n --primary: #007bff;\\n --secondary: #6c757d;\\n --success: #28a745;\\n --info: #17a2b8;\\n --warning: #ffc107;\\n --danger: #dc3545;\\n --light: #f8f9fa;\\n --dark: #343a40;\\n --breakpoint-xs: 0;\\n --breakpoint-sm: 576px;\\n --breakpoint-md: 768px;\\n --breakpoint-lg: 992px;\\n --breakpoint-xl: 1200px;\\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\";\\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace; }\\n\\n*,\\n*::before,\\n*::after {\\n box-sizing: border-box; }\\n\\nhtml {\\n font-family: sans-serif;\\n line-height: 1.15;\\n -webkit-text-size-adjust: 100%;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }\\n\\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\\n display: block; }\\n\\nbody {\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\";\\n font-size: 1rem;\\n font-weight: 400;\\n line-height: 1.5;\\n color: #212529;\\n text-align: left;\\n background-color: #fff; }\\n\\n[tabindex=\\\"-1\\\"]:focus:not(:focus-visible) {\\n outline: 0 !important; }\\n\\nhr {\\n box-sizing: content-box;\\n height: 0;\\n overflow: visible; }\\n\\nh1, h2, h3, h4, h5, h6 {\\n margin-top: 0;\\n margin-bottom: 0.5rem; }\\n\\np {\\n margin-top: 0;\\n margin-bottom: 1rem; }\\n\\nabbr[title],\\nabbr[data-original-title] {\\n text-decoration: underline;\\n text-decoration: underline dotted;\\n cursor: help;\\n border-bottom: 0;\\n text-decoration-skip-ink: none; }\\n\\naddress {\\n margin-bottom: 1rem;\\n font-style: normal;\\n line-height: inherit; }\\n\\nol,\\nul,\\ndl {\\n margin-top: 0;\\n margin-bottom: 1rem; }\\n\\nol ol,\\nul ul,\\nol ul,\\nul ol {\\n margin-bottom: 0; }\\n\\ndt {\\n font-weight: 700; }\\n\\ndd {\\n margin-bottom: .5rem;\\n margin-left: 0; }\\n\\nblockquote {\\n margin: 0 0 1rem; }\\n\\nb,\\nstrong {\\n font-weight: bolder; }\\n\\nsmall {\\n font-size: 80%; }\\n\\nsub,\\nsup {\\n position: relative;\\n font-size: 75%;\\n line-height: 0;\\n vertical-align: baseline; }\\n\\nsub {\\n bottom: -.25em; }\\n\\nsup {\\n top: -.5em; }\\n\\na {\\n color: #007bff;\\n text-decoration: none;\\n background-color: transparent; }\\n a:hover {\\n color: #0056b3;\\n text-decoration: underline; }\\n\\na:not([href]) {\\n color: inherit;\\n text-decoration: none; }\\n a:not([href]):hover {\\n color: inherit;\\n text-decoration: none; }\\n\\npre,\\ncode,\\nkbd,\\nsamp {\\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace;\\n font-size: 1em; }\\n\\npre {\\n margin-top: 0;\\n margin-bottom: 1rem;\\n overflow: auto;\\n -ms-overflow-style: scrollbar; }\\n\\nfigure {\\n margin: 0 0 1rem; }\\n\\nimg {\\n vertical-align: middle;\\n border-style: none; }\\n\\nsvg {\\n overflow: hidden;\\n vertical-align: middle; }\\n\\ntable {\\n border-collapse: collapse; }\\n\\ncaption {\\n padding-top: 0.75rem;\\n padding-bottom: 0.75rem;\\n color: #6c757d;\\n text-align: left;\\n caption-side: bottom; }\\n\\nth {\\n text-align: inherit; }\\n\\nlabel {\\n display: inline-block;\\n margin-bottom: 0.5rem; }\\n\\nbutton {\\n border-radius: 0; }\\n\\nbutton:focus {\\n outline: 1px dotted;\\n outline: 5px auto -webkit-focus-ring-color; }\\n\\ninput,\\nbutton,\\nselect,\\noptgroup,\\ntextarea {\\n margin: 0;\\n font-family: inherit;\\n font-size: inherit;\\n line-height: inherit; }\\n\\nbutton,\\ninput {\\n overflow: visible; }\\n\\nbutton,\\nselect {\\n text-transform: none; }\\n\\n[role=\\\"button\\\"] {\\n cursor: pointer; }\\n\\nselect {\\n word-wrap: normal; }\\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\\nbutton::-moz-focus-inner,\\n[type=\\\"button\\\"]::-moz-focus-inner,\\n[type=\\\"reset\\\"]::-moz-focus-inner,\\n[type=\\\"submit\\\"]::-moz-focus-inner {\\n padding: 0;\\n border-style: none; }\\n\\ninput[type=\\\"radio\\\"],\\ninput[type=\\\"checkbox\\\"] {\\n box-sizing: border-box;\\n padding: 0; }\\n\\ntextarea {\\n overflow: auto;\\n resize: vertical; }\\n\\nfieldset {\\n min-width: 0;\\n padding: 0;\\n margin: 0;\\n border: 0; }\\n\\nlegend {\\n display: block;\\n width: 100%;\\n max-width: 100%;\\n padding: 0;\\n margin-bottom: .5rem;\\n font-size: 1.5rem;\\n line-height: inherit;\\n color: inherit;\\n white-space: normal; }\\n\\nprogress {\\n vertical-align: baseline; }\\n\\n[type=\\\"number\\\"]::-webkit-inner-spin-button,\\n[type=\\\"number\\\"]::-webkit-outer-spin-button {\\n height: auto; }\\n\\n[type=\\\"search\\\"] {\\n outline-offset: -2px;\\n -webkit-appearance: none; }\\n\\n[type=\\\"search\\\"]::-webkit-search-decoration {\\n -webkit-appearance: none; }\\n\\n::-webkit-file-upload-button {\\n font: inherit;\\n -webkit-appearance: button; }\\n\\noutput {\\n display: inline-block; }\\n\\nsummary {\\n display: list-item;\\n cursor: pointer; }\\n\\ntemplate {\\n display: none; }\\n\\n[hidden] {\\n display: none !important; }\\n\\nh1, h2, h3, h4, h5, h6,\\n.h1, .h2, .h3, .h4, .h5, .h6 {\\n margin-bottom: 0.5rem;\\n font-weight: 500;\\n line-height: 1.2; }\\n\\nh1, .h1 {\\n font-size: 2.5rem; }\\n\\nh2, .h2 {\\n font-size: 2rem; }\\n\\nh3, .h3 {\\n font-size: 1.75rem; }\\n\\nh4, .h4 {\\n font-size: 1.5rem; }\\n\\nh5, .h5 {\\n font-size: 1.25rem; }\\n\\nh6, .h6 {\\n font-size: 1rem; }\\n\\n.lead {\\n font-size: 1.25rem;\\n font-weight: 300; }\\n\\n.display-1 {\\n font-size: 6rem;\\n font-weight: 300;\\n line-height: 1.2; }\\n\\n.display-2 {\\n font-size: 5.5rem;\\n font-weight: 300;\\n line-height: 1.2; }\\n\\n.display-3 {\\n font-size: 4.5rem;\\n font-weight: 300;\\n line-height: 1.2; }\\n\\n.display-4 {\\n font-size: 3.5rem;\\n font-weight: 300;\\n line-height: 1.2; }\\n\\nhr {\\n margin-top: 1rem;\\n margin-bottom: 1rem;\\n border: 0;\\n border-top: 1px solid rgba(0, 0, 0, 0.1); }\\n\\nsmall,\\n.small {\\n font-size: 80%;\\n font-weight: 400; }\\n\\nmark,\\n.mark {\\n padding: 0.2em;\\n background-color: #fcf8e3; }\\n\\n.list-unstyled {\\n padding-left: 0;\\n list-style: none; }\\n\\n.list-inline {\\n padding-left: 0;\\n list-style: none; }\\n\\n.list-inline-item {\\n display: inline-block; }\\n .list-inline-item:not(:last-child) {\\n margin-right: 0.5rem; }\\n\\n.initialism {\\n font-size: 90%;\\n text-transform: uppercase; }\\n\\n.blockquote {\\n margin-bottom: 1rem;\\n font-size: 1.25rem; }\\n\\n.blockquote-footer {\\n display: block;\\n font-size: 80%;\\n color: #6c757d; }\\n .blockquote-footer::before {\\n content: \\\"\\\\2014\\\\00A0\\\"; }\\n\\n.alert {\\n position: relative;\\n padding: 0.75rem 1.25rem;\\n margin-bottom: 1rem;\\n border: 1px solid transparent;\\n border-radius: 0.25rem; }\\n\\n.alert-heading {\\n color: inherit; }\\n\\n.alert-link {\\n font-weight: 700; }\\n\\n.alert-dismissible {\\n padding-right: 4rem; }\\n .alert-dismissible .close {\\n position: absolute;\\n top: 0;\\n right: 0;\\n padding: 0.75rem 1.25rem;\\n color: inherit; }\\n\\n.alert-primary {\\n color: #004085;\\n background-color: #cce5ff;\\n border-color: #b8daff; }\\n .alert-primary hr {\\n border-top-color: #9fcdff; }\\n .alert-primary .alert-link {\\n color: #002752; }\\n\\n.alert-secondary {\\n color: #383d41;\\n background-color: #e2e3e5;\\n border-color: #d6d8db; }\\n .alert-secondary hr {\\n border-top-color: #c8cbcf; }\\n .alert-secondary .alert-link {\\n color: #202326; }\\n\\n.alert-success {\\n color: #155724;\\n background-color: #d4edda;\\n border-color: #c3e6cb; }\\n .alert-success hr {\\n border-top-color: #b1dfbb; }\\n .alert-success .alert-link {\\n color: #0b2e13; }\\n\\n.alert-info {\\n color: #0c5460;\\n background-color: #d1ecf1;\\n border-color: #bee5eb; }\\n .alert-info hr {\\n border-top-color: #abdde5; }\\n .alert-info .alert-link {\\n color: #062c33; }\\n\\n.alert-warning {\\n color: #856404;\\n background-color: #fff3cd;\\n border-color: #ffeeba; }\\n .alert-warning hr {\\n border-top-color: #ffe8a1; }\\n .alert-warning .alert-link {\\n color: #533f03; }\\n\\n.alert-danger {\\n color: #721c24;\\n background-color: #f8d7da;\\n border-color: #f5c6cb; }\\n .alert-danger hr {\\n border-top-color: #f1b0b7; }\\n .alert-danger .alert-link {\\n color: #491217; }\\n\\n.alert-light {\\n color: #818182;\\n background-color: #fefefe;\\n border-color: #fdfdfe; }\\n .alert-light hr {\\n border-top-color: #ececf6; }\\n .alert-light .alert-link {\\n color: #686868; }\\n\\n.alert-dark {\\n color: #1b1e21;\\n background-color: #d6d8d9;\\n border-color: #c6c8ca; }\\n .alert-dark hr {\\n border-top-color: #b9bbbe; }\\n .alert-dark .alert-link {\\n color: #040505; }\\n\\n.badge {\\n display: inline-block;\\n padding: 0.25em 0.4em;\\n font-size: 75%;\\n font-weight: 700;\\n line-height: 1;\\n text-align: center;\\n white-space: nowrap;\\n vertical-align: baseline;\\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 @media (prefers-reduced-motion: reduce) {\\n .badge {\\n transition: none; } }\\n a.badge:hover, a.badge:focus {\\n text-decoration: none; }\\n .badge:empty {\\n display: none; }\\n\\n.btn .badge {\\n position: relative;\\n top: -1px; }\\n\\n.badge-pill {\\n padding-right: 0.6em;\\n padding-left: 0.6em;\\n border-radius: 10rem; }\\n\\n.badge-primary {\\n color: #fff;\\n background-color: #007bff; }\\n a.badge-primary:hover, a.badge-primary:focus {\\n color: #fff;\\n background-color: #0062cc; }\\n a.badge-primary:focus, a.badge-primary.focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); }\\n\\n.badge-secondary {\\n color: #fff;\\n background-color: #6c757d; }\\n a.badge-secondary:hover, a.badge-secondary:focus {\\n color: #fff;\\n background-color: #545b62; }\\n a.badge-secondary:focus, a.badge-secondary.focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }\\n\\n.badge-success {\\n color: #fff;\\n background-color: #28a745; }\\n a.badge-success:hover, a.badge-success:focus {\\n color: #fff;\\n background-color: #1e7e34; }\\n a.badge-success:focus, a.badge-success.focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }\\n\\n.badge-info {\\n color: #fff;\\n background-color: #17a2b8; }\\n a.badge-info:hover, a.badge-info:focus {\\n color: #fff;\\n background-color: #117a8b; }\\n a.badge-info:focus, a.badge-info.focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }\\n\\n.badge-warning {\\n color: #212529;\\n background-color: #ffc107; }\\n a.badge-warning:hover, a.badge-warning:focus {\\n color: #212529;\\n background-color: #d39e00; }\\n a.badge-warning:focus, a.badge-warning.focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }\\n\\n.badge-danger {\\n color: #fff;\\n background-color: #dc3545; }\\n a.badge-danger:hover, a.badge-danger:focus {\\n color: #fff;\\n background-color: #bd2130; }\\n a.badge-danger:focus, a.badge-danger.focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }\\n\\n.badge-light {\\n color: #212529;\\n background-color: #f8f9fa; }\\n a.badge-light:hover, a.badge-light:focus {\\n color: #212529;\\n background-color: #dae0e5; }\\n a.badge-light:focus, a.badge-light.focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }\\n\\n.badge-dark {\\n color: #fff;\\n background-color: #343a40; }\\n a.badge-dark:hover, a.badge-dark:focus {\\n color: #fff;\\n background-color: #1d2124; }\\n a.badge-dark:focus, a.badge-dark.focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }\\n\\n.breadcrumb {\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0.75rem 1rem;\\n margin-bottom: 1rem;\\n list-style: none;\\n background-color: #e9ecef;\\n border-radius: 0.25rem; }\\n\\n.breadcrumb-item {\\n display: flex; }\\n .breadcrumb-item + .breadcrumb-item {\\n padding-left: 0.5rem; }\\n .breadcrumb-item + .breadcrumb-item::before {\\n display: inline-block;\\n padding-right: 0.5rem;\\n color: #6c757d;\\n content: \\\"/\\\"; }\\n .breadcrumb-item + .breadcrumb-item:hover::before {\\n text-decoration: underline; }\\n .breadcrumb-item + .breadcrumb-item:hover::before {\\n text-decoration: none; }\\n .breadcrumb-item.active {\\n color: #6c757d; }\\n\\n.btn-group,\\n.btn-group-vertical {\\n position: relative;\\n display: inline-flex;\\n vertical-align: middle; }\\n .btn-group > .btn,\\n .btn-group-vertical > .btn {\\n position: relative;\\n flex: 1 1 auto; }\\n .btn-group > .btn:hover,\\n .btn-group-vertical > .btn:hover {\\n z-index: 1; }\\n .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\\n .btn-group-vertical > .btn:focus,\\n .btn-group-vertical > .btn:active,\\n .btn-group-vertical > .btn.active {\\n z-index: 1; }\\n\\n.btn-toolbar {\\n display: flex;\\n flex-wrap: wrap;\\n justify-content: flex-start; }\\n .btn-toolbar .input-group {\\n width: auto; }\\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:not(:first-child),\\n.btn-group > .btn-group:not(:first-child) > .btn {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0; }\\n\\n.dropdown-toggle-split {\\n padding-right: 0.5625rem;\\n padding-left: 0.5625rem; }\\n .dropdown-toggle-split::after,\\n .dropup .dropdown-toggle-split::after,\\n .dropright .dropdown-toggle-split::after {\\n margin-left: 0; }\\n .dropleft .dropdown-toggle-split::before {\\n margin-right: 0; }\\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.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\\n padding-right: 0.75rem;\\n padding-left: 0.75rem; }\\n\\n.btn-group-vertical {\\n flex-direction: column;\\n align-items: flex-start;\\n justify-content: center; }\\n .btn-group-vertical > .btn,\\n .btn-group-vertical > .btn-group {\\n width: 100%; }\\n .btn-group-vertical > .btn:not(:first-child),\\n .btn-group-vertical > .btn-group:not(:first-child) {\\n margin-top: -1px; }\\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 .btn-group-vertical > .btn:not(:first-child),\\n .btn-group-vertical > .btn-group:not(:first-child) > .btn {\\n border-top-left-radius: 0;\\n border-top-right-radius: 0; }\\n\\n.btn-group-toggle > .btn,\\n.btn-group-toggle > .btn-group > .btn {\\n margin-bottom: 0; }\\n .btn-group-toggle > .btn input[type=\\\"radio\\\"],\\n .btn-group-toggle > .btn input[type=\\\"checkbox\\\"],\\n .btn-group-toggle > .btn-group > .btn input[type=\\\"radio\\\"],\\n .btn-group-toggle > .btn-group > .btn input[type=\\\"checkbox\\\"] {\\n position: absolute;\\n clip: rect(0, 0, 0, 0);\\n pointer-events: none; }\\n\\n.btn {\\n display: inline-block;\\n font-weight: 400;\\n color: #212529;\\n text-align: center;\\n vertical-align: middle;\\n user-select: none;\\n background-color: transparent;\\n border: 1px solid transparent;\\n padding: 0.375rem 0.75rem;\\n font-size: 1rem;\\n line-height: 1.5;\\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 @media (prefers-reduced-motion: reduce) {\\n .btn {\\n transition: none; } }\\n .btn:hover {\\n color: #212529;\\n text-decoration: none; }\\n .btn:focus, .btn.focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }\\n .btn.disabled, .btn:disabled {\\n opacity: 0.65; }\\n .btn:not(:disabled):not(.disabled) {\\n cursor: pointer; }\\n\\na.btn.disabled,\\nfieldset:disabled a.btn {\\n pointer-events: none; }\\n\\n.btn-primary {\\n color: #fff;\\n background-color: #007bff;\\n border-color: #007bff; }\\n .btn-primary:hover {\\n color: #fff;\\n background-color: #0069d9;\\n border-color: #0062cc; }\\n .btn-primary:focus, .btn-primary.focus {\\n color: #fff;\\n background-color: #0069d9;\\n border-color: #0062cc;\\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); }\\n .btn-primary.disabled, .btn-primary:disabled {\\n color: #fff;\\n background-color: #007bff;\\n border-color: #007bff; }\\n .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\\n .show > .btn-primary.dropdown-toggle {\\n color: #fff;\\n background-color: #0062cc;\\n border-color: #005cbf; }\\n .btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-primary.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); }\\n\\n.btn-secondary {\\n color: #fff;\\n background-color: #6c757d;\\n border-color: #6c757d; }\\n .btn-secondary:hover {\\n color: #fff;\\n background-color: #5a6268;\\n border-color: #545b62; }\\n .btn-secondary:focus, .btn-secondary.focus {\\n color: #fff;\\n background-color: #5a6268;\\n border-color: #545b62;\\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); }\\n .btn-secondary.disabled, .btn-secondary:disabled {\\n color: #fff;\\n background-color: #6c757d;\\n border-color: #6c757d; }\\n .btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\\n .show > .btn-secondary.dropdown-toggle {\\n color: #fff;\\n background-color: #545b62;\\n border-color: #4e555b; }\\n .btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-secondary.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); }\\n\\n.btn-success {\\n color: #fff;\\n background-color: #28a745;\\n border-color: #28a745; }\\n .btn-success:hover {\\n color: #fff;\\n background-color: #218838;\\n border-color: #1e7e34; }\\n .btn-success:focus, .btn-success.focus {\\n color: #fff;\\n background-color: #218838;\\n border-color: #1e7e34;\\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); }\\n .btn-success.disabled, .btn-success:disabled {\\n color: #fff;\\n background-color: #28a745;\\n border-color: #28a745; }\\n .btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\\n .show > .btn-success.dropdown-toggle {\\n color: #fff;\\n background-color: #1e7e34;\\n border-color: #1c7430; }\\n .btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-success.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); }\\n\\n.btn-info {\\n color: #fff;\\n background-color: #17a2b8;\\n border-color: #17a2b8; }\\n .btn-info:hover {\\n color: #fff;\\n background-color: #138496;\\n border-color: #117a8b; }\\n .btn-info:focus, .btn-info.focus {\\n color: #fff;\\n background-color: #138496;\\n border-color: #117a8b;\\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); }\\n .btn-info.disabled, .btn-info:disabled {\\n color: #fff;\\n background-color: #17a2b8;\\n border-color: #17a2b8; }\\n .btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\\n .show > .btn-info.dropdown-toggle {\\n color: #fff;\\n background-color: #117a8b;\\n border-color: #10707f; }\\n .btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-info.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); }\\n\\n.btn-warning {\\n color: #212529;\\n background-color: #ffc107;\\n border-color: #ffc107; }\\n .btn-warning:hover {\\n color: #212529;\\n background-color: #e0a800;\\n border-color: #d39e00; }\\n .btn-warning:focus, .btn-warning.focus {\\n color: #212529;\\n background-color: #e0a800;\\n border-color: #d39e00;\\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); }\\n .btn-warning.disabled, .btn-warning:disabled {\\n color: #212529;\\n background-color: #ffc107;\\n border-color: #ffc107; }\\n .btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\\n .show > .btn-warning.dropdown-toggle {\\n color: #212529;\\n background-color: #d39e00;\\n border-color: #c69500; }\\n .btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-warning.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); }\\n\\n.btn-danger {\\n color: #fff;\\n background-color: #dc3545;\\n border-color: #dc3545; }\\n .btn-danger:hover {\\n color: #fff;\\n background-color: #c82333;\\n border-color: #bd2130; }\\n .btn-danger:focus, .btn-danger.focus {\\n color: #fff;\\n background-color: #c82333;\\n border-color: #bd2130;\\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); }\\n .btn-danger.disabled, .btn-danger:disabled {\\n color: #fff;\\n background-color: #dc3545;\\n border-color: #dc3545; }\\n .btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\\n .show > .btn-danger.dropdown-toggle {\\n color: #fff;\\n background-color: #bd2130;\\n border-color: #b21f2d; }\\n .btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-danger.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); }\\n\\n.btn-light {\\n color: #212529;\\n background-color: #f8f9fa;\\n border-color: #f8f9fa; }\\n .btn-light:hover {\\n color: #212529;\\n background-color: #e2e6ea;\\n border-color: #dae0e5; }\\n .btn-light:focus, .btn-light.focus {\\n color: #212529;\\n background-color: #e2e6ea;\\n border-color: #dae0e5;\\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }\\n .btn-light.disabled, .btn-light:disabled {\\n color: #212529;\\n background-color: #f8f9fa;\\n border-color: #f8f9fa; }\\n .btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\\n .show > .btn-light.dropdown-toggle {\\n color: #212529;\\n background-color: #dae0e5;\\n border-color: #d3d9df; }\\n .btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-light.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }\\n\\n.btn-dark {\\n color: #fff;\\n background-color: #343a40;\\n border-color: #343a40; }\\n .btn-dark:hover {\\n color: #fff;\\n background-color: #23272b;\\n border-color: #1d2124; }\\n .btn-dark:focus, .btn-dark.focus {\\n color: #fff;\\n background-color: #23272b;\\n border-color: #1d2124;\\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }\\n .btn-dark.disabled, .btn-dark:disabled {\\n color: #fff;\\n background-color: #343a40;\\n border-color: #343a40; }\\n .btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\\n .show > .btn-dark.dropdown-toggle {\\n color: #fff;\\n background-color: #1d2124;\\n border-color: #171a1d; }\\n .btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-dark.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }\\n\\n.btn-outline-primary {\\n color: #007bff;\\n border-color: #007bff; }\\n .btn-outline-primary:hover {\\n color: #fff;\\n background-color: #007bff;\\n border-color: #007bff; }\\n .btn-outline-primary:focus, .btn-outline-primary.focus {\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); }\\n .btn-outline-primary.disabled, .btn-outline-primary:disabled {\\n color: #007bff;\\n background-color: transparent; }\\n .btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\\n .show > .btn-outline-primary.dropdown-toggle {\\n color: #fff;\\n background-color: #007bff;\\n border-color: #007bff; }\\n .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-outline-primary.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); }\\n\\n.btn-outline-secondary {\\n color: #6c757d;\\n border-color: #6c757d; }\\n .btn-outline-secondary:hover {\\n color: #fff;\\n background-color: #6c757d;\\n border-color: #6c757d; }\\n .btn-outline-secondary:focus, .btn-outline-secondary.focus {\\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }\\n .btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\\n color: #6c757d;\\n background-color: transparent; }\\n .btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\\n .show > .btn-outline-secondary.dropdown-toggle {\\n color: #fff;\\n background-color: #6c757d;\\n border-color: #6c757d; }\\n .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-outline-secondary.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }\\n\\n.btn-outline-success {\\n color: #28a745;\\n border-color: #28a745; }\\n .btn-outline-success:hover {\\n color: #fff;\\n background-color: #28a745;\\n border-color: #28a745; }\\n .btn-outline-success:focus, .btn-outline-success.focus {\\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }\\n .btn-outline-success.disabled, .btn-outline-success:disabled {\\n color: #28a745;\\n background-color: transparent; }\\n .btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\\n .show > .btn-outline-success.dropdown-toggle {\\n color: #fff;\\n background-color: #28a745;\\n border-color: #28a745; }\\n .btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-outline-success.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }\\n\\n.btn-outline-info {\\n color: #17a2b8;\\n border-color: #17a2b8; }\\n .btn-outline-info:hover {\\n color: #fff;\\n background-color: #17a2b8;\\n border-color: #17a2b8; }\\n .btn-outline-info:focus, .btn-outline-info.focus {\\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }\\n .btn-outline-info.disabled, .btn-outline-info:disabled {\\n color: #17a2b8;\\n background-color: transparent; }\\n .btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\\n .show > .btn-outline-info.dropdown-toggle {\\n color: #fff;\\n background-color: #17a2b8;\\n border-color: #17a2b8; }\\n .btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-outline-info.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }\\n\\n.btn-outline-warning {\\n color: #ffc107;\\n border-color: #ffc107; }\\n .btn-outline-warning:hover {\\n color: #212529;\\n background-color: #ffc107;\\n border-color: #ffc107; }\\n .btn-outline-warning:focus, .btn-outline-warning.focus {\\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }\\n .btn-outline-warning.disabled, .btn-outline-warning:disabled {\\n color: #ffc107;\\n background-color: transparent; }\\n .btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\\n .show > .btn-outline-warning.dropdown-toggle {\\n color: #212529;\\n background-color: #ffc107;\\n border-color: #ffc107; }\\n .btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-outline-warning.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }\\n\\n.btn-outline-danger {\\n color: #dc3545;\\n border-color: #dc3545; }\\n .btn-outline-danger:hover {\\n color: #fff;\\n background-color: #dc3545;\\n border-color: #dc3545; }\\n .btn-outline-danger:focus, .btn-outline-danger.focus {\\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }\\n .btn-outline-danger.disabled, .btn-outline-danger:disabled {\\n color: #dc3545;\\n background-color: transparent; }\\n .btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\\n .show > .btn-outline-danger.dropdown-toggle {\\n color: #fff;\\n background-color: #dc3545;\\n border-color: #dc3545; }\\n .btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-outline-danger.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }\\n\\n.btn-outline-light {\\n color: #f8f9fa;\\n border-color: #f8f9fa; }\\n .btn-outline-light:hover {\\n color: #212529;\\n background-color: #f8f9fa;\\n border-color: #f8f9fa; }\\n .btn-outline-light:focus, .btn-outline-light.focus {\\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }\\n .btn-outline-light.disabled, .btn-outline-light:disabled {\\n color: #f8f9fa;\\n background-color: transparent; }\\n .btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\\n .show > .btn-outline-light.dropdown-toggle {\\n color: #212529;\\n background-color: #f8f9fa;\\n border-color: #f8f9fa; }\\n .btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-outline-light.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }\\n\\n.btn-outline-dark {\\n color: #343a40;\\n border-color: #343a40; }\\n .btn-outline-dark:hover {\\n color: #fff;\\n background-color: #343a40;\\n border-color: #343a40; }\\n .btn-outline-dark:focus, .btn-outline-dark.focus {\\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }\\n .btn-outline-dark.disabled, .btn-outline-dark:disabled {\\n color: #343a40;\\n background-color: transparent; }\\n .btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\\n .show > .btn-outline-dark.dropdown-toggle {\\n color: #fff;\\n background-color: #343a40;\\n border-color: #343a40; }\\n .btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-outline-dark.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }\\n\\n.btn-link {\\n font-weight: 400;\\n color: #007bff;\\n text-decoration: none; }\\n .btn-link:hover {\\n color: #0056b3;\\n text-decoration: underline; }\\n .btn-link:focus, .btn-link.focus {\\n text-decoration: underline; }\\n .btn-link:disabled, .btn-link.disabled {\\n color: #6c757d;\\n pointer-events: none; }\\n\\n.btn-lg, .btn-group-lg > .btn {\\n padding: 0.5rem 1rem;\\n font-size: 1.25rem;\\n line-height: 1.5;\\n border-radius: 0.3rem; }\\n\\n.btn-sm, .btn-group-sm > .btn {\\n padding: 0.25rem 0.5rem;\\n font-size: 0.875rem;\\n line-height: 1.5;\\n border-radius: 0.2rem; }\\n\\n.btn-block {\\n display: block;\\n width: 100%; }\\n .btn-block + .btn-block {\\n margin-top: 0.5rem; }\\n\\ninput[type=\\\"submit\\\"].btn-block,\\ninput[type=\\\"reset\\\"].btn-block,\\ninput[type=\\\"button\\\"].btn-block {\\n width: 100%; }\\n\\n.btn {\\n display: inline-block;\\n font-weight: 400;\\n color: #212529;\\n text-align: center;\\n vertical-align: middle;\\n user-select: none;\\n background-color: transparent;\\n border: 1px solid transparent;\\n padding: 0.375rem 0.75rem;\\n font-size: 1rem;\\n line-height: 1.5;\\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 @media (prefers-reduced-motion: reduce) {\\n .btn {\\n transition: none; } }\\n .btn:hover {\\n color: #212529;\\n text-decoration: none; }\\n .btn:focus, .btn.focus {\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }\\n .btn.disabled, .btn:disabled {\\n opacity: 0.65; }\\n .btn:not(:disabled):not(.disabled) {\\n cursor: pointer; }\\n\\na.btn.disabled,\\nfieldset:disabled a.btn {\\n pointer-events: none; }\\n\\n.btn-primary {\\n color: #fff;\\n background-color: #007bff;\\n border-color: #007bff; }\\n .btn-primary:hover {\\n color: #fff;\\n background-color: #0069d9;\\n border-color: #0062cc; }\\n .btn-primary:focus, .btn-primary.focus {\\n color: #fff;\\n background-color: #0069d9;\\n border-color: #0062cc;\\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); }\\n .btn-primary.disabled, .btn-primary:disabled {\\n color: #fff;\\n background-color: #007bff;\\n border-color: #007bff; }\\n .btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\\n .show > .btn-primary.dropdown-toggle {\\n color: #fff;\\n background-color: #0062cc;\\n border-color: #005cbf; }\\n .btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-primary.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); }\\n\\n.btn-secondary {\\n color: #fff;\\n background-color: #6c757d;\\n border-color: #6c757d; }\\n .btn-secondary:hover {\\n color: #fff;\\n background-color: #5a6268;\\n border-color: #545b62; }\\n .btn-secondary:focus, .btn-secondary.focus {\\n color: #fff;\\n background-color: #5a6268;\\n border-color: #545b62;\\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); }\\n .btn-secondary.disabled, .btn-secondary:disabled {\\n color: #fff;\\n background-color: #6c757d;\\n border-color: #6c757d; }\\n .btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\\n .show > .btn-secondary.dropdown-toggle {\\n color: #fff;\\n background-color: #545b62;\\n border-color: #4e555b; }\\n .btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-secondary.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); }\\n\\n.btn-success {\\n color: #fff;\\n background-color: #28a745;\\n border-color: #28a745; }\\n .btn-success:hover {\\n color: #fff;\\n background-color: #218838;\\n border-color: #1e7e34; }\\n .btn-success:focus, .btn-success.focus {\\n color: #fff;\\n background-color: #218838;\\n border-color: #1e7e34;\\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); }\\n .btn-success.disabled, .btn-success:disabled {\\n color: #fff;\\n background-color: #28a745;\\n border-color: #28a745; }\\n .btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\\n .show > .btn-success.dropdown-toggle {\\n color: #fff;\\n background-color: #1e7e34;\\n border-color: #1c7430; }\\n .btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-success.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); }\\n\\n.btn-info {\\n color: #fff;\\n background-color: #17a2b8;\\n border-color: #17a2b8; }\\n .btn-info:hover {\\n color: #fff;\\n background-color: #138496;\\n border-color: #117a8b; }\\n .btn-info:focus, .btn-info.focus {\\n color: #fff;\\n background-color: #138496;\\n border-color: #117a8b;\\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); }\\n .btn-info.disabled, .btn-info:disabled {\\n color: #fff;\\n background-color: #17a2b8;\\n border-color: #17a2b8; }\\n .btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\\n .show > .btn-info.dropdown-toggle {\\n color: #fff;\\n background-color: #117a8b;\\n border-color: #10707f; }\\n .btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-info.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); }\\n\\n.btn-warning {\\n color: #212529;\\n background-color: #ffc107;\\n border-color: #ffc107; }\\n .btn-warning:hover {\\n color: #212529;\\n background-color: #e0a800;\\n border-color: #d39e00; }\\n .btn-warning:focus, .btn-warning.focus {\\n color: #212529;\\n background-color: #e0a800;\\n border-color: #d39e00;\\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); }\\n .btn-warning.disabled, .btn-warning:disabled {\\n color: #212529;\\n background-color: #ffc107;\\n border-color: #ffc107; }\\n .btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\\n .show > .btn-warning.dropdown-toggle {\\n color: #212529;\\n background-color: #d39e00;\\n border-color: #c69500; }\\n .btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-warning.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); }\\n\\n.btn-danger {\\n color: #fff;\\n background-color: #dc3545;\\n border-color: #dc3545; }\\n .btn-danger:hover {\\n color: #fff;\\n background-color: #c82333;\\n border-color: #bd2130; }\\n .btn-danger:focus, .btn-danger.focus {\\n color: #fff;\\n background-color: #c82333;\\n border-color: #bd2130;\\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); }\\n .btn-danger.disabled, .btn-danger:disabled {\\n color: #fff;\\n background-color: #dc3545;\\n border-color: #dc3545; }\\n .btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\\n .show > .btn-danger.dropdown-toggle {\\n color: #fff;\\n background-color: #bd2130;\\n border-color: #b21f2d; }\\n .btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-danger.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); }\\n\\n.btn-light {\\n color: #212529;\\n background-color: #f8f9fa;\\n border-color: #f8f9fa; }\\n .btn-light:hover {\\n color: #212529;\\n background-color: #e2e6ea;\\n border-color: #dae0e5; }\\n .btn-light:focus, .btn-light.focus {\\n color: #212529;\\n background-color: #e2e6ea;\\n border-color: #dae0e5;\\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }\\n .btn-light.disabled, .btn-light:disabled {\\n color: #212529;\\n background-color: #f8f9fa;\\n border-color: #f8f9fa; }\\n .btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\\n .show > .btn-light.dropdown-toggle {\\n color: #212529;\\n background-color: #dae0e5;\\n border-color: #d3d9df; }\\n .btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-light.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }\\n\\n.btn-dark {\\n color: #fff;\\n background-color: #343a40;\\n border-color: #343a40; }\\n .btn-dark:hover {\\n color: #fff;\\n background-color: #23272b;\\n border-color: #1d2124; }\\n .btn-dark:focus, .btn-dark.focus {\\n color: #fff;\\n background-color: #23272b;\\n border-color: #1d2124;\\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }\\n .btn-dark.disabled, .btn-dark:disabled {\\n color: #fff;\\n background-color: #343a40;\\n border-color: #343a40; }\\n .btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\\n .show > .btn-dark.dropdown-toggle {\\n color: #fff;\\n background-color: #1d2124;\\n border-color: #171a1d; }\\n .btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-dark.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }\\n\\n.btn-outline-primary {\\n color: #007bff;\\n border-color: #007bff; }\\n .btn-outline-primary:hover {\\n color: #fff;\\n background-color: #007bff;\\n border-color: #007bff; }\\n .btn-outline-primary:focus, .btn-outline-primary.focus {\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); }\\n .btn-outline-primary.disabled, .btn-outline-primary:disabled {\\n color: #007bff;\\n background-color: transparent; }\\n .btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\\n .show > .btn-outline-primary.dropdown-toggle {\\n color: #fff;\\n background-color: #007bff;\\n border-color: #007bff; }\\n .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-outline-primary.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); }\\n\\n.btn-outline-secondary {\\n color: #6c757d;\\n border-color: #6c757d; }\\n .btn-outline-secondary:hover {\\n color: #fff;\\n background-color: #6c757d;\\n border-color: #6c757d; }\\n .btn-outline-secondary:focus, .btn-outline-secondary.focus {\\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }\\n .btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\\n color: #6c757d;\\n background-color: transparent; }\\n .btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\\n .show > .btn-outline-secondary.dropdown-toggle {\\n color: #fff;\\n background-color: #6c757d;\\n border-color: #6c757d; }\\n .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-outline-secondary.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }\\n\\n.btn-outline-success {\\n color: #28a745;\\n border-color: #28a745; }\\n .btn-outline-success:hover {\\n color: #fff;\\n background-color: #28a745;\\n border-color: #28a745; }\\n .btn-outline-success:focus, .btn-outline-success.focus {\\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }\\n .btn-outline-success.disabled, .btn-outline-success:disabled {\\n color: #28a745;\\n background-color: transparent; }\\n .btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\\n .show > .btn-outline-success.dropdown-toggle {\\n color: #fff;\\n background-color: #28a745;\\n border-color: #28a745; }\\n .btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-outline-success.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }\\n\\n.btn-outline-info {\\n color: #17a2b8;\\n border-color: #17a2b8; }\\n .btn-outline-info:hover {\\n color: #fff;\\n background-color: #17a2b8;\\n border-color: #17a2b8; }\\n .btn-outline-info:focus, .btn-outline-info.focus {\\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }\\n .btn-outline-info.disabled, .btn-outline-info:disabled {\\n color: #17a2b8;\\n background-color: transparent; }\\n .btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\\n .show > .btn-outline-info.dropdown-toggle {\\n color: #fff;\\n background-color: #17a2b8;\\n border-color: #17a2b8; }\\n .btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-outline-info.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }\\n\\n.btn-outline-warning {\\n color: #ffc107;\\n border-color: #ffc107; }\\n .btn-outline-warning:hover {\\n color: #212529;\\n background-color: #ffc107;\\n border-color: #ffc107; }\\n .btn-outline-warning:focus, .btn-outline-warning.focus {\\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }\\n .btn-outline-warning.disabled, .btn-outline-warning:disabled {\\n color: #ffc107;\\n background-color: transparent; }\\n .btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\\n .show > .btn-outline-warning.dropdown-toggle {\\n color: #212529;\\n background-color: #ffc107;\\n border-color: #ffc107; }\\n .btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-outline-warning.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }\\n\\n.btn-outline-danger {\\n color: #dc3545;\\n border-color: #dc3545; }\\n .btn-outline-danger:hover {\\n color: #fff;\\n background-color: #dc3545;\\n border-color: #dc3545; }\\n .btn-outline-danger:focus, .btn-outline-danger.focus {\\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }\\n .btn-outline-danger.disabled, .btn-outline-danger:disabled {\\n color: #dc3545;\\n background-color: transparent; }\\n .btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\\n .show > .btn-outline-danger.dropdown-toggle {\\n color: #fff;\\n background-color: #dc3545;\\n border-color: #dc3545; }\\n .btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-outline-danger.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }\\n\\n.btn-outline-light {\\n color: #f8f9fa;\\n border-color: #f8f9fa; }\\n .btn-outline-light:hover {\\n color: #212529;\\n background-color: #f8f9fa;\\n border-color: #f8f9fa; }\\n .btn-outline-light:focus, .btn-outline-light.focus {\\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }\\n .btn-outline-light.disabled, .btn-outline-light:disabled {\\n color: #f8f9fa;\\n background-color: transparent; }\\n .btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\\n .show > .btn-outline-light.dropdown-toggle {\\n color: #212529;\\n background-color: #f8f9fa;\\n border-color: #f8f9fa; }\\n .btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-outline-light.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }\\n\\n.btn-outline-dark {\\n color: #343a40;\\n border-color: #343a40; }\\n .btn-outline-dark:hover {\\n color: #fff;\\n background-color: #343a40;\\n border-color: #343a40; }\\n .btn-outline-dark:focus, .btn-outline-dark.focus {\\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }\\n .btn-outline-dark.disabled, .btn-outline-dark:disabled {\\n color: #343a40;\\n background-color: transparent; }\\n .btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\\n .show > .btn-outline-dark.dropdown-toggle {\\n color: #fff;\\n background-color: #343a40;\\n border-color: #343a40; }\\n .btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\\n .show > .btn-outline-dark.dropdown-toggle:focus {\\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }\\n\\n.btn-link {\\n font-weight: 400;\\n color: #007bff;\\n text-decoration: none; }\\n .btn-link:hover {\\n color: #0056b3;\\n text-decoration: underline; }\\n .btn-link:focus, .btn-link.focus {\\n text-decoration: underline; }\\n .btn-link:disabled, .btn-link.disabled {\\n color: #6c757d;\\n pointer-events: none; }\\n\\n.btn-lg, .btn-group-lg > .btn {\\n padding: 0.5rem 1rem;\\n font-size: 1.25rem;\\n line-height: 1.5;\\n border-radius: 0.3rem; }\\n\\n.btn-sm, .btn-group-sm > .btn {\\n padding: 0.25rem 0.5rem;\\n font-size: 0.875rem;\\n line-height: 1.5;\\n border-radius: 0.2rem; }\\n\\n.btn-block {\\n display: block;\\n width: 100%; }\\n .btn-block + .btn-block {\\n margin-top: 0.5rem; }\\n\\ninput[type=\\\"submit\\\"].btn-block,\\ninput[type=\\\"reset\\\"].btn-block,\\ninput[type=\\\"button\\\"].btn-block {\\n width: 100%; }\\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 .card > hr {\\n margin-right: 0;\\n margin-left: 0; }\\n .card > .list-group {\\n border-top: inherit;\\n border-bottom: inherit; }\\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 .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-body {\\n flex: 1 1 auto;\\n min-height: 1px;\\n padding: 1.25rem; }\\n\\n.card-title {\\n margin-bottom: 0.75rem; }\\n\\n.card-subtitle {\\n margin-top: -0.375rem;\\n margin-bottom: 0; }\\n\\n.card-text:last-child {\\n margin-bottom: 0; }\\n\\n.card-link:hover {\\n text-decoration: none; }\\n\\n.card-link + .card-link {\\n margin-left: 1.25rem; }\\n\\n.card-header {\\n padding: 0.75rem 1.25rem;\\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 .card-header:first-child {\\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; }\\n .card-header + .list-group .list-group-item:first-child {\\n border-top: 0; }\\n\\n.card-footer {\\n padding: 0.75rem 1.25rem;\\n background-color: rgba(0, 0, 0, 0.03);\\n border-top: 1px solid rgba(0, 0, 0, 0.125); }\\n .card-footer:last-child {\\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); }\\n\\n.card-header-tabs {\\n margin-right: -0.625rem;\\n margin-bottom: -0.75rem;\\n margin-left: -0.625rem;\\n border-bottom: 0; }\\n\\n.card-header-pills {\\n margin-right: -0.625rem;\\n margin-left: -0.625rem; }\\n\\n.card-img-overlay {\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n padding: 1.25rem; }\\n\\n.card-img,\\n.card-img-top,\\n.card-img-bottom {\\n flex-shrink: 0;\\n width: 100%; }\\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.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.card-deck .card {\\n margin-bottom: 15px; }\\n\\n@media (min-width: 576px) {\\n .card-deck {\\n display: flex;\\n flex-flow: row wrap;\\n margin-right: -15px;\\n margin-left: -15px; }\\n .card-deck .card {\\n flex: 1 0 0%;\\n margin-right: 15px;\\n margin-bottom: 0;\\n margin-left: 15px; } }\\n\\n.card-group > .card {\\n margin-bottom: 15px; }\\n\\n@media (min-width: 576px) {\\n .card-group {\\n display: flex;\\n flex-flow: row wrap; }\\n .card-group > .card {\\n flex: 1 0 0%;\\n margin-bottom: 0; }\\n .card-group > .card + .card {\\n margin-left: 0;\\n border-left: 0; }\\n .card-group > .card:not(:last-child) {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0; }\\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 .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 .card-group > .card:not(:first-child) {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0; }\\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 .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.card-columns .card {\\n margin-bottom: 0.75rem; }\\n\\n@media (min-width: 576px) {\\n .card-columns {\\n column-count: 3;\\n column-gap: 1.25rem;\\n orphans: 1;\\n widows: 1; }\\n .card-columns .card {\\n display: inline-block;\\n width: 100%; } }\\n\\n.accordion > .card {\\n overflow: hidden; }\\n .accordion > .card:not(:last-of-type) {\\n border-bottom: 0;\\n border-bottom-right-radius: 0;\\n border-bottom-left-radius: 0; }\\n .accordion > .card:not(:first-of-type) {\\n border-top-left-radius: 0;\\n border-top-right-radius: 0; }\\n .accordion > .card > .card-header {\\n border-radius: 0;\\n margin-bottom: -1px; }\\n\\n.carousel {\\n position: relative; }\\n\\n.carousel.pointer-event {\\n touch-action: pan-y; }\\n\\n.carousel-inner {\\n position: relative;\\n width: 100%;\\n overflow: hidden; }\\n .carousel-inner::after {\\n display: block;\\n clear: both;\\n content: \\\"\\\"; }\\n\\n.carousel-item {\\n position: relative;\\n display: none;\\n float: left;\\n width: 100%;\\n margin-right: -100%;\\n backface-visibility: hidden;\\n transition: transform 0.6s ease-in-out; }\\n @media (prefers-reduced-motion: reduce) {\\n .carousel-item {\\n transition: none; } }\\n\\n.carousel-item.active,\\n.carousel-item-next,\\n.carousel-item-prev {\\n display: block; }\\n\\n.carousel-item-next:not(.carousel-item-left),\\n.active.carousel-item-right {\\n transform: translateX(100%); }\\n\\n.carousel-item-prev:not(.carousel-item-right),\\n.active.carousel-item-left {\\n transform: translateX(-100%); }\\n\\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-left,\\n.carousel-fade .carousel-item-prev.carousel-item-right {\\n z-index: 1;\\n opacity: 1; }\\n\\n.carousel-fade .active.carousel-item-left,\\n.carousel-fade .active.carousel-item-right {\\n z-index: 0;\\n opacity: 0;\\n transition: opacity 0s 0.6s; }\\n @media (prefers-reduced-motion: reduce) {\\n .carousel-fade .active.carousel-item-left,\\n .carousel-fade .active.carousel-item-right {\\n transition: none; } }\\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 color: #fff;\\n text-align: center;\\n opacity: 0.5;\\n transition: opacity 0.15s ease; }\\n @media (prefers-reduced-motion: reduce) {\\n .carousel-control-prev,\\n .carousel-control-next {\\n transition: none; } }\\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.carousel-control-prev {\\n left: 0; }\\n\\n.carousel-control-next {\\n right: 0; }\\n\\n.carousel-control-prev-icon,\\n.carousel-control-next-icon {\\n display: inline-block;\\n width: 20px;\\n height: 20px;\\n background: no-repeat 50% / 100% 100%; }\\n\\n.carousel-control-prev-icon {\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\\\"); }\\n\\n.carousel-control-next-icon {\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\\\"); }\\n\\n.carousel-indicators {\\n position: absolute;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n z-index: 15;\\n display: flex;\\n justify-content: center;\\n padding-left: 0;\\n margin-right: 15%;\\n margin-left: 15%;\\n list-style: none; }\\n .carousel-indicators li {\\n box-sizing: content-box;\\n flex: 0 1 auto;\\n width: 30px;\\n height: 3px;\\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-top: 10px solid transparent;\\n border-bottom: 10px solid transparent;\\n opacity: .5;\\n transition: opacity 0.6s ease; }\\n @media (prefers-reduced-motion: reduce) {\\n .carousel-indicators li {\\n transition: none; } }\\n .carousel-indicators .active {\\n opacity: 1; }\\n\\n.carousel-caption {\\n position: absolute;\\n right: 15%;\\n bottom: 20px;\\n left: 15%;\\n z-index: 10;\\n padding-top: 20px;\\n padding-bottom: 20px;\\n color: #fff;\\n text-align: center; }\\n\\n.close {\\n float: right;\\n font-size: 1.5rem;\\n font-weight: 700;\\n line-height: 1;\\n color: #000;\\n text-shadow: 0 1px 0 #fff;\\n opacity: .5; }\\n .close:hover {\\n color: #000;\\n text-decoration: none; }\\n .close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\\n opacity: .75; }\\n\\nbutton.close {\\n padding: 0;\\n background-color: transparent;\\n border: 0; }\\n\\na.close.disabled {\\n pointer-events: none; }\\n\\ncode {\\n font-size: 87.5%;\\n color: #e83e8c;\\n word-wrap: break-word; }\\n a > code {\\n color: inherit; }\\n\\nkbd {\\n padding: 0.2rem 0.4rem;\\n font-size: 87.5%;\\n color: #fff;\\n background-color: #212529;\\n border-radius: 0.2rem; }\\n kbd kbd {\\n padding: 0;\\n font-size: 100%;\\n font-weight: 700; }\\n\\npre {\\n display: block;\\n font-size: 87.5%;\\n color: #212529; }\\n pre code {\\n font-size: inherit;\\n color: inherit;\\n word-break: normal; }\\n\\n.pre-scrollable {\\n max-height: 340px;\\n overflow-y: scroll; }\\n\\n.custom-control {\\n position: relative;\\n display: block;\\n min-height: 1.5rem;\\n padding-left: 1.5rem; }\\n\\n.custom-control-inline {\\n display: inline-flex;\\n margin-right: 1rem; }\\n\\n.custom-control-input {\\n position: absolute;\\n left: 0;\\n z-index: -1;\\n width: 1rem;\\n height: 1.25rem;\\n opacity: 0; }\\n .custom-control-input:checked ~ .custom-control-label::before {\\n color: #fff;\\n border-color: #007bff;\\n background-color: #007bff; }\\n .custom-control-input:focus ~ .custom-control-label::before {\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }\\n .custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\\n border-color: #80bdff; }\\n .custom-control-input:not(:disabled):active ~ .custom-control-label::before {\\n color: #fff;\\n background-color: #b3d7ff;\\n border-color: #b3d7ff; }\\n .custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {\\n color: #6c757d; }\\n .custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {\\n background-color: #e9ecef; }\\n\\n.custom-control-label {\\n position: relative;\\n margin-bottom: 0;\\n vertical-align: top; }\\n .custom-control-label::before {\\n position: absolute;\\n top: 0.25rem;\\n left: -1.5rem;\\n display: block;\\n width: 1rem;\\n height: 1rem;\\n pointer-events: none;\\n content: \\\"\\\";\\n background-color: #fff;\\n border: #adb5bd solid 1px; }\\n .custom-control-label::after {\\n position: absolute;\\n top: 0.25rem;\\n left: -1.5rem;\\n display: block;\\n width: 1rem;\\n height: 1rem;\\n content: \\\"\\\";\\n background: no-repeat 50% / 50% 50%; }\\n\\n.custom-checkbox .custom-control-label::before {\\n border-radius: 0.25rem; }\\n\\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e\\\"); }\\n\\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\\n border-color: #007bff;\\n background-color: #007bff; }\\n\\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\\\"); }\\n\\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\\n background-color: rgba(0, 123, 255, 0.5); }\\n\\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\\n background-color: rgba(0, 123, 255, 0.5); }\\n\\n.custom-radio .custom-control-label::before {\\n border-radius: 50%; }\\n\\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\\\"); }\\n\\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\\n background-color: rgba(0, 123, 255, 0.5); }\\n\\n.custom-switch {\\n padding-left: 2.25rem; }\\n .custom-switch .custom-control-label::before {\\n left: -2.25rem;\\n width: 1.75rem;\\n pointer-events: all;\\n border-radius: 0.5rem; }\\n .custom-switch .custom-control-label::after {\\n top: calc(0.25rem + 2px);\\n left: calc(-2.25rem + 2px);\\n width: calc(1rem - 4px);\\n height: calc(1rem - 4px);\\n background-color: #adb5bd;\\n border-radius: 0.5rem;\\n transition: transform 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 @media (prefers-reduced-motion: reduce) {\\n .custom-switch .custom-control-label::after {\\n transition: none; } }\\n .custom-switch .custom-control-input:checked ~ .custom-control-label::after {\\n background-color: #fff;\\n transform: translateX(0.75rem); }\\n .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\\n background-color: rgba(0, 123, 255, 0.5); }\\n\\n.custom-select {\\n display: inline-block;\\n width: 100%;\\n height: calc(1.5em + 0.75rem + 2px);\\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\\n font-size: 1rem;\\n font-weight: 400;\\n line-height: 1.5;\\n color: #495057;\\n vertical-align: middle;\\n background: #fff url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\\\") no-repeat right 0.75rem center/8px 10px;\\n border: 1px solid #ced4da;\\n border-radius: 0.25rem;\\n appearance: none; }\\n .custom-select:focus {\\n border-color: #80bdff;\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }\\n .custom-select:focus::-ms-value {\\n color: #495057;\\n background-color: #fff; }\\n .custom-select[multiple], .custom-select[size]:not([size=\\\"1\\\"]) {\\n height: auto;\\n padding-right: 0.75rem;\\n background-image: none; }\\n .custom-select:disabled {\\n color: #6c757d;\\n background-color: #e9ecef; }\\n .custom-select::-ms-expand {\\n display: none; }\\n .custom-select:-moz-focusring {\\n color: transparent;\\n text-shadow: 0 0 0 #495057; }\\n\\n.custom-select-sm {\\n height: calc(1.5em + 0.5rem + 2px);\\n padding-top: 0.25rem;\\n padding-bottom: 0.25rem;\\n padding-left: 0.5rem;\\n font-size: 0.875rem; }\\n\\n.custom-select-lg {\\n height: calc(1.5em + 1rem + 2px);\\n padding-top: 0.5rem;\\n padding-bottom: 0.5rem;\\n padding-left: 1rem;\\n font-size: 1.25rem; }\\n\\n.custom-file {\\n position: relative;\\n display: inline-block;\\n width: 100%;\\n height: calc(1.5em + 0.75rem + 2px);\\n margin-bottom: 0; }\\n\\n.custom-file-input {\\n position: relative;\\n z-index: 2;\\n width: 100%;\\n height: calc(1.5em + 0.75rem + 2px);\\n margin: 0;\\n opacity: 0; }\\n .custom-file-input:focus ~ .custom-file-label {\\n border-color: #80bdff;\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }\\n .custom-file-input[disabled] ~ .custom-file-label,\\n .custom-file-input:disabled ~ .custom-file-label {\\n background-color: #e9ecef; }\\n .custom-file-input:lang(en) ~ .custom-file-label::after {\\n content: \\\"Browse\\\"; }\\n .custom-file-input ~ .custom-file-label[data-browse]::after {\\n content: attr(data-browse); }\\n\\n.custom-file-label {\\n position: absolute;\\n top: 0;\\n right: 0;\\n left: 0;\\n z-index: 1;\\n height: calc(1.5em + 0.75rem + 2px);\\n padding: 0.375rem 0.75rem;\\n font-weight: 400;\\n line-height: 1.5;\\n color: #495057;\\n background-color: #fff;\\n border: 1px solid #ced4da;\\n border-radius: 0.25rem; }\\n .custom-file-label::after {\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n z-index: 3;\\n display: block;\\n height: calc(1.5em + 0.75rem);\\n padding: 0.375rem 0.75rem;\\n line-height: 1.5;\\n color: #495057;\\n content: \\\"Browse\\\";\\n background-color: #e9ecef;\\n border-left: inherit;\\n border-radius: 0 0.25rem 0.25rem 0; }\\n\\n.custom-range {\\n width: 100%;\\n height: 1.4rem;\\n padding: 0;\\n background-color: transparent;\\n appearance: none; }\\n .custom-range:focus {\\n outline: none; }\\n .custom-range:focus::-webkit-slider-thumb {\\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }\\n .custom-range:focus::-moz-range-thumb {\\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }\\n .custom-range:focus::-ms-thumb {\\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }\\n .custom-range::-moz-focus-outer {\\n border: 0; }\\n .custom-range::-webkit-slider-thumb {\\n width: 1rem;\\n height: 1rem;\\n margin-top: -0.25rem;\\n background-color: #007bff;\\n border: 0;\\n border-radius: 1rem;\\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\\n appearance: none; }\\n @media (prefers-reduced-motion: reduce) {\\n .custom-range::-webkit-slider-thumb {\\n transition: none; } }\\n .custom-range::-webkit-slider-thumb:active {\\n background-color: #b3d7ff; }\\n .custom-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 .custom-range::-moz-range-thumb {\\n width: 1rem;\\n height: 1rem;\\n background-color: #007bff;\\n border: 0;\\n border-radius: 1rem;\\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\\n appearance: none; }\\n @media (prefers-reduced-motion: reduce) {\\n .custom-range::-moz-range-thumb {\\n transition: none; } }\\n .custom-range::-moz-range-thumb:active {\\n background-color: #b3d7ff; }\\n .custom-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 .custom-range::-ms-thumb {\\n width: 1rem;\\n height: 1rem;\\n margin-top: 0;\\n margin-right: 0.2rem;\\n margin-left: 0.2rem;\\n background-color: #007bff;\\n border: 0;\\n border-radius: 1rem;\\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\\n appearance: none; }\\n @media (prefers-reduced-motion: reduce) {\\n .custom-range::-ms-thumb {\\n transition: none; } }\\n .custom-range::-ms-thumb:active {\\n background-color: #b3d7ff; }\\n .custom-range::-ms-track {\\n width: 100%;\\n height: 0.5rem;\\n color: transparent;\\n cursor: pointer;\\n background-color: transparent;\\n border-color: transparent;\\n border-width: 0.5rem; }\\n .custom-range::-ms-fill-lower {\\n background-color: #dee2e6;\\n border-radius: 1rem; }\\n .custom-range::-ms-fill-upper {\\n margin-right: 15px;\\n background-color: #dee2e6;\\n border-radius: 1rem; }\\n .custom-range:disabled::-webkit-slider-thumb {\\n background-color: #adb5bd; }\\n .custom-range:disabled::-webkit-slider-runnable-track {\\n cursor: default; }\\n .custom-range:disabled::-moz-range-thumb {\\n background-color: #adb5bd; }\\n .custom-range:disabled::-moz-range-track {\\n cursor: default; }\\n .custom-range:disabled::-ms-thumb {\\n background-color: #adb5bd; }\\n\\n.custom-control-label::before,\\n.custom-file-label,\\n.custom-select {\\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }\\n @media (prefers-reduced-motion: reduce) {\\n .custom-control-label::before,\\n .custom-file-label,\\n .custom-select {\\n transition: none; } }\\n\\n.dropup,\\n.dropright,\\n.dropdown,\\n.dropleft {\\n position: relative; }\\n\\n.dropdown-toggle {\\n white-space: nowrap; }\\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 .dropdown-toggle:empty::after {\\n margin-left: 0; }\\n\\n.dropdown-menu {\\n position: absolute;\\n top: 100%;\\n left: 0;\\n z-index: 1000;\\n display: none;\\n float: left;\\n min-width: 10rem;\\n padding: 0.5rem 0;\\n margin: 0.125rem 0 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-left {\\n right: auto;\\n left: 0; }\\n\\n.dropdown-menu-right {\\n right: 0;\\n left: auto; }\\n\\n@media (min-width: 576px) {\\n .dropdown-menu-sm-left {\\n right: auto;\\n left: 0; }\\n .dropdown-menu-sm-right {\\n right: 0;\\n left: auto; } }\\n\\n@media (min-width: 768px) {\\n .dropdown-menu-md-left {\\n right: auto;\\n left: 0; }\\n .dropdown-menu-md-right {\\n right: 0;\\n left: auto; } }\\n\\n@media (min-width: 992px) {\\n .dropdown-menu-lg-left {\\n right: auto;\\n left: 0; }\\n .dropdown-menu-lg-right {\\n right: 0;\\n left: auto; } }\\n\\n@media (min-width: 1200px) {\\n .dropdown-menu-xl-left {\\n right: auto;\\n left: 0; }\\n .dropdown-menu-xl-right {\\n right: 0;\\n left: auto; } }\\n\\n.dropup .dropdown-menu {\\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.dropright .dropdown-menu {\\n top: 0;\\n right: auto;\\n left: 100%;\\n margin-top: 0;\\n margin-left: 0.125rem; }\\n\\n.dropright .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.dropright .dropdown-toggle:empty::after {\\n margin-left: 0; }\\n\\n.dropright .dropdown-toggle::after {\\n vertical-align: 0; }\\n\\n.dropleft .dropdown-menu {\\n top: 0;\\n right: 100%;\\n left: auto;\\n margin-top: 0;\\n margin-right: 0.125rem; }\\n\\n.dropleft .dropdown-toggle::after {\\n display: inline-block;\\n margin-left: 0.255em;\\n vertical-align: 0.255em;\\n content: \\\"\\\"; }\\n\\n.dropleft .dropdown-toggle::after {\\n display: none; }\\n\\n.dropleft .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.dropleft .dropdown-toggle:empty::after {\\n margin-left: 0; }\\n\\n.dropleft .dropdown-toggle::before {\\n vertical-align: 0; }\\n\\n.dropdown-menu[x-placement^=\\\"top\\\"], .dropdown-menu[x-placement^=\\\"right\\\"], .dropdown-menu[x-placement^=\\\"bottom\\\"], .dropdown-menu[x-placement^=\\\"left\\\"] {\\n right: auto;\\n bottom: auto; }\\n\\n.dropdown-divider {\\n height: 0;\\n margin: 0.5rem 0;\\n overflow: hidden;\\n border-top: 1px solid #e9ecef; }\\n\\n.dropdown-item {\\n display: block;\\n width: 100%;\\n padding: 0.25rem 1.5rem;\\n clear: both;\\n font-weight: 400;\\n color: #212529;\\n text-align: inherit;\\n white-space: nowrap;\\n background-color: transparent;\\n border: 0; }\\n .dropdown-item:hover, .dropdown-item:focus {\\n color: #16181b;\\n text-decoration: none;\\n background-color: #f8f9fa; }\\n .dropdown-item.active, .dropdown-item:active {\\n color: #fff;\\n text-decoration: none;\\n background-color: #007bff; }\\n .dropdown-item.disabled, .dropdown-item:disabled {\\n color: #6c757d;\\n pointer-events: none;\\n background-color: transparent; }\\n\\n.dropdown-menu.show {\\n display: block; }\\n\\n.dropdown-header {\\n display: block;\\n padding: 0.5rem 1.5rem;\\n margin-bottom: 0;\\n font-size: 0.875rem;\\n color: #6c757d;\\n white-space: nowrap; }\\n\\n.dropdown-item-text {\\n display: block;\\n padding: 0.25rem 1.5rem;\\n color: #212529; }\\n\\n.form-control {\\n display: block;\\n width: 100%;\\n height: calc(1.5em + 0.75rem + 2px);\\n padding: 0.375rem 0.75rem;\\n font-size: 1rem;\\n font-weight: 400;\\n line-height: 1.5;\\n color: #495057;\\n background-color: #fff;\\n background-clip: padding-box;\\n border: 1px solid #ced4da;\\n border-radius: 0.25rem;\\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }\\n @media (prefers-reduced-motion: reduce) {\\n .form-control {\\n transition: none; } }\\n .form-control::-ms-expand {\\n background-color: transparent;\\n border: 0; }\\n .form-control:-moz-focusring {\\n color: transparent;\\n text-shadow: 0 0 0 #495057; }\\n .form-control:focus {\\n color: #495057;\\n background-color: #fff;\\n border-color: #80bdff;\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }\\n .form-control::placeholder {\\n color: #6c757d;\\n opacity: 1; }\\n .form-control:disabled, .form-control[readonly] {\\n background-color: #e9ecef;\\n opacity: 1; }\\n\\ninput[type=\\\"date\\\"].form-control,\\ninput[type=\\\"time\\\"].form-control,\\ninput[type=\\\"datetime-local\\\"].form-control,\\ninput[type=\\\"month\\\"].form-control {\\n appearance: none; }\\n\\nselect.form-control:focus::-ms-value {\\n color: #495057;\\n background-color: #fff; }\\n\\n.form-control-file,\\n.form-control-range {\\n display: block;\\n width: 100%; }\\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.col-form-label-lg {\\n padding-top: calc(0.5rem + 1px);\\n padding-bottom: calc(0.5rem + 1px);\\n font-size: 1.25rem;\\n line-height: 1.5; }\\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 line-height: 1.5; }\\n\\n.form-control-plaintext {\\n display: block;\\n width: 100%;\\n padding: 0.375rem 0;\\n margin-bottom: 0;\\n font-size: 1rem;\\n line-height: 1.5;\\n color: #212529;\\n background-color: transparent;\\n border: solid transparent;\\n border-width: 1px 0; }\\n .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\\n padding-right: 0;\\n padding-left: 0; }\\n\\n.form-control-sm {\\n height: calc(1.5em + 0.5rem + 2px);\\n padding: 0.25rem 0.5rem;\\n font-size: 0.875rem;\\n line-height: 1.5;\\n border-radius: 0.2rem; }\\n\\n.form-control-lg {\\n height: calc(1.5em + 1rem + 2px);\\n padding: 0.5rem 1rem;\\n font-size: 1.25rem;\\n line-height: 1.5;\\n border-radius: 0.3rem; }\\n\\nselect.form-control[size], select.form-control[multiple] {\\n height: auto; }\\n\\ntextarea.form-control {\\n height: auto; }\\n\\n.form-group {\\n margin-bottom: 1rem; }\\n\\n.form-text {\\n display: block;\\n margin-top: 0.25rem; }\\n\\n.form-row {\\n display: flex;\\n flex-wrap: wrap;\\n margin-right: -5px;\\n margin-left: -5px; }\\n .form-row > .col,\\n .form-row > [class*=\\\"col-\\\"] {\\n padding-right: 5px;\\n padding-left: 5px; }\\n\\n.form-check {\\n position: relative;\\n display: block;\\n padding-left: 1.25rem; }\\n\\n.form-check-input {\\n position: absolute;\\n margin-top: 0.3rem;\\n margin-left: -1.25rem; }\\n .form-check-input[disabled] ~ .form-check-label,\\n .form-check-input:disabled ~ .form-check-label {\\n color: #6c757d; }\\n\\n.form-check-label {\\n margin-bottom: 0; }\\n\\n.form-check-inline {\\n display: inline-flex;\\n align-items: center;\\n padding-left: 0;\\n margin-right: 0.75rem; }\\n .form-check-inline .form-check-input {\\n position: static;\\n margin-top: 0;\\n margin-right: 0.3125rem;\\n margin-left: 0; }\\n\\n.valid-feedback {\\n display: none;\\n width: 100%;\\n margin-top: 0.25rem;\\n font-size: 80%;\\n color: #28a745; }\\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: .1rem;\\n font-size: 0.875rem;\\n line-height: 1.5;\\n color: #fff;\\n background-color: rgba(40, 167, 69, 0.9);\\n border-radius: 0.25rem; }\\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.was-validated .form-control:valid, .form-control.is-valid {\\n border-color: #28a745;\\n padding-right: calc(1.5em + 0.75rem);\\n background-image: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' 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 .was-validated .form-control:valid:focus, .form-control.is-valid:focus {\\n border-color: #28a745;\\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }\\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.was-validated .custom-select:valid, .custom-select.is-valid {\\n border-color: #28a745;\\n padding-right: calc(0.75em + 2.3125rem);\\n background: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\\\") no-repeat right 0.75rem center/8px 10px, url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' 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\\\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }\\n .was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\\n border-color: #28a745;\\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }\\n\\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\\n color: #28a745; }\\n\\n.was-validated .form-check-input:valid ~ .valid-feedback,\\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\\n.form-check-input.is-valid ~ .valid-tooltip {\\n display: block; }\\n\\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\\n color: #28a745; }\\n .was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\\n border-color: #28a745; }\\n\\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\\n border-color: #34ce57;\\n background-color: #34ce57; }\\n\\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }\\n\\n.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {\\n border-color: #28a745; }\\n\\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\\n border-color: #28a745; }\\n\\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\\n border-color: #28a745;\\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }\\n\\n.invalid-feedback {\\n display: none;\\n width: 100%;\\n margin-top: 0.25rem;\\n font-size: 80%;\\n color: #dc3545; }\\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: .1rem;\\n font-size: 0.875rem;\\n line-height: 1.5;\\n color: #fff;\\n background-color: rgba(220, 53, 69, 0.9);\\n border-radius: 0.25rem; }\\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.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' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%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 .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\\n border-color: #dc3545;\\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }\\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.was-validated .custom-select:invalid, .custom-select.is-invalid {\\n border-color: #dc3545;\\n padding-right: calc(0.75em + 2.3125rem);\\n background: url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\\\") no-repeat right 0.75rem center/8px 10px, url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%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\\\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }\\n .was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\\n border-color: #dc3545;\\n box-shadow: 0 0 0 0.2rem 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.was-validated .form-check-input:invalid ~ .invalid-feedback,\\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\\n.form-check-input.is-invalid ~ .invalid-tooltip {\\n display: block; }\\n\\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\\n color: #dc3545; }\\n .was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\\n border-color: #dc3545; }\\n\\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\\n border-color: #e4606d;\\n background-color: #e4606d; }\\n\\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }\\n\\n.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {\\n border-color: #dc3545; }\\n\\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\\n border-color: #dc3545; }\\n\\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\\n border-color: #dc3545;\\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }\\n\\n.form-inline {\\n display: flex;\\n flex-flow: row wrap;\\n align-items: center; }\\n .form-inline .form-check {\\n width: 100%; }\\n @media (min-width: 576px) {\\n .form-inline label {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n margin-bottom: 0; }\\n .form-inline .form-group {\\n display: flex;\\n flex: 0 0 auto;\\n flex-flow: row wrap;\\n align-items: center;\\n margin-bottom: 0; }\\n .form-inline .form-control {\\n display: inline-block;\\n width: auto;\\n vertical-align: middle; }\\n .form-inline .form-control-plaintext {\\n display: inline-block; }\\n .form-inline .input-group,\\n .form-inline .custom-select {\\n width: auto; }\\n .form-inline .form-check {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: auto;\\n padding-left: 0; }\\n .form-inline .form-check-input {\\n position: relative;\\n flex-shrink: 0;\\n margin-top: 0;\\n margin-right: 0.25rem;\\n margin-left: 0; }\\n .form-inline .custom-control {\\n align-items: center;\\n justify-content: center; }\\n .form-inline .custom-control-label {\\n margin-bottom: 0; } }\\n\\n.container {\\n width: 100%;\\n padding-right: 15px;\\n padding-left: 15px;\\n margin-right: auto;\\n margin-left: auto; }\\n @media (min-width: 576px) {\\n .container {\\n max-width: 540px; } }\\n @media (min-width: 768px) {\\n .container {\\n max-width: 720px; } }\\n @media (min-width: 992px) {\\n .container {\\n max-width: 960px; } }\\n @media (min-width: 1200px) {\\n .container {\\n max-width: 1140px; } }\\n\\n.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {\\n width: 100%;\\n padding-right: 15px;\\n padding-left: 15px;\\n margin-right: auto;\\n margin-left: auto; }\\n\\n@media (min-width: 576px) {\\n .container, .container-sm {\\n max-width: 540px; } }\\n\\n@media (min-width: 768px) {\\n .container, .container-sm, .container-md {\\n max-width: 720px; } }\\n\\n@media (min-width: 992px) {\\n .container, .container-sm, .container-md, .container-lg {\\n max-width: 960px; } }\\n\\n@media (min-width: 1200px) {\\n .container, .container-sm, .container-md, .container-lg, .container-xl {\\n max-width: 1140px; } }\\n\\n.row {\\n display: flex;\\n flex-wrap: wrap;\\n margin-right: -15px;\\n margin-left: -15px; }\\n\\n.no-gutters {\\n margin-right: 0;\\n margin-left: 0; }\\n .no-gutters > .col,\\n .no-gutters > [class*=\\\"col-\\\"] {\\n padding-right: 0;\\n padding-left: 0; }\\n\\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\\n.col-xl-auto {\\n position: relative;\\n width: 100%;\\n padding-right: 15px;\\n padding-left: 15px; }\\n\\n.col {\\n flex-basis: 0;\\n flex-grow: 1;\\n min-width: 0;\\n max-width: 100%; }\\n\\n.row-cols-1 > * {\\n flex: 0 0 100%;\\n max-width: 100%; }\\n\\n.row-cols-2 > * {\\n flex: 0 0 50%;\\n max-width: 50%; }\\n\\n.row-cols-3 > * {\\n flex: 0 0 33.33333%;\\n max-width: 33.33333%; }\\n\\n.row-cols-4 > * {\\n flex: 0 0 25%;\\n max-width: 25%; }\\n\\n.row-cols-5 > * {\\n flex: 0 0 20%;\\n max-width: 20%; }\\n\\n.row-cols-6 > * {\\n flex: 0 0 16.66667%;\\n max-width: 16.66667%; }\\n\\n.col-auto {\\n flex: 0 0 auto;\\n width: auto;\\n max-width: 100%; }\\n\\n.col-1 {\\n flex: 0 0 8.33333%;\\n max-width: 8.33333%; }\\n\\n.col-2 {\\n flex: 0 0 16.66667%;\\n max-width: 16.66667%; }\\n\\n.col-3 {\\n flex: 0 0 25%;\\n max-width: 25%; }\\n\\n.col-4 {\\n flex: 0 0 33.33333%;\\n max-width: 33.33333%; }\\n\\n.col-5 {\\n flex: 0 0 41.66667%;\\n max-width: 41.66667%; }\\n\\n.col-6 {\\n flex: 0 0 50%;\\n max-width: 50%; }\\n\\n.col-7 {\\n flex: 0 0 58.33333%;\\n max-width: 58.33333%; }\\n\\n.col-8 {\\n flex: 0 0 66.66667%;\\n max-width: 66.66667%; }\\n\\n.col-9 {\\n flex: 0 0 75%;\\n max-width: 75%; }\\n\\n.col-10 {\\n flex: 0 0 83.33333%;\\n max-width: 83.33333%; }\\n\\n.col-11 {\\n flex: 0 0 91.66667%;\\n max-width: 91.66667%; }\\n\\n.col-12 {\\n flex: 0 0 100%;\\n max-width: 100%; }\\n\\n.order-first {\\n order: -1; }\\n\\n.order-last {\\n order: 13; }\\n\\n.order-0 {\\n order: 0; }\\n\\n.order-1 {\\n order: 1; }\\n\\n.order-2 {\\n order: 2; }\\n\\n.order-3 {\\n order: 3; }\\n\\n.order-4 {\\n order: 4; }\\n\\n.order-5 {\\n order: 5; }\\n\\n.order-6 {\\n order: 6; }\\n\\n.order-7 {\\n order: 7; }\\n\\n.order-8 {\\n order: 8; }\\n\\n.order-9 {\\n order: 9; }\\n\\n.order-10 {\\n order: 10; }\\n\\n.order-11 {\\n order: 11; }\\n\\n.order-12 {\\n order: 12; }\\n\\n.offset-1 {\\n margin-left: 8.33333%; }\\n\\n.offset-2 {\\n margin-left: 16.66667%; }\\n\\n.offset-3 {\\n margin-left: 25%; }\\n\\n.offset-4 {\\n margin-left: 33.33333%; }\\n\\n.offset-5 {\\n margin-left: 41.66667%; }\\n\\n.offset-6 {\\n margin-left: 50%; }\\n\\n.offset-7 {\\n margin-left: 58.33333%; }\\n\\n.offset-8 {\\n margin-left: 66.66667%; }\\n\\n.offset-9 {\\n margin-left: 75%; }\\n\\n.offset-10 {\\n margin-left: 83.33333%; }\\n\\n.offset-11 {\\n margin-left: 91.66667%; }\\n\\n@media (min-width: 576px) {\\n .col-sm {\\n flex-basis: 0;\\n flex-grow: 1;\\n min-width: 0;\\n max-width: 100%; }\\n .row-cols-sm-1 > * {\\n flex: 0 0 100%;\\n max-width: 100%; }\\n .row-cols-sm-2 > * {\\n flex: 0 0 50%;\\n max-width: 50%; }\\n .row-cols-sm-3 > * {\\n flex: 0 0 33.33333%;\\n max-width: 33.33333%; }\\n .row-cols-sm-4 > * {\\n flex: 0 0 25%;\\n max-width: 25%; }\\n .row-cols-sm-5 > * {\\n flex: 0 0 20%;\\n max-width: 20%; }\\n .row-cols-sm-6 > * {\\n flex: 0 0 16.66667%;\\n max-width: 16.66667%; }\\n .col-sm-auto {\\n flex: 0 0 auto;\\n width: auto;\\n max-width: 100%; }\\n .col-sm-1 {\\n flex: 0 0 8.33333%;\\n max-width: 8.33333%; }\\n .col-sm-2 {\\n flex: 0 0 16.66667%;\\n max-width: 16.66667%; }\\n .col-sm-3 {\\n flex: 0 0 25%;\\n max-width: 25%; }\\n .col-sm-4 {\\n flex: 0 0 33.33333%;\\n max-width: 33.33333%; }\\n .col-sm-5 {\\n flex: 0 0 41.66667%;\\n max-width: 41.66667%; }\\n .col-sm-6 {\\n flex: 0 0 50%;\\n max-width: 50%; }\\n .col-sm-7 {\\n flex: 0 0 58.33333%;\\n max-width: 58.33333%; }\\n .col-sm-8 {\\n flex: 0 0 66.66667%;\\n max-width: 66.66667%; }\\n .col-sm-9 {\\n flex: 0 0 75%;\\n max-width: 75%; }\\n .col-sm-10 {\\n flex: 0 0 83.33333%;\\n max-width: 83.33333%; }\\n .col-sm-11 {\\n flex: 0 0 91.66667%;\\n max-width: 91.66667%; }\\n .col-sm-12 {\\n flex: 0 0 100%;\\n max-width: 100%; }\\n .order-sm-first {\\n order: -1; }\\n .order-sm-last {\\n order: 13; }\\n .order-sm-0 {\\n order: 0; }\\n .order-sm-1 {\\n order: 1; }\\n .order-sm-2 {\\n order: 2; }\\n .order-sm-3 {\\n order: 3; }\\n .order-sm-4 {\\n order: 4; }\\n .order-sm-5 {\\n order: 5; }\\n .order-sm-6 {\\n order: 6; }\\n .order-sm-7 {\\n order: 7; }\\n .order-sm-8 {\\n order: 8; }\\n .order-sm-9 {\\n order: 9; }\\n .order-sm-10 {\\n order: 10; }\\n .order-sm-11 {\\n order: 11; }\\n .order-sm-12 {\\n order: 12; }\\n .offset-sm-0 {\\n margin-left: 0; }\\n .offset-sm-1 {\\n margin-left: 8.33333%; }\\n .offset-sm-2 {\\n margin-left: 16.66667%; }\\n .offset-sm-3 {\\n margin-left: 25%; }\\n .offset-sm-4 {\\n margin-left: 33.33333%; }\\n .offset-sm-5 {\\n margin-left: 41.66667%; }\\n .offset-sm-6 {\\n margin-left: 50%; }\\n .offset-sm-7 {\\n margin-left: 58.33333%; }\\n .offset-sm-8 {\\n margin-left: 66.66667%; }\\n .offset-sm-9 {\\n margin-left: 75%; }\\n .offset-sm-10 {\\n margin-left: 83.33333%; }\\n .offset-sm-11 {\\n margin-left: 91.66667%; } }\\n\\n@media (min-width: 768px) {\\n .col-md {\\n flex-basis: 0;\\n flex-grow: 1;\\n min-width: 0;\\n max-width: 100%; }\\n .row-cols-md-1 > * {\\n flex: 0 0 100%;\\n max-width: 100%; }\\n .row-cols-md-2 > * {\\n flex: 0 0 50%;\\n max-width: 50%; }\\n .row-cols-md-3 > * {\\n flex: 0 0 33.33333%;\\n max-width: 33.33333%; }\\n .row-cols-md-4 > * {\\n flex: 0 0 25%;\\n max-width: 25%; }\\n .row-cols-md-5 > * {\\n flex: 0 0 20%;\\n max-width: 20%; }\\n .row-cols-md-6 > * {\\n flex: 0 0 16.66667%;\\n max-width: 16.66667%; }\\n .col-md-auto {\\n flex: 0 0 auto;\\n width: auto;\\n max-width: 100%; }\\n .col-md-1 {\\n flex: 0 0 8.33333%;\\n max-width: 8.33333%; }\\n .col-md-2 {\\n flex: 0 0 16.66667%;\\n max-width: 16.66667%; }\\n .col-md-3 {\\n flex: 0 0 25%;\\n max-width: 25%; }\\n .col-md-4 {\\n flex: 0 0 33.33333%;\\n max-width: 33.33333%; }\\n .col-md-5 {\\n flex: 0 0 41.66667%;\\n max-width: 41.66667%; }\\n .col-md-6 {\\n flex: 0 0 50%;\\n max-width: 50%; }\\n .col-md-7 {\\n flex: 0 0 58.33333%;\\n max-width: 58.33333%; }\\n .col-md-8 {\\n flex: 0 0 66.66667%;\\n max-width: 66.66667%; }\\n .col-md-9 {\\n flex: 0 0 75%;\\n max-width: 75%; }\\n .col-md-10 {\\n flex: 0 0 83.33333%;\\n max-width: 83.33333%; }\\n .col-md-11 {\\n flex: 0 0 91.66667%;\\n max-width: 91.66667%; }\\n .col-md-12 {\\n flex: 0 0 100%;\\n max-width: 100%; }\\n .order-md-first {\\n order: -1; }\\n .order-md-last {\\n order: 13; }\\n .order-md-0 {\\n order: 0; }\\n .order-md-1 {\\n order: 1; }\\n .order-md-2 {\\n order: 2; }\\n .order-md-3 {\\n order: 3; }\\n .order-md-4 {\\n order: 4; }\\n .order-md-5 {\\n order: 5; }\\n .order-md-6 {\\n order: 6; }\\n .order-md-7 {\\n order: 7; }\\n .order-md-8 {\\n order: 8; }\\n .order-md-9 {\\n order: 9; }\\n .order-md-10 {\\n order: 10; }\\n .order-md-11 {\\n order: 11; }\\n .order-md-12 {\\n order: 12; }\\n .offset-md-0 {\\n margin-left: 0; }\\n .offset-md-1 {\\n margin-left: 8.33333%; }\\n .offset-md-2 {\\n margin-left: 16.66667%; }\\n .offset-md-3 {\\n margin-left: 25%; }\\n .offset-md-4 {\\n margin-left: 33.33333%; }\\n .offset-md-5 {\\n margin-left: 41.66667%; }\\n .offset-md-6 {\\n margin-left: 50%; }\\n .offset-md-7 {\\n margin-left: 58.33333%; }\\n .offset-md-8 {\\n margin-left: 66.66667%; }\\n .offset-md-9 {\\n margin-left: 75%; }\\n .offset-md-10 {\\n margin-left: 83.33333%; }\\n .offset-md-11 {\\n margin-left: 91.66667%; } }\\n\\n@media (min-width: 992px) {\\n .col-lg {\\n flex-basis: 0;\\n flex-grow: 1;\\n min-width: 0;\\n max-width: 100%; }\\n .row-cols-lg-1 > * {\\n flex: 0 0 100%;\\n max-width: 100%; }\\n .row-cols-lg-2 > * {\\n flex: 0 0 50%;\\n max-width: 50%; }\\n .row-cols-lg-3 > * {\\n flex: 0 0 33.33333%;\\n max-width: 33.33333%; }\\n .row-cols-lg-4 > * {\\n flex: 0 0 25%;\\n max-width: 25%; }\\n .row-cols-lg-5 > * {\\n flex: 0 0 20%;\\n max-width: 20%; }\\n .row-cols-lg-6 > * {\\n flex: 0 0 16.66667%;\\n max-width: 16.66667%; }\\n .col-lg-auto {\\n flex: 0 0 auto;\\n width: auto;\\n max-width: 100%; }\\n .col-lg-1 {\\n flex: 0 0 8.33333%;\\n max-width: 8.33333%; }\\n .col-lg-2 {\\n flex: 0 0 16.66667%;\\n max-width: 16.66667%; }\\n .col-lg-3 {\\n flex: 0 0 25%;\\n max-width: 25%; }\\n .col-lg-4 {\\n flex: 0 0 33.33333%;\\n max-width: 33.33333%; }\\n .col-lg-5 {\\n flex: 0 0 41.66667%;\\n max-width: 41.66667%; }\\n .col-lg-6 {\\n flex: 0 0 50%;\\n max-width: 50%; }\\n .col-lg-7 {\\n flex: 0 0 58.33333%;\\n max-width: 58.33333%; }\\n .col-lg-8 {\\n flex: 0 0 66.66667%;\\n max-width: 66.66667%; }\\n .col-lg-9 {\\n flex: 0 0 75%;\\n max-width: 75%; }\\n .col-lg-10 {\\n flex: 0 0 83.33333%;\\n max-width: 83.33333%; }\\n .col-lg-11 {\\n flex: 0 0 91.66667%;\\n max-width: 91.66667%; }\\n .col-lg-12 {\\n flex: 0 0 100%;\\n max-width: 100%; }\\n .order-lg-first {\\n order: -1; }\\n .order-lg-last {\\n order: 13; }\\n .order-lg-0 {\\n order: 0; }\\n .order-lg-1 {\\n order: 1; }\\n .order-lg-2 {\\n order: 2; }\\n .order-lg-3 {\\n order: 3; }\\n .order-lg-4 {\\n order: 4; }\\n .order-lg-5 {\\n order: 5; }\\n .order-lg-6 {\\n order: 6; }\\n .order-lg-7 {\\n order: 7; }\\n .order-lg-8 {\\n order: 8; }\\n .order-lg-9 {\\n order: 9; }\\n .order-lg-10 {\\n order: 10; }\\n .order-lg-11 {\\n order: 11; }\\n .order-lg-12 {\\n order: 12; }\\n .offset-lg-0 {\\n margin-left: 0; }\\n .offset-lg-1 {\\n margin-left: 8.33333%; }\\n .offset-lg-2 {\\n margin-left: 16.66667%; }\\n .offset-lg-3 {\\n margin-left: 25%; }\\n .offset-lg-4 {\\n margin-left: 33.33333%; }\\n .offset-lg-5 {\\n margin-left: 41.66667%; }\\n .offset-lg-6 {\\n margin-left: 50%; }\\n .offset-lg-7 {\\n margin-left: 58.33333%; }\\n .offset-lg-8 {\\n margin-left: 66.66667%; }\\n .offset-lg-9 {\\n margin-left: 75%; }\\n .offset-lg-10 {\\n margin-left: 83.33333%; }\\n .offset-lg-11 {\\n margin-left: 91.66667%; } }\\n\\n@media (min-width: 1200px) {\\n .col-xl {\\n flex-basis: 0;\\n flex-grow: 1;\\n min-width: 0;\\n max-width: 100%; }\\n .row-cols-xl-1 > * {\\n flex: 0 0 100%;\\n max-width: 100%; }\\n .row-cols-xl-2 > * {\\n flex: 0 0 50%;\\n max-width: 50%; }\\n .row-cols-xl-3 > * {\\n flex: 0 0 33.33333%;\\n max-width: 33.33333%; }\\n .row-cols-xl-4 > * {\\n flex: 0 0 25%;\\n max-width: 25%; }\\n .row-cols-xl-5 > * {\\n flex: 0 0 20%;\\n max-width: 20%; }\\n .row-cols-xl-6 > * {\\n flex: 0 0 16.66667%;\\n max-width: 16.66667%; }\\n .col-xl-auto {\\n flex: 0 0 auto;\\n width: auto;\\n max-width: 100%; }\\n .col-xl-1 {\\n flex: 0 0 8.33333%;\\n max-width: 8.33333%; }\\n .col-xl-2 {\\n flex: 0 0 16.66667%;\\n max-width: 16.66667%; }\\n .col-xl-3 {\\n flex: 0 0 25%;\\n max-width: 25%; }\\n .col-xl-4 {\\n flex: 0 0 33.33333%;\\n max-width: 33.33333%; }\\n .col-xl-5 {\\n flex: 0 0 41.66667%;\\n max-width: 41.66667%; }\\n .col-xl-6 {\\n flex: 0 0 50%;\\n max-width: 50%; }\\n .col-xl-7 {\\n flex: 0 0 58.33333%;\\n max-width: 58.33333%; }\\n .col-xl-8 {\\n flex: 0 0 66.66667%;\\n max-width: 66.66667%; }\\n .col-xl-9 {\\n flex: 0 0 75%;\\n max-width: 75%; }\\n .col-xl-10 {\\n flex: 0 0 83.33333%;\\n max-width: 83.33333%; }\\n .col-xl-11 {\\n flex: 0 0 91.66667%;\\n max-width: 91.66667%; }\\n .col-xl-12 {\\n flex: 0 0 100%;\\n max-width: 100%; }\\n .order-xl-first {\\n order: -1; }\\n .order-xl-last {\\n order: 13; }\\n .order-xl-0 {\\n order: 0; }\\n .order-xl-1 {\\n order: 1; }\\n .order-xl-2 {\\n order: 2; }\\n .order-xl-3 {\\n order: 3; }\\n .order-xl-4 {\\n order: 4; }\\n .order-xl-5 {\\n order: 5; }\\n .order-xl-6 {\\n order: 6; }\\n .order-xl-7 {\\n order: 7; }\\n .order-xl-8 {\\n order: 8; }\\n .order-xl-9 {\\n order: 9; }\\n .order-xl-10 {\\n order: 10; }\\n .order-xl-11 {\\n order: 11; }\\n .order-xl-12 {\\n order: 12; }\\n .offset-xl-0 {\\n margin-left: 0; }\\n .offset-xl-1 {\\n margin-left: 8.33333%; }\\n .offset-xl-2 {\\n margin-left: 16.66667%; }\\n .offset-xl-3 {\\n margin-left: 25%; }\\n .offset-xl-4 {\\n margin-left: 33.33333%; }\\n .offset-xl-5 {\\n margin-left: 41.66667%; }\\n .offset-xl-6 {\\n margin-left: 50%; }\\n .offset-xl-7 {\\n margin-left: 58.33333%; }\\n .offset-xl-8 {\\n margin-left: 66.66667%; }\\n .offset-xl-9 {\\n margin-left: 75%; }\\n .offset-xl-10 {\\n margin-left: 83.33333%; }\\n .offset-xl-11 {\\n margin-left: 91.66667%; } }\\n\\n.img-fluid {\\n max-width: 100%;\\n height: auto; }\\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.figure {\\n display: inline-block; }\\n\\n.figure-img {\\n margin-bottom: 0.5rem;\\n line-height: 1; }\\n\\n.figure-caption {\\n font-size: 90%;\\n color: #6c757d; }\\n\\n.input-group {\\n position: relative;\\n display: flex;\\n flex-wrap: wrap;\\n align-items: stretch;\\n width: 100%; }\\n .input-group > .form-control,\\n .input-group > .form-control-plaintext,\\n .input-group > .custom-select,\\n .input-group > .custom-file {\\n position: relative;\\n flex: 1 1 auto;\\n width: 1%;\\n min-width: 0;\\n margin-bottom: 0; }\\n .input-group > .form-control + .form-control,\\n .input-group > .form-control + .custom-select,\\n .input-group > .form-control + .custom-file,\\n .input-group > .form-control-plaintext + .form-control,\\n .input-group > .form-control-plaintext + .custom-select,\\n .input-group > .form-control-plaintext + .custom-file,\\n .input-group > .custom-select + .form-control,\\n .input-group > .custom-select + .custom-select,\\n .input-group > .custom-select + .custom-file,\\n .input-group > .custom-file + .form-control,\\n .input-group > .custom-file + .custom-select,\\n .input-group > .custom-file + .custom-file {\\n margin-left: -1px; }\\n .input-group > .form-control:focus,\\n .input-group > .custom-select:focus,\\n .input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\\n z-index: 3; }\\n .input-group > .custom-file .custom-file-input:focus {\\n z-index: 4; }\\n .input-group > .form-control:not(:last-child),\\n .input-group > .custom-select:not(:last-child) {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0; }\\n .input-group > .form-control:not(:first-child),\\n .input-group > .custom-select:not(:first-child) {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0; }\\n .input-group > .custom-file {\\n display: flex;\\n align-items: center; }\\n .input-group > .custom-file:not(:last-child) .custom-file-label,\\n .input-group > .custom-file:not(:last-child) .custom-file-label::after {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0; }\\n .input-group > .custom-file:not(:first-child) .custom-file-label {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0; }\\n\\n.input-group-prepend,\\n.input-group-append {\\n display: flex; }\\n .input-group-prepend .btn,\\n .input-group-append .btn {\\n position: relative;\\n z-index: 2; }\\n .input-group-prepend .btn:focus,\\n .input-group-append .btn:focus {\\n z-index: 3; }\\n .input-group-prepend .btn + .btn,\\n .input-group-prepend .btn + .input-group-text,\\n .input-group-prepend .input-group-text + .input-group-text,\\n .input-group-prepend .input-group-text + .btn,\\n .input-group-append .btn + .btn,\\n .input-group-append .btn + .input-group-text,\\n .input-group-append .input-group-text + .input-group-text,\\n .input-group-append .input-group-text + .btn {\\n margin-left: -1px; }\\n\\n.input-group-prepend {\\n margin-right: -1px; }\\n\\n.input-group-append {\\n margin-left: -1px; }\\n\\n.input-group-text {\\n display: flex;\\n align-items: center;\\n padding: 0.375rem 0.75rem;\\n margin-bottom: 0;\\n font-size: 1rem;\\n font-weight: 400;\\n line-height: 1.5;\\n color: #495057;\\n text-align: center;\\n white-space: nowrap;\\n background-color: #e9ecef;\\n border: 1px solid #ced4da;\\n border-radius: 0.25rem; }\\n .input-group-text input[type=\\\"radio\\\"],\\n .input-group-text input[type=\\\"checkbox\\\"] {\\n margin-top: 0; }\\n\\n.input-group-lg > .form-control:not(textarea),\\n.input-group-lg > .custom-select {\\n height: calc(1.5em + 1rem + 2px); }\\n\\n.input-group-lg > .form-control,\\n.input-group-lg > .custom-select,\\n.input-group-lg > .input-group-prepend > .input-group-text,\\n.input-group-lg > .input-group-append > .input-group-text,\\n.input-group-lg > .input-group-prepend > .btn,\\n.input-group-lg > .input-group-append > .btn {\\n padding: 0.5rem 1rem;\\n font-size: 1.25rem;\\n line-height: 1.5;\\n border-radius: 0.3rem; }\\n\\n.input-group-sm > .form-control:not(textarea),\\n.input-group-sm > .custom-select {\\n height: calc(1.5em + 0.5rem + 2px); }\\n\\n.input-group-sm > .form-control,\\n.input-group-sm > .custom-select,\\n.input-group-sm > .input-group-prepend > .input-group-text,\\n.input-group-sm > .input-group-append > .input-group-text,\\n.input-group-sm > .input-group-prepend > .btn,\\n.input-group-sm > .input-group-append > .btn {\\n padding: 0.25rem 0.5rem;\\n font-size: 0.875rem;\\n line-height: 1.5;\\n border-radius: 0.2rem; }\\n\\n.input-group-lg > .custom-select,\\n.input-group-sm > .custom-select {\\n padding-right: 1.75rem; }\\n\\n.input-group > .input-group-prepend > .btn,\\n.input-group > .input-group-prepend > .input-group-text,\\n.input-group > .input-group-append:not(:last-child) > .btn,\\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0; }\\n\\n.input-group > .input-group-append > .btn,\\n.input-group > .input-group-append > .input-group-text,\\n.input-group > .input-group-prepend:not(:first-child) > .btn,\\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\\n border-top-left-radius: 0;\\n border-bottom-left-radius: 0; }\\n\\n.jumbotron {\\n padding: 2rem 1rem;\\n margin-bottom: 2rem;\\n background-color: #e9ecef;\\n border-radius: 0.3rem; }\\n @media (min-width: 576px) {\\n .jumbotron {\\n padding: 4rem 2rem; } }\\n\\n.jumbotron-fluid {\\n padding-right: 0;\\n padding-left: 0;\\n border-radius: 0; }\\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.list-group-item-action {\\n width: 100%;\\n color: #495057;\\n text-align: inherit; }\\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 .list-group-item-action:active {\\n color: #212529;\\n background-color: #e9ecef; }\\n\\n.list-group-item {\\n position: relative;\\n display: block;\\n padding: 0.75rem 1.25rem;\\n background-color: #fff;\\n border: 1px solid rgba(0, 0, 0, 0.125); }\\n .list-group-item:first-child {\\n border-top-left-radius: inherit;\\n border-top-right-radius: inherit; }\\n .list-group-item:last-child {\\n border-bottom-right-radius: inherit;\\n border-bottom-left-radius: inherit; }\\n .list-group-item.disabled, .list-group-item:disabled {\\n color: #6c757d;\\n pointer-events: none;\\n background-color: #fff; }\\n .list-group-item.active {\\n z-index: 2;\\n color: #fff;\\n background-color: #007bff;\\n border-color: #007bff; }\\n .list-group-item + .list-group-item {\\n border-top-width: 0; }\\n .list-group-item + .list-group-item.active {\\n margin-top: -1px;\\n border-top-width: 1px; }\\n\\n.list-group-horizontal {\\n flex-direction: row; }\\n .list-group-horizontal > .list-group-item:first-child {\\n border-bottom-left-radius: 0.25rem;\\n border-top-right-radius: 0; }\\n .list-group-horizontal > .list-group-item:last-child {\\n border-top-right-radius: 0.25rem;\\n border-bottom-left-radius: 0; }\\n .list-group-horizontal > .list-group-item.active {\\n margin-top: 0; }\\n .list-group-horizontal > .list-group-item + .list-group-item {\\n border-top-width: 1px;\\n border-left-width: 0; }\\n .list-group-horizontal > .list-group-item + .list-group-item.active {\\n margin-left: -1px;\\n border-left-width: 1px; }\\n\\n@media (min-width: 576px) {\\n .list-group-horizontal-sm {\\n flex-direction: row; }\\n .list-group-horizontal-sm > .list-group-item:first-child {\\n border-bottom-left-radius: 0.25rem;\\n border-top-right-radius: 0; }\\n .list-group-horizontal-sm > .list-group-item:last-child {\\n border-top-right-radius: 0.25rem;\\n border-bottom-left-radius: 0; }\\n .list-group-horizontal-sm > .list-group-item.active {\\n margin-top: 0; }\\n .list-group-horizontal-sm > .list-group-item + .list-group-item {\\n border-top-width: 1px;\\n border-left-width: 0; }\\n .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\\n margin-left: -1px;\\n border-left-width: 1px; } }\\n\\n@media (min-width: 768px) {\\n .list-group-horizontal-md {\\n flex-direction: row; }\\n .list-group-horizontal-md > .list-group-item:first-child {\\n border-bottom-left-radius: 0.25rem;\\n border-top-right-radius: 0; }\\n .list-group-horizontal-md > .list-group-item:last-child {\\n border-top-right-radius: 0.25rem;\\n border-bottom-left-radius: 0; }\\n .list-group-horizontal-md > .list-group-item.active {\\n margin-top: 0; }\\n .list-group-horizontal-md > .list-group-item + .list-group-item {\\n border-top-width: 1px;\\n border-left-width: 0; }\\n .list-group-horizontal-md > .list-group-item + .list-group-item.active {\\n margin-left: -1px;\\n border-left-width: 1px; } }\\n\\n@media (min-width: 992px) {\\n .list-group-horizontal-lg {\\n flex-direction: row; }\\n .list-group-horizontal-lg > .list-group-item:first-child {\\n border-bottom-left-radius: 0.25rem;\\n border-top-right-radius: 0; }\\n .list-group-horizontal-lg > .list-group-item:last-child {\\n border-top-right-radius: 0.25rem;\\n border-bottom-left-radius: 0; }\\n .list-group-horizontal-lg > .list-group-item.active {\\n margin-top: 0; }\\n .list-group-horizontal-lg > .list-group-item + .list-group-item {\\n border-top-width: 1px;\\n border-left-width: 0; }\\n .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\\n margin-left: -1px;\\n border-left-width: 1px; } }\\n\\n@media (min-width: 1200px) {\\n .list-group-horizontal-xl {\\n flex-direction: row; }\\n .list-group-horizontal-xl > .list-group-item:first-child {\\n border-bottom-left-radius: 0.25rem;\\n border-top-right-radius: 0; }\\n .list-group-horizontal-xl > .list-group-item:last-child {\\n border-top-right-radius: 0.25rem;\\n border-bottom-left-radius: 0; }\\n .list-group-horizontal-xl > .list-group-item.active {\\n margin-top: 0; }\\n .list-group-horizontal-xl > .list-group-item + .list-group-item {\\n border-top-width: 1px;\\n border-left-width: 0; }\\n .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\\n margin-left: -1px;\\n border-left-width: 1px; } }\\n\\n.list-group-flush {\\n border-radius: 0; }\\n .list-group-flush > .list-group-item {\\n border-width: 0 0 1px; }\\n .list-group-flush > .list-group-item:last-child {\\n border-bottom-width: 0; }\\n\\n.list-group-item-primary {\\n color: #004085;\\n background-color: #b8daff; }\\n .list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\\n color: #004085;\\n background-color: #9fcdff; }\\n .list-group-item-primary.list-group-item-action.active {\\n color: #fff;\\n background-color: #004085;\\n border-color: #004085; }\\n\\n.list-group-item-secondary {\\n color: #383d41;\\n background-color: #d6d8db; }\\n .list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\\n color: #383d41;\\n background-color: #c8cbcf; }\\n .list-group-item-secondary.list-group-item-action.active {\\n color: #fff;\\n background-color: #383d41;\\n border-color: #383d41; }\\n\\n.list-group-item-success {\\n color: #155724;\\n background-color: #c3e6cb; }\\n .list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\\n color: #155724;\\n background-color: #b1dfbb; }\\n .list-group-item-success.list-group-item-action.active {\\n color: #fff;\\n background-color: #155724;\\n border-color: #155724; }\\n\\n.list-group-item-info {\\n color: #0c5460;\\n background-color: #bee5eb; }\\n .list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\\n color: #0c5460;\\n background-color: #abdde5; }\\n .list-group-item-info.list-group-item-action.active {\\n color: #fff;\\n background-color: #0c5460;\\n border-color: #0c5460; }\\n\\n.list-group-item-warning {\\n color: #856404;\\n background-color: #ffeeba; }\\n .list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\\n color: #856404;\\n background-color: #ffe8a1; }\\n .list-group-item-warning.list-group-item-action.active {\\n color: #fff;\\n background-color: #856404;\\n border-color: #856404; }\\n\\n.list-group-item-danger {\\n color: #721c24;\\n background-color: #f5c6cb; }\\n .list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\\n color: #721c24;\\n background-color: #f1b0b7; }\\n .list-group-item-danger.list-group-item-action.active {\\n color: #fff;\\n background-color: #721c24;\\n border-color: #721c24; }\\n\\n.list-group-item-light {\\n color: #818182;\\n background-color: #fdfdfe; }\\n .list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\\n color: #818182;\\n background-color: #ececf6; }\\n .list-group-item-light.list-group-item-action.active {\\n color: #fff;\\n background-color: #818182;\\n border-color: #818182; }\\n\\n.list-group-item-dark {\\n color: #1b1e21;\\n background-color: #c6c8ca; }\\n .list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\\n color: #1b1e21;\\n background-color: #b9bbbe; }\\n .list-group-item-dark.list-group-item-action.active {\\n color: #fff;\\n background-color: #1b1e21;\\n border-color: #1b1e21; }\\n\\n.media {\\n display: flex;\\n align-items: flex-start; }\\n\\n.media-body {\\n flex: 1; }\\n\\n.modal-open {\\n overflow: hidden; }\\n .modal-open .modal {\\n overflow-x: hidden;\\n overflow-y: auto; }\\n\\n.modal {\\n position: fixed;\\n top: 0;\\n left: 0;\\n z-index: 1050;\\n display: none;\\n width: 100%;\\n height: 100%;\\n overflow: hidden;\\n outline: 0; }\\n\\n.modal-dialog {\\n position: relative;\\n width: auto;\\n margin: 0.5rem;\\n pointer-events: none; }\\n .modal.fade .modal-dialog {\\n transition: transform 0.3s ease-out;\\n transform: translate(0, -50px); }\\n @media (prefers-reduced-motion: reduce) {\\n .modal.fade .modal-dialog {\\n transition: none; } }\\n .modal.show .modal-dialog {\\n transform: none; }\\n .modal.modal-static .modal-dialog {\\n transform: scale(1.02); }\\n\\n.modal-dialog-scrollable {\\n display: flex;\\n max-height: calc(100% - 1rem); }\\n .modal-dialog-scrollable .modal-content {\\n max-height: calc(100vh - 1rem);\\n overflow: hidden; }\\n .modal-dialog-scrollable .modal-header,\\n .modal-dialog-scrollable .modal-footer {\\n flex-shrink: 0; }\\n .modal-dialog-scrollable .modal-body {\\n overflow-y: auto; }\\n\\n.modal-dialog-centered {\\n display: flex;\\n align-items: center;\\n min-height: calc(100% - 1rem); }\\n .modal-dialog-centered::before {\\n display: block;\\n height: calc(100vh - 1rem);\\n height: min-content;\\n content: \\\"\\\"; }\\n .modal-dialog-centered.modal-dialog-scrollable {\\n flex-direction: column;\\n justify-content: center;\\n height: 100%; }\\n .modal-dialog-centered.modal-dialog-scrollable .modal-content {\\n max-height: none; }\\n .modal-dialog-centered.modal-dialog-scrollable::before {\\n content: none; }\\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.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 .modal-backdrop.fade {\\n opacity: 0; }\\n .modal-backdrop.show {\\n opacity: 0.5; }\\n\\n.modal-header {\\n display: flex;\\n align-items: flex-start;\\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 .modal-header .close {\\n padding: 1rem 1rem;\\n margin: -1rem -1rem -1rem auto; }\\n\\n.modal-title {\\n margin-bottom: 0;\\n line-height: 1.5; }\\n\\n.modal-body {\\n position: relative;\\n flex: 1 1 auto;\\n padding: 1rem; }\\n\\n.modal-footer {\\n display: flex;\\n flex-wrap: wrap;\\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 .modal-footer > * {\\n margin: 0.25rem; }\\n\\n.modal-scrollbar-measure {\\n position: absolute;\\n top: -9999px;\\n width: 50px;\\n height: 50px;\\n overflow: scroll; }\\n\\n@media (min-width: 576px) {\\n .modal-dialog {\\n max-width: 500px;\\n margin: 1.75rem auto; }\\n .modal-dialog-scrollable {\\n max-height: calc(100% - 3.5rem); }\\n .modal-dialog-scrollable .modal-content {\\n max-height: calc(100vh - 3.5rem); }\\n .modal-dialog-centered {\\n min-height: calc(100% - 3.5rem); }\\n .modal-dialog-centered::before {\\n height: calc(100vh - 3.5rem);\\n height: min-content; }\\n .modal-sm {\\n max-width: 300px; } }\\n\\n@media (min-width: 992px) {\\n .modal-lg,\\n .modal-xl {\\n max-width: 800px; } }\\n\\n@media (min-width: 1200px) {\\n .modal-xl {\\n max-width: 1140px; } }\\n\\n.nav {\\n display: flex;\\n flex-wrap: wrap;\\n padding-left: 0;\\n margin-bottom: 0;\\n list-style: none; }\\n\\n.nav-link {\\n display: block;\\n padding: 0.5rem 1rem; }\\n .nav-link:hover, .nav-link:focus {\\n text-decoration: none; }\\n .nav-link.disabled {\\n color: #6c757d;\\n pointer-events: none;\\n cursor: default; }\\n\\n.nav-tabs {\\n border-bottom: 1px solid #dee2e6; }\\n .nav-tabs .nav-item {\\n margin-bottom: -1px; }\\n .nav-tabs .nav-link {\\n border: 1px solid transparent;\\n border-top-left-radius: 0.25rem;\\n border-top-right-radius: 0.25rem; }\\n .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\\n border-color: #e9ecef #e9ecef #dee2e6; }\\n .nav-tabs .nav-link.disabled {\\n color: #6c757d;\\n background-color: transparent;\\n border-color: transparent; }\\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 .nav-tabs .dropdown-menu {\\n margin-top: -1px;\\n border-top-left-radius: 0;\\n border-top-right-radius: 0; }\\n\\n.nav-pills .nav-link {\\n border-radius: 0.25rem; }\\n\\n.nav-pills .nav-link.active,\\n.nav-pills .show > .nav-link {\\n color: #fff;\\n background-color: #007bff; }\\n\\n.nav-fill .nav-item {\\n flex: 1 1 auto;\\n text-align: center; }\\n\\n.nav-justified .nav-item {\\n flex-basis: 0;\\n flex-grow: 1;\\n text-align: center; }\\n\\n.tab-content > .tab-pane {\\n display: none; }\\n\\n.tab-content > .active {\\n display: block; }\\n\\n.navbar {\\n position: relative;\\n display: flex;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: space-between;\\n padding: 0.5rem 1rem; }\\n .navbar .container,\\n .navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {\\n display: flex;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: space-between; }\\n\\n.navbar-brand {\\n display: inline-block;\\n padding-top: 0.3125rem;\\n padding-bottom: 0.3125rem;\\n margin-right: 1rem;\\n font-size: 1.25rem;\\n line-height: inherit;\\n white-space: nowrap; }\\n .navbar-brand:hover, .navbar-brand:focus {\\n text-decoration: none; }\\n\\n.navbar-nav {\\n display: flex;\\n flex-direction: column;\\n padding-left: 0;\\n margin-bottom: 0;\\n list-style: none; }\\n .navbar-nav .nav-link {\\n padding-right: 0;\\n padding-left: 0; }\\n .navbar-nav .dropdown-menu {\\n position: static;\\n float: none; }\\n\\n.navbar-text {\\n display: inline-block;\\n padding-top: 0.5rem;\\n padding-bottom: 0.5rem; }\\n\\n.navbar-collapse {\\n flex-basis: 100%;\\n flex-grow: 1;\\n align-items: center; }\\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 .navbar-toggler:hover, .navbar-toggler:focus {\\n text-decoration: none; }\\n\\n.navbar-toggler-icon {\\n display: inline-block;\\n width: 1.5em;\\n height: 1.5em;\\n vertical-align: middle;\\n content: \\\"\\\";\\n background: no-repeat center center;\\n background-size: 100% 100%; }\\n\\n@media (max-width: 575.98px) {\\n .navbar-expand-sm > .container,\\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\\n padding-right: 0;\\n padding-left: 0; } }\\n\\n@media (min-width: 576px) {\\n .navbar-expand-sm {\\n flex-flow: row nowrap;\\n justify-content: flex-start; }\\n .navbar-expand-sm .navbar-nav {\\n flex-direction: row; }\\n .navbar-expand-sm .navbar-nav .dropdown-menu {\\n position: absolute; }\\n .navbar-expand-sm .navbar-nav .nav-link {\\n padding-right: 0.5rem;\\n padding-left: 0.5rem; }\\n .navbar-expand-sm > .container,\\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\\n flex-wrap: nowrap; }\\n .navbar-expand-sm .navbar-collapse {\\n display: flex !important;\\n flex-basis: auto; }\\n .navbar-expand-sm .navbar-toggler {\\n display: none; } }\\n\\n@media (max-width: 767.98px) {\\n .navbar-expand-md > .container,\\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\\n padding-right: 0;\\n padding-left: 0; } }\\n\\n@media (min-width: 768px) {\\n .navbar-expand-md {\\n flex-flow: row nowrap;\\n justify-content: flex-start; }\\n .navbar-expand-md .navbar-nav {\\n flex-direction: row; }\\n .navbar-expand-md .navbar-nav .dropdown-menu {\\n position: absolute; }\\n .navbar-expand-md .navbar-nav .nav-link {\\n padding-right: 0.5rem;\\n padding-left: 0.5rem; }\\n .navbar-expand-md > .container,\\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\\n flex-wrap: nowrap; }\\n .navbar-expand-md .navbar-collapse {\\n display: flex !important;\\n flex-basis: auto; }\\n .navbar-expand-md .navbar-toggler {\\n display: none; } }\\n\\n@media (max-width: 991.98px) {\\n .navbar-expand-lg > .container,\\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\\n padding-right: 0;\\n padding-left: 0; } }\\n\\n@media (min-width: 992px) {\\n .navbar-expand-lg {\\n flex-flow: row nowrap;\\n justify-content: flex-start; }\\n .navbar-expand-lg .navbar-nav {\\n flex-direction: row; }\\n .navbar-expand-lg .navbar-nav .dropdown-menu {\\n position: absolute; }\\n .navbar-expand-lg .navbar-nav .nav-link {\\n padding-right: 0.5rem;\\n padding-left: 0.5rem; }\\n .navbar-expand-lg > .container,\\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\\n flex-wrap: nowrap; }\\n .navbar-expand-lg .navbar-collapse {\\n display: flex !important;\\n flex-basis: auto; }\\n .navbar-expand-lg .navbar-toggler {\\n display: none; } }\\n\\n@media (max-width: 1199.98px) {\\n .navbar-expand-xl > .container,\\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\\n padding-right: 0;\\n padding-left: 0; } }\\n\\n@media (min-width: 1200px) {\\n .navbar-expand-xl {\\n flex-flow: row nowrap;\\n justify-content: flex-start; }\\n .navbar-expand-xl .navbar-nav {\\n flex-direction: row; }\\n .navbar-expand-xl .navbar-nav .dropdown-menu {\\n position: absolute; }\\n .navbar-expand-xl .navbar-nav .nav-link {\\n padding-right: 0.5rem;\\n padding-left: 0.5rem; }\\n .navbar-expand-xl > .container,\\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\\n flex-wrap: nowrap; }\\n .navbar-expand-xl .navbar-collapse {\\n display: flex !important;\\n flex-basis: auto; }\\n .navbar-expand-xl .navbar-toggler {\\n display: none; } }\\n\\n.navbar-expand {\\n flex-flow: row nowrap;\\n justify-content: flex-start; }\\n .navbar-expand > .container,\\n .navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\\n padding-right: 0;\\n padding-left: 0; }\\n .navbar-expand .navbar-nav {\\n flex-direction: row; }\\n .navbar-expand .navbar-nav .dropdown-menu {\\n position: absolute; }\\n .navbar-expand .navbar-nav .nav-link {\\n padding-right: 0.5rem;\\n padding-left: 0.5rem; }\\n .navbar-expand > .container,\\n .navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\\n flex-wrap: nowrap; }\\n .navbar-expand .navbar-collapse {\\n display: flex !important;\\n flex-basis: auto; }\\n .navbar-expand .navbar-toggler {\\n display: none; }\\n\\n.navbar-light .navbar-brand {\\n color: rgba(0, 0, 0, 0.9); }\\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.5); }\\n .navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\\n color: rgba(0, 0, 0, 0.7); }\\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 .active > .nav-link,\\n.navbar-light .navbar-nav .nav-link.show,\\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.5);\\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' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%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.5); }\\n .navbar-light .navbar-text a {\\n color: rgba(0, 0, 0, 0.9); }\\n .navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\\n color: rgba(0, 0, 0, 0.9); }\\n\\n.navbar-dark .navbar-brand {\\n color: #fff; }\\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.5); }\\n .navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\\n color: rgba(255, 255, 255, 0.75); }\\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 .active > .nav-link,\\n.navbar-dark .navbar-nav .nav-link.show,\\n.navbar-dark .navbar-nav .nav-link.active {\\n color: #fff; }\\n\\n.navbar-dark .navbar-toggler {\\n color: rgba(255, 255, 255, 0.5);\\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' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%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.5); }\\n .navbar-dark .navbar-text a {\\n color: #fff; }\\n .navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\\n color: #fff; }\\n\\n.pagination {\\n display: flex;\\n padding-left: 0;\\n list-style: none;\\n border-radius: 0.25rem; }\\n\\n.page-link {\\n position: relative;\\n display: block;\\n padding: 0.5rem 0.75rem;\\n margin-left: -1px;\\n line-height: 1.25;\\n color: #007bff;\\n background-color: #fff;\\n border: 1px solid #dee2e6; }\\n .page-link:hover {\\n z-index: 2;\\n color: #0056b3;\\n text-decoration: none;\\n background-color: #e9ecef;\\n border-color: #dee2e6; }\\n .page-link:focus {\\n z-index: 3;\\n outline: 0;\\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }\\n\\n.page-item:first-child .page-link {\\n margin-left: 0;\\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.page-item.active .page-link {\\n z-index: 3;\\n color: #fff;\\n background-color: #007bff;\\n border-color: #007bff; }\\n\\n.page-item.disabled .page-link {\\n color: #6c757d;\\n pointer-events: none;\\n cursor: auto;\\n background-color: #fff;\\n border-color: #dee2e6; }\\n\\n.pagination-lg .page-link {\\n padding: 0.75rem 1.5rem;\\n font-size: 1.25rem;\\n line-height: 1.5; }\\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.pagination-sm .page-link {\\n padding: 0.25rem 0.5rem;\\n font-size: 0.875rem;\\n line-height: 1.5; }\\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.popover {\\n position: absolute;\\n top: 0;\\n left: 0;\\n z-index: 1060;\\n display: block;\\n max-width: 276px;\\n font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\";\\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 .popover .arrow {\\n position: absolute;\\n display: block;\\n width: 1rem;\\n height: 0.5rem;\\n margin: 0 0.3rem; }\\n .popover .arrow::before, .popover .arrow::after {\\n position: absolute;\\n display: block;\\n content: \\\"\\\";\\n border-color: transparent;\\n border-style: solid; }\\n\\n.bs-popover-top, .bs-popover-auto[x-placement^=\\\"top\\\"] {\\n margin-bottom: 0.5rem; }\\n .bs-popover-top > .arrow, .bs-popover-auto[x-placement^=\\\"top\\\"] > .arrow {\\n bottom: calc(-0.5rem - 1px); }\\n .bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\\\"top\\\"] > .arrow::before {\\n bottom: 0;\\n border-width: 0.5rem 0.5rem 0;\\n border-top-color: rgba(0, 0, 0, 0.25); }\\n .bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=\\\"top\\\"] > .arrow::after {\\n bottom: 1px;\\n border-width: 0.5rem 0.5rem 0;\\n border-top-color: #fff; }\\n\\n.bs-popover-right, .bs-popover-auto[x-placement^=\\\"right\\\"] {\\n margin-left: 0.5rem; }\\n .bs-popover-right > .arrow, .bs-popover-auto[x-placement^=\\\"right\\\"] > .arrow {\\n left: calc(-0.5rem - 1px);\\n width: 0.5rem;\\n height: 1rem;\\n margin: 0.3rem 0; }\\n .bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=\\\"right\\\"] > .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 .bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=\\\"right\\\"] > .arrow::after {\\n left: 1px;\\n border-width: 0.5rem 0.5rem 0.5rem 0;\\n border-right-color: #fff; }\\n\\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\\\"bottom\\\"] {\\n margin-top: 0.5rem; }\\n .bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=\\\"bottom\\\"] > .arrow {\\n top: calc(-0.5rem - 1px); }\\n .bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\\\"bottom\\\"] > .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 .bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=\\\"bottom\\\"] > .arrow::after {\\n top: 1px;\\n border-width: 0 0.5rem 0.5rem 0.5rem;\\n border-bottom-color: #fff; }\\n .bs-popover-bottom .popover-header::before, .bs-popover-auto[x-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 #f7f7f7; }\\n\\n.bs-popover-left, .bs-popover-auto[x-placement^=\\\"left\\\"] {\\n margin-right: 0.5rem; }\\n .bs-popover-left > .arrow, .bs-popover-auto[x-placement^=\\\"left\\\"] > .arrow {\\n right: calc(-0.5rem - 1px);\\n width: 0.5rem;\\n height: 1rem;\\n margin: 0.3rem 0; }\\n .bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=\\\"left\\\"] > .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 .bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=\\\"left\\\"] > .arrow::after {\\n right: 1px;\\n border-width: 0.5rem 0 0.5rem 0.5rem;\\n border-left-color: #fff; }\\n\\n.popover-header {\\n padding: 0.5rem 0.75rem;\\n margin-bottom: 0;\\n font-size: 1rem;\\n background-color: #f7f7f7;\\n border-bottom: 1px solid #ebebeb;\\n border-top-left-radius: calc(0.3rem - 1px);\\n border-top-right-radius: calc(0.3rem - 1px); }\\n .popover-header:empty {\\n display: none; }\\n\\n.popover-body {\\n padding: 0.5rem 0.75rem;\\n color: #212529; }\\n\\n@media print {\\n *,\\n *::before,\\n *::after {\\n text-shadow: none !important;\\n box-shadow: none !important; }\\n a:not(.btn) {\\n text-decoration: underline; }\\n abbr[title]::after {\\n content: \\\" (\\\" attr(title) \\\")\\\"; }\\n pre {\\n white-space: pre-wrap !important; }\\n pre,\\n blockquote {\\n border: 1px solid #adb5bd;\\n page-break-inside: avoid; }\\n thead {\\n display: table-header-group; }\\n tr,\\n img {\\n page-break-inside: avoid; }\\n p,\\n h2,\\n h3 {\\n orphans: 3;\\n widows: 3; }\\n h2,\\n h3 {\\n page-break-after: avoid; }\\n @page {\\n size: a3; }\\n body {\\n min-width: 992px !important; }\\n .container {\\n min-width: 992px !important; }\\n .navbar {\\n display: none; }\\n .badge {\\n border: 1px solid #000; }\\n .table {\\n border-collapse: collapse !important; }\\n .table td,\\n .table th {\\n background-color: #fff !important; }\\n .table-bordered th,\\n .table-bordered td {\\n border: 1px solid #dee2e6 !important; }\\n .table-dark {\\n color: inherit; }\\n .table-dark th,\\n .table-dark td,\\n .table-dark thead th,\\n .table-dark tbody + tbody {\\n border-color: #dee2e6; }\\n .table .thead-dark th {\\n color: inherit;\\n border-color: #dee2e6; } }\\n\\n@keyframes progress-bar-stripes {\\n from {\\n background-position: 1rem 0; }\\n to {\\n background-position: 0 0; } }\\n\\n.progress {\\n display: flex;\\n height: 1rem;\\n overflow: hidden;\\n line-height: 0;\\n font-size: 0.75rem;\\n background-color: #e9ecef;\\n border-radius: 0.25rem; }\\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: #007bff;\\n transition: width 0.6s ease; }\\n @media (prefers-reduced-motion: reduce) {\\n .progress-bar {\\n transition: none; } }\\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.progress-bar-animated {\\n animation: progress-bar-stripes 1s linear infinite; }\\n @media (prefers-reduced-motion: reduce) {\\n .progress-bar-animated {\\n animation: none; } }\\n\\n@keyframes spinner-border {\\n to {\\n transform: rotate(360deg); } }\\n\\n.spinner-border {\\n display: inline-block;\\n width: 2rem;\\n height: 2rem;\\n vertical-align: text-bottom;\\n border: 0.25em solid currentColor;\\n border-right-color: transparent;\\n border-radius: 50%;\\n animation: spinner-border .75s linear infinite; }\\n\\n.spinner-border-sm {\\n width: 1rem;\\n height: 1rem;\\n border-width: 0.2em; }\\n\\n@keyframes spinner-grow {\\n 0% {\\n transform: scale(0); }\\n 50% {\\n opacity: 1;\\n transform: none; } }\\n\\n.spinner-grow {\\n display: inline-block;\\n width: 2rem;\\n height: 2rem;\\n vertical-align: text-bottom;\\n background-color: currentColor;\\n border-radius: 50%;\\n opacity: 0;\\n animation: spinner-grow .75s linear infinite; }\\n\\n.spinner-grow-sm {\\n width: 1rem;\\n height: 1rem; }\\n\\n.table {\\n width: 100%;\\n margin-bottom: 1rem;\\n color: #212529; }\\n .table th,\\n .table td {\\n padding: 0.75rem;\\n vertical-align: top;\\n border-top: 1px solid #dee2e6; }\\n .table thead th {\\n vertical-align: bottom;\\n border-bottom: 2px solid #dee2e6; }\\n .table tbody + tbody {\\n border-top: 2px solid #dee2e6; }\\n\\n.table-sm th,\\n.table-sm td {\\n padding: 0.3rem; }\\n\\n.table-bordered {\\n border: 1px solid #dee2e6; }\\n .table-bordered th,\\n .table-bordered td {\\n border: 1px solid #dee2e6; }\\n .table-bordered thead th,\\n .table-bordered thead td {\\n border-bottom-width: 2px; }\\n\\n.table-borderless th,\\n.table-borderless td,\\n.table-borderless thead th,\\n.table-borderless tbody + tbody {\\n border: 0; }\\n\\n.table-striped tbody tr:nth-of-type(odd) {\\n background-color: rgba(0, 0, 0, 0.05); }\\n\\n.table-hover tbody tr:hover {\\n color: #212529;\\n background-color: rgba(0, 0, 0, 0.075); }\\n\\n.table-primary,\\n.table-primary > th,\\n.table-primary > td {\\n background-color: #b8daff; }\\n\\n.table-primary th,\\n.table-primary td,\\n.table-primary thead th,\\n.table-primary tbody + tbody {\\n border-color: #7abaff; }\\n\\n.table-hover .table-primary:hover {\\n background-color: #9fcdff; }\\n .table-hover .table-primary:hover > td,\\n .table-hover .table-primary:hover > th {\\n background-color: #9fcdff; }\\n\\n.table-secondary,\\n.table-secondary > th,\\n.table-secondary > td {\\n background-color: #d6d8db; }\\n\\n.table-secondary th,\\n.table-secondary td,\\n.table-secondary thead th,\\n.table-secondary tbody + tbody {\\n border-color: #b3b7bb; }\\n\\n.table-hover .table-secondary:hover {\\n background-color: #c8cbcf; }\\n .table-hover .table-secondary:hover > td,\\n .table-hover .table-secondary:hover > th {\\n background-color: #c8cbcf; }\\n\\n.table-success,\\n.table-success > th,\\n.table-success > td {\\n background-color: #c3e6cb; }\\n\\n.table-success th,\\n.table-success td,\\n.table-success thead th,\\n.table-success tbody + tbody {\\n border-color: #8fd19e; }\\n\\n.table-hover .table-success:hover {\\n background-color: #b1dfbb; }\\n .table-hover .table-success:hover > td,\\n .table-hover .table-success:hover > th {\\n background-color: #b1dfbb; }\\n\\n.table-info,\\n.table-info > th,\\n.table-info > td {\\n background-color: #bee5eb; }\\n\\n.table-info th,\\n.table-info td,\\n.table-info thead th,\\n.table-info tbody + tbody {\\n border-color: #86cfda; }\\n\\n.table-hover .table-info:hover {\\n background-color: #abdde5; }\\n .table-hover .table-info:hover > td,\\n .table-hover .table-info:hover > th {\\n background-color: #abdde5; }\\n\\n.table-warning,\\n.table-warning > th,\\n.table-warning > td {\\n background-color: #ffeeba; }\\n\\n.table-warning th,\\n.table-warning td,\\n.table-warning thead th,\\n.table-warning tbody + tbody {\\n border-color: #ffdf7e; }\\n\\n.table-hover .table-warning:hover {\\n background-color: #ffe8a1; }\\n .table-hover .table-warning:hover > td,\\n .table-hover .table-warning:hover > th {\\n background-color: #ffe8a1; }\\n\\n.table-danger,\\n.table-danger > th,\\n.table-danger > td {\\n background-color: #f5c6cb; }\\n\\n.table-danger th,\\n.table-danger td,\\n.table-danger thead th,\\n.table-danger tbody + tbody {\\n border-color: #ed969e; }\\n\\n.table-hover .table-danger:hover {\\n background-color: #f1b0b7; }\\n .table-hover .table-danger:hover > td,\\n .table-hover .table-danger:hover > th {\\n background-color: #f1b0b7; }\\n\\n.table-light,\\n.table-light > th,\\n.table-light > td {\\n background-color: #fdfdfe; }\\n\\n.table-light th,\\n.table-light td,\\n.table-light thead th,\\n.table-light tbody + tbody {\\n border-color: #fbfcfc; }\\n\\n.table-hover .table-light:hover {\\n background-color: #ececf6; }\\n .table-hover .table-light:hover > td,\\n .table-hover .table-light:hover > th {\\n background-color: #ececf6; }\\n\\n.table-dark,\\n.table-dark > th,\\n.table-dark > td {\\n background-color: #c6c8ca; }\\n\\n.table-dark th,\\n.table-dark td,\\n.table-dark thead th,\\n.table-dark tbody + tbody {\\n border-color: #95999c; }\\n\\n.table-hover .table-dark:hover {\\n background-color: #b9bbbe; }\\n .table-hover .table-dark:hover > td,\\n .table-hover .table-dark:hover > th {\\n background-color: #b9bbbe; }\\n\\n.table-active,\\n.table-active > th,\\n.table-active > td {\\n background-color: rgba(0, 0, 0, 0.075); }\\n\\n.table-hover .table-active:hover {\\n background-color: rgba(0, 0, 0, 0.075); }\\n .table-hover .table-active:hover > td,\\n .table-hover .table-active:hover > th {\\n background-color: rgba(0, 0, 0, 0.075); }\\n\\n.table .thead-dark th {\\n color: #fff;\\n background-color: #343a40;\\n border-color: #454d55; }\\n\\n.table .thead-light th {\\n color: #495057;\\n background-color: #e9ecef;\\n border-color: #dee2e6; }\\n\\n.table-dark {\\n color: #fff;\\n background-color: #343a40; }\\n .table-dark th,\\n .table-dark td,\\n .table-dark thead th {\\n border-color: #454d55; }\\n .table-dark.table-bordered {\\n border: 0; }\\n .table-dark.table-striped tbody tr:nth-of-type(odd) {\\n background-color: rgba(255, 255, 255, 0.05); }\\n .table-dark.table-hover tbody tr:hover {\\n color: #fff;\\n background-color: rgba(255, 255, 255, 0.075); }\\n\\n@media (max-width: 575.98px) {\\n .table-responsive-sm {\\n display: block;\\n width: 100%;\\n overflow-x: auto;\\n -webkit-overflow-scrolling: touch; }\\n .table-responsive-sm > .table-bordered {\\n border: 0; } }\\n\\n@media (max-width: 767.98px) {\\n .table-responsive-md {\\n display: block;\\n width: 100%;\\n overflow-x: auto;\\n -webkit-overflow-scrolling: touch; }\\n .table-responsive-md > .table-bordered {\\n border: 0; } }\\n\\n@media (max-width: 991.98px) {\\n .table-responsive-lg {\\n display: block;\\n width: 100%;\\n overflow-x: auto;\\n -webkit-overflow-scrolling: touch; }\\n .table-responsive-lg > .table-bordered {\\n border: 0; } }\\n\\n@media (max-width: 1199.98px) {\\n .table-responsive-xl {\\n display: block;\\n width: 100%;\\n overflow-x: auto;\\n -webkit-overflow-scrolling: touch; }\\n .table-responsive-xl > .table-bordered {\\n border: 0; } }\\n\\n.table-responsive {\\n display: block;\\n width: 100%;\\n overflow-x: auto;\\n -webkit-overflow-scrolling: touch; }\\n .table-responsive > .table-bordered {\\n border: 0; }\\n\\n.toast {\\n max-width: 350px;\\n overflow: hidden;\\n font-size: 0.875rem;\\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.25rem 0.75rem rgba(0, 0, 0, 0.1);\\n backdrop-filter: blur(10px);\\n opacity: 0;\\n border-radius: 0.25rem; }\\n .toast:not(:last-child) {\\n margin-bottom: 0.75rem; }\\n .toast.showing {\\n opacity: 1; }\\n .toast.show {\\n display: block;\\n opacity: 1; }\\n .toast.hide {\\n display: none; }\\n\\n.toast-header {\\n display: flex;\\n align-items: center;\\n padding: 0.25rem 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\\n.toast-body {\\n padding: 0.75rem; }\\n\\n.tooltip {\\n position: absolute;\\n z-index: 1070;\\n display: block;\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\";\\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 .tooltip.show {\\n opacity: 0.9; }\\n .tooltip .arrow {\\n position: absolute;\\n display: block;\\n width: 0.8rem;\\n height: 0.4rem; }\\n .tooltip .arrow::before {\\n position: absolute;\\n content: \\\"\\\";\\n border-color: transparent;\\n border-style: solid; }\\n\\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\\\"top\\\"] {\\n padding: 0.4rem 0; }\\n .bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\\\"top\\\"] .arrow {\\n bottom: 0; }\\n .bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\\\"top\\\"] .arrow::before {\\n top: 0;\\n border-width: 0.4rem 0.4rem 0;\\n border-top-color: #000; }\\n\\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\\\"right\\\"] {\\n padding: 0 0.4rem; }\\n .bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\\\"right\\\"] .arrow {\\n left: 0;\\n width: 0.4rem;\\n height: 0.8rem; }\\n .bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\\\"right\\\"] .arrow::before {\\n right: 0;\\n border-width: 0.4rem 0.4rem 0.4rem 0;\\n border-right-color: #000; }\\n\\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\\\"bottom\\\"] {\\n padding: 0.4rem 0; }\\n .bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\\\"bottom\\\"] .arrow {\\n top: 0; }\\n .bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\\\"bottom\\\"] .arrow::before {\\n bottom: 0;\\n border-width: 0 0.4rem 0.4rem;\\n border-bottom-color: #000; }\\n\\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\\\"left\\\"] {\\n padding: 0 0.4rem; }\\n .bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\\\"left\\\"] .arrow {\\n right: 0;\\n width: 0.4rem;\\n height: 0.8rem; }\\n .bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\\\"left\\\"] .arrow::before {\\n left: 0;\\n border-width: 0.4rem 0 0.4rem 0.4rem;\\n border-left-color: #000; }\\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.fade {\\n transition: opacity 0.15s linear; }\\n @media (prefers-reduced-motion: reduce) {\\n .fade {\\n transition: none; } }\\n .fade:not(.show) {\\n opacity: 0; }\\n\\n.collapse:not(.show) {\\n display: none; }\\n\\n.collapsing {\\n position: relative;\\n height: 0;\\n overflow: hidden;\\n transition: height 0.35s ease; }\\n @media (prefers-reduced-motion: reduce) {\\n .collapsing {\\n transition: none; } }\\n\\n.align-baseline {\\n vertical-align: baseline !important; }\\n\\n.align-top {\\n vertical-align: top !important; }\\n\\n.align-middle {\\n vertical-align: middle !important; }\\n\\n.align-bottom {\\n vertical-align: bottom !important; }\\n\\n.align-text-bottom {\\n vertical-align: text-bottom !important; }\\n\\n.align-text-top {\\n vertical-align: text-top !important; }\\n\\n.bg-primary {\\n background-color: #007bff !important; }\\n\\na.bg-primary:hover, a.bg-primary:focus,\\nbutton.bg-primary:hover,\\nbutton.bg-primary:focus {\\n background-color: #0062cc !important; }\\n\\n.bg-secondary {\\n background-color: #6c757d !important; }\\n\\na.bg-secondary:hover, a.bg-secondary:focus,\\nbutton.bg-secondary:hover,\\nbutton.bg-secondary:focus {\\n background-color: #545b62 !important; }\\n\\n.bg-success {\\n background-color: #28a745 !important; }\\n\\na.bg-success:hover, a.bg-success:focus,\\nbutton.bg-success:hover,\\nbutton.bg-success:focus {\\n background-color: #1e7e34 !important; }\\n\\n.bg-info {\\n background-color: #17a2b8 !important; }\\n\\na.bg-info:hover, a.bg-info:focus,\\nbutton.bg-info:hover,\\nbutton.bg-info:focus {\\n background-color: #117a8b !important; }\\n\\n.bg-warning {\\n background-color: #ffc107 !important; }\\n\\na.bg-warning:hover, a.bg-warning:focus,\\nbutton.bg-warning:hover,\\nbutton.bg-warning:focus {\\n background-color: #d39e00 !important; }\\n\\n.bg-danger {\\n background-color: #dc3545 !important; }\\n\\na.bg-danger:hover, a.bg-danger:focus,\\nbutton.bg-danger:hover,\\nbutton.bg-danger:focus {\\n background-color: #bd2130 !important; }\\n\\n.bg-light {\\n background-color: #f8f9fa !important; }\\n\\na.bg-light:hover, a.bg-light:focus,\\nbutton.bg-light:hover,\\nbutton.bg-light:focus {\\n background-color: #dae0e5 !important; }\\n\\n.bg-dark {\\n background-color: #343a40 !important; }\\n\\na.bg-dark:hover, a.bg-dark:focus,\\nbutton.bg-dark:hover,\\nbutton.bg-dark:focus {\\n background-color: #1d2124 !important; }\\n\\n.bg-white {\\n background-color: #fff !important; }\\n\\n.bg-transparent {\\n background-color: transparent !important; }\\n\\n.border {\\n border: 1px solid #dee2e6 !important; }\\n\\n.border-top {\\n border-top: 1px solid #dee2e6 !important; }\\n\\n.border-right {\\n border-right: 1px solid #dee2e6 !important; }\\n\\n.border-bottom {\\n border-bottom: 1px solid #dee2e6 !important; }\\n\\n.border-left {\\n border-left: 1px solid #dee2e6 !important; }\\n\\n.border-0 {\\n border: 0 !important; }\\n\\n.border-top-0 {\\n border-top: 0 !important; }\\n\\n.border-right-0 {\\n border-right: 0 !important; }\\n\\n.border-bottom-0 {\\n border-bottom: 0 !important; }\\n\\n.border-left-0 {\\n border-left: 0 !important; }\\n\\n.border-primary {\\n border-color: #007bff !important; }\\n\\n.border-secondary {\\n border-color: #6c757d !important; }\\n\\n.border-success {\\n border-color: #28a745 !important; }\\n\\n.border-info {\\n border-color: #17a2b8 !important; }\\n\\n.border-warning {\\n border-color: #ffc107 !important; }\\n\\n.border-danger {\\n border-color: #dc3545 !important; }\\n\\n.border-light {\\n border-color: #f8f9fa !important; }\\n\\n.border-dark {\\n border-color: #343a40 !important; }\\n\\n.border-white {\\n border-color: #fff !important; }\\n\\n.rounded-sm {\\n border-radius: 0.2rem !important; }\\n\\n.rounded {\\n border-radius: 0.25rem !important; }\\n\\n.rounded-top {\\n border-top-left-radius: 0.25rem !important;\\n border-top-right-radius: 0.25rem !important; }\\n\\n.rounded-right {\\n border-top-right-radius: 0.25rem !important;\\n border-bottom-right-radius: 0.25rem !important; }\\n\\n.rounded-bottom {\\n border-bottom-right-radius: 0.25rem !important;\\n border-bottom-left-radius: 0.25rem !important; }\\n\\n.rounded-left {\\n border-top-left-radius: 0.25rem !important;\\n border-bottom-left-radius: 0.25rem !important; }\\n\\n.rounded-lg {\\n border-radius: 0.3rem !important; }\\n\\n.rounded-circle {\\n border-radius: 50% !important; }\\n\\n.rounded-pill {\\n border-radius: 50rem !important; }\\n\\n.rounded-0 {\\n border-radius: 0 !important; }\\n\\n.clearfix::after {\\n display: block;\\n clear: both;\\n content: \\\"\\\"; }\\n\\n.d-none {\\n display: none !important; }\\n\\n.d-inline {\\n display: inline !important; }\\n\\n.d-inline-block {\\n display: inline-block !important; }\\n\\n.d-block {\\n display: block !important; }\\n\\n.d-table {\\n display: table !important; }\\n\\n.d-table-row {\\n display: table-row !important; }\\n\\n.d-table-cell {\\n display: table-cell !important; }\\n\\n.d-flex {\\n display: flex !important; }\\n\\n.d-inline-flex {\\n display: inline-flex !important; }\\n\\n@media (min-width: 576px) {\\n .d-sm-none {\\n display: none !important; }\\n .d-sm-inline {\\n display: inline !important; }\\n .d-sm-inline-block {\\n display: inline-block !important; }\\n .d-sm-block {\\n display: block !important; }\\n .d-sm-table {\\n display: table !important; }\\n .d-sm-table-row {\\n display: table-row !important; }\\n .d-sm-table-cell {\\n display: table-cell !important; }\\n .d-sm-flex {\\n display: flex !important; }\\n .d-sm-inline-flex {\\n display: inline-flex !important; } }\\n\\n@media (min-width: 768px) {\\n .d-md-none {\\n display: none !important; }\\n .d-md-inline {\\n display: inline !important; }\\n .d-md-inline-block {\\n display: inline-block !important; }\\n .d-md-block {\\n display: block !important; }\\n .d-md-table {\\n display: table !important; }\\n .d-md-table-row {\\n display: table-row !important; }\\n .d-md-table-cell {\\n display: table-cell !important; }\\n .d-md-flex {\\n display: flex !important; }\\n .d-md-inline-flex {\\n display: inline-flex !important; } }\\n\\n@media (min-width: 992px) {\\n .d-lg-none {\\n display: none !important; }\\n .d-lg-inline {\\n display: inline !important; }\\n .d-lg-inline-block {\\n display: inline-block !important; }\\n .d-lg-block {\\n display: block !important; }\\n .d-lg-table {\\n display: table !important; }\\n .d-lg-table-row {\\n display: table-row !important; }\\n .d-lg-table-cell {\\n display: table-cell !important; }\\n .d-lg-flex {\\n display: flex !important; }\\n .d-lg-inline-flex {\\n display: inline-flex !important; } }\\n\\n@media (min-width: 1200px) {\\n .d-xl-none {\\n display: none !important; }\\n .d-xl-inline {\\n display: inline !important; }\\n .d-xl-inline-block {\\n display: inline-block !important; }\\n .d-xl-block {\\n display: block !important; }\\n .d-xl-table {\\n display: table !important; }\\n .d-xl-table-row {\\n display: table-row !important; }\\n .d-xl-table-cell {\\n display: table-cell !important; }\\n .d-xl-flex {\\n display: flex !important; }\\n .d-xl-inline-flex {\\n display: inline-flex !important; } }\\n\\n@media print {\\n .d-print-none {\\n display: none !important; }\\n .d-print-inline {\\n display: inline !important; }\\n .d-print-inline-block {\\n display: inline-block !important; }\\n .d-print-block {\\n display: block !important; }\\n .d-print-table {\\n display: table !important; }\\n .d-print-table-row {\\n display: table-row !important; }\\n .d-print-table-cell {\\n display: table-cell !important; }\\n .d-print-flex {\\n display: flex !important; }\\n .d-print-inline-flex {\\n display: inline-flex !important; } }\\n\\n.embed-responsive {\\n position: relative;\\n display: block;\\n width: 100%;\\n padding: 0;\\n overflow: hidden; }\\n .embed-responsive::before {\\n display: block;\\n content: \\\"\\\"; }\\n .embed-responsive .embed-responsive-item,\\n .embed-responsive iframe,\\n .embed-responsive embed,\\n .embed-responsive object,\\n .embed-responsive video {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n border: 0; }\\n\\n.embed-responsive-21by9::before {\\n padding-top: 42.85714%; }\\n\\n.embed-responsive-16by9::before {\\n padding-top: 56.25%; }\\n\\n.embed-responsive-4by3::before {\\n padding-top: 75%; }\\n\\n.embed-responsive-1by1::before {\\n padding-top: 100%; }\\n\\n.flex-row {\\n flex-direction: row !important; }\\n\\n.flex-column {\\n flex-direction: column !important; }\\n\\n.flex-row-reverse {\\n flex-direction: row-reverse !important; }\\n\\n.flex-column-reverse {\\n flex-direction: column-reverse !important; }\\n\\n.flex-wrap {\\n flex-wrap: wrap !important; }\\n\\n.flex-nowrap {\\n flex-wrap: nowrap !important; }\\n\\n.flex-wrap-reverse {\\n flex-wrap: wrap-reverse !important; }\\n\\n.flex-fill {\\n flex: 1 1 auto !important; }\\n\\n.flex-grow-0 {\\n flex-grow: 0 !important; }\\n\\n.flex-grow-1 {\\n flex-grow: 1 !important; }\\n\\n.flex-shrink-0 {\\n flex-shrink: 0 !important; }\\n\\n.flex-shrink-1 {\\n flex-shrink: 1 !important; }\\n\\n.justify-content-start {\\n justify-content: flex-start !important; }\\n\\n.justify-content-end {\\n justify-content: flex-end !important; }\\n\\n.justify-content-center {\\n justify-content: center !important; }\\n\\n.justify-content-between {\\n justify-content: space-between !important; }\\n\\n.justify-content-around {\\n justify-content: space-around !important; }\\n\\n.align-items-start {\\n align-items: flex-start !important; }\\n\\n.align-items-end {\\n align-items: flex-end !important; }\\n\\n.align-items-center {\\n align-items: center !important; }\\n\\n.align-items-baseline {\\n align-items: baseline !important; }\\n\\n.align-items-stretch {\\n align-items: stretch !important; }\\n\\n.align-content-start {\\n align-content: flex-start !important; }\\n\\n.align-content-end {\\n align-content: flex-end !important; }\\n\\n.align-content-center {\\n align-content: center !important; }\\n\\n.align-content-between {\\n align-content: space-between !important; }\\n\\n.align-content-around {\\n align-content: space-around !important; }\\n\\n.align-content-stretch {\\n align-content: stretch !important; }\\n\\n.align-self-auto {\\n align-self: auto !important; }\\n\\n.align-self-start {\\n align-self: flex-start !important; }\\n\\n.align-self-end {\\n align-self: flex-end !important; }\\n\\n.align-self-center {\\n align-self: center !important; }\\n\\n.align-self-baseline {\\n align-self: baseline !important; }\\n\\n.align-self-stretch {\\n align-self: stretch !important; }\\n\\n@media (min-width: 576px) {\\n .flex-sm-row {\\n flex-direction: row !important; }\\n .flex-sm-column {\\n flex-direction: column !important; }\\n .flex-sm-row-reverse {\\n flex-direction: row-reverse !important; }\\n .flex-sm-column-reverse {\\n flex-direction: column-reverse !important; }\\n .flex-sm-wrap {\\n flex-wrap: wrap !important; }\\n .flex-sm-nowrap {\\n flex-wrap: nowrap !important; }\\n .flex-sm-wrap-reverse {\\n flex-wrap: wrap-reverse !important; }\\n .flex-sm-fill {\\n flex: 1 1 auto !important; }\\n .flex-sm-grow-0 {\\n flex-grow: 0 !important; }\\n .flex-sm-grow-1 {\\n flex-grow: 1 !important; }\\n .flex-sm-shrink-0 {\\n flex-shrink: 0 !important; }\\n .flex-sm-shrink-1 {\\n flex-shrink: 1 !important; }\\n .justify-content-sm-start {\\n justify-content: flex-start !important; }\\n .justify-content-sm-end {\\n justify-content: flex-end !important; }\\n .justify-content-sm-center {\\n justify-content: center !important; }\\n .justify-content-sm-between {\\n justify-content: space-between !important; }\\n .justify-content-sm-around {\\n justify-content: space-around !important; }\\n .align-items-sm-start {\\n align-items: flex-start !important; }\\n .align-items-sm-end {\\n align-items: flex-end !important; }\\n .align-items-sm-center {\\n align-items: center !important; }\\n .align-items-sm-baseline {\\n align-items: baseline !important; }\\n .align-items-sm-stretch {\\n align-items: stretch !important; }\\n .align-content-sm-start {\\n align-content: flex-start !important; }\\n .align-content-sm-end {\\n align-content: flex-end !important; }\\n .align-content-sm-center {\\n align-content: center !important; }\\n .align-content-sm-between {\\n align-content: space-between !important; }\\n .align-content-sm-around {\\n align-content: space-around !important; }\\n .align-content-sm-stretch {\\n align-content: stretch !important; }\\n .align-self-sm-auto {\\n align-self: auto !important; }\\n .align-self-sm-start {\\n align-self: flex-start !important; }\\n .align-self-sm-end {\\n align-self: flex-end !important; }\\n .align-self-sm-center {\\n align-self: center !important; }\\n .align-self-sm-baseline {\\n align-self: baseline !important; }\\n .align-self-sm-stretch {\\n align-self: stretch !important; } }\\n\\n@media (min-width: 768px) {\\n .flex-md-row {\\n flex-direction: row !important; }\\n .flex-md-column {\\n flex-direction: column !important; }\\n .flex-md-row-reverse {\\n flex-direction: row-reverse !important; }\\n .flex-md-column-reverse {\\n flex-direction: column-reverse !important; }\\n .flex-md-wrap {\\n flex-wrap: wrap !important; }\\n .flex-md-nowrap {\\n flex-wrap: nowrap !important; }\\n .flex-md-wrap-reverse {\\n flex-wrap: wrap-reverse !important; }\\n .flex-md-fill {\\n flex: 1 1 auto !important; }\\n .flex-md-grow-0 {\\n flex-grow: 0 !important; }\\n .flex-md-grow-1 {\\n flex-grow: 1 !important; }\\n .flex-md-shrink-0 {\\n flex-shrink: 0 !important; }\\n .flex-md-shrink-1 {\\n flex-shrink: 1 !important; }\\n .justify-content-md-start {\\n justify-content: flex-start !important; }\\n .justify-content-md-end {\\n justify-content: flex-end !important; }\\n .justify-content-md-center {\\n justify-content: center !important; }\\n .justify-content-md-between {\\n justify-content: space-between !important; }\\n .justify-content-md-around {\\n justify-content: space-around !important; }\\n .align-items-md-start {\\n align-items: flex-start !important; }\\n .align-items-md-end {\\n align-items: flex-end !important; }\\n .align-items-md-center {\\n align-items: center !important; }\\n .align-items-md-baseline {\\n align-items: baseline !important; }\\n .align-items-md-stretch {\\n align-items: stretch !important; }\\n .align-content-md-start {\\n align-content: flex-start !important; }\\n .align-content-md-end {\\n align-content: flex-end !important; }\\n .align-content-md-center {\\n align-content: center !important; }\\n .align-content-md-between {\\n align-content: space-between !important; }\\n .align-content-md-around {\\n align-content: space-around !important; }\\n .align-content-md-stretch {\\n align-content: stretch !important; }\\n .align-self-md-auto {\\n align-self: auto !important; }\\n .align-self-md-start {\\n align-self: flex-start !important; }\\n .align-self-md-end {\\n align-self: flex-end !important; }\\n .align-self-md-center {\\n align-self: center !important; }\\n .align-self-md-baseline {\\n align-self: baseline !important; }\\n .align-self-md-stretch {\\n align-self: stretch !important; } }\\n\\n@media (min-width: 992px) {\\n .flex-lg-row {\\n flex-direction: row !important; }\\n .flex-lg-column {\\n flex-direction: column !important; }\\n .flex-lg-row-reverse {\\n flex-direction: row-reverse !important; }\\n .flex-lg-column-reverse {\\n flex-direction: column-reverse !important; }\\n .flex-lg-wrap {\\n flex-wrap: wrap !important; }\\n .flex-lg-nowrap {\\n flex-wrap: nowrap !important; }\\n .flex-lg-wrap-reverse {\\n flex-wrap: wrap-reverse !important; }\\n .flex-lg-fill {\\n flex: 1 1 auto !important; }\\n .flex-lg-grow-0 {\\n flex-grow: 0 !important; }\\n .flex-lg-grow-1 {\\n flex-grow: 1 !important; }\\n .flex-lg-shrink-0 {\\n flex-shrink: 0 !important; }\\n .flex-lg-shrink-1 {\\n flex-shrink: 1 !important; }\\n .justify-content-lg-start {\\n justify-content: flex-start !important; }\\n .justify-content-lg-end {\\n justify-content: flex-end !important; }\\n .justify-content-lg-center {\\n justify-content: center !important; }\\n .justify-content-lg-between {\\n justify-content: space-between !important; }\\n .justify-content-lg-around {\\n justify-content: space-around !important; }\\n .align-items-lg-start {\\n align-items: flex-start !important; }\\n .align-items-lg-end {\\n align-items: flex-end !important; }\\n .align-items-lg-center {\\n align-items: center !important; }\\n .align-items-lg-baseline {\\n align-items: baseline !important; }\\n .align-items-lg-stretch {\\n align-items: stretch !important; }\\n .align-content-lg-start {\\n align-content: flex-start !important; }\\n .align-content-lg-end {\\n align-content: flex-end !important; }\\n .align-content-lg-center {\\n align-content: center !important; }\\n .align-content-lg-between {\\n align-content: space-between !important; }\\n .align-content-lg-around {\\n align-content: space-around !important; }\\n .align-content-lg-stretch {\\n align-content: stretch !important; }\\n .align-self-lg-auto {\\n align-self: auto !important; }\\n .align-self-lg-start {\\n align-self: flex-start !important; }\\n .align-self-lg-end {\\n align-self: flex-end !important; }\\n .align-self-lg-center {\\n align-self: center !important; }\\n .align-self-lg-baseline {\\n align-self: baseline !important; }\\n .align-self-lg-stretch {\\n align-self: stretch !important; } }\\n\\n@media (min-width: 1200px) {\\n .flex-xl-row {\\n flex-direction: row !important; }\\n .flex-xl-column {\\n flex-direction: column !important; }\\n .flex-xl-row-reverse {\\n flex-direction: row-reverse !important; }\\n .flex-xl-column-reverse {\\n flex-direction: column-reverse !important; }\\n .flex-xl-wrap {\\n flex-wrap: wrap !important; }\\n .flex-xl-nowrap {\\n flex-wrap: nowrap !important; }\\n .flex-xl-wrap-reverse {\\n flex-wrap: wrap-reverse !important; }\\n .flex-xl-fill {\\n flex: 1 1 auto !important; }\\n .flex-xl-grow-0 {\\n flex-grow: 0 !important; }\\n .flex-xl-grow-1 {\\n flex-grow: 1 !important; }\\n .flex-xl-shrink-0 {\\n flex-shrink: 0 !important; }\\n .flex-xl-shrink-1 {\\n flex-shrink: 1 !important; }\\n .justify-content-xl-start {\\n justify-content: flex-start !important; }\\n .justify-content-xl-end {\\n justify-content: flex-end !important; }\\n .justify-content-xl-center {\\n justify-content: center !important; }\\n .justify-content-xl-between {\\n justify-content: space-between !important; }\\n .justify-content-xl-around {\\n justify-content: space-around !important; }\\n .align-items-xl-start {\\n align-items: flex-start !important; }\\n .align-items-xl-end {\\n align-items: flex-end !important; }\\n .align-items-xl-center {\\n align-items: center !important; }\\n .align-items-xl-baseline {\\n align-items: baseline !important; }\\n .align-items-xl-stretch {\\n align-items: stretch !important; }\\n .align-content-xl-start {\\n align-content: flex-start !important; }\\n .align-content-xl-end {\\n align-content: flex-end !important; }\\n .align-content-xl-center {\\n align-content: center !important; }\\n .align-content-xl-between {\\n align-content: space-between !important; }\\n .align-content-xl-around {\\n align-content: space-around !important; }\\n .align-content-xl-stretch {\\n align-content: stretch !important; }\\n .align-self-xl-auto {\\n align-self: auto !important; }\\n .align-self-xl-start {\\n align-self: flex-start !important; }\\n .align-self-xl-end {\\n align-self: flex-end !important; }\\n .align-self-xl-center {\\n align-self: center !important; }\\n .align-self-xl-baseline {\\n align-self: baseline !important; }\\n .align-self-xl-stretch {\\n align-self: stretch !important; } }\\n\\n.float-left {\\n float: left !important; }\\n\\n.float-right {\\n float: right !important; }\\n\\n.float-none {\\n float: none !important; }\\n\\n@media (min-width: 576px) {\\n .float-sm-left {\\n float: left !important; }\\n .float-sm-right {\\n float: right !important; }\\n .float-sm-none {\\n float: none !important; } }\\n\\n@media (min-width: 768px) {\\n .float-md-left {\\n float: left !important; }\\n .float-md-right {\\n float: right !important; }\\n .float-md-none {\\n float: none !important; } }\\n\\n@media (min-width: 992px) {\\n .float-lg-left {\\n float: left !important; }\\n .float-lg-right {\\n float: right !important; }\\n .float-lg-none {\\n float: none !important; } }\\n\\n@media (min-width: 1200px) {\\n .float-xl-left {\\n float: left !important; }\\n .float-xl-right {\\n float: right !important; }\\n .float-xl-none {\\n float: none !important; } }\\n\\n.user-select-all {\\n user-select: all !important; }\\n\\n.user-select-auto {\\n user-select: auto !important; }\\n\\n.user-select-none {\\n user-select: none !important; }\\n\\n.overflow-auto {\\n overflow: auto !important; }\\n\\n.overflow-hidden {\\n overflow: hidden !important; }\\n\\n.position-static {\\n position: static !important; }\\n\\n.position-relative {\\n position: relative !important; }\\n\\n.position-absolute {\\n position: absolute !important; }\\n\\n.position-fixed {\\n position: fixed !important; }\\n\\n.position-sticky {\\n position: sticky !important; }\\n\\n.fixed-top {\\n position: fixed;\\n top: 0;\\n right: 0;\\n left: 0;\\n z-index: 1030; }\\n\\n.fixed-bottom {\\n position: fixed;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n z-index: 1030; }\\n\\n@supports (position: sticky) {\\n .sticky-top {\\n position: sticky;\\n top: 0;\\n z-index: 1020; } }\\n\\n.sr-only {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0; }\\n\\n.sr-only-focusable:active, .sr-only-focusable:focus {\\n position: static;\\n width: auto;\\n height: auto;\\n overflow: visible;\\n clip: auto;\\n white-space: normal; }\\n\\n.shadow-sm {\\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; }\\n\\n.shadow {\\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; }\\n\\n.shadow-lg {\\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; }\\n\\n.shadow-none {\\n box-shadow: none !important; }\\n\\n.w-25 {\\n width: 25% !important; }\\n\\n.w-50 {\\n width: 50% !important; }\\n\\n.w-75 {\\n width: 75% !important; }\\n\\n.w-100 {\\n width: 100% !important; }\\n\\n.w-auto {\\n width: auto !important; }\\n\\n.h-25 {\\n height: 25% !important; }\\n\\n.h-50 {\\n height: 50% !important; }\\n\\n.h-75 {\\n height: 75% !important; }\\n\\n.h-100 {\\n height: 100% !important; }\\n\\n.h-auto {\\n height: auto !important; }\\n\\n.mw-100 {\\n max-width: 100% !important; }\\n\\n.mh-100 {\\n max-height: 100% !important; }\\n\\n.min-vw-100 {\\n min-width: 100vw !important; }\\n\\n.min-vh-100 {\\n min-height: 100vh !important; }\\n\\n.vw-100 {\\n width: 100vw !important; }\\n\\n.vh-100 {\\n height: 100vh !important; }\\n\\n.m-0 {\\n margin: 0 !important; }\\n\\n.mt-0,\\n.my-0 {\\n margin-top: 0 !important; }\\n\\n.mr-0,\\n.mx-0 {\\n margin-right: 0 !important; }\\n\\n.mb-0,\\n.my-0 {\\n margin-bottom: 0 !important; }\\n\\n.ml-0,\\n.mx-0 {\\n margin-left: 0 !important; }\\n\\n.m-1 {\\n margin: 0.25rem !important; }\\n\\n.mt-1,\\n.my-1 {\\n margin-top: 0.25rem !important; }\\n\\n.mr-1,\\n.mx-1 {\\n margin-right: 0.25rem !important; }\\n\\n.mb-1,\\n.my-1 {\\n margin-bottom: 0.25rem !important; }\\n\\n.ml-1,\\n.mx-1 {\\n margin-left: 0.25rem !important; }\\n\\n.m-2 {\\n margin: 0.5rem !important; }\\n\\n.mt-2,\\n.my-2 {\\n margin-top: 0.5rem !important; }\\n\\n.mr-2,\\n.mx-2 {\\n margin-right: 0.5rem !important; }\\n\\n.mb-2,\\n.my-2 {\\n margin-bottom: 0.5rem !important; }\\n\\n.ml-2,\\n.mx-2 {\\n margin-left: 0.5rem !important; }\\n\\n.m-3 {\\n margin: 1rem !important; }\\n\\n.mt-3,\\n.my-3 {\\n margin-top: 1rem !important; }\\n\\n.mr-3,\\n.mx-3 {\\n margin-right: 1rem !important; }\\n\\n.mb-3,\\n.my-3 {\\n margin-bottom: 1rem !important; }\\n\\n.ml-3,\\n.mx-3 {\\n margin-left: 1rem !important; }\\n\\n.m-4 {\\n margin: 1.5rem !important; }\\n\\n.mt-4,\\n.my-4 {\\n margin-top: 1.5rem !important; }\\n\\n.mr-4,\\n.mx-4 {\\n margin-right: 1.5rem !important; }\\n\\n.mb-4,\\n.my-4 {\\n margin-bottom: 1.5rem !important; }\\n\\n.ml-4,\\n.mx-4 {\\n margin-left: 1.5rem !important; }\\n\\n.m-5 {\\n margin: 3rem !important; }\\n\\n.mt-5,\\n.my-5 {\\n margin-top: 3rem !important; }\\n\\n.mr-5,\\n.mx-5 {\\n margin-right: 3rem !important; }\\n\\n.mb-5,\\n.my-5 {\\n margin-bottom: 3rem !important; }\\n\\n.ml-5,\\n.mx-5 {\\n margin-left: 3rem !important; }\\n\\n.p-0 {\\n padding: 0 !important; }\\n\\n.pt-0,\\n.py-0 {\\n padding-top: 0 !important; }\\n\\n.pr-0,\\n.px-0 {\\n padding-right: 0 !important; }\\n\\n.pb-0,\\n.py-0 {\\n padding-bottom: 0 !important; }\\n\\n.pl-0,\\n.px-0 {\\n padding-left: 0 !important; }\\n\\n.p-1 {\\n padding: 0.25rem !important; }\\n\\n.pt-1,\\n.py-1 {\\n padding-top: 0.25rem !important; }\\n\\n.pr-1,\\n.px-1 {\\n padding-right: 0.25rem !important; }\\n\\n.pb-1,\\n.py-1 {\\n padding-bottom: 0.25rem !important; }\\n\\n.pl-1,\\n.px-1 {\\n padding-left: 0.25rem !important; }\\n\\n.p-2 {\\n padding: 0.5rem !important; }\\n\\n.pt-2,\\n.py-2 {\\n padding-top: 0.5rem !important; }\\n\\n.pr-2,\\n.px-2 {\\n padding-right: 0.5rem !important; }\\n\\n.pb-2,\\n.py-2 {\\n padding-bottom: 0.5rem !important; }\\n\\n.pl-2,\\n.px-2 {\\n padding-left: 0.5rem !important; }\\n\\n.p-3 {\\n padding: 1rem !important; }\\n\\n.pt-3,\\n.py-3 {\\n padding-top: 1rem !important; }\\n\\n.pr-3,\\n.px-3 {\\n padding-right: 1rem !important; }\\n\\n.pb-3,\\n.py-3 {\\n padding-bottom: 1rem !important; }\\n\\n.pl-3,\\n.px-3 {\\n padding-left: 1rem !important; }\\n\\n.p-4 {\\n padding: 1.5rem !important; }\\n\\n.pt-4,\\n.py-4 {\\n padding-top: 1.5rem !important; }\\n\\n.pr-4,\\n.px-4 {\\n padding-right: 1.5rem !important; }\\n\\n.pb-4,\\n.py-4 {\\n padding-bottom: 1.5rem !important; }\\n\\n.pl-4,\\n.px-4 {\\n padding-left: 1.5rem !important; }\\n\\n.p-5 {\\n padding: 3rem !important; }\\n\\n.pt-5,\\n.py-5 {\\n padding-top: 3rem !important; }\\n\\n.pr-5,\\n.px-5 {\\n padding-right: 3rem !important; }\\n\\n.pb-5,\\n.py-5 {\\n padding-bottom: 3rem !important; }\\n\\n.pl-5,\\n.px-5 {\\n padding-left: 3rem !important; }\\n\\n.m-n1 {\\n margin: -0.25rem !important; }\\n\\n.mt-n1,\\n.my-n1 {\\n margin-top: -0.25rem !important; }\\n\\n.mr-n1,\\n.mx-n1 {\\n margin-right: -0.25rem !important; }\\n\\n.mb-n1,\\n.my-n1 {\\n margin-bottom: -0.25rem !important; }\\n\\n.ml-n1,\\n.mx-n1 {\\n margin-left: -0.25rem !important; }\\n\\n.m-n2 {\\n margin: -0.5rem !important; }\\n\\n.mt-n2,\\n.my-n2 {\\n margin-top: -0.5rem !important; }\\n\\n.mr-n2,\\n.mx-n2 {\\n margin-right: -0.5rem !important; }\\n\\n.mb-n2,\\n.my-n2 {\\n margin-bottom: -0.5rem !important; }\\n\\n.ml-n2,\\n.mx-n2 {\\n margin-left: -0.5rem !important; }\\n\\n.m-n3 {\\n margin: -1rem !important; }\\n\\n.mt-n3,\\n.my-n3 {\\n margin-top: -1rem !important; }\\n\\n.mr-n3,\\n.mx-n3 {\\n margin-right: -1rem !important; }\\n\\n.mb-n3,\\n.my-n3 {\\n margin-bottom: -1rem !important; }\\n\\n.ml-n3,\\n.mx-n3 {\\n margin-left: -1rem !important; }\\n\\n.m-n4 {\\n margin: -1.5rem !important; }\\n\\n.mt-n4,\\n.my-n4 {\\n margin-top: -1.5rem !important; }\\n\\n.mr-n4,\\n.mx-n4 {\\n margin-right: -1.5rem !important; }\\n\\n.mb-n4,\\n.my-n4 {\\n margin-bottom: -1.5rem !important; }\\n\\n.ml-n4,\\n.mx-n4 {\\n margin-left: -1.5rem !important; }\\n\\n.m-n5 {\\n margin: -3rem !important; }\\n\\n.mt-n5,\\n.my-n5 {\\n margin-top: -3rem !important; }\\n\\n.mr-n5,\\n.mx-n5 {\\n margin-right: -3rem !important; }\\n\\n.mb-n5,\\n.my-n5 {\\n margin-bottom: -3rem !important; }\\n\\n.ml-n5,\\n.mx-n5 {\\n margin-left: -3rem !important; }\\n\\n.m-auto {\\n margin: auto !important; }\\n\\n.mt-auto,\\n.my-auto {\\n margin-top: auto !important; }\\n\\n.mr-auto,\\n.mx-auto {\\n margin-right: auto !important; }\\n\\n.mb-auto,\\n.my-auto {\\n margin-bottom: auto !important; }\\n\\n.ml-auto,\\n.mx-auto {\\n margin-left: auto !important; }\\n\\n@media (min-width: 576px) {\\n .m-sm-0 {\\n margin: 0 !important; }\\n .mt-sm-0,\\n .my-sm-0 {\\n margin-top: 0 !important; }\\n .mr-sm-0,\\n .mx-sm-0 {\\n margin-right: 0 !important; }\\n .mb-sm-0,\\n .my-sm-0 {\\n margin-bottom: 0 !important; }\\n .ml-sm-0,\\n .mx-sm-0 {\\n margin-left: 0 !important; }\\n .m-sm-1 {\\n margin: 0.25rem !important; }\\n .mt-sm-1,\\n .my-sm-1 {\\n margin-top: 0.25rem !important; }\\n .mr-sm-1,\\n .mx-sm-1 {\\n margin-right: 0.25rem !important; }\\n .mb-sm-1,\\n .my-sm-1 {\\n margin-bottom: 0.25rem !important; }\\n .ml-sm-1,\\n .mx-sm-1 {\\n margin-left: 0.25rem !important; }\\n .m-sm-2 {\\n margin: 0.5rem !important; }\\n .mt-sm-2,\\n .my-sm-2 {\\n margin-top: 0.5rem !important; }\\n .mr-sm-2,\\n .mx-sm-2 {\\n margin-right: 0.5rem !important; }\\n .mb-sm-2,\\n .my-sm-2 {\\n margin-bottom: 0.5rem !important; }\\n .ml-sm-2,\\n .mx-sm-2 {\\n margin-left: 0.5rem !important; }\\n .m-sm-3 {\\n margin: 1rem !important; }\\n .mt-sm-3,\\n .my-sm-3 {\\n margin-top: 1rem !important; }\\n .mr-sm-3,\\n .mx-sm-3 {\\n margin-right: 1rem !important; }\\n .mb-sm-3,\\n .my-sm-3 {\\n margin-bottom: 1rem !important; }\\n .ml-sm-3,\\n .mx-sm-3 {\\n margin-left: 1rem !important; }\\n .m-sm-4 {\\n margin: 1.5rem !important; }\\n .mt-sm-4,\\n .my-sm-4 {\\n margin-top: 1.5rem !important; }\\n .mr-sm-4,\\n .mx-sm-4 {\\n margin-right: 1.5rem !important; }\\n .mb-sm-4,\\n .my-sm-4 {\\n margin-bottom: 1.5rem !important; }\\n .ml-sm-4,\\n .mx-sm-4 {\\n margin-left: 1.5rem !important; }\\n .m-sm-5 {\\n margin: 3rem !important; }\\n .mt-sm-5,\\n .my-sm-5 {\\n margin-top: 3rem !important; }\\n .mr-sm-5,\\n .mx-sm-5 {\\n margin-right: 3rem !important; }\\n .mb-sm-5,\\n .my-sm-5 {\\n margin-bottom: 3rem !important; }\\n .ml-sm-5,\\n .mx-sm-5 {\\n margin-left: 3rem !important; }\\n .p-sm-0 {\\n padding: 0 !important; }\\n .pt-sm-0,\\n .py-sm-0 {\\n padding-top: 0 !important; }\\n .pr-sm-0,\\n .px-sm-0 {\\n padding-right: 0 !important; }\\n .pb-sm-0,\\n .py-sm-0 {\\n padding-bottom: 0 !important; }\\n .pl-sm-0,\\n .px-sm-0 {\\n padding-left: 0 !important; }\\n .p-sm-1 {\\n padding: 0.25rem !important; }\\n .pt-sm-1,\\n .py-sm-1 {\\n padding-top: 0.25rem !important; }\\n .pr-sm-1,\\n .px-sm-1 {\\n padding-right: 0.25rem !important; }\\n .pb-sm-1,\\n .py-sm-1 {\\n padding-bottom: 0.25rem !important; }\\n .pl-sm-1,\\n .px-sm-1 {\\n padding-left: 0.25rem !important; }\\n .p-sm-2 {\\n padding: 0.5rem !important; }\\n .pt-sm-2,\\n .py-sm-2 {\\n padding-top: 0.5rem !important; }\\n .pr-sm-2,\\n .px-sm-2 {\\n padding-right: 0.5rem !important; }\\n .pb-sm-2,\\n .py-sm-2 {\\n padding-bottom: 0.5rem !important; }\\n .pl-sm-2,\\n .px-sm-2 {\\n padding-left: 0.5rem !important; }\\n .p-sm-3 {\\n padding: 1rem !important; }\\n .pt-sm-3,\\n .py-sm-3 {\\n padding-top: 1rem !important; }\\n .pr-sm-3,\\n .px-sm-3 {\\n padding-right: 1rem !important; }\\n .pb-sm-3,\\n .py-sm-3 {\\n padding-bottom: 1rem !important; }\\n .pl-sm-3,\\n .px-sm-3 {\\n padding-left: 1rem !important; }\\n .p-sm-4 {\\n padding: 1.5rem !important; }\\n .pt-sm-4,\\n .py-sm-4 {\\n padding-top: 1.5rem !important; }\\n .pr-sm-4,\\n .px-sm-4 {\\n padding-right: 1.5rem !important; }\\n .pb-sm-4,\\n .py-sm-4 {\\n padding-bottom: 1.5rem !important; }\\n .pl-sm-4,\\n .px-sm-4 {\\n padding-left: 1.5rem !important; }\\n .p-sm-5 {\\n padding: 3rem !important; }\\n .pt-sm-5,\\n .py-sm-5 {\\n padding-top: 3rem !important; }\\n .pr-sm-5,\\n .px-sm-5 {\\n padding-right: 3rem !important; }\\n .pb-sm-5,\\n .py-sm-5 {\\n padding-bottom: 3rem !important; }\\n .pl-sm-5,\\n .px-sm-5 {\\n padding-left: 3rem !important; }\\n .m-sm-n1 {\\n margin: -0.25rem !important; }\\n .mt-sm-n1,\\n .my-sm-n1 {\\n margin-top: -0.25rem !important; }\\n .mr-sm-n1,\\n .mx-sm-n1 {\\n margin-right: -0.25rem !important; }\\n .mb-sm-n1,\\n .my-sm-n1 {\\n margin-bottom: -0.25rem !important; }\\n .ml-sm-n1,\\n .mx-sm-n1 {\\n margin-left: -0.25rem !important; }\\n .m-sm-n2 {\\n margin: -0.5rem !important; }\\n .mt-sm-n2,\\n .my-sm-n2 {\\n margin-top: -0.5rem !important; }\\n .mr-sm-n2,\\n .mx-sm-n2 {\\n margin-right: -0.5rem !important; }\\n .mb-sm-n2,\\n .my-sm-n2 {\\n margin-bottom: -0.5rem !important; }\\n .ml-sm-n2,\\n .mx-sm-n2 {\\n margin-left: -0.5rem !important; }\\n .m-sm-n3 {\\n margin: -1rem !important; }\\n .mt-sm-n3,\\n .my-sm-n3 {\\n margin-top: -1rem !important; }\\n .mr-sm-n3,\\n .mx-sm-n3 {\\n margin-right: -1rem !important; }\\n .mb-sm-n3,\\n .my-sm-n3 {\\n margin-bottom: -1rem !important; }\\n .ml-sm-n3,\\n .mx-sm-n3 {\\n margin-left: -1rem !important; }\\n .m-sm-n4 {\\n margin: -1.5rem !important; }\\n .mt-sm-n4,\\n .my-sm-n4 {\\n margin-top: -1.5rem !important; }\\n .mr-sm-n4,\\n .mx-sm-n4 {\\n margin-right: -1.5rem !important; }\\n .mb-sm-n4,\\n .my-sm-n4 {\\n margin-bottom: -1.5rem !important; }\\n .ml-sm-n4,\\n .mx-sm-n4 {\\n margin-left: -1.5rem !important; }\\n .m-sm-n5 {\\n margin: -3rem !important; }\\n .mt-sm-n5,\\n .my-sm-n5 {\\n margin-top: -3rem !important; }\\n .mr-sm-n5,\\n .mx-sm-n5 {\\n margin-right: -3rem !important; }\\n .mb-sm-n5,\\n .my-sm-n5 {\\n margin-bottom: -3rem !important; }\\n .ml-sm-n5,\\n .mx-sm-n5 {\\n margin-left: -3rem !important; }\\n .m-sm-auto {\\n margin: auto !important; }\\n .mt-sm-auto,\\n .my-sm-auto {\\n margin-top: auto !important; }\\n .mr-sm-auto,\\n .mx-sm-auto {\\n margin-right: auto !important; }\\n .mb-sm-auto,\\n .my-sm-auto {\\n margin-bottom: auto !important; }\\n .ml-sm-auto,\\n .mx-sm-auto {\\n margin-left: auto !important; } }\\n\\n@media (min-width: 768px) {\\n .m-md-0 {\\n margin: 0 !important; }\\n .mt-md-0,\\n .my-md-0 {\\n margin-top: 0 !important; }\\n .mr-md-0,\\n .mx-md-0 {\\n margin-right: 0 !important; }\\n .mb-md-0,\\n .my-md-0 {\\n margin-bottom: 0 !important; }\\n .ml-md-0,\\n .mx-md-0 {\\n margin-left: 0 !important; }\\n .m-md-1 {\\n margin: 0.25rem !important; }\\n .mt-md-1,\\n .my-md-1 {\\n margin-top: 0.25rem !important; }\\n .mr-md-1,\\n .mx-md-1 {\\n margin-right: 0.25rem !important; }\\n .mb-md-1,\\n .my-md-1 {\\n margin-bottom: 0.25rem !important; }\\n .ml-md-1,\\n .mx-md-1 {\\n margin-left: 0.25rem !important; }\\n .m-md-2 {\\n margin: 0.5rem !important; }\\n .mt-md-2,\\n .my-md-2 {\\n margin-top: 0.5rem !important; }\\n .mr-md-2,\\n .mx-md-2 {\\n margin-right: 0.5rem !important; }\\n .mb-md-2,\\n .my-md-2 {\\n margin-bottom: 0.5rem !important; }\\n .ml-md-2,\\n .mx-md-2 {\\n margin-left: 0.5rem !important; }\\n .m-md-3 {\\n margin: 1rem !important; }\\n .mt-md-3,\\n .my-md-3 {\\n margin-top: 1rem !important; }\\n .mr-md-3,\\n .mx-md-3 {\\n margin-right: 1rem !important; }\\n .mb-md-3,\\n .my-md-3 {\\n margin-bottom: 1rem !important; }\\n .ml-md-3,\\n .mx-md-3 {\\n margin-left: 1rem !important; }\\n .m-md-4 {\\n margin: 1.5rem !important; }\\n .mt-md-4,\\n .my-md-4 {\\n margin-top: 1.5rem !important; }\\n .mr-md-4,\\n .mx-md-4 {\\n margin-right: 1.5rem !important; }\\n .mb-md-4,\\n .my-md-4 {\\n margin-bottom: 1.5rem !important; }\\n .ml-md-4,\\n .mx-md-4 {\\n margin-left: 1.5rem !important; }\\n .m-md-5 {\\n margin: 3rem !important; }\\n .mt-md-5,\\n .my-md-5 {\\n margin-top: 3rem !important; }\\n .mr-md-5,\\n .mx-md-5 {\\n margin-right: 3rem !important; }\\n .mb-md-5,\\n .my-md-5 {\\n margin-bottom: 3rem !important; }\\n .ml-md-5,\\n .mx-md-5 {\\n margin-left: 3rem !important; }\\n .p-md-0 {\\n padding: 0 !important; }\\n .pt-md-0,\\n .py-md-0 {\\n padding-top: 0 !important; }\\n .pr-md-0,\\n .px-md-0 {\\n padding-right: 0 !important; }\\n .pb-md-0,\\n .py-md-0 {\\n padding-bottom: 0 !important; }\\n .pl-md-0,\\n .px-md-0 {\\n padding-left: 0 !important; }\\n .p-md-1 {\\n padding: 0.25rem !important; }\\n .pt-md-1,\\n .py-md-1 {\\n padding-top: 0.25rem !important; }\\n .pr-md-1,\\n .px-md-1 {\\n padding-right: 0.25rem !important; }\\n .pb-md-1,\\n .py-md-1 {\\n padding-bottom: 0.25rem !important; }\\n .pl-md-1,\\n .px-md-1 {\\n padding-left: 0.25rem !important; }\\n .p-md-2 {\\n padding: 0.5rem !important; }\\n .pt-md-2,\\n .py-md-2 {\\n padding-top: 0.5rem !important; }\\n .pr-md-2,\\n .px-md-2 {\\n padding-right: 0.5rem !important; }\\n .pb-md-2,\\n .py-md-2 {\\n padding-bottom: 0.5rem !important; }\\n .pl-md-2,\\n .px-md-2 {\\n padding-left: 0.5rem !important; }\\n .p-md-3 {\\n padding: 1rem !important; }\\n .pt-md-3,\\n .py-md-3 {\\n padding-top: 1rem !important; }\\n .pr-md-3,\\n .px-md-3 {\\n padding-right: 1rem !important; }\\n .pb-md-3,\\n .py-md-3 {\\n padding-bottom: 1rem !important; }\\n .pl-md-3,\\n .px-md-3 {\\n padding-left: 1rem !important; }\\n .p-md-4 {\\n padding: 1.5rem !important; }\\n .pt-md-4,\\n .py-md-4 {\\n padding-top: 1.5rem !important; }\\n .pr-md-4,\\n .px-md-4 {\\n padding-right: 1.5rem !important; }\\n .pb-md-4,\\n .py-md-4 {\\n padding-bottom: 1.5rem !important; }\\n .pl-md-4,\\n .px-md-4 {\\n padding-left: 1.5rem !important; }\\n .p-md-5 {\\n padding: 3rem !important; }\\n .pt-md-5,\\n .py-md-5 {\\n padding-top: 3rem !important; }\\n .pr-md-5,\\n .px-md-5 {\\n padding-right: 3rem !important; }\\n .pb-md-5,\\n .py-md-5 {\\n padding-bottom: 3rem !important; }\\n .pl-md-5,\\n .px-md-5 {\\n padding-left: 3rem !important; }\\n .m-md-n1 {\\n margin: -0.25rem !important; }\\n .mt-md-n1,\\n .my-md-n1 {\\n margin-top: -0.25rem !important; }\\n .mr-md-n1,\\n .mx-md-n1 {\\n margin-right: -0.25rem !important; }\\n .mb-md-n1,\\n .my-md-n1 {\\n margin-bottom: -0.25rem !important; }\\n .ml-md-n1,\\n .mx-md-n1 {\\n margin-left: -0.25rem !important; }\\n .m-md-n2 {\\n margin: -0.5rem !important; }\\n .mt-md-n2,\\n .my-md-n2 {\\n margin-top: -0.5rem !important; }\\n .mr-md-n2,\\n .mx-md-n2 {\\n margin-right: -0.5rem !important; }\\n .mb-md-n2,\\n .my-md-n2 {\\n margin-bottom: -0.5rem !important; }\\n .ml-md-n2,\\n .mx-md-n2 {\\n margin-left: -0.5rem !important; }\\n .m-md-n3 {\\n margin: -1rem !important; }\\n .mt-md-n3,\\n .my-md-n3 {\\n margin-top: -1rem !important; }\\n .mr-md-n3,\\n .mx-md-n3 {\\n margin-right: -1rem !important; }\\n .mb-md-n3,\\n .my-md-n3 {\\n margin-bottom: -1rem !important; }\\n .ml-md-n3,\\n .mx-md-n3 {\\n margin-left: -1rem !important; }\\n .m-md-n4 {\\n margin: -1.5rem !important; }\\n .mt-md-n4,\\n .my-md-n4 {\\n margin-top: -1.5rem !important; }\\n .mr-md-n4,\\n .mx-md-n4 {\\n margin-right: -1.5rem !important; }\\n .mb-md-n4,\\n .my-md-n4 {\\n margin-bottom: -1.5rem !important; }\\n .ml-md-n4,\\n .mx-md-n4 {\\n margin-left: -1.5rem !important; }\\n .m-md-n5 {\\n margin: -3rem !important; }\\n .mt-md-n5,\\n .my-md-n5 {\\n margin-top: -3rem !important; }\\n .mr-md-n5,\\n .mx-md-n5 {\\n margin-right: -3rem !important; }\\n .mb-md-n5,\\n .my-md-n5 {\\n margin-bottom: -3rem !important; }\\n .ml-md-n5,\\n .mx-md-n5 {\\n margin-left: -3rem !important; }\\n .m-md-auto {\\n margin: auto !important; }\\n .mt-md-auto,\\n .my-md-auto {\\n margin-top: auto !important; }\\n .mr-md-auto,\\n .mx-md-auto {\\n margin-right: auto !important; }\\n .mb-md-auto,\\n .my-md-auto {\\n margin-bottom: auto !important; }\\n .ml-md-auto,\\n .mx-md-auto {\\n margin-left: auto !important; } }\\n\\n@media (min-width: 992px) {\\n .m-lg-0 {\\n margin: 0 !important; }\\n .mt-lg-0,\\n .my-lg-0 {\\n margin-top: 0 !important; }\\n .mr-lg-0,\\n .mx-lg-0 {\\n margin-right: 0 !important; }\\n .mb-lg-0,\\n .my-lg-0 {\\n margin-bottom: 0 !important; }\\n .ml-lg-0,\\n .mx-lg-0 {\\n margin-left: 0 !important; }\\n .m-lg-1 {\\n margin: 0.25rem !important; }\\n .mt-lg-1,\\n .my-lg-1 {\\n margin-top: 0.25rem !important; }\\n .mr-lg-1,\\n .mx-lg-1 {\\n margin-right: 0.25rem !important; }\\n .mb-lg-1,\\n .my-lg-1 {\\n margin-bottom: 0.25rem !important; }\\n .ml-lg-1,\\n .mx-lg-1 {\\n margin-left: 0.25rem !important; }\\n .m-lg-2 {\\n margin: 0.5rem !important; }\\n .mt-lg-2,\\n .my-lg-2 {\\n margin-top: 0.5rem !important; }\\n .mr-lg-2,\\n .mx-lg-2 {\\n margin-right: 0.5rem !important; }\\n .mb-lg-2,\\n .my-lg-2 {\\n margin-bottom: 0.5rem !important; }\\n .ml-lg-2,\\n .mx-lg-2 {\\n margin-left: 0.5rem !important; }\\n .m-lg-3 {\\n margin: 1rem !important; }\\n .mt-lg-3,\\n .my-lg-3 {\\n margin-top: 1rem !important; }\\n .mr-lg-3,\\n .mx-lg-3 {\\n margin-right: 1rem !important; }\\n .mb-lg-3,\\n .my-lg-3 {\\n margin-bottom: 1rem !important; }\\n .ml-lg-3,\\n .mx-lg-3 {\\n margin-left: 1rem !important; }\\n .m-lg-4 {\\n margin: 1.5rem !important; }\\n .mt-lg-4,\\n .my-lg-4 {\\n margin-top: 1.5rem !important; }\\n .mr-lg-4,\\n .mx-lg-4 {\\n margin-right: 1.5rem !important; }\\n .mb-lg-4,\\n .my-lg-4 {\\n margin-bottom: 1.5rem !important; }\\n .ml-lg-4,\\n .mx-lg-4 {\\n margin-left: 1.5rem !important; }\\n .m-lg-5 {\\n margin: 3rem !important; }\\n .mt-lg-5,\\n .my-lg-5 {\\n margin-top: 3rem !important; }\\n .mr-lg-5,\\n .mx-lg-5 {\\n margin-right: 3rem !important; }\\n .mb-lg-5,\\n .my-lg-5 {\\n margin-bottom: 3rem !important; }\\n .ml-lg-5,\\n .mx-lg-5 {\\n margin-left: 3rem !important; }\\n .p-lg-0 {\\n padding: 0 !important; }\\n .pt-lg-0,\\n .py-lg-0 {\\n padding-top: 0 !important; }\\n .pr-lg-0,\\n .px-lg-0 {\\n padding-right: 0 !important; }\\n .pb-lg-0,\\n .py-lg-0 {\\n padding-bottom: 0 !important; }\\n .pl-lg-0,\\n .px-lg-0 {\\n padding-left: 0 !important; }\\n .p-lg-1 {\\n padding: 0.25rem !important; }\\n .pt-lg-1,\\n .py-lg-1 {\\n padding-top: 0.25rem !important; }\\n .pr-lg-1,\\n .px-lg-1 {\\n padding-right: 0.25rem !important; }\\n .pb-lg-1,\\n .py-lg-1 {\\n padding-bottom: 0.25rem !important; }\\n .pl-lg-1,\\n .px-lg-1 {\\n padding-left: 0.25rem !important; }\\n .p-lg-2 {\\n padding: 0.5rem !important; }\\n .pt-lg-2,\\n .py-lg-2 {\\n padding-top: 0.5rem !important; }\\n .pr-lg-2,\\n .px-lg-2 {\\n padding-right: 0.5rem !important; }\\n .pb-lg-2,\\n .py-lg-2 {\\n padding-bottom: 0.5rem !important; }\\n .pl-lg-2,\\n .px-lg-2 {\\n padding-left: 0.5rem !important; }\\n .p-lg-3 {\\n padding: 1rem !important; }\\n .pt-lg-3,\\n .py-lg-3 {\\n padding-top: 1rem !important; }\\n .pr-lg-3,\\n .px-lg-3 {\\n padding-right: 1rem !important; }\\n .pb-lg-3,\\n .py-lg-3 {\\n padding-bottom: 1rem !important; }\\n .pl-lg-3,\\n .px-lg-3 {\\n padding-left: 1rem !important; }\\n .p-lg-4 {\\n padding: 1.5rem !important; }\\n .pt-lg-4,\\n .py-lg-4 {\\n padding-top: 1.5rem !important; }\\n .pr-lg-4,\\n .px-lg-4 {\\n padding-right: 1.5rem !important; }\\n .pb-lg-4,\\n .py-lg-4 {\\n padding-bottom: 1.5rem !important; }\\n .pl-lg-4,\\n .px-lg-4 {\\n padding-left: 1.5rem !important; }\\n .p-lg-5 {\\n padding: 3rem !important; }\\n .pt-lg-5,\\n .py-lg-5 {\\n padding-top: 3rem !important; }\\n .pr-lg-5,\\n .px-lg-5 {\\n padding-right: 3rem !important; }\\n .pb-lg-5,\\n .py-lg-5 {\\n padding-bottom: 3rem !important; }\\n .pl-lg-5,\\n .px-lg-5 {\\n padding-left: 3rem !important; }\\n .m-lg-n1 {\\n margin: -0.25rem !important; }\\n .mt-lg-n1,\\n .my-lg-n1 {\\n margin-top: -0.25rem !important; }\\n .mr-lg-n1,\\n .mx-lg-n1 {\\n margin-right: -0.25rem !important; }\\n .mb-lg-n1,\\n .my-lg-n1 {\\n margin-bottom: -0.25rem !important; }\\n .ml-lg-n1,\\n .mx-lg-n1 {\\n margin-left: -0.25rem !important; }\\n .m-lg-n2 {\\n margin: -0.5rem !important; }\\n .mt-lg-n2,\\n .my-lg-n2 {\\n margin-top: -0.5rem !important; }\\n .mr-lg-n2,\\n .mx-lg-n2 {\\n margin-right: -0.5rem !important; }\\n .mb-lg-n2,\\n .my-lg-n2 {\\n margin-bottom: -0.5rem !important; }\\n .ml-lg-n2,\\n .mx-lg-n2 {\\n margin-left: -0.5rem !important; }\\n .m-lg-n3 {\\n margin: -1rem !important; }\\n .mt-lg-n3,\\n .my-lg-n3 {\\n margin-top: -1rem !important; }\\n .mr-lg-n3,\\n .mx-lg-n3 {\\n margin-right: -1rem !important; }\\n .mb-lg-n3,\\n .my-lg-n3 {\\n margin-bottom: -1rem !important; }\\n .ml-lg-n3,\\n .mx-lg-n3 {\\n margin-left: -1rem !important; }\\n .m-lg-n4 {\\n margin: -1.5rem !important; }\\n .mt-lg-n4,\\n .my-lg-n4 {\\n margin-top: -1.5rem !important; }\\n .mr-lg-n4,\\n .mx-lg-n4 {\\n margin-right: -1.5rem !important; }\\n .mb-lg-n4,\\n .my-lg-n4 {\\n margin-bottom: -1.5rem !important; }\\n .ml-lg-n4,\\n .mx-lg-n4 {\\n margin-left: -1.5rem !important; }\\n .m-lg-n5 {\\n margin: -3rem !important; }\\n .mt-lg-n5,\\n .my-lg-n5 {\\n margin-top: -3rem !important; }\\n .mr-lg-n5,\\n .mx-lg-n5 {\\n margin-right: -3rem !important; }\\n .mb-lg-n5,\\n .my-lg-n5 {\\n margin-bottom: -3rem !important; }\\n .ml-lg-n5,\\n .mx-lg-n5 {\\n margin-left: -3rem !important; }\\n .m-lg-auto {\\n margin: auto !important; }\\n .mt-lg-auto,\\n .my-lg-auto {\\n margin-top: auto !important; }\\n .mr-lg-auto,\\n .mx-lg-auto {\\n margin-right: auto !important; }\\n .mb-lg-auto,\\n .my-lg-auto {\\n margin-bottom: auto !important; }\\n .ml-lg-auto,\\n .mx-lg-auto {\\n margin-left: auto !important; } }\\n\\n@media (min-width: 1200px) {\\n .m-xl-0 {\\n margin: 0 !important; }\\n .mt-xl-0,\\n .my-xl-0 {\\n margin-top: 0 !important; }\\n .mr-xl-0,\\n .mx-xl-0 {\\n margin-right: 0 !important; }\\n .mb-xl-0,\\n .my-xl-0 {\\n margin-bottom: 0 !important; }\\n .ml-xl-0,\\n .mx-xl-0 {\\n margin-left: 0 !important; }\\n .m-xl-1 {\\n margin: 0.25rem !important; }\\n .mt-xl-1,\\n .my-xl-1 {\\n margin-top: 0.25rem !important; }\\n .mr-xl-1,\\n .mx-xl-1 {\\n margin-right: 0.25rem !important; }\\n .mb-xl-1,\\n .my-xl-1 {\\n margin-bottom: 0.25rem !important; }\\n .ml-xl-1,\\n .mx-xl-1 {\\n margin-left: 0.25rem !important; }\\n .m-xl-2 {\\n margin: 0.5rem !important; }\\n .mt-xl-2,\\n .my-xl-2 {\\n margin-top: 0.5rem !important; }\\n .mr-xl-2,\\n .mx-xl-2 {\\n margin-right: 0.5rem !important; }\\n .mb-xl-2,\\n .my-xl-2 {\\n margin-bottom: 0.5rem !important; }\\n .ml-xl-2,\\n .mx-xl-2 {\\n margin-left: 0.5rem !important; }\\n .m-xl-3 {\\n margin: 1rem !important; }\\n .mt-xl-3,\\n .my-xl-3 {\\n margin-top: 1rem !important; }\\n .mr-xl-3,\\n .mx-xl-3 {\\n margin-right: 1rem !important; }\\n .mb-xl-3,\\n .my-xl-3 {\\n margin-bottom: 1rem !important; }\\n .ml-xl-3,\\n .mx-xl-3 {\\n margin-left: 1rem !important; }\\n .m-xl-4 {\\n margin: 1.5rem !important; }\\n .mt-xl-4,\\n .my-xl-4 {\\n margin-top: 1.5rem !important; }\\n .mr-xl-4,\\n .mx-xl-4 {\\n margin-right: 1.5rem !important; }\\n .mb-xl-4,\\n .my-xl-4 {\\n margin-bottom: 1.5rem !important; }\\n .ml-xl-4,\\n .mx-xl-4 {\\n margin-left: 1.5rem !important; }\\n .m-xl-5 {\\n margin: 3rem !important; }\\n .mt-xl-5,\\n .my-xl-5 {\\n margin-top: 3rem !important; }\\n .mr-xl-5,\\n .mx-xl-5 {\\n margin-right: 3rem !important; }\\n .mb-xl-5,\\n .my-xl-5 {\\n margin-bottom: 3rem !important; }\\n .ml-xl-5,\\n .mx-xl-5 {\\n margin-left: 3rem !important; }\\n .p-xl-0 {\\n padding: 0 !important; }\\n .pt-xl-0,\\n .py-xl-0 {\\n padding-top: 0 !important; }\\n .pr-xl-0,\\n .px-xl-0 {\\n padding-right: 0 !important; }\\n .pb-xl-0,\\n .py-xl-0 {\\n padding-bottom: 0 !important; }\\n .pl-xl-0,\\n .px-xl-0 {\\n padding-left: 0 !important; }\\n .p-xl-1 {\\n padding: 0.25rem !important; }\\n .pt-xl-1,\\n .py-xl-1 {\\n padding-top: 0.25rem !important; }\\n .pr-xl-1,\\n .px-xl-1 {\\n padding-right: 0.25rem !important; }\\n .pb-xl-1,\\n .py-xl-1 {\\n padding-bottom: 0.25rem !important; }\\n .pl-xl-1,\\n .px-xl-1 {\\n padding-left: 0.25rem !important; }\\n .p-xl-2 {\\n padding: 0.5rem !important; }\\n .pt-xl-2,\\n .py-xl-2 {\\n padding-top: 0.5rem !important; }\\n .pr-xl-2,\\n .px-xl-2 {\\n padding-right: 0.5rem !important; }\\n .pb-xl-2,\\n .py-xl-2 {\\n padding-bottom: 0.5rem !important; }\\n .pl-xl-2,\\n .px-xl-2 {\\n padding-left: 0.5rem !important; }\\n .p-xl-3 {\\n padding: 1rem !important; }\\n .pt-xl-3,\\n .py-xl-3 {\\n padding-top: 1rem !important; }\\n .pr-xl-3,\\n .px-xl-3 {\\n padding-right: 1rem !important; }\\n .pb-xl-3,\\n .py-xl-3 {\\n padding-bottom: 1rem !important; }\\n .pl-xl-3,\\n .px-xl-3 {\\n padding-left: 1rem !important; }\\n .p-xl-4 {\\n padding: 1.5rem !important; }\\n .pt-xl-4,\\n .py-xl-4 {\\n padding-top: 1.5rem !important; }\\n .pr-xl-4,\\n .px-xl-4 {\\n padding-right: 1.5rem !important; }\\n .pb-xl-4,\\n .py-xl-4 {\\n padding-bottom: 1.5rem !important; }\\n .pl-xl-4,\\n .px-xl-4 {\\n padding-left: 1.5rem !important; }\\n .p-xl-5 {\\n padding: 3rem !important; }\\n .pt-xl-5,\\n .py-xl-5 {\\n padding-top: 3rem !important; }\\n .pr-xl-5,\\n .px-xl-5 {\\n padding-right: 3rem !important; }\\n .pb-xl-5,\\n .py-xl-5 {\\n padding-bottom: 3rem !important; }\\n .pl-xl-5,\\n .px-xl-5 {\\n padding-left: 3rem !important; }\\n .m-xl-n1 {\\n margin: -0.25rem !important; }\\n .mt-xl-n1,\\n .my-xl-n1 {\\n margin-top: -0.25rem !important; }\\n .mr-xl-n1,\\n .mx-xl-n1 {\\n margin-right: -0.25rem !important; }\\n .mb-xl-n1,\\n .my-xl-n1 {\\n margin-bottom: -0.25rem !important; }\\n .ml-xl-n1,\\n .mx-xl-n1 {\\n margin-left: -0.25rem !important; }\\n .m-xl-n2 {\\n margin: -0.5rem !important; }\\n .mt-xl-n2,\\n .my-xl-n2 {\\n margin-top: -0.5rem !important; }\\n .mr-xl-n2,\\n .mx-xl-n2 {\\n margin-right: -0.5rem !important; }\\n .mb-xl-n2,\\n .my-xl-n2 {\\n margin-bottom: -0.5rem !important; }\\n .ml-xl-n2,\\n .mx-xl-n2 {\\n margin-left: -0.5rem !important; }\\n .m-xl-n3 {\\n margin: -1rem !important; }\\n .mt-xl-n3,\\n .my-xl-n3 {\\n margin-top: -1rem !important; }\\n .mr-xl-n3,\\n .mx-xl-n3 {\\n margin-right: -1rem !important; }\\n .mb-xl-n3,\\n .my-xl-n3 {\\n margin-bottom: -1rem !important; }\\n .ml-xl-n3,\\n .mx-xl-n3 {\\n margin-left: -1rem !important; }\\n .m-xl-n4 {\\n margin: -1.5rem !important; }\\n .mt-xl-n4,\\n .my-xl-n4 {\\n margin-top: -1.5rem !important; }\\n .mr-xl-n4,\\n .mx-xl-n4 {\\n margin-right: -1.5rem !important; }\\n .mb-xl-n4,\\n .my-xl-n4 {\\n margin-bottom: -1.5rem !important; }\\n .ml-xl-n4,\\n .mx-xl-n4 {\\n margin-left: -1.5rem !important; }\\n .m-xl-n5 {\\n margin: -3rem !important; }\\n .mt-xl-n5,\\n .my-xl-n5 {\\n margin-top: -3rem !important; }\\n .mr-xl-n5,\\n .mx-xl-n5 {\\n margin-right: -3rem !important; }\\n .mb-xl-n5,\\n .my-xl-n5 {\\n margin-bottom: -3rem !important; }\\n .ml-xl-n5,\\n .mx-xl-n5 {\\n margin-left: -3rem !important; }\\n .m-xl-auto {\\n margin: auto !important; }\\n .mt-xl-auto,\\n .my-xl-auto {\\n margin-top: auto !important; }\\n .mr-xl-auto,\\n .mx-xl-auto {\\n margin-right: auto !important; }\\n .mb-xl-auto,\\n .my-xl-auto {\\n margin-bottom: auto !important; }\\n .ml-xl-auto,\\n .mx-xl-auto {\\n margin-left: auto !important; } }\\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 pointer-events: auto;\\n content: \\\"\\\";\\n background-color: rgba(0, 0, 0, 0); }\\n\\n.text-monospace {\\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace !important; }\\n\\n.text-justify {\\n text-align: justify !important; }\\n\\n.text-wrap {\\n white-space: normal !important; }\\n\\n.text-nowrap {\\n white-space: nowrap !important; }\\n\\n.text-truncate {\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap; }\\n\\n.text-left {\\n text-align: left !important; }\\n\\n.text-right {\\n text-align: right !important; }\\n\\n.text-center {\\n text-align: center !important; }\\n\\n@media (min-width: 576px) {\\n .text-sm-left {\\n text-align: left !important; }\\n .text-sm-right {\\n text-align: right !important; }\\n .text-sm-center {\\n text-align: center !important; } }\\n\\n@media (min-width: 768px) {\\n .text-md-left {\\n text-align: left !important; }\\n .text-md-right {\\n text-align: right !important; }\\n .text-md-center {\\n text-align: center !important; } }\\n\\n@media (min-width: 992px) {\\n .text-lg-left {\\n text-align: left !important; }\\n .text-lg-right {\\n text-align: right !important; }\\n .text-lg-center {\\n text-align: center !important; } }\\n\\n@media (min-width: 1200px) {\\n .text-xl-left {\\n text-align: left !important; }\\n .text-xl-right {\\n text-align: right !important; }\\n .text-xl-center {\\n text-align: center !important; } }\\n\\n.text-lowercase {\\n text-transform: lowercase !important; }\\n\\n.text-uppercase {\\n text-transform: uppercase !important; }\\n\\n.text-capitalize {\\n text-transform: capitalize !important; }\\n\\n.font-weight-light {\\n font-weight: 300 !important; }\\n\\n.font-weight-lighter {\\n font-weight: lighter !important; }\\n\\n.font-weight-normal {\\n font-weight: 400 !important; }\\n\\n.font-weight-bold {\\n font-weight: 700 !important; }\\n\\n.font-weight-bolder {\\n font-weight: bolder !important; }\\n\\n.font-italic {\\n font-style: italic !important; }\\n\\n.text-white {\\n color: #fff !important; }\\n\\n.text-primary {\\n color: #007bff !important; }\\n\\na.text-primary:hover, a.text-primary:focus {\\n color: #0056b3 !important; }\\n\\n.text-secondary {\\n color: #6c757d !important; }\\n\\na.text-secondary:hover, a.text-secondary:focus {\\n color: #494f54 !important; }\\n\\n.text-success {\\n color: #28a745 !important; }\\n\\na.text-success:hover, a.text-success:focus {\\n color: #19692c !important; }\\n\\n.text-info {\\n color: #17a2b8 !important; }\\n\\na.text-info:hover, a.text-info:focus {\\n color: #0f6674 !important; }\\n\\n.text-warning {\\n color: #ffc107 !important; }\\n\\na.text-warning:hover, a.text-warning:focus {\\n color: #ba8b00 !important; }\\n\\n.text-danger {\\n color: #dc3545 !important; }\\n\\na.text-danger:hover, a.text-danger:focus {\\n color: #a71d2a !important; }\\n\\n.text-light {\\n color: #f8f9fa !important; }\\n\\na.text-light:hover, a.text-light:focus {\\n color: #cbd3da !important; }\\n\\n.text-dark {\\n color: #343a40 !important; }\\n\\na.text-dark:hover, a.text-dark:focus {\\n color: #121416 !important; }\\n\\n.text-body {\\n color: #212529 !important; }\\n\\n.text-muted {\\n color: #6c757d !important; }\\n\\n.text-black-50 {\\n color: rgba(0, 0, 0, 0.5) !important; }\\n\\n.text-white-50 {\\n color: rgba(255, 255, 255, 0.5) !important; }\\n\\n.text-hide {\\n font: 0/0 a;\\n color: transparent;\\n text-shadow: none;\\n background-color: transparent;\\n border: 0; }\\n\\n.text-decoration-none {\\n text-decoration: none !important; }\\n\\n.text-break {\\n word-wrap: break-word !important; }\\n\\n.text-reset {\\n color: inherit !important; }\\n\\n.visible {\\n visibility: visible !important; }\\n\\n.invisible {\\n visibility: hidden !important; }\\n\",\"// Hover mixin and `$enable-hover-media-query` are deprecated.\\n//\\n// Originally added during our alphas and maintained during betas, this mixin was\\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\\n// would persist after initial touch.\\n//\\n// For backward compatibility, we've kept these mixins and updated them to\\n// always return their regular pseudo-classes instead of a shimmed media query.\\n//\\n// Issue: https://github.com/twbs/bootstrap/issues/25195\\n\\n@mixin hover() {\\n &:hover { @content; }\\n}\\n\\n@mixin hover-focus() {\\n &:hover,\\n &:focus {\\n @content;\\n }\\n}\\n\\n@mixin plain-hover-focus() {\\n &,\\n &:hover,\\n &:focus {\\n @content;\\n }\\n}\\n\\n@mixin hover-focus-active() {\\n &:hover,\\n &:focus,\\n &:active {\\n @content;\\n }\\n}\\n\",\"// stylelint-disable declaration-no-important, selector-list-comma-newline-after\\n\\n//\\n// Headings\\n//\\n\\nh1, h2, h3, h4, h5, h6,\\n.h1, .h2, .h3, .h4, .h5, .h6 {\\n margin-bottom: $headings-margin-bottom;\\n font-family: $headings-font-family;\\n font-weight: $headings-font-weight;\\n line-height: $headings-line-height;\\n color: $headings-color;\\n}\\n\\nh1, .h1 { @include font-size($h1-font-size); }\\nh2, .h2 { @include font-size($h2-font-size); }\\nh3, .h3 { @include font-size($h3-font-size); }\\nh4, .h4 { @include font-size($h4-font-size); }\\nh5, .h5 { @include font-size($h5-font-size); }\\nh6, .h6 { @include font-size($h6-font-size); }\\n\\n.lead {\\n @include font-size($lead-font-size);\\n font-weight: $lead-font-weight;\\n}\\n\\n// Type display classes\\n.display-1 {\\n @include font-size($display1-size);\\n font-weight: $display1-weight;\\n line-height: $display-line-height;\\n}\\n.display-2 {\\n @include font-size($display2-size);\\n font-weight: $display2-weight;\\n line-height: $display-line-height;\\n}\\n.display-3 {\\n @include font-size($display3-size);\\n font-weight: $display3-weight;\\n line-height: $display-line-height;\\n}\\n.display-4 {\\n @include font-size($display4-size);\\n font-weight: $display4-weight;\\n line-height: $display-line-height;\\n}\\n\\n\\n//\\n// Horizontal rules\\n//\\n\\nhr {\\n margin-top: $hr-margin-y;\\n margin-bottom: $hr-margin-y;\\n border: 0;\\n border-top: $hr-border-width solid $hr-border-color;\\n}\\n\\n\\n//\\n// Emphasis\\n//\\n\\nsmall,\\n.small {\\n @include font-size($small-font-size);\\n font-weight: $font-weight-normal;\\n}\\n\\nmark,\\n.mark {\\n padding: $mark-padding;\\n background-color: $mark-bg;\\n}\\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(90%);\\n text-transform: uppercase;\\n}\\n\\n// Blockquotes\\n.blockquote {\\n margin-bottom: $spacer;\\n @include font-size($blockquote-font-size);\\n}\\n\\n.blockquote-footer {\\n display: block;\\n @include font-size($blockquote-small-font-size);\\n color: $blockquote-small-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\",\"//\\n// Base styles\\n//\\n\\n.alert {\\n position: relative;\\n padding: $alert-padding-y $alert-padding-x;\\n margin-bottom: $alert-margin-bottom;\\n border: $alert-border-width solid transparent;\\n @include border-radius($alert-border-radius);\\n}\\n\\n// Headings for larger alerts\\n.alert-heading {\\n // Specified to prevent conflicts of changing $headings-color\\n color: inherit;\\n}\\n\\n// Provide class for links that match alerts\\n.alert-link {\\n font-weight: $alert-link-font-weight;\\n}\\n\\n\\n// Dismissible alerts\\n//\\n// Expand the right padding and account for the close button's positioning.\\n\\n.alert-dismissible {\\n padding-right: $close-font-size + $alert-padding-x * 2;\\n\\n // Adjust close link position\\n .close {\\n position: absolute;\\n top: 0;\\n right: 0;\\n padding: $alert-padding-y $alert-padding-x;\\n color: inherit;\\n }\\n}\\n\\n\\n// Alternate styles\\n//\\n// Generate contextual modifier classes for colorizing the alert.\\n\\n@each $color, $value in $theme-colors {\\n .alert-#{$color} {\\n @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level));\\n }\\n}\\n\",\"// stylelint-disable property-blacklist\\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@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) {\\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-right-radius($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) {\\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-left-radius($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-left-radius($radius) {\\n @if $enable-rounded {\\n border-top-left-radius: valid-radius($radius);\\n }\\n}\\n\\n@mixin border-top-right-radius($radius) {\\n @if $enable-rounded {\\n border-top-right-radius: valid-radius($radius);\\n }\\n}\\n\\n@mixin border-bottom-right-radius($radius) {\\n @if $enable-rounded {\\n border-bottom-right-radius: valid-radius($radius);\\n }\\n}\\n\\n@mixin border-bottom-left-radius($radius) {\\n @if $enable-rounded {\\n border-bottom-left-radius: valid-radius($radius);\\n }\\n}\\n\",\"@mixin alert-variant($background, $border, $color) {\\n color: $color;\\n @include gradient-bg($background);\\n border-color: $border;\\n\\n hr {\\n border-top-color: darken($border, 5%);\\n }\\n\\n .alert-link {\\n color: darken($color, 10%);\\n }\\n}\\n\",\"// Bootstrap functions\\n//\\n// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.\\n\\n// Ascending\\n// Used to evaluate Sass maps like our grid breakpoints.\\n@mixin _assert-ascending($map, $map-name) {\\n $prev-key: null;\\n $prev-num: null;\\n @each $key, $num in $map {\\n @if $prev-num == null or unit($num) == \\\"%\\\" or unit($prev-num) == \\\"%\\\" {\\n // Do nothing\\n } @else if not comparable($prev-num, $num) {\\n @warn \\\"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\\\";\\n } @else if $prev-num >= $num {\\n @warn \\\"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\\\";\\n }\\n $prev-key: $key;\\n $prev-num: $num;\\n }\\n}\\n\\n// Starts at zero\\n// Used to ensure the min-width of the lowest breakpoint starts at 0.\\n@mixin _assert-starts-at-zero($map, $map-name: \\\"$grid-breakpoints\\\") {\\n @if length($map) > 0 {\\n $values: map-values($map);\\n $first-value: nth($values, 1);\\n @if $first-value != 0 {\\n @warn \\\"First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.\\\";\\n }\\n }\\n}\\n\\n// Replace `$search` with `$replace` in `$string`\\n// Used on our SVG icon backgrounds for custom forms.\\n//\\n// @author Hugo Giraudel\\n// @param {String} $string - Initial string\\n// @param {String} $search - Substring to replace\\n// @param {String} $replace ('') - New value\\n// @return {String} - Updated string\\n@function str-replace($string, $search, $replace: \\\"\\\") {\\n $index: str-index($string, $search);\\n\\n @if $index {\\n @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\\n }\\n\\n @return $string;\\n}\\n\\n// See https://codepen.io/kevinweber/pen/dXWoRw\\n@function escape-svg($string) {\\n @if str-index($string, \\\"data:image/svg+xml\\\") {\\n @each $char, $encoded in $escaped-characters {\\n // Do not escape the url brackets\\n @if str-index($string, \\\"url(\\\") == 1 {\\n $string: url(\\\"#{str-replace(str-slice($string, 6, -3), $char, $encoded)}\\\");\\n } @else {\\n $string: str-replace($string, $char, $encoded);\\n }\\n }\\n }\\n\\n @return $string;\\n}\\n\\n// Color contrast\\n@function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) {\\n $r: red($color);\\n $g: green($color);\\n $b: blue($color);\\n\\n $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;\\n\\n @if ($yiq >= $yiq-contrasted-threshold) {\\n @return $dark;\\n } @else {\\n @return $light;\\n }\\n}\\n\\n// Retrieve color Sass maps\\n@function color($key: \\\"blue\\\") {\\n @return map-get($colors, $key);\\n}\\n\\n@function theme-color($key: \\\"primary\\\") {\\n @return map-get($theme-colors, $key);\\n}\\n\\n@function gray($key: \\\"100\\\") {\\n @return map-get($grays, $key);\\n}\\n\\n// Request a theme color level\\n@function theme-color-level($color-name: \\\"primary\\\", $level: 0) {\\n $color: theme-color($color-name);\\n $color-base: if($level > 0, $black, $white);\\n $level: abs($level);\\n\\n @return mix($color-base, $color, $level * $theme-color-interval);\\n}\\n\\n// Return valid calc\\n@function add($value1, $value2, $return-calc: true) {\\n @if $value1 == null {\\n @return $value2;\\n }\\n\\n @if $value2 == null {\\n @return $value1;\\n }\\n\\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\\n @return $value1 + $value2;\\n }\\n\\n @return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(\\\" + \\\") + $value2);\\n}\\n\\n@function subtract($value1, $value2, $return-calc: true) {\\n @if $value1 == null and $value2 == null {\\n @return null;\\n }\\n\\n @if $value1 == null {\\n @return -$value2;\\n }\\n\\n @if $value2 == null {\\n @return $value1;\\n }\\n\\n @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\\n @return $value1 - $value2;\\n }\\n\\n @return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(\\\" - \\\") + $value2);\\n}\\n\",\"// Gradients\\n\\n@mixin gradient-bg($color) {\\n @if $enable-gradients {\\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;\\n } @else {\\n background-color: $color;\\n }\\n}\\n\\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 background-repeat: repeat-x;\\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: 0%, $end-percent: 100%) {\\n background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\\n background-repeat: repeat-x;\\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 background-repeat: repeat-x;\\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 background-repeat: no-repeat;\\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 background-repeat: no-repeat;\\n}\\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\\n background-image: radial-gradient(circle, $inner-color, $outer-color);\\n background-repeat: no-repeat;\\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\",\"// Base class\\n//\\n// Requires one of the contextual, color modifier classes for `color` and\\n// `background-color`.\\n\\n.badge {\\n display: inline-block;\\n padding: $badge-padding-y $badge-padding-x;\\n @include font-size($badge-font-size);\\n font-weight: $badge-font-weight;\\n line-height: 1;\\n text-align: center;\\n white-space: nowrap;\\n vertical-align: baseline;\\n @include border-radius($badge-border-radius);\\n @include transition($badge-transition);\\n\\n @at-root a#{&} {\\n @include hover-focus() {\\n text-decoration: none;\\n }\\n }\\n\\n // Empty badges collapse automatically\\n &:empty {\\n display: none;\\n }\\n}\\n\\n// Quick fix for badges in buttons\\n.btn .badge {\\n position: relative;\\n top: -1px;\\n}\\n\\n// Pill badges\\n//\\n// Make them extra rounded with a modifier to replace v3's badges.\\n\\n.badge-pill {\\n padding-right: $badge-pill-padding-x;\\n padding-left: $badge-pill-padding-x;\\n @include border-radius($badge-pill-border-radius);\\n}\\n\\n// Colors\\n//\\n// Contextual variations (linked badges get darker on :hover).\\n\\n@each $color, $value in $theme-colors {\\n .badge-#{$color} {\\n @include badge-variant($value);\\n }\\n}\\n\",\"// stylelint-disable property-blacklist\\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-prefers-reduced-motion-media-query and nth($transition, 1) != null and nth($transition, 1) != none {\\n @media (prefers-reduced-motion: reduce) {\\n transition: none;\\n }\\n }\\n }\\n}\\n\",\"@mixin badge-variant($bg) {\\n color: color-yiq($bg);\\n background-color: $bg;\\n\\n @at-root a#{&} {\\n @include hover-focus() {\\n color: color-yiq($bg);\\n background-color: darken($bg, 10%);\\n }\\n\\n &:focus,\\n &.focus {\\n outline: 0;\\n box-shadow: 0 0 0 $badge-focus-width rgba($bg, .5);\\n }\\n }\\n}\\n\",\".breadcrumb {\\n display: flex;\\n flex-wrap: wrap;\\n padding: $breadcrumb-padding-y $breadcrumb-padding-x;\\n margin-bottom: $breadcrumb-margin-bottom;\\n @include font-size($breadcrumb-font-size);\\n list-style: none;\\n background-color: $breadcrumb-bg;\\n @include border-radius($breadcrumb-border-radius);\\n}\\n\\n.breadcrumb-item {\\n display: flex;\\n\\n // The separator between breadcrumbs (by default, a forward-slash: \\\"/\\\")\\n + .breadcrumb-item {\\n padding-left: $breadcrumb-item-padding;\\n\\n &::before {\\n display: inline-block; // Suppress underlining of the separator in modern browsers\\n padding-right: $breadcrumb-item-padding;\\n color: $breadcrumb-divider-color;\\n content: escape-svg($breadcrumb-divider);\\n }\\n }\\n\\n // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built\\n // without ``s. The `::before` pseudo-element generates an element\\n // *within* the .breadcrumb-item and thereby inherits the `text-decoration`.\\n //\\n // To trick IE into suppressing the underline, we give the pseudo-element an\\n // underline and then immediately remove it.\\n + .breadcrumb-item:hover::before {\\n text-decoration: underline;\\n }\\n // stylelint-disable-next-line no-duplicate-selectors\\n + .breadcrumb-item:hover::before {\\n text-decoration: none;\\n }\\n\\n &.active {\\n color: $breadcrumb-active-color;\\n }\\n}\\n\",\"// stylelint-disable selector-no-qualifying-type\\n\\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 // Bring the hover, focused, and \\\"active\\\" buttons to the front to overlay\\n // the borders properly\\n @include hover() {\\n z-index: 1;\\n }\\n &:focus,\\n &:active,\\n &.active {\\n z-index: 1;\\n }\\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-right-radius(0);\\n }\\n\\n > .btn:not(:first-child),\\n > .btn-group:not(:first-child) > .btn {\\n @include border-left-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 .dropright &::after {\\n margin-left: 0;\\n }\\n\\n .dropleft &::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:not(:first-child),\\n > .btn-group:not(:first-child) > .btn {\\n @include border-top-radius(0);\\n }\\n}\\n\\n\\n// Checkbox and radio options\\n//\\n// In order to support the browser's form validation feedback, powered by the\\n// `required` attribute, we have to \\\"hide\\\" the inputs via `clip`. We cannot use\\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\\n// certain cases which is prevented by using `clip` and `pointer-events`.\\n// This way, we ensure a DOM element is visible to position the popover from.\\n//\\n// See https://github.com/twbs/bootstrap/pull/12794 and\\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\\n\\n.btn-group-toggle {\\n > .btn,\\n > .btn-group > .btn {\\n margin-bottom: 0; // Override default `` value\\n\\n input[type=\\\"radio\\\"],\\n input[type=\\\"checkbox\\\"] {\\n position: absolute;\\n clip: rect(0, 0, 0, 0);\\n pointer-events: none;\\n }\\n }\\n}\\n\",\"// stylelint-disable selector-no-qualifying-type\\n\\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 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 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-line-height, $btn-border-radius);\\n @include transition($btn-transition);\\n\\n @include hover() {\\n color: $body-color;\\n text-decoration: none;\\n }\\n\\n &:focus,\\n &.focus {\\n outline: 0;\\n box-shadow: $btn-focus-box-shadow;\\n }\\n\\n // Disabled comes first so active can properly restyle\\n &.disabled,\\n &:disabled {\\n opacity: $btn-disabled-opacity;\\n @include box-shadow(none);\\n }\\n\\n &:not(:disabled):not(.disabled) {\\n cursor: if($enable-pointer-cursor-for-buttons, pointer, null);\\n\\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}\\n\\n// Future-proof disabling of clicks on `` elements\\na.btn.disabled,\\nfieldset:disabled a.btn {\\n pointer-events: none;\\n}\\n\\n\\n//\\n// Alternate buttons\\n//\\n\\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\\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: $link-color;\\n text-decoration: $link-decoration;\\n\\n @include hover() {\\n color: $link-hover-color;\\n text-decoration: $link-hover-decoration;\\n }\\n\\n &:focus,\\n &.focus {\\n text-decoration: $link-hover-decoration;\\n }\\n\\n &:disabled,\\n &.disabled {\\n color: $btn-link-disabled-color;\\n pointer-events: none;\\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-line-height-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-line-height-sm, $btn-border-radius-sm);\\n}\\n\\n\\n//\\n// Block button\\n//\\n\\n.btn-block {\\n display: block;\\n width: 100%;\\n\\n // Vertically space out multiple block buttons\\n + .btn-block {\\n margin-top: $btn-block-spacing-y;\\n }\\n}\\n\\n// Specificity overrides\\ninput[type=\\\"submit\\\"],\\ninput[type=\\\"reset\\\"],\\ninput[type=\\\"button\\\"] {\\n &.btn-block {\\n width: 100%;\\n }\\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@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) {\\n color: color-yiq($background);\\n @include gradient-bg($background);\\n border-color: $border;\\n @include box-shadow($btn-box-shadow);\\n\\n @include hover() {\\n color: color-yiq($hover-background);\\n @include gradient-bg($hover-background);\\n border-color: $hover-border;\\n }\\n\\n &:focus,\\n &.focus {\\n color: color-yiq($hover-background);\\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-yiq($background), $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-yiq($background), $border, 15%), .5);\\n }\\n }\\n\\n // Disabled comes first so active can properly restyle\\n &.disabled,\\n &:disabled {\\n color: color-yiq($background);\\n background-color: $background;\\n border-color: $border;\\n // Remove CSS gradients if they're enabled\\n @if $enable-gradients {\\n background-image: none;\\n }\\n }\\n\\n &:not(:disabled):not(.disabled):active,\\n &:not(:disabled):not(.disabled).active,\\n .show > &.dropdown-toggle {\\n color: color-yiq($active-background);\\n background-color: $active-background;\\n @if $enable-gradients {\\n background-image: none; // Remove the gradient for the pressed/active state\\n }\\n border-color: $active-border;\\n\\n &:focus {\\n @if $enable-shadows and $btn-active-box-shadow != none {\\n @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $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-yiq($background), $border, 15%), .5);\\n }\\n }\\n }\\n}\\n\\n@mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) {\\n color: $color;\\n border-color: $color;\\n\\n @include hover() {\\n color: $color-hover;\\n background-color: $active-background;\\n border-color: $active-border;\\n }\\n\\n &:focus,\\n &.focus {\\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\\n }\\n\\n &.disabled,\\n &:disabled {\\n color: $color;\\n background-color: transparent;\\n }\\n\\n &:not(:disabled):not(.disabled):active,\\n &:not(:disabled):not(.disabled).active,\\n .show > &.dropdown-toggle {\\n color: color-yiq($active-background);\\n background-color: $active-background;\\n border-color: $active-border;\\n\\n &:focus {\\n @if $enable-shadows and $btn-active-box-shadow != none {\\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\\n// Button sizes\\n@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\\n padding: $padding-y $padding-x;\\n @include font-size($font-size);\\n line-height: $line-height;\\n // Manually declare to provide an override to the browser default\\n @include border-radius($border-radius, 0);\\n}\\n\",\"//\\n// Base styles\\n//\\n\\n.card {\\n position: relative;\\n display: flex;\\n flex-direction: column;\\n min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\\n height: $card-height;\\n word-wrap: break-word;\\n background-color: $card-bg;\\n background-clip: border-box;\\n border: $card-border-width solid $card-border-color;\\n @include border-radius($card-border-radius);\\n\\n > hr {\\n margin-right: 0;\\n margin-left: 0;\\n }\\n\\n > .list-group {\\n border-top: inherit;\\n border-bottom: inherit;\\n\\n &:first-child {\\n border-top-width: 0;\\n @include border-top-radius($card-inner-border-radius);\\n }\\n\\n &:last-child {\\n border-bottom-width: 0;\\n @include border-bottom-radius($card-inner-border-radius);\\n }\\n }\\n}\\n\\n.card-body {\\n // Enable `flex-grow: 1` for decks and groups so that card blocks take up\\n // as much space as possible, ensuring footers are aligned to the bottom.\\n flex: 1 1 auto;\\n // Workaround for the image size bug in IE\\n // See: https://github.com/twbs/bootstrap/pull/28855\\n min-height: 1px;\\n padding: $card-spacer-x;\\n color: $card-color;\\n}\\n\\n.card-title {\\n margin-bottom: $card-spacer-y;\\n}\\n\\n.card-subtitle {\\n margin-top: -$card-spacer-y / 2;\\n margin-bottom: 0;\\n}\\n\\n.card-text:last-child {\\n margin-bottom: 0;\\n}\\n\\n.card-link {\\n @include hover() {\\n text-decoration: none;\\n }\\n\\n + .card-link {\\n margin-left: $card-spacer-x;\\n }\\n}\\n\\n//\\n// Optional textual caps\\n//\\n\\n.card-header {\\n padding: $card-spacer-y $card-spacer-x;\\n margin-bottom: 0; // Removes the default margin-bottom of \\n color: $card-cap-color;\\n background-color: $card-cap-bg;\\n border-bottom: $card-border-width solid $card-border-color;\\n\\n &:first-child {\\n @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);\\n }\\n\\n + .list-group {\\n .list-group-item:first-child {\\n border-top: 0;\\n }\\n }\\n}\\n\\n.card-footer {\\n padding: $card-spacer-y $card-spacer-x;\\n color: $card-cap-color;\\n background-color: $card-cap-bg;\\n border-top: $card-border-width solid $card-border-color;\\n\\n &:last-child {\\n @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);\\n }\\n}\\n\\n\\n//\\n// Header navs\\n//\\n\\n.card-header-tabs {\\n margin-right: -$card-spacer-x / 2;\\n margin-bottom: -$card-spacer-y;\\n margin-left: -$card-spacer-x / 2;\\n border-bottom: 0;\\n}\\n\\n.card-header-pills {\\n margin-right: -$card-spacer-x / 2;\\n margin-left: -$card-spacer-x / 2;\\n}\\n\\n// Card image\\n.card-img-overlay {\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n padding: $card-img-overlay-padding;\\n}\\n\\n.card-img,\\n.card-img-top,\\n.card-img-bottom {\\n flex-shrink: 0; // For IE: https://github.com/twbs/bootstrap/issues/29396\\n width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\\n}\\n\\n.card-img,\\n.card-img-top {\\n @include border-top-radius($card-inner-border-radius);\\n}\\n\\n.card-img,\\n.card-img-bottom {\\n @include border-bottom-radius($card-inner-border-radius);\\n}\\n\\n\\n// Card deck\\n\\n.card-deck {\\n .card {\\n margin-bottom: $card-deck-margin;\\n }\\n\\n @include media-breakpoint-up(sm) {\\n display: flex;\\n flex-flow: row wrap;\\n margin-right: -$card-deck-margin;\\n margin-left: -$card-deck-margin;\\n\\n .card {\\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\\n flex: 1 0 0%;\\n margin-right: $card-deck-margin;\\n margin-bottom: 0; // Override the default\\n margin-left: $card-deck-margin;\\n }\\n }\\n}\\n\\n\\n//\\n// Card groups\\n//\\n\\n.card-group {\\n // The child selector allows nested `.card` within `.card-group`\\n // to display properly.\\n > .card {\\n margin-bottom: $card-group-margin;\\n }\\n\\n @include media-breakpoint-up(sm) {\\n display: flex;\\n flex-flow: row wrap;\\n // The child selector allows nested `.card` within `.card-group`\\n // to display properly.\\n > .card {\\n // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\\n flex: 1 0 0%;\\n margin-bottom: 0;\\n\\n + .card {\\n margin-left: 0;\\n border-left: 0;\\n }\\n\\n // Handle rounded corners\\n @if $enable-rounded {\\n &:not(:last-child) {\\n @include border-right-radius(0);\\n\\n .card-img-top,\\n .card-header {\\n // stylelint-disable-next-line property-blacklist\\n border-top-right-radius: 0;\\n }\\n .card-img-bottom,\\n .card-footer {\\n // stylelint-disable-next-line property-blacklist\\n border-bottom-right-radius: 0;\\n }\\n }\\n\\n &:not(:first-child) {\\n @include border-left-radius(0);\\n\\n .card-img-top,\\n .card-header {\\n // stylelint-disable-next-line property-blacklist\\n border-top-left-radius: 0;\\n }\\n .card-img-bottom,\\n .card-footer {\\n // stylelint-disable-next-line property-blacklist\\n border-bottom-left-radius: 0;\\n }\\n }\\n }\\n }\\n }\\n}\\n\\n\\n//\\n// Columns\\n//\\n\\n.card-columns {\\n .card {\\n margin-bottom: $card-columns-margin;\\n }\\n\\n @include media-breakpoint-up(sm) {\\n column-count: $card-columns-count;\\n column-gap: $card-columns-gap;\\n orphans: 1;\\n widows: 1;\\n\\n .card {\\n display: inline-block; // Don't let them vertically span multiple columns\\n width: 100%; // Don't let their width change\\n }\\n }\\n}\\n\\n\\n//\\n// Accordion\\n//\\n\\n.accordion {\\n > .card {\\n overflow: hidden;\\n\\n &:not(:last-of-type) {\\n border-bottom: 0;\\n @include border-bottom-radius(0);\\n }\\n\\n &:not(:first-of-type) {\\n @include border-top-radius(0);\\n }\\n\\n > .card-header {\\n @include border-radius(0);\\n margin-bottom: -$card-border-width;\\n }\\n }\\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 @return if($n != null and $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. Null for the largest (last) breakpoint.\\n// The maximum value is calculated as the minimum of the next one less 0.02px\\n// to work around the limitations of `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(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\\n// 767.98px\\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\\n $next: breakpoint-next($name, $breakpoints);\\n @return if($next, breakpoint-min($next, $breakpoints) - .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 $max: breakpoint-max($name, $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($name, $breakpoints) {\\n @content;\\n }\\n } @else if $min == null {\\n @include media-breakpoint-down($name, $breakpoints) {\\n @content;\\n }\\n }\\n}\\n\",\"// Notes on the classes:\\n//\\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\\n// even when their scroll action started on a carousel, but for compatibility (with Firefox)\\n// we're preventing all actions instead\\n// 2. The .carousel-item-left and .carousel-item-right is used to indicate where\\n// the active slide is heading.\\n// 3. .active.carousel-item is the current slide.\\n// 4. .active.carousel-item-left and .active.carousel-item-right is the current\\n// slide in its in-transition state. Only one of these occurs at a time.\\n// 5. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right\\n// is the upcoming slide in transition.\\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 @include clearfix();\\n}\\n\\n.carousel-item {\\n position: relative;\\n display: none;\\n float: left;\\n width: 100%;\\n margin-right: -100%;\\n backface-visibility: hidden;\\n @include transition($carousel-transition);\\n}\\n\\n.carousel-item.active,\\n.carousel-item-next,\\n.carousel-item-prev {\\n display: block;\\n}\\n\\n.carousel-item-next:not(.carousel-item-left),\\n.active.carousel-item-right {\\n transform: translateX(100%);\\n}\\n\\n.carousel-item-prev:not(.carousel-item-right),\\n.active.carousel-item-left {\\n transform: translateX(-100%);\\n}\\n\\n\\n//\\n// Alternate transitions\\n//\\n\\n.carousel-fade {\\n .carousel-item {\\n opacity: 0;\\n transition-property: opacity;\\n transform: none;\\n }\\n\\n .carousel-item.active,\\n .carousel-item-next.carousel-item-left,\\n .carousel-item-prev.carousel-item-right {\\n z-index: 1;\\n opacity: 1;\\n }\\n\\n .active.carousel-item-left,\\n .active.carousel-item-right {\\n z-index: 0;\\n opacity: 0;\\n @include transition(opacity 0s $carousel-transition-duration);\\n }\\n}\\n\\n\\n//\\n// Left/right controls for nav\\n//\\n\\n.carousel-control-prev,\\n.carousel-control-next {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n z-index: 1;\\n // Use flex for alignment (1-3)\\n display: flex; // 1. allow flex styles\\n align-items: center; // 2. vertically center contents\\n justify-content: center; // 3. horizontally center contents\\n width: $carousel-control-width;\\n color: $carousel-control-color;\\n text-align: center;\\n opacity: $carousel-control-opacity;\\n @include transition($carousel-control-transition);\\n\\n // Hover/focus state\\n @include hover-focus() {\\n color: $carousel-control-color;\\n text-decoration: none;\\n outline: 0;\\n opacity: $carousel-control-hover-opacity;\\n }\\n}\\n.carousel-control-prev {\\n left: 0;\\n @if $enable-gradients {\\n background-image: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));\\n }\\n}\\n.carousel-control-next {\\n right: 0;\\n @if $enable-gradients {\\n background-image: linear-gradient(270deg, rgba($black, .25), rgba($black, .001));\\n }\\n}\\n\\n// Icons for within\\n.carousel-control-prev-icon,\\n.carousel-control-next-icon {\\n display: inline-block;\\n width: $carousel-control-icon-width;\\n height: $carousel-control-icon-width;\\n background: no-repeat 50% / 100% 100%;\\n}\\n.carousel-control-prev-icon {\\n background-image: escape-svg($carousel-control-prev-icon-bg);\\n}\\n.carousel-control-next-icon {\\n background-image: escape-svg($carousel-control-next-icon-bg);\\n}\\n\\n\\n// Optional indicator pips\\n//\\n// Add an ordered list with the following class and add a list item for each\\n// slide your carousel holds.\\n\\n.carousel-indicators {\\n position: absolute;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n z-index: 15;\\n display: flex;\\n justify-content: center;\\n padding-left: 0; // override default\\n // Use the .carousel-control's width as margin so we don't overlay those\\n margin-right: $carousel-control-width;\\n margin-left: $carousel-control-width;\\n list-style: none;\\n\\n li {\\n box-sizing: content-box;\\n flex: 0 1 auto;\\n width: $carousel-indicator-width;\\n height: $carousel-indicator-height;\\n margin-right: $carousel-indicator-spacer;\\n margin-left: $carousel-indicator-spacer;\\n text-indent: -999px;\\n cursor: pointer;\\n background-color: $carousel-indicator-active-bg;\\n background-clip: padding-box;\\n // Use transparent borders to increase the hit area by 10px on top and bottom.\\n border-top: $carousel-indicator-hit-area-height solid transparent;\\n border-bottom: $carousel-indicator-hit-area-height solid transparent;\\n opacity: .5;\\n @include transition($carousel-indicator-transition);\\n }\\n\\n .active {\\n opacity: 1;\\n }\\n}\\n\\n\\n// Optional captions\\n//\\n//\\n\\n.carousel-caption {\\n position: absolute;\\n right: (100% - $carousel-caption-width) / 2;\\n bottom: 20px;\\n left: (100% - $carousel-caption-width) / 2;\\n z-index: 10;\\n padding-top: 20px;\\n padding-bottom: 20px;\\n color: $carousel-caption-color;\\n text-align: center;\\n}\\n\",\"@mixin clearfix() {\\n &::after {\\n display: block;\\n clear: both;\\n content: \\\"\\\";\\n }\\n}\\n\",\".close {\\n float: right;\\n @include font-size($close-font-size);\\n font-weight: $close-font-weight;\\n line-height: 1;\\n color: $close-color;\\n text-shadow: $close-text-shadow;\\n opacity: .5;\\n\\n // Override 's hover style\\n @include hover() {\\n color: $close-color;\\n text-decoration: none;\\n }\\n\\n &:not(:disabled):not(.disabled) {\\n @include hover-focus() {\\n opacity: .75;\\n }\\n }\\n}\\n\\n// Additional properties for button version\\n// iOS requires the button element instead of an anchor tag.\\n// If you want the anchor version, it requires `href=\\\"#\\\"`.\\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\\n\\n// stylelint-disable-next-line selector-no-qualifying-type\\nbutton.close {\\n padding: 0;\\n background-color: transparent;\\n border: 0;\\n}\\n\\n// Future-proof disabling of clicks on `` elements\\n\\n// stylelint-disable-next-line selector-no-qualifying-type\\na.close.disabled {\\n pointer-events: none;\\n}\\n\",\"// Inline code\\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\\n// User input typically entered via keyboard\\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 @include box-shadow($kbd-box-shadow);\\n\\n kbd {\\n padding: 0;\\n @include font-size(100%);\\n font-weight: $nested-kbd-font-weight;\\n @include box-shadow(none);\\n }\\n}\\n\\n// Blocks of code\\npre {\\n display: block;\\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\\n// Enable scrollable blocks of code\\n.pre-scrollable {\\n max-height: $pre-scrollable-max-height;\\n overflow-y: scroll;\\n}\\n\",\"// Embedded icons from Open Iconic.\\n// Released under MIT and copyright 2014 Waybury.\\n// https://useiconic.com/open\\n\\n\\n// Checkboxes and radios\\n//\\n// Base class takes care of all the key behavioral aspects.\\n\\n.custom-control {\\n position: relative;\\n display: block;\\n min-height: $font-size-base * $line-height-base;\\n padding-left: $custom-control-gutter + $custom-control-indicator-size;\\n}\\n\\n.custom-control-inline {\\n display: inline-flex;\\n margin-right: $custom-control-spacer-x;\\n}\\n\\n.custom-control-input {\\n position: absolute;\\n left: 0;\\n z-index: -1; // Put the input behind the label so it doesn't overlay text\\n width: $custom-control-indicator-size;\\n height: ($font-size-base * $line-height-base + $custom-control-indicator-size) / 2;\\n opacity: 0;\\n\\n &:checked ~ .custom-control-label::before {\\n color: $custom-control-indicator-checked-color;\\n border-color: $custom-control-indicator-checked-border-color;\\n @include gradient-bg($custom-control-indicator-checked-bg);\\n @include box-shadow($custom-control-indicator-checked-box-shadow);\\n }\\n\\n &:focus ~ .custom-control-label::before {\\n // the mixin is not used here to make sure there is feedback\\n @if $enable-shadows {\\n box-shadow: $input-box-shadow, $input-focus-box-shadow;\\n } @else {\\n box-shadow: $custom-control-indicator-focus-box-shadow;\\n }\\n }\\n\\n &:focus:not(:checked) ~ .custom-control-label::before {\\n border-color: $custom-control-indicator-focus-border-color;\\n }\\n\\n &:not(:disabled):active ~ .custom-control-label::before {\\n color: $custom-control-indicator-active-color;\\n background-color: $custom-control-indicator-active-bg;\\n border-color: $custom-control-indicator-active-border-color;\\n @include box-shadow($custom-control-indicator-active-box-shadow);\\n }\\n\\n // Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247\\n &[disabled],\\n &:disabled {\\n ~ .custom-control-label {\\n color: $custom-control-label-disabled-color;\\n\\n &::before {\\n background-color: $custom-control-indicator-disabled-bg;\\n }\\n }\\n }\\n}\\n\\n// Custom control indicators\\n//\\n// Build the custom controls out of pseudo-elements.\\n\\n.custom-control-label {\\n position: relative;\\n margin-bottom: 0;\\n color: $custom-control-label-color;\\n vertical-align: top;\\n cursor: $custom-control-cursor;\\n\\n // Background-color and (when enabled) gradient\\n &::before {\\n position: absolute;\\n top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2;\\n left: -($custom-control-gutter + $custom-control-indicator-size);\\n display: block;\\n width: $custom-control-indicator-size;\\n height: $custom-control-indicator-size;\\n pointer-events: none;\\n content: \\\"\\\";\\n background-color: $custom-control-indicator-bg;\\n border: $custom-control-indicator-border-color solid $custom-control-indicator-border-width;\\n @include box-shadow($custom-control-indicator-box-shadow);\\n }\\n\\n // Foreground (icon)\\n &::after {\\n position: absolute;\\n top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2;\\n left: -($custom-control-gutter + $custom-control-indicator-size);\\n display: block;\\n width: $custom-control-indicator-size;\\n height: $custom-control-indicator-size;\\n content: \\\"\\\";\\n background: no-repeat 50% / #{$custom-control-indicator-bg-size};\\n }\\n}\\n\\n\\n// Checkboxes\\n//\\n// Tweak just a few things for checkboxes.\\n\\n.custom-checkbox {\\n .custom-control-label::before {\\n @include border-radius($custom-checkbox-indicator-border-radius);\\n }\\n\\n .custom-control-input:checked ~ .custom-control-label {\\n &::after {\\n background-image: escape-svg($custom-checkbox-indicator-icon-checked);\\n }\\n }\\n\\n .custom-control-input:indeterminate ~ .custom-control-label {\\n &::before {\\n border-color: $custom-checkbox-indicator-indeterminate-border-color;\\n @include gradient-bg($custom-checkbox-indicator-indeterminate-bg);\\n @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow);\\n }\\n &::after {\\n background-image: escape-svg($custom-checkbox-indicator-icon-indeterminate);\\n }\\n }\\n\\n .custom-control-input:disabled {\\n &:checked ~ .custom-control-label::before {\\n background-color: $custom-control-indicator-checked-disabled-bg;\\n }\\n &:indeterminate ~ .custom-control-label::before {\\n background-color: $custom-control-indicator-checked-disabled-bg;\\n }\\n }\\n}\\n\\n// Radios\\n//\\n// Tweak just a few things for radios.\\n\\n.custom-radio {\\n .custom-control-label::before {\\n // stylelint-disable-next-line property-blacklist\\n border-radius: $custom-radio-indicator-border-radius;\\n }\\n\\n .custom-control-input:checked ~ .custom-control-label {\\n &::after {\\n background-image: escape-svg($custom-radio-indicator-icon-checked);\\n }\\n }\\n\\n .custom-control-input:disabled {\\n &:checked ~ .custom-control-label::before {\\n background-color: $custom-control-indicator-checked-disabled-bg;\\n }\\n }\\n}\\n\\n\\n// switches\\n//\\n// Tweak a few things for switches\\n\\n.custom-switch {\\n padding-left: $custom-switch-width + $custom-control-gutter;\\n\\n .custom-control-label {\\n &::before {\\n left: -($custom-switch-width + $custom-control-gutter);\\n width: $custom-switch-width;\\n pointer-events: all;\\n // stylelint-disable-next-line property-blacklist\\n border-radius: $custom-switch-indicator-border-radius;\\n }\\n\\n &::after {\\n top: add(($font-size-base * $line-height-base - $custom-control-indicator-size) / 2, $custom-control-indicator-border-width * 2);\\n left: add(-($custom-switch-width + $custom-control-gutter), $custom-control-indicator-border-width * 2);\\n width: $custom-switch-indicator-size;\\n height: $custom-switch-indicator-size;\\n background-color: $custom-control-indicator-border-color;\\n // stylelint-disable-next-line property-blacklist\\n border-radius: $custom-switch-indicator-border-radius;\\n @include transition(transform .15s ease-in-out, $custom-forms-transition);\\n }\\n }\\n\\n .custom-control-input:checked ~ .custom-control-label {\\n &::after {\\n background-color: $custom-control-indicator-bg;\\n transform: translateX($custom-switch-width - $custom-control-indicator-size);\\n }\\n }\\n\\n .custom-control-input:disabled {\\n &:checked ~ .custom-control-label::before {\\n background-color: $custom-control-indicator-checked-disabled-bg;\\n }\\n }\\n}\\n\\n\\n// Select\\n//\\n// Replaces the browser default select with a custom one, mostly pulled from\\n// https://primer.github.io/.\\n//\\n\\n.custom-select {\\n display: inline-block;\\n width: 100%;\\n height: $custom-select-height;\\n padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x;\\n font-family: $custom-select-font-family;\\n @include font-size($custom-select-font-size);\\n font-weight: $custom-select-font-weight;\\n line-height: $custom-select-line-height;\\n color: $custom-select-color;\\n vertical-align: middle;\\n background: $custom-select-bg $custom-select-background;\\n border: $custom-select-border-width solid $custom-select-border-color;\\n @include border-radius($custom-select-border-radius, 0);\\n @include box-shadow($custom-select-box-shadow);\\n appearance: none;\\n\\n &:focus {\\n border-color: $custom-select-focus-border-color;\\n outline: 0;\\n @if $enable-shadows {\\n @include box-shadow($custom-select-box-shadow, $custom-select-focus-box-shadow);\\n } @else {\\n // Avoid using mixin so we can pass custom focus shadow properly\\n box-shadow: $custom-select-focus-box-shadow;\\n }\\n\\n &::-ms-value {\\n // For visual consistency with other platforms/browsers,\\n // suppress the default white text on blue background highlight given to\\n // the selected option text when the (still closed) receives focus\\n // in IE and (under certain conditions) Edge.\\n // See https://github.com/twbs/bootstrap/issues/19398.\\n color: $input-color;\\n background-color: $input-bg;\\n }\\n }\\n\\n &[multiple],\\n &[size]:not([size=\\\"1\\\"]) {\\n height: auto;\\n padding-right: $custom-select-padding-x;\\n background-image: none;\\n }\\n\\n &:disabled {\\n color: $custom-select-disabled-color;\\n background-color: $custom-select-disabled-bg;\\n }\\n\\n // Hides the default caret in IE11\\n &::-ms-expand {\\n display: none;\\n }\\n\\n // Remove outline from select box in FF\\n &:-moz-focusring {\\n color: transparent;\\n text-shadow: 0 0 0 $custom-select-color;\\n }\\n}\\n\\n.custom-select-sm {\\n height: $custom-select-height-sm;\\n padding-top: $custom-select-padding-y-sm;\\n padding-bottom: $custom-select-padding-y-sm;\\n padding-left: $custom-select-padding-x-sm;\\n @include font-size($custom-select-font-size-sm);\\n}\\n\\n.custom-select-lg {\\n height: $custom-select-height-lg;\\n padding-top: $custom-select-padding-y-lg;\\n padding-bottom: $custom-select-padding-y-lg;\\n padding-left: $custom-select-padding-x-lg;\\n @include font-size($custom-select-font-size-lg);\\n}\\n\\n\\n// File\\n//\\n// Custom file input.\\n\\n.custom-file {\\n position: relative;\\n display: inline-block;\\n width: 100%;\\n height: $custom-file-height;\\n margin-bottom: 0;\\n}\\n\\n.custom-file-input {\\n position: relative;\\n z-index: 2;\\n width: 100%;\\n height: $custom-file-height;\\n margin: 0;\\n opacity: 0;\\n\\n &:focus ~ .custom-file-label {\\n border-color: $custom-file-focus-border-color;\\n box-shadow: $custom-file-focus-box-shadow;\\n }\\n\\n // Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247\\n &[disabled] ~ .custom-file-label,\\n &:disabled ~ .custom-file-label {\\n background-color: $custom-file-disabled-bg;\\n }\\n\\n @each $lang, $value in $custom-file-text {\\n &:lang(#{$lang}) ~ .custom-file-label::after {\\n content: $value;\\n }\\n }\\n\\n ~ .custom-file-label[data-browse]::after {\\n content: attr(data-browse);\\n }\\n}\\n\\n.custom-file-label {\\n position: absolute;\\n top: 0;\\n right: 0;\\n left: 0;\\n z-index: 1;\\n height: $custom-file-height;\\n padding: $custom-file-padding-y $custom-file-padding-x;\\n font-family: $custom-file-font-family;\\n font-weight: $custom-file-font-weight;\\n line-height: $custom-file-line-height;\\n color: $custom-file-color;\\n background-color: $custom-file-bg;\\n border: $custom-file-border-width solid $custom-file-border-color;\\n @include border-radius($custom-file-border-radius);\\n @include box-shadow($custom-file-box-shadow);\\n\\n &::after {\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n z-index: 3;\\n display: block;\\n height: $custom-file-height-inner;\\n padding: $custom-file-padding-y $custom-file-padding-x;\\n line-height: $custom-file-line-height;\\n color: $custom-file-button-color;\\n content: \\\"Browse\\\";\\n @include gradient-bg($custom-file-button-bg);\\n border-left: inherit;\\n @include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0);\\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.custom-range {\\n width: 100%;\\n height: add($custom-range-thumb-height, $custom-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: none;\\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: $custom-range-thumb-focus-box-shadow; }\\n &::-moz-range-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\\n &::-ms-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }\\n }\\n\\n &::-moz-focus-outer {\\n border: 0;\\n }\\n\\n &::-webkit-slider-thumb {\\n width: $custom-range-thumb-width;\\n height: $custom-range-thumb-height;\\n margin-top: ($custom-range-track-height - $custom-range-thumb-height) / 2; // Webkit specific\\n @include gradient-bg($custom-range-thumb-bg);\\n border: $custom-range-thumb-border;\\n @include border-radius($custom-range-thumb-border-radius);\\n @include box-shadow($custom-range-thumb-box-shadow);\\n @include transition($custom-forms-transition);\\n appearance: none;\\n\\n &:active {\\n @include gradient-bg($custom-range-thumb-active-bg);\\n }\\n }\\n\\n &::-webkit-slider-runnable-track {\\n width: $custom-range-track-width;\\n height: $custom-range-track-height;\\n color: transparent; // Why?\\n cursor: $custom-range-track-cursor;\\n background-color: $custom-range-track-bg;\\n border-color: transparent;\\n @include border-radius($custom-range-track-border-radius);\\n @include box-shadow($custom-range-track-box-shadow);\\n }\\n\\n &::-moz-range-thumb {\\n width: $custom-range-thumb-width;\\n height: $custom-range-thumb-height;\\n @include gradient-bg($custom-range-thumb-bg);\\n border: $custom-range-thumb-border;\\n @include border-radius($custom-range-thumb-border-radius);\\n @include box-shadow($custom-range-thumb-box-shadow);\\n @include transition($custom-forms-transition);\\n appearance: none;\\n\\n &:active {\\n @include gradient-bg($custom-range-thumb-active-bg);\\n }\\n }\\n\\n &::-moz-range-track {\\n width: $custom-range-track-width;\\n height: $custom-range-track-height;\\n color: transparent;\\n cursor: $custom-range-track-cursor;\\n background-color: $custom-range-track-bg;\\n border-color: transparent; // Firefox specific?\\n @include border-radius($custom-range-track-border-radius);\\n @include box-shadow($custom-range-track-box-shadow);\\n }\\n\\n &::-ms-thumb {\\n width: $custom-range-thumb-width;\\n height: $custom-range-thumb-height;\\n margin-top: 0; // Edge specific\\n margin-right: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\\n margin-left: $custom-range-thumb-focus-box-shadow-width; // Workaround that overflowed box-shadow is hidden.\\n @include gradient-bg($custom-range-thumb-bg);\\n border: $custom-range-thumb-border;\\n @include border-radius($custom-range-thumb-border-radius);\\n @include box-shadow($custom-range-thumb-box-shadow);\\n @include transition($custom-forms-transition);\\n appearance: none;\\n\\n &:active {\\n @include gradient-bg($custom-range-thumb-active-bg);\\n }\\n }\\n\\n &::-ms-track {\\n width: $custom-range-track-width;\\n height: $custom-range-track-height;\\n color: transparent;\\n cursor: $custom-range-track-cursor;\\n background-color: transparent;\\n border-color: transparent;\\n border-width: $custom-range-thumb-height / 2;\\n @include box-shadow($custom-range-track-box-shadow);\\n }\\n\\n &::-ms-fill-lower {\\n background-color: $custom-range-track-bg;\\n @include border-radius($custom-range-track-border-radius);\\n }\\n\\n &::-ms-fill-upper {\\n margin-right: 15px; // arbitrary?\\n background-color: $custom-range-track-bg;\\n @include border-radius($custom-range-track-border-radius);\\n }\\n\\n &:disabled {\\n &::-webkit-slider-thumb {\\n background-color: $custom-range-thumb-disabled-bg;\\n }\\n\\n &::-webkit-slider-runnable-track {\\n cursor: default;\\n }\\n\\n &::-moz-range-thumb {\\n background-color: $custom-range-thumb-disabled-bg;\\n }\\n\\n &::-moz-range-track {\\n cursor: default;\\n }\\n\\n &::-ms-thumb {\\n background-color: $custom-range-thumb-disabled-bg;\\n }\\n }\\n}\\n\\n.custom-control-label::before,\\n.custom-file-label,\\n.custom-select {\\n @include transition($custom-forms-transition);\\n}\\n\",\"// The dropdown wrapper (``)\\n.dropup,\\n.dropright,\\n.dropdown,\\n.dropleft {\\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 top: 100%;\\n left: 0;\\n z-index: $zindex-dropdown;\\n display: none; // none by default, but block on \\\"open\\\" of the menu\\n float: left;\\n min-width: $dropdown-min-width;\\n padding: $dropdown-padding-y 0;\\n margin: $dropdown-spacer 0 0; // override default 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\\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}-left {\\n right: auto;\\n left: 0;\\n }\\n\\n .dropdown-menu#{$infix}-right {\\n right: 0;\\n left: auto;\\n }\\n }\\n}\\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 {\\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.dropright {\\n .dropdown-menu {\\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(right);\\n &::after {\\n vertical-align: 0;\\n }\\n }\\n}\\n\\n.dropleft {\\n .dropdown-menu {\\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(left);\\n &::before {\\n vertical-align: 0;\\n }\\n }\\n}\\n\\n// When enabled Popper.js, reset basic dropdown position\\n// stylelint-disable-next-line no-duplicate-selectors\\n.dropdown-menu {\\n &[x-placement^=\\\"top\\\"],\\n &[x-placement^=\\\"right\\\"],\\n &[x-placement^=\\\"bottom\\\"],\\n &[x-placement^=\\\"left\\\"] {\\n right: auto;\\n bottom: auto;\\n }\\n}\\n\\n// Dividers (basically an ``) within the dropdown\\n.dropdown-divider {\\n @include nav-divider($dropdown-divider-bg, $dropdown-divider-margin-y, true);\\n}\\n\\n// Links, buttons, and more within the dropdown menu\\n//\\n// ``-specific styles are denoted with `// For s`\\n.dropdown-item {\\n display: block;\\n width: 100%; // For ``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 ``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 ``s\\n border: 0; // For ``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 @include hover-focus() {\\n color: $dropdown-link-hover-color;\\n text-decoration: none;\\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 @if $enable-gradients {\\n background-image: none;\\n }\\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\",\"@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-right() {\\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-left() {\\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 == right {\\n @include caret-right();\\n }\\n }\\n\\n @if $direction == left {\\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-left();\\n }\\n }\\n\\n &:empty::after {\\n margin-left: 0;\\n }\\n }\\n}\\n\",\"// Horizontal dividers\\n//\\n// Dividers (basically an hr) within dropdowns and nav lists\\n\\n@mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y, $ignore-warning: false) {\\n height: 0;\\n margin: $margin-y 0;\\n overflow: hidden;\\n border-top: 1px solid $color;\\n @include deprecate(\\\"The `nav-divider()` mixin\\\", \\\"v4.4.0\\\", \\\"v5\\\", $ignore-warning);\\n}\\n\",\"// stylelint-disable selector-no-qualifying-type\\n\\n//\\n// Textual form controls\\n//\\n\\n.form-control {\\n display: block;\\n width: 100%;\\n height: $input-height;\\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\\n // Note: This has no effect on s in some browsers, due to the limited stylability of ``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 // Unstyle the caret on ``s in IE10+.\\n &::-ms-expand {\\n background-color: transparent;\\n border: 0;\\n }\\n\\n // Remove select outline from select box in FF\\n &:-moz-focusring {\\n color: transparent;\\n text-shadow: 0 0 0 $input-color;\\n }\\n\\n // Customize the `:focus` state to imitate native WebKit styles.\\n @include form-control-focus($ignore-warning: true);\\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 // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\\n opacity: 1;\\n }\\n}\\n\\ninput[type=\\\"date\\\"],\\ninput[type=\\\"time\\\"],\\ninput[type=\\\"datetime-local\\\"],\\ninput[type=\\\"month\\\"] {\\n &.form-control {\\n appearance: none; // Fix appearance for date inputs in Safari\\n }\\n}\\n\\nselect.form-control {\\n &:focus::-ms-value {\\n // Suppress the nested default white text on blue background highlight given to\\n // the selected option text when the (still closed) receives focus\\n // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\\n // match the appearance of the native widget.\\n // See https://github.com/twbs/bootstrap/issues/19398.\\n color: $input-color;\\n background-color: $input-bg;\\n }\\n}\\n\\n// Make file inputs better match text inputs by forcing them to new lines.\\n.form-control-file,\\n.form-control-range {\\n display: block;\\n width: 100%;\\n}\\n\\n\\n//\\n// Labels\\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 `/` default\\n @include font-size(inherit); // Override the `` default\\n line-height: $input-line-height;\\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 line-height: $input-line-height-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 line-height: $input-line-height-sm;\\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 @include font-size($input-font-size);\\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\\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 height: $input-height-sm;\\n padding: $input-padding-y-sm $input-padding-x-sm;\\n @include font-size($input-font-size-sm);\\n line-height: $input-line-height-sm;\\n @include border-radius($input-border-radius-sm);\\n}\\n\\n.form-control-lg {\\n height: $input-height-lg;\\n padding: $input-padding-y-lg $input-padding-x-lg;\\n @include font-size($input-font-size-lg);\\n line-height: $input-line-height-lg;\\n @include border-radius($input-border-radius-lg);\\n}\\n\\n// stylelint-disable-next-line no-duplicate-selectors\\nselect.form-control {\\n &[size],\\n &[multiple] {\\n height: auto;\\n }\\n}\\n\\ntextarea.form-control {\\n height: auto;\\n}\\n\\n// Form groups\\n//\\n// Designed to help with the organization and spacing of vertical forms. For\\n// horizontal forms, use the predefined grid classes.\\n\\n.form-group {\\n margin-bottom: $form-group-margin-bottom;\\n}\\n\\n.form-text {\\n display: block;\\n margin-top: $form-text-margin-top;\\n}\\n\\n\\n// Form grid\\n//\\n// Special replacement for our grid system's `.row` for tighter form layouts.\\n\\n.form-row {\\n display: flex;\\n flex-wrap: wrap;\\n margin-right: -$form-grid-gutter-width / 2;\\n margin-left: -$form-grid-gutter-width / 2;\\n\\n > .col,\\n > [class*=\\\"col-\\\"] {\\n padding-right: $form-grid-gutter-width / 2;\\n padding-left: $form-grid-gutter-width / 2;\\n }\\n}\\n\\n\\n// Checkboxes and radios\\n//\\n// Indent the labels to position radios/checkboxes as hanging controls.\\n\\n.form-check {\\n position: relative;\\n display: block;\\n padding-left: $form-check-input-gutter;\\n}\\n\\n.form-check-input {\\n position: absolute;\\n margin-top: $form-check-input-margin-y;\\n margin-left: -$form-check-input-gutter;\\n\\n // Use [disabled] and :disabled for workaround https://github.com/twbs/bootstrap/issues/28247\\n &[disabled] ~ .form-check-label,\\n &:disabled ~ .form-check-label {\\n color: $text-muted;\\n }\\n}\\n\\n.form-check-label {\\n margin-bottom: 0; // Override default `` bottom margin\\n}\\n\\n.form-check-inline {\\n display: inline-flex;\\n align-items: center;\\n padding-left: 0; // Override base .form-check\\n margin-right: $form-check-inline-margin-x;\\n\\n // Undo .form-check-input defaults and add some `margin-right`.\\n .form-check-input {\\n position: static;\\n margin-top: 0;\\n margin-right: $form-check-inline-input-margin-x;\\n margin-left: 0;\\n }\\n}\\n\\n\\n// Form validation\\n//\\n// Provide feedback to users when form field values are valid or invalid. Works\\n// primarily for client-side validation via scoped `:invalid` and `:valid`\\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\\n// server side validation.\\n\\n@each $state, $data in $form-validation-states {\\n @include form-validation-state($state, map-get($data, color), map-get($data, icon));\\n}\\n\\n// Inline forms\\n//\\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\\n// forms begin stacked on extra small (mobile) devices and then go inline when\\n// viewports reach <768px.\\n//\\n// Requires wrapping inputs and labels with `.form-group` for proper display of\\n// default HTML form controls and our custom form controls (e.g., input groups).\\n\\n.form-inline {\\n display: flex;\\n flex-flow: row wrap;\\n align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)\\n\\n // Because we use flex, the initial sizing of checkboxes is collapsed and\\n // doesn't occupy the full-width (which is what we want for xs grid tier),\\n // so we force that here.\\n .form-check {\\n width: 100%;\\n }\\n\\n // Kick in the inline\\n @include media-breakpoint-up(sm) {\\n label {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n margin-bottom: 0;\\n }\\n\\n // Inline-block all the things for \\\"inline\\\"\\n .form-group {\\n display: flex;\\n flex: 0 0 auto;\\n flex-flow: row wrap;\\n align-items: center;\\n margin-bottom: 0;\\n }\\n\\n // Allow folks to *not* use `.form-group`\\n .form-control {\\n display: inline-block;\\n width: auto; // Prevent labels from stacking above inputs in `.form-group`\\n vertical-align: middle;\\n }\\n\\n // Make static controls behave like regular ones\\n .form-control-plaintext {\\n display: inline-block;\\n }\\n\\n .input-group,\\n .custom-select {\\n width: auto;\\n }\\n\\n // Remove default margin on radios/checkboxes that were used for stacking, and\\n // then undo the floating of radios and checkboxes to match.\\n .form-check {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: auto;\\n padding-left: 0;\\n }\\n .form-check-input {\\n position: relative;\\n flex-shrink: 0;\\n margin-top: 0;\\n margin-right: $form-check-input-margin-x;\\n margin-left: 0;\\n }\\n\\n .custom-control {\\n align-items: center;\\n justify-content: center;\\n }\\n .custom-control-label {\\n margin-bottom: 0;\\n }\\n }\\n}\\n\",\"// Form control focus state\\n//\\n// Generate a customized focus state and for any input with the specified color,\\n// which defaults to the `$input-focus-border-color` variable.\\n//\\n// We highly encourage you to not customize the default value, but instead use\\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\\n// WebKit's default styles, but applicable to a wider range of browsers. Its\\n// usability and accessibility should be taken into account with any change.\\n//\\n// Example usage: change the default blue border and shadow to white for better\\n// contrast against a dark gray background.\\n@mixin form-control-focus($ignore-warning: false) {\\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 @include deprecate(\\\"The `form-control-focus()` mixin\\\", \\\"v4.4.0\\\", \\\"v5\\\", $ignore-warning);\\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@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($state, $color, $icon) {\\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 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: color-yiq($color);\\n background-color: rgba($color, $form-feedback-tooltip-opacity);\\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: 0 0 0 $input-focus-width rgba($color, .25);\\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 .custom-select {\\n @include form-validation-state-selector($state) {\\n border-color: $color;\\n\\n @if $enable-validation-icons {\\n padding-right: $custom-select-feedback-icon-padding-right;\\n background: $custom-select-background, escape-svg($icon) $custom-select-bg no-repeat $custom-select-feedback-icon-position / $custom-select-feedback-icon-size;\\n }\\n\\n &:focus {\\n border-color: $color;\\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\\n }\\n }\\n }\\n\\n .form-check-input {\\n @include form-validation-state-selector($state) {\\n ~ .form-check-label {\\n color: $color;\\n }\\n\\n ~ .#{$state}-feedback,\\n ~ .#{$state}-tooltip {\\n display: block;\\n }\\n }\\n }\\n\\n .custom-control-input {\\n @include form-validation-state-selector($state) {\\n ~ .custom-control-label {\\n color: $color;\\n\\n &::before {\\n border-color: $color;\\n }\\n }\\n\\n &:checked {\\n ~ .custom-control-label::before {\\n border-color: lighten($color, 10%);\\n @include gradient-bg(lighten($color, 10%));\\n }\\n }\\n\\n &:focus {\\n ~ .custom-control-label::before {\\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\\n }\\n\\n &:not(:checked) ~ .custom-control-label::before {\\n border-color: $color;\\n }\\n }\\n }\\n }\\n\\n // custom file\\n .custom-file-input {\\n @include form-validation-state-selector($state) {\\n ~ .custom-file-label {\\n border-color: $color;\\n }\\n\\n &:focus {\\n ~ .custom-file-label {\\n border-color: $color;\\n box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\\n }\\n }\\n }\\n }\\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 @include make-container();\\n @include make-container-max-widths();\\n }\\n\\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\\n\\n// Row\\n//\\n// Rows contain your columns.\\n\\n@if $enable-grid-classes {\\n .row {\\n @include make-row();\\n }\\n\\n // Remove the negative margin from default .row, then the horizontal padding\\n // from all immediate children columns (to prevent runaway style inheritance).\\n .no-gutters {\\n margin-right: 0;\\n margin-left: 0;\\n\\n > .col,\\n > [class*=\\\"col-\\\"] {\\n padding-right: 0;\\n padding-left: 0;\\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-container($gutter: $grid-gutter-width) {\\n width: 100%;\\n padding-right: $gutter / 2;\\n padding-left: $gutter / 2;\\n margin-right: auto;\\n margin-left: auto;\\n}\\n\\n\\n// For each breakpoint, define the maximum width of the container in a media query\\n@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {\\n @each $breakpoint, $container-max-width in $max-widths {\\n @include media-breakpoint-up($breakpoint, $breakpoints) {\\n max-width: $container-max-width;\\n }\\n }\\n}\\n\\n@mixin make-row($gutter: $grid-gutter-width) {\\n display: flex;\\n flex-wrap: wrap;\\n margin-right: -$gutter / 2;\\n margin-left: -$gutter / 2;\\n}\\n\\n@mixin make-col-ready($gutter: $grid-gutter-width) {\\n position: relative;\\n // Prevent columns from becoming too narrow when at smaller grid tiers by\\n // always setting `width: 100%;`. This works because we use `flex` values\\n // later on to override this initial width.\\n width: 100%;\\n padding-right: $gutter / 2;\\n padding-left: $gutter / 2;\\n}\\n\\n@mixin make-col($size, $columns: $grid-columns) {\\n flex: 0 0 percentage($size / $columns);\\n // Add a `max-width` to ensure content within each column does not blow out\\n // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari\\n // do not appear to require this.\\n max-width: percentage($size / $columns);\\n}\\n\\n@mixin make-col-auto() {\\n flex: 0 0 auto;\\n width: auto;\\n max-width: 100%; // Reset earlier grid tiers\\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 100% / $count;\\n max-width: 100% / $count;\\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 // Common properties for all breakpoints\\n %grid-column {\\n position: relative;\\n width: 100%;\\n padding-right: $gutter / 2;\\n padding-left: $gutter / 2;\\n }\\n\\n @each $breakpoint in map-keys($breakpoints) {\\n $infix: breakpoint-infix($breakpoint, $breakpoints);\\n\\n @if $columns > 0 {\\n // Allow columns to stretch full width below their breakpoints\\n @for $i from 1 through $columns {\\n .col#{$infix}-#{$i} {\\n @extend %grid-column;\\n }\\n }\\n }\\n\\n .col#{$infix},\\n .col#{$infix}-auto {\\n @extend %grid-column;\\n }\\n\\n @include media-breakpoint-up($breakpoint, $breakpoints) {\\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\\n .col#{$infix} {\\n flex-basis: 0;\\n flex-grow: 1;\\n min-width: 0; // See https://github.com/twbs/bootstrap/issues/25410\\n max-width: 100%;\\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\\n .order#{$infix}-first { order: -1; }\\n\\n .order#{$infix}-last { order: $columns + 1; }\\n\\n @for $i from 0 through $columns {\\n .order#{$infix}-#{$i} { order: $i; }\\n }\\n\\n @if $columns > 0 {\\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 }\\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 ``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\\n\\n// Retina image\\n//\\n// Short retina mixin for setting background-image and -size.\\n\\n@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {\\n background-image: url($file-1x);\\n\\n // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,\\n // but doesn't convert dppx=>dpi.\\n // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.\\n // Compatibility info: https://caniuse.com/#feat=css-media-resolution\\n @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx\\n only screen and (min-resolution: 2dppx) { // Standardized\\n background-image: url($file-2x);\\n background-size: $width-1x $height-1x;\\n }\\n @include deprecate(\\\"`img-retina()`\\\", \\\"v4.3.0\\\", \\\"v5\\\");\\n}\\n\",\"// stylelint-disable selector-no-qualifying-type\\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-control-plaintext,\\n > .custom-select,\\n > .custom-file {\\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 margin-bottom: 0;\\n\\n + .form-control,\\n + .custom-select,\\n + .custom-file {\\n margin-left: -$input-border-width;\\n }\\n }\\n\\n // Bring the \\\"active\\\" form control to the top of surrounding elements\\n > .form-control:focus,\\n > .custom-select:focus,\\n > .custom-file .custom-file-input:focus ~ .custom-file-label {\\n z-index: 3;\\n }\\n\\n // Bring the custom file input above the label\\n > .custom-file .custom-file-input:focus {\\n z-index: 4;\\n }\\n\\n > .form-control,\\n > .custom-select {\\n &:not(:last-child) { @include border-right-radius(0); }\\n &:not(:first-child) { @include border-left-radius(0); }\\n }\\n\\n // Custom file inputs have more complex markup, thus requiring different\\n // border-radius overrides.\\n > .custom-file {\\n display: flex;\\n align-items: center;\\n\\n &:not(:last-child) .custom-file-label,\\n &:not(:last-child) .custom-file-label::after { @include border-right-radius(0); }\\n &:not(:first-child) .custom-file-label { @include border-left-radius(0); }\\n }\\n}\\n\\n\\n// Prepend and append\\n//\\n// While it requires one extra layer of HTML for each, dedicated prepend and\\n// append elements allow us to 1) be less clever, 2) simplify our selectors, and\\n// 3) support HTML5 form validation.\\n\\n.input-group-prepend,\\n.input-group-append {\\n display: flex;\\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 .btn + .btn,\\n .btn + .input-group-text,\\n .input-group-text + .input-group-text,\\n .input-group-text + .btn {\\n margin-left: -$input-border-width;\\n }\\n}\\n\\n.input-group-prepend { margin-right: -$input-border-width; }\\n.input-group-append { margin-left: -$input-border-width; }\\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-padding-y $input-padding-x;\\n margin-bottom: 0; // Allow use of elements by overriding our default margin-bottom\\n @include font-size($input-font-size); // Match inputs\\n font-weight: $font-weight-normal;\\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 // Nuke default margins from checkboxes and radios to vertically center within.\\n input[type=\\\"radio\\\"],\\n input[type=\\\"checkbox\\\"] {\\n margin-top: 0;\\n }\\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:not(textarea),\\n.input-group-lg > .custom-select {\\n height: $input-height-lg;\\n}\\n\\n.input-group-lg > .form-control,\\n.input-group-lg > .custom-select,\\n.input-group-lg > .input-group-prepend > .input-group-text,\\n.input-group-lg > .input-group-append > .input-group-text,\\n.input-group-lg > .input-group-prepend > .btn,\\n.input-group-lg > .input-group-append > .btn {\\n padding: $input-padding-y-lg $input-padding-x-lg;\\n @include font-size($input-font-size-lg);\\n line-height: $input-line-height-lg;\\n @include border-radius($input-border-radius-lg);\\n}\\n\\n.input-group-sm > .form-control:not(textarea),\\n.input-group-sm > .custom-select {\\n height: $input-height-sm;\\n}\\n\\n.input-group-sm > .form-control,\\n.input-group-sm > .custom-select,\\n.input-group-sm > .input-group-prepend > .input-group-text,\\n.input-group-sm > .input-group-append > .input-group-text,\\n.input-group-sm > .input-group-prepend > .btn,\\n.input-group-sm > .input-group-append > .btn {\\n padding: $input-padding-y-sm $input-padding-x-sm;\\n @include font-size($input-font-size-sm);\\n line-height: $input-line-height-sm;\\n @include border-radius($input-border-radius-sm);\\n}\\n\\n.input-group-lg > .custom-select,\\n.input-group-sm > .custom-select {\\n padding-right: $custom-select-padding-x + $custom-select-indicator-padding;\\n}\\n\\n\\n// Prepend and append 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\\n.input-group > .input-group-prepend > .btn,\\n.input-group > .input-group-prepend > .input-group-text,\\n.input-group > .input-group-append:not(:last-child) > .btn,\\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\\n @include border-right-radius(0);\\n}\\n\\n.input-group > .input-group-append > .btn,\\n.input-group > .input-group-append > .input-group-text,\\n.input-group > .input-group-prepend:not(:first-child) > .btn,\\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\\n @include border-left-radius(0);\\n}\\n\",\".jumbotron {\\n padding: $jumbotron-padding ($jumbotron-padding / 2);\\n margin-bottom: $jumbotron-padding;\\n color: $jumbotron-color;\\n background-color: $jumbotron-bg;\\n @include border-radius($border-radius-lg);\\n\\n @include media-breakpoint-up(sm) {\\n padding: ($jumbotron-padding * 2) $jumbotron-padding;\\n }\\n}\\n\\n.jumbotron-fluid {\\n padding-right: 0;\\n padding-left: 0;\\n @include border-radius(0);\\n}\\n\",\"// Base class\\n//\\n// Easily usable on , , or .\\n\\n.list-group {\\n display: flex;\\n flex-direction: column;\\n\\n // No need to set list-style: none; since .list-group-item is block level\\n padding-left: 0; // reset padding because ul and ol\\n margin-bottom: 0;\\n @include border-radius($list-group-border-radius);\\n}\\n\\n\\n// Interactive list items\\n//\\n// Use anchor or button elements instead of `li`s or `div`s to create interactive\\n// list items. Includes an extra `.active` modifier class for selected items.\\n\\n.list-group-item-action {\\n width: 100%; // For ``s (anchors become 100% by default though)\\n color: $list-group-action-color;\\n text-align: inherit; // For ``s (anchors inherit)\\n\\n // Hover state\\n @include hover-focus() {\\n z-index: 1; // Place hover/focus items above their siblings for proper border styling\\n color: $list-group-action-hover-color;\\n text-decoration: none;\\n background-color: $list-group-hover-bg;\\n }\\n\\n &:active {\\n color: $list-group-action-active-color;\\n background-color: $list-group-action-active-bg;\\n }\\n}\\n\\n\\n// Individual list items\\n//\\n// Use on `li`s or `div`s within the `.list-group` parent.\\n\\n.list-group-item {\\n position: relative;\\n display: block;\\n padding: $list-group-item-padding-y $list-group-item-padding-x;\\n color: $list-group-color;\\n text-decoration: if($link-decoration == none, null, none);\\n background-color: $list-group-bg;\\n border: $list-group-border-width solid $list-group-border-color;\\n\\n &:first-child {\\n @include border-top-radius(inherit);\\n }\\n\\n &:last-child {\\n @include border-bottom-radius(inherit);\\n }\\n\\n &.disabled,\\n &:disabled {\\n color: $list-group-disabled-color;\\n pointer-events: none;\\n background-color: $list-group-disabled-bg;\\n }\\n\\n // Include both here for ``s and ``s\\n &.active {\\n z-index: 2; // Place active items above their siblings for proper border styling\\n color: $list-group-active-color;\\n background-color: $list-group-active-bg;\\n border-color: $list-group-active-border-color;\\n }\\n\\n & + & {\\n border-top-width: 0;\\n\\n &.active {\\n margin-top: -$list-group-border-width;\\n border-top-width: $list-group-border-width;\\n }\\n }\\n}\\n\\n\\n// Horizontal\\n//\\n// Change the layout of list group items from vertical (default) to horizontal.\\n\\n@each $breakpoint in map-keys($grid-breakpoints) {\\n @include media-breakpoint-up($breakpoint) {\\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\\n\\n .list-group-horizontal#{$infix} {\\n flex-direction: row;\\n\\n > .list-group-item {\\n &:first-child {\\n @include border-bottom-left-radius($list-group-border-radius);\\n @include border-top-right-radius(0);\\n }\\n\\n &:last-child {\\n @include border-top-right-radius($list-group-border-radius);\\n @include border-bottom-left-radius(0);\\n }\\n\\n &.active {\\n margin-top: 0;\\n }\\n\\n & + .list-group-item {\\n border-top-width: $list-group-border-width;\\n border-left-width: 0;\\n\\n &.active {\\n margin-left: -$list-group-border-width;\\n border-left-width: $list-group-border-width;\\n }\\n }\\n }\\n }\\n }\\n}\\n\\n\\n// Flush list items\\n//\\n// Remove borders and border-radius to keep list group items edge-to-edge. Most\\n// useful within other components (e.g., cards).\\n\\n.list-group-flush {\\n @include border-radius(0);\\n\\n > .list-group-item {\\n border-width: 0 0 $list-group-border-width;\\n\\n &:last-child {\\n border-bottom-width: 0;\\n }\\n }\\n}\\n\\n\\n// Contextual variants\\n//\\n// Add modifier classes to change text and background color on individual items.\\n// Organizationally, this must come after the `:hover` states.\\n\\n@each $color, $value in $theme-colors {\\n @include list-group-item-variant($color, theme-color-level($color, -9), theme-color-level($color, 6));\\n}\\n\",\"// List Groups\\n\\n@mixin list-group-item-variant($state, $background, $color) {\\n .list-group-item-#{$state} {\\n color: $color;\\n background-color: $background;\\n\\n &.list-group-item-action {\\n @include hover-focus() {\\n color: $color;\\n background-color: darken($background, 5%);\\n }\\n\\n &.active {\\n color: $white;\\n background-color: $color;\\n border-color: $color;\\n }\\n }\\n }\\n}\\n\",\".media {\\n display: flex;\\n align-items: flex-start;\\n}\\n\\n.media-body {\\n flex: 1;\\n}\\n\",\"// .modal-open - body class for killing the scroll\\n// .modal - container to scroll within\\n// .modal-dialog - positioning shell for the actual modal\\n// .modal-content - actual modal w/ bg and corners and stuff\\n\\n\\n.modal-open {\\n // Kill the scroll on the body\\n overflow: hidden;\\n\\n .modal {\\n overflow-x: hidden;\\n overflow-y: auto;\\n }\\n}\\n\\n// Container that the modal scrolls within\\n.modal {\\n position: fixed;\\n top: 0;\\n left: 0;\\n z-index: $zindex-modal;\\n display: none;\\n width: 100%;\\n height: 100%;\\n overflow: hidden;\\n // Prevent Chrome on Windows from adding a focus outline. For details, see\\n // https://github.com/twbs/bootstrap/pull/10951.\\n outline: 0;\\n // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\\n // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\\n // See also https://github.com/twbs/bootstrap/issues/17695\\n}\\n\\n// Shell div to position the modal with bottom padding\\n.modal-dialog {\\n position: relative;\\n width: auto;\\n margin: $modal-dialog-margin;\\n // allow clicks to pass through for custom click handling to close modal\\n pointer-events: none;\\n\\n // When fading in the modal, animate it to slide down\\n .modal.fade & {\\n @include transition($modal-transition);\\n transform: $modal-fade-transform;\\n }\\n .modal.show & {\\n transform: $modal-show-transform;\\n }\\n\\n // When trying to close, animate focus to scale\\n .modal.modal-static & {\\n transform: $modal-scale-transform;\\n }\\n}\\n\\n.modal-dialog-scrollable {\\n display: flex; // IE10/11\\n max-height: subtract(100%, $modal-dialog-margin * 2);\\n\\n .modal-content {\\n max-height: subtract(100vh, $modal-dialog-margin * 2); // IE10/11\\n overflow: hidden;\\n }\\n\\n .modal-header,\\n .modal-footer {\\n flex-shrink: 0;\\n }\\n\\n .modal-body {\\n overflow-y: auto;\\n }\\n}\\n\\n.modal-dialog-centered {\\n display: flex;\\n align-items: center;\\n min-height: subtract(100%, $modal-dialog-margin * 2);\\n\\n // Ensure `modal-dialog-centered` extends the full height of the view (IE10/11)\\n &::before {\\n display: block; // IE10\\n height: subtract(100vh, $modal-dialog-margin * 2);\\n height: min-content; // Reset height to 0 except on IE\\n content: \\\"\\\";\\n }\\n\\n // Ensure `.modal-body` shows scrollbar (IE10/11)\\n &.modal-dialog-scrollable {\\n flex-direction: column;\\n justify-content: center;\\n height: 100%;\\n\\n .modal-content {\\n max-height: none;\\n }\\n\\n &::before {\\n content: none;\\n }\\n }\\n}\\n\\n// Actual modal\\n.modal-content {\\n position: relative;\\n display: flex;\\n flex-direction: column;\\n width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\\n // counteract the pointer-events: none; in the .modal-dialog\\n color: $modal-content-color;\\n pointer-events: auto;\\n background-color: $modal-content-bg;\\n background-clip: padding-box;\\n border: $modal-content-border-width solid $modal-content-border-color;\\n @include border-radius($modal-content-border-radius);\\n @include box-shadow($modal-content-box-shadow-xs);\\n // Remove focus outline from opened modal\\n outline: 0;\\n}\\n\\n// Modal background\\n.modal-backdrop {\\n position: fixed;\\n top: 0;\\n left: 0;\\n z-index: $zindex-modal-backdrop;\\n width: 100vw;\\n height: 100vh;\\n background-color: $modal-backdrop-bg;\\n\\n // Fade for backdrop\\n &.fade { opacity: 0; }\\n &.show { opacity: $modal-backdrop-opacity; }\\n}\\n\\n// Modal header\\n// Top section of the modal w/ title and dismiss\\n.modal-header {\\n display: flex;\\n align-items: flex-start; // so the close btn always stays on the upper right corner\\n justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends\\n padding: $modal-header-padding;\\n border-bottom: $modal-header-border-width solid $modal-header-border-color;\\n @include border-top-radius($modal-content-inner-border-radius);\\n\\n .close {\\n padding: $modal-header-padding;\\n // auto on the left force icon to the right even when there is no .modal-title\\n margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) auto;\\n }\\n}\\n\\n// Title text within header\\n.modal-title {\\n margin-bottom: 0;\\n line-height: $modal-title-line-height;\\n}\\n\\n// Modal body\\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\\n.modal-body {\\n position: relative;\\n // Enable `flex-grow: 1` so that the body take up as much space as possible\\n // when there should be a fixed height on `.modal-dialog`.\\n flex: 1 1 auto;\\n padding: $modal-inner-padding;\\n}\\n\\n// Footer (for actions)\\n.modal-footer {\\n display: flex;\\n flex-wrap: wrap;\\n align-items: center; // vertically center\\n justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\\n padding: $modal-inner-padding - $modal-footer-margin-between / 2;\\n border-top: $modal-footer-border-width solid $modal-footer-border-color;\\n @include border-bottom-radius($modal-content-inner-border-radius);\\n\\n // Place margin between footer elements\\n // This solution is far from ideal because of the universal selector usage,\\n // but is needed to fix https://github.com/twbs/bootstrap/issues/24800\\n // stylelint-disable-next-line selector-max-universal\\n > * {\\n margin: $modal-footer-margin-between / 2;\\n }\\n}\\n\\n// Measure scrollbar width for padding body during modal show/hide\\n.modal-scrollbar-measure {\\n position: absolute;\\n top: -9999px;\\n width: 50px;\\n height: 50px;\\n overflow: scroll;\\n}\\n\\n// Scale up the modal\\n@include media-breakpoint-up(sm) {\\n // Automatically set modal's width for larger viewports\\n .modal-dialog {\\n max-width: $modal-md;\\n margin: $modal-dialog-margin-y-sm-up auto;\\n }\\n\\n .modal-dialog-scrollable {\\n max-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\\n\\n .modal-content {\\n max-height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);\\n }\\n }\\n\\n .modal-dialog-centered {\\n min-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);\\n\\n &::before {\\n height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);\\n height: min-content;\\n }\\n }\\n\\n .modal-content {\\n @include box-shadow($modal-content-box-shadow-sm-up);\\n }\\n\\n .modal-sm { max-width: $modal-sm; }\\n}\\n\\n@include media-breakpoint-up(lg) {\\n .modal-lg,\\n .modal-xl {\\n max-width: $modal-lg;\\n }\\n}\\n\\n@include media-breakpoint-up(xl) {\\n .modal-xl { max-width: $modal-xl; }\\n}\\n\",\"// Base class\\n//\\n// Kickstart any navigation component with a set of style resets. Works with\\n// ``s, ``s or ``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 text-decoration: if($link-decoration == none, null, none);\\n\\n @include hover-focus() {\\n text-decoration: none;\\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-item {\\n margin-bottom: -$nav-tabs-border-width;\\n }\\n\\n .nav-link {\\n border: $nav-tabs-border-width solid transparent;\\n @include border-top-radius($nav-tabs-border-radius);\\n\\n @include hover-focus() {\\n border-color: $nav-tabs-link-hover-border-color;\\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 @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 background-color: $nav-pills-link-active-bg;\\n }\\n}\\n\\n\\n//\\n// Justified variants\\n//\\n\\n.nav-fill {\\n .nav-item {\\n flex: 1 1 auto;\\n text-align: center;\\n }\\n}\\n\\n.nav-justified {\\n .nav-item {\\n flex-basis: 0;\\n flex-grow: 1;\\n text-align: center;\\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// Navbar divider\\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: relative;\\n display: flex;\\n flex-wrap: wrap; // allow us to do the line break for collapsing content\\n align-items: center;\\n justify-content: space-between; // space out brand from logo\\n padding: $navbar-padding-y $navbar-padding-x;\\n\\n // Because flex properties aren't inherited, we need to redeclare these first\\n // few properties so that content nested within behave properly.\\n %container-flex-properties {\\n display: flex;\\n flex-wrap: wrap;\\n align-items: center;\\n justify-content: space-between;\\n }\\n\\n .container,\\n .container-fluid {\\n @extend %container-flex-properties;\\n }\\n\\n @each $breakpoint, $container-max-width in $container-max-widths {\\n > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\\n @extend %container-flex-properties;\\n }\\n }\\n}\\n\\n\\n// Navbar brand\\n//\\n// Used for brand, project, or site names.\\n\\n.navbar-brand {\\n display: inline-block;\\n padding-top: $navbar-brand-padding-y;\\n padding-bottom: $navbar-brand-padding-y;\\n margin-right: $navbar-padding-x;\\n @include font-size($navbar-brand-font-size);\\n line-height: inherit;\\n white-space: nowrap;\\n\\n @include hover-focus() {\\n text-decoration: none;\\n }\\n}\\n\\n\\n// Navbar nav\\n//\\n// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\\n\\n.navbar-nav {\\n display: flex;\\n flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\\n padding-left: 0;\\n margin-bottom: 0;\\n list-style: none;\\n\\n .nav-link {\\n padding-right: 0;\\n padding-left: 0;\\n }\\n\\n .dropdown-menu {\\n position: static;\\n float: none;\\n }\\n}\\n\\n\\n// Navbar text\\n//\\n//\\n\\n.navbar-text {\\n display: inline-block;\\n padding-top: $nav-link-padding-y;\\n padding-bottom: $nav-link-padding-y;\\n}\\n\\n\\n// Responsive navbar\\n//\\n// Custom styles for responsive collapsing and toggling of navbar contents.\\n// Powered by the collapse Bootstrap JavaScript plugin.\\n\\n// When collapsed, prevent the toggleable navbar contents from appearing in\\n// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\\n// on the `.navbar` parent.\\n.navbar-collapse {\\n flex-basis: 100%;\\n flex-grow: 1;\\n // For always expanded or extra full navbars, ensure content aligns itself\\n // properly vertically. Can be easily overridden with flex utilities.\\n align-items: center;\\n}\\n\\n// Button for toggling the navbar when in its collapsed state\\n.navbar-toggler {\\n padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;\\n @include font-size($navbar-toggler-font-size);\\n line-height: 1;\\n background-color: transparent; // remove default button style\\n border: $border-width solid transparent; // remove default button style\\n @include border-radius($navbar-toggler-border-radius);\\n\\n @include hover-focus() {\\n text-decoration: none;\\n }\\n}\\n\\n// Keep as a separate element so folks can easily override it with another icon\\n// or image file as needed.\\n.navbar-toggler-icon {\\n display: inline-block;\\n width: 1.5em;\\n height: 1.5em;\\n vertical-align: middle;\\n content: \\\"\\\";\\n background: no-repeat center center;\\n background-size: 100% 100%;\\n}\\n\\n// Generate series of `.navbar-expand-*` responsive classes for configuring\\n// where your navbar collapses.\\n.navbar-expand {\\n @each $breakpoint in map-keys($grid-breakpoints) {\\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\\n $infix: breakpoint-infix($next, $grid-breakpoints);\\n\\n {$infix} {\\n @include media-breakpoint-down($breakpoint) {\\n %container-navbar-expand-#{$breakpoint} {\\n padding-right: 0;\\n padding-left: 0;\\n }\\n\\n > .container,\\n > .container-fluid {\\n @extend %container-navbar-expand-#{$breakpoint};\\n }\\n\\n @each $size, $container-max-width in $container-max-widths {\\n > .container#{breakpoint-infix($size, $container-max-widths)} {\\n @extend %container-navbar-expand-#{$breakpoint};\\n }\\n }\\n }\\n\\n @include media-breakpoint-up($next) {\\n flex-flow: row nowrap;\\n justify-content: flex-start;\\n\\n .navbar-nav {\\n flex-direction: row;\\n\\n .dropdown-menu {\\n position: absolute;\\n }\\n\\n .nav-link {\\n padding-right: $navbar-nav-link-padding-x;\\n padding-left: $navbar-nav-link-padding-x;\\n }\\n }\\n\\n // For nesting containers, have to redeclare for alignment purposes\\n %container-nesting-#{$breakpoint} {\\n flex-wrap: nowrap;\\n }\\n\\n > .container,\\n > .container-fluid {\\n @extend %container-nesting-#{$breakpoint};\\n }\\n\\n @each $size, $container-max-width in $container-max-widths {\\n > .container#{breakpoint-infix($size, $container-max-widths)} {\\n @extend %container-nesting-#{$breakpoint};\\n }\\n }\\n\\n .navbar-collapse {\\n display: flex !important; // stylelint-disable-line declaration-no-important\\n\\n // Changes flex-bases to auto because of an IE10 bug\\n flex-basis: auto;\\n }\\n\\n .navbar-toggler {\\n display: none;\\n }\\n }\\n }\\n }\\n}\\n\\n\\n// Navbar themes\\n//\\n// Styles for switching between navbars with light or dark background.\\n\\n// Dark links against a light background\\n.navbar-light {\\n .navbar-brand {\\n color: $navbar-light-brand-color;\\n\\n @include hover-focus() {\\n color: $navbar-light-brand-hover-color;\\n }\\n }\\n\\n .navbar-nav {\\n .nav-link {\\n color: $navbar-light-color;\\n\\n @include hover-focus() {\\n color: $navbar-light-hover-color;\\n }\\n\\n &.disabled {\\n color: $navbar-light-disabled-color;\\n }\\n }\\n\\n .show > .nav-link,\\n .active > .nav-link,\\n .nav-link.show,\\n .nav-link.active {\\n color: $navbar-light-active-color;\\n }\\n }\\n\\n .navbar-toggler {\\n color: $navbar-light-color;\\n border-color: $navbar-light-toggler-border-color;\\n }\\n\\n .navbar-toggler-icon {\\n background-image: escape-svg($navbar-light-toggler-icon-bg);\\n }\\n\\n .navbar-text {\\n color: $navbar-light-color;\\n a {\\n color: $navbar-light-active-color;\\n\\n @include hover-focus() {\\n color: $navbar-light-active-color;\\n }\\n }\\n }\\n}\\n\\n// White links against a dark background\\n.navbar-dark {\\n .navbar-brand {\\n color: $navbar-dark-brand-color;\\n\\n @include hover-focus() {\\n color: $navbar-dark-brand-hover-color;\\n }\\n }\\n\\n .navbar-nav {\\n .nav-link {\\n color: $navbar-dark-color;\\n\\n @include hover-focus() {\\n color: $navbar-dark-hover-color;\\n }\\n\\n &.disabled {\\n color: $navbar-dark-disabled-color;\\n }\\n }\\n\\n .show > .nav-link,\\n .active > .nav-link,\\n .nav-link.show,\\n .nav-link.active {\\n color: $navbar-dark-active-color;\\n }\\n }\\n\\n .navbar-toggler {\\n color: $navbar-dark-color;\\n border-color: $navbar-dark-toggler-border-color;\\n }\\n\\n .navbar-toggler-icon {\\n background-image: escape-svg($navbar-dark-toggler-icon-bg);\\n }\\n\\n .navbar-text {\\n color: $navbar-dark-color;\\n a {\\n color: $navbar-dark-active-color;\\n\\n @include hover-focus() {\\n color: $navbar-dark-active-color;\\n }\\n }\\n }\\n}\\n\",\".pagination {\\n display: flex;\\n @include list-unstyled();\\n @include border-radius();\\n}\\n\\n.page-link {\\n position: relative;\\n display: block;\\n padding: $pagination-padding-y $pagination-padding-x;\\n margin-left: -$pagination-border-width;\\n line-height: $pagination-line-height;\\n color: $pagination-color;\\n text-decoration: if($link-decoration == none, null, none);\\n background-color: $pagination-bg;\\n border: $pagination-border-width solid $pagination-border-color;\\n\\n &:hover {\\n z-index: 2;\\n color: $pagination-hover-color;\\n text-decoration: none;\\n background-color: $pagination-hover-bg;\\n border-color: $pagination-hover-border-color;\\n }\\n\\n &:focus {\\n z-index: 3;\\n outline: $pagination-focus-outline;\\n box-shadow: $pagination-focus-box-shadow;\\n }\\n}\\n\\n.page-item {\\n &:first-child {\\n .page-link {\\n margin-left: 0;\\n @include border-left-radius($border-radius);\\n }\\n }\\n &:last-child {\\n .page-link {\\n @include border-right-radius($border-radius);\\n }\\n }\\n\\n &.active .page-link {\\n z-index: 3;\\n color: $pagination-active-color;\\n background-color: $pagination-active-bg;\\n border-color: $pagination-active-border-color;\\n }\\n\\n &.disabled .page-link {\\n color: $pagination-disabled-color;\\n pointer-events: none;\\n // Opinionated: remove the \\\"hand\\\" cursor set previously for .page-link\\n cursor: auto;\\n background-color: $pagination-disabled-bg;\\n border-color: $pagination-disabled-border-color;\\n }\\n}\\n\\n\\n//\\n// Sizing\\n//\\n\\n.pagination-lg {\\n @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg);\\n}\\n\\n.pagination-sm {\\n @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm);\\n}\\n\",\"// Pagination\\n\\n@mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {\\n .page-link {\\n padding: $padding-y $padding-x;\\n @include font-size($font-size);\\n line-height: $line-height;\\n }\\n\\n .page-item {\\n &:first-child {\\n .page-link {\\n @include border-left-radius($border-radius);\\n }\\n }\\n &:last-child {\\n .page-link {\\n @include border-right-radius($border-radius);\\n }\\n }\\n }\\n}\\n\",\".popover {\\n position: absolute;\\n top: 0;\\n left: 0;\\n z-index: $zindex-popover;\\n display: block;\\n max-width: $popover-max-width;\\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\\n // So reset our font and text properties to avoid inheriting weird values.\\n @include reset-text();\\n @include font-size($popover-font-size);\\n // Allow breaking very long words so they don't overflow the popover's bounds\\n word-wrap: break-word;\\n background-color: $popover-bg;\\n background-clip: padding-box;\\n border: $popover-border-width solid $popover-border-color;\\n @include border-radius($popover-border-radius);\\n @include box-shadow($popover-box-shadow);\\n\\n .arrow {\\n position: absolute;\\n display: block;\\n width: $popover-arrow-width;\\n height: $popover-arrow-height;\\n margin: 0 $popover-border-radius;\\n\\n &::before,\\n &::after {\\n position: absolute;\\n display: block;\\n content: \\\"\\\";\\n border-color: transparent;\\n border-style: solid;\\n }\\n }\\n}\\n\\n.bs-popover-top {\\n margin-bottom: $popover-arrow-height;\\n\\n > .arrow {\\n bottom: subtract(-$popover-arrow-height, $popover-border-width);\\n\\n &::before {\\n bottom: 0;\\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\\n border-top-color: $popover-arrow-outer-color;\\n }\\n\\n &::after {\\n bottom: $popover-border-width;\\n border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;\\n border-top-color: $popover-arrow-color;\\n }\\n }\\n}\\n\\n.bs-popover-right {\\n margin-left: $popover-arrow-height;\\n\\n > .arrow {\\n left: subtract(-$popover-arrow-height, $popover-border-width);\\n width: $popover-arrow-height;\\n height: $popover-arrow-width;\\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\\n\\n &::before {\\n left: 0;\\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\\n border-right-color: $popover-arrow-outer-color;\\n }\\n\\n &::after {\\n left: $popover-border-width;\\n border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;\\n border-right-color: $popover-arrow-color;\\n }\\n }\\n}\\n\\n.bs-popover-bottom {\\n margin-top: $popover-arrow-height;\\n\\n > .arrow {\\n top: subtract(-$popover-arrow-height, $popover-border-width);\\n\\n &::before {\\n top: 0;\\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\\n border-bottom-color: $popover-arrow-outer-color;\\n }\\n\\n &::after {\\n top: $popover-border-width;\\n border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);\\n border-bottom-color: $popover-arrow-color;\\n }\\n }\\n\\n // This will remove the popover-header's border just below the arrow\\n .popover-header::before {\\n position: absolute;\\n top: 0;\\n left: 50%;\\n display: block;\\n width: $popover-arrow-width;\\n margin-left: -$popover-arrow-width / 2;\\n content: \\\"\\\";\\n border-bottom: $popover-border-width solid $popover-header-bg;\\n }\\n}\\n\\n.bs-popover-left {\\n margin-right: $popover-arrow-height;\\n\\n > .arrow {\\n right: subtract(-$popover-arrow-height, $popover-border-width);\\n width: $popover-arrow-height;\\n height: $popover-arrow-width;\\n margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners\\n\\n &::before {\\n right: 0;\\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\\n border-left-color: $popover-arrow-outer-color;\\n }\\n\\n &::after {\\n right: $popover-border-width;\\n border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;\\n border-left-color: $popover-arrow-color;\\n }\\n }\\n}\\n\\n.bs-popover-auto {\\n &[x-placement^=\\\"top\\\"] {\\n @extend .bs-popover-top;\\n }\\n &[x-placement^=\\\"right\\\"] {\\n @extend .bs-popover-right;\\n }\\n &[x-placement^=\\\"bottom\\\"] {\\n @extend .bs-popover-bottom;\\n }\\n &[x-placement^=\\\"left\\\"] {\\n @extend .bs-popover-left;\\n }\\n}\\n\\n\\n// Offset the popover to account for the popover arrow\\n.popover-header {\\n padding: $popover-header-padding-y $popover-header-padding-x;\\n margin-bottom: 0; // Reset the default from Reboot\\n @include font-size($font-size-base);\\n color: $popover-header-color;\\n background-color: $popover-header-bg;\\n border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);\\n @include border-top-radius($popover-inner-border-radius);\\n\\n &:empty {\\n display: none;\\n }\\n}\\n\\n.popover-body {\\n padding: $popover-body-padding-y $popover-body-padding-x;\\n color: $popover-body-color;\\n}\\n\",\"@mixin reset-text() {\\n font-family: $font-family-base;\\n // We deliberately do NOT reset font-size or word-wrap.\\n font-style: normal;\\n font-weight: $font-weight-normal;\\n line-height: $line-height-base;\\n text-align: left; // Fallback for where `start` is not supported\\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}\\n\",\"// stylelint-disable declaration-no-important, selector-no-qualifying-type\\n\\n// Source: https://github.com/h5bp/main.css/blob/master/src/_print.css\\n\\n// ==========================================================================\\n// Print styles.\\n// Inlined to avoid the additional HTTP request:\\n// https://www.phpied.com/delay-loading-your-print-css/\\n// ==========================================================================\\n\\n@if $enable-print-styles {\\n @media print {\\n *,\\n *::before,\\n *::after {\\n // Bootstrap specific; comment out `color` and `background`\\n //color: $black !important; // Black prints faster\\n text-shadow: none !important;\\n //background: transparent !important;\\n box-shadow: none !important;\\n }\\n\\n a {\\n &:not(.btn) {\\n text-decoration: underline;\\n }\\n }\\n\\n // Bootstrap specific; comment the following selector out\\n //a[href]::after {\\n // content: \\\" (\\\" attr(href) \\\")\\\";\\n //}\\n\\n abbr[title]::after {\\n content: \\\" (\\\" attr(title) \\\")\\\";\\n }\\n\\n // Bootstrap specific; comment the following selector out\\n //\\n // Don't show links that are fragment identifiers,\\n // or use the `javascript:` pseudo protocol\\n //\\n\\n //a[href^=\\\"#\\\"]::after,\\n //a[href^=\\\"javascript:\\\"]::after {\\n // content: \\\"\\\";\\n //}\\n\\n pre {\\n white-space: pre-wrap !important;\\n }\\n pre,\\n blockquote {\\n border: $border-width solid $gray-500; // Bootstrap custom code; using `$border-width` instead of 1px\\n page-break-inside: avoid;\\n }\\n\\n //\\n // Printing Tables:\\n // https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables\\n //\\n\\n thead {\\n display: table-header-group;\\n }\\n\\n tr,\\n img {\\n page-break-inside: avoid;\\n }\\n\\n p,\\n h2,\\n h3 {\\n orphans: 3;\\n widows: 3;\\n }\\n\\n h2,\\n h3 {\\n page-break-after: avoid;\\n }\\n\\n // Bootstrap specific changes start\\n\\n // Specify a size and min-width to make printing closer across browsers.\\n // We don't set margin here because it breaks `size` in Chrome. We also\\n // don't use `!important` on `size` as it breaks in Chrome.\\n @page {\\n size: $print-page-size;\\n }\\n body {\\n min-width: $print-body-min-width !important;\\n }\\n .container {\\n min-width: $print-body-min-width !important;\\n }\\n\\n // Bootstrap components\\n .navbar {\\n display: none;\\n }\\n .badge {\\n border: $border-width solid $black;\\n }\\n\\n .table {\\n border-collapse: collapse !important;\\n\\n td,\\n th {\\n background-color: $white !important;\\n }\\n }\\n\\n .table-bordered {\\n th,\\n td {\\n border: 1px solid $gray-300 !important;\\n }\\n }\\n\\n .table-dark {\\n color: inherit;\\n\\n th,\\n td,\\n thead th,\\n tbody + tbody {\\n border-color: $table-border-color;\\n }\\n }\\n\\n .table .thead-dark th {\\n color: inherit;\\n border-color: $table-border-color;\\n }\\n\\n // Bootstrap specific changes end\\n }\\n}\\n\",\"// Disable animation if transitions are disabled\\n@if $enable-transitions {\\n @keyframes progress-bar-stripes {\\n from { background-position: $progress-height 0; }\\n to { background-position: 0 0; }\\n }\\n}\\n\\n.progress {\\n display: flex;\\n height: $progress-height;\\n overflow: hidden; // force rounded corners by cropping it\\n line-height: 0;\\n @include font-size($progress-font-size);\\n background-color: $progress-bg;\\n @include border-radius($progress-border-radius);\\n @include box-shadow($progress-box-shadow);\\n}\\n\\n.progress-bar {\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n overflow: hidden;\\n color: $progress-bar-color;\\n text-align: center;\\n white-space: nowrap;\\n background-color: $progress-bar-bg;\\n @include transition($progress-bar-transition);\\n}\\n\\n.progress-bar-striped {\\n @include gradient-striped();\\n background-size: $progress-height $progress-height;\\n}\\n\\n@if $enable-transitions {\\n .progress-bar-animated {\\n animation: progress-bar-stripes $progress-bar-animation-timing;\\n\\n @if $enable-prefers-reduced-motion-media-query {\\n @media (prefers-reduced-motion: reduce) {\\n animation: none;\\n }\\n }\\n }\\n}\\n\",\"//\\n// Rotating border\\n//\\n\\n@keyframes spinner-border {\\n to { transform: rotate(360deg); }\\n}\\n\\n.spinner-border {\\n display: inline-block;\\n width: $spinner-width;\\n height: $spinner-height;\\n vertical-align: text-bottom;\\n border: $spinner-border-width solid currentColor;\\n border-right-color: transparent;\\n // stylelint-disable-next-line property-blacklist\\n border-radius: 50%;\\n animation: spinner-border .75s linear infinite;\\n}\\n\\n.spinner-border-sm {\\n width: $spinner-width-sm;\\n height: $spinner-height-sm;\\n border-width: $spinner-border-width-sm;\\n}\\n\\n//\\n// Growing circle\\n//\\n\\n@keyframes spinner-grow {\\n 0% {\\n transform: scale(0);\\n }\\n 50% {\\n opacity: 1;\\n transform: none;\\n }\\n}\\n\\n.spinner-grow {\\n display: inline-block;\\n width: $spinner-width;\\n height: $spinner-height;\\n vertical-align: text-bottom;\\n background-color: currentColor;\\n // stylelint-disable-next-line property-blacklist\\n border-radius: 50%;\\n opacity: 0;\\n animation: spinner-grow .75s linear infinite;\\n}\\n\\n.spinner-grow-sm {\\n width: $spinner-width-sm;\\n height: $spinner-height-sm;\\n}\\n\",\"//\\n// Basic Bootstrap table\\n//\\n\\n.table {\\n width: 100%;\\n margin-bottom: $spacer;\\n color: $table-color;\\n background-color: $table-bg; // Reset for nesting within parents with `background-color`.\\n\\n th,\\n td {\\n padding: $table-cell-padding;\\n vertical-align: top;\\n border-top: $table-border-width solid $table-border-color;\\n }\\n\\n thead th {\\n vertical-align: bottom;\\n border-bottom: (2 * $table-border-width) solid $table-border-color;\\n }\\n\\n tbody + tbody {\\n border-top: (2 * $table-border-width) solid $table-border-color;\\n }\\n}\\n\\n\\n//\\n// Condensed table w/ half padding\\n//\\n\\n.table-sm {\\n th,\\n td {\\n padding: $table-cell-padding-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.table-bordered {\\n border: $table-border-width solid $table-border-color;\\n\\n th,\\n td {\\n border: $table-border-width solid $table-border-color;\\n }\\n\\n thead {\\n th,\\n td {\\n border-bottom-width: 2 * $table-border-width;\\n }\\n }\\n}\\n\\n.table-borderless {\\n th,\\n td,\\n thead th,\\n tbody + tbody {\\n border: 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 background-color: $table-accent-bg;\\n }\\n}\\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 {\\n @include hover() {\\n color: $table-hover-color;\\n background-color: $table-hover-bg;\\n }\\n }\\n}\\n\\n\\n// Table backgrounds\\n//\\n// Exact selectors below required to override `.table-striped` and prevent\\n// inheritance to nested tables.\\n\\n@each $color, $value in $theme-colors {\\n @include table-row-variant($color, theme-color-level($color, $table-bg-level), theme-color-level($color, $table-border-level));\\n}\\n\\n@include table-row-variant(active, $table-active-bg);\\n\\n\\n// Dark styles\\n//\\n// Same table markup, but inverted color scheme: dark background and light text.\\n\\n// stylelint-disable-next-line no-duplicate-selectors\\n.table {\\n .thead-dark {\\n th {\\n color: $table-dark-color;\\n background-color: $table-dark-bg;\\n border-color: $table-dark-border-color;\\n }\\n }\\n\\n .thead-light {\\n th {\\n color: $table-head-color;\\n background-color: $table-head-bg;\\n border-color: $table-border-color;\\n }\\n }\\n}\\n\\n.table-dark {\\n color: $table-dark-color;\\n background-color: $table-dark-bg;\\n\\n th,\\n td,\\n thead th {\\n border-color: $table-dark-border-color;\\n }\\n\\n &.table-bordered {\\n border: 0;\\n }\\n\\n &.table-striped {\\n tbody tr:nth-of-type(#{$table-striped-order}) {\\n background-color: $table-dark-accent-bg;\\n }\\n }\\n\\n &.table-hover {\\n tbody tr {\\n @include hover() {\\n color: $table-dark-hover-color;\\n background-color: $table-dark-hover-bg;\\n }\\n }\\n }\\n}\\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.table-responsive {\\n @each $breakpoint in map-keys($grid-breakpoints) {\\n $next: breakpoint-next($breakpoint, $grid-breakpoints);\\n $infix: breakpoint-infix($next, $grid-breakpoints);\\n\\n {$infix} {\\n @include media-breakpoint-down($breakpoint) {\\n display: block;\\n width: 100%;\\n overflow-x: auto;\\n -webkit-overflow-scrolling: touch;\\n\\n // Prevent double border on horizontal scroll due to use of `display: block;`\\n > .table-bordered {\\n border: 0;\\n }\\n }\\n }\\n }\\n}\\n\",\"// Tables\\n\\n@mixin table-row-variant($state, $background, $border: null) {\\n // Exact selectors below required to override `.table-striped` and prevent\\n // inheritance to nested tables.\\n .table-#{$state} {\\n &,\\n > th,\\n > td {\\n background-color: $background;\\n }\\n\\n @if $border != null {\\n th,\\n td,\\n thead th,\\n tbody + tbody {\\n border-color: $border;\\n }\\n }\\n }\\n\\n // Hover states for `.table-hover`\\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\\n .table-hover {\\n $hover-background: darken($background, 5%);\\n\\n .table-#{$state} {\\n @include hover() {\\n background-color: $hover-background;\\n\\n > td,\\n > th {\\n background-color: $hover-background;\\n }\\n }\\n }\\n }\\n}\\n\",\".toast {\\n max-width: $toast-max-width;\\n overflow: hidden; // cheap rounded corners on nested items\\n @include font-size($toast-font-size);\\n color: $toast-color;\\n background-color: $toast-background-color;\\n background-clip: padding-box;\\n border: $toast-border-width solid $toast-border-color;\\n box-shadow: $toast-box-shadow;\\n backdrop-filter: blur(10px);\\n opacity: 0;\\n @include border-radius($toast-border-radius);\\n\\n &:not(:last-child) {\\n margin-bottom: $toast-padding-x;\\n }\\n\\n &.showing {\\n opacity: 1;\\n }\\n\\n &.show {\\n display: block;\\n opacity: 1;\\n }\\n\\n &.hide {\\n display: none;\\n }\\n}\\n\\n.toast-header {\\n display: flex;\\n align-items: center;\\n padding: $toast-padding-y $toast-padding-x;\\n color: $toast-header-color;\\n background-color: $toast-header-background-color;\\n background-clip: padding-box;\\n border-bottom: $toast-border-width solid $toast-header-border-color;\\n}\\n\\n.toast-body {\\n padding: $toast-padding-x; // apply to both vertical and horizontal\\n}\\n\",\"// Base class\\n.tooltip {\\n position: absolute;\\n z-index: $zindex-tooltip;\\n display: block;\\n margin: $tooltip-margin;\\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\\n // So reset our font and text properties to avoid inheriting weird values.\\n @include reset-text();\\n @include font-size($tooltip-font-size);\\n // Allow breaking very long words so they don't overflow the tooltip's bounds\\n word-wrap: break-word;\\n opacity: 0;\\n\\n &.show { opacity: $tooltip-opacity; }\\n\\n .arrow {\\n position: absolute;\\n display: block;\\n width: $tooltip-arrow-width;\\n height: $tooltip-arrow-height;\\n\\n &::before {\\n position: absolute;\\n content: \\\"\\\";\\n border-color: transparent;\\n border-style: solid;\\n }\\n }\\n}\\n\\n.bs-tooltip-top {\\n padding: $tooltip-arrow-height 0;\\n\\n .arrow {\\n bottom: 0;\\n\\n &::before {\\n top: 0;\\n border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\\n border-top-color: $tooltip-arrow-color;\\n }\\n }\\n}\\n\\n.bs-tooltip-right {\\n padding: 0 $tooltip-arrow-height;\\n\\n .arrow {\\n left: 0;\\n width: $tooltip-arrow-height;\\n height: $tooltip-arrow-width;\\n\\n &::before {\\n right: 0;\\n border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;\\n border-right-color: $tooltip-arrow-color;\\n }\\n }\\n}\\n\\n.bs-tooltip-bottom {\\n padding: $tooltip-arrow-height 0;\\n\\n .arrow {\\n top: 0;\\n\\n &::before {\\n bottom: 0;\\n border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\\n border-bottom-color: $tooltip-arrow-color;\\n }\\n }\\n}\\n\\n.bs-tooltip-left {\\n padding: 0 $tooltip-arrow-height;\\n\\n .arrow {\\n right: 0;\\n width: $tooltip-arrow-height;\\n height: $tooltip-arrow-width;\\n\\n &::before {\\n left: 0;\\n border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;\\n border-left-color: $tooltip-arrow-color;\\n }\\n }\\n}\\n\\n.bs-tooltip-auto {\\n &[x-placement^=\\\"top\\\"] {\\n @extend .bs-tooltip-top;\\n }\\n &[x-placement^=\\\"right\\\"] {\\n @extend .bs-tooltip-right;\\n }\\n &[x-placement^=\\\"bottom\\\"] {\\n @extend .bs-tooltip-bottom;\\n }\\n &[x-placement^=\\\"left\\\"] {\\n @extend .bs-tooltip-left;\\n }\\n}\\n\\n// Wrapper for the tooltip content\\n.tooltip-inner {\\n max-width: $tooltip-max-width;\\n padding: $tooltip-padding-y $tooltip-padding-x;\\n color: $tooltip-color;\\n text-align: center;\\n background-color: $tooltip-bg;\\n @include border-radius($tooltip-border-radius);\\n}\\n\",\".fade {\\n @include transition($transition-fade);\\n\\n &:not(.show) {\\n opacity: 0;\\n }\\n}\\n\\n.collapse {\\n &:not(.show) {\\n display: none;\\n }\\n}\\n\\n.collapsing {\\n position: relative;\\n height: 0;\\n overflow: hidden;\\n @include transition($transition-collapse);\\n}\\n\",\"// stylelint-disable declaration-no-important\\n\\n.align-baseline { vertical-align: baseline !important; } // Browser default\\n.align-top { vertical-align: top !important; }\\n.align-middle { vertical-align: middle !important; }\\n.align-bottom { vertical-align: bottom !important; }\\n.align-text-bottom { vertical-align: text-bottom !important; }\\n.align-text-top { vertical-align: text-top !important; }\\n\",\"// stylelint-disable declaration-no-important\\n\\n// Contextual backgrounds\\n\\n@mixin bg-variant($parent, $color, $ignore-warning: false) {\\n #{$parent} {\\n background-color: $color !important;\\n }\\n a#{$parent},\\n button#{$parent} {\\n @include hover-focus() {\\n background-color: darken($color, 10%) !important;\\n }\\n }\\n @include deprecate(\\\"The `bg-variant` mixin\\\", \\\"v4.4.0\\\", \\\"v5\\\", $ignore-warning);\\n}\\n\\n@mixin bg-gradient-variant($parent, $color, $ignore-warning: false) {\\n #{$parent} {\\n background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;\\n }\\n @include deprecate(\\\"The `bg-gradient-variant` mixin\\\", \\\"v4.5.0\\\", \\\"v5\\\", $ignore-warning);\\n}\\n\",\"// stylelint-disable declaration-no-important\\n\\n@each $color, $value in $theme-colors {\\n @include bg-variant(\\\".bg-#{$color}\\\", $value, true);\\n}\\n\\n@if $enable-gradients {\\n @each $color, $value in $theme-colors {\\n @include bg-gradient-variant(\\\".bg-gradient-#{$color}\\\", $value, true);\\n }\\n}\\n\\n.bg-white {\\n background-color: $white !important;\\n}\\n\\n.bg-transparent {\\n background-color: transparent !important;\\n}\\n\",\"// stylelint-disable property-blacklist, declaration-no-important\\n\\n//\\n// Border\\n//\\n\\n.border { border: $border-width solid $border-color !important; }\\n.border-top { border-top: $border-width solid $border-color !important; }\\n.border-right { border-right: $border-width solid $border-color !important; }\\n.border-bottom { border-bottom: $border-width solid $border-color !important; }\\n.border-left { border-left: $border-width solid $border-color !important; }\\n\\n.border-0 { border: 0 !important; }\\n.border-top-0 { border-top: 0 !important; }\\n.border-right-0 { border-right: 0 !important; }\\n.border-bottom-0 { border-bottom: 0 !important; }\\n.border-left-0 { border-left: 0 !important; }\\n\\n@each $color, $value in $theme-colors {\\n .border-#{$color} {\\n border-color: $value !important;\\n }\\n}\\n\\n.border-white {\\n border-color: $white !important;\\n}\\n\\n//\\n// Border-radius\\n//\\n\\n.rounded-sm {\\n border-radius: $border-radius-sm !important;\\n}\\n\\n.rounded {\\n border-radius: $border-radius !important;\\n}\\n\\n.rounded-top {\\n border-top-left-radius: $border-radius !important;\\n border-top-right-radius: $border-radius !important;\\n}\\n\\n.rounded-right {\\n border-top-right-radius: $border-radius !important;\\n border-bottom-right-radius: $border-radius !important;\\n}\\n\\n.rounded-bottom {\\n border-bottom-right-radius: $border-radius !important;\\n border-bottom-left-radius: $border-radius !important;\\n}\\n\\n.rounded-left {\\n border-top-left-radius: $border-radius !important;\\n border-bottom-left-radius: $border-radius !important;\\n}\\n\\n.rounded-lg {\\n border-radius: $border-radius-lg !important;\\n}\\n\\n.rounded-circle {\\n border-radius: 50% !important;\\n}\\n\\n.rounded-pill {\\n border-radius: $rounded-pill !important;\\n}\\n\\n.rounded-0 {\\n border-radius: 0 !important;\\n}\\n\",\"// stylelint-disable declaration-no-important\\n\\n//\\n// Utilities for common `display` values\\n//\\n\\n@each $breakpoint in map-keys($grid-breakpoints) {\\n @include media-breakpoint-up($breakpoint) {\\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\\n\\n @each $value in $displays {\\n .d#{$infix}-#{$value} { display: $value !important; }\\n }\\n }\\n}\\n\\n\\n//\\n// Utilities for toggling `display` in print\\n//\\n\\n@media print {\\n @each $value in $displays {\\n .d-print-#{$value} { display: $value !important; }\\n }\\n}\\n\",\"// Credit: Nicolas Gallagher and SUIT CSS.\\n\\n.embed-responsive {\\n position: relative;\\n display: block;\\n width: 100%;\\n padding: 0;\\n overflow: hidden;\\n\\n &::before {\\n display: block;\\n content: \\\"\\\";\\n }\\n\\n .embed-responsive-item,\\n iframe,\\n embed,\\n object,\\n video {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n border: 0;\\n }\\n}\\n\\n@each $embed-responsive-aspect-ratio in $embed-responsive-aspect-ratios {\\n $embed-responsive-aspect-ratio-x: nth($embed-responsive-aspect-ratio, 1);\\n $embed-responsive-aspect-ratio-y: nth($embed-responsive-aspect-ratio, 2);\\n\\n .embed-responsive-#{$embed-responsive-aspect-ratio-x}by#{$embed-responsive-aspect-ratio-y} {\\n &::before {\\n padding-top: percentage($embed-responsive-aspect-ratio-y / $embed-responsive-aspect-ratio-x);\\n }\\n }\\n}\\n\",\"// stylelint-disable declaration-no-important\\n\\n// Flex variation\\n//\\n// Custom styles for additional flex alignment options.\\n\\n@each $breakpoint in map-keys($grid-breakpoints) {\\n @include media-breakpoint-up($breakpoint) {\\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\\n\\n .flex#{$infix}-row { flex-direction: row !important; }\\n .flex#{$infix}-column { flex-direction: column !important; }\\n .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }\\n .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }\\n\\n .flex#{$infix}-wrap { flex-wrap: wrap !important; }\\n .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }\\n .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }\\n .flex#{$infix}-fill { flex: 1 1 auto !important; }\\n .flex#{$infix}-grow-0 { flex-grow: 0 !important; }\\n .flex#{$infix}-grow-1 { flex-grow: 1 !important; }\\n .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }\\n .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }\\n\\n .justify-content#{$infix}-start { justify-content: flex-start !important; }\\n .justify-content#{$infix}-end { justify-content: flex-end !important; }\\n .justify-content#{$infix}-center { justify-content: center !important; }\\n .justify-content#{$infix}-between { justify-content: space-between !important; }\\n .justify-content#{$infix}-around { justify-content: space-around !important; }\\n\\n .align-items#{$infix}-start { align-items: flex-start !important; }\\n .align-items#{$infix}-end { align-items: flex-end !important; }\\n .align-items#{$infix}-center { align-items: center !important; }\\n .align-items#{$infix}-baseline { align-items: baseline !important; }\\n .align-items#{$infix}-stretch { align-items: stretch !important; }\\n\\n .align-content#{$infix}-start { align-content: flex-start !important; }\\n .align-content#{$infix}-end { align-content: flex-end !important; }\\n .align-content#{$infix}-center { align-content: center !important; }\\n .align-content#{$infix}-between { align-content: space-between !important; }\\n .align-content#{$infix}-around { align-content: space-around !important; }\\n .align-content#{$infix}-stretch { align-content: stretch !important; }\\n\\n .align-self#{$infix}-auto { align-self: auto !important; }\\n .align-self#{$infix}-start { align-self: flex-start !important; }\\n .align-self#{$infix}-end { align-self: flex-end !important; }\\n .align-self#{$infix}-center { align-self: center !important; }\\n .align-self#{$infix}-baseline { align-self: baseline !important; }\\n .align-self#{$infix}-stretch { align-self: stretch !important; }\\n }\\n}\\n\",\"// stylelint-disable declaration-no-important\\n\\n@each $breakpoint in map-keys($grid-breakpoints) {\\n @include media-breakpoint-up($breakpoint) {\\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\\n\\n .float#{$infix}-left { float: left !important; }\\n .float#{$infix}-right { float: right !important; }\\n .float#{$infix}-none { float: none !important; }\\n }\\n}\\n\",\"// stylelint-disable declaration-no-important\\n\\n@each $value in $user-selects {\\n .user-select-#{$value} { user-select: $value !important; }\\n}\\n\",\"// stylelint-disable declaration-no-important\\n\\n@each $value in $overflows {\\n .overflow-#{$value} { overflow: $value !important; }\\n}\\n\",\"// stylelint-disable declaration-no-important\\n\\n// Common values\\n@each $position in $positions {\\n .position-#{$position} { position: $position !important; }\\n}\\n\\n// Shorthand\\n\\n.fixed-top {\\n position: fixed;\\n top: 0;\\n right: 0;\\n left: 0;\\n z-index: $zindex-fixed;\\n}\\n\\n.fixed-bottom {\\n position: fixed;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n z-index: $zindex-fixed;\\n}\\n\\n.sticky-top {\\n @supports (position: sticky) {\\n position: sticky;\\n top: 0;\\n z-index: $zindex-sticky;\\n }\\n}\\n\",\"//\\n// Screenreaders\\n//\\n\\n.sr-only {\\n @include sr-only();\\n}\\n\\n.sr-only-focusable {\\n @include sr-only-focusable();\\n}\\n\",\"// Only display content to screen readers\\n//\\n// See: https://a11yproject.com/posts/how-to-hide-content/\\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\\n\\n@mixin sr-only() {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px; // Fix for https://github.com/twbs/bootstrap/issues/25686\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border: 0;\\n}\\n\\n// Use in conjunction with .sr-only to only display content when it's focused.\\n//\\n// Useful for \\\"Skip to main content\\\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\\n//\\n// Credit: HTML5 Boilerplate\\n\\n@mixin sr-only-focusable() {\\n &:active,\\n &:focus {\\n position: static;\\n width: auto;\\n height: auto;\\n overflow: visible;\\n clip: auto;\\n white-space: normal;\\n }\\n}\\n\",\"// stylelint-disable declaration-no-important\\n\\n.shadow-sm { box-shadow: $box-shadow-sm !important; }\\n.shadow { box-shadow: $box-shadow !important; }\\n.shadow-lg { box-shadow: $box-shadow-lg !important; }\\n.shadow-none { box-shadow: none !important; }\\n\",\"// stylelint-disable declaration-no-important\\n\\n// Width and height\\n\\n@each $prop, $abbrev in (width: w, height: h) {\\n @each $size, $length in $sizes {\\n .#{$abbrev}-#{$size} { #{$prop}: $length !important; }\\n }\\n}\\n\\n.mw-100 { max-width: 100% !important; }\\n.mh-100 { max-height: 100% !important; }\\n\\n// Viewport additional helpers\\n\\n.min-vw-100 { min-width: 100vw !important; }\\n.min-vh-100 { min-height: 100vh !important; }\\n\\n.vw-100 { width: 100vw !important; }\\n.vh-100 { height: 100vh !important; }\\n\",\"// stylelint-disable declaration-no-important\\n\\n// Margin and Padding\\n\\n@each $breakpoint in map-keys($grid-breakpoints) {\\n @include media-breakpoint-up($breakpoint) {\\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\\n\\n @each $prop, $abbrev in (margin: m, padding: p) {\\n @each $size, $length in $spacers {\\n .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }\\n .#{$abbrev}t#{$infix}-#{$size},\\n .#{$abbrev}y#{$infix}-#{$size} {\\n #{$prop}-top: $length !important;\\n }\\n .#{$abbrev}r#{$infix}-#{$size},\\n .#{$abbrev}x#{$infix}-#{$size} {\\n #{$prop}-right: $length !important;\\n }\\n .#{$abbrev}b#{$infix}-#{$size},\\n .#{$abbrev}y#{$infix}-#{$size} {\\n #{$prop}-bottom: $length !important;\\n }\\n .#{$abbrev}l#{$infix}-#{$size},\\n .#{$abbrev}x#{$infix}-#{$size} {\\n #{$prop}-left: $length !important;\\n }\\n }\\n }\\n\\n // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)\\n @each $size, $length in $spacers {\\n @if $size != 0 {\\n .m#{$infix}-n#{$size} { margin: -$length !important; }\\n .mt#{$infix}-n#{$size},\\n .my#{$infix}-n#{$size} {\\n margin-top: -$length !important;\\n }\\n .mr#{$infix}-n#{$size},\\n .mx#{$infix}-n#{$size} {\\n margin-right: -$length !important;\\n }\\n .mb#{$infix}-n#{$size},\\n .my#{$infix}-n#{$size} {\\n margin-bottom: -$length !important;\\n }\\n .ml#{$infix}-n#{$size},\\n .mx#{$infix}-n#{$size} {\\n margin-left: -$length !important;\\n }\\n }\\n }\\n\\n // Some special margin utils\\n .m#{$infix}-auto { margin: auto !important; }\\n .mt#{$infix}-auto,\\n .my#{$infix}-auto {\\n margin-top: auto !important;\\n }\\n .mr#{$infix}-auto,\\n .mx#{$infix}-auto {\\n margin-right: auto !important;\\n }\\n .mb#{$infix}-auto,\\n .my#{$infix}-auto {\\n margin-bottom: auto !important;\\n }\\n .ml#{$infix}-auto,\\n .mx#{$infix}-auto {\\n margin-left: auto !important;\\n }\\n }\\n}\\n\",\"//\\n// Stretched link\\n//\\n\\n.stretched-link {\\n &::after {\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n z-index: 1;\\n // Just in case `pointer-events: none` is set on a parent\\n pointer-events: auto;\\n content: \\\"\\\";\\n // IE10 bugfix, see https://stackoverflow.com/questions/16947967/ie10-hover-pseudo-class-doesnt-work-without-background-color\\n background-color: rgba(0, 0, 0, 0);\\n }\\n}\\n\",\"// stylelint-disable declaration-no-important\\n\\n//\\n// Text\\n//\\n\\n.text-monospace { font-family: $font-family-monospace !important; }\\n\\n// Alignment\\n\\n.text-justify { text-align: justify !important; }\\n.text-wrap { white-space: normal !important; }\\n.text-nowrap { white-space: nowrap !important; }\\n.text-truncate { @include text-truncate(); }\\n\\n// Responsive alignment\\n\\n@each $breakpoint in map-keys($grid-breakpoints) {\\n @include media-breakpoint-up($breakpoint) {\\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\\n\\n .text#{$infix}-left { text-align: left !important; }\\n .text#{$infix}-right { text-align: right !important; }\\n .text#{$infix}-center { text-align: center !important; }\\n }\\n}\\n\\n// Transformation\\n\\n.text-lowercase { text-transform: lowercase !important; }\\n.text-uppercase { text-transform: uppercase !important; }\\n.text-capitalize { text-transform: capitalize !important; }\\n\\n// Weight and italics\\n\\n.font-weight-light { font-weight: $font-weight-light !important; }\\n.font-weight-lighter { font-weight: $font-weight-lighter !important; }\\n.font-weight-normal { font-weight: $font-weight-normal !important; }\\n.font-weight-bold { font-weight: $font-weight-bold !important; }\\n.font-weight-bolder { font-weight: $font-weight-bolder !important; }\\n.font-italic { font-style: italic !important; }\\n\\n// Contextual colors\\n\\n.text-white { color: $white !important; }\\n\\n@each $color, $value in $theme-colors {\\n @include text-emphasis-variant(\\\".text-#{$color}\\\", $value, true);\\n}\\n\\n.text-body { color: $body-color !important; }\\n.text-muted { color: $text-muted !important; }\\n\\n.text-black-50 { color: rgba($black, .5) !important; }\\n.text-white-50 { color: rgba($white, .5) !important; }\\n\\n// Misc\\n\\n.text-hide {\\n @include text-hide($ignore-warning: true);\\n}\\n\\n.text-decoration-none { text-decoration: none !important; }\\n\\n.text-break {\\n word-wrap: break-word !important;\\n}\\n\\n// Reset\\n\\n.text-reset { color: inherit !important; }\\n\",\"// Text truncate\\n// Requires inline-block or block for proper styling\\n\\n@mixin text-truncate() {\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n}\\n\",\"// stylelint-disable declaration-no-important\\n\\n// Typography\\n\\n@mixin text-emphasis-variant($parent, $color, $ignore-warning: false) {\\n #{$parent} {\\n color: $color !important;\\n }\\n @if $emphasized-link-hover-darken-percentage != 0 {\\n a#{$parent} {\\n @include hover-focus() {\\n color: darken($color, $emphasized-link-hover-darken-percentage) !important;\\n }\\n }\\n }\\n @include deprecate(\\\"`text-emphasis-variant()`\\\", \\\"v4.4.0\\\", \\\"v5\\\", $ignore-warning);\\n}\\n\",\"// CSS image replacement\\n@mixin text-hide($ignore-warning: false) {\\n // stylelint-disable-next-line font-family-no-missing-generic-family-keyword\\n font: 0/0 a;\\n color: transparent;\\n text-shadow: none;\\n background-color: transparent;\\n border: 0;\\n\\n @include deprecate(\\\"`text-hide()`\\\", \\\"v4.1.0\\\", \\\"v5\\\", $ignore-warning);\\n}\\n\",\"// stylelint-disable declaration-no-important\\n\\n//\\n// Visibility utilities\\n//\\n\\n.visible {\\n visibility: visible !important;\\n}\\n\\n.invisible {\\n visibility: hidden !important;\\n}\\n\"]}]);\n// Exports\nmodule.exports = exports;\n","\"use strict\";\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\n\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || '').concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/*!\n * jQuery JavaScript Library v3.5.1\n * https://jquery.com/\n *\n * Includes Sizzle.js\n * https://sizzlejs.com/\n *\n * Copyright JS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2020-05-04T22:49Z\n */\n(function (global, factory) {\n \"use strict\";\n\n if ((typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) === \"object\" && _typeof(module.exports) === \"object\") {\n // For CommonJS and CommonJS-like environments where a proper `window`\n // is present, execute the factory and get jQuery.\n // For environments that do not have a `window` with a `document`\n // (such as Node.js), expose a factory as module.exports.\n // This accentuates the need for the creation of a real `window`.\n // e.g. var jQuery = require(\"jquery\")(window);\n // See ticket #14549 for more info.\n module.exports = global.document ? factory(global, true) : function (w) {\n if (!w.document) {\n throw new Error(\"jQuery requires a window with a document\");\n }\n\n return factory(w);\n };\n } else {\n factory(global);\n } // Pass this if window is not defined yet\n\n})(typeof window !== \"undefined\" ? window : this, function (window, noGlobal) {\n // Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1\n // throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode\n // arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common\n // enough that all such attempts are guarded in a try block.\n \"use strict\";\n\n var arr = [];\n var getProto = Object.getPrototypeOf;\n var _slice = arr.slice;\n var flat = arr.flat ? function (array) {\n return arr.flat.call(array);\n } : function (array) {\n return arr.concat.apply([], array);\n };\n var push = arr.push;\n var indexOf = arr.indexOf;\n var class2type = {};\n var toString = class2type.toString;\n var hasOwn = class2type.hasOwnProperty;\n var fnToString = hasOwn.toString;\n var ObjectFunctionString = fnToString.call(Object);\n var support = {};\n\n var isFunction = function isFunction(obj) {\n // Support: Chrome <=57, Firefox <=52\n // In some browsers, typeof returns \"function\" for HTML elements\n // (i.e., `typeof document.createElement( \"object\" ) === \"function\"`).\n // We don't want to classify *any* DOM node as a function.\n return typeof obj === \"function\" && typeof obj.nodeType !== \"number\";\n };\n\n var isWindow = function isWindow(obj) {\n return obj != null && obj === obj.window;\n };\n\n var document = window.document;\n var preservedScriptAttributes = {\n type: true,\n src: true,\n nonce: true,\n noModule: true\n };\n\n function DOMEval(code, node, doc) {\n doc = doc || document;\n var i,\n val,\n script = doc.createElement(\"script\");\n script.text = code;\n\n if (node) {\n for (i in preservedScriptAttributes) {\n // Support: Firefox 64+, Edge 18+\n // Some browsers don't support the \"nonce\" property on scripts.\n // On the other hand, just using `getAttribute` is not enough as\n // the `nonce` attribute is reset to an empty string whenever it\n // becomes browsing-context connected.\n // See https://github.com/whatwg/html/issues/2369\n // See https://html.spec.whatwg.org/#nonce-attributes\n // The `node.getAttribute` check was added for the sake of\n // `jQuery.globalEval` so that it can fake a nonce-containing node\n // via an object.\n val = node[i] || node.getAttribute && node.getAttribute(i);\n\n if (val) {\n script.setAttribute(i, val);\n }\n }\n }\n\n doc.head.appendChild(script).parentNode.removeChild(script);\n }\n\n function toType(obj) {\n if (obj == null) {\n return obj + \"\";\n } // Support: Android <=2.3 only (functionish RegExp)\n\n\n return _typeof(obj) === \"object\" || typeof obj === \"function\" ? class2type[toString.call(obj)] || \"object\" : _typeof(obj);\n }\n /* global Symbol */\n // Defining this global in .eslintrc.json would create a danger of using the global\n // unguarded in another place, it seems safer to define global only for this module\n\n\n var version = \"3.5.1\",\n // Define a local copy of jQuery\n jQuery = function jQuery(selector, context) {\n // The jQuery object is actually just the init constructor 'enhanced'\n // Need init if jQuery is called (just allow error to be thrown if not included)\n return new jQuery.fn.init(selector, context);\n };\n\n jQuery.fn = jQuery.prototype = {\n // The current version of jQuery being used\n jquery: version,\n constructor: jQuery,\n // The default length of a jQuery object is 0\n length: 0,\n toArray: function toArray() {\n return _slice.call(this);\n },\n // Get the Nth element in the matched element set OR\n // Get the whole matched element set as a clean array\n get: function get(num) {\n // Return all the elements in a clean array\n if (num == null) {\n return _slice.call(this);\n } // Return just the one element from the set\n\n\n return num < 0 ? this[num + this.length] : this[num];\n },\n // Take an array of elements and push it onto the stack\n // (returning the new matched element set)\n pushStack: function pushStack(elems) {\n // Build a new jQuery matched element set\n var ret = jQuery.merge(this.constructor(), elems); // Add the old object onto the stack (as a reference)\n\n ret.prevObject = this; // Return the newly-formed element set\n\n return ret;\n },\n // Execute a callback for every element in the matched set.\n each: function each(callback) {\n return jQuery.each(this, callback);\n },\n map: function map(callback) {\n return this.pushStack(jQuery.map(this, function (elem, i) {\n return callback.call(elem, i, elem);\n }));\n },\n slice: function slice() {\n return this.pushStack(_slice.apply(this, arguments));\n },\n first: function first() {\n return this.eq(0);\n },\n last: function last() {\n return this.eq(-1);\n },\n even: function even() {\n return this.pushStack(jQuery.grep(this, function (_elem, i) {\n return (i + 1) % 2;\n }));\n },\n odd: function odd() {\n return this.pushStack(jQuery.grep(this, function (_elem, i) {\n return i % 2;\n }));\n },\n eq: function eq(i) {\n var len = this.length,\n j = +i + (i < 0 ? len : 0);\n return this.pushStack(j >= 0 && j < len ? [this[j]] : []);\n },\n end: function end() {\n return this.prevObject || this.constructor();\n },\n // For internal use only.\n // Behaves like an Array's method, not like a jQuery method.\n push: push,\n sort: arr.sort,\n splice: arr.splice\n };\n\n jQuery.extend = jQuery.fn.extend = function () {\n var options,\n name,\n src,\n copy,\n copyIsArray,\n clone,\n target = arguments[0] || {},\n i = 1,\n length = arguments.length,\n deep = false; // Handle a deep copy situation\n\n if (typeof target === \"boolean\") {\n deep = target; // Skip the boolean and the target\n\n target = arguments[i] || {};\n i++;\n } // Handle case when target is a string or something (possible in deep copy)\n\n\n if (_typeof(target) !== \"object\" && !isFunction(target)) {\n target = {};\n } // Extend jQuery itself if only one argument is passed\n\n\n if (i === length) {\n target = this;\n i--;\n }\n\n for (; i < length; i++) {\n // Only deal with non-null/undefined values\n if ((options = arguments[i]) != null) {\n // Extend the base object\n for (name in options) {\n copy = options[name]; // Prevent Object.prototype pollution\n // Prevent never-ending loop\n\n if (name === \"__proto__\" || target === copy) {\n continue;\n } // Recurse if we're merging plain objects or arrays\n\n\n if (deep && copy && (jQuery.isPlainObject(copy) || (copyIsArray = Array.isArray(copy)))) {\n src = target[name]; // Ensure proper type for the source value\n\n if (copyIsArray && !Array.isArray(src)) {\n clone = [];\n } else if (!copyIsArray && !jQuery.isPlainObject(src)) {\n clone = {};\n } else {\n clone = src;\n }\n\n copyIsArray = false; // Never move original objects, clone them\n\n target[name] = jQuery.extend(deep, clone, copy); // Don't bring in undefined values\n } else if (copy !== undefined) {\n target[name] = copy;\n }\n }\n }\n } // Return the modified object\n\n\n return target;\n };\n\n jQuery.extend({\n // Unique for each copy of jQuery on the page\n expando: \"jQuery\" + (version + Math.random()).replace(/\\D/g, \"\"),\n // Assume jQuery is ready without the ready module\n isReady: true,\n error: function error(msg) {\n throw new Error(msg);\n },\n noop: function noop() {},\n isPlainObject: function isPlainObject(obj) {\n var proto, Ctor; // Detect obvious negatives\n // Use toString instead of jQuery.type to catch host objects\n\n if (!obj || toString.call(obj) !== \"[object Object]\") {\n return false;\n }\n\n proto = getProto(obj); // Objects with no prototype (e.g., `Object.create( null )`) are plain\n\n if (!proto) {\n return true;\n } // Objects with prototype are plain iff they were constructed by a global Object function\n\n\n Ctor = hasOwn.call(proto, \"constructor\") && proto.constructor;\n return typeof Ctor === \"function\" && fnToString.call(Ctor) === ObjectFunctionString;\n },\n isEmptyObject: function isEmptyObject(obj) {\n var name;\n\n for (name in obj) {\n return false;\n }\n\n return true;\n },\n // Evaluates a script in a provided context; falls back to the global one\n // if not specified.\n globalEval: function globalEval(code, options, doc) {\n DOMEval(code, {\n nonce: options && options.nonce\n }, doc);\n },\n each: function each(obj, callback) {\n var length,\n i = 0;\n\n if (isArrayLike(obj)) {\n length = obj.length;\n\n for (; i < length; i++) {\n if (callback.call(obj[i], i, obj[i]) === false) {\n break;\n }\n }\n } else {\n for (i in obj) {\n if (callback.call(obj[i], i, obj[i]) === false) {\n break;\n }\n }\n }\n\n return obj;\n },\n // results is for internal usage only\n makeArray: function makeArray(arr, results) {\n var ret = results || [];\n\n if (arr != null) {\n if (isArrayLike(Object(arr))) {\n jQuery.merge(ret, typeof arr === \"string\" ? [arr] : arr);\n } else {\n push.call(ret, arr);\n }\n }\n\n return ret;\n },\n inArray: function inArray(elem, arr, i) {\n return arr == null ? -1 : indexOf.call(arr, elem, i);\n },\n // Support: Android <=4.0 only, PhantomJS 1 only\n // push.apply(_, arraylike) throws on ancient WebKit\n merge: function merge(first, second) {\n var len = +second.length,\n j = 0,\n i = first.length;\n\n for (; j < len; j++) {\n first[i++] = second[j];\n }\n\n first.length = i;\n return first;\n },\n grep: function grep(elems, callback, invert) {\n var callbackInverse,\n matches = [],\n i = 0,\n length = elems.length,\n callbackExpect = !invert; // Go through the array, only saving the items\n // that pass the validator function\n\n for (; i < length; i++) {\n callbackInverse = !callback(elems[i], i);\n\n if (callbackInverse !== callbackExpect) {\n matches.push(elems[i]);\n }\n }\n\n return matches;\n },\n // arg is for internal usage only\n map: function map(elems, callback, arg) {\n var length,\n value,\n i = 0,\n ret = []; // Go through the array, translating each of the items to their new values\n\n if (isArrayLike(elems)) {\n length = elems.length;\n\n for (; i < length; i++) {\n value = callback(elems[i], i, arg);\n\n if (value != null) {\n ret.push(value);\n }\n } // Go through every key on the object,\n\n } else {\n for (i in elems) {\n value = callback(elems[i], i, arg);\n\n if (value != null) {\n ret.push(value);\n }\n }\n } // Flatten any nested arrays\n\n\n return flat(ret);\n },\n // A global GUID counter for objects\n guid: 1,\n // jQuery.support is not used in Core but other projects attach their\n // properties to it so it needs to exist.\n support: support\n });\n\n if (typeof Symbol === \"function\") {\n jQuery.fn[Symbol.iterator] = arr[Symbol.iterator];\n } // Populate the class2type map\n\n\n jQuery.each(\"Boolean Number String Function Array Date RegExp Object Error Symbol\".split(\" \"), function (_i, name) {\n class2type[\"[object \" + name + \"]\"] = name.toLowerCase();\n });\n\n function isArrayLike(obj) {\n // Support: real iOS 8.2 only (not reproducible in simulator)\n // `in` check used to prevent JIT error (gh-2145)\n // hasOwn isn't used here due to false negatives\n // regarding Nodelist length in IE\n var length = !!obj && \"length\" in obj && obj.length,\n type = toType(obj);\n\n if (isFunction(obj) || isWindow(obj)) {\n return false;\n }\n\n return type === \"array\" || length === 0 || typeof length === \"number\" && length > 0 && length - 1 in obj;\n }\n\n var Sizzle =\n /*!\n * Sizzle CSS Selector Engine v2.3.5\n * https://sizzlejs.com/\n *\n * Copyright JS Foundation and other contributors\n * Released under the MIT license\n * https://js.foundation/\n *\n * Date: 2020-03-14\n */\n function (window) {\n var i,\n support,\n Expr,\n getText,\n isXML,\n tokenize,\n compile,\n select,\n outermostContext,\n sortInput,\n hasDuplicate,\n // Local document vars\n setDocument,\n document,\n docElem,\n documentIsHTML,\n rbuggyQSA,\n rbuggyMatches,\n matches,\n contains,\n // Instance-specific data\n expando = \"sizzle\" + 1 * new Date(),\n preferredDoc = window.document,\n dirruns = 0,\n done = 0,\n classCache = createCache(),\n tokenCache = createCache(),\n compilerCache = createCache(),\n nonnativeSelectorCache = createCache(),\n sortOrder = function sortOrder(a, b) {\n if (a === b) {\n hasDuplicate = true;\n }\n\n return 0;\n },\n // Instance methods\n hasOwn = {}.hasOwnProperty,\n arr = [],\n pop = arr.pop,\n pushNative = arr.push,\n push = arr.push,\n slice = arr.slice,\n // Use a stripped-down indexOf as it's faster than native\n // https://jsperf.com/thor-indexof-vs-for/5\n indexOf = function indexOf(list, elem) {\n var i = 0,\n len = list.length;\n\n for (; i < len; i++) {\n if (list[i] === elem) {\n return i;\n }\n }\n\n return -1;\n },\n booleans = \"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|\" + \"ismap|loop|multiple|open|readonly|required|scoped\",\n // Regular expressions\n // http://www.w3.org/TR/css3-selectors/#whitespace\n whitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",\n // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram\n identifier = \"(?:\\\\\\\\[\\\\da-fA-F]{1,6}\" + whitespace + \"?|\\\\\\\\[^\\\\r\\\\n\\\\f]|[\\\\w-]|[^\\0-\\\\x7f])+\",\n // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors\n attributes = \"\\\\[\" + whitespace + \"*(\" + identifier + \")(?:\" + whitespace + // Operator (capture 2)\n \"*([*^$|!~]?=)\" + whitespace + // \"Attribute values must be CSS identifiers [capture 5]\n // or strings [capture 3 or capture 4]\"\n \"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + identifier + \"))|)\" + whitespace + \"*\\\\]\",\n pseudos = \":(\" + identifier + \")(?:\\\\((\" + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:\n // 1. quoted (capture 3; capture 4 or capture 5)\n \"('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|\" + // 2. simple (capture 6)\n \"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes + \")*)|\" + // 3. anything else (capture 2)\n \".*\" + \")\\\\)|)\",\n // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\n rwhitespace = new RegExp(whitespace + \"+\", \"g\"),\n rtrim = new RegExp(\"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" + whitespace + \"+$\", \"g\"),\n rcomma = new RegExp(\"^\" + whitespace + \"*,\" + whitespace + \"*\"),\n rcombinators = new RegExp(\"^\" + whitespace + \"*([>+~]|\" + whitespace + \")\" + whitespace + \"*\"),\n rdescend = new RegExp(whitespace + \"|>\"),\n rpseudo = new RegExp(pseudos),\n ridentifier = new RegExp(\"^\" + identifier + \"$\"),\n matchExpr = {\n \"ID\": new RegExp(\"^#(\" + identifier + \")\"),\n \"CLASS\": new RegExp(\"^\\\\.(\" + identifier + \")\"),\n \"TAG\": new RegExp(\"^(\" + identifier + \"|[*])\"),\n \"ATTR\": new RegExp(\"^\" + attributes),\n \"PSEUDO\": new RegExp(\"^\" + pseudos),\n \"CHILD\": new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" + whitespace + \"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" + whitespace + \"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\"),\n \"bool\": new RegExp(\"^(?:\" + booleans + \")$\", \"i\"),\n // For use in libraries implementing .is()\n // We use this for POS matching in `select`\n \"needsContext\": new RegExp(\"^\" + whitespace + \"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" + whitespace + \"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\")\n },\n rhtml = /HTML$/i,\n rinputs = /^(?:input|select|textarea|button)$/i,\n rheader = /^h\\d$/i,\n rnative = /^[^{]+\\{\\s*\\[native \\w/,\n // Easily-parseable/retrievable ID or TAG or CLASS selectors\n rquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n rsibling = /[+~]/,\n // CSS escapes\n // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters\n runescape = new RegExp(\"\\\\\\\\[\\\\da-fA-F]{1,6}\" + whitespace + \"?|\\\\\\\\([^\\\\r\\\\n\\\\f])\", \"g\"),\n funescape = function funescape(escape, nonHex) {\n var high = \"0x\" + escape.slice(1) - 0x10000;\n return nonHex ? // Strip the backslash prefix from a non-hex escape sequence\n nonHex : // Replace a hexadecimal escape sequence with the encoded Unicode code point\n // Support: IE <=11+\n // For values outside the Basic Multilingual Plane (BMP), manually construct a\n // surrogate pair\n high < 0 ? String.fromCharCode(high + 0x10000) : String.fromCharCode(high >> 10 | 0xD800, high & 0x3FF | 0xDC00);\n },\n // CSS string/identifier serialization\n // https://drafts.csswg.org/cssom/#common-serializing-idioms\n rcssescape = /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\0-\\x1f\\x7f-\\uFFFF\\w-]/g,\n fcssescape = function fcssescape(ch, asCodePoint) {\n if (asCodePoint) {\n // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\n if (ch === \"\\0\") {\n return \"\\uFFFD\";\n } // Control characters and (dependent upon position) numbers get escaped as code points\n\n\n return ch.slice(0, -1) + \"\\\\\" + ch.charCodeAt(ch.length - 1).toString(16) + \" \";\n } // Other potentially-special ASCII characters get backslash-escaped\n\n\n return \"\\\\\" + ch;\n },\n // Used for iframes\n // See setDocument()\n // Removing the function wrapper causes a \"Permission Denied\"\n // error in IE\n unloadHandler = function unloadHandler() {\n setDocument();\n },\n inDisabledFieldset = addCombinator(function (elem) {\n return elem.disabled === true && elem.nodeName.toLowerCase() === \"fieldset\";\n }, {\n dir: \"parentNode\",\n next: \"legend\"\n }); // Optimize for push.apply( _, NodeList )\n\n\n try {\n push.apply(arr = slice.call(preferredDoc.childNodes), preferredDoc.childNodes); // Support: Android<4.0\n // Detect silently failing push.apply\n // eslint-disable-next-line no-unused-expressions\n\n arr[preferredDoc.childNodes.length].nodeType;\n } catch (e) {\n push = {\n apply: arr.length ? // Leverage slice if possible\n function (target, els) {\n pushNative.apply(target, slice.call(els));\n } : // Support: IE<9\n // Otherwise append directly\n function (target, els) {\n var j = target.length,\n i = 0; // Can't trust NodeList.length\n\n while (target[j++] = els[i++]) {}\n\n target.length = j - 1;\n }\n };\n }\n\n function Sizzle(selector, context, results, seed) {\n var m,\n i,\n elem,\n nid,\n match,\n groups,\n newSelector,\n newContext = context && context.ownerDocument,\n // nodeType defaults to 9, since context defaults to document\n nodeType = context ? context.nodeType : 9;\n results = results || []; // Return early from calls with invalid selector or context\n\n if (typeof selector !== \"string\" || !selector || nodeType !== 1 && nodeType !== 9 && nodeType !== 11) {\n return results;\n } // Try to shortcut find operations (as opposed to filters) in HTML documents\n\n\n if (!seed) {\n setDocument(context);\n context = context || document;\n\n if (documentIsHTML) {\n // If the selector is sufficiently simple, try using a \"get*By*\" DOM method\n // (excepting DocumentFragment context, where the methods don't exist)\n if (nodeType !== 11 && (match = rquickExpr.exec(selector))) {\n // ID selector\n if (m = match[1]) {\n // Document context\n if (nodeType === 9) {\n if (elem = context.getElementById(m)) {\n // Support: IE, Opera, Webkit\n // TODO: identify versions\n // getElementById can match elements by name instead of ID\n if (elem.id === m) {\n results.push(elem);\n return results;\n }\n } else {\n return results;\n } // Element context\n\n } else {\n // Support: IE, Opera, Webkit\n // TODO: identify versions\n // getElementById can match elements by name instead of ID\n if (newContext && (elem = newContext.getElementById(m)) && contains(context, elem) && elem.id === m) {\n results.push(elem);\n return results;\n }\n } // Type selector\n\n } else if (match[2]) {\n push.apply(results, context.getElementsByTagName(selector));\n return results; // Class selector\n } else if ((m = match[3]) && support.getElementsByClassName && context.getElementsByClassName) {\n push.apply(results, context.getElementsByClassName(m));\n return results;\n }\n } // Take advantage of querySelectorAll\n\n\n if (support.qsa && !nonnativeSelectorCache[selector + \" \"] && (!rbuggyQSA || !rbuggyQSA.test(selector)) && ( // Support: IE 8 only\n // Exclude object elements\n nodeType !== 1 || context.nodeName.toLowerCase() !== \"object\")) {\n newSelector = selector;\n newContext = context; // qSA considers elements outside a scoping root when evaluating child or\n // descendant combinators, which is not what we want.\n // In such cases, we work around the behavior by prefixing every selector in the\n // list with an ID selector referencing the scope context.\n // The technique has to be used as well when a leading combinator is used\n // as such selectors are not recognized by querySelectorAll.\n // Thanks to Andrew Dupont for this technique.\n\n if (nodeType === 1 && (rdescend.test(selector) || rcombinators.test(selector))) {\n // Expand context for sibling selectors\n newContext = rsibling.test(selector) && testContext(context.parentNode) || context; // We can use :scope instead of the ID hack if the browser\n // supports it & if we're not changing the context.\n\n if (newContext !== context || !support.scope) {\n // Capture the context ID, setting it first if necessary\n if (nid = context.getAttribute(\"id\")) {\n nid = nid.replace(rcssescape, fcssescape);\n } else {\n context.setAttribute(\"id\", nid = expando);\n }\n } // Prefix every selector in the list\n\n\n groups = tokenize(selector);\n i = groups.length;\n\n while (i--) {\n groups[i] = (nid ? \"#\" + nid : \":scope\") + \" \" + toSelector(groups[i]);\n }\n\n newSelector = groups.join(\",\");\n }\n\n try {\n push.apply(results, newContext.querySelectorAll(newSelector));\n return results;\n } catch (qsaError) {\n nonnativeSelectorCache(selector, true);\n } finally {\n if (nid === expando) {\n context.removeAttribute(\"id\");\n }\n }\n }\n }\n } // All others\n\n\n return select(selector.replace(rtrim, \"$1\"), context, results, seed);\n }\n /**\n * Create key-value caches of limited size\n * @returns {function(string, object)} Returns the Object data after storing it on itself with\n *\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\n *\tdeleting the oldest entry\n */\n\n\n function createCache() {\n var keys = [];\n\n function cache(key, value) {\n // Use (key + \" \") to avoid collision with native prototype properties (see Issue #157)\n if (keys.push(key + \" \") > Expr.cacheLength) {\n // Only keep the most recent entries\n delete cache[keys.shift()];\n }\n\n return cache[key + \" \"] = value;\n }\n\n return cache;\n }\n /**\n * Mark a function for special use by Sizzle\n * @param {Function} fn The function to mark\n */\n\n\n function markFunction(fn) {\n fn[expando] = true;\n return fn;\n }\n /**\n * Support testing using an element\n * @param {Function} fn Passed the created element and returns a boolean result\n */\n\n\n function assert(fn) {\n var el = document.createElement(\"fieldset\");\n\n try {\n return !!fn(el);\n } catch (e) {\n return false;\n } finally {\n // Remove from its parent by default\n if (el.parentNode) {\n el.parentNode.removeChild(el);\n } // release memory in IE\n\n\n el = null;\n }\n }\n /**\n * Adds the same handler for all of the specified attrs\n * @param {String} attrs Pipe-separated list of attributes\n * @param {Function} handler The method that will be applied\n */\n\n\n function addHandle(attrs, handler) {\n var arr = attrs.split(\"|\"),\n i = arr.length;\n\n while (i--) {\n Expr.attrHandle[arr[i]] = handler;\n }\n }\n /**\n * Checks document order of two siblings\n * @param {Element} a\n * @param {Element} b\n * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b\n */\n\n\n function siblingCheck(a, b) {\n var cur = b && a,\n diff = cur && a.nodeType === 1 && b.nodeType === 1 && a.sourceIndex - b.sourceIndex; // Use IE sourceIndex if available on both nodes\n\n if (diff) {\n return diff;\n } // Check if b follows a\n\n\n if (cur) {\n while (cur = cur.nextSibling) {\n if (cur === b) {\n return -1;\n }\n }\n }\n\n return a ? 1 : -1;\n }\n /**\n * Returns a function to use in pseudos for input types\n * @param {String} type\n */\n\n\n function createInputPseudo(type) {\n return function (elem) {\n var name = elem.nodeName.toLowerCase();\n return name === \"input\" && elem.type === type;\n };\n }\n /**\n * Returns a function to use in pseudos for buttons\n * @param {String} type\n */\n\n\n function createButtonPseudo(type) {\n return function (elem) {\n var name = elem.nodeName.toLowerCase();\n return (name === \"input\" || name === \"button\") && elem.type === type;\n };\n }\n /**\n * Returns a function to use in pseudos for :enabled/:disabled\n * @param {Boolean} disabled true for :disabled; false for :enabled\n */\n\n\n function createDisabledPseudo(disabled) {\n // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable\n return function (elem) {\n // Only certain elements can match :enabled or :disabled\n // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled\n // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled\n if (\"form\" in elem) {\n // Check for inherited disabledness on relevant non-disabled elements:\n // * listed form-associated elements in a disabled fieldset\n // https://html.spec.whatwg.org/multipage/forms.html#category-listed\n // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled\n // * option elements in a disabled optgroup\n // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled\n // All such elements have a \"form\" property.\n if (elem.parentNode && elem.disabled === false) {\n // Option elements defer to a parent optgroup if present\n if (\"label\" in elem) {\n if (\"label\" in elem.parentNode) {\n return elem.parentNode.disabled === disabled;\n } else {\n return elem.disabled === disabled;\n }\n } // Support: IE 6 - 11\n // Use the isDisabled shortcut property to check for disabled fieldset ancestors\n\n\n return elem.isDisabled === disabled || // Where there is no isDisabled, check manually\n\n /* jshint -W018 */\n elem.isDisabled !== !disabled && inDisabledFieldset(elem) === disabled;\n }\n\n return elem.disabled === disabled; // Try to winnow out elements that can't be disabled before trusting the disabled property.\n // Some victims get caught in our net (label, legend, menu, track), but it shouldn't\n // even exist on them, let alone have a boolean value.\n } else if (\"label\" in elem) {\n return elem.disabled === disabled;\n } // Remaining elements are neither :enabled nor :disabled\n\n\n return false;\n };\n }\n /**\n * Returns a function to use in pseudos for positionals\n * @param {Function} fn\n */\n\n\n function createPositionalPseudo(fn) {\n return markFunction(function (argument) {\n argument = +argument;\n return markFunction(function (seed, matches) {\n var j,\n matchIndexes = fn([], seed.length, argument),\n i = matchIndexes.length; // Match elements found at the specified indexes\n\n while (i--) {\n if (seed[j = matchIndexes[i]]) {\n seed[j] = !(matches[j] = seed[j]);\n }\n }\n });\n });\n }\n /**\n * Checks a node for validity as a Sizzle context\n * @param {Element|Object=} context\n * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value\n */\n\n\n function testContext(context) {\n return context && typeof context.getElementsByTagName !== \"undefined\" && context;\n } // Expose support vars for convenience\n\n\n support = Sizzle.support = {};\n /**\n * Detects XML nodes\n * @param {Element|Object} elem An element or a document\n * @returns {Boolean} True iff elem is a non-HTML XML node\n */\n\n isXML = Sizzle.isXML = function (elem) {\n var namespace = elem.namespaceURI,\n docElem = (elem.ownerDocument || elem).documentElement; // Support: IE <=8\n // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes\n // https://bugs.jquery.com/ticket/4833\n\n return !rhtml.test(namespace || docElem && docElem.nodeName || \"HTML\");\n };\n /**\n * Sets document-related variables once based on the current document\n * @param {Element|Object} [doc] An element or document object to use to set the document\n * @returns {Object} Returns the current document\n */\n\n\n setDocument = Sizzle.setDocument = function (node) {\n var hasCompare,\n subWindow,\n doc = node ? node.ownerDocument || node : preferredDoc; // Return early if doc is invalid or already selected\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n\n if (doc == document || doc.nodeType !== 9 || !doc.documentElement) {\n return document;\n } // Update global variables\n\n\n document = doc;\n docElem = document.documentElement;\n documentIsHTML = !isXML(document); // Support: IE 9 - 11+, Edge 12 - 18+\n // Accessing iframe documents after unload throws \"permission denied\" errors (jQuery #13936)\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n\n if (preferredDoc != document && (subWindow = document.defaultView) && subWindow.top !== subWindow) {\n // Support: IE 11, Edge\n if (subWindow.addEventListener) {\n subWindow.addEventListener(\"unload\", unloadHandler, false); // Support: IE 9 - 10 only\n } else if (subWindow.attachEvent) {\n subWindow.attachEvent(\"onunload\", unloadHandler);\n }\n } // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only,\n // Safari 4 - 5 only, Opera <=11.6 - 12.x only\n // IE/Edge & older browsers don't support the :scope pseudo-class.\n // Support: Safari 6.0 only\n // Safari 6.0 supports :scope but it's an alias of :root there.\n\n\n support.scope = assert(function (el) {\n docElem.appendChild(el).appendChild(document.createElement(\"div\"));\n return typeof el.querySelectorAll !== \"undefined\" && !el.querySelectorAll(\":scope fieldset div\").length;\n });\n /* Attributes\n ---------------------------------------------------------------------- */\n // Support: IE<8\n // Verify that getAttribute really returns attributes and not properties\n // (excepting IE8 booleans)\n\n support.attributes = assert(function (el) {\n el.className = \"i\";\n return !el.getAttribute(\"className\");\n });\n /* getElement(s)By*\n ---------------------------------------------------------------------- */\n // Check if getElementsByTagName(\"*\") returns only elements\n\n support.getElementsByTagName = assert(function (el) {\n el.appendChild(document.createComment(\"\"));\n return !el.getElementsByTagName(\"*\").length;\n }); // Support: IE<9\n\n support.getElementsByClassName = rnative.test(document.getElementsByClassName); // Support: IE<10\n // Check if getElementById returns elements by name\n // The broken getElementById methods don't pick up programmatically-set names,\n // so use a roundabout getElementsByName test\n\n support.getById = assert(function (el) {\n docElem.appendChild(el).id = expando;\n return !document.getElementsByName || !document.getElementsByName(expando).length;\n }); // ID filter and find\n\n if (support.getById) {\n Expr.filter[\"ID\"] = function (id) {\n var attrId = id.replace(runescape, funescape);\n return function (elem) {\n return elem.getAttribute(\"id\") === attrId;\n };\n };\n\n Expr.find[\"ID\"] = function (id, context) {\n if (typeof context.getElementById !== \"undefined\" && documentIsHTML) {\n var elem = context.getElementById(id);\n return elem ? [elem] : [];\n }\n };\n } else {\n Expr.filter[\"ID\"] = function (id) {\n var attrId = id.replace(runescape, funescape);\n return function (elem) {\n var node = typeof elem.getAttributeNode !== \"undefined\" && elem.getAttributeNode(\"id\");\n return node && node.value === attrId;\n };\n }; // Support: IE 6 - 7 only\n // getElementById is not reliable as a find shortcut\n\n\n Expr.find[\"ID\"] = function (id, context) {\n if (typeof context.getElementById !== \"undefined\" && documentIsHTML) {\n var node,\n i,\n elems,\n elem = context.getElementById(id);\n\n if (elem) {\n // Verify the id attribute\n node = elem.getAttributeNode(\"id\");\n\n if (node && node.value === id) {\n return [elem];\n } // Fall back on getElementsByName\n\n\n elems = context.getElementsByName(id);\n i = 0;\n\n while (elem = elems[i++]) {\n node = elem.getAttributeNode(\"id\");\n\n if (node && node.value === id) {\n return [elem];\n }\n }\n }\n\n return [];\n }\n };\n } // Tag\n\n\n Expr.find[\"TAG\"] = support.getElementsByTagName ? function (tag, context) {\n if (typeof context.getElementsByTagName !== \"undefined\") {\n return context.getElementsByTagName(tag); // DocumentFragment nodes don't have gEBTN\n } else if (support.qsa) {\n return context.querySelectorAll(tag);\n }\n } : function (tag, context) {\n var elem,\n tmp = [],\n i = 0,\n // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too\n results = context.getElementsByTagName(tag); // Filter out possible comments\n\n if (tag === \"*\") {\n while (elem = results[i++]) {\n if (elem.nodeType === 1) {\n tmp.push(elem);\n }\n }\n\n return tmp;\n }\n\n return results;\n }; // Class\n\n Expr.find[\"CLASS\"] = support.getElementsByClassName && function (className, context) {\n if (typeof context.getElementsByClassName !== \"undefined\" && documentIsHTML) {\n return context.getElementsByClassName(className);\n }\n };\n /* QSA/matchesSelector\n ---------------------------------------------------------------------- */\n // QSA and matchesSelector support\n // matchesSelector(:active) reports false when true (IE9/Opera 11.5)\n\n\n rbuggyMatches = []; // qSa(:focus) reports false when true (Chrome 21)\n // We allow this because of a bug in IE8/9 that throws an error\n // whenever `document.activeElement` is accessed on an iframe\n // So, we allow :focus to pass through QSA all the time to avoid the IE error\n // See https://bugs.jquery.com/ticket/13378\n\n rbuggyQSA = [];\n\n if (support.qsa = rnative.test(document.querySelectorAll)) {\n // Build QSA regex\n // Regex strategy adopted from Diego Perini\n assert(function (el) {\n var input; // Select is set to empty string on purpose\n // This is to test IE's treatment of not explicitly\n // setting a boolean content attribute,\n // since its presence should be enough\n // https://bugs.jquery.com/ticket/12359\n\n docElem.appendChild(el).innerHTML = \"\" + \"\" + \"\"; // Support: IE8, Opera 11-12.16\n // Nothing should be selected when empty strings follow ^= or $= or *=\n // The test attribute must be unknown in Opera but \"safe\" for WinRT\n // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section\n\n if (el.querySelectorAll(\"[msallowcapture^='']\").length) {\n rbuggyQSA.push(\"[*^$]=\" + whitespace + \"*(?:''|\\\"\\\")\");\n } // Support: IE8\n // Boolean attributes and \"value\" are not treated correctly\n\n\n if (!el.querySelectorAll(\"[selected]\").length) {\n rbuggyQSA.push(\"\\\\[\" + whitespace + \"*(?:value|\" + booleans + \")\");\n } // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+\n\n\n if (!el.querySelectorAll(\"[id~=\" + expando + \"-]\").length) {\n rbuggyQSA.push(\"~=\");\n } // Support: IE 11+, Edge 15 - 18+\n // IE 11/Edge don't find elements on a `[name='']` query in some cases.\n // Adding a temporary attribute to the document before the selection works\n // around the issue.\n // Interestingly, IE 10 & older don't seem to have the issue.\n\n\n input = document.createElement(\"input\");\n input.setAttribute(\"name\", \"\");\n el.appendChild(input);\n\n if (!el.querySelectorAll(\"[name='']\").length) {\n rbuggyQSA.push(\"\\\\[\" + whitespace + \"*name\" + whitespace + \"*=\" + whitespace + \"*(?:''|\\\"\\\")\");\n } // Webkit/Opera - :checked should return selected option elements\n // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n // IE8 throws error here and will not see later tests\n\n\n if (!el.querySelectorAll(\":checked\").length) {\n rbuggyQSA.push(\":checked\");\n } // Support: Safari 8+, iOS 8+\n // https://bugs.webkit.org/show_bug.cgi?id=136851\n // In-page `selector#id sibling-combinator selector` fails\n\n\n if (!el.querySelectorAll(\"a#\" + expando + \"+*\").length) {\n rbuggyQSA.push(\".#.+[+~]\");\n } // Support: Firefox <=3.6 - 5 only\n // Old Firefox doesn't throw on a badly-escaped identifier.\n\n\n el.querySelectorAll(\"\\\\\\f\");\n rbuggyQSA.push(\"[\\\\r\\\\n\\\\f]\");\n });\n assert(function (el) {\n el.innerHTML = \"\" + \"\"; // Support: Windows 8 Native Apps\n // The type and name attributes are restricted during .innerHTML assignment\n\n var input = document.createElement(\"input\");\n input.setAttribute(\"type\", \"hidden\");\n el.appendChild(input).setAttribute(\"name\", \"D\"); // Support: IE8\n // Enforce case-sensitivity of name attribute\n\n if (el.querySelectorAll(\"[name=d]\").length) {\n rbuggyQSA.push(\"name\" + whitespace + \"*[*^$|!~]?=\");\n } // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)\n // IE8 throws error here and will not see later tests\n\n\n if (el.querySelectorAll(\":enabled\").length !== 2) {\n rbuggyQSA.push(\":enabled\", \":disabled\");\n } // Support: IE9-11+\n // IE's :disabled selector does not pick up the children of disabled fieldsets\n\n\n docElem.appendChild(el).disabled = true;\n\n if (el.querySelectorAll(\":disabled\").length !== 2) {\n rbuggyQSA.push(\":enabled\", \":disabled\");\n } // Support: Opera 10 - 11 only\n // Opera 10-11 does not throw on post-comma invalid pseudos\n\n\n el.querySelectorAll(\"*,:x\");\n rbuggyQSA.push(\",.*:\");\n });\n }\n\n if (support.matchesSelector = rnative.test(matches = docElem.matches || docElem.webkitMatchesSelector || docElem.mozMatchesSelector || docElem.oMatchesSelector || docElem.msMatchesSelector)) {\n assert(function (el) {\n // Check to see if it's possible to do matchesSelector\n // on a disconnected node (IE 9)\n support.disconnectedMatch = matches.call(el, \"*\"); // This should fail with an exception\n // Gecko does not error, returns false instead\n\n matches.call(el, \"[s!='']:x\");\n rbuggyMatches.push(\"!=\", pseudos);\n });\n }\n\n rbuggyQSA = rbuggyQSA.length && new RegExp(rbuggyQSA.join(\"|\"));\n rbuggyMatches = rbuggyMatches.length && new RegExp(rbuggyMatches.join(\"|\"));\n /* Contains\n ---------------------------------------------------------------------- */\n\n hasCompare = rnative.test(docElem.compareDocumentPosition); // Element contains another\n // Purposefully self-exclusive\n // As in, an element does not contain itself\n\n contains = hasCompare || rnative.test(docElem.contains) ? function (a, b) {\n var adown = a.nodeType === 9 ? a.documentElement : a,\n bup = b && b.parentNode;\n return a === bup || !!(bup && bup.nodeType === 1 && (adown.contains ? adown.contains(bup) : a.compareDocumentPosition && a.compareDocumentPosition(bup) & 16));\n } : function (a, b) {\n if (b) {\n while (b = b.parentNode) {\n if (b === a) {\n return true;\n }\n }\n }\n\n return false;\n };\n /* Sorting\n ---------------------------------------------------------------------- */\n // Document order sorting\n\n sortOrder = hasCompare ? function (a, b) {\n // Flag for duplicate removal\n if (a === b) {\n hasDuplicate = true;\n return 0;\n } // Sort on method existence if only one input has compareDocumentPosition\n\n\n var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\n\n if (compare) {\n return compare;\n } // Calculate position if both inputs belong to the same document\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n\n\n compare = (a.ownerDocument || a) == (b.ownerDocument || b) ? a.compareDocumentPosition(b) : // Otherwise we know they are disconnected\n 1; // Disconnected nodes\n\n if (compare & 1 || !support.sortDetached && b.compareDocumentPosition(a) === compare) {\n // Choose the first element that is related to our preferred document\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n if (a == document || a.ownerDocument == preferredDoc && contains(preferredDoc, a)) {\n return -1;\n } // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n\n\n if (b == document || b.ownerDocument == preferredDoc && contains(preferredDoc, b)) {\n return 1;\n } // Maintain original order\n\n\n return sortInput ? indexOf(sortInput, a) - indexOf(sortInput, b) : 0;\n }\n\n return compare & 4 ? -1 : 1;\n } : function (a, b) {\n // Exit early if the nodes are identical\n if (a === b) {\n hasDuplicate = true;\n return 0;\n }\n\n var cur,\n i = 0,\n aup = a.parentNode,\n bup = b.parentNode,\n ap = [a],\n bp = [b]; // Parentless nodes are either documents or disconnected\n\n if (!aup || !bup) {\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n // two documents; shallow comparisons work.\n\n /* eslint-disable eqeqeq */\n return a == document ? -1 : b == document ? 1 :\n /* eslint-enable eqeqeq */\n aup ? -1 : bup ? 1 : sortInput ? indexOf(sortInput, a) - indexOf(sortInput, b) : 0; // If the nodes are siblings, we can do a quick check\n } else if (aup === bup) {\n return siblingCheck(a, b);\n } // Otherwise we need full lists of their ancestors for comparison\n\n\n cur = a;\n\n while (cur = cur.parentNode) {\n ap.unshift(cur);\n }\n\n cur = b;\n\n while (cur = cur.parentNode) {\n bp.unshift(cur);\n } // Walk down the tree looking for a discrepancy\n\n\n while (ap[i] === bp[i]) {\n i++;\n }\n\n return i ? // Do a sibling check if the nodes have a common ancestor\n siblingCheck(ap[i], bp[i]) : // Otherwise nodes in our document sort first\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n // two documents; shallow comparisons work.\n\n /* eslint-disable eqeqeq */\n ap[i] == preferredDoc ? -1 : bp[i] == preferredDoc ? 1 :\n /* eslint-enable eqeqeq */\n 0;\n };\n return document;\n };\n\n Sizzle.matches = function (expr, elements) {\n return Sizzle(expr, null, null, elements);\n };\n\n Sizzle.matchesSelector = function (elem, expr) {\n setDocument(elem);\n\n if (support.matchesSelector && documentIsHTML && !nonnativeSelectorCache[expr + \" \"] && (!rbuggyMatches || !rbuggyMatches.test(expr)) && (!rbuggyQSA || !rbuggyQSA.test(expr))) {\n try {\n var ret = matches.call(elem, expr); // IE 9's matchesSelector returns false on disconnected nodes\n\n if (ret || support.disconnectedMatch || // As well, disconnected nodes are said to be in a document\n // fragment in IE 9\n elem.document && elem.document.nodeType !== 11) {\n return ret;\n }\n } catch (e) {\n nonnativeSelectorCache(expr, true);\n }\n }\n\n return Sizzle(expr, document, null, [elem]).length > 0;\n };\n\n Sizzle.contains = function (context, elem) {\n // Set document vars if needed\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n if ((context.ownerDocument || context) != document) {\n setDocument(context);\n }\n\n return contains(context, elem);\n };\n\n Sizzle.attr = function (elem, name) {\n // Set document vars if needed\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n if ((elem.ownerDocument || elem) != document) {\n setDocument(elem);\n }\n\n var fn = Expr.attrHandle[name.toLowerCase()],\n // Don't get fooled by Object.prototype properties (jQuery #13807)\n val = fn && hasOwn.call(Expr.attrHandle, name.toLowerCase()) ? fn(elem, name, !documentIsHTML) : undefined;\n return val !== undefined ? val : support.attributes || !documentIsHTML ? elem.getAttribute(name) : (val = elem.getAttributeNode(name)) && val.specified ? val.value : null;\n };\n\n Sizzle.escape = function (sel) {\n return (sel + \"\").replace(rcssescape, fcssescape);\n };\n\n Sizzle.error = function (msg) {\n throw new Error(\"Syntax error, unrecognized expression: \" + msg);\n };\n /**\n * Document sorting and removing duplicates\n * @param {ArrayLike} results\n */\n\n\n Sizzle.uniqueSort = function (results) {\n var elem,\n duplicates = [],\n j = 0,\n i = 0; // Unless we *know* we can detect duplicates, assume their presence\n\n hasDuplicate = !support.detectDuplicates;\n sortInput = !support.sortStable && results.slice(0);\n results.sort(sortOrder);\n\n if (hasDuplicate) {\n while (elem = results[i++]) {\n if (elem === results[i]) {\n j = duplicates.push(i);\n }\n }\n\n while (j--) {\n results.splice(duplicates[j], 1);\n }\n } // Clear input after sorting to release objects\n // See https://github.com/jquery/sizzle/pull/225\n\n\n sortInput = null;\n return results;\n };\n /**\n * Utility function for retrieving the text value of an array of DOM nodes\n * @param {Array|Element} elem\n */\n\n\n getText = Sizzle.getText = function (elem) {\n var node,\n ret = \"\",\n i = 0,\n nodeType = elem.nodeType;\n\n if (!nodeType) {\n // If no nodeType, this is expected to be an array\n while (node = elem[i++]) {\n // Do not traverse comment nodes\n ret += getText(node);\n }\n } else if (nodeType === 1 || nodeType === 9 || nodeType === 11) {\n // Use textContent for elements\n // innerText usage removed for consistency of new lines (jQuery #11153)\n if (typeof elem.textContent === \"string\") {\n return elem.textContent;\n } else {\n // Traverse its children\n for (elem = elem.firstChild; elem; elem = elem.nextSibling) {\n ret += getText(elem);\n }\n }\n } else if (nodeType === 3 || nodeType === 4) {\n return elem.nodeValue;\n } // Do not include comment or processing instruction nodes\n\n\n return ret;\n };\n\n Expr = Sizzle.selectors = {\n // Can be adjusted by the user\n cacheLength: 50,\n createPseudo: markFunction,\n match: matchExpr,\n attrHandle: {},\n find: {},\n relative: {\n \">\": {\n dir: \"parentNode\",\n first: true\n },\n \" \": {\n dir: \"parentNode\"\n },\n \"+\": {\n dir: \"previousSibling\",\n first: true\n },\n \"~\": {\n dir: \"previousSibling\"\n }\n },\n preFilter: {\n \"ATTR\": function ATTR(match) {\n match[1] = match[1].replace(runescape, funescape); // Move the given value to match[3] whether quoted or unquoted\n\n match[3] = (match[3] || match[4] || match[5] || \"\").replace(runescape, funescape);\n\n if (match[2] === \"~=\") {\n match[3] = \" \" + match[3] + \" \";\n }\n\n return match.slice(0, 4);\n },\n \"CHILD\": function CHILD(match) {\n /* matches from matchExpr[\"CHILD\"]\n \t1 type (only|nth|...)\n \t2 what (child|of-type)\n \t3 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\n \t4 xn-component of xn+y argument ([+-]?\\d*n|)\n \t5 sign of xn-component\n \t6 x of xn-component\n \t7 sign of y-component\n \t8 y of y-component\n */\n match[1] = match[1].toLowerCase();\n\n if (match[1].slice(0, 3) === \"nth\") {\n // nth-* requires argument\n if (!match[3]) {\n Sizzle.error(match[0]);\n } // numeric x and y parameters for Expr.filter.CHILD\n // remember that false/true cast respectively to 0/1\n\n\n match[4] = +(match[4] ? match[5] + (match[6] || 1) : 2 * (match[3] === \"even\" || match[3] === \"odd\"));\n match[5] = +(match[7] + match[8] || match[3] === \"odd\"); // other types prohibit arguments\n } else if (match[3]) {\n Sizzle.error(match[0]);\n }\n\n return match;\n },\n \"PSEUDO\": function PSEUDO(match) {\n var excess,\n unquoted = !match[6] && match[2];\n\n if (matchExpr[\"CHILD\"].test(match[0])) {\n return null;\n } // Accept quoted arguments as-is\n\n\n if (match[3]) {\n match[2] = match[4] || match[5] || \"\"; // Strip excess characters from unquoted arguments\n } else if (unquoted && rpseudo.test(unquoted) && ( // Get excess from tokenize (recursively)\n excess = tokenize(unquoted, true)) && ( // advance to the next closing parenthesis\n excess = unquoted.indexOf(\")\", unquoted.length - excess) - unquoted.length)) {\n // excess is a negative index\n match[0] = match[0].slice(0, excess);\n match[2] = unquoted.slice(0, excess);\n } // Return only captures needed by the pseudo filter method (type and argument)\n\n\n return match.slice(0, 3);\n }\n },\n filter: {\n \"TAG\": function TAG(nodeNameSelector) {\n var nodeName = nodeNameSelector.replace(runescape, funescape).toLowerCase();\n return nodeNameSelector === \"*\" ? function () {\n return true;\n } : function (elem) {\n return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;\n };\n },\n \"CLASS\": function CLASS(className) {\n var pattern = classCache[className + \" \"];\n return pattern || (pattern = new RegExp(\"(^|\" + whitespace + \")\" + className + \"(\" + whitespace + \"|$)\")) && classCache(className, function (elem) {\n return pattern.test(typeof elem.className === \"string\" && elem.className || typeof elem.getAttribute !== \"undefined\" && elem.getAttribute(\"class\") || \"\");\n });\n },\n \"ATTR\": function ATTR(name, operator, check) {\n return function (elem) {\n var result = Sizzle.attr(elem, name);\n\n if (result == null) {\n return operator === \"!=\";\n }\n\n if (!operator) {\n return true;\n }\n\n result += \"\";\n /* eslint-disable max-len */\n\n return operator === \"=\" ? result === check : operator === \"!=\" ? result !== check : operator === \"^=\" ? check && result.indexOf(check) === 0 : operator === \"*=\" ? check && result.indexOf(check) > -1 : operator === \"$=\" ? check && result.slice(-check.length) === check : operator === \"~=\" ? (\" \" + result.replace(rwhitespace, \" \") + \" \").indexOf(check) > -1 : operator === \"|=\" ? result === check || result.slice(0, check.length + 1) === check + \"-\" : false;\n /* eslint-enable max-len */\n };\n },\n \"CHILD\": function CHILD(type, what, _argument, first, last) {\n var simple = type.slice(0, 3) !== \"nth\",\n forward = type.slice(-4) !== \"last\",\n ofType = what === \"of-type\";\n return first === 1 && last === 0 ? // Shortcut for :nth-*(n)\n function (elem) {\n return !!elem.parentNode;\n } : function (elem, _context, xml) {\n var cache,\n uniqueCache,\n outerCache,\n node,\n nodeIndex,\n start,\n dir = simple !== forward ? \"nextSibling\" : \"previousSibling\",\n parent = elem.parentNode,\n name = ofType && elem.nodeName.toLowerCase(),\n useCache = !xml && !ofType,\n diff = false;\n\n if (parent) {\n // :(first|last|only)-(child|of-type)\n if (simple) {\n while (dir) {\n node = elem;\n\n while (node = node[dir]) {\n if (ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1) {\n return false;\n }\n } // Reverse direction for :only-* (if we haven't yet done so)\n\n\n start = dir = type === \"only\" && !start && \"nextSibling\";\n }\n\n return true;\n }\n\n start = [forward ? parent.firstChild : parent.lastChild]; // non-xml :nth-child(...) stores cache data on `parent`\n\n if (forward && useCache) {\n // Seek `elem` from a previously-cached index\n // ...in a gzip-friendly way\n node = parent;\n outerCache = node[expando] || (node[expando] = {}); // Support: IE <9 only\n // Defend against cloned attroperties (jQuery gh-1709)\n\n uniqueCache = outerCache[node.uniqueID] || (outerCache[node.uniqueID] = {});\n cache = uniqueCache[type] || [];\n nodeIndex = cache[0] === dirruns && cache[1];\n diff = nodeIndex && cache[2];\n node = nodeIndex && parent.childNodes[nodeIndex];\n\n while (node = ++nodeIndex && node && node[dir] || ( // Fallback to seeking `elem` from the start\n diff = nodeIndex = 0) || start.pop()) {\n // When found, cache indexes on `parent` and break\n if (node.nodeType === 1 && ++diff && node === elem) {\n uniqueCache[type] = [dirruns, nodeIndex, diff];\n break;\n }\n }\n } else {\n // Use previously-cached element index if available\n if (useCache) {\n // ...in a gzip-friendly way\n node = elem;\n outerCache = node[expando] || (node[expando] = {}); // Support: IE <9 only\n // Defend against cloned attroperties (jQuery gh-1709)\n\n uniqueCache = outerCache[node.uniqueID] || (outerCache[node.uniqueID] = {});\n cache = uniqueCache[type] || [];\n nodeIndex = cache[0] === dirruns && cache[1];\n diff = nodeIndex;\n } // xml :nth-child(...)\n // or :nth-last-child(...) or :nth(-last)?-of-type(...)\n\n\n if (diff === false) {\n // Use the same loop as above to seek `elem` from the start\n while (node = ++nodeIndex && node && node[dir] || (diff = nodeIndex = 0) || start.pop()) {\n if ((ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1) && ++diff) {\n // Cache the index of each encountered element\n if (useCache) {\n outerCache = node[expando] || (node[expando] = {}); // Support: IE <9 only\n // Defend against cloned attroperties (jQuery gh-1709)\n\n uniqueCache = outerCache[node.uniqueID] || (outerCache[node.uniqueID] = {});\n uniqueCache[type] = [dirruns, diff];\n }\n\n if (node === elem) {\n break;\n }\n }\n }\n }\n } // Incorporate the offset, then check against cycle size\n\n\n diff -= last;\n return diff === first || diff % first === 0 && diff / first >= 0;\n }\n };\n },\n \"PSEUDO\": function PSEUDO(pseudo, argument) {\n // pseudo-class names are case-insensitive\n // http://www.w3.org/TR/selectors/#pseudo-classes\n // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\n // Remember that setFilters inherits from pseudos\n var args,\n fn = Expr.pseudos[pseudo] || Expr.setFilters[pseudo.toLowerCase()] || Sizzle.error(\"unsupported pseudo: \" + pseudo); // The user may use createPseudo to indicate that\n // arguments are needed to create the filter function\n // just as Sizzle does\n\n if (fn[expando]) {\n return fn(argument);\n } // But maintain support for old signatures\n\n\n if (fn.length > 1) {\n args = [pseudo, pseudo, \"\", argument];\n return Expr.setFilters.hasOwnProperty(pseudo.toLowerCase()) ? markFunction(function (seed, matches) {\n var idx,\n matched = fn(seed, argument),\n i = matched.length;\n\n while (i--) {\n idx = indexOf(seed, matched[i]);\n seed[idx] = !(matches[idx] = matched[i]);\n }\n }) : function (elem) {\n return fn(elem, 0, args);\n };\n }\n\n return fn;\n }\n },\n pseudos: {\n // Potentially complex pseudos\n \"not\": markFunction(function (selector) {\n // Trim the selector passed to compile\n // to avoid treating leading and trailing\n // spaces as combinators\n var input = [],\n results = [],\n matcher = compile(selector.replace(rtrim, \"$1\"));\n return matcher[expando] ? markFunction(function (seed, matches, _context, xml) {\n var elem,\n unmatched = matcher(seed, null, xml, []),\n i = seed.length; // Match elements unmatched by `matcher`\n\n while (i--) {\n if (elem = unmatched[i]) {\n seed[i] = !(matches[i] = elem);\n }\n }\n }) : function (elem, _context, xml) {\n input[0] = elem;\n matcher(input, null, xml, results); // Don't keep the element (issue #299)\n\n input[0] = null;\n return !results.pop();\n };\n }),\n \"has\": markFunction(function (selector) {\n return function (elem) {\n return Sizzle(selector, elem).length > 0;\n };\n }),\n \"contains\": markFunction(function (text) {\n text = text.replace(runescape, funescape);\n return function (elem) {\n return (elem.textContent || getText(elem)).indexOf(text) > -1;\n };\n }),\n // \"Whether an element is represented by a :lang() selector\n // is based solely on the element's language value\n // being equal to the identifier C,\n // or beginning with the identifier C immediately followed by \"-\".\n // The matching of C against the element's language value is performed case-insensitively.\n // The identifier C does not have to be a valid language name.\"\n // http://www.w3.org/TR/selectors/#lang-pseudo\n \"lang\": markFunction(function (lang) {\n // lang value must be a valid identifier\n if (!ridentifier.test(lang || \"\")) {\n Sizzle.error(\"unsupported lang: \" + lang);\n }\n\n lang = lang.replace(runescape, funescape).toLowerCase();\n return function (elem) {\n var elemLang;\n\n do {\n if (elemLang = documentIsHTML ? elem.lang : elem.getAttribute(\"xml:lang\") || elem.getAttribute(\"lang\")) {\n elemLang = elemLang.toLowerCase();\n return elemLang === lang || elemLang.indexOf(lang + \"-\") === 0;\n }\n } while ((elem = elem.parentNode) && elem.nodeType === 1);\n\n return false;\n };\n }),\n // Miscellaneous\n \"target\": function target(elem) {\n var hash = window.location && window.location.hash;\n return hash && hash.slice(1) === elem.id;\n },\n \"root\": function root(elem) {\n return elem === docElem;\n },\n \"focus\": function focus(elem) {\n return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);\n },\n // Boolean properties\n \"enabled\": createDisabledPseudo(false),\n \"disabled\": createDisabledPseudo(true),\n \"checked\": function checked(elem) {\n // In CSS3, :checked should return both checked and selected elements\n // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n var nodeName = elem.nodeName.toLowerCase();\n return nodeName === \"input\" && !!elem.checked || nodeName === \"option\" && !!elem.selected;\n },\n \"selected\": function selected(elem) {\n // Accessing this property makes selected-by-default\n // options in Safari work properly\n if (elem.parentNode) {\n // eslint-disable-next-line no-unused-expressions\n elem.parentNode.selectedIndex;\n }\n\n return elem.selected === true;\n },\n // Contents\n \"empty\": function empty(elem) {\n // http://www.w3.org/TR/selectors/#empty-pseudo\n // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),\n // but not by others (comment: 8; processing instruction: 7; etc.)\n // nodeType < 6 works because attributes (2) do not appear as children\n for (elem = elem.firstChild; elem; elem = elem.nextSibling) {\n if (elem.nodeType < 6) {\n return false;\n }\n }\n\n return true;\n },\n \"parent\": function parent(elem) {\n return !Expr.pseudos[\"empty\"](elem);\n },\n // Element/input types\n \"header\": function header(elem) {\n return rheader.test(elem.nodeName);\n },\n \"input\": function input(elem) {\n return rinputs.test(elem.nodeName);\n },\n \"button\": function button(elem) {\n var name = elem.nodeName.toLowerCase();\n return name === \"input\" && elem.type === \"button\" || name === \"button\";\n },\n \"text\": function text(elem) {\n var attr;\n return elem.nodeName.toLowerCase() === \"input\" && elem.type === \"text\" && ( // Support: IE<8\n // New HTML5 attribute values (e.g., \"search\") appear with elem.type === \"text\"\n (attr = elem.getAttribute(\"type\")) == null || attr.toLowerCase() === \"text\");\n },\n // Position-in-collection\n \"first\": createPositionalPseudo(function () {\n return [0];\n }),\n \"last\": createPositionalPseudo(function (_matchIndexes, length) {\n return [length - 1];\n }),\n \"eq\": createPositionalPseudo(function (_matchIndexes, length, argument) {\n return [argument < 0 ? argument + length : argument];\n }),\n \"even\": createPositionalPseudo(function (matchIndexes, length) {\n var i = 0;\n\n for (; i < length; i += 2) {\n matchIndexes.push(i);\n }\n\n return matchIndexes;\n }),\n \"odd\": createPositionalPseudo(function (matchIndexes, length) {\n var i = 1;\n\n for (; i < length; i += 2) {\n matchIndexes.push(i);\n }\n\n return matchIndexes;\n }),\n \"lt\": createPositionalPseudo(function (matchIndexes, length, argument) {\n var i = argument < 0 ? argument + length : argument > length ? length : argument;\n\n for (; --i >= 0;) {\n matchIndexes.push(i);\n }\n\n return matchIndexes;\n }),\n \"gt\": createPositionalPseudo(function (matchIndexes, length, argument) {\n var i = argument < 0 ? argument + length : argument;\n\n for (; ++i < length;) {\n matchIndexes.push(i);\n }\n\n return matchIndexes;\n })\n }\n };\n Expr.pseudos[\"nth\"] = Expr.pseudos[\"eq\"]; // Add button/input type pseudos\n\n for (i in {\n radio: true,\n checkbox: true,\n file: true,\n password: true,\n image: true\n }) {\n Expr.pseudos[i] = createInputPseudo(i);\n }\n\n for (i in {\n submit: true,\n reset: true\n }) {\n Expr.pseudos[i] = createButtonPseudo(i);\n } // Easy API for creating new setFilters\n\n\n function setFilters() {}\n\n setFilters.prototype = Expr.filters = Expr.pseudos;\n Expr.setFilters = new setFilters();\n\n tokenize = Sizzle.tokenize = function (selector, parseOnly) {\n var matched,\n match,\n tokens,\n type,\n soFar,\n groups,\n preFilters,\n cached = tokenCache[selector + \" \"];\n\n if (cached) {\n return parseOnly ? 0 : cached.slice(0);\n }\n\n soFar = selector;\n groups = [];\n preFilters = Expr.preFilter;\n\n while (soFar) {\n // Comma and first run\n if (!matched || (match = rcomma.exec(soFar))) {\n if (match) {\n // Don't consume trailing commas as valid\n soFar = soFar.slice(match[0].length) || soFar;\n }\n\n groups.push(tokens = []);\n }\n\n matched = false; // Combinators\n\n if (match = rcombinators.exec(soFar)) {\n matched = match.shift();\n tokens.push({\n value: matched,\n // Cast descendant combinators to space\n type: match[0].replace(rtrim, \" \")\n });\n soFar = soFar.slice(matched.length);\n } // Filters\n\n\n for (type in Expr.filter) {\n if ((match = matchExpr[type].exec(soFar)) && (!preFilters[type] || (match = preFilters[type](match)))) {\n matched = match.shift();\n tokens.push({\n value: matched,\n type: type,\n matches: match\n });\n soFar = soFar.slice(matched.length);\n }\n }\n\n if (!matched) {\n break;\n }\n } // Return the length of the invalid excess\n // if we're just parsing\n // Otherwise, throw an error or return tokens\n\n\n return parseOnly ? soFar.length : soFar ? Sizzle.error(selector) : // Cache the tokens\n tokenCache(selector, groups).slice(0);\n };\n\n function toSelector(tokens) {\n var i = 0,\n len = tokens.length,\n selector = \"\";\n\n for (; i < len; i++) {\n selector += tokens[i].value;\n }\n\n return selector;\n }\n\n function addCombinator(matcher, combinator, base) {\n var dir = combinator.dir,\n skip = combinator.next,\n key = skip || dir,\n checkNonElements = base && key === \"parentNode\",\n doneName = done++;\n return combinator.first ? // Check against closest ancestor/preceding element\n function (elem, context, xml) {\n while (elem = elem[dir]) {\n if (elem.nodeType === 1 || checkNonElements) {\n return matcher(elem, context, xml);\n }\n }\n\n return false;\n } : // Check against all ancestor/preceding elements\n function (elem, context, xml) {\n var oldCache,\n uniqueCache,\n outerCache,\n newCache = [dirruns, doneName]; // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching\n\n if (xml) {\n while (elem = elem[dir]) {\n if (elem.nodeType === 1 || checkNonElements) {\n if (matcher(elem, context, xml)) {\n return true;\n }\n }\n }\n } else {\n while (elem = elem[dir]) {\n if (elem.nodeType === 1 || checkNonElements) {\n outerCache = elem[expando] || (elem[expando] = {}); // Support: IE <9 only\n // Defend against cloned attroperties (jQuery gh-1709)\n\n uniqueCache = outerCache[elem.uniqueID] || (outerCache[elem.uniqueID] = {});\n\n if (skip && skip === elem.nodeName.toLowerCase()) {\n elem = elem[dir] || elem;\n } else if ((oldCache = uniqueCache[key]) && oldCache[0] === dirruns && oldCache[1] === doneName) {\n // Assign to newCache so results back-propagate to previous elements\n return newCache[2] = oldCache[2];\n } else {\n // Reuse newcache so results back-propagate to previous elements\n uniqueCache[key] = newCache; // A match means we're done; a fail means we have to keep checking\n\n if (newCache[2] = matcher(elem, context, xml)) {\n return true;\n }\n }\n }\n }\n }\n\n return false;\n };\n }\n\n function elementMatcher(matchers) {\n return matchers.length > 1 ? function (elem, context, xml) {\n var i = matchers.length;\n\n while (i--) {\n if (!matchers[i](elem, context, xml)) {\n return false;\n }\n }\n\n return true;\n } : matchers[0];\n }\n\n function multipleContexts(selector, contexts, results) {\n var i = 0,\n len = contexts.length;\n\n for (; i < len; i++) {\n Sizzle(selector, contexts[i], results);\n }\n\n return results;\n }\n\n function condense(unmatched, map, filter, context, xml) {\n var elem,\n newUnmatched = [],\n i = 0,\n len = unmatched.length,\n mapped = map != null;\n\n for (; i < len; i++) {\n if (elem = unmatched[i]) {\n if (!filter || filter(elem, context, xml)) {\n newUnmatched.push(elem);\n\n if (mapped) {\n map.push(i);\n }\n }\n }\n }\n\n return newUnmatched;\n }\n\n function setMatcher(preFilter, selector, matcher, postFilter, postFinder, postSelector) {\n if (postFilter && !postFilter[expando]) {\n postFilter = setMatcher(postFilter);\n }\n\n if (postFinder && !postFinder[expando]) {\n postFinder = setMatcher(postFinder, postSelector);\n }\n\n return markFunction(function (seed, results, context, xml) {\n var temp,\n i,\n elem,\n preMap = [],\n postMap = [],\n preexisting = results.length,\n // Get initial elements from seed or context\n elems = seed || multipleContexts(selector || \"*\", context.nodeType ? [context] : context, []),\n // Prefilter to get matcher input, preserving a map for seed-results synchronization\n matcherIn = preFilter && (seed || !selector) ? condense(elems, preMap, preFilter, context, xml) : elems,\n matcherOut = matcher ? // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,\n postFinder || (seed ? preFilter : preexisting || postFilter) ? // ...intermediate processing is necessary\n [] : // ...otherwise use results directly\n results : matcherIn; // Find primary matches\n\n if (matcher) {\n matcher(matcherIn, matcherOut, context, xml);\n } // Apply postFilter\n\n\n if (postFilter) {\n temp = condense(matcherOut, postMap);\n postFilter(temp, [], context, xml); // Un-match failing elements by moving them back to matcherIn\n\n i = temp.length;\n\n while (i--) {\n if (elem = temp[i]) {\n matcherOut[postMap[i]] = !(matcherIn[postMap[i]] = elem);\n }\n }\n }\n\n if (seed) {\n if (postFinder || preFilter) {\n if (postFinder) {\n // Get the final matcherOut by condensing this intermediate into postFinder contexts\n temp = [];\n i = matcherOut.length;\n\n while (i--) {\n if (elem = matcherOut[i]) {\n // Restore matcherIn since elem is not yet a final match\n temp.push(matcherIn[i] = elem);\n }\n }\n\n postFinder(null, matcherOut = [], temp, xml);\n } // Move matched elements from seed to results to keep them synchronized\n\n\n i = matcherOut.length;\n\n while (i--) {\n if ((elem = matcherOut[i]) && (temp = postFinder ? indexOf(seed, elem) : preMap[i]) > -1) {\n seed[temp] = !(results[temp] = elem);\n }\n }\n } // Add elements to results, through postFinder if defined\n\n } else {\n matcherOut = condense(matcherOut === results ? matcherOut.splice(preexisting, matcherOut.length) : matcherOut);\n\n if (postFinder) {\n postFinder(null, results, matcherOut, xml);\n } else {\n push.apply(results, matcherOut);\n }\n }\n });\n }\n\n function matcherFromTokens(tokens) {\n var checkContext,\n matcher,\n j,\n len = tokens.length,\n leadingRelative = Expr.relative[tokens[0].type],\n implicitRelative = leadingRelative || Expr.relative[\" \"],\n i = leadingRelative ? 1 : 0,\n // The foundational matcher ensures that elements are reachable from top-level context(s)\n matchContext = addCombinator(function (elem) {\n return elem === checkContext;\n }, implicitRelative, true),\n matchAnyContext = addCombinator(function (elem) {\n return indexOf(checkContext, elem) > -1;\n }, implicitRelative, true),\n matchers = [function (elem, context, xml) {\n var ret = !leadingRelative && (xml || context !== outermostContext) || ((checkContext = context).nodeType ? matchContext(elem, context, xml) : matchAnyContext(elem, context, xml)); // Avoid hanging onto element (issue #299)\n\n checkContext = null;\n return ret;\n }];\n\n for (; i < len; i++) {\n if (matcher = Expr.relative[tokens[i].type]) {\n matchers = [addCombinator(elementMatcher(matchers), matcher)];\n } else {\n matcher = Expr.filter[tokens[i].type].apply(null, tokens[i].matches); // Return special upon seeing a positional matcher\n\n if (matcher[expando]) {\n // Find the next relative operator (if any) for proper handling\n j = ++i;\n\n for (; j < len; j++) {\n if (Expr.relative[tokens[j].type]) {\n break;\n }\n }\n\n return setMatcher(i > 1 && elementMatcher(matchers), i > 1 && toSelector( // If the preceding token was a descendant combinator, insert an implicit any-element `*`\n tokens.slice(0, i - 1).concat({\n value: tokens[i - 2].type === \" \" ? \"*\" : \"\"\n })).replace(rtrim, \"$1\"), matcher, i < j && matcherFromTokens(tokens.slice(i, j)), j < len && matcherFromTokens(tokens = tokens.slice(j)), j < len && toSelector(tokens));\n }\n\n matchers.push(matcher);\n }\n }\n\n return elementMatcher(matchers);\n }\n\n function matcherFromGroupMatchers(elementMatchers, setMatchers) {\n var bySet = setMatchers.length > 0,\n byElement = elementMatchers.length > 0,\n superMatcher = function superMatcher(seed, context, xml, results, outermost) {\n var elem,\n j,\n matcher,\n matchedCount = 0,\n i = \"0\",\n unmatched = seed && [],\n setMatched = [],\n contextBackup = outermostContext,\n // We must always have either seed elements or outermost context\n elems = seed || byElement && Expr.find[\"TAG\"](\"*\", outermost),\n // Use integer dirruns iff this is the outermost matcher\n dirrunsUnique = dirruns += contextBackup == null ? 1 : Math.random() || 0.1,\n len = elems.length;\n\n if (outermost) {\n // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n outermostContext = context == document || context || outermost;\n } // Add elements passing elementMatchers directly to results\n // Support: IE<9, Safari\n // Tolerate NodeList properties (IE: \"length\"; Safari: ) matching elements by id\n\n\n for (; i !== len && (elem = elems[i]) != null; i++) {\n if (byElement && elem) {\n j = 0; // Support: IE 11+, Edge 17 - 18+\n // IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n // two documents; shallow comparisons work.\n // eslint-disable-next-line eqeqeq\n\n if (!context && elem.ownerDocument != document) {\n setDocument(elem);\n xml = !documentIsHTML;\n }\n\n while (matcher = elementMatchers[j++]) {\n if (matcher(elem, context || document, xml)) {\n results.push(elem);\n break;\n }\n }\n\n if (outermost) {\n dirruns = dirrunsUnique;\n }\n } // Track unmatched elements for set filters\n\n\n if (bySet) {\n // They will have gone through all possible matchers\n if (elem = !matcher && elem) {\n matchedCount--;\n } // Lengthen the array for every element, matched or not\n\n\n if (seed) {\n unmatched.push(elem);\n }\n }\n } // `i` is now the count of elements visited above, and adding it to `matchedCount`\n // makes the latter nonnegative.\n\n\n matchedCount += i; // Apply set filters to unmatched elements\n // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`\n // equals `i`), unless we didn't visit _any_ elements in the above loop because we have\n // no element matchers and no seed.\n // Incrementing an initially-string \"0\" `i` allows `i` to remain a string only in that\n // case, which will result in a \"00\" `matchedCount` that differs from `i` but is also\n // numerically zero.\n\n if (bySet && i !== matchedCount) {\n j = 0;\n\n while (matcher = setMatchers[j++]) {\n matcher(unmatched, setMatched, context, xml);\n }\n\n if (seed) {\n // Reintegrate element matches to eliminate the need for sorting\n if (matchedCount > 0) {\n while (i--) {\n if (!(unmatched[i] || setMatched[i])) {\n setMatched[i] = pop.call(results);\n }\n }\n } // Discard index placeholder values to get only actual matches\n\n\n setMatched = condense(setMatched);\n } // Add matches to results\n\n\n push.apply(results, setMatched); // Seedless set matches succeeding multiple successful matchers stipulate sorting\n\n if (outermost && !seed && setMatched.length > 0 && matchedCount + setMatchers.length > 1) {\n Sizzle.uniqueSort(results);\n }\n } // Override manipulation of globals by nested matchers\n\n\n if (outermost) {\n dirruns = dirrunsUnique;\n outermostContext = contextBackup;\n }\n\n return unmatched;\n };\n\n return bySet ? markFunction(superMatcher) : superMatcher;\n }\n\n compile = Sizzle.compile = function (selector, match\n /* Internal Use Only */\n ) {\n var i,\n setMatchers = [],\n elementMatchers = [],\n cached = compilerCache[selector + \" \"];\n\n if (!cached) {\n // Generate a function of recursive functions that can be used to check each element\n if (!match) {\n match = tokenize(selector);\n }\n\n i = match.length;\n\n while (i--) {\n cached = matcherFromTokens(match[i]);\n\n if (cached[expando]) {\n setMatchers.push(cached);\n } else {\n elementMatchers.push(cached);\n }\n } // Cache the compiled function\n\n\n cached = compilerCache(selector, matcherFromGroupMatchers(elementMatchers, setMatchers)); // Save selector and tokenization\n\n cached.selector = selector;\n }\n\n return cached;\n };\n /**\n * A low-level selection function that works with Sizzle's compiled\n * selector functions\n * @param {String|Function} selector A selector or a pre-compiled\n * selector function built with Sizzle.compile\n * @param {Element} context\n * @param {Array} [results]\n * @param {Array} [seed] A set of elements to match against\n */\n\n\n select = Sizzle.select = function (selector, context, results, seed) {\n var i,\n tokens,\n token,\n type,\n find,\n compiled = typeof selector === \"function\" && selector,\n match = !seed && tokenize(selector = compiled.selector || selector);\n results = results || []; // Try to minimize operations if there is only one selector in the list and no seed\n // (the latter of which guarantees us context)\n\n if (match.length === 1) {\n // Reduce context if the leading compound selector is an ID\n tokens = match[0] = match[0].slice(0);\n\n if (tokens.length > 2 && (token = tokens[0]).type === \"ID\" && context.nodeType === 9 && documentIsHTML && Expr.relative[tokens[1].type]) {\n context = (Expr.find[\"ID\"](token.matches[0].replace(runescape, funescape), context) || [])[0];\n\n if (!context) {\n return results; // Precompiled matchers will still verify ancestry, so step up a level\n } else if (compiled) {\n context = context.parentNode;\n }\n\n selector = selector.slice(tokens.shift().value.length);\n } // Fetch a seed set for right-to-left matching\n\n\n i = matchExpr[\"needsContext\"].test(selector) ? 0 : tokens.length;\n\n while (i--) {\n token = tokens[i]; // Abort if we hit a combinator\n\n if (Expr.relative[type = token.type]) {\n break;\n }\n\n if (find = Expr.find[type]) {\n // Search, expanding context for leading sibling combinators\n if (seed = find(token.matches[0].replace(runescape, funescape), rsibling.test(tokens[0].type) && testContext(context.parentNode) || context)) {\n // If seed is empty or no tokens remain, we can return early\n tokens.splice(i, 1);\n selector = seed.length && toSelector(tokens);\n\n if (!selector) {\n push.apply(results, seed);\n return results;\n }\n\n break;\n }\n }\n }\n } // Compile and execute a filtering function if one is not provided\n // Provide `match` to avoid retokenization if we modified the selector above\n\n\n (compiled || compile(selector, match))(seed, context, !documentIsHTML, results, !context || rsibling.test(selector) && testContext(context.parentNode) || context);\n return results;\n }; // One-time assignments\n // Sort stability\n\n\n support.sortStable = expando.split(\"\").sort(sortOrder).join(\"\") === expando; // Support: Chrome 14-35+\n // Always assume duplicates if they aren't passed to the comparison function\n\n support.detectDuplicates = !!hasDuplicate; // Initialize against the default document\n\n setDocument(); // Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)\n // Detached nodes confoundingly follow *each other*\n\n support.sortDetached = assert(function (el) {\n // Should return 1, but returns 4 (following)\n return el.compareDocumentPosition(document.createElement(\"fieldset\")) & 1;\n }); // Support: IE<8\n // Prevent attribute/property \"interpolation\"\n // https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx\n\n if (!assert(function (el) {\n el.innerHTML = \"\";\n return el.firstChild.getAttribute(\"href\") === \"#\";\n })) {\n addHandle(\"type|href|height|width\", function (elem, name, isXML) {\n if (!isXML) {\n return elem.getAttribute(name, name.toLowerCase() === \"type\" ? 1 : 2);\n }\n });\n } // Support: IE<9\n // Use defaultValue in place of getAttribute(\"value\")\n\n\n if (!support.attributes || !assert(function (el) {\n el.innerHTML = \"\";\n el.firstChild.setAttribute(\"value\", \"\");\n return el.firstChild.getAttribute(\"value\") === \"\";\n })) {\n addHandle(\"value\", function (elem, _name, isXML) {\n if (!isXML && elem.nodeName.toLowerCase() === \"input\") {\n return elem.defaultValue;\n }\n });\n } // Support: IE<9\n // Use getAttributeNode to fetch booleans when getAttribute lies\n\n\n if (!assert(function (el) {\n return el.getAttribute(\"disabled\") == null;\n })) {\n addHandle(booleans, function (elem, name, isXML) {\n var val;\n\n if (!isXML) {\n return elem[name] === true ? name.toLowerCase() : (val = elem.getAttributeNode(name)) && val.specified ? val.value : null;\n }\n });\n }\n\n return Sizzle;\n }(window);\n\n jQuery.find = Sizzle;\n jQuery.expr = Sizzle.selectors; // Deprecated\n\n jQuery.expr[\":\"] = jQuery.expr.pseudos;\n jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;\n jQuery.text = Sizzle.getText;\n jQuery.isXMLDoc = Sizzle.isXML;\n jQuery.contains = Sizzle.contains;\n jQuery.escapeSelector = Sizzle.escape;\n\n var dir = function dir(elem, _dir, until) {\n var matched = [],\n truncate = until !== undefined;\n\n while ((elem = elem[_dir]) && elem.nodeType !== 9) {\n if (elem.nodeType === 1) {\n if (truncate && jQuery(elem).is(until)) {\n break;\n }\n\n matched.push(elem);\n }\n }\n\n return matched;\n };\n\n var _siblings = function siblings(n, elem) {\n var matched = [];\n\n for (; n; n = n.nextSibling) {\n if (n.nodeType === 1 && n !== elem) {\n matched.push(n);\n }\n }\n\n return matched;\n };\n\n var rneedsContext = jQuery.expr.match.needsContext;\n\n function nodeName(elem, name) {\n return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\n }\n\n ;\n var rsingleTag = /^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i; // Implement the identical functionality for filter and not\n\n function winnow(elements, qualifier, not) {\n if (isFunction(qualifier)) {\n return jQuery.grep(elements, function (elem, i) {\n return !!qualifier.call(elem, i, elem) !== not;\n });\n } // Single element\n\n\n if (qualifier.nodeType) {\n return jQuery.grep(elements, function (elem) {\n return elem === qualifier !== not;\n });\n } // Arraylike of elements (jQuery, arguments, Array)\n\n\n if (typeof qualifier !== \"string\") {\n return jQuery.grep(elements, function (elem) {\n return indexOf.call(qualifier, elem) > -1 !== not;\n });\n } // Filtered directly for both simple and complex selectors\n\n\n return jQuery.filter(qualifier, elements, not);\n }\n\n jQuery.filter = function (expr, elems, not) {\n var elem = elems[0];\n\n if (not) {\n expr = \":not(\" + expr + \")\";\n }\n\n if (elems.length === 1 && elem.nodeType === 1) {\n return jQuery.find.matchesSelector(elem, expr) ? [elem] : [];\n }\n\n return jQuery.find.matches(expr, jQuery.grep(elems, function (elem) {\n return elem.nodeType === 1;\n }));\n };\n\n jQuery.fn.extend({\n find: function find(selector) {\n var i,\n ret,\n len = this.length,\n self = this;\n\n if (typeof selector !== \"string\") {\n return this.pushStack(jQuery(selector).filter(function () {\n for (i = 0; i < len; i++) {\n if (jQuery.contains(self[i], this)) {\n return true;\n }\n }\n }));\n }\n\n ret = this.pushStack([]);\n\n for (i = 0; i < len; i++) {\n jQuery.find(selector, self[i], ret);\n }\n\n return len > 1 ? jQuery.uniqueSort(ret) : ret;\n },\n filter: function filter(selector) {\n return this.pushStack(winnow(this, selector || [], false));\n },\n not: function not(selector) {\n return this.pushStack(winnow(this, selector || [], true));\n },\n is: function is(selector) {\n return !!winnow(this, // If this is a positional/relative selector, check membership in the returned set\n // so $(\"p:first\").is(\"p:last\") won't return true for a doc with two \"p\".\n typeof selector === \"string\" && rneedsContext.test(selector) ? jQuery(selector) : selector || [], false).length;\n }\n }); // Initialize a jQuery object\n // A central reference to the root jQuery(document)\n\n var rootjQuery,\n // A simple way to check for HTML strings\n // Prioritize #id over to avoid XSS via location.hash (#9521)\n // Strict HTML recognition (#11290: must start with <)\n // Shortcut simple #id case for speed\n rquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/,\n init = jQuery.fn.init = function (selector, context, root) {\n var match, elem; // HANDLE: $(\"\"), $(null), $(undefined), $(false)\n\n if (!selector) {\n return this;\n } // Method init() accepts an alternate rootjQuery\n // so migrate can support jQuery.sub (gh-2101)\n\n\n root = root || rootjQuery; // Handle HTML strings\n\n if (typeof selector === \"string\") {\n if (selector[0] === \"<\" && selector[selector.length - 1] === \">\" && selector.length >= 3) {\n // Assume that strings that start and end with <> are HTML and skip the regex check\n match = [null, selector, null];\n } else {\n match = rquickExpr.exec(selector);\n } // Match html or make sure no context is specified for #id\n\n\n if (match && (match[1] || !context)) {\n // HANDLE: $(html) -> $(array)\n if (match[1]) {\n context = context instanceof jQuery ? context[0] : context; // Option to run scripts is true for back-compat\n // Intentionally let the error be thrown if parseHTML is not present\n\n jQuery.merge(this, jQuery.parseHTML(match[1], context && context.nodeType ? context.ownerDocument || context : document, true)); // HANDLE: $(html, props)\n\n if (rsingleTag.test(match[1]) && jQuery.isPlainObject(context)) {\n for (match in context) {\n // Properties of context are called as methods if possible\n if (isFunction(this[match])) {\n this[match](context[match]); // ...and otherwise set as attributes\n } else {\n this.attr(match, context[match]);\n }\n }\n }\n\n return this; // HANDLE: $(#id)\n } else {\n elem = document.getElementById(match[2]);\n\n if (elem) {\n // Inject the element directly into the jQuery object\n this[0] = elem;\n this.length = 1;\n }\n\n return this;\n } // HANDLE: $(expr, $(...))\n\n } else if (!context || context.jquery) {\n return (context || root).find(selector); // HANDLE: $(expr, context)\n // (which is just equivalent to: $(context).find(expr)\n } else {\n return this.constructor(context).find(selector);\n } // HANDLE: $(DOMElement)\n\n } else if (selector.nodeType) {\n this[0] = selector;\n this.length = 1;\n return this; // HANDLE: $(function)\n // Shortcut for document ready\n } else if (isFunction(selector)) {\n return root.ready !== undefined ? root.ready(selector) : // Execute immediately if ready is not present\n selector(jQuery);\n }\n\n return jQuery.makeArray(selector, this);\n }; // Give the init function the jQuery prototype for later instantiation\n\n\n init.prototype = jQuery.fn; // Initialize central reference\n\n rootjQuery = jQuery(document);\n var rparentsprev = /^(?:parents|prev(?:Until|All))/,\n // Methods guaranteed to produce a unique set when starting from a unique set\n guaranteedUnique = {\n children: true,\n contents: true,\n next: true,\n prev: true\n };\n jQuery.fn.extend({\n has: function has(target) {\n var targets = jQuery(target, this),\n l = targets.length;\n return this.filter(function () {\n var i = 0;\n\n for (; i < l; i++) {\n if (jQuery.contains(this, targets[i])) {\n return true;\n }\n }\n });\n },\n closest: function closest(selectors, context) {\n var cur,\n i = 0,\n l = this.length,\n matched = [],\n targets = typeof selectors !== \"string\" && jQuery(selectors); // Positional selectors never match, since there's no _selection_ context\n\n if (!rneedsContext.test(selectors)) {\n for (; i < l; i++) {\n for (cur = this[i]; cur && cur !== context; cur = cur.parentNode) {\n // Always skip document fragments\n if (cur.nodeType < 11 && (targets ? targets.index(cur) > -1 : // Don't pass non-elements to Sizzle\n cur.nodeType === 1 && jQuery.find.matchesSelector(cur, selectors))) {\n matched.push(cur);\n break;\n }\n }\n }\n }\n\n return this.pushStack(matched.length > 1 ? jQuery.uniqueSort(matched) : matched);\n },\n // Determine the position of an element within the set\n index: function index(elem) {\n // No argument, return index in parent\n if (!elem) {\n return this[0] && this[0].parentNode ? this.first().prevAll().length : -1;\n } // Index in selector\n\n\n if (typeof elem === \"string\") {\n return indexOf.call(jQuery(elem), this[0]);\n } // Locate the position of the desired element\n\n\n return indexOf.call(this, // If it receives a jQuery object, the first element is used\n elem.jquery ? elem[0] : elem);\n },\n add: function add(selector, context) {\n return this.pushStack(jQuery.uniqueSort(jQuery.merge(this.get(), jQuery(selector, context))));\n },\n addBack: function addBack(selector) {\n return this.add(selector == null ? this.prevObject : this.prevObject.filter(selector));\n }\n });\n\n function sibling(cur, dir) {\n while ((cur = cur[dir]) && cur.nodeType !== 1) {}\n\n return cur;\n }\n\n jQuery.each({\n parent: function parent(elem) {\n var parent = elem.parentNode;\n return parent && parent.nodeType !== 11 ? parent : null;\n },\n parents: function parents(elem) {\n return dir(elem, \"parentNode\");\n },\n parentsUntil: function parentsUntil(elem, _i, until) {\n return dir(elem, \"parentNode\", until);\n },\n next: function next(elem) {\n return sibling(elem, \"nextSibling\");\n },\n prev: function prev(elem) {\n return sibling(elem, \"previousSibling\");\n },\n nextAll: function nextAll(elem) {\n return dir(elem, \"nextSibling\");\n },\n prevAll: function prevAll(elem) {\n return dir(elem, \"previousSibling\");\n },\n nextUntil: function nextUntil(elem, _i, until) {\n return dir(elem, \"nextSibling\", until);\n },\n prevUntil: function prevUntil(elem, _i, until) {\n return dir(elem, \"previousSibling\", until);\n },\n siblings: function siblings(elem) {\n return _siblings((elem.parentNode || {}).firstChild, elem);\n },\n children: function children(elem) {\n return _siblings(elem.firstChild);\n },\n contents: function contents(elem) {\n if (elem.contentDocument != null && // Support: IE 11+\n // elements with no `data` attribute has an object\n // `contentDocument` with a `null` prototype.\n getProto(elem.contentDocument)) {\n return elem.contentDocument;\n } // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only\n // Treat the template element as a regular one in browsers that\n // don't support it.\n\n\n if (nodeName(elem, \"template\")) {\n elem = elem.content || elem;\n }\n\n return jQuery.merge([], elem.childNodes);\n }\n }, function (name, fn) {\n jQuery.fn[name] = function (until, selector) {\n var matched = jQuery.map(this, fn, until);\n\n if (name.slice(-5) !== \"Until\") {\n selector = until;\n }\n\n if (selector && typeof selector === \"string\") {\n matched = jQuery.filter(selector, matched);\n }\n\n if (this.length > 1) {\n // Remove duplicates\n if (!guaranteedUnique[name]) {\n jQuery.uniqueSort(matched);\n } // Reverse order for parents* and prev-derivatives\n\n\n if (rparentsprev.test(name)) {\n matched.reverse();\n }\n }\n\n return this.pushStack(matched);\n };\n });\n var rnothtmlwhite = /[^\\x20\\t\\r\\n\\f]+/g; // Convert String-formatted options into Object-formatted ones\n\n function createOptions(options) {\n var object = {};\n jQuery.each(options.match(rnothtmlwhite) || [], function (_, flag) {\n object[flag] = true;\n });\n return object;\n }\n /*\n * Create a callback list using the following parameters:\n *\n *\toptions: an optional list of space-separated options that will change how\n *\t\t\tthe callback list behaves or a more traditional option object\n *\n * By default a callback list will act like an event callback list and can be\n * \"fired\" multiple times.\n *\n * Possible options:\n *\n *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\n *\n *\tmemory:\t\t\twill keep track of previous values and will call any callback added\n *\t\t\t\t\tafter the list has been fired right away with the latest \"memorized\"\n *\t\t\t\t\tvalues (like a Deferred)\n *\n *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\n *\n *\tstopOnFalse:\tinterrupt callings when a callback returns false\n *\n */\n\n\n jQuery.Callbacks = function (options) {\n // Convert options from String-formatted to Object-formatted if needed\n // (we check in cache first)\n options = typeof options === \"string\" ? createOptions(options) : jQuery.extend({}, options);\n\n var // Flag to know if list is currently firing\n firing,\n // Last fire value for non-forgettable lists\n memory,\n // Flag to know if list was already fired\n _fired,\n // Flag to prevent firing\n _locked,\n // Actual callback list\n list = [],\n // Queue of execution data for repeatable lists\n queue = [],\n // Index of currently firing callback (modified by add/remove as needed)\n firingIndex = -1,\n // Fire callbacks\n fire = function fire() {\n // Enforce single-firing\n _locked = _locked || options.once; // Execute callbacks for all pending executions,\n // respecting firingIndex overrides and runtime changes\n\n _fired = firing = true;\n\n for (; queue.length; firingIndex = -1) {\n memory = queue.shift();\n\n while (++firingIndex < list.length) {\n // Run callback and check for early termination\n if (list[firingIndex].apply(memory[0], memory[1]) === false && options.stopOnFalse) {\n // Jump to end and forget the data so .add doesn't re-fire\n firingIndex = list.length;\n memory = false;\n }\n }\n } // Forget the data if we're done with it\n\n\n if (!options.memory) {\n memory = false;\n }\n\n firing = false; // Clean up if we're done firing for good\n\n if (_locked) {\n // Keep an empty list if we have data for future add calls\n if (memory) {\n list = []; // Otherwise, this object is spent\n } else {\n list = \"\";\n }\n }\n },\n // Actual Callbacks object\n self = {\n // Add a callback or a collection of callbacks to the list\n add: function add() {\n if (list) {\n // If we have memory from a past run, we should fire after adding\n if (memory && !firing) {\n firingIndex = list.length - 1;\n queue.push(memory);\n }\n\n (function add(args) {\n jQuery.each(args, function (_, arg) {\n if (isFunction(arg)) {\n if (!options.unique || !self.has(arg)) {\n list.push(arg);\n }\n } else if (arg && arg.length && toType(arg) !== \"string\") {\n // Inspect recursively\n add(arg);\n }\n });\n })(arguments);\n\n if (memory && !firing) {\n fire();\n }\n }\n\n return this;\n },\n // Remove a callback from the list\n remove: function remove() {\n jQuery.each(arguments, function (_, arg) {\n var index;\n\n while ((index = jQuery.inArray(arg, list, index)) > -1) {\n list.splice(index, 1); // Handle firing indexes\n\n if (index <= firingIndex) {\n firingIndex--;\n }\n }\n });\n return this;\n },\n // Check if a given callback is in the list.\n // If no argument is given, return whether or not list has callbacks attached.\n has: function has(fn) {\n return fn ? jQuery.inArray(fn, list) > -1 : list.length > 0;\n },\n // Remove all callbacks from the list\n empty: function empty() {\n if (list) {\n list = [];\n }\n\n return this;\n },\n // Disable .fire and .add\n // Abort any current/pending executions\n // Clear all callbacks and values\n disable: function disable() {\n _locked = queue = [];\n list = memory = \"\";\n return this;\n },\n disabled: function disabled() {\n return !list;\n },\n // Disable .fire\n // Also disable .add unless we have memory (since it would have no effect)\n // Abort any pending executions\n lock: function lock() {\n _locked = queue = [];\n\n if (!memory && !firing) {\n list = memory = \"\";\n }\n\n return this;\n },\n locked: function locked() {\n return !!_locked;\n },\n // Call all callbacks with the given context and arguments\n fireWith: function fireWith(context, args) {\n if (!_locked) {\n args = args || [];\n args = [context, args.slice ? args.slice() : args];\n queue.push(args);\n\n if (!firing) {\n fire();\n }\n }\n\n return this;\n },\n // Call all the callbacks with the given arguments\n fire: function fire() {\n self.fireWith(this, arguments);\n return this;\n },\n // To know if the callbacks have already been called at least once\n fired: function fired() {\n return !!_fired;\n }\n };\n\n return self;\n };\n\n function Identity(v) {\n return v;\n }\n\n function Thrower(ex) {\n throw ex;\n }\n\n function adoptValue(value, resolve, reject, noValue) {\n var method;\n\n try {\n // Check for promise aspect first to privilege synchronous behavior\n if (value && isFunction(method = value.promise)) {\n method.call(value).done(resolve).fail(reject); // Other thenables\n } else if (value && isFunction(method = value.then)) {\n method.call(value, resolve, reject); // Other non-thenables\n } else {\n // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:\n // * false: [ value ].slice( 0 ) => resolve( value )\n // * true: [ value ].slice( 1 ) => resolve()\n resolve.apply(undefined, [value].slice(noValue));\n } // For Promises/A+, convert exceptions into rejections\n // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in\n // Deferred#then to conditionally suppress rejection.\n\n } catch (value) {\n // Support: Android 4.0 only\n // Strict mode functions invoked without .call/.apply get global-object context\n reject.apply(undefined, [value]);\n }\n }\n\n jQuery.extend({\n Deferred: function Deferred(func) {\n var tuples = [// action, add listener, callbacks,\n // ... .then handlers, argument index, [final state]\n [\"notify\", \"progress\", jQuery.Callbacks(\"memory\"), jQuery.Callbacks(\"memory\"), 2], [\"resolve\", \"done\", jQuery.Callbacks(\"once memory\"), jQuery.Callbacks(\"once memory\"), 0, \"resolved\"], [\"reject\", \"fail\", jQuery.Callbacks(\"once memory\"), jQuery.Callbacks(\"once memory\"), 1, \"rejected\"]],\n _state = \"pending\",\n _promise = {\n state: function state() {\n return _state;\n },\n always: function always() {\n deferred.done(arguments).fail(arguments);\n return this;\n },\n \"catch\": function _catch(fn) {\n return _promise.then(null, fn);\n },\n // Keep pipe for back-compat\n pipe: function pipe()\n /* fnDone, fnFail, fnProgress */\n {\n var fns = arguments;\n return jQuery.Deferred(function (newDefer) {\n jQuery.each(tuples, function (_i, tuple) {\n // Map tuples (progress, done, fail) to arguments (done, fail, progress)\n var fn = isFunction(fns[tuple[4]]) && fns[tuple[4]]; // deferred.progress(function() { bind to newDefer or newDefer.notify })\n // deferred.done(function() { bind to newDefer or newDefer.resolve })\n // deferred.fail(function() { bind to newDefer or newDefer.reject })\n\n deferred[tuple[1]](function () {\n var returned = fn && fn.apply(this, arguments);\n\n if (returned && isFunction(returned.promise)) {\n returned.promise().progress(newDefer.notify).done(newDefer.resolve).fail(newDefer.reject);\n } else {\n newDefer[tuple[0] + \"With\"](this, fn ? [returned] : arguments);\n }\n });\n });\n fns = null;\n }).promise();\n },\n then: function then(onFulfilled, onRejected, onProgress) {\n var maxDepth = 0;\n\n function resolve(depth, deferred, handler, special) {\n return function () {\n var that = this,\n args = arguments,\n mightThrow = function mightThrow() {\n var returned, then; // Support: Promises/A+ section 2.3.3.3.3\n // https://promisesaplus.com/#point-59\n // Ignore double-resolution attempts\n\n if (depth < maxDepth) {\n return;\n }\n\n returned = handler.apply(that, args); // Support: Promises/A+ section 2.3.1\n // https://promisesaplus.com/#point-48\n\n if (returned === deferred.promise()) {\n throw new TypeError(\"Thenable self-resolution\");\n } // Support: Promises/A+ sections 2.3.3.1, 3.5\n // https://promisesaplus.com/#point-54\n // https://promisesaplus.com/#point-75\n // Retrieve `then` only once\n\n\n then = returned && ( // Support: Promises/A+ section 2.3.4\n // https://promisesaplus.com/#point-64\n // Only check objects and functions for thenability\n _typeof(returned) === \"object\" || typeof returned === \"function\") && returned.then; // Handle a returned thenable\n\n if (isFunction(then)) {\n // Special processors (notify) just wait for resolution\n if (special) {\n then.call(returned, resolve(maxDepth, deferred, Identity, special), resolve(maxDepth, deferred, Thrower, special)); // Normal processors (resolve) also hook into progress\n } else {\n // ...and disregard older resolution values\n maxDepth++;\n then.call(returned, resolve(maxDepth, deferred, Identity, special), resolve(maxDepth, deferred, Thrower, special), resolve(maxDepth, deferred, Identity, deferred.notifyWith));\n } // Handle all other returned values\n\n } else {\n // Only substitute handlers pass on context\n // and multiple values (non-spec behavior)\n if (handler !== Identity) {\n that = undefined;\n args = [returned];\n } // Process the value(s)\n // Default process is resolve\n\n\n (special || deferred.resolveWith)(that, args);\n }\n },\n // Only normal processors (resolve) catch and reject exceptions\n process = special ? mightThrow : function () {\n try {\n mightThrow();\n } catch (e) {\n if (jQuery.Deferred.exceptionHook) {\n jQuery.Deferred.exceptionHook(e, process.stackTrace);\n } // Support: Promises/A+ section 2.3.3.3.4.1\n // https://promisesaplus.com/#point-61\n // Ignore post-resolution exceptions\n\n\n if (depth + 1 >= maxDepth) {\n // Only substitute handlers pass on context\n // and multiple values (non-spec behavior)\n if (handler !== Thrower) {\n that = undefined;\n args = [e];\n }\n\n deferred.rejectWith(that, args);\n }\n }\n }; // Support: Promises/A+ section 2.3.3.3.1\n // https://promisesaplus.com/#point-57\n // Re-resolve promises immediately to dodge false rejection from\n // subsequent errors\n\n\n if (depth) {\n process();\n } else {\n // Call an optional hook to record the stack, in case of exception\n // since it's otherwise lost when execution goes async\n if (jQuery.Deferred.getStackHook) {\n process.stackTrace = jQuery.Deferred.getStackHook();\n }\n\n window.setTimeout(process);\n }\n };\n }\n\n return jQuery.Deferred(function (newDefer) {\n // progress_handlers.add( ... )\n tuples[0][3].add(resolve(0, newDefer, isFunction(onProgress) ? onProgress : Identity, newDefer.notifyWith)); // fulfilled_handlers.add( ... )\n\n tuples[1][3].add(resolve(0, newDefer, isFunction(onFulfilled) ? onFulfilled : Identity)); // rejected_handlers.add( ... )\n\n tuples[2][3].add(resolve(0, newDefer, isFunction(onRejected) ? onRejected : Thrower));\n }).promise();\n },\n // Get a promise for this deferred\n // If obj is provided, the promise aspect is added to the object\n promise: function promise(obj) {\n return obj != null ? jQuery.extend(obj, _promise) : _promise;\n }\n },\n deferred = {}; // Add list-specific methods\n\n jQuery.each(tuples, function (i, tuple) {\n var list = tuple[2],\n stateString = tuple[5]; // promise.progress = list.add\n // promise.done = list.add\n // promise.fail = list.add\n\n _promise[tuple[1]] = list.add; // Handle state\n\n if (stateString) {\n list.add(function () {\n // state = \"resolved\" (i.e., fulfilled)\n // state = \"rejected\"\n _state = stateString;\n }, // rejected_callbacks.disable\n // fulfilled_callbacks.disable\n tuples[3 - i][2].disable, // rejected_handlers.disable\n // fulfilled_handlers.disable\n tuples[3 - i][3].disable, // progress_callbacks.lock\n tuples[0][2].lock, // progress_handlers.lock\n tuples[0][3].lock);\n } // progress_handlers.fire\n // fulfilled_handlers.fire\n // rejected_handlers.fire\n\n\n list.add(tuple[3].fire); // deferred.notify = function() { deferred.notifyWith(...) }\n // deferred.resolve = function() { deferred.resolveWith(...) }\n // deferred.reject = function() { deferred.rejectWith(...) }\n\n deferred[tuple[0]] = function () {\n deferred[tuple[0] + \"With\"](this === deferred ? undefined : this, arguments);\n return this;\n }; // deferred.notifyWith = list.fireWith\n // deferred.resolveWith = list.fireWith\n // deferred.rejectWith = list.fireWith\n\n\n deferred[tuple[0] + \"With\"] = list.fireWith;\n }); // Make the deferred a promise\n\n _promise.promise(deferred); // Call given func if any\n\n\n if (func) {\n func.call(deferred, deferred);\n } // All done!\n\n\n return deferred;\n },\n // Deferred helper\n when: function when(singleValue) {\n var // count of uncompleted subordinates\n remaining = arguments.length,\n // count of unprocessed arguments\n i = remaining,\n // subordinate fulfillment data\n resolveContexts = Array(i),\n resolveValues = _slice.call(arguments),\n // the master Deferred\n master = jQuery.Deferred(),\n // subordinate callback factory\n updateFunc = function updateFunc(i) {\n return function (value) {\n resolveContexts[i] = this;\n resolveValues[i] = arguments.length > 1 ? _slice.call(arguments) : value;\n\n if (! --remaining) {\n master.resolveWith(resolveContexts, resolveValues);\n }\n };\n }; // Single- and empty arguments are adopted like Promise.resolve\n\n\n if (remaining <= 1) {\n adoptValue(singleValue, master.done(updateFunc(i)).resolve, master.reject, !remaining); // Use .then() to unwrap secondary thenables (cf. gh-3000)\n\n if (master.state() === \"pending\" || isFunction(resolveValues[i] && resolveValues[i].then)) {\n return master.then();\n }\n } // Multiple arguments are aggregated like Promise.all array elements\n\n\n while (i--) {\n adoptValue(resolveValues[i], updateFunc(i), master.reject);\n }\n\n return master.promise();\n }\n }); // These usually indicate a programmer mistake during development,\n // warn about them ASAP rather than swallowing them by default.\n\n var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;\n\n jQuery.Deferred.exceptionHook = function (error, stack) {\n // Support: IE 8 - 9 only\n // Console exists when dev tools are open, which can happen at any time\n if (window.console && window.console.warn && error && rerrorNames.test(error.name)) {\n window.console.warn(\"jQuery.Deferred exception: \" + error.message, error.stack, stack);\n }\n };\n\n jQuery.readyException = function (error) {\n window.setTimeout(function () {\n throw error;\n });\n }; // The deferred used on DOM ready\n\n\n var readyList = jQuery.Deferred();\n\n jQuery.fn.ready = function (fn) {\n readyList.then(fn) // Wrap jQuery.readyException in a function so that the lookup\n // happens at the time of error handling instead of callback\n // registration.\n [\"catch\"](function (error) {\n jQuery.readyException(error);\n });\n return this;\n };\n\n jQuery.extend({\n // Is the DOM ready to be used? Set to true once it occurs.\n isReady: false,\n // A counter to track how many items to wait for before\n // the ready event fires. See #6781\n readyWait: 1,\n // Handle when the DOM is ready\n ready: function ready(wait) {\n // Abort if there are pending holds or we're already ready\n if (wait === true ? --jQuery.readyWait : jQuery.isReady) {\n return;\n } // Remember that the DOM is ready\n\n\n jQuery.isReady = true; // If a normal DOM Ready event fired, decrement, and wait if need be\n\n if (wait !== true && --jQuery.readyWait > 0) {\n return;\n } // If there are functions bound, to execute\n\n\n readyList.resolveWith(document, [jQuery]);\n }\n });\n jQuery.ready.then = readyList.then; // The ready event handler and self cleanup method\n\n function completed() {\n document.removeEventListener(\"DOMContentLoaded\", completed);\n window.removeEventListener(\"load\", completed);\n jQuery.ready();\n } // Catch cases where $(document).ready() is called\n // after the browser event has already occurred.\n // Support: IE <=9 - 10 only\n // Older IE sometimes signals \"interactive\" too soon\n\n\n if (document.readyState === \"complete\" || document.readyState !== \"loading\" && !document.documentElement.doScroll) {\n // Handle it asynchronously to allow scripts the opportunity to delay ready\n window.setTimeout(jQuery.ready);\n } else {\n // Use the handy event callback\n document.addEventListener(\"DOMContentLoaded\", completed); // A fallback to window.onload, that will always work\n\n window.addEventListener(\"load\", completed);\n } // Multifunctional method to get and set values of a collection\n // The value/s can optionally be executed if it's a function\n\n\n var access = function access(elems, fn, key, value, chainable, emptyGet, raw) {\n var i = 0,\n len = elems.length,\n bulk = key == null; // Sets many values\n\n if (toType(key) === \"object\") {\n chainable = true;\n\n for (i in key) {\n access(elems, fn, i, key[i], true, emptyGet, raw);\n } // Sets one value\n\n } else if (value !== undefined) {\n chainable = true;\n\n if (!isFunction(value)) {\n raw = true;\n }\n\n if (bulk) {\n // Bulk operations run against the entire set\n if (raw) {\n fn.call(elems, value);\n fn = null; // ...except when executing function values\n } else {\n bulk = fn;\n\n fn = function fn(elem, _key, value) {\n return bulk.call(jQuery(elem), value);\n };\n }\n }\n\n if (fn) {\n for (; i < len; i++) {\n fn(elems[i], key, raw ? value : value.call(elems[i], i, fn(elems[i], key)));\n }\n }\n }\n\n if (chainable) {\n return elems;\n } // Gets\n\n\n if (bulk) {\n return fn.call(elems);\n }\n\n return len ? fn(elems[0], key) : emptyGet;\n }; // Matches dashed string for camelizing\n\n\n var rmsPrefix = /^-ms-/,\n rdashAlpha = /-([a-z])/g; // Used by camelCase as callback to replace()\n\n function fcamelCase(_all, letter) {\n return letter.toUpperCase();\n } // Convert dashed to camelCase; used by the css and data modules\n // Support: IE <=9 - 11, Edge 12 - 15\n // Microsoft forgot to hump their vendor prefix (#9572)\n\n\n function camelCase(string) {\n return string.replace(rmsPrefix, \"ms-\").replace(rdashAlpha, fcamelCase);\n }\n\n var acceptData = function acceptData(owner) {\n // Accepts only:\n // - Node\n // - Node.ELEMENT_NODE\n // - Node.DOCUMENT_NODE\n // - Object\n // - Any\n return owner.nodeType === 1 || owner.nodeType === 9 || !+owner.nodeType;\n };\n\n function Data() {\n this.expando = jQuery.expando + Data.uid++;\n }\n\n Data.uid = 1;\n Data.prototype = {\n cache: function cache(owner) {\n // Check if the owner object already has a cache\n var value = owner[this.expando]; // If not, create one\n\n if (!value) {\n value = {}; // We can accept data for non-element nodes in modern browsers,\n // but we should not, see #8335.\n // Always return an empty object.\n\n if (acceptData(owner)) {\n // If it is a node unlikely to be stringify-ed or looped over\n // use plain assignment\n if (owner.nodeType) {\n owner[this.expando] = value; // Otherwise secure it in a non-enumerable property\n // configurable must be true to allow the property to be\n // deleted when data is removed\n } else {\n Object.defineProperty(owner, this.expando, {\n value: value,\n configurable: true\n });\n }\n }\n }\n\n return value;\n },\n set: function set(owner, data, value) {\n var prop,\n cache = this.cache(owner); // Handle: [ owner, key, value ] args\n // Always use camelCase key (gh-2257)\n\n if (typeof data === \"string\") {\n cache[camelCase(data)] = value; // Handle: [ owner, { properties } ] args\n } else {\n // Copy the properties one-by-one to the cache object\n for (prop in data) {\n cache[camelCase(prop)] = data[prop];\n }\n }\n\n return cache;\n },\n get: function get(owner, key) {\n return key === undefined ? this.cache(owner) : // Always use camelCase key (gh-2257)\n owner[this.expando] && owner[this.expando][camelCase(key)];\n },\n access: function access(owner, key, value) {\n // In cases where either:\n //\n // 1. No key was specified\n // 2. A string key was specified, but no value provided\n //\n // Take the \"read\" path and allow the get method to determine\n // which value to return, respectively either:\n //\n // 1. The entire cache object\n // 2. The data stored at the key\n //\n if (key === undefined || key && typeof key === \"string\" && value === undefined) {\n return this.get(owner, key);\n } // When the key is not a string, or both a key and value\n // are specified, set or extend (existing objects) with either:\n //\n // 1. An object of properties\n // 2. A key and value\n //\n\n\n this.set(owner, key, value); // Since the \"set\" path can have two possible entry points\n // return the expected data based on which path was taken[*]\n\n return value !== undefined ? value : key;\n },\n remove: function remove(owner, key) {\n var i,\n cache = owner[this.expando];\n\n if (cache === undefined) {\n return;\n }\n\n if (key !== undefined) {\n // Support array or space separated string of keys\n if (Array.isArray(key)) {\n // If key is an array of keys...\n // We always set camelCase keys, so remove that.\n key = key.map(camelCase);\n } else {\n key = camelCase(key); // If a key with the spaces exists, use it.\n // Otherwise, create an array by matching non-whitespace\n\n key = key in cache ? [key] : key.match(rnothtmlwhite) || [];\n }\n\n i = key.length;\n\n while (i--) {\n delete cache[key[i]];\n }\n } // Remove the expando if there's no more data\n\n\n if (key === undefined || jQuery.isEmptyObject(cache)) {\n // Support: Chrome <=35 - 45\n // Webkit & Blink performance suffers when deleting properties\n // from DOM nodes, so set to undefined instead\n // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)\n if (owner.nodeType) {\n owner[this.expando] = undefined;\n } else {\n delete owner[this.expando];\n }\n }\n },\n hasData: function hasData(owner) {\n var cache = owner[this.expando];\n return cache !== undefined && !jQuery.isEmptyObject(cache);\n }\n };\n var dataPriv = new Data();\n var dataUser = new Data(); //\tImplementation Summary\n //\n //\t1. Enforce API surface and semantic compatibility with 1.9.x branch\n //\t2. Improve the module's maintainability by reducing the storage\n //\t\tpaths to a single mechanism.\n //\t3. Use the same single mechanism to support \"private\" and \"user\" data.\n //\t4. _Never_ expose \"private\" data to user code (TODO: Drop _data, _removeData)\n //\t5. Avoid exposing implementation details on user objects (eg. expando properties)\n //\t6. Provide a clear path for implementation upgrade to WeakMap in 2014\n\n var rbrace = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,\n rmultiDash = /[A-Z]/g;\n\n function getData(data) {\n if (data === \"true\") {\n return true;\n }\n\n if (data === \"false\") {\n return false;\n }\n\n if (data === \"null\") {\n return null;\n } // Only convert to a number if it doesn't change the string\n\n\n if (data === +data + \"\") {\n return +data;\n }\n\n if (rbrace.test(data)) {\n return JSON.parse(data);\n }\n\n return data;\n }\n\n function dataAttr(elem, key, data) {\n var name; // If nothing was found internally, try to fetch any\n // data from the HTML5 data-* attribute\n\n if (data === undefined && elem.nodeType === 1) {\n name = \"data-\" + key.replace(rmultiDash, \"-$&\").toLowerCase();\n data = elem.getAttribute(name);\n\n if (typeof data === \"string\") {\n try {\n data = getData(data);\n } catch (e) {} // Make sure we set the data so it isn't changed later\n\n\n dataUser.set(elem, key, data);\n } else {\n data = undefined;\n }\n }\n\n return data;\n }\n\n jQuery.extend({\n hasData: function hasData(elem) {\n return dataUser.hasData(elem) || dataPriv.hasData(elem);\n },\n data: function data(elem, name, _data) {\n return dataUser.access(elem, name, _data);\n },\n removeData: function removeData(elem, name) {\n dataUser.remove(elem, name);\n },\n // TODO: Now that all calls to _data and _removeData have been replaced\n // with direct calls to dataPriv methods, these can be deprecated.\n _data: function _data(elem, name, data) {\n return dataPriv.access(elem, name, data);\n },\n _removeData: function _removeData(elem, name) {\n dataPriv.remove(elem, name);\n }\n });\n jQuery.fn.extend({\n data: function data(key, value) {\n var i,\n name,\n data,\n elem = this[0],\n attrs = elem && elem.attributes; // Gets all values\n\n if (key === undefined) {\n if (this.length) {\n data = dataUser.get(elem);\n\n if (elem.nodeType === 1 && !dataPriv.get(elem, \"hasDataAttrs\")) {\n i = attrs.length;\n\n while (i--) {\n // Support: IE 11 only\n // The attrs elements can be null (#14894)\n if (attrs[i]) {\n name = attrs[i].name;\n\n if (name.indexOf(\"data-\") === 0) {\n name = camelCase(name.slice(5));\n dataAttr(elem, name, data[name]);\n }\n }\n }\n\n dataPriv.set(elem, \"hasDataAttrs\", true);\n }\n }\n\n return data;\n } // Sets multiple values\n\n\n if (_typeof(key) === \"object\") {\n return this.each(function () {\n dataUser.set(this, key);\n });\n }\n\n return access(this, function (value) {\n var data; // The calling jQuery object (element matches) is not empty\n // (and therefore has an element appears at this[ 0 ]) and the\n // `value` parameter was not undefined. An empty jQuery object\n // will result in `undefined` for elem = this[ 0 ] which will\n // throw an exception if an attempt to read a data cache is made.\n\n if (elem && value === undefined) {\n // Attempt to get data from the cache\n // The key will always be camelCased in Data\n data = dataUser.get(elem, key);\n\n if (data !== undefined) {\n return data;\n } // Attempt to \"discover\" the data in\n // HTML5 custom data-* attrs\n\n\n data = dataAttr(elem, key);\n\n if (data !== undefined) {\n return data;\n } // We tried really hard, but the data doesn't exist.\n\n\n return;\n } // Set the data...\n\n\n this.each(function () {\n // We always store the camelCased key\n dataUser.set(this, key, value);\n });\n }, null, value, arguments.length > 1, null, true);\n },\n removeData: function removeData(key) {\n return this.each(function () {\n dataUser.remove(this, key);\n });\n }\n });\n jQuery.extend({\n queue: function queue(elem, type, data) {\n var queue;\n\n if (elem) {\n type = (type || \"fx\") + \"queue\";\n queue = dataPriv.get(elem, type); // Speed up dequeue by getting out quickly if this is just a lookup\n\n if (data) {\n if (!queue || Array.isArray(data)) {\n queue = dataPriv.access(elem, type, jQuery.makeArray(data));\n } else {\n queue.push(data);\n }\n }\n\n return queue || [];\n }\n },\n dequeue: function dequeue(elem, type) {\n type = type || \"fx\";\n\n var queue = jQuery.queue(elem, type),\n startLength = queue.length,\n fn = queue.shift(),\n hooks = jQuery._queueHooks(elem, type),\n next = function next() {\n jQuery.dequeue(elem, type);\n }; // If the fx queue is dequeued, always remove the progress sentinel\n\n\n if (fn === \"inprogress\") {\n fn = queue.shift();\n startLength--;\n }\n\n if (fn) {\n // Add a progress sentinel to prevent the fx queue from being\n // automatically dequeued\n if (type === \"fx\") {\n queue.unshift(\"inprogress\");\n } // Clear up the last queue stop function\n\n\n delete hooks.stop;\n fn.call(elem, next, hooks);\n }\n\n if (!startLength && hooks) {\n hooks.empty.fire();\n }\n },\n // Not public - generate a queueHooks object, or return the current one\n _queueHooks: function _queueHooks(elem, type) {\n var key = type + \"queueHooks\";\n return dataPriv.get(elem, key) || dataPriv.access(elem, key, {\n empty: jQuery.Callbacks(\"once memory\").add(function () {\n dataPriv.remove(elem, [type + \"queue\", key]);\n })\n });\n }\n });\n jQuery.fn.extend({\n queue: function queue(type, data) {\n var setter = 2;\n\n if (typeof type !== \"string\") {\n data = type;\n type = \"fx\";\n setter--;\n }\n\n if (arguments.length < setter) {\n return jQuery.queue(this[0], type);\n }\n\n return data === undefined ? this : this.each(function () {\n var queue = jQuery.queue(this, type, data); // Ensure a hooks for this queue\n\n jQuery._queueHooks(this, type);\n\n if (type === \"fx\" && queue[0] !== \"inprogress\") {\n jQuery.dequeue(this, type);\n }\n });\n },\n dequeue: function dequeue(type) {\n return this.each(function () {\n jQuery.dequeue(this, type);\n });\n },\n clearQueue: function clearQueue(type) {\n return this.queue(type || \"fx\", []);\n },\n // Get a promise resolved when queues of a certain type\n // are emptied (fx is the type by default)\n promise: function promise(type, obj) {\n var tmp,\n count = 1,\n defer = jQuery.Deferred(),\n elements = this,\n i = this.length,\n resolve = function resolve() {\n if (! --count) {\n defer.resolveWith(elements, [elements]);\n }\n };\n\n if (typeof type !== \"string\") {\n obj = type;\n type = undefined;\n }\n\n type = type || \"fx\";\n\n while (i--) {\n tmp = dataPriv.get(elements[i], type + \"queueHooks\");\n\n if (tmp && tmp.empty) {\n count++;\n tmp.empty.add(resolve);\n }\n }\n\n resolve();\n return defer.promise(obj);\n }\n });\n var pnum = /[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/.source;\n var rcssNum = new RegExp(\"^(?:([+-])=|)(\" + pnum + \")([a-z%]*)$\", \"i\");\n var cssExpand = [\"Top\", \"Right\", \"Bottom\", \"Left\"];\n var documentElement = document.documentElement;\n\n var isAttached = function isAttached(elem) {\n return jQuery.contains(elem.ownerDocument, elem);\n },\n composed = {\n composed: true\n }; // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only\n // Check attachment across shadow DOM boundaries when possible (gh-3504)\n // Support: iOS 10.0-10.2 only\n // Early iOS 10 versions support `attachShadow` but not `getRootNode`,\n // leading to errors. We need to check for `getRootNode`.\n\n\n if (documentElement.getRootNode) {\n isAttached = function isAttached(elem) {\n return jQuery.contains(elem.ownerDocument, elem) || elem.getRootNode(composed) === elem.ownerDocument;\n };\n }\n\n var isHiddenWithinTree = function isHiddenWithinTree(elem, el) {\n // isHiddenWithinTree might be called from jQuery#filter function;\n // in that case, element will be second argument\n elem = el || elem; // Inline style trumps all\n\n return elem.style.display === \"none\" || elem.style.display === \"\" && // Otherwise, check computed style\n // Support: Firefox <=43 - 45\n // Disconnected elements can have computed display: none, so first confirm that elem is\n // in the document.\n isAttached(elem) && jQuery.css(elem, \"display\") === \"none\";\n };\n\n function adjustCSS(elem, prop, valueParts, tween) {\n var adjusted,\n scale,\n maxIterations = 20,\n currentValue = tween ? function () {\n return tween.cur();\n } : function () {\n return jQuery.css(elem, prop, \"\");\n },\n initial = currentValue(),\n unit = valueParts && valueParts[3] || (jQuery.cssNumber[prop] ? \"\" : \"px\"),\n // Starting value computation is required for potential unit mismatches\n initialInUnit = elem.nodeType && (jQuery.cssNumber[prop] || unit !== \"px\" && +initial) && rcssNum.exec(jQuery.css(elem, prop));\n\n if (initialInUnit && initialInUnit[3] !== unit) {\n // Support: Firefox <=54\n // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)\n initial = initial / 2; // Trust units reported by jQuery.css\n\n unit = unit || initialInUnit[3]; // Iteratively approximate from a nonzero starting point\n\n initialInUnit = +initial || 1;\n\n while (maxIterations--) {\n // Evaluate and update our best guess (doubling guesses that zero out).\n // Finish if the scale equals or crosses 1 (making the old*new product non-positive).\n jQuery.style(elem, prop, initialInUnit + unit);\n\n if ((1 - scale) * (1 - (scale = currentValue() / initial || 0.5)) <= 0) {\n maxIterations = 0;\n }\n\n initialInUnit = initialInUnit / scale;\n }\n\n initialInUnit = initialInUnit * 2;\n jQuery.style(elem, prop, initialInUnit + unit); // Make sure we update the tween properties later on\n\n valueParts = valueParts || [];\n }\n\n if (valueParts) {\n initialInUnit = +initialInUnit || +initial || 0; // Apply relative offset (+=/-=) if specified\n\n adjusted = valueParts[1] ? initialInUnit + (valueParts[1] + 1) * valueParts[2] : +valueParts[2];\n\n if (tween) {\n tween.unit = unit;\n tween.start = initialInUnit;\n tween.end = adjusted;\n }\n }\n\n return adjusted;\n }\n\n var defaultDisplayMap = {};\n\n function getDefaultDisplay(elem) {\n var temp,\n doc = elem.ownerDocument,\n nodeName = elem.nodeName,\n display = defaultDisplayMap[nodeName];\n\n if (display) {\n return display;\n }\n\n temp = doc.body.appendChild(doc.createElement(nodeName));\n display = jQuery.css(temp, \"display\");\n temp.parentNode.removeChild(temp);\n\n if (display === \"none\") {\n display = \"block\";\n }\n\n defaultDisplayMap[nodeName] = display;\n return display;\n }\n\n function showHide(elements, show) {\n var display,\n elem,\n values = [],\n index = 0,\n length = elements.length; // Determine new display value for elements that need to change\n\n for (; index < length; index++) {\n elem = elements[index];\n\n if (!elem.style) {\n continue;\n }\n\n display = elem.style.display;\n\n if (show) {\n // Since we force visibility upon cascade-hidden elements, an immediate (and slow)\n // check is required in this first loop unless we have a nonempty display value (either\n // inline or about-to-be-restored)\n if (display === \"none\") {\n values[index] = dataPriv.get(elem, \"display\") || null;\n\n if (!values[index]) {\n elem.style.display = \"\";\n }\n }\n\n if (elem.style.display === \"\" && isHiddenWithinTree(elem)) {\n values[index] = getDefaultDisplay(elem);\n }\n } else {\n if (display !== \"none\") {\n values[index] = \"none\"; // Remember what we're overwriting\n\n dataPriv.set(elem, \"display\", display);\n }\n }\n } // Set the display of the elements in a second loop to avoid constant reflow\n\n\n for (index = 0; index < length; index++) {\n if (values[index] != null) {\n elements[index].style.display = values[index];\n }\n }\n\n return elements;\n }\n\n jQuery.fn.extend({\n show: function show() {\n return showHide(this, true);\n },\n hide: function hide() {\n return showHide(this);\n },\n toggle: function toggle(state) {\n if (typeof state === \"boolean\") {\n return state ? this.show() : this.hide();\n }\n\n return this.each(function () {\n if (isHiddenWithinTree(this)) {\n jQuery(this).show();\n } else {\n jQuery(this).hide();\n }\n });\n }\n });\n var rcheckableType = /^(?:checkbox|radio)$/i;\n var rtagName = /<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)/i;\n var rscriptType = /^$|^module$|\\/(?:java|ecma)script/i;\n\n (function () {\n var fragment = document.createDocumentFragment(),\n div = fragment.appendChild(document.createElement(\"div\")),\n input = document.createElement(\"input\"); // Support: Android 4.0 - 4.3 only\n // Check state lost if the name is set (#11217)\n // Support: Windows Web Apps (WWA)\n // `name` and `type` must use .setAttribute for WWA (#14901)\n\n input.setAttribute(\"type\", \"radio\");\n input.setAttribute(\"checked\", \"checked\");\n input.setAttribute(\"name\", \"t\");\n div.appendChild(input); // Support: Android <=4.1 only\n // Older WebKit doesn't clone checked state correctly in fragments\n\n support.checkClone = div.cloneNode(true).cloneNode(true).lastChild.checked; // Support: IE <=11 only\n // Make sure textarea (and checkbox) defaultValue is properly cloned\n\n div.innerHTML = \"x\";\n support.noCloneChecked = !!div.cloneNode(true).lastChild.defaultValue; // Support: IE <=9 only\n // IE <=9 replaces tags with their contents when inserted outside of\n // the select element.\n\n div.innerHTML = \"\";\n support.option = !!div.lastChild;\n })(); // We have to close these tags to support XHTML (#13200)\n\n\n var wrapMap = {\n // XHTML parsers do not magically insert elements in the\n // same way that tag soup parsers do. So we cannot shorten\n // this by omitting or other required elements.\n thead: [1, \"\", \"\"],\n col: [2, \"\", \"\"],\n tr: [2, \"\", \"\"],\n td: [3, \"\", \"\"],\n _default: [0, \"\", \"\"]\n };\n wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\n wrapMap.th = wrapMap.td; // Support: IE <=9 only\n\n if (!support.option) {\n wrapMap.optgroup = wrapMap.option = [1, \"\", \"\"];\n }\n\n function getAll(context, tag) {\n // Support: IE <=9 - 11 only\n // Use typeof to avoid zero-argument method invocation on host objects (#15151)\n var ret;\n\n if (typeof context.getElementsByTagName !== \"undefined\") {\n ret = context.getElementsByTagName(tag || \"*\");\n } else if (typeof context.querySelectorAll !== \"undefined\") {\n ret = context.querySelectorAll(tag || \"*\");\n } else {\n ret = [];\n }\n\n if (tag === undefined || tag && nodeName(context, tag)) {\n return jQuery.merge([context], ret);\n }\n\n return ret;\n } // Mark scripts as having already been evaluated\n\n\n function setGlobalEval(elems, refElements) {\n var i = 0,\n l = elems.length;\n\n for (; i < l; i++) {\n dataPriv.set(elems[i], \"globalEval\", !refElements || dataPriv.get(refElements[i], \"globalEval\"));\n }\n }\n\n var rhtml = /<|?\\w+;/;\n\n function buildFragment(elems, context, scripts, selection, ignored) {\n var elem,\n tmp,\n tag,\n wrap,\n attached,\n j,\n fragment = context.createDocumentFragment(),\n nodes = [],\n i = 0,\n l = elems.length;\n\n for (; i < l; i++) {\n elem = elems[i];\n\n if (elem || elem === 0) {\n // Add nodes directly\n if (toType(elem) === \"object\") {\n // Support: Android <=4.0 only, PhantomJS 1 only\n // push.apply(_, arraylike) throws on ancient WebKit\n jQuery.merge(nodes, elem.nodeType ? [elem] : elem); // Convert non-html into a text node\n } else if (!rhtml.test(elem)) {\n nodes.push(context.createTextNode(elem)); // Convert html into DOM nodes\n } else {\n tmp = tmp || fragment.appendChild(context.createElement(\"div\")); // Deserialize a standard representation\n\n tag = (rtagName.exec(elem) || [\"\", \"\"])[1].toLowerCase();\n wrap = wrapMap[tag] || wrapMap._default;\n tmp.innerHTML = wrap[1] + jQuery.htmlPrefilter(elem) + wrap[2]; // Descend through wrappers to the right content\n\n j = wrap[0];\n\n while (j--) {\n tmp = tmp.lastChild;\n } // Support: Android <=4.0 only, PhantomJS 1 only\n // push.apply(_, arraylike) throws on ancient WebKit\n\n\n jQuery.merge(nodes, tmp.childNodes); // Remember the top-level container\n\n tmp = fragment.firstChild; // Ensure the created nodes are orphaned (#12392)\n\n tmp.textContent = \"\";\n }\n }\n } // Remove wrapper from fragment\n\n\n fragment.textContent = \"\";\n i = 0;\n\n while (elem = nodes[i++]) {\n // Skip elements already in the context collection (trac-4087)\n if (selection && jQuery.inArray(elem, selection) > -1) {\n if (ignored) {\n ignored.push(elem);\n }\n\n continue;\n }\n\n attached = isAttached(elem); // Append to fragment\n\n tmp = getAll(fragment.appendChild(elem), \"script\"); // Preserve script evaluation history\n\n if (attached) {\n setGlobalEval(tmp);\n } // Capture executables\n\n\n if (scripts) {\n j = 0;\n\n while (elem = tmp[j++]) {\n if (rscriptType.test(elem.type || \"\")) {\n scripts.push(elem);\n }\n }\n }\n }\n\n return fragment;\n }\n\n var rkeyEvent = /^key/,\n rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,\n rtypenamespace = /^([^.]*)(?:\\.(.+)|)/;\n\n function returnTrue() {\n return true;\n }\n\n function returnFalse() {\n return false;\n } // Support: IE <=9 - 11+\n // focus() and blur() are asynchronous, except when they are no-op.\n // So expect focus to be synchronous when the element is already active,\n // and blur to be synchronous when the element is not already active.\n // (focus and blur are always synchronous in other supported browsers,\n // this just defines when we can count on it).\n\n\n function expectSync(elem, type) {\n return elem === safeActiveElement() === (type === \"focus\");\n } // Support: IE <=9 only\n // Accessing document.activeElement can throw unexpectedly\n // https://bugs.jquery.com/ticket/13393\n\n\n function safeActiveElement() {\n try {\n return document.activeElement;\n } catch (err) {}\n }\n\n function _on(elem, types, selector, data, fn, one) {\n var origFn, type; // Types can be a map of types/handlers\n\n if (_typeof(types) === \"object\") {\n // ( types-Object, selector, data )\n if (typeof selector !== \"string\") {\n // ( types-Object, data )\n data = data || selector;\n selector = undefined;\n }\n\n for (type in types) {\n _on(elem, type, selector, data, types[type], one);\n }\n\n return elem;\n }\n\n if (data == null && fn == null) {\n // ( types, fn )\n fn = selector;\n data = selector = undefined;\n } else if (fn == null) {\n if (typeof selector === \"string\") {\n // ( types, selector, fn )\n fn = data;\n data = undefined;\n } else {\n // ( types, data, fn )\n fn = data;\n data = selector;\n selector = undefined;\n }\n }\n\n if (fn === false) {\n fn = returnFalse;\n } else if (!fn) {\n return elem;\n }\n\n if (one === 1) {\n origFn = fn;\n\n fn = function fn(event) {\n // Can use an empty set, since event contains the info\n jQuery().off(event);\n return origFn.apply(this, arguments);\n }; // Use same guid so caller can remove using origFn\n\n\n fn.guid = origFn.guid || (origFn.guid = jQuery.guid++);\n }\n\n return elem.each(function () {\n jQuery.event.add(this, types, fn, data, selector);\n });\n }\n /*\n * Helper functions for managing events -- not part of the public interface.\n * Props to Dean Edwards' addEvent library for many of the ideas.\n */\n\n\n jQuery.event = {\n global: {},\n add: function add(elem, types, handler, data, selector) {\n var handleObjIn,\n eventHandle,\n tmp,\n events,\n t,\n handleObj,\n special,\n handlers,\n type,\n namespaces,\n origType,\n elemData = dataPriv.get(elem); // Only attach events to objects that accept data\n\n if (!acceptData(elem)) {\n return;\n } // Caller can pass in an object of custom data in lieu of the handler\n\n\n if (handler.handler) {\n handleObjIn = handler;\n handler = handleObjIn.handler;\n selector = handleObjIn.selector;\n } // Ensure that invalid selectors throw exceptions at attach time\n // Evaluate against documentElement in case elem is a non-element node (e.g., document)\n\n\n if (selector) {\n jQuery.find.matchesSelector(documentElement, selector);\n } // Make sure that the handler has a unique ID, used to find/remove it later\n\n\n if (!handler.guid) {\n handler.guid = jQuery.guid++;\n } // Init the element's event structure and main handler, if this is the first\n\n\n if (!(events = elemData.events)) {\n events = elemData.events = Object.create(null);\n }\n\n if (!(eventHandle = elemData.handle)) {\n eventHandle = elemData.handle = function (e) {\n // Discard the second event of a jQuery.event.trigger() and\n // when an event is called after a page has unloaded\n return typeof jQuery !== \"undefined\" && jQuery.event.triggered !== e.type ? jQuery.event.dispatch.apply(elem, arguments) : undefined;\n };\n } // Handle multiple events separated by a space\n\n\n types = (types || \"\").match(rnothtmlwhite) || [\"\"];\n t = types.length;\n\n while (t--) {\n tmp = rtypenamespace.exec(types[t]) || [];\n type = origType = tmp[1];\n namespaces = (tmp[2] || \"\").split(\".\").sort(); // There *must* be a type, no attaching namespace-only handlers\n\n if (!type) {\n continue;\n } // If event changes its type, use the special event handlers for the changed type\n\n\n special = jQuery.event.special[type] || {}; // If selector defined, determine special event api type, otherwise given type\n\n type = (selector ? special.delegateType : special.bindType) || type; // Update special based on newly reset type\n\n special = jQuery.event.special[type] || {}; // handleObj is passed to all event handlers\n\n handleObj = jQuery.extend({\n type: type,\n origType: origType,\n data: data,\n handler: handler,\n guid: handler.guid,\n selector: selector,\n needsContext: selector && jQuery.expr.match.needsContext.test(selector),\n namespace: namespaces.join(\".\")\n }, handleObjIn); // Init the event handler queue if we're the first\n\n if (!(handlers = events[type])) {\n handlers = events[type] = [];\n handlers.delegateCount = 0; // Only use addEventListener if the special events handler returns false\n\n if (!special.setup || special.setup.call(elem, data, namespaces, eventHandle) === false) {\n if (elem.addEventListener) {\n elem.addEventListener(type, eventHandle);\n }\n }\n }\n\n if (special.add) {\n special.add.call(elem, handleObj);\n\n if (!handleObj.handler.guid) {\n handleObj.handler.guid = handler.guid;\n }\n } // Add to the element's handler list, delegates in front\n\n\n if (selector) {\n handlers.splice(handlers.delegateCount++, 0, handleObj);\n } else {\n handlers.push(handleObj);\n } // Keep track of which events have ever been used, for event optimization\n\n\n jQuery.event.global[type] = true;\n }\n },\n // Detach an event or set of events from an element\n remove: function remove(elem, types, handler, selector, mappedTypes) {\n var j,\n origCount,\n tmp,\n events,\n t,\n handleObj,\n special,\n handlers,\n type,\n namespaces,\n origType,\n elemData = dataPriv.hasData(elem) && dataPriv.get(elem);\n\n if (!elemData || !(events = elemData.events)) {\n return;\n } // Once for each type.namespace in types; type may be omitted\n\n\n types = (types || \"\").match(rnothtmlwhite) || [\"\"];\n t = types.length;\n\n while (t--) {\n tmp = rtypenamespace.exec(types[t]) || [];\n type = origType = tmp[1];\n namespaces = (tmp[2] || \"\").split(\".\").sort(); // Unbind all events (on this namespace, if provided) for the element\n\n if (!type) {\n for (type in events) {\n jQuery.event.remove(elem, type + types[t], handler, selector, true);\n }\n\n continue;\n }\n\n special = jQuery.event.special[type] || {};\n type = (selector ? special.delegateType : special.bindType) || type;\n handlers = events[type] || [];\n tmp = tmp[2] && new RegExp(\"(^|\\\\.)\" + namespaces.join(\"\\\\.(?:.*\\\\.|)\") + \"(\\\\.|$)\"); // Remove matching events\n\n origCount = j = handlers.length;\n\n while (j--) {\n handleObj = handlers[j];\n\n if ((mappedTypes || origType === handleObj.origType) && (!handler || handler.guid === handleObj.guid) && (!tmp || tmp.test(handleObj.namespace)) && (!selector || selector === handleObj.selector || selector === \"**\" && handleObj.selector)) {\n handlers.splice(j, 1);\n\n if (handleObj.selector) {\n handlers.delegateCount--;\n }\n\n if (special.remove) {\n special.remove.call(elem, handleObj);\n }\n }\n } // Remove generic event handler if we removed something and no more handlers exist\n // (avoids potential for endless recursion during removal of special event handlers)\n\n\n if (origCount && !handlers.length) {\n if (!special.teardown || special.teardown.call(elem, namespaces, elemData.handle) === false) {\n jQuery.removeEvent(elem, type, elemData.handle);\n }\n\n delete events[type];\n }\n } // Remove data and the expando if it's no longer used\n\n\n if (jQuery.isEmptyObject(events)) {\n dataPriv.remove(elem, \"handle events\");\n }\n },\n dispatch: function dispatch(nativeEvent) {\n var i,\n j,\n ret,\n matched,\n handleObj,\n handlerQueue,\n args = new Array(arguments.length),\n // Make a writable jQuery.Event from the native event object\n event = jQuery.event.fix(nativeEvent),\n handlers = (dataPriv.get(this, \"events\") || Object.create(null))[event.type] || [],\n special = jQuery.event.special[event.type] || {}; // Use the fix-ed jQuery.Event rather than the (read-only) native event\n\n args[0] = event;\n\n for (i = 1; i < arguments.length; i++) {\n args[i] = arguments[i];\n }\n\n event.delegateTarget = this; // Call the preDispatch hook for the mapped type, and let it bail if desired\n\n if (special.preDispatch && special.preDispatch.call(this, event) === false) {\n return;\n } // Determine handlers\n\n\n handlerQueue = jQuery.event.handlers.call(this, event, handlers); // Run delegates first; they may want to stop propagation beneath us\n\n i = 0;\n\n while ((matched = handlerQueue[i++]) && !event.isPropagationStopped()) {\n event.currentTarget = matched.elem;\n j = 0;\n\n while ((handleObj = matched.handlers[j++]) && !event.isImmediatePropagationStopped()) {\n // If the event is namespaced, then each handler is only invoked if it is\n // specially universal or its namespaces are a superset of the event's.\n if (!event.rnamespace || handleObj.namespace === false || event.rnamespace.test(handleObj.namespace)) {\n event.handleObj = handleObj;\n event.data = handleObj.data;\n ret = ((jQuery.event.special[handleObj.origType] || {}).handle || handleObj.handler).apply(matched.elem, args);\n\n if (ret !== undefined) {\n if ((event.result = ret) === false) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n }\n }\n } // Call the postDispatch hook for the mapped type\n\n\n if (special.postDispatch) {\n special.postDispatch.call(this, event);\n }\n\n return event.result;\n },\n handlers: function handlers(event, _handlers) {\n var i,\n handleObj,\n sel,\n matchedHandlers,\n matchedSelectors,\n handlerQueue = [],\n delegateCount = _handlers.delegateCount,\n cur = event.target; // Find delegate handlers\n\n if (delegateCount && // Support: IE <=9\n // Black-hole SVG instance trees (trac-13180)\n cur.nodeType && // Support: Firefox <=42\n // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)\n // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click\n // Support: IE 11 only\n // ...but not arrow key \"clicks\" of radio inputs, which can have `button` -1 (gh-2343)\n !(event.type === \"click\" && event.button >= 1)) {\n for (; cur !== this; cur = cur.parentNode || this) {\n // Don't check non-elements (#13208)\n // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)\n if (cur.nodeType === 1 && !(event.type === \"click\" && cur.disabled === true)) {\n matchedHandlers = [];\n matchedSelectors = {};\n\n for (i = 0; i < delegateCount; i++) {\n handleObj = _handlers[i]; // Don't conflict with Object.prototype properties (#13203)\n\n sel = handleObj.selector + \" \";\n\n if (matchedSelectors[sel] === undefined) {\n matchedSelectors[sel] = handleObj.needsContext ? jQuery(sel, this).index(cur) > -1 : jQuery.find(sel, this, null, [cur]).length;\n }\n\n if (matchedSelectors[sel]) {\n matchedHandlers.push(handleObj);\n }\n }\n\n if (matchedHandlers.length) {\n handlerQueue.push({\n elem: cur,\n handlers: matchedHandlers\n });\n }\n }\n }\n } // Add the remaining (directly-bound) handlers\n\n\n cur = this;\n\n if (delegateCount < _handlers.length) {\n handlerQueue.push({\n elem: cur,\n handlers: _handlers.slice(delegateCount)\n });\n }\n\n return handlerQueue;\n },\n addProp: function addProp(name, hook) {\n Object.defineProperty(jQuery.Event.prototype, name, {\n enumerable: true,\n configurable: true,\n get: isFunction(hook) ? function () {\n if (this.originalEvent) {\n return hook(this.originalEvent);\n }\n } : function () {\n if (this.originalEvent) {\n return this.originalEvent[name];\n }\n },\n set: function set(value) {\n Object.defineProperty(this, name, {\n enumerable: true,\n configurable: true,\n writable: true,\n value: value\n });\n }\n });\n },\n fix: function fix(originalEvent) {\n return originalEvent[jQuery.expando] ? originalEvent : new jQuery.Event(originalEvent);\n },\n special: {\n load: {\n // Prevent triggered image.load events from bubbling to window.load\n noBubble: true\n },\n click: {\n // Utilize native event to ensure correct state for checkable inputs\n setup: function setup(data) {\n // For mutual compressibility with _default, replace `this` access with a local var.\n // `|| data` is dead code meant only to preserve the variable through minification.\n var el = this || data; // Claim the first handler\n\n if (rcheckableType.test(el.type) && el.click && nodeName(el, \"input\")) {\n // dataPriv.set( el, \"click\", ... )\n leverageNative(el, \"click\", returnTrue);\n } // Return false to allow normal processing in the caller\n\n\n return false;\n },\n trigger: function trigger(data) {\n // For mutual compressibility with _default, replace `this` access with a local var.\n // `|| data` is dead code meant only to preserve the variable through minification.\n var el = this || data; // Force setup before triggering a click\n\n if (rcheckableType.test(el.type) && el.click && nodeName(el, \"input\")) {\n leverageNative(el, \"click\");\n } // Return non-false to allow normal event-path propagation\n\n\n return true;\n },\n // For cross-browser consistency, suppress native .click() on links\n // Also prevent it if we're currently inside a leveraged native-event stack\n _default: function _default(event) {\n var target = event.target;\n return rcheckableType.test(target.type) && target.click && nodeName(target, \"input\") && dataPriv.get(target, \"click\") || nodeName(target, \"a\");\n }\n },\n beforeunload: {\n postDispatch: function postDispatch(event) {\n // Support: Firefox 20+\n // Firefox doesn't alert if the returnValue field is not set.\n if (event.result !== undefined && event.originalEvent) {\n event.originalEvent.returnValue = event.result;\n }\n }\n }\n }\n }; // Ensure the presence of an event listener that handles manually-triggered\n // synthetic events by interrupting progress until reinvoked in response to\n // *native* events that it fires directly, ensuring that state changes have\n // already occurred before other listeners are invoked.\n\n function leverageNative(el, type, expectSync) {\n // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add\n if (!expectSync) {\n if (dataPriv.get(el, type) === undefined) {\n jQuery.event.add(el, type, returnTrue);\n }\n\n return;\n } // Register the controller as a special universal handler for all event namespaces\n\n\n dataPriv.set(el, type, false);\n jQuery.event.add(el, type, {\n namespace: false,\n handler: function handler(event) {\n var notAsync,\n result,\n saved = dataPriv.get(this, type);\n\n if (event.isTrigger & 1 && this[type]) {\n // Interrupt processing of the outer synthetic .trigger()ed event\n // Saved data should be false in such cases, but might be a leftover capture object\n // from an async native handler (gh-4350)\n if (!saved.length) {\n // Store arguments for use when handling the inner native event\n // There will always be at least one argument (an event object), so this array\n // will not be confused with a leftover capture object.\n saved = _slice.call(arguments);\n dataPriv.set(this, type, saved); // Trigger the native event and capture its result\n // Support: IE <=9 - 11+\n // focus() and blur() are asynchronous\n\n notAsync = expectSync(this, type);\n this[type]();\n result = dataPriv.get(this, type);\n\n if (saved !== result || notAsync) {\n dataPriv.set(this, type, false);\n } else {\n result = {};\n }\n\n if (saved !== result) {\n // Cancel the outer synthetic event\n event.stopImmediatePropagation();\n event.preventDefault();\n return result.value;\n } // If this is an inner synthetic event for an event with a bubbling surrogate\n // (focus or blur), assume that the surrogate already propagated from triggering the\n // native event and prevent that from happening again here.\n // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the\n // bubbling surrogate propagates *after* the non-bubbling base), but that seems\n // less bad than duplication.\n\n } else if ((jQuery.event.special[type] || {}).delegateType) {\n event.stopPropagation();\n } // If this is a native event triggered above, everything is now in order\n // Fire an inner synthetic event with the original arguments\n\n } else if (saved.length) {\n // ...and capture the result\n dataPriv.set(this, type, {\n value: jQuery.event.trigger( // Support: IE <=9 - 11+\n // Extend with the prototype to reset the above stopImmediatePropagation()\n jQuery.extend(saved[0], jQuery.Event.prototype), saved.slice(1), this)\n }); // Abort handling of the native event\n\n event.stopImmediatePropagation();\n }\n }\n });\n }\n\n jQuery.removeEvent = function (elem, type, handle) {\n // This \"if\" is needed for plain objects\n if (elem.removeEventListener) {\n elem.removeEventListener(type, handle);\n }\n };\n\n jQuery.Event = function (src, props) {\n // Allow instantiation without the 'new' keyword\n if (!(this instanceof jQuery.Event)) {\n return new jQuery.Event(src, props);\n } // Event object\n\n\n if (src && src.type) {\n this.originalEvent = src;\n this.type = src.type; // Events bubbling up the document may have been marked as prevented\n // by a handler lower down the tree; reflect the correct value.\n\n this.isDefaultPrevented = src.defaultPrevented || src.defaultPrevented === undefined && // Support: Android <=2.3 only\n src.returnValue === false ? returnTrue : returnFalse; // Create target properties\n // Support: Safari <=6 - 7 only\n // Target should not be a text node (#504, #13143)\n\n this.target = src.target && src.target.nodeType === 3 ? src.target.parentNode : src.target;\n this.currentTarget = src.currentTarget;\n this.relatedTarget = src.relatedTarget; // Event type\n } else {\n this.type = src;\n } // Put explicitly provided properties onto the event object\n\n\n if (props) {\n jQuery.extend(this, props);\n } // Create a timestamp if incoming event doesn't have one\n\n\n this.timeStamp = src && src.timeStamp || Date.now(); // Mark it as fixed\n\n this[jQuery.expando] = true;\n }; // jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n // https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\n\n\n jQuery.Event.prototype = {\n constructor: jQuery.Event,\n isDefaultPrevented: returnFalse,\n isPropagationStopped: returnFalse,\n isImmediatePropagationStopped: returnFalse,\n isSimulated: false,\n preventDefault: function preventDefault() {\n var e = this.originalEvent;\n this.isDefaultPrevented = returnTrue;\n\n if (e && !this.isSimulated) {\n e.preventDefault();\n }\n },\n stopPropagation: function stopPropagation() {\n var e = this.originalEvent;\n this.isPropagationStopped = returnTrue;\n\n if (e && !this.isSimulated) {\n e.stopPropagation();\n }\n },\n stopImmediatePropagation: function stopImmediatePropagation() {\n var e = this.originalEvent;\n this.isImmediatePropagationStopped = returnTrue;\n\n if (e && !this.isSimulated) {\n e.stopImmediatePropagation();\n }\n\n this.stopPropagation();\n }\n }; // Includes all common event props including KeyEvent and MouseEvent specific props\n\n jQuery.each({\n altKey: true,\n bubbles: true,\n cancelable: true,\n changedTouches: true,\n ctrlKey: true,\n detail: true,\n eventPhase: true,\n metaKey: true,\n pageX: true,\n pageY: true,\n shiftKey: true,\n view: true,\n \"char\": true,\n code: true,\n charCode: true,\n key: true,\n keyCode: true,\n button: true,\n buttons: true,\n clientX: true,\n clientY: true,\n offsetX: true,\n offsetY: true,\n pointerId: true,\n pointerType: true,\n screenX: true,\n screenY: true,\n targetTouches: true,\n toElement: true,\n touches: true,\n which: function which(event) {\n var button = event.button; // Add which for key events\n\n if (event.which == null && rkeyEvent.test(event.type)) {\n return event.charCode != null ? event.charCode : event.keyCode;\n } // Add which for click: 1 === left; 2 === middle; 3 === right\n\n\n if (!event.which && button !== undefined && rmouseEvent.test(event.type)) {\n if (button & 1) {\n return 1;\n }\n\n if (button & 2) {\n return 3;\n }\n\n if (button & 4) {\n return 2;\n }\n\n return 0;\n }\n\n return event.which;\n }\n }, jQuery.event.addProp);\n jQuery.each({\n focus: \"focusin\",\n blur: \"focusout\"\n }, function (type, delegateType) {\n jQuery.event.special[type] = {\n // Utilize native event if possible so blur/focus sequence is correct\n setup: function setup() {\n // Claim the first handler\n // dataPriv.set( this, \"focus\", ... )\n // dataPriv.set( this, \"blur\", ... )\n leverageNative(this, type, expectSync); // Return false to allow normal processing in the caller\n\n return false;\n },\n trigger: function trigger() {\n // Force setup before trigger\n leverageNative(this, type); // Return non-false to allow normal event-path propagation\n\n return true;\n },\n delegateType: delegateType\n };\n }); // Create mouseenter/leave events using mouseover/out and event-time checks\n // so that event delegation works in jQuery.\n // Do the same for pointerenter/pointerleave and pointerover/pointerout\n //\n // Support: Safari 7 only\n // Safari sends mouseenter too often; see:\n // https://bugs.chromium.org/p/chromium/issues/detail?id=470258\n // for the description of the bug (it existed in older Chrome versions as well).\n\n jQuery.each({\n mouseenter: \"mouseover\",\n mouseleave: \"mouseout\",\n pointerenter: \"pointerover\",\n pointerleave: \"pointerout\"\n }, function (orig, fix) {\n jQuery.event.special[orig] = {\n delegateType: fix,\n bindType: fix,\n handle: function handle(event) {\n var ret,\n target = this,\n related = event.relatedTarget,\n handleObj = event.handleObj; // For mouseenter/leave call the handler if related is outside the target.\n // NB: No relatedTarget if the mouse left/entered the browser window\n\n if (!related || related !== target && !jQuery.contains(target, related)) {\n event.type = handleObj.origType;\n ret = handleObj.handler.apply(this, arguments);\n event.type = fix;\n }\n\n return ret;\n }\n };\n });\n jQuery.fn.extend({\n on: function on(types, selector, data, fn) {\n return _on(this, types, selector, data, fn);\n },\n one: function one(types, selector, data, fn) {\n return _on(this, types, selector, data, fn, 1);\n },\n off: function off(types, selector, fn) {\n var handleObj, type;\n\n if (types && types.preventDefault && types.handleObj) {\n // ( event ) dispatched jQuery.Event\n handleObj = types.handleObj;\n jQuery(types.delegateTarget).off(handleObj.namespace ? handleObj.origType + \".\" + handleObj.namespace : handleObj.origType, handleObj.selector, handleObj.handler);\n return this;\n }\n\n if (_typeof(types) === \"object\") {\n // ( types-object [, selector] )\n for (type in types) {\n this.off(type, selector, types[type]);\n }\n\n return this;\n }\n\n if (selector === false || typeof selector === \"function\") {\n // ( types [, fn] )\n fn = selector;\n selector = undefined;\n }\n\n if (fn === false) {\n fn = returnFalse;\n }\n\n return this.each(function () {\n jQuery.event.remove(this, types, fn, selector);\n });\n }\n });\n var // Support: IE <=10 - 11, Edge 12 - 13 only\n // In IE/Edge using regex groups here causes severe slowdowns.\n // See https://connect.microsoft.com/IE/feedback/details/1736512/\n rnoInnerhtml = /
`s get reset. However, we also reset the\\n// bottom margin to use `rem` units instead of `em`.\\np {\\n margin-top: 0;\\n margin-bottom: $paragraph-margin-bottom;\\n}\\n\\n// Abbreviations\\n//\\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\\n// 3. Add explicit cursor to indicate changed behavior.\\n// 4. Remove the bottom border in Firefox 39-.\\n// 5. Prevent the text-decoration to be skipped.\\n\\nabbr[title],\\nabbr[data-original-title] { // 1\\n text-decoration: underline; // 2\\n text-decoration: underline dotted; // 2\\n cursor: help; // 3\\n border-bottom: 0; // 4\\n text-decoration-skip-ink: none; // 5\\n}\\n\\naddress {\\n margin-bottom: 1rem;\\n font-style: normal;\\n line-height: inherit;\\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\\ndd {\\n margin-bottom: .5rem;\\n margin-left: 0; // Undo browser default\\n}\\n\\nblockquote {\\n margin: 0 0 1rem;\\n}\\n\\nb,\\nstrong {\\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\\n}\\n\\nsmall {\\n @include font-size(80%); // Add the correct font size in all browsers\\n}\\n\\n//\\n// Prevent `sub` and `sup` elements from affecting the line height in\\n// all browsers.\\n//\\n\\nsub,\\nsup {\\n position: relative;\\n @include font-size(75%);\\n line-height: 0;\\n vertical-align: baseline;\\n}\\n\\nsub { bottom: -.25em; }\\nsup { top: -.5em; }\\n\\n\\n//\\n// Links\\n//\\n\\na {\\n color: $link-color;\\n text-decoration: $link-decoration;\\n background-color: transparent; // Remove the gray background on active links in IE 10.\\n\\n @include 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]) {\\n color: inherit;\\n text-decoration: none;\\n\\n @include hover() {\\n color: inherit;\\n text-decoration: none;\\n }\\n}\\n\\n\\n//\\n// Code\\n//\\n\\npre,\\ncode,\\nkbd,\\nsamp {\\n font-family: $font-family-monospace;\\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\\n}\\n\\npre {\\n // Remove browser default top margin\\n margin-top: 0;\\n // Reset browser default of `1em` to use `rem`s\\n margin-bottom: 1rem;\\n // Don't allow content to break outside\\n overflow: auto;\\n // Disable auto-hiding scrollbar in IE & legacy Edge to avoid overlap,\\n // making it impossible to interact with the content\\n -ms-overflow-style: scrollbar;\\n}\\n\\n\\n//\\n// Figures\\n//\\n\\nfigure {\\n // Apply a consistent margin strategy (matches our type styles).\\n margin: 0 0 1rem;\\n}\\n\\n\\n//\\n// Images and content\\n//\\n\\nimg {\\n vertical-align: middle;\\n border-style: none; // Remove the border on images inside links in IE 10-.\\n}\\n\\nsvg {\\n // Workaround for the SVG overflow bug in IE10/11 is still required.\\n // See https://github.com/twbs/bootstrap/issues/26878\\n overflow: hidden;\\n vertical-align: middle;\\n}\\n\\n\\n//\\n// Tables\\n//\\n\\ntable {\\n border-collapse: collapse; // Prevent double borders\\n}\\n\\ncaption {\\n padding-top: $table-cell-padding;\\n padding-bottom: $table-cell-padding;\\n color: $table-caption-color;\\n text-align: left;\\n caption-side: bottom;\\n}\\n\\nth {\\n // Matches default `